ネットワークエンジニア を目指して

ようこそ「ネットワークエンジニアを目指して」へ!!
「ネットワークトラブルに恐れることなく立ち向かえるネットワークエンジニア」へと導くことを信条に、ネットワーク技術の解説とネットワークに関する情報を幅広く紹介します!

ホーム > TCP/IP技術(4) > TCP/UDP - TCPウインドウ制御

TCP/UDP - TCPウインドウ制御

Bookmark this on Hatena Bookmark   

 

ウインドウ制御

TCP ではデータを送信するたびに、ACK による確認応答が必要になるため、
送信するパケットが多ければ通信性能が悪くなってしまいます。

これを解決するための機能がウインドウ制御という機能です。

ウインドウ制御とは「ウインドウ」といわれるバッファを用意して、
大きな単位でデータを転送することで、効率化を実施します。

この「ウインドウ」の大きさを「ウインドウサイズ」といいます。
受信側ノードは送信側ノードにスリーウェイハンドシェイクを実施した時に
ウインドウサイズを伝えます。

もちろん前回説明しましたが、通信の最中にこのサイズは変化します。

□ウインドウサイズを利用したフロー制御

 

ウインドウ制御が無い場合

まず、ウインドウ制御が無い場合のやりとりを見てみましょう。

以下の図のようにウインドウ制御が無い場合は、データを送るごとに ACK
による確認応答を受信するのを待ってから次のデータを送信していきますので、
通信性能がどうしても悪くなってしまいます。

 

ウインドウ制御が無い場合

 

ウインドウ制御がある場合

逆にデータをまとめてより大きなサイズの単位で一度に
転送してしまえば、通信効率が高まります。

 

ウインドウ制御がある場合

 

インドウ制御は送信側ノード、受信側ノードがそれぞれ用意した容量に
納められるだけのデータをまとめて転送します。

受信側ノードでは、受信したデータを順次処理していき、受信できた
セグメントの情報をまとめて ACK による確認応答を送信側ノードへ
送信します。

送信側ノードでは、ACK を確認しながら、欠落したデータの再送を行います。

 

スライディング・ウインドウ

ウインドウ制御でデータをまとめて転送し、Ack の返答があったら
転送したセグメントをウインドウの外に出し、次に転送するセグメントを
ウインドウに入れていきます。

 

Highslide JS

 

このような動作を、ウインドウがスライドしていくように動作することから、
「スライディング・ウインドウ」と呼びます。

 

おすすめ記事

おすすめ書籍紹介

マスタリングTCP/IP 応用編
入門編を卒業したらこちら。
応用編も入門編と同様に豊富な図を使用し、TCP/IPに関するさらに詳細な解説を記している。
特にパッケットの構造はかなり詳細に解説しており、初心者にはすこしつらいかもしれないが非常に読みやすいのでぜひ読んでみてほしい。

インターネットルーティング入門 第2版
ネットワーク初心者の方にぜひおすすめしたい一冊。絵を豊富に使用し、「ルーティングとは」から始まり最後はRIP、BGP、MPLSまで深い解説ではなく、浅く満遍なく解説しています。
この本が理解できればルーティングスキルの第一歩を踏み出せるでしょう。

関連記事

トランスポート層(レイヤ 4)の役割
トランスポート層(レイヤ 4)の役割について

ポート番号
ポート番号について

コネクションとコネクションレス
コネクションとコネクションレスについて

UDP
UDPについて

TCP ヘッダ
TCP ヘッダについて

仮想コネクションの確立
TCP ヘッダについて

ACK による到達確認
TCP ヘッダについて

ウインドウサイズを利用したフロー制御
TCP ヘッダについて

TCPウインドウ制御
TCPウインドウ制御とスライディング・ウインドウについて

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: