/TCPのウィンドウ制御を見てみる2017.03.30TCPのウィンドウ制御を見てみるTweetPocketTCPではデータをセグメントと呼ぶ単位に分けて転送します。セグメントの受け渡しには、確認のやり取りをすることで、信頼性を高めています。今回は高信頼性と高効率な通信のために用いられるTCPのウィンドウ制御を見ていきます。はじめにクライアント:mac(192.168.10.2)サーバ:mio.yokohama(202.181.99.77)クライアントからサーバへのHTTPリクエストパケットをクライアント側のwiresharkでキャプチャします。確認応答という言葉を使っていますが、ACKと同じ意味です。図はTCPでAliceからBobにデータを送る例です。セグメントごとに受信の確認応答を送信しています。そのため、下の図のように、途中で送信エラーが発生した場合でも、送信失敗を検知して再送処理を行うことで高い信頼性を実現しています。このように確認応答を行う場合、送信側がセグメントを送信するたび受信側が確認応答を返す必要があり非効率です。そこで確認応答を待たずにセグメントを送信する仕組みがTCPウィンドウ制御です。セグメント3つに対して確認応答が1つで済むので通信容量の効率化につながります。この方法ではセグメントを3つ送信した後、確認応答が返ってくるのを待つ必要があります。そこでスライディングウィンドウをいう技術を使います。スライディングウィンドウスライディングウィンドウは通信を確立した時に決めておいたウィンドウサイズの範囲内で、最後に確認応答を受け取ってから連続してセグメントを送信する技術です。送信側は最後に確認応答を受け取るごとに送信できるセグメントサイズが更新され送信し続けることができます。Cisco・アライド実機で学ぶ|TCPの制御(フロー制御・ウィンドウサイズ)その2TweetPocketネットワークネットワークSNSでもご購読できます。*メールアドレス(公開はされません。PRサイトの運営に役立てられます。