Virtualized ICN (vICN) Towards a Unified Network Virtualization Framework for ICN Experimentation M. Sardara*, L. Muscariello, J. Augé, M. Enguehard* , A. Compagno, G. Carofiglio September 28 th 2017 ACM ICN, Berlin *also with Telecom ParisTech
A motivating example Real nodes with applications Emulated wireless links High-speed forwarding Independence from deployment infrastructure Flexible network model for experimentation
Simulation? Testbed? Current approaches Purpose-built infra? A unified open-source framework for: Research Demonstrations Production networks Easy network changes Real nodes with applications Emulated wireless links Monitoring High-speed forwarding Independence from deployment infrastructure
I want to deploy and vICN at a glance monitor a network model User intent I know how things work I have some infrastructure you can use vICN Resource Infrastructure description description
Challenges • Deployment integrity Reliability • Unified API for wide range of Programmability resources • Deployment efficiency Scalability
I want to deploy and Functional architecture monitor a network model I know how things work Expressive user API Resource Orchestrator Scheduler processor Worker Resource Thread pool factory Resource Database
Reliability Programmability User API • Python script or static cons = LxcContainer() prod = LxcContainer() JSON file link = Link(src=cons, dst=prod) • Changes by user tasks monitoring mapped to tasks cons prod • Model reflects deployment status
Intent-based approach Programmability Scalability { Cons Relay "type": "EmulatedLteChannel", "name": "lch", Emulator "ap": "relay", "stations": [ veth veth "cons" ], "node": "server", veth TAP TAP veth } Virtual bridge
Programmability Resource factory Resource Description I know how Creation metis_daemon things work Teardown Lifecycle kill –9 $(pid) Attribute metis_control updates Metis needs its node to Requirements be up and running Resource Relations Decomposition Metis = app + log file factory Forwarder up triggers Event handling ICN routes recompute
Goal Reliability Orchestrator Resource Scheduler processor 1. Probe 2. Update state ✓ ✗ ✓ ? 3. Compute actions 4. Act 5. Update state ✓ ➤ ✗ ✓ ✓ 6. Return to step 3 if necessary
Scalability Scheduler • Handle parallelism through thread pool • Ensure system correctness and integrity • Multiple south-bound APIs
Implementation Scalability • Linux foundation open source project • Current catalogue of resources • Support for coexistence of IPv4, IPv6 and ICN (over Ethernet, UDP or TCP) Linux Containers
Back to the beginning • 104 declared resources vs ~800 deployed • 1500 bash commands • Bootstrap time <2min • See Samain et al., SIGCOMM 2017
Conclusion • vICN is a good fit for ICN research and development • Active development and support • Join us: https://wiki.fd.io/view/Vicn Questions: mengueha@cisco.com
Recommend
More recommend