演習第7回 情報通信技術論 インターネット工学 様々なTCP2- Reno 演習第7回 情報通信技術論 インターネット工学
TCP Tahoeのウインドウ制御 (復習) ウインドウサイズ 最大ウインドウサイズ パケットロス パケットロス パケットロス ssthresh (閾値) 時刻 (再送) (再送) (再送)
TCP Reno ―早期再送― Tahoeの問題点: パケットロス時にレートを下げすぎる (ウインドウサイズを1にする) 重複ACKによるパケットロス検出時: ACKが返ってくるのだから、混雑の度合いは低いのでは? タイムアウトによるパケットロス検出時: ACKが返ってこないのだから、相当混雑しているのでは? ウインドウサイズを元のウインドウサイズの半分に 輻輳回避段階 早期再送 (fast recovery) ウインドウサイズを1にスロースタート段階 (Tahoeと同様)
TahoeとReno ―ウインドウサイズ― 重複ACKによりパケットロスを 検出した場合 Tahoe ウインドウサイズ 1 Reno ウインドウサイズ半分に タイムアウトによりパケットロスを 検出した場合 Tahoe ウインドウサイズ 1 Reno Reno Reno Tahoe Tahoe
TCPウインドウ制御のまとめ (Reno) ウインドウサイズ 最大ウインドウサイズ パケットロス パケットロス パケットロス ssthresh (閾値) 時刻 (再送) (再送) (再送)
重複ACKの個数が足りない! タイムアウトが発生 再送 Renoの仕組みが効力を発揮しない場合 WS: ウインドウサイズ WS=8 WS=4 WS=5 1を再送 18 送信側 1 2 3 4 5 6 7 8 1 9 10 11 11 12 13 14 15 16 17 19 データ パケット 1がドロップ した場合 ACK 受信側 9 10 11 12 13 14 15 16 17 18 19 21 次は1 1を再送 3を再送 送信側 1 2 3 4 5 6 7 8 1 9 10 タイムアウト 3 データ パケット 1, 3, 4がドロップ した場合 ACK 受信側 10 次は1 次は3 重複ACKの個数が足りない! タイムアウトが発生 再送
Wireless (Including satellite) TCP …… ? どのように信頼性&効率性を両立するか? (効率的な再送とは?) ネットワークの状態に応じて適切なウインドウ(レート)制御をするには どんなアルゴリズムが良いか? それぞれのネットワーク環境特有の問題解決に向けたアプローチとは? Wired Wireless (Including satellite) Ad Hoc TCP Tahoe TCP Reno TCP Newreno TCP SACK TCP Vegas ECN HighSpeed TCP FAST TCP Hamilton-TCP Scalable TCP BIC-TCP CUBIC-TCP TCP Aflica MulTCP Adaptive-TCP LTCP Hybla TCP-Peach TCP-Westwood Freeze-TCP ILC-TCP JTCP TCP Veno TCP-Casablanca TCP-DCR TCP-Jersey TCP-Probing TCP-Santa Cruz Delayed Duplicate ACK I-TCP M-TCP METP Snoop ELN EBSN BA-TCP Ad hoc TCP DelAck ELFN TCP-ADA TCP-DOOR TCP-Feedback TCP-Bus Fixed RTO Split TCP DDA
実験2-2 4 FTP/TCP 2 3 1 5 25Mbps 5ms 25Mbps 5ms FTP ダウンロード TCP Agent 4 FTP/TCP 25Mbps 5ms 25Mbps 5ms 2 3 帯域: Bw 遅延: d 1 5 FTP ダウンロード TCP Agent TCPSink Agent ネットワーク ルータ ネットワーク