250 likes | 347 Views
A Scalable High-Performance Active Network Node. Dan S. Decasper and Bernhard Plattner, EETH Zurich Guru M. Parulkar, Sumi Chai, John D. Dehart, and Tilman Wolf, Washington University Presenter: San-Chu Han, Yan Xiao, and Jin Zhang. Introduction. Two approaches in Active Networking:
E N D
A Scalable High-Performance Active Network Node Dan S. Decasper and Bernhard Plattner, EETH Zurich Guru M. Parulkar, Sumi Chai, John D. Dehart, and Tilman Wolf, Washington University Presenter: San-Chu Han, Yan Xiao, and Jin Zhang
Introduction Two approaches in Active Networking: • Programmable Switches • Capsules
Convergence Motivation: • Some sort of code caching makes a lot of sense (network caching) • Users use code from a set of code modules written by specialists instead of injecting their own programs into the network
Related Work • ANTS (MIT): Capsule approach • Smart Packets (BBN): Capsule approach • Georgia Tech: Network Caching • SwithWare (Univ. of PA): Active Packet, Switchlet, Secure Active Router • Scout/Joust (Univ. of AZ): Fastest Java environment for AN • Netscript (Columbia University)
Active Networking Node (ANN) • Hardware: Gigibit Environment • Software: -NodeOS -Execution Environment
ANN Hardware • A high number of processing elements (PEs) compared to the number of router ports • Tight coupling between a processing engine and the network, as well as between the processing engine and a switch backplane • Scalable processing power to meet the demands of active processing of packets
ANN Software Infrastrucure • NodeOS: Kernel; • Execution Environment (EE): active networking protocol-specific; DAN, Smart Packets, Switch Ware, IP, etc.
NodeOS • Device Drivers (DD) • Packet Classifier (PC) • Selector Dispatcher (SD) • Packet Scheduler (PS) • Resource Controller (RC) • Plugin Control Unit (PCU) • Plugin Manager (PM)
Distributed Code Caching (DAN) • Combination of the programmable switch and capsule approaches • Replace the capsules’ program code by a reference to an active plugin stored on a code server • Code fragment (plugin) is dynamically linked and executed like local code
DAN features • Active Plugins in Object Code • Security Addressed by Use of Well-Known Cryptography Techniques • Minimization of Code Download Time • Policies • Integration with Existing Network Protocols
Active Plugins in Object Code • Active plugins are programmed in higher-level languages such as C and compiled into object code for the ANN platform • Once loaded, they are in no way different than any other code
Security Addressed by Use of Cryptography Techniques • All active plugins stored on code servers are digitally signed by their developers • Code servers are well-known network nodes that authenticate active plugins when sending them to ANN • ANNs have the capability to check the plugin’s sources and developer before installing and running active plugins locally
Minimization of Code Download Time • Probe packet • Optimal code server arrangement • Minimizing the distance between ANN and code server
Policies • Acceptance of specified active plugins • Plugin caching behavior: Setting timeouts for active plugins.
Integration with Existing Network Protocols • Data link layer: Link layer control (LLC) SNAP field • Network layer: IP options, especially IPv6 • Transport layer: Active plugin download can take place on connection setup
The DAN Execution Environment • Active Function Dispatcher (AFD) • Active Plugin Loader (APL) • Policy Controller (PC) • Security Gateway (SG) • Plugin Database Controller (PDC) • Plugin Request (PR)
Code Server • Feature a database of active plugins • Networks nodes running a version of the DPMgmt • End systems similar to database servers are better suited to be configured as code servers
Plugin Packages • The code for one or more active functions • The developer’s digital signature • The code server’s authentication info. • Configuration information
Conclusion and Future Work • Three key components (factors) • In the process of implementing the system • Start working on a variety of applications: automatic protocol deployment and others