Computer Science/네트워크
[네트워크] TCP 3-way handshake & 4-way handshake
excited-hyun
2021. 5. 17. 22:25
반응형
TCP 3-way handshake : 연결 성립
1) 클라이언트가 서버에 접속을 요청하는 SYN(client_isn) 패킷을 보냄.
2) 서버는 클라이언트의 요청인 SYN(client_isn)을 받고 클라이언트에게 그 요청을 수락한다는 ACK(client_isn + 1)와 SYN(server_isn) 패킷을 보냄.
3) 클라이언트는 서버의 수락 응답인 ACK(client_isn + 1)과 SYN(server_isn) 패킷을 받고 ACK(server_isn + 1)을 서버로 보냄.
이렇게 3개의 단계를 거치면 연결이 성립하게 됨.
TCP 4-way handshake : 연결 해제
1) 클라이언트는 서버에 연결을 종료한다는 FIN flag를 보냄.
2) 서버는 FIN을 받고, 확인했다는 ACK를 클라이언트에게 보냄. 이때 모든 데이터를 보내기 위해 CLOSE_WAIT 상태.
3) 데이터를 모두 보냈다면, 서버는 연결이 종료되었다는 FIN flag를 클라이언트에 보냄.
4) 클라이언트는 FIN을 받고 확인했다는 ACK를 서버에게 보냄. 이때 서버에게 아직 다받지 못한 데이터가 있을 수 있으므로 TIME_WAIT 상태로 기다림.
5) 클라이언트의 ACK를 받은 서버는 소켓 연결을 close.
728x90
반응형