Notes by Mao, April 1998
Active networks allow individual user, or groups of users, to inject customized programs into the nodes of the network. "Active" architectures enable a massive increase in the complexity and customization of the computation that is performed within the network, e.g., that is interposed between the communicating end points.
Comparison of Active Networks with Traditional Data Networks
Traditional Data Networks |
Active Networks |
data are transferred between end systems without modification | perform customized computations on the user data |
passive packets | active "capsules" |
active technologies are only applied within individual end systems (client/server) | can invoke pre-defined program methods or plant new ones within network nodes |
standardized packet format and fixed computation | agreed program encoding and computation environment |
Advantages of Active Network
1) Exchanging code provides a basis for adaptive protocols, enabling richer interactions
than the exchange of fixed data formats
2) Capsules provide a means of implementing fine grained application-specifi c functions
at strategic points within the network.
3) The programming abstraction provides a powerful platform for usre-driven customization
of the infrastructure, allowing new services to be deployed at a faster pace than can be
sustained by vendor driven standardization processes.
Applications Motivating Active Network
1) Firewalls
2) Web Proxies
3) Mobile/Nomadic Computing
4) Multi-point Communication
5) Information Fusion
Active Network Technologies and Objectives
Active technologies support encapsulation, transfer, interposition, and safe and
efficient execution of program fragments.
1) Foundation Component - universally available services implemented outside the capsule
2) Active Storage - the ability to modify the state that node storage is left in at the
completion of capsule execution
3) Extensibility - allowing programs to define new classes and methods
4) Capsule Programs - Mobility, Safety and Efficiency
Project | Mobility | Safety | Efficiency |
Safe-Tcl (source) | YES | YES | |
Java (intermediate) | YES | YES | yes |
Ominiware (object-code) | yes | YES | YES |
Proof-Carrying Code (object-code) | YES | YES |
5) Node Resources - Interoperability and Safety
a) Transmission
Bandwidth
a) Dynamic Assignment
b) Instruction
Execution
b) Validation
c) Transient
Storage
c) Delegation
d) Active Storage
e) Logical resources
Discussions
"The active network approach opens a Pandora's box of safety, security, and
resource allocation issues."
1) routers and switches might be bottle necks since they have more to do than they used to
do in the traditional architecture
2) the complexity might make networks intractable since users have the ability to program
the network
3) attractive applications (good? users could request that a router execute an
application-specific compression algorithm during the process of their packets.)
4) measurements of the network performance (are new measures needed?)
5) the impact on the layered reference model