|
Short-coming:
|
|
|
|
|
W(tγ) = γ tγ ----- RTT ==> 2 = γ tγ <==> ----- = log2(γ) RTT <==> tγ = RTT × log2(γ) |
|
|
RTT sec |<-------------------------------->| W(t) packets ---+----------------------------------+--------- \ / (ACKs) \ / W(t) segments en route to destination |
|
|
(We don't need to be very precise, we only need a ball park figure)
W(t) B(t) = ------ RTT
TCP switches over to Congestion Avoidance at t = tγ / tγ\ |---| \RTT/ -1 + 2 T(tγ) = ----------- ....... (5) ln(2) From: γ = 2tγ/RTT ...... (3) We have: -1 + γ T(tγ) = ----------- ...... (6) ln(2) Congestion Avoidance phase: ============================== t - tγ W(t) = ------- + γ for t ≥ tγ RTT t - tγ γ B(t) = ------- + ------ for t ≥ tγ RTT2 RTT 0∫t B(t) dt = 0∫tγ B(t) dt + tγ∫t B(t) dt (Use Eq. (6)) = T(tγ) + tγ∫t B(t) dt -1 + γ = --------- + tγ∫t B(t) dt ln(2) -1 + γ = --------- + tγ∫t { [(t - tγ)/RTT2] + γ/RTT } dt ln(2)
|
(This relationship between T(t) and W(t) is similar to the relationship between velocity and distance traveled:)
|
|
RTT ρ = ------ RTT0 |
where RTT0 is some pre-determined round trip time (e.g., 25 msec).
|
|
where
|
+-- | RTT | ρ 2(ρ*t/RTT) = ----- 2(t/RTT0) . . . . . . . . (SS) | RTT0 | WH(t) = | | | t - tγ,0 RTT t - tγ,0 | ρ ( ρ ---------- + γ ) = ----- ( --------- + γ ) . . . . (CA) | RTT RTT0 RTT0 +-- |
|
|
|
+-- | 1 | = ----- 2(t/RTT0) . . . . . (SS) | RTT0 | WH(t) | BH(t) = ----- | RTT | | | 1 t - tγ,0 | = ----- ( --------- + γ ) . . . . (CA) | RTT0 RTT0 +-- |
You can see that the throughput function of Hybla TCP is INDEPENDENT of RTT
|
|
+-- | WHi + α . . . . (during SS) | WHi+1 = | | | WHi + β . . . . (during CA) +-- |
such that:
|
I.e.:
+-- | WHi + 2ρ - 1 . . . . (SS) | WHi+1 = | | ρ2 | WHi + ----- . . . . (CA) | WHi +-- |
with WH0 = ρ (initial CWND at slow start)
In a homework,
you can verify
this fact
(it's a lot easier to verify the correctness of a solution
than to find a solution)
|
|