본문 바로가기

TCP(Transmission Control Protocol)란?

sesejeon 발행일 : 2023-04-16

TCP는 Transmission Control Protocol의 약자로, 인터넷 프로토콜 스위트(IP suite) 중 하나로, OSI 7계층 모델의 전송 계층에 해당합니다. TCP는 인터넷 상에서 데이터를 신뢰성 있게 전송하기 위한 프로토콜로, 데이터의 손실이나 손상이 없도록 보장합니다.

 

TCP의 기능

  1. 연결 지향적(Connection-oriented): TCP는 연결을 맺은 후에 데이터를 전송하며, 데이터를 전송하기 전에 연결을 설정하고, 데이터를 전송한 후에는 연결을 끊습니다. 이를 통해 데이터의 신뢰성을 높이고, 데이터의 순서를 보장할 수 있습니다.
  2. 신뢰성 있는 데이터 전송: TCP는 데이터 전송 중 손실이나 손상된 패킷을 재전송하므로 신뢰성 있는 데이터 전송이 가능합니다. TCP는 데이터를 세그먼트(Segment) 단위로 나누어 전송하며, 이를 받은 호스트는 ACK(Acknowledgement) 메시지를 보내서 세그먼트가 정상적으로 도착했음을 알립니다. 만약 세그먼트가 도착하지 않았다면, 이를 재전송하여 데이터의 손실을 방지합니다.
  3. 흐름 제어(Flow control): TCP는 수신측에서 처리할 수 있는 양의 데이터만을 전송하도록 흐름을 제어합니다. 수신측에서 처리할 수 있는 양보다 많은 데이터를 전송하면 수신측에서 처리할 수 없는 데이터 손실이 발생할 수 있기 때문입니다. TCP는 데이터의 양이 호스트의 처리 능력을 넘어서지 않도록 송신 호스트에서 수신 호스트로 흐름 제어 메시지를 보냅니다. 이를 통해 네트워크 혼잡을 방지하고, 데이터의 손실을 줄일 수 있습니다.
  4. 혼잡 제어(Congestion control): TCP는 네트워크의 혼잡 상태를 감지하고, 혼잡 상태에서는 혼잡 제어 메시지를 보내어 전송 속도를 조절하여 네트워크 혼잡을 최소화합니다.
  5. 순서화(Sequencing): TCP는 전송한 패킷의 순서를 유지하므로, 데이터가 수신측에서 올바른 순서로 처리될 수 있도록 합니다.
  6. 전이중(Full-duplex): TCP는 양방향으로 데이터를 전송할 수 있습니다. 이를 통해 데이터의 송수신을 동시에 처리할 수 있습니다.
  7. 멀티플렉싱(Multiplexing): TCP는 하나의 연결을 통해 여러 개의 데이터 스트림을 전송할 수 있습니다. 이를 통해 하나의 연결로 다양한 응용 프로그램에서 동작하는 데이터를 전송할 수 있습니다.
TCP 특징 내용
연결 지향적 TCP 데이터를 전송하기 전에 연결을 설정하고, 데이터를 전송한 후에는 연결을 끊습니다.
신뢰성 있는 데이터 전송 TCP 데이터 전송 손실이나 손상된 패킷을 재전송하므로 신뢰성 있는 데이터 전송이 가능합니다.
흐름 제어 TCP 수신측에서 처리할 있는 양의 데이터만을 전송하도록 흐름을 제어합니다.
혼잡 제어 TCP 네트워크의 혼잡 상태를 감지하고, 혼잡 상태에서는 혼잡 제어 메시지를 보내어 전송 속도를 조절하여 네트워크 혼잡을 최소화합니다.
순서화 TCP 전송한 패킷의 순서를 유지하므로, 데이터가 수신측에서 올바른 순서로 처리될 있도록 합니다.
전이중 TCP 양방향으로 데이터를 전송할 있습니다.
멀티플렉싱 TCP 하나의 연결을 통해 여러 개의 데이터 스트림을 전송할 있습니다.

 

댓글