리팩토링

리팩토링 4주차 UDP

idea5021 2024. 8. 9. 21:56
목차

1. UDP


2. UDP 헤더구조


3. UDP 통신방식


4. 정리


 

 

1. UDP

  • User Datagram Protocol의 약자로 보안과 신뢰성보다 전송 속도와 효율성이 더 중요한 경우 데이터를 전송하기 위해 IP와 함께 오래 사용된 프로토콜

1) 주요 특징

  • 비연결형 서비스로 데이터그램 방식을 제공
    • 데이터의 전송 순서가 바뀔 수 있다. => 순서제어 X

  • 데이터 수신 여부를 확인하지 않는다.
    • TCP의 3-way-handshaking과 같은 과정이 없다.
  • 신뢰성이 낮다.
    • 흐름제어가 없어서 제대로 전송되었는지, 오류가 없는지 확인할 수 없다.
  • TCP보다 속도가 빠르다.
  • 1:1 & 1:N & N:N 통신이 가능하다. 

 

2. UDP 헤더구조

UDP 헤더 구조

  • Source Port / Destination Port
    • Source Port는 송신자 측에서 통신을 위해 사용하는 port번호
    • Destination Port는 수신자, 즉 메시지를 받는 측의 통신 port번호
  • Total Length
    • 헤더와 데이터를 합한 사용자 데이터그램의 전체길이를 정의
    • UDP 데이터그램의 헤더인 8byte~65507바이트 사이의 값이 됨
  • Checksum
    • 전송 에러 관련 필드로 UDP는 체크섬(데이터 손실 유무 확인만 하는 서비스)이 존재
    • UDP는 에러 복구 및 기타 전송 에러 관련 서비스 제공이 없기 때문에 TCP에 비해 간단

 

체크섬 필드에서 TCP와 UDP의 차이점

UDP Checksum TCP Checksum
ipv4 선택사항, ipv6 필수사항
(송신측에서 체크섬 값 0으로 송출하면 수신측은 체크섬 안함)
필수사항

 


 

3. UDP 통신방식

UDP 통신방식

 

 

  • UDP는 독립적인 패킷으로 통신하는 프로토콜이므로 TCP와 달리 연결을 위해 할당되는 논리적 경로가 없고, 각각의 패킷이 다른 경로로 전송,처리되는 비연결형이다.
  • 그림에서와 같이 송신자가 데이터를 보내기만 할뿐 TCP의 복잡한 신호절차가 없으며 데이터의 손실 유무만을 파악하여 UDP를 사용하는 애플리케이션으로 해결을 해야하는 통신 방식이다.
  • 이러한 특징 때문에 UDP는 매우 빠른 속도로 데이터를 전달할 수 있으며 1:1, 1:N, N:N 통신이 가능하여 실시간 스트리밍 같이 정보의 신뢰성보다는 실시간성과 연속성, 속도 등이 더 중요한 경우에 널리 사용된다.

 

4. 정리

 

프로토콜 종류 TCP UDP
연결 방식 연결형 서비스 비연결형 서비스
패킷 교환 방식 가상 회선 방식 데이터그램 방식
전송 순서 전송 순서 보장  전송 순서가 바뀔 수 있음 
수신 여부 확인 수신 여부를 확인함 수신 여부 확인 안함
통신 방식 1:1 통신 1:1 & 1:N & N:N 통신
신뢰성  높음 낮음
속도 느림 빠름

 


출저 및 참고문헌

https://velog.io/@sugenius77/TCP-UDP

https://brunch.co.kr/@dreaminz/5
http://www.ktword.co.kr/test/view/view.php?m_temp1=1889&id=1103
https://evan-moon.github.io/2019/11/10/header-of-tcp/
https://breezebm.tistory.com/74