7月16日(水)1コマ目
今日、やったこと
- TCPヘッダのウィンドウサイズ
- スライディングウィンドウ
今日のホワイトボード
TCPヘッダのウィンドウサイズ
パケットを受信すると、すぐに処理せずに、一旦メモリ上に保存する。
このメモリエリアのことをバッファと呼んだりする。
バッファが空いている限り、パケットは受信可能。そこで、 相手に空きバッファサイズを伝えて、受信応答を待たずに連続送信を可能にしている。
空きバッファサイズはTCPヘッダ内のウィンドウサイズで伝える。
![]() |
| 図 受信パケット用バッファと空きバッファを通知するためのウィンドウサイズ |
実際のパケットで確認①
下図のように、②で通知したウィンドウサイズ5840バイトまでは受信応答を待たずに連続送信できる。
④で1450バイト、⑤で171バイトを受信応答を待たずに連続送信。
![]() |
| 図 連続送信の例1 |
実際のパケットで確認②
下図では、受信データサイズ分だけ通知するウィンドウサイズが減っている。
![]() |
| 図 空きバッファサイズの通知 |
- 始めは少な目 => 大量受信を防ぐ
- 徐々に増やす => 効率アップ
とちょっとずつバッファサイズを増やしていく。
ただ、OSやPCの利用状況によって、異なる。
スライディングウィンドウ
送信側は相手から伝えられるウィンドウサイズまでは連続送信可能。
何バイト目までデータ送信可能かを「スライディングウィンドウ」と呼ばれる仕組みを使って管理。
![]() |
| 図 スライディングウィンドウ |
受信パケットの
- 確認応答番号がウィンドウの開始位置
- ウィンドウサイズがウィンドウのサイズ
で、ウィンドウの位置、大きさをコントロール。
このウィンドウが空いている部分が送信可能なデータ。
次回は
今日の内容の練習問題。
その次にテストをします。



