UDP (User Datagram Protocol)
UDP란?
- User Datagram Protocol의 약자
- TCP/IP 5계층에서 Transport Layer(전송계층)의 프로토콜
- TCP와는 다르게 데이터를 패킷으로 나누고 반대편에서 재조립하는 과정을 거치지 않으며, 수신지에서 제대로 받던 받지 않던 상관 안하고 데이터를 보내기만 함
- 흐름제어, 오류제어, 또는 손상된 세그먼트의 수신에 대한 재전송 하지 않음
- 단순 오류탐지만을 함 → 흐름제어나 오류제어 등의 기능은 어플리케이션에서 처리해주어야 함
- TCP 보다 신뢰성이 떨어지지만(비신뢰성), 전송 속도가 일반적으로 빠른 프로토콜 → 소량의 데이터 전송 시에는 UDP를 이용하는 것이 효율적
- Connectionless → 비연결성 (3 way-handshake X)
UDP 구조
- Source Port : 해당 패킷을 만든 송신자의 어플리케이션 포트번호
- Destination Port : 해당 패킷을 수신할 어플리케이션 포트번호
- Length : UDP헤더와 데이터를 포함한 전체 길이를 Byte 단위로 표시
- 데이터가 전송 중 손상되지 않고 원본과 동일한지 여부를 확인하는 기능을 제공 (오류탐지)
UDP를 사용하는 이유
- UDP의 결정적인 장점은 데이터의 신속성 (데이터의 처리가 TCP보다 빠름)
- 주로 실시간 방송과 온라인 게임에서 사용
→ 신뢰성이 요구되는 애플리케이션에서는 TCP를 사용하고, 간단한 데이터를 빠른 속도로 전송하고자 하는 애플리케이션에서는 UDP를 사용
* (참고) TCP와 UDP의 차이를 잘 설명해준 블로그
https://velog.io/@hidaehyunlee/TCP-%EC%99%80-UDP-%EC%9D%98-%EC%B0%A8%EC%9D%B4
UDP 기반의 프로토콜
* TFTP (Trivial File Transfer Protocol)
- FTP(File Transfer Protocol)와 마찬가지로 파일을 전송하기 위한 프로토콜
- FTP보다 더 단순한 방식으로 파일 전송
* SNMP (Simple Network Management Protocol)
- 네트워크 장비를 관리 감시하기 위한 목적
- 네트워크 관리자가 네트워크 성능을 관리하고, 네트워크 문제점을 찾아 수정하는데 도움을 줌
* DHCP (Dynamic Host Configuration Protocol)
- 동적으로 IP주소를 할당해주는 프로토콜
* NFS (Network File System)
- 네트워크 상에서 파일시스템을 공유하도록 설계된 파일 시스템
* DNS (Domain Name System)
- 호스트의 도메인 이름(사람이 이해하기 쉬운) ↔ 네트워크 주소 (컴퓨터가 이해하기 쉬운 IP주소)
* RIP (Routing Information Protocol)
- 동적 라우팅 정보 프로토콜 (LAN 구간에서 사용되는 프로토콜)
라우팅 프로토콜이란, 라우터가 패킷을 목적지까지 전달하기 위해 인접한 라우터 사이에서 경로 정보를 작성하고 제어하는 프로토콜을 의미한다.
정적 라우팅은 최종 목적지까지 경로를 직접 설정하여 통신을 한다고 하면,
동적 라우팅은 라우터에 경로를 설정하는 것이 아닌 각각의 라우터가 자신의 정보를 다른 라우터에게 "광고"하도록 하여 서로 자신의 정보를 교환하며 직접적인 경로 설정 없이 목적지까지 도달할 수 있도록 한다.