![]() |
![]()
ホーム > TCP/IP技術(4) > TCP/UDP - TCPウインドウ制御
マスタリングTCP/IP 応用編
入門編を卒業したらこちら。
応用編も入門編と同様に豊富な図を使用し、TCP/IPに関するさらに詳細な解説を記している。
特にパッケットの構造はかなり詳細に解説しており、初心者にはすこしつらいかもしれないが非常に読みやすいのでぜひ読んでみてほしい。
詳解TCP/IP〈Vol.1〉プロトコル
これも 必読中の必読書。
TCP/IPアーキテクチャを、実際にネットワークを組んで通信の動きを観察するという方法で書かれている。
本書に構成されているネットワークは単純なので、実際に同じ構成を組んで実機をいじりながら読み進めると非常に効果的に学ぶことが出来ると思います。
TCP ではデータを送信するたびに、ACK による確認応答が必要になるため、
送信するパケットが多ければ通信性能が悪くなってしまいます。
これを解決するための機能がウインドウ制御という機能です。
ウインドウ制御とは「ウインドウ」といわれるバッファを用意して、
大きな単位でデータを転送することで、効率化を実施します。
この「ウインドウ」の大きさを「ウインドウサイズ」といいます。
受信側ノードは送信側ノードにスリーウェイハンドシェイクを実施した時に
ウインドウサイズを伝えます。
もちろん前回説明しましたが、通信の最中にこのサイズは変化します。
まず、ウインドウ制御が無い場合のやりとりを見てみましょう。
以下の図のようにウインドウ制御が無い場合は、データを送るごとに ACK
による確認応答を受信するのを待ってから次のデータを送信していきますので、
通信性能がどうしても悪くなってしまいます。
逆にデータをまとめてより大きなサイズの単位で一度に
転送してしまえば、通信効率が高まります。
インドウ制御は送信側ノード、受信側ノードがそれぞれ用意した容量に
納められるだけのデータをまとめて転送します。
受信側ノードでは、受信したデータを順次処理していき、受信できた
セグメントの情報をまとめて ACK による確認応答を送信側ノードへ
送信します。
送信側ノードでは、ACK を確認しながら、欠落したデータの再送を行います。
ウインドウ制御でデータをまとめて転送し、Ack の返答があったら
転送したセグメントをウインドウの外に出し、次に転送するセグメントを
ウインドウに入れていきます。
このような動作を、ウインドウがスライドしていくように動作することから、
「スライディング・ウインドウ」と呼びます。
ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!
これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。
もちろん無料です!!
↓メールマガジン購読はこちら↓
トランスポート層(レイヤ 4)の役割
トランスポート層(レイヤ 4)の役割について
ポート番号
ポート番号について
コネクションとコネクションレス
コネクションとコネクションレスについて
UDP
UDPについて
TCP ヘッダ
TCP ヘッダについて
仮想コネクションの確立
TCP ヘッダについて
ACK による到達確認
TCP ヘッダについて
ウインドウサイズを利用したフロー制御
TCP ヘッダについて
TCPウインドウ制御
TCPウインドウ制御とスライディング・ウインドウについて