flown: software-defined network virtualization dmitry drutskoy, eric keller, jennifer rexford
TRANSCRIPT
![Page 1: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/1.jpg)
FlowN: Software-Defined Network Virtualization
Dmitry Drutskoy, Eric Keller, Jennifer Rexford.
![Page 2: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/2.jpg)
2
What is Network Virtualization
• Ability to run multiple virtual networks that:– Each has a separate control and data plane
![Page 3: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/3.jpg)
3
What is Network Virtualization
• Ability to run multiple virtual networks that:– Each has a separate control and data plane– Coexist together on top of one physical network
![Page 4: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/4.jpg)
4
What is Network Virtualization
• Ability to run multiple virtual networks that:– Each has a separate control and data plane– Coexist together on top of one physical network
![Page 5: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/5.jpg)
5
What is Network Virtualization
• Ability to run multiple virtual networks that:– Each has a separate control and data plane– Coexist together on top of one physical network– Can be managed by individual parties that potentially
don’t trust each other
![Page 6: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/6.jpg)
6
Applications of Virtualization
• Traffic isolation in enterprise and campus networks
![Page 7: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/7.jpg)
7
Applications of Virtualization
• Traffic isolation in enterprise and campus networks
VLANs
![Page 8: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/8.jpg)
8
Applications of Virtualization
• Traffic isolation in enterprise and campus networks
VLANs
• Secure private networks operating across wide areas
![Page 9: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/9.jpg)
9
Applications of Virtualization
• Traffic isolation in enterprise and campus networks
VLANs
• Secure private networks operating across wide areas
VPNs
![Page 10: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/10.jpg)
10
Applications of Virtualization
• Traffic isolation in enterprise and campus networks
VLANs
• Secure private networks operating across wide areas
VPNs
• Multi-tenant datacenters
![Page 11: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/11.jpg)
11
Applications of Virtualization
• Traffic isolation in enterprise and campus networks
VLANs
• Secure private networks operating across wide areas
VPNs
• Multi-tenant datacenters
A collection of VM’s connected to a “virtual switch”
![Page 12: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/12.jpg)
12
Applications of Virtualization
• Traffic isolation in enterprise and campus networks
VLANs
• Secure private networks operating across wide areas
VPNs
• Multi-tenant datacenters
A collection of VM’s connected to a “virtual switch”
Can we do better?
![Page 13: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/13.jpg)
13
Virtualization in Datacenters
Hosted Cloud infrastructures aim to
• Provide service to many different clients at once
• Be efficient: resources are shared
• Provide required isolation between clients
![Page 14: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/14.jpg)
14
Virtualization in Datacenters
Hosted Cloud infrastructures aim to
• Provide service to many different clients at once
• Be efficient: resources are shared
• Provide required isolation between clients
• We propose to virtualize the network using Software-Defined Networking to achieve this
![Page 15: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/15.jpg)
15
Software-Defined Networking
New approach to networking that has:
• Centralized control plane (smart controller)
• Separate from data plane (dumb switches)
• Control plane software programmable
• Standardized interface for network management
![Page 16: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/16.jpg)
16
SDN Simplified Virtualization
• Each virtual network can have it’s own virtual controller
• A central controller can perform virtualization to separate the virtual networks without need to support it on every switch
• Since controllers are in software, do not need vendor support or proprietary protocols to do this
![Page 17: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/17.jpg)
17
What is the right abstraction?
![Page 18: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/18.jpg)
18
What is the right abstraction?
Clients can have different requirements
• Just a set of VM’s with given IP’s
![Page 19: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/19.jpg)
19
What is the right abstraction?
Clients can have different requirements
• Just a set of VM’s with given IP’s
• “Big switch” abstraction with VMs connected to it
![Page 20: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/20.jpg)
20
What is the right abstraction?
Clients can have different requirements
• Just a set of VM’s with given IP’s
• “Big switch” abstraction with VMs connected to it
• Proximity of certain VM’s to others
![Page 21: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/21.jpg)
21
What is the right abstraction?
Clients can have different requirements
• Just a set of VM’s with given IP’s
• “Big switch” abstraction with VMs connected to it
• Proximity of certain VM’s to others
• Using their own addresses in the network
![Page 22: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/22.jpg)
22
Need a General Approach
• Provide the clients with a virtual network consisting of:– VM’s– A network of switches– A controller
• We can match any requirements by making virtual network look like a real one– For simple networks can run a simple controller– Can be as elaborate as needed
![Page 23: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/23.jpg)
23
Need a General Approach
• Provide the clients with a virtual network consisting of:– VM’s– A network of switches– A controller
• We can match any requirements by making virtual network look like a real one– For simple networks can run a simple controller– Can be as elaborate as needed
• FlowN!
![Page 24: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/24.jpg)
24
FlowN
• What properties do we want to guarantee?
• How does our system accommodate them?
![Page 25: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/25.jpg)
25
1: Complete Independence
• Address space isolation – each virtual network can use their full address space
• Virtual networks are decoupled from the physical topology – changes in the physical network are not necessarily seen by the virtual network
• Each virtual network sees its own topology, and nothing else
• Each virtual network controller is independant
![Page 26: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/26.jpg)
26
2: Control over network
• Arbitrary topologies allow any (reasonable) configuration
• Use of own virtual network controller allows fine-grained control of the network
• “Big switch” or “collection of VM’s” abstraction can be realized as a simple topology
• Embedding algorithm left up to datacenter owner
![Page 27: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/27.jpg)
27
3: Scalability and Efficiency
• This approach should be scalable– Support large amounts of virtual networks– Ability to scale out in the physical network
• And efficient– Small latency increases for network traversal– Small resource consumption of virtualization layer
![Page 28: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/28.jpg)
28
FlowN System Design
• We have designed, prototyped and tested a system with some constraints
• Based on OpenFlow
• While parts of this have been looked at before, full virtualization using SDN is novel
![Page 29: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/29.jpg)
29
FlowN System Design
• Scalable– Mappings done using a database, leveraging existing
scalability research– Database can be replicated in the future– Caching already improves performance– Design supports multiple physical controllers in the future
• And efficient– We run virtual controllers in a container to lower resource
consumption– Remap function calls, don’t send packets
![Page 30: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/30.jpg)
30
FlowN System Design
SDN enabledNetwork
AddressMapping
DB
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Arbitrary Embedder
![Page 31: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/31.jpg)
31
System Design Overview
SDN enabledNetwork
AddressMapping
DB
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Arbitrary Embedder
Tenant Applications
![Page 32: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/32.jpg)
32
System Design Overview
SDN enabledNetwork
AddressMapping
DB
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Arbitrary Embedder
Arbitrary Embedder
![Page 33: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/33.jpg)
33
System Design Overview
SDN enabledNetwork
AddressMapping
DB
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Arbitrary Embedder
Virtualization layer
![Page 34: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/34.jpg)
34
System Design Overview
SDN enabledNetwork
AddressMapping
DB
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Arbitrary Embedder
Database for address mappings
![Page 35: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/35.jpg)
35
Tenant Applications
SDN enabledNetwork
AddressMapping
DB
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Arbitrary Embedder
Tenant Applications
![Page 36: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/36.jpg)
36
Tenant Applications
• Modified controller software– Derived from existing controller with minimal changes– Function calls are remapped in our virtualization layer
![Page 37: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/37.jpg)
37
Tenant Applications
• Modified controller software– Derived from existing controller with minimal changes– Function calls are remapped in our virtualization layer
• Virtual network specification
![Page 38: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/38.jpg)
38
Virtual Network Specification
• Nodes– Servers – each occupy 1 VM slot– Switches – have some capacity
• Interfaces– Port number, name– Each switch has some number of interfaces
• Links– Bandwidth– A link connects one interface on one node to another
interface on another node
![Page 39: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/39.jpg)
39
Embedding
SDN enabledNetwork
AddressMapping
DB
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Arbitrary Embedder
Embedding
![Page 40: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/40.jpg)
40
Embedding
• Particular choice of algorithm is left up to the datacenter manager
• We provide the abstraction that– Virtual networks are specified as before– Each virtual node of a virtual network maps to a unique
physical node– Physical network has remaining capacities specified
![Page 41: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/41.jpg)
41
Physical and Virtual Topology
… …
Switch
Server with VM slots
![Page 42: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/42.jpg)
42
Embed Virtual obeying constraints
… …
Switch
Server with VM slots
![Page 43: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/43.jpg)
43
Address Mapping Database
SDN enabledNetwork
AddressMapping
DB
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Arbitrary Embedder
Database for address mappings
![Page 44: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/44.jpg)
44
Address Mapping Database
• Leverages existing database research– Simplifies storing state of network mappings
![Page 45: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/45.jpg)
45
Address Mapping Database
• Leverages existing database research– Simplifies storing state of network mappings– Centralizes state, allowing multiple controllers to have
the same view in the future
![Page 46: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/46.jpg)
46
Address Mapping Database
• Leverages existing database research– Simplifies storing state of network mappings– Centralizes state, allowing multiple controllers to have
the same view in the future– Support for high throughput
![Page 47: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/47.jpg)
47
Address Mapping Database
• Leverages existing database research– Simplifies storing state of network mappings– Centralizes state, allowing multiple controllers to have
the same view in the future– Support for high throughput – Low latency achieved through caching
![Page 48: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/48.jpg)
48
Address Mapping Database
• Leverages existing database research– Simplifies storing state of network mappings– Centralizes state, allowing multiple controllers to have
the same view in the future– Support for high throughput – Low latency achieved through caching– Guarantees on consistency even in the events of
database server failure – no partial network mappings
![Page 49: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/49.jpg)
49
Address Mapping Database
• Leverages existing database research– Simplifies storing state of network mappings– Centralizes state, allowing multiple controllers to have
the same view in the future– Support for high throughput – Low latency achieved through caching– Guarantees on consistency even in the events of
database server failure – no partial network mappings– Updates are atomic, allowing changes to network
mappings to be atomic
![Page 50: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/50.jpg)
50
Example Query
SELECT L.Customer_ID, L.node_ID1, L.node_ID2, L.node_port1, L.node_port2
FROM Customer_Link L, Node_C2P_Mapping M
WHERE
M.customer_ID = L.customer_ID AND
(L.node_ID1 = M.customer_node_ID OR L.node_ID2 = M.customer_node_ID)
VLAN_tag = 10 AND M.physical_node_ID = 3
Looks up which virtual link a packet belongs to based on the switch it arrived at and the VLAN tag (used for encapsulation)
![Page 51: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/51.jpg)
51
Example Query
SELECT L.Customer_ID, L.node_ID1, L.node_ID2, L.node_port1, L.node_port2
FROM Customer_Link L, Node_C2P_Mapping M
WHERE
M.customer_ID = L.customer_ID AND
(L.node_ID1 = M.customer_node_ID OR L.node_ID2 = M.customer_node_ID)
VLAN_tag = 10 AND M.physical_node_ID = 3
Get the virtual link
![Page 52: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/52.jpg)
52
Example Query
SELECT L.Customer_ID, L.node_ID1, L.node_ID2, L.node_port1, L.node_port2
FROM Customer_Link L, Node_C2P_Mapping M
WHERE
M.customer_ID = L.customer_ID AND
(L.node_ID1 = M.customer_node_ID OR L.node_ID2 = M.customer_node_ID)
VLAN_tag = 10 AND M.physical_node_ID = 3
Looks at virtual links table and node mapping table
![Page 53: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/53.jpg)
53
Example Query
SELECT L.Customer_ID, L.node_ID1, L.node_ID2, L.node_port1, L.node_port2
FROM Customer_Link L, Node_C2P_Mapping M
WHERE
M.customer_ID = L.customer_ID AND
(L.node_ID1 = M.customer_node_ID OR L.node_ID2 = M.customer_node_ID)
VLAN_tag = 10 AND M.physical_node_ID = 3
Table “glue”
![Page 54: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/54.jpg)
54
Example Query
SELECT L.Customer_ID, L.node_ID1, L.node_ID2, L.node_port1, L.node_port2
FROM Customer_Link L, Node_C2P_Mapping M
WHERE
M.customer_ID = L.customer_ID AND
(L.node_ID1 = M.customer_node_ID OR L.node_ID2 = M.customer_node_ID)
VLAN_tag = 10 AND M.physical_node_ID = 3
Given packet arrived on physical switch 3 with vlan tag 10
![Page 55: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/55.jpg)
55
Virtualization Layer
SDN enabledNetwork
AddressMapping
DB
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Arbitrary Embedder
Container-based Controller
![Page 56: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/56.jpg)
56
Container-Based Virtualization
• Virtual controllers are run as objects in the physical controller, not stand-alone applications– Can use function calls to notify them of network events– Saves computing resources– Requires minimal changes to already written controller
applications
![Page 57: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/57.jpg)
57
Virtualization
SDN enabledNetwork
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Incoming packet
![Page 58: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/58.jpg)
58
Virtualization
SDN enabledNetwork
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualizationpacket_in event
![Page 59: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/59.jpg)
59
Virtualization
SDN enabledNetwork
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
AddressMapping
DB
Map to virtual address
![Page 60: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/60.jpg)
60
Virtualization
SDN enabledNetwork
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
packet_in call
![Page 61: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/61.jpg)
61
Virtualization
SDN enabledNetwork
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
packet_in call
No need to run separate controller – can be done with a function call!
![Page 62: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/62.jpg)
62
Virtualization
SDN enabledNetwork
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
install_datapath_flow call
![Page 63: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/63.jpg)
63
Virtualization
SDN enabledNetwork
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
install_datapath_flow call
Same thing
![Page 64: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/64.jpg)
64
Virtualization
SDN enabledNetwork
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
AddressMapping
DB
Map to physical rules
![Page 65: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/65.jpg)
65
FlowN System Design
SDN enabledNetwork
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualizationinstall_datapath_flow calls
![Page 66: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/66.jpg)
66
FlowN System Design
SDN enabledNetwork
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Flow installation
![Page 67: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/67.jpg)
67
Prototype and Evaluation
![Page 68: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/68.jpg)
68
Prototype
• Modified python NOX 1.0 controller
• MySQL database using InnoDB engine
• memcached (pylibmc wrapper for C implementation) for caching results
• VLAN tags used for encapsulation
• 4000ish lines of code in total
![Page 69: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/69.jpg)
69
Evaluation
• VM running on Core i5-2500 @ 3.30Ghz, 4GB RAM, Ubuntu 10.04
• Test VM co-located, but each has their own cores
• Modified cbench for throughput/latency tests, generating packets within the network
• Mininet simulation used for failure experiments
![Page 70: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/70.jpg)
70
Latency Overhead
Learning Switch Learning Switch Learning Switch
• Run many virtual networks
• Virtual controller is a simple learning switch
…
Virtualization Layer (NOX)
![Page 71: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/71.jpg)
71
Latency Overhead
• Use cbench to simulate packet-in events one at a time
Learning Switch Learning Switch Learning Switch…
cbench
Virtualization Layer (NOX)
cbench: http://www.openflow.org/wk/index.php/Oflops
![Page 72: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/72.jpg)
72
Latency Overhead
• Use cbench to simulate packet-in events one at a time
• Record time for packets to be sent on the network
Learning Switch Learning Switch Learning Switch…
cbench
Virtualization Layer (NOX)
cbench: http://www.openflow.org/wk/index.php/Oflops
![Page 73: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/73.jpg)
73
Latency Overhead
![Page 74: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/74.jpg)
74
Failure Recovery Time
• Simulate physical network using mininet
Virtualization Layer (NOX)
![Page 75: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/75.jpg)
75
Failure Recovery Time
• Simulate physical network using mininet
• Run many virtual networks on top of it
…
Virtualization Layer (NOX)
![Page 76: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/76.jpg)
76
Failure Recovery Time
• Virtual controller is a host-aware controller which installs shortest path layer-2 routing rules, based on link status
…
Virtualization Layer (NOX)
Superswitch Superswitch Superswitch
![Page 77: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/77.jpg)
77
Failure Recovery Time
• Run high-speed ping between virtual hosts
…
Virtualization Layer (NOX)
Superswitch Superswitch Superswitch
ping!
pinging!
![Page 78: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/78.jpg)
78
Failure Recovery Time
• Bring link down
…
Virtualization Layer (NOX)
Superswitch Superswitch Superswitch
link broke!
I broke!
![Page 79: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/79.jpg)
79
Failure Recovery Time
• Record remapping time
…
Virtualization Layer (NOX)
Superswitch Superswitch Superswitch
Use this instead!
Ping resumes!
![Page 80: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/80.jpg)
80
Failure Recovery Time
![Page 81: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/81.jpg)
81
Future Work
• Replicate physical controllers
![Page 82: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/82.jpg)
82
Tenant 1Application
Replication
Tenant 2Application
Container BasedApplication
Virtualization
SDN enabledNetwork
Tenant 3Application
Container BasedApplication
Virtualization
Replicate Virtualization Servers
![Page 83: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/83.jpg)
83
Future Work
• Replicate physical controllers
• Evaluate different embedding algorithms and their properties
![Page 84: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/84.jpg)
84
Future Work
• Replicate physical controllers
• Evaluate different embedding algorithms and their properties
• Perform many-to-one mappings within the same virtual network
![Page 85: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/85.jpg)
85
Questions?
![Page 86: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/86.jpg)
86
BELOW THIS: OLD/UNUSED SLIDES
![Page 87: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/87.jpg)
87
Database design
Node
• Network specification lends itself to database design
TypeCapacity
Link
CapacityVLAN#
Interface
Port#Name
1:n 2:1
Topology
ControllerOwner
…
n:1 1:n
![Page 88: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/88.jpg)
88
Summary
• Network virtualization for:– Arbitrary networks– Container-based controller virtualization
• Database approach– Lends itself to network representation– Uses existing database research
![Page 89: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/89.jpg)
89
Database design
Node
TypeCapacity
Link
CapacityVLAN#
Interface
Port#Name
1:n 2:1
Topology
ControllerOwner
…
n:1 1:n
Physical Node
TypeRem. capacity
Physical Link
Rem. CapacityPhysical Interface
Port#Name
Virtual Networks
1:n 2:1
![Page 90: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/90.jpg)
90
Database design
Node
TypeCapacity
Link
CapacityVLAN#
Interface
Port#Name
Topology
ControllerOwner
…
n:1 1:n
Physical Node
TypeRem. capacity
Physical Link
Rem. Capacity
Node Mapping
1:n 2:1
Physical Interface
Port#Name
Each VM slot houses 1 VMEach physical switch houses
many virtual
1:n 2:1
![Page 91: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/91.jpg)
91
Database design
Node
TypeCapacity
Link
CapacityVLAN#
Interface
Port#Name
Topology
ControllerOwner
…
n:1 1:n
Physical Node
TypeRem. capacity
Physical Link
Rem. Capacity
Path Mapping
1:n 2:1
Physical Interface
Port#Name
Each Virtual link becomesA path of physical links
1:n 2:1
![Page 92: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/92.jpg)
92
Database design
Node
TypeCapacity
Link
CapacityVLAN#
Interface
Port#Name
1:n 2:1
Topology
ControllerOwner
…
n:1 1:n
Physical Node
TypeRem. capacity
Physical Link
Rem. CapacityPhysical Interface
Port#Name
Path MappingNode Mapping
1:n 2:1
![Page 93: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/93.jpg)
93
Caching
SDN enabledNetwork
AddressMapping
DB
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Cache
Cache Results
![Page 94: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/94.jpg)
94
Current Work
• Multi-controller environments– Run multiple physical controller server, each housing a
number of virtual controllers.– Forward messages to the right controller server if
needed.
• Caching for faster access– Put a cache in front of each physical controller to speed
up access times.
![Page 95: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/95.jpg)
95
FlowN System Design
SDN enabledNetwork
AddressMapping
DB
Tenant 1Application
Tenant 2Application
Container BasedApplication
Virtualization
Arbitrary Embedder
Database for address mappings
![Page 96: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/96.jpg)
96
Current SDN Virtualization (OLD)
• Address space– “Slice” the address space [FlowVisor][Pflow]– “Virtualize” by providing each virtual network with own
address space [VL2][Nicira].
• Topology– Edge switches with full connectivity [VL2][Nicira]– Subset existing topology [FlowVisor][PFlow]
![Page 97: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/97.jpg)
97
Topology
• Edge switches with full connectivity [VL2][Nicira]
![Page 98: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/98.jpg)
98
FlowN System Design (1)
Database for address mappings
![Page 99: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/99.jpg)
99
FlowN System Design (2)
Container based controller
![Page 100: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/100.jpg)
100
Physical and Virtual Topology
3 3 3 3 3 3
25 25
50
… …
20
66
6
20
66
6
2 2
55
2 2
55
10 10
10
Switch with N capacity
Server with N VM’sN
N
![Page 101: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/101.jpg)
101
Embed Virtual obeying constraints
2 … …
2 2
55
2 2
55
10 10
10
2 2 2
55
55
10 10
1010
Switch with N capacity
Server with N VM’sN
N
![Page 102: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/102.jpg)
102
Update Constraints
1 1 3 1 1 3
15 15
50
… …
10
11
6
10
61
1
2 2
55
2 2
55
10 10
10
Switch with N capacity
Server with N VM’sN
N
![Page 103: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/103.jpg)
103
Why virtualize the Network?(don’t use this slide)• Virtualization in a Datacenter environment
common practice.– Virtual networks as a service.– Datacenter incurs smaller costs per resource due to size
(dedicated facility, personnel, design, etc.).– Customers avoid start-up costs, pay per resources used.
• Can be useful in other places.– Managing a virtual network can be easier than a
(especially new) physical.– Allows running multiple virtual networks over one
physical for things like research testbeds.
![Page 104: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/104.jpg)
104
Arbitrary Virtual Networks(don’t use this slide)• Current approaches do not give an arbitrary virtual
network.– One approach abstracts away inner network operation,
presenting users with either: A point-to-point mesh of edge switches (Nicira). A set of VM’s with given addresses (Microsoft Azure).
– Another “slices” the network. Each tenant subscribes to certain addresses of a global address
scheme (FlowVisor).
• Full Virtualization has its benefits.– Allows fine-grained network management.– Masking of real network operation to virtual networks.– Allows you to use your favorite network anywhere!
![Page 105: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/105.jpg)
105
Current SDN Virtualization
• Abstract away inner network operation [Nicira][VL2]
• “Slice” the network [FlowVisor][Pflow]
Picture here
![Page 106: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/106.jpg)
106
Current SDN Virtualization
• Abstract away inner network operation [Nicira][VL2]
Picture here
![Page 107: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/107.jpg)
107
Full Virtualization
![Page 108: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/108.jpg)
108
Current SDN Virtualization
• Address space– “Slice” the address space [FlowVisor][Pflow]– “Virtualize” by providing each virtual network with own
address space [VL2][Nicira].
VN 1:VM1: ip=10.0.0.1VM2: ip=10.0.0.2VM3: ip=10.0.0.3…
VN 1:VM1: ip=10.0.0.1mac=…:00:01VM2: ip=10.0.1.1mac=…:00:02…
VN 1:VM1: mac=…00:01VM2: mac=…00:02VM3: mac=…00:03…
![Page 109: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/109.jpg)
109
Why Virtualize the Network
...
Controller Application
Controller Application
Controller Application
Virtual to Physical Mapping
![Page 110: FlowN: Software-Defined Network Virtualization Dmitry Drutskoy, Eric Keller, Jennifer Rexford](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56649cee5503460f949bb5ff/html5/thumbnails/110.jpg)
110
FlowN System Design