[CS] UDP

✅ 개념

  • 전송계층의 비연결 지향적 프로토콜
    • 비연결 지향적 ?
    • : 데이터를 주고받을 때 연결 절차를 거치지 않고 발신자가 일방적으로 데이터를 발신하는 방식
    • 연결 과정이 없기 때문에 TCP보다는 빠른 전송을 할 수 있지만 데이터 전달의 신뢰성은 떨어짐

✅ 단점

  • 데이터의 신뢰성이 없음
  • 의미있는 서버를 구축하기 위해서는 일일이 패킷을 관리해주어야 함
    • 발신자가 데이터 패킷을 순차적으로 보내더라도 이 패킷들은 서로 다른 통신 선로를 통해 전달 될 수 있음
    • 먼저 보낸 패킷이 느린 선로를 통해 전송될 경우 나중에 보낸 패킷보다 늦게 도착할 수 있으며, 최악의 경우 잘못된 선로로 전송되어 유실될 수도 있음
    • 이럴 경우 UDP는 TCP와 다르게 중간에 패킷이 유실되거나 변조가 되어도 재전송을 하지 않음

✅ 특징

  • 비연결형 서비스로 연결 없이 통신이 가능하며 데이터그램 방식을 제공
  • 데이터 경계를 구분 (datagram 서비스)
  • 정보를 주고 받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않음
  • 신뢰성 없는 데이터를 전송 (데이터 재전송과 데이터 순서 유지를 위한 작업을 하지 않기 때문)
  • 패킷 관리가 필요
  • 패킷 오버헤드가 적어 네트워크 부하가 감소됨
  • 상대적으로 TCP보다 전송속도가 빠름

TCP/ UDP 간략 비교

☑️ 공통점

  • 포트 번호를 이용하여 주소를 지정
  • 데이터 오류 검사를 위한 체크섬 존재

☑️ 차이점

  TCP UDP
연결방식 연결형서비스 비 연결형 서비스
패킷 교환 방식 가상 회선 방식 데이터그램 방식
전송 순서 전송 순서 보장 전송 순서가 바뀔 수 있음
수신 여부 확인 수신 여부를 확인함 수신 여부를 확인하지 않음
통신 방식 1:1 통신만 가능 1:1 / 1:N / N:N 통신 모두 가능
신뢰성 높음 낮음
속도 느림 빠름

 

🔘 데이터그램 패킷 교환 방식 vs. 가상회선 패킷 교환 방식

  • 데이터그램
    • 데이터를 전송하기 전에 논리적 연결이 설정되지 않으며 패킷이 독립적으로 전송됨 (패킷마다 라우터가 경로를 선택)
    • 패킷을 수신한 라우터는 최적의 경로를 선택하여 패킷을 전송하는데 하나의 메시지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있음 (비연결 지향형)
    • 송신 측에서 전송한 순서와 수신 측에 도착한 순서가 다를 수 있음
  • 가상회선
    • 데이터를 전송하기 전에 논리적 연결이 설정 (연결지향형)
    • 각 패킷에는 가상회선 식별 번호(VCI)가 포함되고, 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 순서대로 도착
    • 경로를 설정할 때 한 번만 수행

'CS > Network' 카테고리의 다른 글

[CS] HTTP & HTTPS  (0) 2024.01.26
[CS] 대칭키 & 공개키  (1) 2023.11.29
[CS] TCP/IP 흐름제어 & 혼잡제어  (1) 2023.11.29
[CS] TCP 3 &4 way handshake  (1) 2023.10.25
[CS] OSI 7계층  (0) 2023.10.24