Σάββατο 28 Ιουνίου 2014

Software Defined Networks - Active Networks

a. History of SDN
This lesson: Active Networks
ž - What are active networks?
— - Motivation for active networks
— - Technologies behind active networks
 - How do active networks relate to SDN?
ž - The legacy of active networks

b. Evolution of Supporting Technologies
Central network control: Dates back (at least) to AT&T’s network control point (1980s)
 - Programmability in networks: Active networks (1990s)
ž - Network virtualization: Switchlets, XEN, VINI (1990s)

c. What are Active Networks?
Networks where switches perform custom computations on packets
ž - Examples (and motivation)
— - Trace program running at each router
— - Middleboxes: firewalls, proxies, application services

d. Origins of Active Networks
DARPA research community (1994-1995)
ž - Identified problems with today’s networks
— - Difficulty of integrating new technology
— - Poor performance due to redundant operations at several protocol layers
— - Difficulty accommodating new services

e. Motivation for Active Networks
Accelerating innovation
— - Internet innovation relies on consensus
— - Takes ten years from prototype to deployment (standardization, procurement, deployment)
ž - Active nodes allow routers to download new services into the infrastructure
— - User-driven innovation

f. Idea: Messages Carry Procedures & Data
Active routers coexist with legacy routers
ž - Each programmable switch can perform additional processing
User “Pulls” and Technology “Push”
User Pull (demand)
— - Proliferation of firewalls, proxies, transcoders, etc.
 - Goal: Replace ad hoc approaches
ž - Technology Push (enablers)
— - Safe execution of mobile code,Java applets
— - OS support
 - Scout: real-time communications
 - Exokernel: safe access to low-level resources
 - SPIN: trustworthy code generation

g. Two Different Approaches
Capsules (“integrated”)
— - Every message is a program. Active nodes evaluate content carried in packets.
— - Code dispatched to execution environment
ž - Programmable Switches (“discrete”)
— - Custom processing functions run on the routers
— - Packets are routed through programmable nodes
— - Program depends on the packet header

h. Capsules
Type
— - Forwarding routine to be executed (carries code by reference)
ž - Previous address
— - Where to get the forwarding routine from if it is not available in the present node
ž - Dependent Fields
— - Parameters for the forwarding code
ž - Payload
— - Header + data of higher layers

i. Some Previous Notable Projects
ANTS (MIT): Packet capsules (Java programs)
— - Some limitations for QoS guarantees. Arizona implemented Joust JVM to provide better real-time performance.
ž - SwitchWare (Penn): Programmable switch, scripting language to support invocation of switchlets
ž - Smart Packets (BBN): Network management
ž - Open Signaling (Columbia): NetScript, a language to provide programmable processing of packet streams.
ž - Tempest (Cambridge): Switchlets (more next time)
Timing was off
— - No clear application (pre-data center/cloud)
— - Hardware support wasn’t cheap -- everyone was using ASICs, whereas now TCAMs, FPGAs, NPUs.
ž - Some missteps
— - Security, special languages for safe code, packets carrying code
— - End user as programmer (vs. network operator)
— - Interoperability
ž - In contrast: OpenFlow did a good job grappling with backwards compatible with switch hardware.
— - Simple firmware upgrade.
— - Switch hardware already supported the basics.

j. The Legacy of Active Networks for SDN
Programmable functions in network to enable innovation
ž - Demultiplexing programs on packet headers
— - Planetlab, Flowvisor, GENI, etc. all use this
ž - Paying attention to middleboxes and how these functions are composed

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου