Title: Review of: A Survey of Programmable Networks
1Review of A Survey of Programmable Networks
Research Seminar on Reconfigurable
Hardware http//www.arl.wustl.edu/lockwood/class/
cs6812/
CS6812 Fall 2002
Lockwood
- Paper by
- Andrew T. Campbell (Columbia), Herman G. De Meer
(Univ. Hamburg), Michael E. Kounavis (Columbia),
Kazuho Miki (Hitachi), John B. Vicente (Intel),
and Daniel Villela (Columbia) - Published in
- Computer Communications Review
- April 1999
- Original copy on-line as
- http//www.acm.org/sigcomm/ccr/archive/1999/apr99/
ccr-9904-campbell.pdf - Survey by
- John Lockwood
2The Challenge
- Provide ability to
- Rapidly create new services
- Rapidly deploy new services
- Find a way to manage
- Open the network to new services
- Maintain control
- Maintain security
3Style of the Paper
- A Survey of existing work
- Broad, not deep, coverage
- Large number of references
- 49 papers cited
- Provides taxonomy of projects
4Network APIs
- Opensig
- Standard Interface for switches, routers
- Hardware modeled with open network interfaces
- Managed by middleware, like CORBA
- Telecommunications approach
- Control and transport separate
- Active Network (AN) DARPA Approach
- Active packets with Code and Data
- Capsules Executable programs, like Java
- Much more dynamic than Opensig
5Programmable Network Model
- Higher level services composed from lower-level
API calls - Separation Between
- Transport
- Video packets
- Control
- RSVP
- Management
- SNMP
6Node Operating Systems
- Functions
- Signaling
- Control
- Management
- Downloading new boot images
- Properties
- Closed
- Proprietary
- Not open to 3rd party development
- Example
- CISCO IOS
7Node Interface
- Lowest level of programmability
- in this framework
- Sits above node hardware
- Like a device driver Fig. 2
- Node Interface performs
- Access and control of node resources
- Communication Services
-
- Local significance Only
- Not a part of a group
8Network Programming Interface
- Controls multiple nodes
- API provides calls for network-wide services
- Service composition, control, resource management
- Constructed from
- Scratch, -or-
- Existing distributed computing environments
- xbind Corba
- Mobiware Corba
- Virtual Machines
- Active Network Transport Systems (ANTS)
9Programmable Network Architecture
- Network Services
- Services available to end systems
- Network Algorithms
- Transport, signaling/control, management
- Multiple time scales
- Network state management
10Programmable Networks
- Characteristics
- Network technology
- QoS-capable ATM
- Scalable Internet
- Limited Mobile
- Level of programmability
- Granularity
- Time scale
- Communications abstraction
- Virtual switches, active nodes, channels
- Architecture domain
- Signaling, management, transport
11Granularity of Control
- Course Grain
- Single packet can affect all future packets are
routed - Fine Grain
- Single packet (capsule) can only affect how it is
routed
12Network Technology
- IP Networks Smart packets U. Kansas
- Java classes
- Resource controllers
- Interface to Node
- Node managers
- Limits on CPU/resource usage
- State managers
- Control how much state a packet may leave at a
node
13Level of Programmability
- Capsules
- MIT
- Carry code and data
- Uncoordinated deployment of protocols
- Example ANTS
- Multicast services
- Mobile routing
- Application-level filtering
14Levels of Programmability continued
- Switchware
- Univ. of Pennsylvania
- Node-resident services invoked by commands in
packets - Off-line verification to ensure that low-level
extensions are safe - Functional languages
- Caml, PLAN
15Levels of Programmability continued
- Composition Languages CANES Project
- University of Kentucky Georgia Tech
- Control sequence which components are executed
- Control on how data is shared between components
- Control data shared between components
- Invocation Methods
- Events that cause a composite to be executed
16Communications Abstraction
- NodeOS
- Lowest level of reprogrammable network framework
- Provides an execution environment for
- Treads Computation
- Memory Storage
- Channels Communication capacity
- Flows Admission Control
- Active Network Encapsulation Protocol (ANEP)
- Portability against physical nodes
17Communications Abstraction (Continued)
- Netscript
- Columbia University
- Functional Language
- Strongly typed language
- A Postscript for an Active Network node
- Tempest
- University of Cambridge
- Multiple control architectures for ATM
- Switchlets Logical elements, partition of switch
18Communications Abstraction (Continued)
- Darwin Project
- Carnegie Mellon University
- Resource Management Middleware
- Supports QoS
- Components
- Xena Request Broker
- Can implement traffic control
- Beagle Signalling Protocol
- Can implement RSVP
19Communications Abstraction (Continued)
- Smart Packets Project
- BBN, not Kansas
- Encapsulation of packets ANEP
- Applications written in
- Sprocket C-like language with security -or-
- Spanner Low-level assembly-like language
- Program Example
- MIB data retrieval
20Common Properties Table 1
- Common Goals
- Composing services (13)
- Network management (3)
- Virtual networks (2)
- Enabling overlays (1)
- Programming Methodologies
- Java 4, CORBA/IDL 3, Others
- Level of Programmability
- Dynamic 10, Quasi-static 3, Static 1
- Security
- Switchware
21Conclusions
- Innovations
- Separate form from function
- not hardware from software, as noted by author
- Make programmable interfaces available
- Virtualize the network infrastructure
- Provide rapid creation and deployment of new
services - Allow coexistence of different network
architectures over the same physical network
22Questions and Discussion
- What was right with the Active Network model?
- What was wrong with the Active Network model?
- Can higher-level network layers be built on top
of underlying networks that change?