Middleware and Management Support for Programmable QoS-Network Architectures
Miguel Rio (joint work with Hermann De Meer, Wolfgang Emmerich,
Cecilia Mascolo, Nicola Pezzi and Luca Zanolin)
Department of Computer ScienceUniversity College London
2 October 2001, Miguel Rio IWAN 2001
Outline Motivation Architecture Overview XML based engine A modular Kernel Conclusions Current Work
2 October 2001, Miguel Rio IWAN 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
2 October 2001, Miguel Rio IWAN 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
2 October 2001, Miguel Rio IWAN 2001
Router Management
XMLDocuments
Router 1
Router 3
Router n
…
Router 2
2 October 2001, Miguel Rio IWAN 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
2 October 2001, Miguel Rio IWAN 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
2 October 2001, Miguel Rio IWAN 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>
2 October 2001, Miguel Rio IWAN 2001
Rule Insertion
<action type="AddRules"> <module name="marker"> <rule IPSource="128.16.6.*" TCPSource=“*"
IPDest="" TCPDest="22" class="1"/> </module> <module name="dropper"> <rule IPSource="128.16.8.*" TCPSource=“*"
IPDest="" TCPDest="22" /> </module> </action>
2 October 2001, Miguel Rio IWAN 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"/>
…
2 October 2001, Miguel Rio IWAN 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
2 October 2001, Miguel Rio IWAN 2001
A modular kernel
Manager
Mod 2
1 2
3
Mod 1
Kernel
User Space
2 October 2001, Miguel Rio IWAN 2001
Updating modules using Netlink
manager
Netlink
kernel
User Space
2 October 2001, Miguel Rio IWAN 2001
Example:Differentiated Services
Forwardingenginemarkerdropper
classif.
policerscheduler
…
2 October 2001, Miguel Rio IWAN 2001
Other applications
FirewallsVirtual Private NetworksActive BridgingNAT IPv6 migration
2 October 2001, Miguel Rio IWAN 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.
2 October 2001, Miguel Rio IWAN 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
2 October 2001, Miguel Rio IWAN 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
2 October 2001, Miguel Rio IWAN 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 Performance Evaluation
2 October 2001, Miguel Rio IWAN 2001
Questions ?
http://pizza.cs.ucl.ac.uk/promile
2 October 2001, Miguel Rio IWAN 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