개요
UDP(User Datagram Protocol)는 전송 계층에서 사용되는 비연결형 프로토콜로, 가벼운 헤더와 빠른 처리를 제공한다. 신뢰성 있는 데이터 전송(TCP)보다는 성능을 우선시하며, 멀티미디어 스트리밍, DNS, SNMP와 같은 응용에 적합하다.
UDP 서비스
- 비연결형 서비스: 연결 설정이나 종료 과정을 거치지 않고, 각 사용자 데이터그램을 독립적으로 처리한다.
- 프로세스 간 통신: 소켓을 통해 IP 주소와 포트 번호를 사용해 데이터를 전송하며, 데이터를 적절한 프로세스에 전달한다.
- 오류 제어: 검사합(Checksum)을 통해 오류를 검출할 수 있지만, 복구 메커니즘이 없어 오류가 발생한 데이터는 폐기된다.
- 흐름 제어: 흐름 제어를 지원하지 않으며, 윈도우 메커니즘도 없다.
- 혼잡 제어: 혼잡 제어 기능이 없다. 따라서 네트워크 혼잡 상태를 고려하지 않고 데이터를 전송할 수 있다.
사용자 데이터그램
- 사용자 데이터그램은 8바이트 고정 크기 헤더를 가진다.
- 발신지 포트 번호(Source Port Number): 발신지 호스트에서 사용되는 포트 번호(16비트).
- 목적지 포트 번호(Destination Port Number): 목적지 호스트에서 사용되는 포트 번호(16비트).
- 길이(Length): UDP 헤더와 데이터를 포함한 전체 데이터그램의 길이(16비트).
- 검사합(Checksum): 헤더와 데이터를 포함한 데이터그램 전체에 대해 오류를 탐지하기 위한 값(16비트).
UDP의 특징
- UDP는 오버헤드가 적은 간단한 프로토콜로, 연결 설정 및 종료 과정이 없다. 작은 메시지를 빠르게 처리할 수 있으며, 주로 간단한 요청-응답 통신에 사용된다.
- 검사합을 통해 오류를 감지할 수 있지만, 신뢰성 없는 전송을 제공하기 때문에 오류가 발생하면 데이터를 복구하지 않는다. 데이터가 손실되거나 중복되더라도 이를 인지하지 못한다.
UDP 사용 사례
UDP는 다음과 같은 상황에서 사용된다.
- 멀티미디어 스트리밍: 일부 데이터가 손실되더라도 전체 서비스에 큰 영향을 주지 않는 멀티미디어 통신에 적합하다.
- DNS: DNS 요청 및 응답은 보통 작은 크기의 데이터이므로 UDP가 사용된다.
- SNMP(Simple Network Management Protocol): 간단한 네트워크 관리 프로토콜로, 요청-응답 방식에 적합하다.
- RIP(Routing Information Protocol): 경로 갱신 프로토콜로, UDP를 사용하여 라우팅 정보를 갱신한다.
UDP와 TCP 비교
- UDP는 비연결형 프로토콜로, 신뢰성 없는 데이터 전송을 제공하며, 작은 데이터나 빠른 응답이 필요한 응용에 적합하다.
- TCP는 신뢰성 있는 데이터 전송을 보장하며, 흐름 제어 및 오류 제어 기능을 제공한다. 대량의 데이터를 전송하거나 데이터의 신뢰성이 중요한 경우 TCP가 적합하다.
검사합(Checksum)과 의사 헤더(Pseudoheader)
- 검사합은 UDP 패킷 내에서 오류를 감지하기 위해 사용된다. 패킷의 내용과 헤더 필드를 16비트로 나누어 더한 후, 1의 보수를 취해 오류를 검출한다.
- 의사 헤더(Pseudoheader)는 실제 데이터 패킷에 포함되지 않는 가상 헤더로, IP 계층의 정보를 기반으로 만들어지며 UDP 체크섬 계산에 사용된다.
캡슐화와 역캡슐화
- 캡슐화: UDP는 상위 계층의 데이터를 받아 UDP 헤더를 추가한 후, IP 계층에 전달한다. IP 계층은 이를 IP 헤더로 감싸서 네트워크에 전송한다.
- 역캡슐화: 수신 측에서는 물리 계층에서부터 상위 계층으로 데이터를 전달하면서 각 계층의 헤더를 제거한다. 최종적으로 UDP는 헤더를 제거하고 데이터를 적절한 응용 프로그램에 전달한다.
'통신 > 네트워크 프로토콜' 카테고리의 다른 글
TCP(2) - 연결과 해제 (0) | 2024.09.29 |
---|---|
TCP(1) - 구조와 특징 (0) | 2024.09.29 |
TransportLayer (0) | 2024.09.29 |
Routing Algorithms (0) | 2024.09.29 |
IP(2) - 데이터 그램 구조와 단편화 및 검사합 (0) | 2024.09.29 |