-> 블로그 이전

[Network] 트랜스포트 계층 : UDP

2022. 2. 13. 17:10Major`/컴퓨터 네트워크

UDP

1. Network-Layer :: IP에 최소한의 기능만 추가한다

- 다중화/역다중화

- 오류 검사 (체크섬) 

 

2. "best effort" 서비스를 제공

- Network-Layer가 주는 메시지 그대로 Application-Layer로 전달해준다

- 원본 Data와 뭐가 다르고, 어떠한 문제가 생겼는지 파악할 수 없다

  • ex) Data 손실 / Data의 순서가 어긋난채로 전달
  • UDP는 Data의 Boundary를 명확히 지킨다

  • 각각의 Data를 독립적으로 전달한다 (Boundary가 명확)

 

3. 비연결형 서비스

- 핸드셰이킹을 통한 연결을 확립하지 않는다 :: 일방적으로 전달

- UDP 세그먼트(메시지)들은 서로 독립적으로 전달된다

  • 각 메시지들은 자신의 목적지로만 전달된다 :: 서로 상관 X

- 스트리밍 서비스 / DNS / SNMP에 UDP를 사용한다

  • Data의 손실을 감내 / 속도(전송률)에 민감한 서비스

 

UDP 사용 이유

1. 핸드셰이킹을 하지 않으므로, 지연을 유발하지 않는다

  • 또한, 연결 상태도 존재하지 않는다

2. UDP 세그먼트 헤더가 간단하기 때문에 트래픽 오버헤드가 작다 

  • 네트워크 부하가 적다

3. 혼잡/흐름제어를 하지 않기 때문에, 원하는 만큼 빨리 전달이 가능하다


UDP 세그먼트 구조

  • 고정 헤더 (Source/Destination Port + Length + Checksum) = 4byte × 2 = 8byte
  • Length : Header + Data의 총 길이 ≥ 8byte