3ウェイハンドシェイク:状態が遷移する

TCP は SYNSYN-ACKACK の3ステップで、両端の状態機械を CLOSED から ESTABLISHED まで点灯遷移させます。パケットを落とすとタイムアウトで再送が起きます。

1.2×
0 %
1.8 s
クライアント状態
CLOSED
サーバ状態
LISTEN
セグメント数
0
再送回数
0
SYN → SYN-ACK → ACK ⇒ ESTABLISHED
通信ログ
TCP 状態機械(点灯=現在の状態)
クライアント ⇄ サーバ(パケットアニメ)
TCP は通信を始める前に、両端で「これから話すよ/聞こえてるよ」を確認し合います。これが3ウェイハンドシェイクです。
クライアントが SYN(接続したい+自分の初期シーケンス番号 x)を送り、サーバが SYN-ACK(了解 ack=x+1+自分の番号 y)を返し、最後にクライアントが ACKack=y+1)を返すと、双方が ESTABLISHED になります。
パケットが失われると、送り手はタイムアウト(RTO)まで待ってから再送します。損失率を上げて、状態が先へ進まず再送が増える様子を観察しましょう。

いま何が起きている?

「接続開始」を押すと、クライアントが SYN を送って SYN-SENT に遷移します。

ここがポイント