병훈's Blog

네트워크 뿌수기 - UDP는 데이터를 배분만 할뿐 본문

Computer/Network

네트워크 뿌수기 - UDP는 데이터를 배분만 할뿐

thdqudgns 2022. 12. 25. 03:12
UDP(User Datagram Protocol)

 

UDP는 PC나 서버 등에 도달한 데이터를

적절한 애플리케이션에 배분하는 기능만 있는 프로토콜입니다.

TCP와 같은 데이터 확인은 전혀 없습니다.

 

UDP로 애플리케이션 데이터를 송수신하기 위해서는 UDP 헤더를 추가합니다.

UDP 헤더애플리케이션의 데이터를 합쳐 UDP 데이터그램이라고 부르는 경우가 있습니다.

UDP 헤더 형식은 TCP 헤더 형식과 비교하면 지극히 단순합니다.

 

UDP 데이터그램 구조

 

UDP 헤더 구조 - 출발지/목적지의 포트 번호, 데이터그램 길이, 체크섬

 


 

UDP 이용 사례

 

UDP는 상대방의 애플리케이션이 동작하는지 확인하지 않은 채

무조건 UDP 데이터그램으로 애플리케이션의 데이터를 송신합니다.

이러한 특성 상, TCP만큼 여분의 처리를 하지 않으므로,

데이터 전송 효율이 좋다는 장점이 있습니다.

 

그 반면에 신뢰성이 낮다는 단점이 있습니다.

UDP의 경우는 보내고 싶은 UDP 데이터그램이

상대방 애플리케이션까지 제대로 도달했는지 알 수가 없습니다.

만약, 데이터가 도달했는지 확인할 필요가 있다면, 그런 기능을 만들어 넣어야 합니다.

 

또한, UDP에는 크기가 큰 데이터를 분할하는 기능도 없습니다.

그러므로 전송해야 할 애플리케이션의 데이터 크기가 클 때에는

애플리케이션 쪽에서 적절한 크기로 쪼개야만 합니다.

 

UDP를 이용하는 전형적인 애플리케이션은 IP 전화입니다.

IP 전화의 음성 데이터는 IP 전화에서 작게 쪼갭니다.

IP 전화의 설정에 따라 달라지지만, 음성 데이터가 1초동안 50개로 분할되게 하는 것이 일반적입니다.

요컨대, 음성 데이터 1개당 20밀리 초 분량입니다.

IP 전화에서 작게 쪼갠 음성 데이터UDP 헤더를 추가해서 전송합니다. (▷ UDP 데이터그램으로 만들어 전송)

 


 

Point

 

  • UDP는 애플리케이션에 데이터를 배분하기 위해 이용하는 프로토콜
  • IP 전화의 음성 데이터와 같은 실시간 데이터 전송을 할 때 UDP를 이용한다.

 

 

 

 

728x90
728x90