3ウェイハンドシェイクとは
すりーうぇいはんどしぇいく
TCPでコネクションを確立する手順。クライアントのSYN、サーバのSYN+ACK、クライアントのACKの3回のやり取りで、互いの初期シーケンス番号を確かめ合う。
「3ウェイハンドシェイク」は、1分野の2問の練習問題に出てきます(ネットワークの基礎など)。
この用語の分野: ネットワークの基礎
すりーうぇいはんどしぇいく
TCPでコネクションを確立する手順。クライアントのSYN、サーバのSYN+ACK、クライアントのACKの3回のやり取りで、互いの初期シーケンス番号を確かめ合う。
「3ウェイハンドシェイク」は、1分野の2問の練習問題に出てきます(ネットワークの基礎など)。
この用語の分野: ネットワークの基礎
クライアントはSYNで接続を求め、自分の初期シーケンス番号を伝えます。サーバはSYN+ACKで、その番号を受け取ったことを確認すると同時に、自分の初期シーケンス番号を伝えます。クライアントがACKでそれを確認すると、両方向とも「相手が自分の番号を知っている」ことが確かめられ、データを送れるようになります。番号を確かめ合うことで、ネットワークに残っていた古いパケットによる誤った接続を防ぎます。
データを送り始めるまでに、少なくとも1往復の時間(RTT)がかかります。HTTPSではその後にTLSのハンドシェイクも必要で、TLS 1.3なら合わせて2往復、TLS 1.2なら3往復の後に、ようやくリクエストを送れます。遠いサーバほどRTTが大きいので、接続を使い回す(持続的な接続)、HTTP/3のQUICのようにハンドシェイクをまとめる、といった工夫で往復の回数を減らします。
コネクションの終了は、両方向がそれぞれFINとACKで閉じるので、一般に4回のやり取りになります。また、送信元を偽ったSYNを大量に送り、サーバに確立途中の接続をため込ませて資源を使い果たさせる攻撃をSYNフラッドと呼びます。対策として、状態を保持せずに応答できるSYN cookieなどが使われます。
正解:C. SYN → SYN+ACK → ACK
3ウェイハンドシェイクでは、まずクライアントがSYNで接続を求め、自分が送るデータの最初の番号(初期シーケンス番号)を伝えます。サーバはSYN+ACKで、それを受け取ったことを確認(ACK)すると同時に、自分の初期シーケンス番号を伝えます。最後にクライアントがACKを返すと、両方向の通信の準備が整います。3回のやり取りで両方の向きの番号を確かめ合うことで、遅れて届いた古いパケットによる誤った接続などを防ぎます。このため、TCPではデータを送り始めるまでに少なくとも1往復の時間(RTT)がかかります。FINはコネクションを終了するときに使います。
両方向の初期シーケンス番号を、それぞれ相手が受け取ったことを確かめる必要があるためです。2回では、サーバの番号がクライアントに届いたことをサーバが確かめられません。
ありません。UDPはコネクションを確立しないので、すぐにデータを送れます。UDPの上で動くQUICは、暗号の鍵の交換と合わせた独自のハンドシェイクを行います。
3ウェイハンドシェイクでは、まずクライアントがSYNで接続を求め、自分が送るデータの最初の番号(初期シーケンス番号)を伝えます。
TCPでコネクションを確立する3ウェイハンドシェイクで、やり取りされるパケットの順序として正しいものはどれか。まずTCPの3ウェイハンドシェイクで1往復かかります(クライアントは最後のACKと一緒にTLSの最初のメッセージを送れます)。
RTT(往復の時間)が100 msのWebサーバに、HTTPS(TCPの上のTLS 1.3)で新しく接続し、最初のリク…Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。
TLS DNS HTTP ARP OSI参照モデル CIDR サブネットマスク CSMA/CA DHCP デフォルトゲートウェイ