본문 바로가기
이론/네트워크

TCP/IP - four way handshake

by 사과잼빵 2015. 10. 1.

1. 클라이언트는 서버로 FIN(Finish) 세그먼트를 보내고 클라이언트에서 서버로의 데이터 흐름을 종료한다.

2. 서버가 FIN을 수신하면 수신한 순서번호(Sequence Number)+1의 ACK를 보낸다.

3. 서버는 클라이언트로 FIN을 전송한다.

4. 클라이언트는 수신한 번호의 순서번호에 1을 더한 ACK를 보낸다.

TCP 연결은 전이중 방식으로 각 방향으로 shutdown이 독립적으로 이루어져야한다.


클라이언트에서 4번 과정 후  상태를 TIME_WAIT 상태라고 한다 이는 서버에서 오는 잉여 패킷을 받기 위한 시간이다... 

TIME_WAIT 상태를 2MSL상태라고도 한다.

MSL은 Maximum Segment Lifetime의 줄임말이며 이는 세그먼트(패킷)이 네트워크에서 폐기 되기 전까지 살아남을 수 있는 시간이다.

4번째 단계의 ACK 패킷이 소실 되었다는 것을 체크하고 다시 3번 단계를 진행하기위해서는 MSL의 2배 만큼의 시간이 요구되기 때문이다.


'이론 > 네트워크' 카테고리의 다른 글

TCP/IP - three way handshake  (0) 2015.10.01
데이터링크 계층의 오류제어 기법  (0) 2015.07.21
흐름제어(Flow control)과 혼잡제어(Congestion control)  (0) 2015.06.12
라우팅이란?  (0) 2015.06.11
OSI 7계층  (0) 2015.06.11