 |
|  |
◆TCPの制御(スリーウェイハンドシェイク)
※動作確認は、Cisco2500、Cisco1710、Cisco1720、Cisco1721、Cisco2611、Cisco2650、Cisco3620シリーズのルータ、Catalyst2900、Catalyst2950シリーズのスイッチなどで確認しています。コマンド、出力結果、動作は、機種、IOSのバージョンで異なる場合があります。
資格取得が就職、転職、派遣に有利なのは確かですが、「資格=即戦力」とは言えません。実機を操作して資格取得と同時に就職・転職・派遣後に求められるエンジニア(仕事・ジョブ・ワークの達人)としての即戦力を養いましょう。
◆TCPの制御(スリーウェイハンドシェイク)
スリーウェイハンドシェイクは、3ウェイ・ハンドシェイク、「three-way handshaking」とも表記されます。
TCPの接続において、オープン時に、スリーウェイハンドシェイクという手順で、接続を確立します。このハンドシェイクで初期シーケンス番号を交換し、2つのホストがそれぞれの初期シーケンス番号を同期させます。
TCPの通信では、シーケンス番号を交換することが重要になってきます。
送信するデータは、セグメントという転送単位に分割されます。また、IPによる通信では、送信したパケットが送信した順に相手に届くことが保障されません。パケットは、ばらばらに到着することもあるのです。
そこで、TCPでは、送信したセグメントを元通りのデータに復元できるように、シーケンス番号を使用するようにしています。
シーケンス番号は、送信するデータに対して、それぞれのバイト位置を指すようになっていて、その番号に基づいて整列することで元通りのデータに復元できるようにしています。
◆シーケンス番号
TCPヘッダは、次のように構成されています。
0 |
15 |
16 |
31 |
送信元ポート番号(16ビット) |
宛先ポート番号(16ビット) |
シーケンス番号(32ビット) |
確認応答番号(32ビット) |
ヘッダ長
(4ビット) |
予約済み
(6ビット) |
コードビット(各1ビット) |
ウィンドウサイズ
(16ビット) |
U R G |
A C K |
P S H |
R S T |
S Y N |
F I N |
チェックサム(16ビット) |
緊急ポインタ(16ビット) |
(オプション) |
データ |
|
←―― |
32ビット |
――→ |
上の図から分るように、シーケンス番号は、32bit長です。符号なしの整数値で表現されます。
TCPでは、コネクションを開始すると、通信路にはそれぞれランダムなシーケンス番号が初期値として与えられるようになっています。
なぜランダムなのかというと、いつも決まった数値で始まったり、「1,2,3,4,5・・・」などと順番に割り当てられたとすると、セグメントの偽装が行い易いからです。
そのため、スリーウェイハンドシェイクでは、コネクションの際にランダムに決めた値を初期値とするようになっています。
次の「TCPの制御(スリーウェイハンドシェイクの手順」では、スリーウェイハンドシェイクの手順について、説明してゆきます。
「TCPの制御(回線の切断)」 ← 前項 | 次項 → 「TCPの制御(スリーウェイハンドシェイクの手順)」
<ネットワーク資格の練習問題に挑戦> ●CCNA練習問題に挑戦!(650問)
●Network+練習問題に挑戦!(393問)
●テクニカルエンジニア(ネットワーク)試験
◆Cisco実機で学ぶ(CCNAスイッチ編) |
 |
|
<関連メニュー> ●CCNA実機で学ぶ
●CCNP実機で学ぶ
●CCENT(ICND1)実機で学ぶ
●SDMで設定する(Cisco実機で学ぶ)
●CCENT・CCNA無線実機で学ぶ
●アライドテレシス実機で学ぶ
●TCP/IP入門・無料ネットワークツール
●PLCでホームネットワーク構築
|
|
 |