TCP프로토콜과 UDP프로토콜은 모두 전송계층인 4계층에서 이용되는 프로토콜입니다.

TCP 프로토콜은 주로 신뢰성이 중요한 애플리케이션에서 사용되며, UDP프로토콜은 간단한 데이터를 빠른 속도로 전송해야할 경우 주로 이용됩니다.

TCP

Untitled

3-way-handshake

TCP프로토콜은 3 way handshake기법을 통해 연결이 이루어집니다. SYN → SYN+ACK → ACK순으로 패킷을 주고받아 연결을 확인하죠.

세션종료는 4way handshake입니다

또한 슬라이딩 윈도우 기법을 통해 수신측에서 설정한 윈도우 크기만큼 확인응답없이 세그먼트를 전송하게 됩니다. 즉, 데이터 흐름을 동적으로 조절하는 제어기법을 통해 보다 안정적이고 신뢰성 있는 통신이 가능합니다. 이외에도 훼손된 패킷을 감지하고 손실된 패킷은 재전송하는 작업을 거치는 오류제어 특징도 갖고있습니다.

TCP의 흐름제어

  1. Stop and Wait

→ 매번 전송한 패킷에 대한 확인응답을 받고, 그 다음 패킷을 전송하는 방법

→ 비효율적입니다.

  1. Sliding Window(슬라이딩 윈도우)

TCP의 오류제어

참고

[네트워크] - TCP (흐름제어/혼잡제어)


UDP