Transmission Control Protocol (TCP) Hybla.
A key component of TCP is a congestion-control mechanism. TCP does this by having each sender limit the rate based on perceived network congestion. If a TCP sender perceives that there is little congestion on the path between itself and the destination, it increases its send rate. If the sender perceives that there is congestion along the path, then the sender reduces its send rate.
One of the newer congestion algorithms that aims to improve network connection performance is TCP Hybla. Hybla is designed to address some of the negative effects of long network Round-Trip Times (RTT) to include reduction of the Congestion Window (cwnd) growth rate, and multiple losses in one Congestion Window. To address the issue of slow cwnd increase, TCP Hybla removes the reliance on RTT from the cwnd algorithm. This is done by adjusting the size of the cwnd to a normalized ratio of the previous window which results in a larger average cwnd as shown in the calculations below:
To alleviate packet loss in the window, TCP Hybla uses Selective Acknowledgement (SACK) which allows the sender to know exactly which packets have been sent successfully, and the ability to send more than one packet per RTT.
Another enhancement of TCP Hybla is packet spacing during transmission. As previously stated, Hybla results in a larger cwnd size which can result in erratic transmission bursts. These bursts can be smoothed out using more intermittent transmissions and spacing each transmission out over a period of time. TCP Hybla is well suited for satellite transmissions and other connections that typically have a high RTT.
Kurose, J. F., & Ross, K. W. (2017). Computer networking: a top-down approach (7th ed.). Hoboken, NJ: Pearson.
Marcondes, C., Matthews, J., Chen, R., & Sanadidi, M. G. (2008, December 10). A Cross-Comparison of Advanced TCP Protocols in High Speed and Satellite Environments. Retrieved July 13, 2017, from http://wons09.cs.ucla.edu/publication/download/482/getPDF.pdf.
Ndegwa, A. What is CWND and RWND?. https://blog.stackpath.com/glossary/cwnd-and-rwnd/.
TCP Selective Acknowledgments (SACK). http://packetlife.net/blog/2010/jun/17/tcp-selective-acknowledgments-sack/.