Technology corrects packet errors

Forward error correction has long been widely deployed at the physical-link layer in conjunction with advanced line-coding schemes. These techniques check and correct bit errors on WAN links to ensure that upper-layer protocols receive error-free datagrams.

But even when a network's physical link is free from bit errors, packets may still get dropped in transit on WAN links because of queue overflows in oversubscribed networks. For example, it is common to see several portions of the Internet experiencing 2% to 3% packet loss at any given time.

Packet-level FEC works by adding another error-recovery packet for every N packets that are sent. This FEC packet contains information that can be used to reconstruct any single packet within the group of N. If one of these N packets happens to be lost during transfer across the WAN, the FEC packet is used on the far end of the WAN link to reconstitute the lost packet. This eliminates the need to retransmit the lost packet across the WAN, which dramatically reduces application response time and improves WAN efficiency.

Packet-level FEC is an important tool for enterprises looking to deliver business-critical applications across a distributed WAN. It is increasingly being implemented as part of symmetric application-acceleration solutions. The functionality is incorporated in application-acceleration appliances that are deployed on both ends of a WAN link to improve application delivery through a combination of data reduction, local-instance storage and delivery, compression, protocol acceleration and QoS.

FEC works best on a high-rate aggregate flow, rather than on individual flows. As a result, it is best implemented in environments that use tunnels or aggregated flows when transferring traffic across a WAN. In addition, an ideal FEC implementation will adapt the amount of overhead to accommodate changing WAN conditions.

With adaptive FEC, if a tunnel is experiencing no loss, FEC is disabled and no overhead is incurred. When loss is detected (because of a network event or during periods of congestion), FEC automatically steps in, reducing loss by an order of magnitude or more - from several percent down to a fraction of a percent, in certain instances. In doing so, application-level throughput during periods of network congestion is boosted by a similar amount. The FEC ratio (ratio of error-recovery packets to data packets) is adjusted dynamically to ensure that the performance is maximized while overhead is kept at a minimum.

When implemented properly, packet-level FEC provides a significant increase in application performance under a wide range of network conditions. For example, in an average sampling across live enterprise networks, it takes approximately 85 seconds to download a very large file across a 10M bit/sec WAN link with 3% packet loss and no FEC. When adaptive FEC is enabled on the same type of link (keeping all other parameters the same), the identical file is transferred in approximately 5 seconds. In this scenario, FEC provides a 17x improvement in application-response time.

By providing an order-of-magnitude performance improvement in WAN environments with high packet loss, FEC is indispensable to companies that are delivering business-critical applications to remote and branch offices using centralized servers and storage infrastructure.

How it works: Forward error correction

Hughes is CTO and founder of Silver Peak. He can be reached at dhughes@silver-peak.com.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Related:

Copyright © 2005 IDG Communications, Inc.