UDP는 계속 설명했듯이 신뢰성 없는 통신보장이기에, 데이터 전송의 신속성이 더 중요한 경우에 사용됩니다.
UDP는 다음과 같은 애플리케이션에서 사용됩니다.
- 멀티미디어 스트리밍 앱
- DNS
- SNMP
- HTTP/3
- 애플리케이션 레이어에서 신뢰성과 congestion control을 추가했습니다.
UDP segment header
우선 UDP 세그먼트는 UDP 프로토콜을 통해 전송되는 데이터의 작은 조각입니다.
이 조각은 Header와 Application data(payload)로 구성되어 있습니다.
Header에는 다음과 같은 정보가 포함되어 있습니다.
- source port#
- 출발지 포트넘버로, 수신자는 데이터가 어떤 애플리케이션으로부터 온 것인지 식별할 수 있게 하는 정보입니다.
- dest port#
- 수신자는 데이터를 어떤 어플리케이션으로 전달해야 하는지 식별할 수 있게 하는 정보입니다.
- length
- UDP 세그먼트의 길이를 나타냅니다.
- 헤더와 페이로드의 길이 합입니다.
- checksum
- 데이터 무결성 검사를 위한 값
- 송신자는 데이터를 전송하기 전에 체크섬을 계산하고, 수신자는 체크섬을 통해서 데이터의 무결성을 확인함.
- 일치하지 않는다면 에러가 있다는 뜻
- 일치하다고 무작정 에러가 없다는 뜻은 아닙니다.
- 체크섬은 오류를 감지할 뿐 악의적인 변조를 감지하지 못해서 추가적인 보안 방법이 필요합니다.
- 송신자는 데이터를 전송하기 전에 체크섬을 계산하고, 수신자는 체크섬을 통해서 데이터의 무결성을 확인함.
- 데이터 무결성 검사를 위한 값
Application data(payload)
- 세그먼트의 실제 데이터.
- 애플리케이션에서 전송하고자 하는 데이터가 포함됨.
UDP 세그먼트는 구조가 TCP 세그먼트 보다 간단합니다.
데이터의 신뢰성과 순서를 보장하지 않기에, 작업이 단순 -> 헤더의 정보가 TCP보다 단순합니다.
😀요약
- UDP 세그먼트는 UDP 프로토콜을 통해 전송되는 데이터의 단위다.
- Header와 payload로 구성되어 있다.
- Header
- 출발지 포트넘버, 행선지 포트넘버, length, checksum이 있다.
- Header
- UDP에 취약점을 HTTP/3에서는 어플리케이션 계층에서 보완했다.
- 신뢰성, congestion control
'Computer Science > Network' 카테고리의 다른 글
[컴퓨터망] - TCP 네놈이 뭔데? (0) | 2023.04.14 |
---|---|
[컴퓨터망] - Rdt,pipeline, Go-Back-N, Selective Repeat (2) | 2023.04.13 |
[컴퓨터망] - Multiplexing and demultiplexing (0) | 2023.04.12 |
[컴퓨터망] - Transport Layer 개요 (0) | 2023.04.12 |
[컴퓨터망] - Socket programming (TCP & UDP) (0) | 2023.04.12 |