タグ

3ウェイハンドシェイクに関するcriscrossのブックマーク (2)

  • 第15回 信頼性のある通信を実現するTCPプロトコル(2)

    前回の「信頼性のある通信を実現するTCPプロトコル(1)」では、TCPの通信モデルの概略について解説した。 TCPは信頼性のある双方向のストリーム型通信を実現するためのプロトコルである。信頼性があるとは、送信したデータが、送信した順番どおりに、欠落や重複なく、相手にまで届けられるということを意味している。これを実現するための基的な仕組みは、あらゆるデータ送信に対して、必ず受信確認(ACK)による送達確認を行い、パケットが入れ替わっていたり、欠落していたりした場合には再送を行うというものである。 また信頼性だけでなく、パフォーマンスを向上させるための工夫も凝らしている。具体的には、パケットを1つ送るたびにいちいち確認応答を行うのではなく、まとめて受信確認を行うこと、順不同で到着したパケットの再整列、フロー制御などが挙げられる。これらを実現するスライディング・ウィンドウ制御についても解説した

    第15回 信頼性のある通信を実現するTCPプロトコル(2)
  • 第16回 信頼性のある通信を実現するTCPプロトコル(3)

    第16回 信頼性のある通信を実現するTCPプロトコル(3):基礎から学ぶWindowsネットワーク(4/4 ページ) それでは実際にTCPプロトコルの通信例を見てみよう。ここではオープン、データ通信、クローズにおける典型的な例を取り上げてみる。より理解を深めるためには、Windows Server OSに含まれているネットワーク・モニタなどを使って、実際のパケットのやりとりを観測するのが望ましい。ネットワーク・モニタについては別稿の「Windowsネットワーク・プロトコルの理解と検証」を参照していただきたい。 オープン処理 すでに述べたように、TCPのオープン処理は「3ウェイ・ハンドシェイク」というシーケンスに沿って行われる。実際にネットワーク・パケットをキャプチャして観測すると、その特徴的なパターンにより、すぐに見つけることができるだろう。 以下は、あるマシン(マシン名は「CLIENT」

    第16回 信頼性のある通信を実現するTCPプロトコル(3)
  • 1