180 likes | 200 Views
This talk discusses the ANTS toolkit, which enables easy building and dynamic deployment of network protocols at intermediate nodes and end points. It covers the motivation, architecture, components, examples, related work, and conclusion.
E N D
Defense by Amit Saha March 25th, 2004, Rice University ANTS: A Toolkit for Building and Dynamically Deploying Network Protocols David Wetherall, John Guttag, and David Tennenhouse
Outline of the talk • Motivation • Architecture • Goals • Components • Examples • Related work • Conclusion
Motivation • Easily build and deploy network protocols at intermediate nodes as well as end points
Architecture - Goals • Simultaneous support for multiple network protocols • Support new protocol construction – no centralized authority • Support dynamic deployment – no down time
Architecture - Components • Capsules • Active nodes • Code distribution
Architecture - Hierarchy Protocol Unit of programming protection Code group Code group Unit of code transfer Unit of message forwarding Capsule Capsule Capsule
Capsule Identifier (MD5) Shared header Type dependant header Payload Source Destination Resource limits • A capsule is a replacement for a packet • Reference to forwarding routine • Fingerprint based identifier reduces danger of protocol spoofing
Active node • Exports a set of node primitives • Determines what kind of processing routines can be deployed by applications • Execution model • Optimized for packet forwarding • Can be extended to generalized computation
Active node primitives • Environment access • Query routing tables, state of links, etc • Capsule manipulation • Access to capsule headers and payload • Control operations • Create, copy, forward, discard capsules • Node storage • Manipulate short-lived application-defined objects
Active node execution model • Forwarding routines • Immutable and fixed at sender • Run locally within a short time • Memory and bandwidth usage is bounded by a TTL like scheme • Only capsules belonging to the same protocol may share state • A capsule cannot create new capsule of a different protocol
Active node execution model • Not all nodes need to be active nodes • Sandboxing and Java byte code verification used for protection
Code distribution • Unfeasible approaches • Carry entire program in capsule • Pre-load program into all active nodes • Couple code transfer with data transfer • Distributes code to where needed • Adapts to connectivity changes
Code distribution steps Response Code group Code group Capsule Search cache Request Capsule
Example – Mobile hosts • Mobile IP like protocol with two cooperating capsule types • Register: Sent by mobile host to register forwarding information • Data: Used by other hosts to send messages to mobile host
Example – Mobile hosts Source Home agent Foreign agent Dest (home) Dest (away)
Example – Multicast Member Intermediate node Sender Member
Related work • Softnet (1983) • Seminal work; safety and efficiency ? • Most similar to this work • x-kernel (1991) • Dynamic composition of micro-protocols on a per packet basis • Inherently less flexible since restricted to a set of micro-protocols • Messenger paradigm (1995) • End-to-end in nature
Conclusion • Rapid deployment of new protocols to exactly the required nodes • No advance consensus required about protocols