SMALL

 4-way-handshake?


TCP 연결을 위해 3-way-handshake를 했다면 연결을 종료 할 때는 4-way-handshake를 사용한다.



최초의 상태는 서로 통신 중이기 때문에 양쪽이 ESTABLISHED 상태이다.


1. 통신을 종료하려는 Client가 서버에게 FIN 패킷을 보내고 Client는 FIN_WAIT_1 상태로 대기한다.

2. FIN 패킷을 받은 Server는 해당 포트를 CLOSE_WAIT로 바꾸고 잘 받았다고 ACK를 Client에 전하고 ACK를 받은 Client는 FIN_WAIT_2 상태로 변경한다.

그리고 동시에 Server에서는 해당 포트에 연결되어 있는 Application에게 Close()를 요청한다.

3. Close() 요청을 받은 Application은 종료 프로세스를 진행시켜 최종적으로 Close()가 되고 Server는 FIN 패킷을 Clinet에게 전송 후 자신은 LAST_ACK로 상태를 변경한다.

4. FIIN_WAIT_2에서 Server가 연결을 종료했다는 신호를 기다리고 FIN을 받으면 ACK를 Server에 전송하고 TIME_WAIT로 상태를 바꾼다. 그리고 일정시간이 지나면 TIME_WAIT가 CLOSED로 변경 된다. 최종 ACK를 받은 서버는 자신의 포트도 CLOSED로 변경된다.

LIST

'전공 > 네트워크' 카테고리의 다른 글

IEEE 802 위원회 LAN 표준  (0) 2018.07.01
네트워크 토폴로지  (0) 2018.07.01
회선 교환(Circuit Switching)과 패킷 교환(Packet Switching)  (0) 2018.07.01
데이터 전송 방식  (0) 2018.07.01
3-way-handshake  (0) 2018.05.02

+ Recent posts