CS/Network

[네트워크] UDP(User Datagram Protocol)

hectick 2023. 6. 16. 14:46

 

UDP(User Datagram Protocol)

TCP의 (데이터를 확실하고 효율적으로 전달하기 위한) 복잡한 기능이 필요하지 않은 경우

        - 데이터 송, 수신 전에 제어 정보를 주고 받을 필요X

        - 연결하고 끊는 단계 필요X

        - 오류 검사 필요X

 

TCP의 그런 기능이 없어도 낭비가 아닌 경우

        - 즉 정보 교환이 한개의 패킷으로 가능하고, 오류가 나면 그냥 다 다시 보내버려도 지장없는 경우

 

예를 들면 DNS 서버 조회 같은 경우에는 UDP를 사용한다.

 

 

또, 음성이나 동영상 스트리밍 같은 실시간 통신이 중요한 서비스에 사용한다.

 

1. 속도가 빨라야한다.

 

이때는 컨텐츠 재생 타이밍에 맞추어 데이터를 송수신하는 것이 중요하다. TCP를 쓴다면 복잡한 과정 때문에 타이밍을 맞추기 힘들다.

 

2. 소량의 데이터 몇개 없어도 큰 문제 없다.

 

또, 중간에 데이터가 몇개 사라져도 치명적인 문제가 발생하지 않는다. ‘치직’이라는 약간의 감당가능한 불편함만 발생할 뿐이다. 데이터를 다시 보내봤자 타이밍은 지났고, 데이터는 쓸모가 없어졌다. 이럴땐 UDP가 더 효율적이다.

 

 

'CS > Network' 카테고리의 다른 글

[네트워크] OSI 7 layer  (0) 2023.05.28
[네트워크] Network edge  (0) 2022.03.11
[네트워크] What is the Internet?  (0) 2022.03.11
[네트워크] Life of a web request  (4) 2022.03.10