Transcript Slides

Ants
The Active Node Transfer System
By
Chris McAnally
&
Manu Mittal
1
The Current Network Architecture
• Currently routing behavior is fixed
– But performance is heavily dependant on
network services
– New protocols and services are rapidly being
developed but deployment is long and difficult
• One Solution
– Standardize the communications model rather
than individual protocols.
2
Ants Overview
• Treats the network as a restricted distributed
computing environment.
– Provides a scripting language model to express
new protocols as operations at nodes.
– Allows dynamic deployment
3
Goals
• 3 Goals
– Simultaneously support a variety of protocols
and services
– Support the construction of new protocols
through mutual agreement
– Support dynamic deployment of new protocols
4
The model
• Capsule
– To replace the packet we use capsules which refer to the
forwarding routine used to process them.
• Code Groups
– A collection of Capsules whose forwarding routines are
transferred as a group by the code distribution system.
• Protocols
– A collection of related code groups that are
treated as a single unit of protection.
5
Architecture
• INSERT PICTURES HERE
6
Type Field
• An Identifier that tells the associated
protocol and forwarding routine.
– Based on a secure hash of the forwarding
routine.
• MD5 hash function
– Provides a fingerprint of code for security
• Prevents protocol spoofing
7
Active Nodes
• The biggest problem with a programmable
network is ensuring the safety of forwarding
routines.
• Solution
– Each node provides a set of primitives that are
used to construct forwarding routines
– Active nodes limit access to resources
8
Node Primitives
• 10 Primitives that fall into 3 categories
– Environment Calls
• Return local information, such as address, etc.
– Storage calls
• Objects stored in a “soft-state” i.e. cached
• Application determines the caching interval
– Control Operations
• If no control operation is called, it’s discarded.
9
Execution Model
• Four main Characteristics
– Fixed Forwarding Routine
• The forwarding routine is fixed at the sender
• Designed to prevent a bandit from hijacking another
application’s capsules
– Selective Execution
• Capsules belonging to protocols the active node
chooses not to execute are handled as regular IP
packets
10
Execution Model(continued)
• Resource Limits
– Cache time
– Soft-state storage space
– Network bandwidth
• Protocol-based Protection
– Only capsules belonging to the same protocol
can share state
11
Code Distribution System
• 1). Capsules identify their type
• 2). When a capsule arrives at a node the cache is
checked. If it’s not there the previous node is
queried and execution is suspended.
• 3). When a node receives a load request it
responds immediately.
• 4). When a node receives a load response it places
it into the cache and activates the sleeping
capsules.
12
13