active networks
Post on 07-Jan-2016
58 Views
Preview:
DESCRIPTION
TRANSCRIPT
CS-495 Advanced NetworkingDavid Choffnes, Spring 2005
Active Networks
Introduction (What and Why)
Active Network Design (How)
Applications
Experience
Preemptive Defense
2CS-495 Advanced Networking
Traditional Networks
Header causes one of small sets of operations to be performed
Data is forwarded/dropped according to those rules
Header Data Trailer
3CS-495 Advanced Networking
Active Networks
Switches/routers perform small set of ops on packets
Users can inject programs into the network – User/application specific processing
4CS-495 Advanced Networking
Capsules
Code + data
Similar to Postscript for printing
DataCode
5CS-495 Advanced Networking
Motivations
User Pull– Automatically adaptive streaming– Data aggregation– Placing computation closer to user reduces latency
Industry push– Ad-hoc collection of firewalls, Web proxies, multicast routers,
mobile proxies, video gateways, etc.– Replace app-specific hardware with generic, multipurpose
active nodes.– If we are not careful, the network may be “activated” without
providing a systematic way of upgrading services across the Internet.
6CS-495 Advanced Networking
Main high-level advantages
Adaptivity, leading to support for richer interactions than fixed protocols
Targeting of operations at specific locations within the network
Faster deployment of new services
7CS-495 Advanced Networking
Biggest AN challenges
Safety, security and resource allocation
Efficiency
8CS-495 Advanced Networking
AN Overview
Approaches– Discrete– Integrated
9CS-495 Advanced Networking
Discrete Active Networking
Processing of messages and injecting programs into network are distinct
Essentially programmable routers
Impl: program ID much like protocol ID
10CS-495 Advanced Networking
Integrated Active Networking
Capsules carry both data and programs (every message is a program)
Transient and non-transient environment
Programs may:– modify capsule– have access to external API– modify the transient and parts of non-transient
environment (e.g., routing table)– schedule zero or more packets for transmission
11CS-495 Advanced Networking
Active Networks in Action
12CS-495 Advanced Networking
Programming with Capsules
Foundation Components
Active Storage
Extensibility
Interoperable Programming Model
13CS-495 Advanced Networking
Foundation Components
Serves as the API of the network
Provides access to node-specific info and services (e.g., link state info, average Qing delay, types of programs supported)
14CS-495 Advanced Networking
Active Storage (Non-transient)
Allows “soft” flows: flow states that are caches and may be disposed of if necessary
Aggregation
Pruning of multicast trees
Network management functions (e.g., SNMP)
15CS-495 Advanced Networking
Extensibility
Reduces size of programs in capsules
Enables demand-loading/caching of programs
16CS-495 Advanced Networking
Interoperable Programming Model
Must enable safe, efficient operation of mobile code
Traditional packet networks do this by standardizing syntax and semantics of packets
For AN, standardize the computation model– Instruction set
– Available resources
– Resource safety
17CS-495 Advanced Networking
Interoperable Programming Model(Instruction Set)
Primitives: interpreted source, intermediate language, binary (spectrum of safety vs. efficiency and portability)For safety/protection, namespace of capsule is restricted to transient environment.Java-like bytecode is preferredAny number of tricks to improve performance… optimistically use source-code rep, encode multiple formats, convert to binary adaptively, demand loading (see page 12)For portability, allow multiple models to compete, AN will support the best ones. (Common in the industry)
18CS-495 Advanced Networking
Interoperable Programming Model(Available resources)
interoperability and resource management– requires a shared view of what resources are and how they
are named
Simple set of resources: BW, CPU, RAM– CPU: default allocation or trade BW for cycles– Transient storage: bound allocation for each packet, allow
period garbage collection– Active Storage: soft state subject to rules of any cache
Logical resources: topology discovery, routing and network management – must have some standard class specification
19CS-495 Advanced Networking
Interoperable Programming Model(Resource Safety)
Requires authentication, delegation of authorization
Big open problem
20CS-495 Advanced Networking
Applications
Routing– Capsules can dynamically enumerate and evaluate paths at
each node
Aggregation
Multicasting
Caching dynamic Web content (not as good for DB-related stuff)
Mobile computing context aware networking – Allows for adaptive bandwidth controls (e.g., automatic
caching and compression at bottlenecks, TCP snooping to improve TCP performance)
21CS-495 Advanced Networking
Experience
Caching programs and demand-loading them to reduce capsule size
Foundation Components can implement existing Internet functions to ease transition.
ANTS
22CS-495 Advanced Networking
Experience: ANTS
Capsule code tends to be “glue” for composing capabilities exposed by Active NodesSmall set of ops: query node environment, manipulate soft store, route capsules toward other nodesBiggest drawback: code must be signed by authority to ensure safe code– Even with central authority, Internet can evolve much faster with
ANTS– Can devote small %age of node resources to uncertified packets for
experimentation
No “killer app” because the best part of this is extensibility. Any killer app would be built into the base systemBreaking the cycle of requiring backward compatibility.
23CS-495 Advanced Networking
Preemptive Defense
Leon smells funny.
24CS-495 Advanced Networking
Active Networks are too slow and are not scalable.
Processing power is cheap and always increasing in speed
Recent trends in processing architecture (multi-core, highly parallel) is perfect for this environment.
Storage is cheap and ANs are not required to maintain reliable storage.
Due to AN architecture, AN performance can scale linearly with processing and storage capacity.
25CS-495 Advanced Networking
Modifying non-transient state is inherently unsafe and therefore we should not allow it.
Existing Internet infrastructure allows packets to cause state to modified (e.g., ARP, Link-state and DV routing algos, SNMP)
26CS-495 Advanced Networking
Bah! How are you going to achieve interoperability?
Hourglass approach. Same guiding principles of IP networks
27CS-495 Advanced Networking
What about trends toward less functionality in the network?
There is no such trend. The “intelligence” has moved toward the edges, but there is still a great deal of computation in the network (e.g., firewalls, routers, proxies, caches).
28CS-495 Advanced Networking
I’m an OSI fanatic. How will this impact the OSI Reference Model poster taped to the
ceiling above my bed?
ANs will preempt the layered model and replace it with a component model.
This type of transition is nothing new and has been ubiquitously performed in operating systems.
The OSI model sounded great, but had plenty of problems when applied to real-world networking.
29CS-495 Advanced Networking
Doesn’t this violate the end-to-end argument?
The end-to-end argument focuses on reliability
Teaches us that designers should not “over-engineer” intermediaries. Concerns the placement of functions in a network,
not whether the functions can be application-specific.
ANs still allow the end user to select levels of service and allow users to partition functionality between end systems and intermediaries.
30CS-495 Advanced Networking
Active networks will always be susceptible to devastating attacks. The current Internet is far from secure from
such attacks. If you already deal with DoS attacks in the
current Internet, why are you afraid of challenges in AN security?
31CS-495 Advanced Networking
This idea was proposed almost a decade ago and all you have to show for it are some research systems. Are you suggesting I buy stock in cold fusion, too?
Although cold fusion may someday become reality, Federal law prohibits me from providing investment advice without having passed the Series 7.
Absence of a widespread implementation does not negate the potential utility of the proposed concept.
32CS-495 Advanced Networking
This idea was proposed almost a decade ago and all you have to show for it are some research systems. Are you suggesting I buy stock in cold fusion, too?
Industry is resistant to change.
Biggest challenge is the wide-scale implementation and availability of safe and efficient code mobility.
33CS-495 Advanced Networking
Well, that’s one heck of a challenge—one with few good answers and no complete solutions. Tell me something that will make me believe that ANs will ever be deployed.
Only impediment to ANs is security, a ubiquitous problem
Similar problems already exist in the current infrastructure will never go away
This barrier to adoption will erode much like the shores of California: quickly in the midst of a cataclysmic event.
Soon we will run out of IPv4 addresses, and tricks like NAT will not last long. At some point, most of the existing Internet infrastructure will have to be uprooted. Why not begin the move to ANs then?
top related