|
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)
|
|
|