Title: Before%20we%20start
1(No Transcript)
2Before we start
Rather than designing and evaluating a solution
to a technical problem, the following paper
articulates a sweeping vision of a future
Internet that allows users to program network
elements Inspires from the mobile code and
component based software engineering The GENI
(Global Environment for Network Innovations)
facility envisioned by the U.S. National Science
Foundation has a similar notion of slice-level
programmability. This paper has 825 citations
and is widely used in graduate networking
courses ACM SIGCOMM Computer Communications
group calls this an outstanding paper whose
contents are still a vibrant and useful
contribution today.
3This presentation was inspired from D.
Witheralls original work
4(No Transcript)
5Internet is evolving but maybe it is a little
too slow?
Compared to PC and Web, Internet is evolving at a
snails pace Reason PC and Web are programmable
? Anyone can deploy new services
6Emergence of active technologies supporting the
encapsulation and safe execution of program
fragments
Technology push
Goal is to replace the numerous ad hoc approaches
with a generic capability that allows users to
program their networks
Extend these technologies for use within the
network in ways that will change the notion of
what is in the network
Motivation
Ad hoc collection of firewalls, Web Proxies,
multicast routers, mobile proxies that perform
user-driven computation at nodes within the
network.
User pull
7An aggressive vision
Customer
Active Names
Active
ANTS
PLAN
Active Services
PAN
Click
IOS
Plugins
Manager
Flow
Packet
8An aggressive goal Let the users control their
packets
Aleksandar RED/ECN
Steve PIM
Packets
Routers
9Lessons learnt from experience
User-level reference platform 10,000
lines, 100 Java, UDP overlay Nodes build on
Java protection Publicly released since
1997 http//www.cs.washington.edu/research/net
working/ants/ Used at MIT, Utah, TIS, TASC,
SRI, UIUC, UCLA, ANTS2.0 is the latest
release, led by Utah
10Our encouragement comes from
Authorized application vendors can authenticate
themselves and inject appropriate modules into it
? Firewalls Users can adapt video to fit their
bandwidth/screen size depending on the available
bandwidth link ? Nomadic Router Web caches can
generate dynamic web pages ? Web
Proxies Wireless base station can retransmit
packets ? Wireless Allow users to see composite
images constructed by fusing information obtained
from a number of sensors ? Sensor fusion
11A new idea Lets improve the Internet by making
it programmable!
Main Idea Users can insert code into the network
and run computations on the packet
12Users can insert code into the Network and run
computations on the packet
Cisco OR Authorized Vendors OR End Users
13Users can insert code into the Network and run
computations on the packet
Install program onto router Packet carries the
program
14Users can Insert code into the Network and run
computations on the packet
Program/ Function Name Scripts Binaries
Packet
Reference
Code
Reference is based on fingerprint Efficient
MD5 is 128 bits, quick to compute Prevents code
spoofing verify without trust No need for
standards body distributed naming
15Users can insert code into the Network and run
computations on the packet
Special Active Nodes Any router
16Users can insert code into the Network and run
computations on the packet
Network ? Routing Transport ? Packet
Filtering Application ? Compression
17Q Can we deploy important services? A Yes.
Well-suited to experimenting w/ protocol
variations (rather than computation pushed into
network) Exceptions enforcing policy at a
point (firewalls) and resource control
(guaranteed service)
Q Is performance a show-stopper? Model is more
expensive than IP A No. Very few extra steps
over IP in common case and extra steps (demux,
safe eval) known to run fast
Q Can untrusted users program the network? A
Partly. This is difficult! Program Isolation -
Solved Program Starvation Not solved
18Approaches to Active Networks
Discrete Packets are sent normally but header
identifies additional function to operate on the
packet (possible to change it)
Approaches to Active Networks
Integrated Packets carry code with them, code
gets executed from node to node Capsules ?
Packets that carry code (and maybe data)
19Red Pill or Blue Pill? Err its not a pill but a
capsule!
Capsule arrives at an active node ? Contents
are evaluated Capsule contents are dispatched
to a transient execution environment If
required, external methods can be
invoked May change the non-transient state of
the node Destroy transient environment when
done
20Beyond the capsules transient environment
21Capsule Programs Mobility, Safety and Efficiency
- Capsule Primitives
- Limited set of primitive actions
- Extended through the addition of external
methods - Achieving portability/mobility
- Express in high-level language Safe-TCL
- Byte coded virtual instruction set - Java
- Platform-dependent binary format and arrange
for each capsule to carry different binary
encodings Traditional OS approaches
22Capsule Programs Mobility, Safety and Efficiency
Safe and Efficient Execution Restrict the
namespace of the capsule to the transient
environment Any capsule that accesses methods
outside of that space must first authenticate
itself Available Technologies
Source Code Intermediate Code Platform dependent Binary Code
Example Safe-TCL (High Level) Java (Byte-code) Traditional OS Approaches (Binary)
Advantages Human Readable and simple programs can be composed quickly Significant improvement in efficiency by off-loading some responsibility from the interpreter. Directly executed by the underlying hardware creates a sandbox
Disadvantages Overhead of source code interpretation and overall size of programs Still an interpreted language Requires a sophisticated compiler
23Capsule Programs Whats the right answer then?
Portability Flexibility Mobility Features
Tradeoffs
Cost Complexity
24How would we achieve Interoperable Programming
Model?
- Traditional Approach
- By standardizing the syntax and semantics of
packet - Internet routers all support the agreed IP
specifications - Not to be confused by dominance! Routers can
still implement their own programs that are
roughly equivalent
- Active Networks Approach
- Active networks can execute many different
programs - Instead of syntax and semantic
standardization, standardize the computational
model (instruction set available resources)
25Interoperability Resource Specification
System could be complex
Each capsule could leverage a wide range of
resources
Each of the resources should be named, have its
attributes specified and be carefully allocated.
26Interoperability Resource Specification A
Spartan Approach
Link abstraction must encompass the units of
bandwidth allocation and take into account the
traffic patterns generated
27Interoperability Resource Specification A
Spartan Approach
Easier to abstract In most cases it is sufficient
to assign every capsule a default allocation that
protects against runaway computations.
28Interoperability Resource Specification A
Spartan Approach
Addressed on two axes the storage utilized
during specific intervals and the duration of
those intervals Most capsules free storage
quickly, however for those who don't a garbage
collection mechanism can be implemented.
29Interoperability Resource Specification A
Spartan Approach
Storage of components that outlive the execution
of individual capsules. For example on-demand
loaded components.
30Interoperability Resource Specification A
Spartan Approach
A mechanism for naming of logical resources
becomes necessary.
31Interoperability Resource Safety
- Safe manipulation of node resources can be
partitioned in three types of activities - Dynamic assignment
- Dynamic resource allocation
- Validation
- Authenticate the capsule source, authorize and
verify tampering (Achieved through cryptography)? - Delegation
- Delegation of authorization
32From Internet to ActiveNet
- An effort of the research community to deploy a
wide area ActiveNet - Issues that will be faced are the same as in the
design of the current Internet - At first ActiveNet will adopt the technologies of
the old Internet. - Also new algorithms that will leverage the new
pool of active nodes.
33Architectural Considerations
- Traditional network architectures separate the
upper (end-to-end layers) from the lower
(hop-by-hop layers). - Network layer bridges in between.
- Active networks challenge this model.
- Computations performed in the network can be user
and application specific and user data is
accessible to them
34Architectural Considerations - FAQ
- How is interoperability achieved?
- In old Internet, nodes perform equivalent
computations on the packets flowing through them. - Active networks are capable of performing many
different computations. Here the consensus is in
the program encoding and computation environment - Isn't the trend to have less functionality in the
network? - Actually it has been towards increasing
computation
35Architectural Considerations - FAQ
- What's the impact on the layered reference model?
- The OSI model has proven useful but it shows
cracks. - Services at or below the network layer are
presumed to be user and application neutral. - It deals poorly with upper layer services that
are physically interposed between endpoints - Doesn't model the recursion that occurs at the
network layer (tunnelling of networks)? - Upper layers, are of diminished importance.
- Already ongoing research about changes to the OSI
model.
36Architectural Considerations - FAQ
- What about the end-to-end argument?
- Designer objective should be to have an
acceptable level of reliability in the lower
layers that does not trigger excessive
intervention by the end-to-end mechanism. - Active networks actually allow this guideline to
be followed more accurately by allowing
applications to partition functionality between
end points and intermediaries. - Why hasn't this been done before? Why try now?
- Mainly because the technologies required have
evolved to a certain point (ex. Code mobility)?
37Current Work
- SANE at University of Pennsylvania.
- Georgia Tech- congestion control.
- Bowman an OS for Active Nodes.
- ARM and active Router Architecture for
Multicasting.
38Conclusion Well, not exactly!
- Definitely an exciting step in network design.
- Can potentially solve many of the current
problems in passive networks, with a wide
application range. - Will increase the pace of innovation, through
rapid deployment and testing of new research. - However, most of the current implementations
havent been deployed on a large-scale net. - Security requirements are enormous and were
still working on it!
39Onto the Attacking Team
40Measured Performance From the internal files!