PIs: Hari Balakrishnan,
Frans Kaashoek, John V. Guttag,
T. Morris, David
DARPA ITO Contract MDA972-99-1-0014
PM: Dr. Mari Maeda
July 14, 2000
The next-generation Internet (NGI) is certain to be different from the current one in several important ways, including the degree of mobility and dynamism of its hosts and services, the degree of integration with the physical environment of sensors and actuators, and the heterogeneity of data transmitted on its links. The goal of the iNAT project is to design, implement, deploy, and evaluate an integrated approach to resource naming, message routing, and adaptive data transmission for this future environment. The deliverables of iNAT include a suite of middleware, algorithms, and protocols, which together solve several hard problems including remote device access (e.g., surveillance cameras), host and service mobility, group communication to dynamic services, audio/video dissemination over heterogeneous networks, and congestion management techniques for the NGI.
More specifically, our goals are:
Our general approach is to integrate naming, routing, and resource management. In today's networks these are separate steps. First, an application resolves a name and is handed back a network address (e.g., an IP address). Then, the application makes a connection with the given network address, resulting in packets being routed to the network address. Finally, if the application uses the Transmission Control Protocol (TCP), congestion control is done, but otherwise it is not; increasingly many multimedia and streaming applications use UDP-based protocols that do not perform congestion control.
With iNAT, applications name and gain access to resources using expressive names called "intentional names," where names are resolved using the Intentional Naming System (INS). In INS, names are "intentional," where applications can describe a sought resource by expressive properties (e.g., expressing requests such as "find the nearest, least-loaded color printer that can handle transparencies" or "the view from the mobile cameras on the western side of the hill"), rather than by their network location (as in "camera643.darpa.mil" or "220.127.116.11"). Such intentional naming using attributes provides a high degree of flexibility and decentralized management, allowing an applications to describe "what" it is looking for, rather than simply "where" in the network it might be. Intentional name resolvers in the network route requests to the appropriate locations by maintaining a dynamic mapping between service descriptions and their network locations. This allows applications to self-organize because any data they need is obtained for them by INS based only on their descriptions, freeing them of the need to implement this machinery.
INS has mechanisms to scale to the wide-area by interfacing with the Internet Domain Name System (DNS) and incorporates several load-balancing and routing algorithms. A key innovation in INS is to integrate the processes of name resolution and message routing, processes that have thus far been kept separate in networks. This integration allows applications to use an intentional name as the "level-of-indirection" to track device and service mobility as well as communicate with groups of nodes seamlessly. The intentional name resolvers implement routing protocols to provide an application-level, name-based routing system.
iNAT also takes an end-to-end approach to mobility in contrast to traditional IP-layer approaches like Mobile IP, which were designed under the principle that fixed Internet hosts and applications were to remain unmodified and only the underlying IP substrate should change. In contrast, the iNAT approach requires no changes to the unicast IP substrate, but instead modifies transport protocols and applications at the end hosts. This approach has several significant advantages: it enables a natural approach to "vertical" mobility for mobile hosts with multiple network interfaces (as is increasingly common), it does not suffer from inefficient "triangle routing" as mobile IP does and therfore provides better performance, and in many cases is easier to deploy in the Internet than Mobile IP. Two important innovations make this approach work: (i) the use of dynamic updates to a naming system such as DNS or INS to track mobile host to IP address mappings, and (ii) the use of a novel connection migration scheme to securely migrate end-to-end connections across IP address changes, while guarding against connection hijacking by malicious parties.
iNAT's approach to end-to-end network resource management is based on a unified Congestion Manager (CM), which maintains information about available bandwidths and network characteristics on end-to-end paths and implements a variety of congestion control algorithms, including novel ones tuned for efficient audio and video transmission. The CM is independent of specific applications and transport protocols, but provides the ability for different streams (flows) to perform ``shared state learning.'' Rather than have each stream act in isolation and thereby give up any opportunity for global optimization, the CM maintains host- and domain-specific path information. Path properties are shared between different streams and all transmissions are performed only with the CM's consent. The CM also exports a simple API to allow applications to adapt to congestion in a way that accommodates the heterogeneous nature of streams. In addition, hints can be sent from the receiver to the sender's CM to flexibly apportion available bandwidth among different streams.
Together, the integrated approaches to name resolution and messaging routing using intentional name resolution, iNAT's end-to-end approach to host mobility, and its congestion management using the CM for adaptive data transmission handle several challenging characteristics of the future Internet and enable a variety of new applications.