철학과 학생의 개발자 도전기

UDP 본문

컴퓨터네트워크

UDP

Younghun 2023. 11. 16. 16:58

UDP (User Datagram Protocl)

  • 전송 계층에서 사용하는 프로토콜
  • 신뢰성이 낮지만 빠른 데이터 전송 가능
  • 데이터그램 방식으로 패킷 전송

특징

  • 송신부와 수신부의 연결이 보장되지 않는 비연결형 서비스
  • 패킷이 서로 다른 회선으로 교환될 수 있는 데이터그램 패킷 교환 방식
  • 전달한 패킷 순서와 전달받은 패킷 순서가 다를 수 있음
  • 패킷의 수신 여부를 확인하지 않음

오류 검출

  • 최소한의 신뢰성은 보장
  • 체크섬 방식으로 오류 검출
    • 송신부가 헤더와 바디 데이터를 이용해 체크섬 값을 만들어서 함께 전송
    • 수신부는 모든 값을 더해서 전부 1이 나오는지 확인
    • 1만 나오면 정상으로 취급하기 때문에 완전한 오류 검출은 어려움

UDP header

  • 속도를 위해 간결한 헤더 지님
  • 출발지와 목적지, 길이, 체크섬 등

출처: https://ddongwon.tistory.com/83


QUIC (Quick UDP Internet Connection)

  • TCP의 성능 이슈를 해결하기 위해 구글에서 개발한 프로토콜
  • 단순하고 빠른 UDP 위에서 돌아가면서, 데이터의 신뢰성도 확보
  • TLS 암호화 기본 적용 및 정정 비트를 통한 훼손 복구
  • HTTP 3.0에서 사용됨

https://ddongwon.tistory.com/83


UDP 사용 서비스

  • 주기적으로 데이터가 전송됨
  • 실시간으로 처리되어야 함
  • 지연시간이 짧아야 함

1. 실시간 스트리밍 서비스

동영상 등의 멀티미디어 서비스에서 UDP가 사용된다.

동영상은 손실 없는 데이터보다 끊김없는 감상이 더 중요하다.

온라인 게임의 네트워크 통신에도 사용된다.

2. DNS

도메인 관련 서비스를 제공할 때 UDP가 사용된다.

DNS는 request와 response가 매우 간결하게 끝나므로, TCP를 사용하면 오버헤드가 더 크다.

UDP를 사용해서 패킷이 손실되더라도, 다시 보내는 것이 더 효율적이다.

3. SNMP

네트워크상의 장치들을 점검할 때 쓰는 프로토콜이다.

주기적으로 물어보는 형태이기 때문에 간결한 UDP를 사용한다.


'컴퓨터네트워크' 카테고리의 다른 글

대칭키와 공개키  (0) 2023.11.30
TCP 흐름 제어/오류 제어/혼잡 제어  (1) 2023.11.30
TCP와 Handshake  (0) 2023.11.23
네트워크 계층  (0) 2023.11.23
OSI 7계층과 TCP/IP 4계층  (0) 2023.11.16