Active Network
480 likes | 802 Vues
Active Network. Contents. Active Network ? Motivations Lead Users New Applications Programmable Switch Capsule Programming Model Ongoing Research Projects ABONE Hard Problems. Active Network. Active Router. Active Packet. Host. Active Router. Active Router. Active Packet.
Active Network
E N D
Presentation Transcript
Contents • Active Network ? • Motivations • Lead Users • New Applications • Programmable Switch • Capsule • Programming Model • Ongoing Research Projects • ABONE • Hard Problems
Active Network Active Router Active Packet Host Active Router Active Router Active Packet Active Router Host Active Packet Active Router
AN : What is it ? • Software-intensive network architecture • Network switches perform customized computations on the messages flowing through them • Customizable on a per user or per application basis • Individuals can inject programs into the network • Applicable to Internet : overlay or substitution • DARPA sponsored research projects
Motivations • Internet is difficult to maintain : 8 years from prototype to deployment (backlogs are multicast, authentication, mobility extension, RSVP, IPv6) • Mismatch between user requirement change rate and the physical system change rate • Router/switch is proprietary hardware plus customized software (mainframe mindset)
Approaches • Virtualized approach : software detached from hardware (anyone can provide innovative software) • Protocol components instead of layers • Equivalent computational model instead of equivalent program at each node
Lead Users • Firewall • Web Proxy • Mobile/Nomadic Router • Transport Gateway • Application-specific Gateway • Multicast (MBONE) • RSVP (RBONE) • IPv6 (6BONE) • AIN
New Applications • Merging and distribution of information • User-aware network protection • Active network management • Router, switch, packet analyzer, firewall, RTP mixermultimedia transcoder, web streaming, congestion control, Internet phone, NACK filtering in multicast
Two Approaches • Programmable Switches • Capsule
Programmable Switch • Discrete approach : program loading is separated from message processing • Easy migration • Program injection by authenticated operators • Upon header examination, appropriate programs are dispatched to operate on message contents
Capsule • Integrated approach : every message is a program (a la Postscript) • capsule = program + data
Programming Model • Program Encoding • Mobility • Safety • Efficiency • Common Primitives • change header/payload/length • access to node’s environment (address, time, link status) • control packet flow (forwarding, copying, discarding) • access to node storage and scheduling • Node Resources and their Allocation • physical resources (bandwidth, processing capacity, storage) • logical resources (routing table, MIB)
Program Encoding • Source Level : script language • Tcl • NetScript • Intermediate Representation • Java • Object-code Level • Omniware
Research Projects • Columbia NetScript • MIT SpectrumWare, ANTS • Upenn SwitchWare, PLAN, Security • Bellcore OPCV2, Active Router, Protocol Booster • BBN Smart Packet • GeorgiaTech CANES • UArizona Liquid Software • UCLA/LBNL Adaptive Web Caching
SwitchWare • Upenn + Bellcore • SwitchWare switch = I/O + program (computer) • Hierarchical Layers : • Active Packet, Switchlet, Active Router Infrastructure Network Active Packet Active Packet Active Packet switchlets Active Router Infrastructure
SwitchWare (cont’d) • Active Packet • mobile program (code + data) • PLAN : Programming Language for Active Networks • Switchlet • dynamically-loaded extensions, not mobile • not lightweight, tight security mechanisms • Secure Active Network Environment (SANE) • static, secure foundation
SwitchWare Application • Active Network Striping for Software Scalable Bandwidth Channel 1 SwitchWare Switch B SwitchWare Switch A Host A Channel 2 Host B Channel 3 Channel 4
Pseudocode • Switchlet for sender stripingWhen Arrives(Packet, InPort){ Send ((SequenceNumber, Packet),OutPort); OutPort := (OutPort+1) Mod Channels;}
Pseudocode • Switchlet for receiver stripingWhen (Arrives ((SequenceNumber,Packet), InPort)){ If (InOrder(SequenceNumber,Expected)) { Send (Packet,OutPort); Expected:=Expected+1; While(CheckQueue(QueueName,Expected)) { Dequeue((Expected,Packet)); Send(Packet,OutPort); Expected:=Expected+1; } } else Queue((SequenceNumber,Packet),QueueName); }
ANTS (Active Node Transfer System) • Capsule-based active network toolkit • written in Java, protocols carried as bytecodes • Capsules carry program state as they travel • they are external representation of object instances • Protocol code is demand loaded by nodes • depends on previous node and caching • Nodes provide API for protocol writer • soft-state cache, routing primitives
ANTS Goals • Today’s networks lack flexibility … • Active networks are an appealing solution, but no convincing demonstration that they can work … Seek to allow new network services to be introduced rapidly. Evaluate the hypothesis that they can provide useful flexibility at a reasonable security/performance cost.
ANTS Architecture • Approach • uncoordinated introduction, automatic deployment • application-specific protocols used “on-the-fly” • Model • programmable routers generalize IP forwarding • mobile code used to implement new services • Goal • show feasibility/usefulness, explore tradeoffs
ANTS Glossary • Node • programmable router that implements services • Capsule • generalized packet (header + data + program) • different capsule types have different programs • Protocol • communication rules that provide a service • codified as set of related capsule types • Application • network client that uses services via protocols
Capsules are Generalized Packets • carry the program and protocol by reference using a fingerprint to prevent code spoofing • header includes at least fields for default forwarding, resource limits and source identification Protocol+Program Id Header Data Node Node Capsule
Node Operating System • hosts user-defined protocols • capsule API: soft-storage, routing, … • admits new protocols at its discretion • protects network/protocol integrity • executes untrusted code, limits resource use • provides each protocol with its network “view” • distributes code among nodes
Code is Loaded at Routers • application provides code at end systems, while node loading is triggered by capsules need to be efficient, adaptive, and load-limited previous node loading node load request time load response
Smart PacketsA DARPA-Funded Research Project A. Jackson, G. Lauer, C. Partridge, D. Rockwell, B. Schwartz, W. Zhou
Overall Goal • Our goal is to add programmability to management and diagnostic packets • constrained scope realizable in individual packets • flexible and rich programming environment as possible in one packet • code authentication and run-time authorization
smart pkt compiler assembler data smart pkt data smart pkt data Component Overview Router 1 execution environment • Program in single packet • Hop-by-hop evaluation • Data returns to source injector Router 2 authentication display execution environment Source execution environment Destination
ABONE • Experiment prototype active node implementations • MIT (ANTS) -- ISI (ANTS)MIT (ANTS) -- UArizona (ANTS)ISI (ANEP) -- UKansas (ANEP) • Active Network Encapsulation Protocol (ANEP) • Active Network Overlay Network (ANON)
Hard Problems • Security • Management • Applications • Performance • Interoperability
What to do ? • Initiate research programs on advanced Internet, and active network is one of them. • Develop new generation of low cost network nodes (router, ATM switch) with open architecture. • Close collaboration is required among different research communities : programming language, operating system, object technology, and networking • Capitalize on selected application servers : hierarchical web caching, multimedia stream server • Build testbed network
R&D Proposals • Low Cost Switch with Open Architecture • Multicast Multimedia Application with loadable software at switches • Conferencing • Internet phone • Stream service (broadcasting, interactive)
Discussions • AN may be a solution to IP vs. ATM debate. True or not ? • Can AN switches replace public telco switches? • Proliferation of user-defined switch functions and associated applications will create new industries and companies like Microsoft will die out. Will it happen ? • What is our role (HSN community) in this business ?