TCP / UDP

chaeng_ni·2024년 2월 2일
0

CS-Network

목록 보기
3/6

전송 계층 프로토콜

  • TCP
  • UDP

TCP (Transmission Control Protocol)

  • 전송을 제어하는 규약
  • 연결형 지향적 프로토콜
  • IP는 패킷을 빠르게 전송된 패킷을 TCP는추적하고 관리
  • TCP 에서 전송하는 패킷 = Segment

특징

  • 연결 지향 방식으로 패킷 교환 방식 사용 (가상 회선 X)
    • 논리적 경로를 배정
  • 3-way handshaking으로 연결을 설정 & 4-way handshaking으로 해제
  • 흐름 및 혼잡 제어
  • 높은 신뢰성
  • 전이중(Full-Duplex), 점대점(Point-to-Point 방식)
  • 데이터 전송 순서 보장
  • TCP header에서는 checksum, 확인 응답, 타임-아웃 등을 통해 수행

단점

  • 데이터를 전송하기 전에 반드시 연결이 되어 있어야 통신 가능
  • 1:1 통신만 가능
  • 고정된 통신 선로가 아닐 경우에는 대부분 UDP보다 느림

과정

connection setup - data transfer - connection termination

UDP(User Datagram Protocol)

  • 비연결 지향적 프로토콜
    • 데이터를 주고 받을 때 연결 절차를 거치지 않고 일방적으로 전송함
  • UDP 에서 전송하는 패킷 = Datagram

특징

  • 연결없이 통신 가능
  • 데이터그램 방식
    • 네트워크 계층에서 사용되는 방식
    • 데이터 전송 전에 송/수신자 사이에 가상 회선이라 불리는 논리적 경로를 설정하지 않고, 패킷이 독립적으로 전송됨
  • 소켓이 아닌 IP 기반 데이터 전송
  • 1:1, 1:N, N:M 방식으로 연결 가능
  • TCP 보다 속도가 빠르므로 성능이 중요한 경우에 사용

단점

  • 흐름제어가 없어 패킷이 제대로 전송이 되었는지 오류가 없는지 확인할 수 없음
    • 흐름제어: 데이터 송신과 수신하는 곳의 데이터 처리 속도를 제어하여 수신자의 버퍼 오버플로우를 방지
  • 데이터의 신뢰성 부족

비교

TCPUDP
연결방식연결형(패킷 교환)비연결형(데이터 그램)
전송 순서전송 순서 보장전송 순서 비보장
수신 여부수신 여부 확인수신 여부 미확인
통신 방식1:1 통신N:N 통신
신뢰성높음낮음
속도느림빠름
패킷SegmentDatagram

출처

https://mangkyu.tistory.com/15
https://velog.io/@devharrypmw/TCPUDP-TCP와-UDP의-특징과-차이

profile
코딩테스트 준비 블로그

0개의 댓글