TCP 와 UDP 의 차이점

Eugenie Seo·2023년 4월 26일
1

FE STUDY - CS

목록 보기
8/20
post-thumbnail
post-custom-banner

TCP 와 UDP?

전송계층에서 데이터를 보내기 위해 사용하는 프로토콜

전송계층 :
데이터 전송 서비스를 제공하고, 통신을 활성화하기 위한 계층

TCP

"인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜"

  • Transmission Control Protocol
  • 전송을 제어하는 프로토콜(규약)
  • 인터넷 환경에서 기본으로 사용
  • 가상 회선 방식
    : 패킷 교환망에서 통신하고자 하는 두 접속점 사이의 전송 경로가 논리적으로 고정되어 통신하는 동안은 마치 물리적으로 고정된 전송 경로상에서 통신하는 것과 같은 효과를 나타내도록 하는 연결 방식

    패킷 :
    라우팅을 효율적으로 하기 위해 나누어진 조각

  • 전이중(Full-Duplex), 점대점(Point to Point)
    전이중(Full-Duplex) -> 전송이 양방향으로 동시에 일어날 수 있음
    점대점(Point to Point) -> 각 연결이 정확히 2개의 종단점을 가지고 있음
  • 연결형 서비스를 지원하는 프로토콜로 패킷을 추적 및 관리
    : 연결이 성공해야 통신이 가능하다.
    3way handshaking과정을 통해 연결을 설정, 4way handshaking을 통해 해제

=> 높은 신뢰성 보장 ,데이터의 흐름제어(수신자 버퍼 오버플로우 방지) 및 혼잡 제어(패킷 수가 과도하게 증가하는 것 방지), UDP보다 속도가 느림
∴ 연속성보다 신뢰성있는 전송이 중요할 때에 사용하는 프로토콜

UDP

데이터를 데이터그램 단위로 처리하는 프로토콜

데이터그램 :
데이터 전송 전에 송/수진자 사이에 가상 회선이라 불리는 논리적 경로를 설정하지 않고, 패킷들이 각기 독립적으로 전송되는 방식
UDP는 데이터그램 단위로 전송되고, 65535바이트를 초과하면 잘라서 보내진다

  • User Datagram Protocol

  • 전송계층의 비연결 지향적 프로토콜

  • 별도의 논리적인 경로가 없어 각 패킷은 다른 경로로 전송된다.

  • 정보를 주고 받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않는다.
    : 서버 소켓과 클라이언트 소켓의 구분이 없다
    소켓 대신 IP를 기반으로 데이터를 전송

  • 흐름제어(flow control)가 없어 패킷의 전송여부 확인이 되지않고, UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다.

=> 신뢰성이 낮고, TCP보다 속도가 빠르다

∴ 신뢰성보다는 연속성이 중요한 서비스
실시간 서비스(streaming)에 자주 사용

참고 :
http://word.tta.or.kr/dictionary
https://mangkyu.tistory.com/15
https://dev-mb.tistory.com/133
https://velog.io/@devharrypmw/

post-custom-banner

0개의 댓글