TCP 3-웨이 핸드셰이크 및 4-웨이 티어다운 데모
TCP 연결 설정 및 종료의 전체 프로세스를 이해하기 위한 3-웨이 핸드셰이크 및 4-웨이 티어다운 프로세스 시각화
클라이언트
상태:
CLOSED
서버
상태:
CLOSED
네트워크
TCP 연결 상태 설명
핸드셰이크 상태
- LISTEN: 서버가 연결 대기 중
- SYN_SENT: 클라이언트가 SYN 전송함
- SYN_RCVD: 서버가 SYN을 수신하고 SYN+ACK를 전송함
- ESTABLISHED: 연결 설정됨
티어다운 상태
- FIN_WAIT_1: 클라이언트가 FIN 전송함
- CLOSE_WAIT: 서버가 FIN을 수신함
- FIN_WAIT_2: 클라이언트가 서버의 FIN을 대기 중
- LAST_ACK: 서버가 마지막 ACK를 대기 중
- TIME_WAIT: 클라이언트가 타임아웃 대기 중
- CLOSED: 연결 종료됨
반개방 연결 상태
반개방 연결은 TCP 연결 설정 중의 중간 상태를 의미하며, 주로 SYN_SENT와 SYN_RCVD 상태를 포함합니다. 이러한 상태의 연결은 완전히 설정되지 않았으며 네트워크 공격에 취약할 수 있습니다.
일반적인 반개방 연결 문제
SYN Flood
SYN 플러드 공격: 공격자가 핸드셰이크를 완료하지 않고 다수의 SYN 패킷을 전송하여 서버 리소스를 고갈시킴
Server Not Responding
서버 무응답: 서버가 SYN을 수신한 후 SYN+ACK로 응답하지 않아 클라이언트가 SYN_SENT 상태로 유지됨
Client Not Responding
클라이언트 무응답: 서버가 SYN+ACK를 전송한 후 ACK를 수신하지 못해 서버가 SYN_RCVD 상태로 유지됨
Network Issues
네트워크 문제: 네트워크 지연이나 패킷 손실로 인해 핸드셰이크 프로세스가 중단되어 연결이 반개방 상태로 유지됨
