Skip to content

TCP

1. TCP란?

전송 제어 프로토콜이라고도 하며, 두 개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 중요한 네트워크 프로토콜이다. IP와 함께 TCP/IP라는 명칭으로도 불리며 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러없이 교환할 수 있게 한다. 또한 데이터와 패킷이 보내진 순서대로 전달하는 것을 보장해준다.

2. TCP/IP의 프로토콜 계층

TCP

위 그림에서 보이는 바와 같이 맨 위에서부터 애플리케이션 계층, 전송 계층, 네트워크 계층, 네트워크 인터페이스 계층, 하드웨어로 이루어져 있다.

  • 애플리케이션 계층: 메시지나 데이터 스트림을 인터넷 전송 계층 프로토콜인 UDP(User Datagram Protocol) 또는 TCP(Transmission Control Protocol) 중 하나로 전송
  • 전송 계층 : 애플리케이션으로부터 데이터를 수신하고 이를 패킷이라 부르는 보다 작은 조각으로 나누어 대상 주소를 추가한 후 다음 프로토콜 계층인 인터넷 네트워크 계층을 따라 패킷을 패스
  • 인터넷 네트워크 계층 : 패킷을 IP(인터넷 프로토콜) 데이터그램에 포함한 후 데이터그램 헤더 및 트레일러에 넣고 데이터그램 전송 위치(대상에 직접 또는 게이트웨이에)를 결정한 후 네트워크 인터페이스 계층으로 데이터그램을 패스
  • 네트워크 인터페이스 계층 : IP 데이터그램을 승인하고 이더넷이나 토큰 링 네트워크와 같은 특정 네트워크 하드웨어를 통해 이들을 프레임으로 전송

TCP_host

3. TCP와 UDP

TCP는 TCP로 전송 된 패킷을 추적하므로 전송 중에 데이터가 손실되거나 손상되지 않는다. 패킷 번호를 지정하여 패킷을 주문하고 수신자가 보낸 사람에게 메시지를 받았음을 알리는 응답을 보내도록 하여 오류 검사를 수행한다. 이와 반대로 UDP는 TCP와 비슷하게 작동하지만 모든 오류 검사 항목을 버린다. 모든 앞뒤로 보내는 통신은 대기 시간을 가져오고, 작업 속도를 저하시킨다. 앱이 UDP를 사용하면 패킷이 수신자에게 전송되고 보낸 사람은 받는 사람이 패킷을 받았는지 확인하기 위해 기다리지 않고 다음 패킷만 계속 보내게 된다.

4. Reference