promile a management architecture for programmable modular routers miguel rio (joint work with...
TRANSCRIPT
Promile
A Management Architecture for Programmable Modular Routers
Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer,
Wolfgang Emmerich and Cecilia Mascolo)
Department of Computer ScienceUniversity College London
25 Sep 2001, Miguel Rio OpenSig 2001
Outline Motivation Architecture Overview XML based engine A modular Kernel Conclusions Current Work
25 Sep 2001, Miguel Rio OpenSig 2001
Motivation Increase network flexibility
Allow the fine-grain update of node configurations
Allow the management and reconfiguration of multiple and heterogeneous nodes at the same time Be able to change and configure the packet
data path at run-time inside each router Easy inclusion of QoS elements Do not affect performance
25 Sep 2001, Miguel Rio OpenSig 2001
A two-level system
XML based engine
manager
mod3 mod4 mod5 mod mod
mod1 mod2
XMLLoad module
XMLRem. module
XMLConnect module
XMLAdd Rule
XMLRemove Rule
XML…
Forwarding Engine
kernel
25 Sep 2001, Miguel Rio OpenSig 2001
Router Management
XMLDocuments
Router 1
Router 3
Router n
…
Router 2
25 Sep 2001, Miguel Rio OpenSig 2001
Why XML ? XML allows us to change the syntax
of our configurations at run-time XML’s related technologies allow
easy update of configurations Easy addressing and manipulation parts
of the XML document Several off-the-shelf XML tools
25 Sep 2001, Miguel Rio OpenSig 2001
A two-level system
XML based engine
manager
mod3 mod4 mod5 mod mod
mod1 mod2
XMLLoad module
XMLRem. module
XMLConnect module
XMLAdd Rule
XMLRemove Rule
XML…
Forwarding Engine
kernel
25 Sep 2001, Miguel Rio OpenSig 2001
DiffServ Example: Module insertion and connection
<action type="LoadModule"> <module type="marker" name="m1"/> <module type="dropper" name="d1"/> </action> <action type="ConnectModule"> <module fromModuleName="classifier"
fromGate="0" toModuleName="dropper" toGate="0"/> <module fromModuleName="dropper"
fromGate="0" toModuleName="marker" toGate="0"/> </action>
25 Sep 2001, Miguel Rio OpenSig 2001
Rule Insertion
<action type="AddRules"> <module name="marker"> <rule IPSource="128.16.6.*" TCPSource=“23"
IPDest="" TCPDest="22" class="1"/> </module> <module name="dropper"> <rule IPSource="128.16.8.*" TCPSource=“22"
IPDest="" TCPDest="22" /> </module> </action>
25 Sep 2001, Miguel Rio OpenSig 2001
XML Schema<xsd:element name="marker">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="connections">
…
<xsd:element name="rule">
<xsd:attribute name="IPSource" type="IPType" use="optional"/>
…
25 Sep 2001, Miguel Rio OpenSig 2001
A two-level system
XML based engine
manager
mod3 mod4 mod5 mod mod
mod1 mod2
XMLLoad module
XMLRem. module
XMLConnect module
XMLAdd Rule
XMLRemove Rule
XML…
Forwarding Engine
kernel
25 Sep 2001, Miguel Rio OpenSig 2001
A modular kernel
Manager
Mod 2
1 2
3
Mod 1
Kernel
User Space
25 Sep 2001, Miguel Rio OpenSig 2001
Updating modules using Netlink
manager
Netlink
kernel
User Space
25 Sep 2001, Miguel Rio OpenSig 2001
Example:Differentiated Services
Forwardingenginemarkerdropper
classif.
policerscheduler
…
25 Sep 2001, Miguel Rio OpenSig 2001
Other applications
FirewallsVirtual Private NetworksActive BridgingNAT IPv6 migration
25 Sep 2001, Miguel Rio OpenSig 2001
Implementation XML based engine is implemented in
JAVA. Java provides portability and dynamic update of router management code
The Kernel modules are implemented in C to prevent significant efficiency losses.
25 Sep 2001, Miguel Rio OpenSig 2001
Preliminary Evaluation
Throughput
0
20
40
60
80
100
120
1 2 3 4 5 6 7 8 9 10
Data Sent
Dat
a R
ecei
ved
Normal Linux
Promile 10000
Promile 20000
Promile 30000
Promile 40000
Promile 50000
25 Sep 2001, Miguel Rio OpenSig 2001
Conclusions XML allows flexibility defining router
behaviour. It is portable and it is a well-known markup language Using XML Schema the behaviour grammar
can be defined, checked and modified at run-time
Our Architecture allows insertion, removal and (re)configuration of modules inside the active router without traffic disruption
25 Sep 2001, Miguel Rio OpenSig 2001
Related Work MIT’s Click, Router Plugins
(Washington): Allow the composition of services at run-time.
Plan(Upen) and SafetyNet (Sussex): Strongly typed & O-O specification of network behaviour
25 Sep 2001, Miguel Rio OpenSig 2001
Current and Future Work Formal description and validation of
router configurations Integration with SNMP/MIB framework Extending the model to configure routing
protocol elements running in the user level
Transactions and Security Application to Ad-Hoc networks Performance Evaluation
25 Sep 2001, Miguel Rio OpenSig 2001
Questions ?
http://pizza.cs.ucl.ac.uk/promile