H-TCP

H-TCP is another implementation of TCP with an optimized congestion control algorithm for high speed networks with high latency (LFN: Long Fat Networks). It was created by researchers at the Hamilton Institute in Ireland.

H-TCP is an optional module in recent Linux 2.6 kernels, and has been implemented for FreeBSD 7.[1]

Principles of operation

H-TCP is a loss-based algorithm, using additive-increase/multiplicative-decrease (AIMD) to control TCP's congestion window. It is one of many TCP congestion avoidance algorithms which seeks to increase the aggressiveness of TCP on high bandwidth-delay product (BDP) paths, while maintaining "TCP friendliness" for small BDP paths. H-TCP increases its aggressiveness (in particular, the rate of additive increase) as the time since the previous loss increases. This avoids the problem encountered by HSTCP and BIC TCP of making flows more aggressive if their windows are already large. Thus, new flows can be expected to converge to fairness faster under HTCP than HSTCP and BIC TCP.

Strengths and weaknesses

A side effect of increasing the rate of increase as the time since the last packet loss increases, is that flows which happen not to lose a packet when other flows do, can then take an unfair portion of the bandwidth. Techniques to overcome this are currently in the research phase.

The Linux implementation of H-TCP also has an option for avoiding "RTT unfairness", which occurs in TCP Reno, but is a particular problem for most high speed variants of TCP (although not FAST TCP).

Name

The algorithm was initially introduced as H-TCP, without mention of what the 'H' stands for. However, it is often called "Hamilton TCP", for the Hamilton Institute where it was created.

gollark: You would have to scan too fast.
gollark: While it *could* be intercepted, it would be impractical to do so.
gollark: It randomly selects a channel for each stack, and securely transmits it to the other computer.
gollark: I actually made a mail system which runs securely over public enderchests, which is neat.
gollark: > do i call you guys evil cuz ur smarter than me?It's more that you seem to do, you know, evil things? Or want to?

See also

References


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.