UDP 송수신 과정

|

##UDP 송∙수신 과정

수정 송신이 필요없는 데이터의 송신은 UDP가 효율적이다

  • DNS 서버에 IP 주소를 조회할 때, 동영상 및 음성 데이터를 송∙수신 할 때 UDP 프로토콜을 사용한다.

  • 데이터를 확실하고 효율적으로 전달하기 위해 복잡한 과정을 거치는 TCP 프로토콜[1]과는 달리 수신 확인이나 윈도우가 없어서 데이터 송∙수신 전에 제어정보를 주고받을 필요가 없고, 접속이나 연결 끊기 단계가 없다. 애플리케이션에서 송신 데이터를 받으면 여기에 UDP 헤더를 부가하고 이것을 IP에 의뢰하여 송신하기만 한다.

    수신도 간단하다. IP 헤더에 기록되어 있는 수신처 IP주소와 송신처 IP주소, 그리고 UDP 헤더에 기록되어 있는 수신처 포트번호와 송신처 포트번호라는 네 항목과 소켓에 기록된 정보를 결합하여 데이터를 건네줄 대상 애플리케이션을 판단하고 데이터를 건네준다. 오류가 발생하여 패킷이 없어져도 모른 체 한다. 패킷이 없어져서 회답이 돌아오지않으면 애플리케이션이 그 사실을 알아차리고 한 번더 송신하기만 한다. 복잡한 동작이 필요없어 애플리케이션에게 부담을 주지도 않는다.

[1] TCP 프로토콜 송∙수신 과정

  • 데이터를 보내고 수신확인 응답을 받는다. (정확성이 우선된다)
  • 어디까지 도착했는지 또는 오류가 발생하면 어디부터 다시 보내야하는 지 등 확인할 것이 많다.
  • 한 개의 패킷에 데이터가 모두 수용된다면 효율적인 구조이나, 대개 그렇지 않다.



ref 성공과 실패를 결정하는 1% 네트워크 원리