Testing New Networking Protocols
March 22, 2017 | MITEstimated reading time: 4 minutes

The transmission control protocol, or TCP, which manages traffic on the internet, was first proposed in 1974. Some version of TCP still regulates data transfer in most major data centers, the huge warehouses of servers maintained by popular websites.
That’s not because TCP is perfect or because computer scientists have had trouble coming up with possible alternatives; it’s because those alternatives are too hard to test. The routers in data center networks have their traffic management protocols hardwired into them. Testing a new protocol means replacing the existing network hardware with either reconfigurable chips, which are labor-intensive to program, or software-controlled routers, which are so slow that they render large-scale testing impractical.
At the Usenix Symposium on Networked Systems Design and Implementation later this month, researchers from MIT’s Computer Science and Artificial Intelligence Laboratory will present a system for testing new traffic management protocols that requires no alteration to network hardware but still works at realistic speeds — 20 times as fast as networks of software-controlled routers.
The system maintains a compact, efficient computational model of a network running the new protocol, with virtual data packets that bounce around among virtual routers. On the basis of the model, it schedules transmissions on the real network to produce the same traffic patterns. Researchers could thus run real web applications on the network servers and get an accurate sense of how the new protocol would affect their performance.
“The way it works is, when an endpoint wants to send a [data] packet, it first sends a request to this centralized emulator,” says Amy Ousterhout, a graduate student in electrical engineering and computer science (EECS) and first author on the new paper. “The emulator emulates in software the scheme that you want to experiment with in your network. Then it tells the endpoint when to send the packet so that it will arrive at its destination as though it had traversed a network running the programmed scheme.”
Ousterhout is joined on the paper by her advisor, Hari Balakrishnan, the Fujitsu Professor in Electrical Engineering and Computer Science; Jonathan Perry, a graduate student in EECS; and Petr Lapukhov of Facebook.
Traffic control
Each packet of data sent over a computer network has two parts: the header and the payload. The payload contains the data the recipient is interested in — image data, audio data, text data, and so on. The header contains the sender’s address, the recipient’s address, and other information that routers and end users can use to manage transmissions.
When multiple packets reach a router at the same time, they’re put into a queue and processed sequentially. With TCP, if the queue gets too long, subsequent packets are simply dropped; they never reach their recipients. When a sending computer realizes that its packets are being dropped, it cuts its transmission rate in half, then slowly ratchets it back up.
A better protocol might enable a router to flip bits in packet headers to let end users know that the network is congested, so they can throttle back transmission rates before packets get dropped. Or it might assign different types of packets different priorities, and keep the transmission rates up as long as the high-priority traffic is still getting through. These are the types of strategies that computer scientists are interested in testing out on real networks.
Speedy simulation
With the MIT researchers’ new system, called Flexplane, the emulator, which models a network running the new protocol, uses only packets’ header data, reducing its computational burden. In fact, it doesn’t necessarily use all the header data — just the fields that are relevant to implementing the new protocol.
When a server on the real network wants to transmit data, it sends a request to the emulator, which sends a dummy packet over a virtual network governed by the new protocol. When the dummy packet reaches its destination, the emulator tells the real server that it can go ahead and send its real packet.
If, while passing through the virtual network, a dummy packet has some of its header bits flipped, the real server flips the corresponding bits in the real packet before sending it. If a clogged router on the virtual network drops a dummy packet, the corresponding real packet is never sent. And if, on the virtual network, a higher-priority dummy packet reaches a router after a lower-priority packet but jumps ahead of it in the queue, then on the real network, the higher-priority packet is sent first.
The servers on the network thus see the same packets in the same sequence that they would if the real routers were running the new protocol. There’s a slight delay between the first request issued by the first server and the first transmission instruction issued by the emulator. But thereafter, the servers issue packets at normal network speeds.
The ability to use real servers running real web applications offers a significant advantage over another popular technique for testing new network management schemes: software simulation, which generally uses statistical patterns to characterize the applications’ behavior in a computationally efficient manner.
“Being able to try real workloads is critical for testing the practical impact of a network design and to diagnose problems for these designs,” says Minlan Yu, an associate professor of computer science at Yale University. “This is because many problems happen at the interactions between applications and the network stack” — the set of networking protocols loaded on each server — “which are hard to understand by simply simulating the traffic.”
“Flexplane takes an interesting approach of sending abstract packets through the emulated data-plane resource management solutions and then feeding back the modified real packets to the real network,” Yu adds. “This is a smart idea that achieves both high link speed and programmability. I hope we can build up a community using the FlexPlane test bed for testing new resource management solutions.”
Suggested Items
IBM Officially Closes Deal, Acquiring DataStax
05/30/2025 | I-Connect007On May 28, DataStax announced that its acquisition by IBM had officially closed. The open-source database company based in Santa Clarita, California, announced the deal earlier this year, as part of its vision to accelerate AI production and NoSQL data at scale.
Standards: The Roadmap for Your Ideal Data Package
05/29/2025 | Andy Shaughnessy, Design007 MagazineIn this interview, IPC design instructor Kris Moyer explains how standards can help you ensure that your data package has all the information your fabricator and assembler need to build your board the way you designed it, allowing them to use their expertise. As Kris says, even with IPC standards, there’s still an art to conveying the right information in your documentation.
Driving Innovation: Traceability in PCB Production
05/29/2025 | Kurt Palmer -- Column: Driving InnovationTraceability across the entire printed circuit board production process is an increasingly important topic among established manufacturers and companies considering new PCB facilities. The reasons are apparent: Automatic loading of part programs, connection with MES systems and collection of production data, and compliance with Industry 4.0 requirements
Smart Automation: AI—Revolutionizing Inspection in Electronics Manufacturing
05/27/2025 | Josh Casper -- Column: Smart AutomationArtificial Intelligence (AI) is rapidly becoming a staple in our personal and professional lives. In electronics manufacturing, integrating AI to combat common inefficiencies and to contextualize data will open new doors into how we supplement our traditional processes. In some specific areas of the electronics manufacturing process, integration of AI on the factory floor is already having a tremendous effect. One such area is PCBA inspection, particularly 3D automated optical inspection (AOI) systems.
Standard of Excellence: The Role of Technology in Enhancing the Customer Experience
05/28/2025 | Anaya Vardya -- Column: Standard of ExcellenceMaya Angelou said, “People will not remember what you said, but they will remember how you made them feel.” This makes me think about the importance of delivering an exceptional customer experience. Businesses that embrace technology to streamline interactions, personalize services, and create seamless engagements set new benchmarks in customer satisfaction. Integrating advanced technologies into customer service improves efficiency, enhances engagement, fosters loyalty, and drives business success.