컴퓨터네트워크
UDP
Younghun
2023. 11. 16. 16:58
UDP (User Datagram Protocl)
- 전송 계층에서 사용하는 프로토콜
- 신뢰성이 낮지만 빠른 데이터 전송 가능
- 데이터그램 방식으로 패킷 전송
특징
- 송신부와 수신부의 연결이 보장되지 않는 비연결형 서비스
- 패킷이 서로 다른 회선으로 교환될 수 있는 데이터그램 패킷 교환 방식
- 전달한 패킷 순서와 전달받은 패킷 순서가 다를 수 있음
- 패킷의 수신 여부를 확인하지 않음
오류 검출
- 최소한의 신뢰성은 보장
- 체크섬 방식으로 오류 검출
- 송신부가 헤더와 바디 데이터를 이용해 체크섬 값을 만들어서 함께 전송
- 수신부는 모든 값을 더해서 전부 1이 나오는지 확인
- 1만 나오면 정상으로 취급하기 때문에 완전한 오류 검출은 어려움
UDP header
- 속도를 위해 간결한 헤더 지님
- 출발지와 목적지, 길이, 체크섬 등
QUIC (Quick UDP Internet Connection)
- TCP의 성능 이슈를 해결하기 위해 구글에서 개발한 프로토콜
- 단순하고 빠른 UDP 위에서 돌아가면서, 데이터의 신뢰성도 확보
- TLS 암호화 기본 적용 및 정정 비트를 통한 훼손 복구
- HTTP 3.0에서 사용됨
UDP 사용 서비스
- 주기적으로 데이터가 전송됨
- 실시간으로 처리되어야 함
- 지연시간이 짧아야 함
1. 실시간 스트리밍 서비스
동영상 등의 멀티미디어 서비스에서 UDP가 사용된다.
동영상은 손실 없는 데이터보다 끊김없는 감상이 더 중요하다.
온라인 게임의 네트워크 통신에도 사용된다.
2. DNS
도메인 관련 서비스를 제공할 때 UDP가 사용된다.
DNS는 request와 response가 매우 간결하게 끝나므로, TCP를 사용하면 오버헤드가 더 크다.
UDP를 사용해서 패킷이 손실되더라도, 다시 보내는 것이 더 효율적이다.
3. SNMP
네트워크상의 장치들을 점검할 때 쓰는 프로토콜이다.
주기적으로 물어보는 형태이기 때문에 간결한 UDP를 사용한다.