ANTS : A Toolkit for Building and Dynamically Deploying Network Protocols

advertisement
ANTS: A Toolkit for
Building and Dynamically
Deploying Network Protocols
David Wetherall, John Guttag, and David Tennenhouse
Defense by Amit Saha
March 25th, 2004, Rice University
Outline of the talk
2
 Motivation
 Architecture


Goals
Components
 Examples
 Related work
 Conclusion
3
Motivation
 Easily build and deploy network protocols at
intermediate nodes as well as end points
4
Architecture - Goals
 Simultaneous support for multiple network
protocols
 Support new protocol construction – no
centralized authority
 Support dynamic deployment – no down
time
5
Architecture - Components
 Capsules
 Active nodes
 Code distribution
6
Architecture - Hierarchy
Unit of programming protection
Protocol
Code group
Capsule
Code group
Capsule
Capsule
Unit of code transfer
Unit of message
forwarding
Capsule
7
 A capsule is a replacement for a packet

Reference to forwarding routine
 Fingerprint based identifier reduces
danger of protocol spoofing
Identifier
(MD5)
Source
Shared
header
Type dependant
header
Destination
Payload
Resource limits
Active node
8
 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
9
 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
10
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
11
Active node execution model
 Not all nodes need to be active nodes
 Sandboxing and Java byte code
verification used for protection
Code distribution
12
 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
13
Code distribution steps
Capsule
Search cache
Request
Response
Code group
Code group
Capsule
Example – Mobile hosts
14

Mobile IP like protocol with two
cooperating capsule types
1. Register: Sent by mobile host to register
forwarding information
2. Data: Used by other hosts to send messages
to mobile host
15
Example – Mobile hosts
Sourc
e
Home
agent
Dest
(home
)
Foreign
agent
Dest
(away)
16
Example – Multicast
Member
Sender
Intermediate
node
Member
Related work
17
 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
18
Conclusion
 Rapid deployment of new protocols to
exactly the required nodes
 No advance consensus required about
protocols
Download