UDP

June·2021년 12월 29일
0
post-thumbnail

UDP란?


UDP는 User Datagram Protocol의 약자이며 TCP/IP 프로토콜 중 트랜스포트 계층의 통신 프로토콜의 하나입니다.

TCP와는 다르게 데이터를 패킷으로 나누고 반대편에서 재조립하는 과정을 거치지 않으며 수신지에서 제대로 받던 받지 않던 상관안하고 데이터를 보내기만 합니다.

또 목적지에 도달하려고 하지만 (Best-effort) 에러가 날 수도 있고 재전송이나, 순서 뒤바뀜에 대한 대체는 어플리케이션에서 처리해 주어야 합니다

그치만 속도가 빠릅니다 별도의 연결도 필요하지않고 ACK메시지를 통해서 확인을 받거나 하는것이 없기 때문에 TCP 프로토콜 보다는 더 빠른 속도를 낼수 있으며 이러한 빠른 속도로 UDP는 실시간 방송 등등등 사용을 하는데 데이터 처리가 신속하고 한 두장의 프레임이 빠저도 보정이 가능합니다

UDP 특징

UDP는 TCP와 다르게 비연결성을 가지며 수신측이 제대로 도착하였는지 확인 여부를 보장하지 않는 비신뢰성 서비스 입니다 사용자 데이터를 데이터그램에 포함해 전송합니다

TCP와 UDP 비교

UDP Header

UDP Header 정보

UDP Flow

DNS(Domain Name Service)에서 UDP를 사용하는 이유

  • Request의 양이 작음 -> UDP Request에 담길 수 있다.
  • 3 way handshaking으로 연결을 유지할 필요가 없다. (오버헤드 발생)
  • Request에 대한 손실은 Application Layer에서 제어가 가능하다.
  • DNS : port 53번
  • But, TCP를 사용할 때가 있다! 크기가 512(UDP 제한)이 넘을 때, TCP를 사용해야한다.

참고자료

  1. https://itstudyblog.tistory.com/295
  2. https://gyoogle.dev/blog/computer-science/network/UDP.html
  3. http://www.ktword.co.kr/test/view/view.php?m_temp1=323
  4. https://pro-dev.tistory.com/58
  5. https://livlikwav.github.io/study/tcp-and-udp/
profile
회사와 “함께” 성장하는 개발자

0개의 댓글