Sign In

Communications of the ACM

ACM News

Network Coding: Router Revolution?

View as: Print Mobile App Share:
network cable and hub


Over the past decade, router developers have studied ways to manipulate the headers of data packets, using protocols with names such as MPLS-T and PBB-TE, to accelerate network traffic on both local and global levels. But in the past few years, a radical new alternative to improving router efficiency began attracting attention. Network coding manipulates the data in a packet itself, achieving better message efficiency by subjecting data to exclusive-OR logic operations.

Network coding won two important awards from IEEE for Massachusetts Institute of Technology in late 2009. But developers of commercial routing code suggest its utility may be limited to well-defined local wireless networks, and to packet manipulation across a backplane within a single hardware platform. In a multihop router environment in the real world, network coding may be far from ready for prime time.

"We have an office building full of developers looking at these techniques for use within a single system," says Dave Ward, senior fellow at Juniper Networks Inc. "But once the packet leaves the router, it's a completely different story. Network coding assumes a static environment and perfect information about the topology to realize the gains in efficiency. How often will you see that in the real world?"

The coding concept has been explored for five years by a theoretical group under Muriel Medard at MIT, and another MIT group under Dina Katabi looking at wireless implementations. The idea of random scrambling of data within a packet is analogous to the technique of adding white noise to a signal to improve its quality—a random perturbation of a signal in many applications seems to aid communication efficiency. In the case of routing, bitwise exclusive-OR operations are performed on data to turn multiple messages into "evidence," which can be deduced by an end station that is similarly enabled with random network-coding capability.

So far, so good, for demonstration networks with clearly defined topologies—but Ward points out that real-world routed networks of almost any dimension are adding and dropping nodes on a continuing basis, reconfiguring routers, and taking other dynamic action to make 'shortest-hop' decisions less predictable. Ward says there is also no industry-wide agreement on where a software shim implementing network coding might be added in a protocol stack. Some are in favor of Layer 2, the layer used by Ethernet frames, while others see the coding existing between network and transport layer.

"This makes a lot of sense as a TCP-layer technology, but if you inserted a shim between TCP and IP, you've essentially disrupted decades of common Internet work on TCP/IP," Ward says.

For most router developers, improvements in header manipulation, such as the label swapping used in MPLS (Multi-Protocol Label Switching) are key drivers for routing efficiency. As video production enters into cloud-based applications, a redefinition of what “proximity” means in a routed network also will be important. And because the emulation of time-division multiplexed traffic will be critical for real-time traffic, "tunneling and encapsulation of packets will be first-class citizens in defining future routing," Ward says. With such a list of higher-priority tasks, network coding is likely to remain a research curiosity for the near future.



No entries found