42
Network Experiment Programming Interface (NEPI) Alina Quereilhac Martin H. Ferrari Thierry Turletti Walid Dabbous Mathieu Lacage Planète (INRIA) NEPI GEC9 1 / 15

Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

Network ExperimentProgramming Interface

(NEPI)Alina Quereilhac Martin H. Ferrari

Thierry Turletti Walid DabbousMathieu Lacage

Planète (INRIA) NEPI GEC9 1 / 15

Page 2: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 3: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 4: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 5: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 6: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 7: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 8: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 9: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 10: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 11: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 12: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 13: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 14: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 15: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 16: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 17: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 18: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 19: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

NEPI Object Model

Functional unit / BoxAttributesTrace sourcesConnectorsAllowed connectionsHierarchical

Planète (INRIA) NEPI GEC9 5 / 15

Page 20: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

NEPI Object Model

Functional unit / Box

AttributesTrace sourcesConnectorsAllowed connectionsHierarchical

Example:I IP stackI TCP stackI Ethernet card

Planète (INRIA) NEPI GEC9 5 / 15

Page 21: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

NEPI Object Model

Functional unit / BoxAttributes

Trace sourcesConnectorsAllowed connectionsHierarchical

Example:I IP checksumI IP forwarding

Planète (INRIA) NEPI GEC9 5 / 15

Page 22: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

NEPI Object Model

Functional unit / BoxAttributesTrace sources

ConnectorsAllowed connectionsHierarchical

Example:I Out packetsI In packets

Planète (INRIA) NEPI GEC9 5 / 15

Page 23: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

NEPI Object Model

Functional unit / BoxAttributesTrace sourcesConnectors

Allowed connectionsHierarchical

Ethernet

IP

dev

node

Planète (INRIA) NEPI GEC9 5 / 15

Page 24: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

NEPI Object Model

Functional unit / BoxAttributesTrace sourcesConnectorsAllowed connections

Hierarchical

Ethernet

IP

Ethernet

dev

node node

app

Planète (INRIA) NEPI GEC9 5 / 15

Page 25: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 26: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

Objective Scenario

Planète (INRIA) NEPI GEC9 6 / 15

Page 27: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 28: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

Global IP topology

net2net1net0 Wifi Ap Wifi Sta FdFdTap Tap

n1n0 n2 n3

Planète (INRIA) NEPI GEC9 8 / 15

Page 29: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

Demo screenshot

Planète (INRIA) NEPI GEC9 9 / 15

Page 30: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 31: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 32: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 33: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 34: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 35: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 36: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

Future work

I Support SFA/rspecI Support ...?

Planète (INRIA) NEPI GEC9 11 / 15

Page 37: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 38: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

Questions ?

Email: [email protected]

Planète (INRIA) NEPI GEC9 13 / 15

Page 39: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 40: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 41: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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

Page 42: Network Experiment Programming Interface (NEPI) · I Linux Network Namespaces X Planète (INRIA) NEPI GEC9 2 / 15. Objective Scenario VLC Server Router Wifi AP Wifi STA Router VLC

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