트랜스포트 계층 UDP와 TCP 차이

UDP와 TCP는 트랜스포트 계층에서 동작하는 대표적인 프로토콜로 상반되는 특징을 가지고 있습니다. 대부분의 웹 통신은 TCP를 기반으로 합니다. 때문에 상대적으로 UDP를 쓸 일이 별로 없는데요. UDP를 중심으로 두 프로토콜의 차이를 알아보겠습니다.

UDP란?

UDP(User Datagram Protocol)는 데이터를 메시지 단위로 분할하여 네트워크를 통해 전송하는 프로토콜입니다. 인터넷 프로토콜 스택의 전송 계층에 위치합니다. UDP는 연결이 없고 신뢰성이 없는 통신 방식을 제공합니다. 데이터가 정확하게 도착했는지 확인하거나, 순서대로 도착했는지 보장하지 않습니다. 스트리밍이나 VoIP처럼 실시간으로 데이터를 빠르게 전송하면서 데이터의 일부가 손실되는 걸 감수할 수 있는 경우 사용됩니다.

 

UDP와 TCP의 차이

UDP와 TCP 모두 전송(Transport) 계층에서 동작하기 때문에 종종 비교됩니다. 두 프로토콜의 차이점은 꽤 극명합니다.

 

1. 연결 여부

  • TCP : 연결 지향적입니다. 데이터 전송 전에 먼저 연결을 설정하고, 데이터 전송 후 연결을 종료합니다.
  • UDP : 연결이 없습니다. 연결 설정 및 종료 과정 없이 바로 데이터를 전송합니다.

 

2. 신뢰성

  • TCP : 신뢰성 있는 데이터 전송을 보장합니다. 패킷이 손실되면 재전송하고, 데이터는 수신측에서 원래 순서대로 재조립됩니다.
  • UDP : 신뢰성이 없습니다. 패킷이 손실되면 복구되지 않고, 순서대로 도착하는 것도 보장하지 않습니다.

 

3. 속도

  • TCP : 신뢰성을 위한 오버헤드가 있어, UDP보다 상대적으로 느릴 수 있습니다.
  • UDP : 오버헤드가 적기 때문에, 데이터를 빠르게 전송할 수 있습니다.

 

4. 흐름 제어 및 혼잡 제어

  • TCP : 흐름 제어와 혼잡 제어 기능을 제공하여 네트워크의 혼잡 상황에서도 효율적인 데이터 전송을 보장합니다.
  • UDP : 흐름 제어나 혼잡 제어 기능이 없습니다.

 

5. 용도

  • TCP : 웹 브라우징, 이메일, 파일 전송 등에서 주로 사용됩니다.
  • UDP: 스트리밍 미디어, VoIP, 온라인 게임 등에서 주로 사용됩니다.

 

간단히 정리하면 TCP는 신뢰성과 순서 보장이 중요한 상황에 적합하며 UDP는 빠른 데이터 전송이 필요하고 일부 데이터의 손실이 허용되는 상황에 적합합니다.

 

예시)

UDP가 스트리밍 미디어에 사용된다고해서 모든 동영상 스트리밍 서비스에 사용되는 건 아닙니다. 예를 들어 유튜브나 넷플릭스는 TCP를 사용합니다. 영상을 스트리밍 할 때 TCP/IP 프로토콜 스택인 HTTP/HTTPS 에서 동작하기 때문입니다. 덕분에 영상을 안정적으로 전송할 수 있습니다.

 

Zoom 화상회의 같은 경우엔 UDP를 사용합니다. 예를 들어, 회의 중 일부 오디오나 비디오 데이터의 손실이 발생하더라도 그 부분을 빠르게 건너뛰고 다음 패킷을 처리하여 실시간 소통을 가능케 하기 때문에 UDP가 적합합니다. 비슷한 예시로 스카이프, 디스코드 등을 들 수 있습니다.

반응형

댓글

Designed by JB FACTORY