◆TCPの制御(フロー制御・ウィンドウサイズ)その2※ネットワークの学習は、TCP/IPを学ぶことから始めることをオススメします。TCP/IPは、今日のLANやインターネットを支えている重要な技術になっています。ここでは、これからネットワークを学ぼうとする方に必要なネットワークの用語やテクノロジーの紹介、そして、TCP/IPプロトコルの基礎知識を中心に説明してゆきます。◆TCPの制御(フロー制御・ウィンドウサイズ)その2「TCPの制御(フロー制御・ウィンドウサイズ)その1」では、一度に送ることが可能なセグメント数が「1」の時のフロー制御を説明しました。ここでは、一度に複数のセグメントを送信する場合におけるやり取りの流れを説明してゆきます。他にウィンドウサイズ(自分のバッファのサイズ)やMSSもお互いに教え合っています。1000一度に送ることが可能なセグメント数は、「3」になります。送信側が、セグメントの1、2、3を連続して送信しています。送信側は、パケット3の応答の「ACK=4」を受信すると、今度は、連続してセグメントの4、5、6を連続して送信します。※実際には、受信側が報告してくるウィンドウサイズで変わってきます。個々のセグメントの対するACKの応答を待ってから、次のセグメントを送信するのではなく、一度に複数のセグメントが送信することで効率性を高めています。このようにTCPにおける通信では、ACKの応答を待つことなく一度に複数のセグメント送信することで、フロー制御を行っています。一度に送信できるセグメント数は、ウィンドウサイズによって決まります。このウィンドウサイズは、いつも同じ値というわけではありません。相手先のバッファサイズによって増減します。受信側のバッファサイズは、セグメントを受信すると小さくなりますし、処理が完了すると空き容量が増えてバッファサイズが大きくなります。送信側は、次に、どのセグメントをどれぐらいの数で送信すればよいのかを管理する必要があります。しなければ、たくさんのセグメントを送信して受信側のバッファをあふれさせてしまいかねませんし、逆に送信するセグメント数が少なすぎると効率が悪くなってしまうからです。そこで、TCPでは、次にどのセグメントをどれぐらい送信すればよいのかということを管理するためにスライディングウィンドウという仕組みを使っています。次の「TCPの制御(スライディングウィンドウ)」では、スライディングウィンドウについて説明してゆきます。