 |
|  |
◆TCPの制御(スリーウェイハンドシェイクの手順)
※動作確認は、Cisco2500、Cisco1710、Cisco1720、Cisco1721、Cisco2611、Cisco2650、Cisco3620シリーズのルータ、Catalyst2900、Catalyst2950シリーズのスイッチなどで確認しています。コマンド、出力結果、動作は、機種、IOSのバージョンで異なる場合があります。
資格取得が就職、転職、派遣に有利なのは確かですが、「資格=即戦力」とは言えません。実機を操作して資格取得と同時に就職・転職・派遣後に求められるエンジニア(仕事・ジョブ・ワークの達人)としての即戦力を養いましょう。
◆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問)
●テクニカルエンジニア(ネットワーク)試験
◆Cisco実機で学ぶ(CCNAスイッチ編) |
 |
|
<関連メニュー> ●CCNA実機で学ぶ
●CCNP実機で学ぶ
●CCENT(ICND1)実機で学ぶ
●SDMで設定する(Cisco実機で学ぶ)
●CCENT・CCNA無線実機で学ぶ
●アライドテレシス実機で学ぶ
●TCP/IP入門・無料ネットワークツール
●PLCでホームネットワーク構築
|
|
 |