Networking Virtualization

Download Report

Transcript Networking Virtualization

E6998 - Virtual Machines
Lecture 5
Network Virtualization
Scott Devine
VMware, Inc.
Computer System Organization
CPU
Memory
MMU
Controller
Local Bus
Interface
High-Speed
I/O Bus
NIC
Controller
Bridge
Frame
Buffer
LAN
Low-Speed
I/O Bus
CD-ROM
USB
Device Virtualization
• Goals
–
–
–
–
–
Isolation
Multiplexing
Speed
Mobility
Interposition
• Device Virtualization Strategies
– Direct Access
– Emulation
– Para-virtualization
Network Virtualization
• Considerations
– What layer?
• Ethernet
• TCP/IP
– Which network are we attached to?
– What network identity?
Virtual Networking with vnets
VM 1
VM 2
Guest NIC Driver
Para-virtualized
NIC Driver
NIC Emulation
Para-virt Interface
TCP/IP
Stack
vnet
HW NIC
Driver
VMM / Hypervisor / Host OS
LAN
vnets in a Hosted Architecture
User App
Guest
NIC
Emulation
NIC
Driver
Host OS
vnet
Monitor
LAN
VMware's Hosted vnet API
char packet[1500];
fd = open("/dev/vmnet1", O_RDWR);
ioctl(fd, ...);
read(fd, packet, 1500);
write(fd, packet, 1500);
close(fd);
DHCP Service
VM 1
vnet
DHCP
Server
VM 2
Guest NIC Driver
Para-virtualized
NIC Driver
NIC Emulation
Para-virt Interface
TCP/IP
Stack
vnet
HW NIC
Driver
VMM / Hypervisor / Host OS
LAN
Host-only Networking
VM 1
vnet
DHCP
Server
VM 2
Guest NIC Driver
Para-virtualized
NIC Driver
NIC Emulation
Para-virt Interface
TCP/IP
Stack
HW NIC
Driver
vnet NIC
Driver
vnet
VMM / Hypervisor / Host OS
LAN
Bridged Networking
VM 1
TCP/IP
Stack
VM 2
Guest NIC Driver
Para-virtualized
NIC Driver
NIC Emulation
Para-virt Interface
Bridge
vnet
HW NIC
Driver
VMM / Hypervisor / Host OS
LAN
Secure Networking with 2 NICs
Internet VM
Intranet
App
TCP/IP
Stack
Browser
Bridge
vnet
HW NIC 1
Driver
HW NIC 2
Driver
VMM / Hypervisor / Host OS
LAN
www
NAT Networking with vnets
VM 1
NAT
App
VM 2
Guest NIC Driver
Para-virtualized
NIC Driver
NIC Emulation
Para-virt Interface
TCP/IP
Stack
vnet
HW NIC
Driver
VMM / Hypervisor / Host OS
LAN
VLAN Trunking
VLAN 1
P
P
VLAN 2
VLAN 2
VLAN 3
VLAN 1
VLAN 3
VLAN 1
Q
P
VLAN
Switch
VLAN Trunk
<1,P>
<3,Q>
VLAN
Switch
Q
VLAN 3
VLAN 2
VLAN 2
VLANs with vnets
VM 1
on
VLAN 1
VM 2
on
VLAN2
VMM / Hypervisor / Host OS
Bridge
vnet1
Bridge
HW NIC
Driver
HW NIC
Driver
VLAN 1
VLAN 2
vnet2
VLAN Trunking with vnets
VM 1
on
VLAN 1
VM 2
on
VLAN2
VMM / Hypervisor / Host OS
vnet1
HW NIC
Driver
VLAN
Trunk
Virtual VLAN Switch
vnet2