네트워크

TCP vs UDP

깊게 생각하고 최선을 다하자 2022. 7. 31. 23:03

- TCP와 UDP는 모두 TCP/IP 모델의 '전송 계층'에 속하는 프로토콜입니다. 

  이 두 프로토콜은 서로 상반된 특징을 가지므로, 같이 비교해서 알아두면 좋습니다. 

 

- TCP와 UDP를 비교하면 다음과 같습니다. 

                              TCP                              UDP
                           특징                연결 지향, 신뢰 지향                 비연결 지향, 비신뢰 지향
                           제어        흐름 제어, 오류 제어, 혼잡 제어                            제어 없음
                           속도                            느림                              빠름
                     데이터 이름                         세그먼트                         데이터그램
                           활용                     문서 다운로드                    실시간 스트리밍
                  사용 프로토콜       HTTP 1.1, HTTP 2, HTTPs, FTP                  HTTP 3, DNS, DHCP  

   

- 각각의 항목에 대해 좀 더 자세히 설명드리겠습니다.

 

1) 특징

- TCP는 연결 지향, 신뢰 지향 프로토콜이고, UDP는 비연결 지향, 비신뢰 지향 프로토콜입니다. 

  이는 TCP와 UDP의 차이를 만들어내는 가장 주요한 특징입니다.

  TCP는 연결 지향을 위해 TCP 3-way handshake를 통해서 미리 TCP 커넥션을 수립한 후에, 네트워크 통신을 합니다. 

  반면, UDP는 따로 커넥션을 수립하는 사전 작업 없이 네트워크 통신을 합니다.

 

2) 제어

- TCP는 오류 제어, 흐름 제어, 혼잡 제어를 제공합니다. 오류 제어란 훼손된 세그먼트를 감지 및 재전송하거나, 손실된 세그먼트를 재전송하는 것을 의미합니다. 흐름 제어란 송신 측과 수신 측의 속도를 맞추는 것을 의미합니다. 

  반면, UDP는 오류 제어, 흐름 제어, 혼잡 제어를 제공하지 않는 단순한 프로토콜입니다. 

 

3) 속도

- TCP는 네트워크 통신 이전에 TCP 3-way handshake와 같은 사전 작업을 하므로, 속도가 느립니다.

  반면, UDP는 TCP와는 다르게 사전 작업 없이 네트워크 통신을 하므로 속도가 더 빠릅니다. 

 

4) 데이터 이름

- TCP는 전송할 데이터에 TCP 헤더를 캡슐화하는데, TCP 헤더가 캡슐화된 데이터를 '세그먼트'라고 합니다.

  반면, UDP는 전송할 데이터에 UDP 헤더를 캡슐화하는데, UDP 헤더가 캡슐화된 데이터를 '데이터그램'이라고 합니다. 

 

5) 활용

- TCP는 문서 다운로드와 같이 데이터의 신뢰성이 중요한 경우에 활용되면 좋습니다.

  반면, UDP는 실시간 스트리밍과 같이 데이터의 전송 속도가 중요한 경우에 활용되면 좋습니다.

 

6) 사용 프로토콜

- TCP는 HTTP 1.1, HTTP 2, HTTPs, FTP 등에서 주로 사용되고,

  UDP는 HTTP 3, DNS, DHCP 등에서 주로 사용됩니다.

 

 

참고

기출로 대비하는 개발자 전공 면접 

모두의 네트워크