The architectural stability of the Internet was crucial in fostering the development of new applications and networking technologies by giving the former a stable base upon which to build and giving the latter a fixed set of requirements to support. However, in recent years this architectural stability has become a liability, as there are areas of increasing importance ? most notably inadequate support of security and availability, lack of adequate mechanisms for privacy, mobility, middleboxes, and data-oriented functionality ? where the original Internet architecture falls short. The persistence of the Internet's architectural deficiencies is not because they are intellectually intractable, but because they are beyond the reach of incrementally deployable changes. Based on this observation, the research team takes a different approach than recent clean-slate designs, focusing not on a new fixed architecture but instead on providing a platform to enable architectural innovation through incrementally deployable changes, without massive disruption in the infrastructure.

In this research project, the research team focuses on the ?hardware-defined functionality? challenge and proposes a ?platform for innovation? that allows the network infrastructure to support new architectures without changes to the underlying hardware. In particular, this approach will enable forwarding hardware to support a wide range of alternative designs. In addition, so that changes can be introduced alongside the current design, hardware will also be able to support multiple designs simultaneously.

The proposed platform will use a newly developed paradigm called Software-Defined Networks (SDN), currently embodied in the OpenFlow and NOX projects. OpenFlow is an open hardware forwarding interface. NOX is an open-source software platform that provides global abstractions to network management software and in turn communicates the decisions made by this software to the individual forwarding boxes. This effort will provide a solid foundation for more general SDN designs that are open, comprehensive and can meet long-term needs.

The research team will also explore and demonstrate applicability of the SDN approach including abstractions and programming model for different domains of network use. These include enterprise, WAN, home, and wireless. To demonstrate the ability of the proposed platform to support innovation in radically new network mechanisms, the research team will deploy prototype novel architectures on SDN.

If successful, the proposed approach would allow the use of known approaches and design proposals currently available in the literature to address many of the Internet's current problems, as these solutions would be incrementally deployable, without major disruption to the underlying infrastructure. Furthermore, current commercial efforts to address Internet?s deficiencies are disjointed, proprietary, and tailored for short-term needs. The next generation of SDN technology provides a solid basis for coordinated, long-term efforts to address critical needs in areas of security, mobility and support of content-centric application and services. More importantly, the proposed approach would allow the Internet to meet future requirements as they arise through incrementally deployable modifications, relieving network designers of the burden of predicting what these future requirements might be.

Project Report

The goal of this project was to investigate and develop ways in which architectural innovation could be accommodated effectively in the Internet. We made three significant contributions: 1. TCP ex Machina Is it possible for a computer to "discover" the right rules for congestion control (i.e., how fast and when to send data) in networks? Should computers, rather than humans, be tasked with developing congestion control methods? And just how well can computers perform this task? We investigated these questions and found that computers can design schemes that in some cases surpass the best human-designed methods to date. We probed the limits of these machine-generated protocols, and showed how this style of transport-layer protocol design can give more freedom to network architects. Without the ability to adapt its congestion-control algorithms to new scenarios, TCP's inflexibility constrains architectural evolution. New network technologies are typically evaluated based on how well TCP performs over them. This scorecard can lead to perverse behavior, because TCP's network model is limited. For example, because TCP assumes that packet losses are due to congestion and reduces its transmission rate, some subnetworks work hard to hide losses. This often simply adds intolerably long packet delays. One may argue that such designs are misguided, but the difficulties presented by "too-reliable" link layers have been a perennial challenge for 25 years and show no signs of abating. With the rise of widespread cellular connectivity, these behaviors are common and deeply embedded in deployed infrastructure. We have developed an optimization tool called Remy that takes models of the network and workloads as input, and designs a congestion-control algorithm that tries to maximize the total expected value of a specified objective function. The resulting pre-calculated, optimized algorithm is then run on endpoints. For networks broadly consistent with the assumptions provided to Remy at design time, the machine-generated algorithms dramatically outperform existing methods, including Cubic, Compound, and Vegas. Comparing Remy's algorithms with schemes that require modifications to network gateways, including Cubic-over-sfqCoDel and XCP, Remy generally matched or surpassed these schemes, despite being entirely end-to-end. Please see http://mit.edu/remy. 2. Extending software-defined networking (SDN) to the data plane. The Internet's "data plane" is in a continuous state of flux. Every few months, researchers publish the design of a new high-performance queueing or scheduling scheme that runs inside the networkfabric. Many such schemes have been queen for a day, only to besurpassed soon after as methods --- or evaluation metrics --- evolve. The lesson, in our view: there will never be a conclusive victor to govern queue management and scheduling inside network hardware. We provided quantitative evidence by demonstrating bidirectional cyclic preferences among three popular contemporary queueing and scheduling configurations. We posited that the way forward requires carefully extending SDN to control the fast-path scheduling and queueing behavior of a switch.To this end, we propose adding a small FPGA to switches. We have synthesized, placed, and routed hardware implementations of CoDel and RED. These schemes require only a few thousand FPGA "slices" to run at 10 Gbps or more---a minuscule fraction of current low-end FPGAs---demonstrating the feasibility and economy of our approach. 3. Mosh, the mobile shell. Remote terminal applications are almost as old as the Internet. The most popular such application today is the SSH, which runs inside a terminal emulator. Unfortunately, SSH has two major weaknesses that make it unsuitable for mobile use. First, because it runs over TCP, SSH does not support roaming among IP addresses, orcope with intermittent connectivity while data is pending, and is almost unusable over marginal paths with non-trivial packet loss. Second, SSH operates strictly in character-at-a-time mode, with allechoes and line editing performed by the remote host. On today's cellular networks, round-trip latency is typically in the hundreds of milliseconds when unloaded, with delays reaching several seconds whenbuffers are filled by a concurrent bulk transfer. Such delays often make SSH painful for interactive use on mobile devices. We developed a solution to both problems. We built Mosh, a remote terminal application that supports IP roaming, intermittent connectivity, and marginal network connections. Mosh performs predictive client-side echoing. Mosh makes remote servers feel more like the local computer, because most keystrokes are reflected immediately on the user's display---even in full-screen programs like a text editor or mail reader. These features are possible because Mosh operates at a different layer from SSH. While SSH securely conveys an octet-stream over the network and then hands it off to a separate client-side terminal emulator to be interpreted and rendered in cells on the screen, Mosh contains aserver-side terminal emulator and uses a new protocol to synchronize terminal screen states over the network, using the principle of application-layer framing. Mosh is free software, available for GNU/Linux, FreeBSD, Solaris, MacOS X, and Android, as well as part of iSSH on Apple's iDevices. Please see http://mosh.mit.edu

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Type
Standard Grant (Standard)
Application #
1040072
Program Officer
M. Mimi McClure
Project Start
Project End
Budget Start
2010-10-01
Budget End
2013-09-30
Support Year
Fiscal Year
2010
Total Cost
$200,000
Indirect Cost
Name
Massachusetts Institute of Technology
Department
Type
DUNS #
City
Cambridge
State
MA
Country
United States
Zip Code
02139