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 |