UDP
- UDP는 User Datagram Protocol의 약자입니다.
- 데이터를 독립적인 관계를 지니는 패킷인 Datagram 단위로 처리하는 프로토콜입니다.
- 비연결형 프로토콜로 사전에 연결 설정 없이 데이터를 전달합니다.
- 하나의 메시지에서 분할된 각각의 패킷은 서로 다른 경로로 전송될 수 있습니다.
- 송신 측에서 전송한 패킷의 순서와 수신 측에 도착한 패킷의 순서가 다를 수 있습니다.
- 서로 다른 경로로 패킷을 처리함에도 불구하고 순서를 부여하거나 재조립하지 않습니다.
- 흐름 제어, 혼잡 제어, 오류 제어를 하지 않으므로 손상된 세그먼트에 대한 재전송을 하지 않습니다.
- 속도가 빠르며 네트워크 부하가 적다는 장점이 있지만, 신뢰성 있는 데이터 전송을 보장하지 못합니다.
- UDP는 Multicast, DNS, RTP(Real Time Protocol) 등에서 사용됩니다.
클라이언트-서버
종종 클라이언트는 서버로 짧은 요청을 보내고, 짧은 응답을 기대하는 경우가 있습니다.
만약 요청 또는 응답이 손실되었다면, 클라이언트는 타임아웃이 되고 다시 시도하면 됩니다.
이렇게 하면 코드가 간단할 뿐만 아니라 TCP처럼 초기 설정에서 요구되는 프로토콜에서 적은 메세지가 요구됩니다.
Multicast
1:N으로 통신하는 방식에서 한 사람이 데이터를 받지 못했다고 재전송을 요청한다고 가정해보자.
데이터를 제대로 받은 사람들도 해당 데이터를 다시 받아서 처리해야 한다는 문제점이 발생할 수 있기 때문에 UDP를 사용합니다.
DNS
어떤 호스트 네임의 IP 주소를 찾기 위해서 DNS 서버로 호스트 네임을 포함한 UDP 패킷을 보냅니다.
이 서버는 호스트의 IP 주소를 포함한 UDP 패킷으로 응답합니다.
이는 사전에 설정이 필요없으며 그 후에도 해제가 필요하지 않습니다.
RTP
실시간 멀티미디어의 사용이 많아지면서 오디오와 비디오 데이터 패킷 형식으로 전송하는 RTP가 탄생했습니다.
RTP의 기본 기능은 UDP 패킷의 단일 스트림으로 실시간 데이터 스트림을 멀티플렉싱하는 것입니다.
RTP는 UDP 스트림을 사용하여 단일 목적지 또는 다중 목적지들로 전송할 수 있습니다.
728x90
반응형
'CS 지식 > 네트워크' 카테고리의 다른 글
[CS] HTTP, HTTPS 그리고 SSL (0) | 2023.12.13 |
---|---|
[CS] 대칭키와 공개키 (0) | 2023.12.11 |
[CS] 3-Way Handshake와 4-Way Handshake (0) | 2023.12.11 |
[CS] TCP (0) | 2023.12.07 |
[CS] OSI 7 계층 (0) | 2023.12.05 |