TCPの通信において、サーバがクライアントから要求を受けて3ウェイハンドシェイクを用いたTCPコネクションを確立するとき、サーバがSYNフラグのついたパケットを受け付けるのはどの状態のときか。
| ア | LISTEN |
| イ | SYN-RECEIVE |
| ウ | SYN-SENT |
| エ | TIME-WAIT |
答え ア
【解説】
TCPではコネクションの確立〜データ転送〜コネクションの切断で以下のような状態がある。
| 状態 | 意味 |
| CLOSE | 未使用状態のTCPポート。 クライアントが最初にアクションを起こす前の状態。 |
| LISTEN | 待ち受け状態のポート。 サーバが接続要求を待機している状態。 |
| SYN_SENT | クライアントがサーバにSYNを送信したが、それに対するSYN+ACKを受信できていない状態。 |
| SYN_RECEIVED | サーバがクライアントにSYN+ACKを送信したが、それに対するACKを受信できていない状態。 |
| ESTABLISHED | SYNに対するACKを受信した状態。 TCPコネクションが確立して通信している状態で、データの送受信を行う。 |
| FIN_WAIT | コネクション切断要求元がFINを送信後の状態。 |
| CLOSE_WAIT | コネクション切断要求先がFINを受け取った状態。 (この状態でコネクション切断要求先はデータの転送可能) |
| LAST_ACK | コネクション切断要求先がFINを送信して、最後のACKを待つ状態。 |
| TIME_WAIT | コネクションの終了待ち状態。 しばらくした後、CLOSEDへ遷移して終了。 |
【キーワード】
・3ウェイハンドシェイク

