promile a management architecture for programmable modular routers miguel rio (joint work with...

21
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 Science University College London

Upload: amy-rich

Post on 28-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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

Page 2: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

25 Sep 2001, Miguel Rio OpenSig 2001

Outline Motivation Architecture Overview XML based engine A modular Kernel Conclusions Current Work

Page 3: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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

Page 4: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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

Page 5: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

25 Sep 2001, Miguel Rio OpenSig 2001

Router Management

XMLDocuments

Router 1

Router 3

Router n

Router 2

Page 6: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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

Page 7: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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

Page 8: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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>

Page 9: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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>

Page 10: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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"/>

Page 11: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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

Page 12: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

25 Sep 2001, Miguel Rio OpenSig 2001

A modular kernel

Manager

Mod 2

1 2

3

Mod 1

Kernel

User Space

Page 13: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

25 Sep 2001, Miguel Rio OpenSig 2001

Updating modules using Netlink

manager

Netlink

kernel

User Space

Page 14: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

25 Sep 2001, Miguel Rio OpenSig 2001

Example:Differentiated Services

Forwardingenginemarkerdropper

classif.

policerscheduler

Page 15: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

25 Sep 2001, Miguel Rio OpenSig 2001

Other applications

FirewallsVirtual Private NetworksActive BridgingNAT IPv6 migration

Page 16: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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.

Page 17: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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

Page 18: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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

Page 19: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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

Page 20: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

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

Page 21: Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich

25 Sep 2001, Miguel Rio OpenSig 2001

Questions ?

http://pizza.cs.ucl.ac.uk/promile