Logo
ChatTCP

TCPスリーウェイハンドシェイクとフォーウェイティアダウンのデモ

TCPの接続確立と切断の完全なプロセスを学ぶために、スリーウェイハンドシェイクとフォーウェイティアダウンのプロセスを視覚化

クライアント
状態:
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

ネットワークの問題:ネットワークの遅延やパケットロスによりハンドシェイクプロセスが中断し、接続がハーフオープン状態のまま