Modern TCP stacks have become more efficient at dealing with latency by adding TCP Window Scaling and Selective Acknowledgements. However TCP is still vulnerable to packet loss and this has a drastic impact on network performance. Some degree of packet loss is almost always present in every wide area network. At times it is due to link quality but at other times packet loss is intended. This is when core routers avoid congestion and buffer bloat by randomly dropping some packets when the queues grow too large. Where WAN or VPN performance is limited by the negative effects of packet loss and retransmissions, Packet Loss Recovery can be configured.
Why is Packet Loss important?
- Loss has a severe impact on TCP performance: For example TCP throughput over a 100 Mbps link is limited to 1 Mbps at 80 ms and 2% loss.
- More businesses are connecting their offices via low cost VPN links. These typically have 1% loss rate, which is 10 times higher than MPLS links.
- SLA’s provide a false sense of security. A 3+% loss for an hour a day means providers can still meet a very low monthly average loss rate SLA.
- Packet Loss is higher in emerging and developing countries. On average 2% or more.
How Packet Loss Recovery works
Wanos provide three layers of loss recovery.
- Fast Retransmit Replay: Since version 2.6 loss recovery worked by monitoring packet sequences and using a real time round trip time of the link between two Wanos peers. When a packet is lost, a timer expires and the packet is retransmitted. Packer Order Correction ensures the end hosts are unaware of the losses on the WAN and the TCP layer does not reduce the transfer rate. Below is a chart of v.2.6 PLR performance.
- Fast Retransmit Request: Since version 4.0 an optimization is added to further increase Packet Loss Recovery acceleration. Fast Request works by monitoring packet sequences and when a lost packet is detected a replay request is send to the peer. In this case the lost packet can be detected faster and replayed sooner, increasing the acceleration benefits.
- Forward Error Correction: Since version 4.1 FEC can be configured. In the case of FEC a special packet is sent for every group of 5, 10 or 20 packets. If a packet in the group is lost, the lost packet will be reconstructed in real time. FEC adds an additional acceleration benefit in conjunction with other PLR and TCP Acceleration features. FEC is an optional feature that can be enabled when required.
Packet Loss Recovery Results
To counter the negative effects of loss on TCP throughput, Wanos can be configured to provide packet loss recovery to assist in TCP Acceleration. Below are CIFS copy speed stats over various loss and delay profiles. The first control test indicates the standard TCP throughput under these conditions. The second test is with Wanos Packet Loss Recovery enabled and compression and deduplication disabled.
From version 4 onward PLR is auto-configured. For configuration of earlier versions, please see the following guide: Configuring Packet Loss Recovery
Packet Loss Recovery Demo
In the illustration below compression and deduplication has been disabled. The link has a 50ms latency and 5% packet loss rate. TCP throughput on this link is below 1 Mbps. When Packet Loss Recovery is enabled, TCP Acceleration improves throughput up to 10x.