@network Cisco・アライド実機で学ぶ > TCP/IP入門 > TCPの制御(スリーウェイハンドシェイクの手順)

 Amazon
@network Cisco・アライド実機で学ぶ
◆TCPの制御(スリーウェイハンドシェイクの手順)

※ネットワークの学習は、TCP/IPを学ぶことから始めることをオススメします。TCP/IPは、今日のLANやインターネットを支えている重要な技術になっています。ここでは、これからネットワークを学ぼうとする方に必要なネットワークの用語やテクノロジーの紹介、そして、TCP/IPプロトコルの基礎知識を中心に説明してゆきます。
 資格取得が就職、転職、派遣に有利なのは確かですが、「資格=即戦力」とは言えません。実機を操作して資格取得と同時に就職・転職・派遣後に求められるエンジニア(仕事・ジョブ・ワークの達人)としての即戦力を養いましょう。

スポンサードリンク

◆TCPの制御(スリーウェイハンドシェイクの手順)

 TCPの通信において、オープン時に、スリーウェイハンドシェイクという手順で、接続を確立します。このハンドシェイクで、初期シーケンス番号を交換することで、2つのホストが、それぞれの初期シーケンス番号を同期させています。

同期は、SYN(同期制御ビット)と初期シーケンス番号で構成されるパケットを交換することで行われます。

その手順は、次のように行われます。

手順 内容
手順1 送信元が相手に対して、「SYNパケット」を送信する。
手順2 SYN パケットを受け取った相手は、送信元に接続を許可する「SYN,ACKパケット」を送信する。
手順3 SYN ACK パケットを受けとった送信元は、接続開始をあらわす ACK パケットを送信し、受信側との通信を開始する。

スリーウェイハンドシェイクの様子を図で表すと次のようになります。


上の図の流れは、以下のようになります。

1.送信側 → 受信側

送信側が、初期シーケンス番号が「x」であることを示すSYNパケットを受信側に送信します。

送信側から受信側に

「SYN,送信側のシーケンス番号=x」

が送信されます。

2.送信側 ← 受信側

 受信側は、送信側のシーケンス番号が「x」であることを記録し、自分の初期シーケンス番号を「y」、ACK に「x+1」をセットしたパケットを送信側に送信します。

「ACK=x+1」にするのは、「x」までのオクテットを受信できており、その次に「x+1」が必要であることを意味しています。

受信側から送信側に

「SYN,受信側のシーケンス番号=y,ACK=x+1」

が送信されます。

3.送信側 → 受信側

 送信元は、受信側のシーケンス番号が「y」であることを記録し、ACK に「y+1」をセットしたパケットを受信側に送信します。

 「ACK=y+1」にするのは、「y」までのオクテットを受信できており、その次に「y+1」が必要であることを意味しています。

送信側から受信側に

「ACK=y+1」

が送信されます。

このように、スリーウェイハンドシェイクでは、3つのパケットを往復させることで、コネクションを確立します。

TCPでは、UDPと比べてかなり複雑な制御が行われていることが分かります。

もう少し分かり易いように、今度は、具体的に初期シーケンス番号が以下の値である場合のやり取りを示します。

送信元の初期シーケンス番号・・・1000
受信側の初期シーケンス番号・・・2000


TCPの制御(スリーウェイハンドシェイク)」 ← 前項 | 次項 → 「TCPの制御(フロー制御・ウィンドウサイズ)その1

スポンサードリンク


<ネットワーク資格の練習問題に挑戦>
CCNA練習問題に挑戦!(650問)
Network+練習問題に挑戦!(393問)
テクニカルエンジニア(ネットワーク)試験

Copyright(c)2006- @network Cisco・アライド実機で学ぶ All rights reserved.