본문 바로가기

면접준비

TCP/UDP에 대해서 설명해주세요.

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

TCP (Transmission Control Protocol):

  1. 연결 지향적 (Connection-Oriented): TCP는 통신을 시작하기 전에 연결을 설정하고, 통신이 완료된 후에는 연결을 해제하는 연결 지향적인 프로토콜입니다.
  2. 신뢰성: TCP는 데이터 전송 중 손실된 패킷을 다시 전송하고, 패킷의 순서를 보장하여 신뢰성 있는 통신을 제공합니다.
  3. 흐름 제어 (Flow Control): 수신자가 처리할 수 있는 속도로만 데이터를 전송하도록 조절하여 네트워크 혼잡을 방지합니다.
  4. 혼잡 제어 (Congestion Control): 네트워크 혼잡을 방지하고 효율적인 대역폭 사용을 위한 메커니즘을 제공합니다.
  5. 데이터 전송 보장: TCP는 데이터의 안정적인 전송을 보장하기 위해 각 패킷에 대한 확인 응답을 사용합니다.

UDP (User Datagram Protocol):

  1. 비연결성 (Connectionless): UDP는 연결을 설정하지 않고, 데이터를 전송하며, 연결을 해제하지 않는 비연결성 프로토콜입니다.
  2. 비신뢰성: UDP는 데이터 전송 중 손실된 패킷에 대한 복구 메커니즘이 없으며, 순서가 바뀔 수 있습니다.
  3. 흐름 제어 및 혼잡 제어 없음: UDP는 흐름 제어나 혼잡 제어를 제공하지 않습니다. 따라서 데이터를 빠르게 전송하고자 할 때 사용됩니다.
  4. 단순함: TCP에 비해 간단한 프로토콜이며, 처리 속도가 빠릅니다.
  5. 멀티캐스트, 브로드캐스트 지원: UDP는 멀티캐스트(Multicast) 및 브로드캐스트(Broadcast)와 같은 다양한 통신 모델을 지원합니다.

일반적으로 TCP는 신뢰성 있는 데이터 전송이 필요한 상황에서 사용되며, UDP는 신속한 데이터 전송이 중요한 상황에서 사용됩니다.

 
 
 

TCP (Transmission Control Protocol):

  • 설명: TCP는 데이터를 안정적으로 전송하는 데 중점을 둔 프로토콜입니다. 연결을 설정한 후에 데이터를 신뢰성 있게 주고 받고, 손실된 데이터에 대해서는 재전송을 시도합니다. 이는 파일 전송, 이메일 전송과 같이 데이터 무결성이 중요한 통신에 주로 사용됩니다.

UDP (User Datagram Protocol):

  • 설명: UDP는 빠른 데이터 전송에 중점을 둔 프로토콜입니다. 연결을 설정하지 않고 빠르게 데이터를 전송하며, 데이터의 순서가 바뀌거나 일부가 손실되어도 높은 신뢰성을 요구하지 않는 통신에 주로 사용됩니다. 실시간 스트리밍, 온라인 게임과 같이 빠른 응답이 중요한 통신에 활용됩니다.