Blogs

Search

What is Forward Error Correction (FEC)?

Whether you’re running an e-commerce website, large-scale enterprise network, or online gaming tournament, one thing you absolutely need is a stable network. However, that’s easier said than done in a world of latency, packet loss, and spikes. Even SD-WAN isn’t a complete solution.

Stand-alone SD-WAN solutions don’t completely eradicate loss of packets and network errors, leaving your network subject to erratic behavior and lag. But don’t worry, all is not lost. By using forward error correction (FEC), it’s possible to improve the integrity of your network substantially.

Common enterprise network issues

Most enterprises utilize several technologies for their networks. These include frame relay and asynchronous transfer mode (ATM), which are two different protocols for transmitting data between endpoints and are usually implemented by WAN service providers. Many businesses use time division multiplexing (TDM) private lines, which link up two enterprise locations directly. Virtual private networks (VPNs) provide a further added layer of privacy for remote enterprise locations.

ATM solutions, in particular, rely on statistical multiplexing to share a service provider’s physical network links with customers. They’re counting on the fact that it’s unlikely all of their customers will make use of the network’s full bandwidth at the same time. Consequently, network integrity usually remains stable during low traffic periods but noticeably worsens when traffic peaks.

The service provider will generally try to minimize congestion by buffering packets in queues and optimizing the network for peak loads. No matter how hard they try, however, it’s impossible to perfectly predict traffic patterns, and queues often overflow when traffic is high. Moreover, enterprises that utilize VPNs will likely experience even higher packet losses since these run directly on the public internet and not on private enterprise networks.

The impact of transmission control protocol (TCP)

There’s no getting around packet loss effects on web application performance and the overall productivity of your business. That’s why the internet as we currently use it relies on Transmission Control Protocol (TCP) for packet transfers. TCP detects packet loss whenever there’s a transmission timeout and re-transmits the lost packets. Packet loss will also cause TCP to assume the network is suffering from congestion and will trigger its built-in congestion avoidance algorithms.

While this helps retain the data integrity, it also reduces the rate of transmissions. As congestion lightens the rate of transmissions will gradually increase, but in the meantime there is a dramatically noticeable decrease in throughput across the network.

Forward error correction (FEC) in a nutshell

Despite being an integral part of the internet, TCP isn’t an adequate solution for maintaining a robust enterprise network. But there’s light at the end of the tunnel, and it comes in the form of the forward error correction (FEC). FEC is often referred to as channel coding and utilizes digital signal processing to improve data integrity. It may come as a surprise to you that it’s not precisely a new idea. The algorithm was created in the 1950s by Richard Hamming to detect errors in punch cards.

Hamming code takes advantage of binary’s structure to add what are called “parity bits” to each piece of data. If you’re familiar with hash codes, it’s the same basic principle. When the data is encoded for transmission, some extra bits are added. These are the parity bits. When the data is received, those bits are checked to see if they all came across as expected. If they did, the data can be assumed to be error-free. If the parity bits do not match the expected pattern, the code makes it easy to tell from the unexpected parity bits which data pieces are incorrect and fixes them.

What makes FEC so effective is in the way it implements this error correcting before storing or transferring data. This allows the receiving end of an SD-WAN link to correct errors, removing the need for a reverse channel to handle requests for re-sending data transmissions in exchange for a slight increase in the initial data sent. Furthermore, this prevents TCP’s congestion avoidance from kicking in and decreasing throughput. FEC will always utilize as much throughput as the SD-WAN link provides.

In conclusion

The ability of your company’s network to remain stable during peak traffic conditions naturally depends on the technologies you or your provider has implemented. If you’re relying on ATM and VPN solutions, you’re likely experiencing substantial packet losses at peak times that affect the performance of your web applications and staff productivitiy. But if you’ve implemented FEC (or use an SD-WAN solution that includes FEC) to maximizes throughput, then you’ll have a fast and robust network at your disposal.

Share article :

Social

We’re coming to a city near you! Come grab a drink and a bite with the Zenlayer team as we celebrate our 10-year anniversary!