[TCP] 4-way Handshake란?
● 4-way Handshake란?
TCP/IP 네트워크 환경에서 서버와 클라이언트를 연결을 해제(세션 종료)하는데 필요한 프로세스이다.
● TCP FLAG
● 4-way Handshake 프로세스
1) 클라이언트에서 서버와의 연결 종료를 위해 서버에 FIN 패킷을 보내고 FIN_WAIT1 상태가 됩니다.
- 반대로 서버에서 먼저 끊을 수 도 있다.
2) 서버는 클라이언트로부터 FIN을 받고 응답 패킷 ACK을 보냅니다. 상태는 CLOSE_WAIT가 됩니다
3) 서버가 통신이 끝나면, 즉 연결을 종료할 준비가 되면 클라이언트에게 FIN패킷을 보내고 LAST_WAIT 상태가 됩니다
4) 클라이언트는 확인 패킷 ACK을 보내고 TIME_WAIT 상태가 된다.
위 과정을 통해 서버와 클라이언트는 안전하게 세션을 종료하게 된다.
● tcpdump로 4-way Handshake 확인
test-1 서버(출발지)에서 목적지 KT DNS 서버(168.126.63.1) 53 포트 telnet 접속 후 연결 해지를 tcpdump로 덤프를 뜬 내용이다.
tcpdump에서는 ACK 플래그를 "."(점)으로 표시합니다.
서버 -> test-1 : FIN ACK
test-1 -> 서버 : FIN ACK
서버 -> test-1 : ACK
● wireshark로 4-way Handshake 확인
192.168.210.102(출발지)에서 목적지 KT DNS 서버(168.126.63.1) 53 포트 접속 후 연결을 끊은 내용입니다.
아래 내용을 보면 서버에서 먼저 FIN을 날려 연결을 끊으려는 하는 모습이네요
서버 -> 클라이언트 : FIN ACK
클라이언트 -> 서버 : ACK
클라이언트-> 서버 : FIN ACK
서버 -> 클라이언트 : ACK
출처
'IT Technology > Network' 카테고리의 다른 글
DSR(Direct Server Return) 이란? (0) | 2021.10.25 |
---|---|
TCP Flag(URG, ACK, PSH, RST, SYN, FIN) 란? (0) | 2021.10.24 |
BGP Attribute(속성)란? (0) | 2021.10.04 |
공인IP 국가 확인방법 (0) | 2021.09.30 |
Optical Interface [광 인터페이스] 종류와 비교 (0) | 2021.09.29 |