Current Projects

The 100x100 Network Project

The goal of the project is the design and validation of a network architecture that provides 100 Mb/sec of connectivity to all 100 million American homes and small businesses. For both technical and financial reasons, extension of the current methods of network building are incapable of leading to a network that can provide 100 Mbps end-to-end between 100 M endpoints, with additional bandwidth between high demand sites such as Universities and National Labs.

More information is available from the 100x100 Project Website.

Rethinking the Systems for Controlling Networks

Despite the early design goal of minimizing the state in network elements, tremendous amounts of state are distributed across routers and management platforms in today's IP networks. We believe that the many, loosely-coordinated actors that create and manipulate the distributed state introduce substantial complexity that makes both backbone and enterprise networks increasingly fragile and difficult to manage. In this paper, we argue that the current division of functionality across the data, control, and management planes is antithetical to the desire for network-wide control. Instead, we advocate moving the decision logic for running the network from the individual routers into the management system. In our framework, the routers simply disseminate timely information about the network and respond to explicit instructions for configuring the packet forwarding behavior.

We argue for the refactoring of the IP control plane to provide direct expressibility and support for network-wide goals relating to all fundamental functionality: reachability, performance, reliability and security. This refactoring is motivated by trends in operational practice and in networking technology. We put forward a design that decomposes functionality into information dissemination and decision planes.

The decision plane is formed by lifting out of the routers all decision making logic currently found there and merging it with the current management plane where network-level objectives are specified. What is left on each router is a wafer-thin control plane focused on information dissemination and response to explicit instructions for configuring packet forwarding mechanisms. We discuss the consequences, advantages and challenges associated with this design.

Understanding Network Structure and Behavior

In any IP network, routing protocols provide the intelligence that takes a collection of physical links and transforms them into a network that enables packets to travel from one host to another. Though routing design is arguably the single most important design task for large IP networks, there has been very little systematic investigation into how routing protocols are actually used in production networks to implement the goals of network architects. We are developing a methodology for reverse engineering a coherent global view of a network's routing design from the static analysis of dumps of the local configuration state of each router.

As part of this work, we have developed abstractions and models that can represent the diverse set of routing designs seen in operational networks. These models provide a means to abstract and summarize a network's configuration that exposes the structure of the routing design and opens it up to direct analysis.

The code for anonymizing configuration files described in the paper Structure Preserving Anonymization of Router Configuration Data, is available.

Based on these models, we are creating a new alegbra that enables the static analysis of network properties that previously could only be experimentally determined. Examples include: a description of the set of packets a network will transport between two routers; the maximum load that might be placed on the routing processes running on the network's routers; and a metric to quanity how sensitive the network is to changes in topology and routing advertisements (which in turn may predict how prone the network is to "meltdown" failures where overloads cascade).

Emulation of Multi-hop Mobile Ad Hoc Networks

Please see my thesis, with has a chapter on this topic. Code is available from the ad-hockey-beta-20030808.tgz. There's only very poor documentation of how to use it. Remember to make what-time to build the what-time executable, or ad-hockey won't work. Ensure that your paths are set such that what-time is on your path and that ad-hockey can find it.

You will need Perl/Tk800.015 or newer installed on your machine. If you have not installed this package in the normal location, you will need to edit the appropriate lines at the top of the ad-hockey script to point to where the files are installed. For example:

#NOTE:  this version of ad-hockey WILL NOT work with Perl/Tk400.200
# provide a path to perl/Tk if it's not installed in the default places
use lib '/usr1/dmaltz/ns/Tk800.015';
use lib '/usr1/dmaltz/ns/Tk800.015/blib/arch';
use lib '/usr1/dmaltz/ns/Tk800.015/blib/lib';

David A. Maltz;
last updated: 8/8/2004