Openstack and SDN
Openstack and SDN
Openstack and SDN
192.168.1.1/24
host1
host2
tenant
A
router
1.1.1.3
external
network
tenant
B
router
192.168.2.1/24
192.168.1.1/24
192.168.2.1/24
host3
host4
host6
host5
Physical View
spine
leaf1
leaf2
host2
vswitch1
host1
host3
host4
host6
server1
host5
spine
leaf1
SDN controller
host2
vswitch1
host1
host3
host4
leaf3
leaf2
host6
server1
host5
vswitch2
tenant A router
tenant B router
server2
openstack
controller
1.
cr
ea
te
VM
&
at
ta
c
VM
to
vs
w
itc
2.
cre
po ate/u
rt,
vla pdate
n,
ma serv
c, I erid
P,
ne ,
two
rk
SDN
controller
vswitch
agents
spine
leaf1
SDN controller
host2
vswitch1
host1
host3
host4
leaf3
leaf2
host6
server1
host5
vswitch2
tenant A router
tenant B router
server2
spine
SDN controller
leaf1
leaf2
host2
vswitch1
host1
host3
host4
host6
server1
host5
Pros: server only (no longer the case for non-vm workloads)
Cons 1: cannot support non-vm workloads offload tunnel to physical switch
Cons 2: suboptimal routing distributed virtual routing
spine
SDN controller
leaf1
leaf2
host2
vswitch1
host1
host3
host4
host6
server1
host5
2.
NIC
NIC
memory
memory
core
core
core
core
CPU1
CPU2
NUMA1
NUMA2
firewall VM 1
firewall VM 2
NIC
kernel
vswitch
kernel
firewall VM 1
NIC
firewall VM 2
firewall VM 1
firewall VM 2
openstack
controller
1.
cr
ea
te
NF
VM
&
at
ta
c
SDN
controller
it t
o
NU
A1
vswitch
2.
cre
po ate/u
rt,
vla pdate
n,
ma serv
c, I erid
P,
ne ,
two
rk
agents
NIC (physical)
vswitch
kernel
(virtual)
firewall VM 1
firewall VM 1
firewall VM 2
firewall VM 2
openstack
controller
2. create/update server-id,
port, vlan, mac, IP, network
SDN
controller
physical
switch
vswitch
2.
leaf1
leaf2
host2
vswitch1
docker1
docker3
docker4
docker6
server1
host5
Docker on VM
Solution 1: run Kubernetes on top of VMs separate IP space
Solution 2: SDN controller manages vswitches in VMs
openstack
controller
spine
leaf1
SDN controller
leaf2
host2
vswitch1
vswitch2
docker1
vm3
docker2 vm1
server1
host5
Killer application
NFV DPDK, SR-IOV
Docker 4-tier networking