You are on page 1of 15

E6998 - Virtual Machines Lecture 5 Network Virtualization

Scott Devine VMware, Inc.

Computer System Organization


CPU
MMU

Memory
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 VM 2

Guest NIC Driver

Para-virtualized NIC Driver

NIC Emulation

Para-virt Interface

TCP/IP Stack

Bridge

vnet
HW NIC Driver

VMM / Hypervisor / Host OS


LAN

Secure Networking with 2 NICs


Internet VM Intranet App

Browser

TCP/IP Stack

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
P P
VLAN 1
VLAN 2

VLAN 1
VLAN 2

VLAN 3

Q P

VLAN Switch

VLAN Trunk

VLAN Switch

VLAN 3

VLAN 1

<1,P> <3,Q>

VLAN 2

VLAN 3

VLAN 2

VLANs with vnets


VM 1 on VLAN 1 VM 2 on VLAN2

VMM / Hypervisor / Host OS

Bridge

vnet1

Bridge

vnet2

HW NIC Driver

HW NIC Driver

VLAN 1

VLAN 2

VLAN Trunking with vnets


VM 1 on VLAN 1 VM 2 on VLAN2

VMM / Hypervisor / Host OS

vnet1
HW NIC Driver

vnet2

Virtual VLAN Switch

VLAN Trunk

You might also like