TCP では信頼性を向上させるために以下の 3 つの技術を採用しています。
今回は最後の「ウインドウサイズを利用したフロー制御」について
解説していきましょう。
3 ウェイハンドシェイクで仮想コネクションを確立し、
データの送信中は ACK パケットを使用して到達確認を実施する。
これだけでも、かなりの信頼性向上になっているわけですが、
TCP ではさらにもう 1 つの機能を利用して信頼性向上を図っています。
それは送信するデータ量。
以下のように送信側ノードがむやみにデータを送信した場合、
受信側ノードのデータ処理能力が低く、すべてのデータを受信できない
可能性が発生してしまいます。
このような状態が続けば、当然通信の信頼性は落ちてしまいます。
そのため受信側ノードの処理能力を考慮しつつ、最適なデータサイズを
送信する機能が必要になります。
この機能を「フロー制御」と呼びます。
送信するデータのサイズは、何の情報で最適化されるのでしょうか?
それは「ウィンドウサイズ」を使用して最適化を行っています。
一度に受信できるデータのサイズを「ウインドウサイズ」と呼び、
送信側ノードは受信側ノードあら通知されるウインドウサイズに
従って、送信するデータのサイズを調整しています。
受信側ノードがどのようにウインドウサイズを通知するかと
いいますと、データを受信するたびに返信する ACK パケットに
ウインドウサイズを盛り込んで通知しているのです。
もし、受信側で処理できなくなった場合は、ウインドウサイズを「0」
にして ACK パケットを送信します。
すると、送信側ノードはデータの送信を中断します。
受信側ノードでデータ受信が出来る状態になると、改めて ACK パケット
を送信することで、データ送信が再開されます。
トランスポート層(レイヤ 4)の役割
トランスポート層(レイヤ 4)の役割について
ポート番号
ポート番号について
コネクションとコネクションレス
コネクションとコネクションレスについて
UDP
UDPについて
TCP ヘッダ
TCP ヘッダについて
仮想コネクションの確立
TCP ヘッダについて
ACK による到達確認
TCP ヘッダについて
ウインドウサイズを利用したフロー制御
TCP ヘッダについて
TCPウインドウ制御
TCPウインドウ制御とスライディング・ウインドウについて
ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!
これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。
もちろん無料です!!
↓メールマガジン購読はこちら↓