Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Network ExperimentProgramming Interface
(NEPI)Alina Quereilhac Martin H. Ferrari
Thierry Turletti Walid DabbousMathieu Lacage
Planète (INRIA) NEPI GEC9 1 / 15
Objective Scenario
Simulated links/networksI ns-3 simulation models XI Realtime scheduler XI Tap device X
Light weight Virtual MachinesI Linux Network Namespaces X
Planète (INRIA) NEPI GEC9 2 / 15
Objective Scenario
Simulated links/networksI ns-3 simulation models XI Realtime scheduler XI Tap device X
Light weight Virtual MachinesI Linux Network Namespaces X
Planète (INRIA) NEPI GEC9 2 / 15
Objective Scenario
VLCServer
RouterWifiAP
WifiSTA
Router
VLCClient
Simulated links/networksI ns-3 simulation models XI Realtime scheduler XI Tap device X
Light weight Virtual MachinesI Linux Network Namespaces X
Planète (INRIA) NEPI GEC9 2 / 15
Objective Scenario
VLCServer
RouterWifiAP
WifiSTA
Router
VLCClient
Simulated links/networksI ns-3 simulation models XI Realtime scheduler XI Tap device X
Light weight Virtual MachinesI Linux Network Namespaces X
Planète (INRIA) NEPI GEC9 2 / 15
Easy Deployment
ProblemI Tap/VM creation and setupI Coherent IP address assignment across
simulation and VMsI Coherent IP forwarding tables across
simulation and VMsSolution
I Automate everythingBUT
I Need global view of experiment topology
Planète (INRIA) NEPI GEC9 3 / 15
Easy DeploymentProblem
I Tap/VM creation and setup
I Coherent IP address assignment acrosssimulation and VMs
I Coherent IP forwarding tables acrosssimulation and VMs
SolutionI Automate everything
BUTI Need global view of experiment topology
Planète (INRIA) NEPI GEC9 3 / 15
Easy DeploymentProblem
I Tap/VM creation and setupI Coherent IP address assignment across
simulation and VMs
I Coherent IP forwarding tables acrosssimulation and VMs
SolutionI Automate everything
BUTI Need global view of experiment topology
Planète (INRIA) NEPI GEC9 3 / 15
Easy DeploymentProblem
I Tap/VM creation and setupI Coherent IP address assignment across
simulation and VMsI Coherent IP forwarding tables across
simulation and VMs
SolutionI Automate everything
BUTI Need global view of experiment topology
Planète (INRIA) NEPI GEC9 3 / 15
Easy DeploymentProblem
I Tap/VM creation and setupI Coherent IP address assignment across
simulation and VMsI Coherent IP forwarding tables across
simulation and VMsSolution
I Automate everything
BUTI Need global view of experiment topology
Planète (INRIA) NEPI GEC9 3 / 15
Easy DeploymentProblem
I Tap/VM creation and setupI Coherent IP address assignment across
simulation and VMsI Coherent IP forwarding tables across
simulation and VMsSolution
I Automate everythingBUT
I Need global view of experiment topology
Planète (INRIA) NEPI GEC9 3 / 15
Related Work
I Emulab Tcl: ad hoc, hard to generalizeI OMF Ruby: unclear how to extend it to model
complex topologiesI OMNeT++ NED: hard to ensure correctnessI SSF DML: hard to ensure correctnessI Geni RSPEC: hard to ensure correctnessI Geni Omnispec: hard to ensure correctness
Planète (INRIA) NEPI GEC9 4 / 15
Related Work
I Emulab Tcl: ad hoc, hard to generalize
I OMF Ruby: unclear how to extend it to modelcomplex topologies
I OMNeT++ NED: hard to ensure correctnessI SSF DML: hard to ensure correctnessI Geni RSPEC: hard to ensure correctnessI Geni Omnispec: hard to ensure correctness
Planète (INRIA) NEPI GEC9 4 / 15
Related Work
I Emulab Tcl: ad hoc, hard to generalizeI OMF Ruby: unclear how to extend it to model
complex topologies
I OMNeT++ NED: hard to ensure correctnessI SSF DML: hard to ensure correctnessI Geni RSPEC: hard to ensure correctnessI Geni Omnispec: hard to ensure correctness
Planète (INRIA) NEPI GEC9 4 / 15
Related Work
I Emulab Tcl: ad hoc, hard to generalizeI OMF Ruby: unclear how to extend it to model
complex topologiesI OMNeT++ NED: hard to ensure correctness
I SSF DML: hard to ensure correctnessI Geni RSPEC: hard to ensure correctnessI Geni Omnispec: hard to ensure correctness
Planète (INRIA) NEPI GEC9 4 / 15
Related Work
I Emulab Tcl: ad hoc, hard to generalizeI OMF Ruby: unclear how to extend it to model
complex topologiesI OMNeT++ NED: hard to ensure correctnessI SSF DML: hard to ensure correctness
I Geni RSPEC: hard to ensure correctnessI Geni Omnispec: hard to ensure correctness
Planète (INRIA) NEPI GEC9 4 / 15
Related Work
I Emulab Tcl: ad hoc, hard to generalizeI OMF Ruby: unclear how to extend it to model
complex topologiesI OMNeT++ NED: hard to ensure correctnessI SSF DML: hard to ensure correctnessI Geni RSPEC: hard to ensure correctness
I Geni Omnispec: hard to ensure correctness
Planète (INRIA) NEPI GEC9 4 / 15
Related Work
I Emulab Tcl: ad hoc, hard to generalizeI OMF Ruby: unclear how to extend it to model
complex topologiesI OMNeT++ NED: hard to ensure correctnessI SSF DML: hard to ensure correctnessI Geni RSPEC: hard to ensure correctnessI Geni Omnispec: hard to ensure correctness
Planète (INRIA) NEPI GEC9 4 / 15
NEPI Object Model
Functional unit / BoxAttributesTrace sourcesConnectorsAllowed connectionsHierarchical
Planète (INRIA) NEPI GEC9 5 / 15
NEPI Object Model
Functional unit / Box
AttributesTrace sourcesConnectorsAllowed connectionsHierarchical
Example:I IP stackI TCP stackI Ethernet card
Planète (INRIA) NEPI GEC9 5 / 15
NEPI Object Model
Functional unit / BoxAttributes
Trace sourcesConnectorsAllowed connectionsHierarchical
Example:I IP checksumI IP forwarding
Planète (INRIA) NEPI GEC9 5 / 15
NEPI Object Model
Functional unit / BoxAttributesTrace sources
ConnectorsAllowed connectionsHierarchical
Example:I Out packetsI In packets
Planète (INRIA) NEPI GEC9 5 / 15
NEPI Object Model
Functional unit / BoxAttributesTrace sourcesConnectors
Allowed connectionsHierarchical
Ethernet
IP
dev
node
Planète (INRIA) NEPI GEC9 5 / 15
NEPI Object Model
Functional unit / BoxAttributesTrace sourcesConnectorsAllowed connections
Hierarchical
Ethernet
IP
Ethernet
dev
node node
app
Planète (INRIA) NEPI GEC9 5 / 15
NEPI Object Model
Functional unit / BoxAttributesTrace sourcesConnectorsAllowed connectionsHierarchical
Ethernet
Switch
Ethernet
node node
Node
dev
cablecable
port0 port1
Planète (INRIA) NEPI GEC9 5 / 15
Objective Scenario
Planète (INRIA) NEPI GEC9 6 / 15
NEPI Representation
Mobility
WifiNet
Device
Node
ARPICMPIP
TapNodeInterface
Node
FDNetDevice
Mobility
FDNetDevice
YansWifiPhyYansWifiPhy
Delay
YansWifiChannel
Loss
Nist Nist
WifiNet
Device
Manager
ApMac
Node
ARPIP ICMP
Manager
StaMac
TapNodeInterface
Node
ns-3NetNsNetNs
Planète (INRIA) NEPI GEC9 7 / 15
Global IP topology
net2net1net0 Wifi Ap Wifi Sta FdFdTap Tap
n1n0 n2 n3
Planète (INRIA) NEPI GEC9 8 / 15
Demo screenshot
Planète (INRIA) NEPI GEC9 9 / 15
ConclusionWell chosen Object Model
I GUI
I ExpressiveI Simple coherent APII Connection checkingI Automates deployment thanks to global
topology knowledge
More details: http://yans.pl.sophia.inria.fr/trac/nepi
Planète (INRIA) NEPI GEC9 10 / 15
ConclusionWell chosen Object Model
I GUII Expressive
I Simple coherent APII Connection checkingI Automates deployment thanks to global
topology knowledge
More details: http://yans.pl.sophia.inria.fr/trac/nepi
Planète (INRIA) NEPI GEC9 10 / 15
ConclusionWell chosen Object Model
I GUII ExpressiveI Simple coherent API
I Connection checkingI Automates deployment thanks to global
topology knowledge
More details: http://yans.pl.sophia.inria.fr/trac/nepi
Planète (INRIA) NEPI GEC9 10 / 15
ConclusionWell chosen Object Model
I GUII ExpressiveI Simple coherent APII Connection checking
I Automates deployment thanks to globaltopology knowledge
More details: http://yans.pl.sophia.inria.fr/trac/nepi
Planète (INRIA) NEPI GEC9 10 / 15
ConclusionWell chosen Object Model
I GUII ExpressiveI Simple coherent APII Connection checkingI Automates deployment thanks to global
topology knowledge
More details: http://yans.pl.sophia.inria.fr/trac/nepi
Planète (INRIA) NEPI GEC9 10 / 15
ConclusionWell chosen Object Model
I GUII ExpressiveI Simple coherent APII Connection checkingI Automates deployment thanks to global
topology knowledge
More details: http://yans.pl.sophia.inria.fr/trac/nepi
Planète (INRIA) NEPI GEC9 10 / 15
Future work
I Support SFA/rspecI Support ...?
Planète (INRIA) NEPI GEC9 11 / 15
Team
I Martin H. Ferrari, twice über Intern:implementation, ns-3 backend, NetNs
I Alina Quereilhac, Engineer: bugfixing,cleanup, refactoring
I Thierry Turletti: First userI Walid Dabbous: Initiated this work
Planète (INRIA) NEPI GEC9 12 / 15
IP endpoints
Cannot use DNS:I Some backends do not support itI Hard to deploy
Instead:I Resolve endpoint names to IP/port before
deployment
Planète (INRIA) NEPI GEC9 14 / 15
IP endpoints
Cannot use DNS:I Some backends do not support itI Hard to deploy
Instead:I Resolve endpoint names to IP/port before
deployment
Planète (INRIA) NEPI GEC9 14 / 15
IP assignment
Currently stupid algorithm:I Allocate consecutive IP addressesI n entries per forwarding table
Planned:I Automatic IP Address Assignment on Network
Topologies, by John Byers, Jay Lepreau,Jonathon Duerig and Robert Ricci
Planète (INRIA) NEPI GEC9 15 / 15
IP assignment
Currently stupid algorithm:I Allocate consecutive IP addressesI n entries per forwarding table
Planned:I Automatic IP Address Assignment on Network
Topologies, by John Byers, Jay Lepreau,Jonathon Duerig and Robert Ricci
Planète (INRIA) NEPI GEC9 15 / 15