TCP/IP
のウィンドウ制御
修士
2
年
森田
亙昭
TCP
の欠点
•
信頼性
:
高
、転送速度
:
低
ホスト
A
ホスト
B
時間
データ
確認応答
パケットの往復時間が長いほど
スループットが悪くなる
ウィンドウ制御で速度向上
ウィンドウ制御
•
より大きな単位
で確認応答
ホスト
A
ホスト
B
時間
データ
確認応答
ウィンドウ
パケットの往復時間が長くても
スループットを大きく出来る
スライディング・ウィンドウ方式
•
ウィンドウサイズ
で送信データの量を決定
12
34567
89
1
0
ウィンドウサイズ
4
の場合
受取り手
送り手
12
34567
89
1
0
送り手
12
34567
89
1
0
送り手
12
34567
89
1
0
送り手
123456789
1
0
送り手
確認応答
パケットロスへの対処
•
信頼性が低下
?
•
確認応答が失われた場合
ホスト
A
ホスト
B
データ
確認応答
1234
567
×
×
8
9
10
11
後に送った方の確認応答で
前に送った分も
OK
とする
再送制御1
一定時間に受信側から確認応答が帰ってこない場合は
、タイムアウトとして同じデータの再送を行う
ホスト
A
ホスト
B
データ
確認応答
1
3
4
5
2
×
6
7
2
タイムアウトによる再送制御
8
ACK=2
ACK=5
ACK=3
がこないまま
タイムアウト
タイムアウトの場合は、ひどい輻輳
と判断
タイムアウトのパケット以降を全て
再送
3
4
再送制御2
ホスト
A
ホスト
B
データ
確認応答
1
3
4
5
2
6
2
×
ACK=2
ACK=5
(4
まで受取済
)
7
8
同じ確認応答を3回受信する
と、送信失敗と判断し再送
重複
ACK
による再送制御
落ちたパケットのみを再送
軽度のパケットロス(1,2個程度)に有効
これ以上のロスが生じ
ると、
ACK
が重複せず、タイムアウトにな
る
再送制御の比較
タイムアウト
タイムアウト値(
R
T
O
)は、
往復遅延時間(
R
TT
)により決定
R
T
O
=
R
TT
の平均値+
k
・
R
TT
の分散
重複
ACK
タイムアウトより高速
ウィンドウサイズが十分に大きい
パケットロスは1~
2
個
条件:
ホスト
A
ホスト
B
データ
確認応答
1
3
4
5
2
6
2
×
2
を要求
5
を要求
7
8
ホスト
A
ホスト
B
データ
確認応答
1
3
4
5
6
2
×
7
8
2
3
回待っても、タイムアウトによる再送制御より速い
3
4