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
반응형

'Computer Science > 네트워크' 카테고리의 다른 글

[네트워크] HTTP와 HTTPS  (0) 2021.05.18
[네트워크] UDP  (0) 2021.05.18
[네트워크] TCP (흐름 제어 / 혼잡 제어)  (0) 2021.05.17
[네크워크] HTTP의 GET과 POST 비교  (0) 2021.05.17
[네트워크] OSI 7계층  (0) 2021.05.17