TCP/IP는 인터넷에서 데이터를 주고받기 위한 프로토콜 입니다. TCP/IP는 여러가지 기능을 제공하는데, 그 중에서 흐름제어, 혼잡제어, 3way handshake, 4way handshake에 대해서 알아보겠습니다.
TCP는 수신자의 처리 능력을 초과하는 양의 데이터를 전송하지 않도록 하는 흐름제어 기능을 제공합니다. 데이터의 송신자와 수신자는 서로 협력하여 데이터 전송 속도를 조절합니다. 이를 통해 수신자의 처리 능력이 초과되어 데이터 유실이 발생하는 경우를 방지할 수 있습니다.
TCP는 네트워크의 혼잡 상태를 감지하고 데이터 전송 속도를 조절하여 혼잡을 방지하는 혼잡제어 기능을 제공합니다. 이를 통해 데이터 전송 중에 라우터와 스위치 등의 네트워크 장비에서 패킷 유실을 최소화할 수 있습니다.
TCP는 연결 지향 프로토콜이기 때문에 데이터 전송을 시작하기 전에 연결을 설정해야 합니다. 이를 위해 TCP는 3way handshake 과정을 거칩니다. 3way handshake는 다음과 같은 단계로 이루어집니다.
TCP는 연결을 종료하기 전에도 4way handshake 과정을 거칩니다. 4way handshake는 다음과 같은 단계로 이루어집니다.
TCP/IP의 흐름제어, 혼잡제어, 3way handshake, 4way handshake 기능은 안정적인 데이터 전송을 위해 매우 중요합니다.