본문 바로가기

개발/신입개발자 기술면접

[신입개발자 기술면접] TCP와 UDP 차이

반응형

TCP (Transmission Control Protocol)와 UDP (User Datagram Protocol)는 네트워크 통신에서 사용되는 두 가지 주요한 프로토콜입니다.

 

  1. 연결 지향성:
    • TCP: 연결 지향적인 프로토콜입니다. 연결을 설정하기 위해 3-way handshake를 사용하며, 데이터의 전송 및 수신 확인을 위한 메커니즘이 있습니다.
    • UDP: 비연결 지향적인 프로토콜입니다. 연결 설정이나 연결 종료 과정이 없으며, 데이터 전송 시 신뢰성이 보장되지 않습니다.
  2. 신뢰성:
    • TCP: 데이터 전송 시 재전송, 순서 보장, 흐름 제어 및 혼잡 제어 등의 기능을 제공하여 신뢰성을 보장합니다.
    • UDP: 신뢰성이 보장되지 않으며, 패킷 손실이나 순서 변경이 발생할 수 있습니다.
  3. 헤더 크기:
    • TCP: 헤더 크기가 상대적으로 크며, 제어 정보가 포함되어 있습니다.
    • UDP: 헤더 크기가 작아서 더 적은 오버헤드를 가지고 있습니다.
  4. 사용 사례:
    • TCP: 웹 브라우징, 파일 전송, 이메일 전송 등 신뢰성이 필요한 애플리케이션에서 주로 사용됩니다.
    • UDP: 스트리밍 서비스, 도메인 이름 조회 (DNS), 게임 및 VoIP (Voice over IP) 등 실시간 통신이 필요한 애플리케이션에서 주로 사용됩니다.
  5. 속도와 지연:
    • TCP: 연결 설정 및 관리와 같은 추가적인 오버헤드로 인해 UDP보다 지연이 발생할 수 있습니다.
    • UDP: 오버헤드가 적어 속도가 빠르며, 지연 시간도 짧습니다.

요약하면,

 

TCP는 신뢰성과 연결 지향성이 중요한 애플리케이션에 적합하며,

UDP는 신속한 데이터 전송이 필요하거나, 추가적인 오버헤드 없이 빠른 통신이 필요한 애플리케이션에 적합합니다.

반응형