Coding Internet Satellite Links for Better Goodput Under Bandwidth and Latency Constraints

University of Auckland

Coding Internet Satellite Links for Better Goodput Under Bandwidth and Latency Constraints

University of Auckland

Satellite Internet connections to ISPs on Pacific Islands often suffer from TCP queue oscillation. The problem occurs when multiple off-island TCP senders simultaneously try to adjust their congestion windows in order to make best use of the available link capacity: If their previous transmissions arrived at the island end, the senders receive ACK packets and increase their congestion windows. If no ACKs return, the senders reduce the window sizes exponentially. However, this ACK-based feedback is always out of date due to the large latency of satellite links, while the queue at the entry point to such narrowband links can overflow very quickly. Our experiments in the islands have shown that coding small numbers of flows across such links can result in higher goodput as the coding conceals some of the queue overflow packet loss from the receiver. We have since tried to code traffic for entire islands in the lab with our extensive, purpose-built simulator facility supported under our last ISIF grant. While this has confirmed the queue oscillation problem, it has also highlighted that coding is time-sensitive: While a code must deliver redundancy for lost packets faster than TCP itself, it must also delay the packets with the redundancy to a point where they are no longer dropped along with the originals in the same queue overflow phase. This project aims to extend the existing coding software by a configurable delay that lets us send the redundancy at a time when it has a chance to traverse the link. It also aims to add further features to the software that will result in better goodput. We will also attempt an entirely different approach to coding the TCP traffic, which will be based on byte stream blocks rather than packets.

Share this article