情報通信技術論/インターネット工学
Download
Report
Transcript 情報通信技術論/インターネット工学
様々なTCP1-Tahoe
演習第6回
情報通信技術論
インターネット工学
情報通信技術論/インターネット工学
ウインドウ制御
ウインドウサイズを変化させてレート調節を行う
ウインドウサイズ = 1セグメント の場合
ウインドウサイズ = 4セグメント の場合
シーケンス番号
シーケンス番号
1
2
3
1234
送信側
56 7 8
9101112
送信側
データ
パケット ACK
受信側
ACK番号
データ
パケット ACK
次
は
次
は
次
は
2
3
4
受信側
ACK番号
次次次次
はははは
次次次次
はははは
次
は
2345
6789
10
1
情報通信技術論/インターネット工学
ウインドウサイズ制御
ルール1
– 送信側で算出したウインドウサイズ(輻輳ウインドウサイズ)と
受信側のバッファサイズ(最大ウインドウサイズ)を比較して、
小さい値を送信ウインドウサイズとして通信する
送信ウインドウサイズ = min(輻輳ウインドウサイズ, 最大ウインドウサイズ)
ルール2
– ネットワークが混雑(輻輳)するまでは、輻輳ウインドウサイズを
増加させる。
通信開始時はネットワークの状態がわからないため、
小さい輻輳ウインドウサイズで送信し、以降どんどん大きくしていく。
ある程度の輻輳ウインドウサイズになったら、少しずつ大きくしていく。
– 混雑し始めたら、すぐに輻輳ウインドウサイズを減少させる。
2
情報通信技術論/インターネット工学
TCP ― ウインドウサイズの変化
最大ウインドウサイズ(rwnd) = 8セグメント の場合
– 理想的な場合
RTT
RTT: Round Trip Time
送信側
データ
パケット ACK
受信側
理論的
最大スループット [Mbps]
rwnd [bytes]
RTT [s]
※ byte = 8 bits
– 現実
ウインドウサイズを変化させて送信レートを調節
– スロースタート段階
– 輻輳回避段階
3
情報通信技術論/インターネット工学
スロースタート段階
–Slow Start Phase–
最初から大量にデータ送信ネットワークが急激に混雑
ウインドウサイズ
1
2
4
8
16
送信側
データ
パケット ACK
受信側
しかし、このまま続けるとウインドウサイズが指数的に増加
どうする?
4
情報通信技術論/インターネット工学
輻輳回避段階
–Congestion Avoidance Phase–
輻輳ウインドウサイズがある閾値を超えたら…
スロースタート閾値 (ssthresh: slow start threshold)
ウインドウサイズ
1
2
4
8
9
10
11
送信側
データ
パケット ACK
受信側
この場合、ssthresh = 8
ウインドウサイズを線形的に増加
5
情報通信技術論/インターネット工学
ウインドウサイズの変化
送信側で算出した
輻輳ウインドウサイズ
ウインドウサイズ
ssthresh (閾値)
指数的増加
線形的増加
最大ウインドウサイズ
送信ウインドウサイズ
時刻
スロースタート
輻輳回避
ルール1: 送信ウインドウサイズ = min(輻輳ウインドウサイズ, 最大ウインドウサイズ)
6
情報通信技術論/インターネット工学
ウインドウサイズの変化
送信側で算出した
輻輳ウインドウサイズ
ウインドウサイズ
最大ウインドウサイズ
ssthresh (閾値)
指数的増加
線形的増加
送信ウインドウサイズ
時刻
スロースタート
輻輳回避
ルール1: 送信ウインドウサイズ = min(輻輳ウインドウサイズ, 最大ウインドウサイズ)
7
情報通信技術論/インターネット工学
ネットワークが混雑している場合
• 重複ACKを3つ受信
• タイムアウト
パケットが廃棄された (と判断)
ネットワークが混雑(輻輳)?
輻輳ウインドウサイズを1に減少スロースタート段階
ssthreshを(元の)送信ウインドウサイズの半分に
ウ
イ
ン
ド
ウ
サ
イ
ズ
ssthresh (old)
ウ
イ
ン
ド
ウ
サ
イ
ズ
=
ssthresh
=
時刻
ssthresh (old)
=
ssthres
h
=
時刻
8
情報通信技術論/インターネット工学
TCPウインドウ制御のまとめ (Tahoe)
ウインドウサイズ
最大ウインドウサイズ
パケットロス
パケットロス
パケットロス
ssthresh
(閾値)
時刻
(再送) (再送)
(再送)
9
情報通信技術論/インターネット工学
実験2-1
0
25Mbps
5ms
4
FTP/TCP
2
帯域: Bw
3
25Mbps
5ms
遅延: d
5
1
FTP
ダウンロード
TCP Agent
TCPSink Agent
ネットワーク
ルータ
ネットワーク
10