Jump to content

HSTCP: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
short desc
Algorithm: disambig
 
(One intermediate revision by one other user not shown)
Line 7: Line 7:


==Algorithm==
==Algorithm==
When an [[ACK (TCP)|ACK]] is received (in [[TCP congestion avoidance algorithm|congestion avoidance]]), the window is increased by <math>a(w)/w</math> and when a loss is detected through triple duplicate acknowledgments, the window is decreased by <math>(1-b(w))w</math>, where w is the current window size. When the congestion window is small, HSTCP behaves exactly like standard TCP so a(w) is 1 and b(w) is 0.5. When TCP's congestion window is beyond a certain threshold, a(w) and b(w) become functions of the current window size. In this region, as the congestion window increases, the value of a(w) increases and the value of b(w) decreases. This means that HSTCP's window will grow faster than standard TCP and also recover from losses more quickly. This behavior allows HSTCP to be friendly to standard TCP flows in normal networks and also to quickly utilize available bandwidth in networks with large [[bandwidth-delay product|bandwidth delay products]].
When an [[ACK (TCP)|ACK]] is received (in [[TCP congestion avoidance algorithm|congestion avoidance]]), the window is increased by <math>a(w)/w</math> and when a loss is detected through triple duplicate acknowledgments, the window equals <math>(1-b(w))w</math>, where w is the current window size. When the congestion window is small, HSTCP behaves exactly like standard TCP so a(w) is 1 and b(w) is 0.5. When TCP's congestion window is beyond a certain threshold, a(w) and b(w) become functions of the current window size. In this region, as the congestion window increases, the value of a(w) increases and the value of b(w) decreases. This means that HSTCP's window will grow faster than standard TCP and also recover from losses more quickly. This behavior allows HSTCP to be friendly to standard TCP flows in normal networks and also to quickly utilize available bandwidth in networks with large [[bandwidth-delay product|bandwidth delay products]].


HSTCP has the same [[slow start]]/timeout behavior as standard TCP.
HSTCP has the same [[TCP congestion control#Slow start|slow start]]/timeout behavior as standard TCP.


Since only the congestion control mechanism is modified, HSTCP can be used with other TCP options like [[retransmission (data networks)#SACK|SACK]]. In real implementations, determining the increase and decrease parameters given a current window size is implemented as a lookup table.
Since only the congestion control mechanism is modified, HSTCP can be used with other TCP options like [[retransmission (data networks)#SACK|SACK]]. In real implementations, determining the increase and decrease parameters given a current window size is implemented as a lookup table.


==See also==
==See also==

Latest revision as of 19:42, 8 September 2022

HighSpeed TCP (HSTCP) is a congestion control algorithm protocol defined in RFC 3649 for Transport Control Protocol (TCP). Standard TCP performs poorly in networks with a large bandwidth-delay product. It is unable to fully utilize available bandwidth. HSTCP makes minor modifications to standard TCP's congestion control mechanism to overcome this limitation.

Algorithm

[edit]

When an ACK is received (in congestion avoidance), the window is increased by and when a loss is detected through triple duplicate acknowledgments, the window equals , where w is the current window size. When the congestion window is small, HSTCP behaves exactly like standard TCP so a(w) is 1 and b(w) is 0.5. When TCP's congestion window is beyond a certain threshold, a(w) and b(w) become functions of the current window size. In this region, as the congestion window increases, the value of a(w) increases and the value of b(w) decreases. This means that HSTCP's window will grow faster than standard TCP and also recover from losses more quickly. This behavior allows HSTCP to be friendly to standard TCP flows in normal networks and also to quickly utilize available bandwidth in networks with large bandwidth delay products.

HSTCP has the same slow start/timeout behavior as standard TCP.

Since only the congestion control mechanism is modified, HSTCP can be used with other TCP options like SACK. In real implementations, determining the increase and decrease parameters given a current window size is implemented as a lookup table.

See also

[edit]

References

[edit]
[edit]