본문 바로가기
개발공부 개발새발/Network

Network ) UDP Protocol

by 휴일이 2023. 7. 27.

UDP Protocol

데이터를 한 번에 전부 보낸다.

TCP 데이터 도착을 확인하고 도착 안 하면 다시 보낸다.

UDP 데이터를 한꺼번에 보내고 확인따위 안 한다.
  • 패킷이 한 개밖에 없는 데이터라면 이게 없어졌는지 생각 안 해도 된다.
  • 만약 전부 다시 보내도 패킷을 한 개만 보내면 되니 낭비가 아니다.
  • 접속하거나 연결을 끊을 때 제어용 패킷을 보낼 필요가 없다.
  • 보통 무언가 데이터를 보내면 회신도 돌아오므로 그 데이터가 수신 확인 응답을 대신할 수 있으니 수신 확인 응답 패킷도 필요 없다.

제어용 짧은 데이터

DNS 서버 조회 등, 제어용으로 실행하는 정보 교환은 한 개의 패킷으로 끝나는 경우가 많아 UDP 를 사용한다.

UDP 는 TCP 같은 수신 확인이나 윈도우가 없다.

  1. 송수신 전에 제어 정보를 주고 받을 필요 없다.
  2. 접속이나 연결 끊기 단계가 없다.

송신

송신 데이터를 받으면 UDP 헤더를 부가하고 IP에 의뢰하여 송신하기만 한다.

수신

  • IP 헤더 → 수신처, 송신처 IP 주소
  • UDP 헤더 → 수신처, 송신처 포트 번호
  • 소켓 데이터

→ 해당 정보로 애플리케이션을 판단하고 데이터를 건네주기만 한다.

만약 오류가 발생해서 패킷이 없어져도 모른 체한다.

  • 오류가 발생하면 회답이 돌아오지 않는다.
  • 애플리케이션이 알아차리고 다시 보내면 된다.

음성 및 동영상 데이터

음성이나 영상 데이터도 UDP를 사용한다

  • 결정된 시간 안에 데이터를 건네줘야 한다.
  • 데이터 도착이 지연되면 재생 타이밍이 맞지 않아 음성이나 영상이 멈춘다.
    • 타이밍이 안 맞으면 중간에 끊긴 음이나 영상을 되돌릴 수 없다.
    • 데이터가 도착해도 쓸모가 없다.
  • 음성이나 영상은 데이터가 다소 없어도 치명적이지 않다.
    • 음성 → 지직하면서 소리 끊김
    • 동영상 → 영상이 잠깐 멈춤

 

 

✅ 다시 보낼 필요가 없거나 다시 보내도 쓸모가 없다면 단순히 UDP로 데이터를 보내는 것이 효율적이다!
728x90