안 쓰던 블로그

3-way handshake와 4-way handshake 본문

Network

3-way handshake와 4-way handshake

proqk 2020. 9. 18. 17:26
반응형

TCP 연결 설정 과정은 3-way handshake

TCP 연결 해제 과정은 4-way handshake이다

 

3-way handshake

1단계

두 시스템이 통신을 하기 전에 클라이언트는 포트가 닫힌 Closed 상태이다

서버는 해당 포트로 항상 서비스를 제공할 수 있는 Listen 상태이다

 

2단계

클라이언트가 처음 통신을 하려면 임의의 포트 번호가 클라이언트 프로그램에 할당되고, 클라이언트는 서버에 연결하고 싶다는 의사 표시로 SYN Sent 상태가 된다

 

3단계

클라이언트의 연결 요청을 받은 서버는 SYN Received 상태가 되고, 클라이언트에 연결을 해도 좋다는 의미로 SYN + ACK 패킷을 보낸다

 

4단계

클라이언트는 연결 요청에 대한 서버의 응답을 확인했다는 표시로 ACK 패킷을 서버로 보낸다

 

 

4-way handshake

 

1단계

통신 중에는 클라이언트와 서버 모두 Established 상태이다

 

2단계

통신을 끊으려는 클라이언트가 서버에 FIN 패킷을 보내고 클라이언트는 Close Wait 상태가 된다

 

3단계

서버는 클라이언트의 연결 종료 요청을 확인하고 응답으로 클라이언트에 ACK 패킷을 보내면 서버도 클라이언트의 연결을 종료하겠다는 의미로 FIN 패킷을 보내고 Close Wait 상태가 된다

 

4단계

클라이언트는 연결 종료를 요청한 것에 대한 서버의 응답을 확인했다는 표시로 ACK 패킷을 서버에 보낸다

반응형
Comments