@network Cisco・アライド実機で学ぶ > TCP/IP入門 > TCPの制御(フロー制御・ウィンドウサイズ)その1

 Amazon
@network Cisco・アライド実機で学ぶ
◆TCPの制御(フロー制御・ウィンドウサイズ)その1

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

スポンサードリンク

◆TCPの制御(フロー制御・ウィンドウサイズ)その1

 TCPによる通信では、送信側がセグメントを送信し、そのセグメントを受信側が受信すると必ずACKの応答を返すようになっています。

 受信側の応答には、期待する次のシーケンス番号(受信したセグメントのシーケンス番号+1)を返すようになっています。

つまり、

今までの分は、ちゃんと受信できているので、次のセグメントを送って下さい。

という意味になります。

 TCPにおけるフロー制御は、ウィンドウサイズで実現しています。ウィンドウサイズによって一度に送信できるセグメントの数が決まります。TCPでは、一度に送受信するセグメントの数をコントロールすることで、フロー制御を行っています。

 もう少し、詳しく説明すると、ウィンドウサイズは、通信相手のバッファ量を指します。受け取ったデータは、一時的にバッファに溜められます。

 データ転送が早いと、すぐにバッファは一杯になり、溢れ出してしまいます。そして、パケットは破棄されることになります。

 つまり、ウィンドウサイズまでのデータは、一度に送っても相手はオーバフローしないことになります。

 TCPの通信では、スリーウェイハンドシェイクのコネクションの確立時に、シーケンス番号、確認応答番号の他に、ウィンドウサイズ(自分のバッファのサイズ)やMSSもお互いに教え合っています。

 この教えられたウィンドウサイズとMSSから、一度に送信できるセグメント数を求めることができます。

 TCPでは、一度に送受信するセグメントの数をコントロールすることで、フロー制御を行っています。

まずは、一度に送ることが可能なセグメント数が「1」の時のフロー制御を説明してゆきます。

例えば

ウィンドウサイズ = 1000
MSS = 1000

の場合、一度に送ることが可能なセグメント数は、「1」になります。


 上の図を見れば分かるように、1セグメントを送信する度に、確認応答を行っています。個々のパケットに対してACKの応答を待ってからでないと、次のセグメントを送信できません。

これだと、確かに確実に相手に届けることができますが、手間がかかりすぎてオーバヘッドが高くなってしまいます。

もっと、効率よく送信しないと時間がかかり過ぎてしまいます。

 効率よく送信するには、個々のセグメントの対するACKの応答を待ってから次のセグメントを送信するのではなく、ACKの応答を待たないで一度に複数のセグメントが送信できるようになっています。

 次の「TCPの制御(フロー制御・ウィンドウサイズ)その2」では、一度に複数のセグメントを送信する場合におけるやり取りの流れを説明してゆきます。

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

スポンサードリンク


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

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