The Active Node Transfer System By Chris McAnally & Manu Mittal Ants The Active Node Transfer System By Chris McAnally & Manu Mittal
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.
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
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
The model Protocols Capsule Code Groups 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.
Architecture INSERT PICTURES HERE
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
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
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.
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
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
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.