1. UDP와 UDP 특징
TCP 통신 때를 생각해보자. TCP는 신뢰할수 있는 데이터를 상대방에게 전달하는 것이 목표다보니, 확인하는 게 너무 많다. 데이터 전송 전 3-way handshake로 연결 성립시키기, 데이터를 전송하면 확인 응답받기, 데이터 전송 도중 오류가 발생하면 재전송하기, 윈도우 제어, 혼잡 제어 등 등 뭐가 참 많았다. 이렇게 많은 일(이 기능들이 CPU를 사용해서 속도에 영향을 줌)을 진행하다보니 당연히 전송 속도는 빠를수가 없다. 이렇게 효율성을 중시하는 TCP와 달리 UDP는 빠르게 데이터를 보내자! 에만 초점을 둔 프로토콜이다. 따라서 실시간 스트리밍, 온라인 게임, 동영상 시청 등의 인터넷 서비스에 사용된다.
TCP가 신뢰성을 보장하기 위해 연결형 통신 프로토콜인데, UDP는 비연결형 통신 프로토콜이다.
UDP 또한 TCP와 마찬가지로 포트 번호에 따라 적절한 애플리케이션 또는 프로세스에 데이터를 전달하는 프로토콜이다. 다만 비연결형 프로토콜이라, 연결을 위해 할당되는 논리적인 경로가 없어 분할된 패킷들은 서로 다른 경로로 독립적으로 처리된다. 따라서 도착 순서가 보장되지 않아 응용 프로그램에서 순서와 오류 처리를 별도로 관리해야 한다.
2. UDP 헤더
① Source Port (16 bits): 송신자의 포트 번호
② Destination Port (16 bits): 수신자의 포트 번호
③ UDP Length (16 bits): UDP 헤더와 데이터를 합친 전체 패킷의 길이, 바이트 단위로 나타냄
④ UDP Checksum (16bits): UDP 헤더와 데이터의 오류를 감지하는데 사용
: UDP는 오류만 감지할 뿐, 이를 TCP 처럼 복구하거나 재전송을 요청하지 않는다. 이 오류를 해결하기 위해선 별도의 메커니즘이나 처리 과정이 필요하다.
TCP 에서는 TCP 헤더가 붙은 데이터를 TCP 세그먼트라 불렀는데, UDP에선 UDP 헤더가 붙은 데이터를 UDP 데이터그램이라고 부른다.
3. TCP vs UDP
참고
책: 10일만에 배우는 네트워크 기초, 모두의 네트워크 | 미즈구치 카츠야 | 이승룡 옮
https://mangkyu.tistory.com/15
TCP 에 대한 글은 아래 글들을 확인해주세요.
'공부 > Network' 카테고리의 다른 글
Web 이란? (웹 페이지, 웹 사이트, 웹 브라우저 차이) (0) | 2024.06.27 |
---|---|
응용 계층의 역할 (0) | 2024.06.27 |
Port (포트)란? (0) | 2024.06.26 |
Window size (윈도우 크기) (0) | 2024.06.25 |
Sequence Number 와 Acknowledgment Number (1) | 2024.06.23 |