TCPメッセージセグメントおよび混雑ウィンドウcwndの理解訂正について
3293 ワード
@(コンピュータネットワーク)
一般的な輻輳制御アルゴリズムでは,初期メッセージセグメントMSS=1 KBのようなRTT輻輳ウィンドウ毎の変化に常に注目し,遅い開始段階での成長法則は1→2→4→8…1\rightarrow 2\rightarrow 4\rightarrow 8...1→2→4→8...
この指数級成長の法則は簡潔に使われている.しかし、なぜ指数級なのか、cwndがどのように成長しているのか、さっきまで意識していました.
多くのテーマで告知されているのは、各セグメントを確認し、各セグメントに注意することです.では、確認するときは、必ず現在のrwndの大きさを教えてくれます.では、この時点のcwndの成長は粗粒度ではなく、確認を受けるたびに、cwndにMSSを追加します.
データリンク層のRTTは往復遅延であり、TCP中のRTTは伝送ホイールである.現在の送信ウィンドウがすべて発行され、すべて確認されます.
したがって、現在の送信ウィンドウが4であると仮定すると、全てが発行されてから全てが確認する、その時点でもスロースタート段階であることは、1つのRTT後の送信ウィンドウサイズが8であることを意味する.
具体的な手順は次のとおりです.第1段の確認が戻ってきて、送信ウィンドウ=4+1=5; 第2段の確認が戻ってきて、送信ウィンドウ=5+1=6; 第3段の確認が戻ってきて、送信ウィンドウ=6+1=7; 第4段の確認が戻ってきて、送信ウィンドウ=7+1=8;
だから1つの比較的に細かい過程は1つのMSSに対して1つのMSSに対して成長したのです.
ゲート値に達すると、1つのRTTが1つのMSSを増加し、1つのセグメントの確認を受けるたびに1つのMSSを追加するほど速くはありません.
テーマを分析します.
(2016.41)H 3はホストSとTCP接続を確立し、Sの受信キャッシュは20 KBであり、Sは受信した各セグメントを確認し、新しい受信ウィンドウ(rwnd)を通知する.最大セグメント長MSS=1 KB,平均往復時間RTT=200 msであった.H 3は、MSSサイズのセグメントでSにデータを送信し続ける.混雑ウィンドウの初期値閾値は32 KBである.Sの受信キャッシュのデータは入力のみでは取り出せない.
(2)H 3が8番目の確認フレームを受信したときに通知された受信ウィンドウはどのくらいであるか.このときH 3の混雑窓口はいくらですか?H 3の送信窓口は何番ですか?
分析:まずこのテーマだけに注目します.
ここで初期時には
受信キャッシュは
もちろん、1段ずつ確認するごとに1が加算されるので、8段とも確認する、cwnd=1+8=9 KBである.
問題はもっと細かいところまで考察するので、大まかな理論だけを身につけるのは半瓶酢で、まったく役に立たない.注意深く開拓し、知識点間の関係を深める必要がある.
2016.12.12 update:
前に穴を掘ったのを見て、解決すべき問題は今補充して説明します.
前述した**
TCPにおける往復遅延は,各メッセージセグメントが発行された時間と,対応する確認メッセージセグメントが受信された時間を記録する.2つの時間差は、メッセージセグメントの往復遅延です.
各メッセージセグメントの往復遅延を重み付けして平均すると、メッセージセグメントの平均往復遅延が得られる.平均値を計算するのは,TCPアーキテクチャがインターネット環境下でRTTの変化範囲が大きいため,平均方式を採用するとより適応性があるからである.
計算式には一般的なものがある:RTT=(1−α)RTT旧+αRTT新RTT=(1-alpha)RTT_旧+alpha RTT_新規RTT=(1−α)RTT旧+αRTT新
このRTTもRTO(タイムアウトタイマ再送時間)の比較基準として、RTOはRTTよりやや大きければよい.
特に補足する必要があるのは,伝送ホイールの理解である.遅い開始段階では、指数成長段階であり、1つの伝送ホイールを通過するたびに、混雑ウィンドウcwndが倍増する.これはよく知っています.詳細については、前述したように、TCPは各セグメントを確認する.従って成長はRTTを1時間単位としてジャンプするのではなく,離散的であるが近似的に連続的な成長である.RTTの定義によれば、このメッセージセグメントの確認を受信するまで、メッセージセグメントの開始時間を送信する.この推論に従えば,送信ウィンドウの1つのメッセージセグメントが秒表を押下し,その確認が戻ってくるまで時計を押下し,時間差が得られることが考えられる.これは定義通りRTTです.その確認メッセージを待っているうちに、送信ウィンドウの残りのメッセージも続々と出発し、これが続々と出発して一定の時間を消費していると仮定すると、最後の確認メッセージが戻ってきたときに、この転送が終了したことを示すと、総経験時間はRTTよりも大きくなっている.Butは、多くの本の定義に基づいています.
1つの伝送回数が経験する時間は、実は往復時間RTTである.
しかし、これは決して等号ではなく、せいぜい近似値であることがわかります.連続送信時間が極めて短い場合、最初のメッセージと最後のメッセージを送信する時間は無視され、最初のメッセージが目的地に到着したとき、2番目のメッセージも後に続くので、「ほとんど」は、1つの伝送ホイールの使用時間がRTTに等しいと考えることができる.
より厳密な導出はまだあまり見たことがありませんが、伝送ホイールがRTTであると考えれば問題を簡略化することができます.
END.
一般的な輻輳制御アルゴリズムでは,初期メッセージセグメントMSS=1 KBのようなRTT輻輳ウィンドウ毎の変化に常に注目し,遅い開始段階での成長法則は1→2→4→8…1\rightarrow 2\rightarrow 4\rightarrow 8...1→2→4→8...
この指数級成長の法則は簡潔に使われている.しかし、なぜ指数級なのか、cwndがどのように成長しているのか、さっきまで意識していました.
多くのテーマで告知されているのは、各セグメントを確認し、各セグメントに注意することです.では、確認するときは、必ず現在のrwndの大きさを教えてくれます.では、この時点のcwndの成長は粗粒度ではなく、確認を受けるたびに、cwndにMSSを追加します.
データリンク層のRTTは往復遅延であり、TCP中のRTTは伝送ホイールである.現在の送信ウィンドウがすべて発行され、すべて確認されます.
したがって、現在の送信ウィンドウが4であると仮定すると、全てが発行されてから全てが確認する、その時点でもスロースタート段階であることは、1つのRTT後の送信ウィンドウサイズが8であることを意味する.
具体的な手順は次のとおりです.
だから1つの比較的に細かい過程は1つのMSSに対して1つのMSSに対して成長したのです.
ゲート値に達すると、1つのRTTが1つのMSSを増加し、1つのセグメントの確認を受けるたびに1つのMSSを追加するほど速くはありません.
テーマを分析します.
(2016.41)H 3はホストSとTCP接続を確立し、Sの受信キャッシュは20 KBであり、Sは受信した各セグメントを確認し、新しい受信ウィンドウ(rwnd)を通知する.最大セグメント長MSS=1 KB,平均往復時間RTT=200 msであった.H 3は、MSSサイズのセグメントでSにデータを送信し続ける.混雑ウィンドウの初期値閾値は32 KBである.Sの受信キャッシュのデータは入力のみでは取り出せない.
(2)H 3が8番目の確認フレームを受信したときに通知された受信ウィンドウはどのくらいであるか.このときH 3の混雑窓口はいくらですか?H 3の送信窓口は何番ですか?
分析:まずこのテーマだけに注目します.
cwnd
の変化曲線を粗粒度で把握するだけでは、この問題は袋小路に陥るだろう.cwnd
、MSS
、MSS
の成長を理解してこそ、正確に解くことができる.ここで初期時には
1KB
が送信、受信キャッシュが受信後、確認フレームはH3: rwnd = 19
に通知する.1つのRTT
が送信2KB
は、受信キャッシュが受信後、確認フレームがH3: rwnd = 17
に通知する.2つのRTT
が送信4KB
は、受信キャッシュが受信後、確認フレームがH3: rwnd = 13
に通知する.受信キャッシュは
7KB
を受信し、7つの確認を送信したため、次は1つの送信シーケンスで計算されないことに注意してください.7つの確認フレームが戻ってきて、1つのcwnd+1
が戻ってくるたびに、7つが戻ってきて+7になります.8番目のセグメントが過去に送信ときcwnd=8、受信キャッシュは8番目のセグメントが併存することを受信し、rwnd=12、8番目の確認フレームはH 3に戻り、cwndはまた1を加えて9になる.もちろん、1段ずつ確認するごとに1が加算されるので、8段とも確認する、cwnd=1+8=9 KBである.
= min(cwnd, rwnd) = min(12KB, 9KB) = 9KB
.問題はもっと細かいところまで考察するので、大まかな理論だけを身につけるのは半瓶酢で、まったく役に立たない.注意深く開拓し、知識点間の関係を深める必要がある.
2016.12.12 update:
前に穴を掘ったのを見て、解決すべき問題は今補充して説明します.
前述した**
TCP
のRTT
は、データリンク層のRTT
**とは異なり、確かに定義は異なるが、特に大きな違いではない.少なくとも往復遅延であり、時間の計測である.TCPにおける往復遅延は,各メッセージセグメントが発行された時間と,対応する確認メッセージセグメントが受信された時間を記録する.2つの時間差は、メッセージセグメントの往復遅延です.
各メッセージセグメントの往復遅延を重み付けして平均すると、メッセージセグメントの平均往復遅延が得られる.平均値を計算するのは,TCPアーキテクチャがインターネット環境下でRTTの変化範囲が大きいため,平均方式を採用するとより適応性があるからである.
計算式には一般的なものがある:RTT=(1−α)RTT旧+αRTT新RTT=(1-alpha)RTT_旧+alpha RTT_新規RTT=(1−α)RTT旧+αRTT新
このRTTもRTO(タイムアウトタイマ再送時間)の比較基準として、RTOはRTTよりやや大きければよい.
特に補足する必要があるのは,伝送ホイールの理解である.遅い開始段階では、指数成長段階であり、1つの伝送ホイールを通過するたびに、混雑ウィンドウcwndが倍増する.これはよく知っています.詳細については、前述したように、TCPは各セグメントを確認する.従って成長はRTTを1時間単位としてジャンプするのではなく,離散的であるが近似的に連続的な成長である.RTTの定義によれば、このメッセージセグメントの確認を受信するまで、メッセージセグメントの開始時間を送信する.この推論に従えば,送信ウィンドウの1つのメッセージセグメントが秒表を押下し,その確認が戻ってくるまで時計を押下し,時間差が得られることが考えられる.これは定義通りRTTです.その確認メッセージを待っているうちに、送信ウィンドウの残りのメッセージも続々と出発し、これが続々と出発して一定の時間を消費していると仮定すると、最後の確認メッセージが戻ってきたときに、この転送が終了したことを示すと、総経験時間はRTTよりも大きくなっている.Butは、多くの本の定義に基づいています.
1つの伝送回数が経験する時間は、実は往復時間RTTである.
しかし、これは決して等号ではなく、せいぜい近似値であることがわかります.連続送信時間が極めて短い場合、最初のメッセージと最後のメッセージを送信する時間は無視され、最初のメッセージが目的地に到着したとき、2番目のメッセージも後に続くので、「ほとんど」は、1つの伝送ホイールの使用時間がRTTに等しいと考えることができる.
より厳密な導出はまだあまり見たことがありませんが、伝送ホイールがRTTであると考えれば問題を簡略化することができます.
END.