Logo
ChatTCP

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

네트워크 문제: 네트워크 지연이나 패킷 손실로 인해 핸드셰이크 프로세스가 중단되어 연결이 반개방 상태로 유지됨