ウィンドウ制御 【window control】
概要
ウィンドウ制御(window control)とは、ニ地点間でデータの流れを制御するフロー制御の手法の一つで、メモリ上に「ウィンドウ」(window)と呼ばれるバッファ領域を確保して、大きな単位でデータを転送する方式。インターネットで標準的に用いられるTCP(Transmission Control Protocol)などで採用されている。通常、TCPのようなコネクション型通信ではデータを「セグメント」(segment)などの小さな単位に分割し、一つ一つのセグメントごとに順番に転送要求、送信、受信、確認応答という手順を繰り返していく。この方式は確実性は高いが、前のセグメントの受信確認が到着するまで次のセグメントを送り出せないため、無通信の時間が多くなり効率が悪いというデメリットがある。
ウィンドウ制御では、セグメントをまとめてより大きなサイズの単位として一度に転送することで、より通信効率を高めている。送信側、受信側がそれぞれ用意したウィンドウの容量(ウィンドウサイズ)に収められるだけのセグメントをまとめて転送する。受信側はウィンドウに届いたデータを順次処理していき、受信できたセグメントの情報を確認応答として送信側に送る。送信側は応答を見ながら、欠落したセグメントの再送などを行う。
ウィンドウの大きさはコンピュータのメモリ容量や処理能力に依存するため、オペレーティングシステム(OS)の初期設定ではどんな性能のコンピュータでも正常に動作するよう、小さめの値になっていることが多い。このため、最新のコンピュータを購入した時などには、ネットワーク設定ツールなどを使って「受信ウィンドウサイズ」(RWIN)を拡大することで、通信速度が向上する場合がある。
(2024.6.25更新)