3ウェイハンドシェイク
3ウェイハンドシェイク(読み:スリーウェイハンドシェイク、英:three-way handshaking) とは、TCPなどで使用されている、接続(コネクション)を確立するための手順のことです。
3ウェイハンドシェイクは次の3ステップによって構成されています。
ステップ1:要求側がSYNパケットを送信する
ますコネクション確立を要求するSYNパケットを送信します。
- SYN=1(コネクション確立を要求するので1)
- ACK=0
- シーケンス番号=0 ※初回はランダムな値
ステップ1:接続してもいいですか?
ステップ2:通信相手がSYNとACKパケットを送信する
SYNパケットを受けとった通信相手は、その要求者の接続を許可するACKパケットと、通信相手からもコネクション確立を要求するSYNパケットを送信します。
- SYN=1(コネクション確立を要求するので1)
- ACK=1(要求側との接続を許可するので1)
- シーケンス番号=0 ※初回はランダムな値
- 確認応答番号=1(相手から受信したシーケンス番号 + 1)
ステップ2:いいですよ。こちらからも接続していいですか?
ステップ3:要求側がACKパケットを送信する
SYNパケットを受けとった要求側は、通信相手との接続を許可するACKパケットを送信します。
- SYN=0
- ACK=1(通信相手との接続を許可するので1)
- シーケンス番号=1(相手から受信した確認応答番号)
- 確認応答番号=1(相手から受信したシーケンス番号 + 1)
ステップ3:いいですよ。
helpful
この記事は役に立ちましたか?