DAN Distributed Code Caching for Active Networks Dan Decasper, Bernhard Plattner dan@arl.wustl.edu, plattner@tik.ee.ethz.ch Applied Research Laboratory (ARL), Washington University, St.Louis Computer Engineering and Network Laboratory (TIK), ETH Zurich INFOCOM’98 1 980401
Active Networking • Is active networking at gigabit rates possible? • How does an architecture supporting such rates look like? • How does the platform to implement such a system look like? INFOCOM’98 2 980401
Programmable switches • Very promising real world applications demonstrated • No major performance problems • out-of-band “learning” INFOCOM’98 3 980401
Capsules • Very flexible but suffer from Performance and Security problems • assuming 10 Gb/s, 1 KByte packets – Switch must forward 1.3 million packets/s on every port • Using 300 MHz processor, that leaves 231 cycles to receive, process, and forward a packet • no time for interpretation, virtual machines, context switches • No capsules in a multi-gigabit environments in the near term INFOCOM’98 4 980401
Do we need ALL the flexibility? • Potential active networking functionality is more application specific than user specific • Number of active networking functions grows with the number of new applications and communication standards • Automatic installation and upgrading of such functions is very desirable INFOCOM’98 5 980401
The challenge • Active networking should allow applications to control networking nodes and how their packets are processed and forwarded • Requirement should not considerable degrade the performance of each network node • Fundamental challenge: – Allow relocating part of the processing from the end- systems into the network – minimize the amount of processing on a single node – make the processing as efficient as possible – keep the necessary flexibility and customizability typical to Capsules INFOCOM’98 6 980401
DAN • Our Architecture: Distributed Code Caching • Hardware and Software Platform • Applications • Conclusions and Status INFOCOM’98 7 980401
Function identifiers • Ethernet/IPv4/TCP packet – Functions identified by Protocol numbers/Port numbers or hardware Destination Address Ethernet Source Address Protocol Vers HLen TOS Total length ID Flags Fragment Offset Protocol TTL Header Checksum IPv4 Source Address Destination Address Options (if any) Source Port Destination Port TCP ... 32 bits INFOCOM’98 8 980401
Distributed Code Caching • Abstract view: fi 2 P 1 fi 3 P 2 ... ... P N • Today: – Function identifiers commonly identify known functions or packet is dropped by the router. • New: – Let router look for the implementation of the identified function on a Code Server! • Devices featuring that property are called Active Network Nodes (ANN) INFOCOM’98 9 980401
Distributed Code Caching (Cont.) Workstation Workstation Code Server ANN ANN ANN Workstation Workstation Video server INFOCOM’98 10 980401
Important properties • Active modules in machine code, no per packet processing overhead -> HIGH PERFORMANCE • Security addressed by usage of simple and well known cryptology techniques – Active modules signed and authenticated. – Keys distributed using DNS security extensions (requires only one key to be installed initially on an ANN) • Policies – Acceptance policies – Caching policies INFOCOM’98 11 980401
Potential problems • Delay: Download time minimization required and possible – Probe packets – Code server arrangement optimization -> Minimizing distance between ANN and code server – Cache misses potentially rare • Not as flexible as typical “capsule” approaches – Active modules have to be installed on Code Servers – Code servers can automatically exchange active modules – Best case: Active module manually installed on only one code server INFOCOM’98 12 980401
Platform • Distributed Code Caching is only a first step towards gigabit active networking • Optimized hardware and software platform required • Over past years, we prototyped technological hardware and software components – APIC (1.2 Gbit/s ATM host adapter) – WUGS (Washington University Gigabit Switch) – Crossbow (modular, extensible router platform based on NetBSD) INFOCOM’98 13 980401
ANN Hardware Active Network Node (ANN) to other ANN to other ANN ANPE ANPE CPU CPU . . . APIC Memory APIC Memory Cache Cache BI BI A B WUGS ATM "Backplane" ANPE ANPE CPU CPU . . . APIC Memory APIC Memory Cache Cache BI BI C D to other ANN to other ANN Load Balancing ANPE - Active Network Processing Element BI - Bus Interface INFOCOM’98 14 980401
ANPE Software Architecture • Implemented on top of NetBSD/Crossbow • Control-Path components in User Space, Data- Path components in Kernel • Kernel: – Function Dispatcher – Resource Controller • User Space: – Active Module Loader – Module Database Controller – Security Gateway – Policy Controller INFOCOM’98 15 980401
Applications • Automatic Network Protocol Deployment / Revision – especially well suited for IPv6 options • Large-Scale reliable multicast – Faster recovery through topology knowledge – Application-specific multicast • Congestion control for real-time video and audio • High-performance media gateways for real-time multicast audio/video sessions INFOCOM’98 16 980401
Conclusion and Status • We believe Active Networking is a fascinating idea worth pursuing! • Existing systems do not focus on multi-gigabit environments • Some restrictions regarding flexibility for the benefit of performance is a valid compromise • Submitted proposal to DARPA for a “Scalable, High Performance Active Network Node” • Currently negotiating contract with DARPA • Web site: http://www.arl.wustl.edu/arl/projects/ann/ann.html INFOCOM’98 17 980401
Recommend
More recommend