이 글은 컴퓨터 네트워크 수업내용을 정리한 글임을 알림니다.
TCP 통신에서 연결을 해제 하는 과정이다.
연결해제를 하는데 왜 4번이나 왔다갔다 해야하는 거지?
라는 의문에 대해 대답하려 한다.
결론부터 말하자면 반대편도 끝낼준비를 마쳐야지 통신이 종료되기 때문이다.
만약 끝낼 준비가 되지 않았는데 먼저 끊어 버린다면
위 게시글의 Half-Open Connection
을 보고 오자!
그렇다면 그림을 보며 4way handshake 과정을 살펴보자
- 클라이언트는 연결 종료를 하기 위해 서버에게 FIN을 보낸다.
- 서버는 연결 종료 신호를 받고 신호를 잘받았다는 ACK를 응답하고 연결종료할 준비를 한다.
- 연결 준비가 끝나는 동시에 서버도 연결 종료가 준비 되었다는 FIN을 클라이언트에게 보낸다.
- 클라이언트는 서버의 FIN을 잘받았다는 ACK를 서버에게 보내며 연결이 중단된다.
이런 딱딱한 말투는 내 스타일이 아니다.
- (client) : (끝내자)FIN비트 + 시퀸셜 비트 send
- (server) : (ㅇㅋ잠깐만) ACK비트 send
- (server) : (끝났어) FIN비트 + 시퀸셜 비트 send
- (client) : (ㅇㅋ) ACK비트 send
ㅇㅋ?