RANI (THE RUTGERS ACTIVE NETWORKS INITIATIVE)

Why Active Networks?

The process of standardizing protocols has always been a slow one thus preventing dynamism from entering the IP world. The static nature of networks needs to be revised. Active Networks brings dynamism into the forefront by introducing user-defined customizable programmability into networks. New services can be smoothly and rapidly integrated into the architecture.

The IP header is of a fixed format where each field in the header conveys a message to the routers in the network. For Ipv6 these are in the form of Flow Identifier, Source and Destination address, Hop Limit, etc. The contents of these fields ("messages") vary for different packets making the router process them accordingly. We may extend this idea by considering the IP Header to be a program that is interpreted at each router in the network, based upon which the router forwards or discards the packet. The primary limitation of such an approach is the fixed format of the header fields that restricts programming capabilities of the routers. Also, scalability is restricted because the IP Header is a global standard and all IP packets must adhere to this standard. With advanced applications entering the Internet, a lot more messages need to be conveyed by the datagram to the routers in the network. Thus we identify a need to either replace the header with a program or keep the IP header but include a supplementary program as an extension to the header.

A few targets

As the Internet grows rapidly in size, network managers need advanced tools to manage and process network data. Control messages can sometimes further degrade the performance of a network rendering them useless. Programming the network to fuse correlated data could enhance event correlation techniques.

Devising an efficient multicasting technique that consumes minimal network resources has been the focus of active research for quite a few years now. Bringing programmability into network nodes to clone packets at strategic locations could be used as a new way to achieve multicasting.

Multimedia Applications like audio and video streaming are very promising but still need to go through the long standardization process preventing rapid induction. End users would benefit from customizing their applications to suit their needs. Furthermore, providing static information to heterogeneous clients is wasteful of resources. Active networks promise to customize applications from end-to-end benefiting both users and service providers alike.

Approaches

Active Networks is a relatively new field gaining momentum in 1996 mainly due to technology "push" and user "pull". So far there have been two approaches that allow user programmability to be inducted in networks as opposed to end-host implementations and standardized applications specific protocol development. These are the discrete (out-of-band) approach whereby the user injected customized programs are separated from the data to be processed and the integrated (in-band) approach in which the program and data are carried collectively in a capsule. This corresponds to a high level classification of the approaches into light-weight and heavy-weight datagrams respectively. Our approach involves weightless datagram transfer that restricts the manipulation of node specific algorithms and data, yet bringing application specific programmability into the network from end-to-end.

In this documentation we describe our vision of an active network infrastructure that supports superior quality of service constraints than conventional networks. We aim at providing a smooth transition from the present IP architecture that is protocol oriented into a more dynamic one that is programmable and performs on-the-fly computation for heterogeneous recipients.

Active Processing of datagrams does have its benefits but these come with added costs too. The processing overheads have an adverse effect on transmission latency which becomes critical for real-time applications. Allowing users to access sensitive network functions and modify these to suit their individual needs is a security hazard. Also, we realize that processing a packet is not possible at every node in the present IP architecture, nor is it necessary. Instead, it becomes important to identify nodes in the network where active processing is needed and accordingly load the relevant programs there itself. The programs used for computation at the Active Network Node are in the form of Active Services.

Also, we describe our model of a weightless packet and how it may invoke such services. The weightless packet has a higher level of abstraction in comparison to the capsule or programmable switch approach.

Availability of a service at a node does not guarantee however that it will be applied on the relevant packets that arrive at the node. The network conditions prevailing at the time may over-ride or modify the application of such services in the best interest of the network as a whole.

Needless to say that the policy enforced at a given node may be different from that at another node for a number of reasons. For example, varying network conditions at the nodes in consideration or different policies set by the network administrators.

References

The documentation here is simply meant as a reference to the ongoing research in this field. Many of the ideas have been borrowed from other research efforts conducted at MIT, UPENN,Bell Core, BBN, etc. Please follow the LINKS provided here if interested in gaining a deeper understanding of these efforts.