「Transmission Control Protocol」の版間の差分

削除された内容 追加された内容
Iwadon (会話 | 投稿記録)
m 句読点の重複を修正しました。
227行目:
広帯域ネットワークをより効率的に使うには、TCPウィンドウのサイズを大きくする必要がある。TCPヘッダのウィンドウサイズのフィールドは16ビットで、2バイトから65,535バイトまでしか設定できない。
 
ウィンドウサイズ・フィールドは拡張できないので、[[スケールファクタ]]が導入されている。RFC 1323 で定義されているウィンドウスケール・オプションを使えば、最大ウィンドウサイズを 65,535 バイトから 1 ギガバイトに拡張できる。ウィンドウサイズのスケールアップはTCPのチューニング ([[:en:TCP Tuning|en]]) に必須の要素である。
 
ウィンドウスケール・オプションは3ウェイ・ハンドシェイクの際にしか使われない。ウィンドウスケール・オプションのオプション値は、16ビットのウィンドウサイズ・フィールドの値を左にシフトするビット数を表している。ウィンドウスケールの値は0(シフトしない)から14まで指定でき、通信の双方向で別々に設定できる。どちらの方向もSYNセグメントのオプションとして通知する。
 
一部の[[ルーター]]や[[ファイアーウォール]]は、このスケールファクタを転送時に書き換えることがある。すると送信側と受信側でウィンドウサイズの認識が異なることになり、トラフィックが不安定になって、非常に低速になることがある<ref>[http://lwn.net/Articles/92727/ TCP window scaling and broken routers] lwn.net</ref>。
 
=== TCPタイムスタンプ ===