Lecture 3 Virtualization¶
今天的主题是:网络虚拟化
Introduction¶
- In fact, it's a common situation that sometimes we have to divide a single broadcast domain into multiple broadcast domains
- Therefore, we can utilize Virtual LAN to solve this problem
Virtual LAN¶
A VLAN logically identifies a set of ports attached to one (or more) Ethernet switches, forming one broadcast domain
Some Problems We Met¶
We attach an example related to the VLAN image above.
Here we meet a serious problem:
VLAN ID¶
VLAN ID: from 0-4095, with 0 and 4095 being reserved
The message is only sent to the specified port (in the same category)
Datacenter Network¶
Compute Virtualization¶
Structure of VM¶
Connection between VMs¶
Problem - Limited VM Migration Scope¶
Situation¶
- VLAN limits the VM migration scope
Supplementary Materials:
VM Migration
In the context of virtualization, where a guest simulation of an entire computer is actually merely a software virtual machine (VM) running on a host computer under a hypervisor, migration (also known as teleportation,[1] also known as live migration) is the process by which a running virtual machine is moved from one physical host to another, with little or no disruption in service.
Reason - Small Number of VLANs¶
Solutions for DCN¶
Build a Large Layer 2 Switch¶
Common Sense
When a server is migrated from one port of a Layer 2 switch to another port, its IP address can remain unchanged
Build Overlay¶
=> Build an overlay network with tunnels
The detailed solution is VXLAN, which will be introduced next.
VXLAN¶
- VXLAN: Virtual Extensible LAN
- network virtualization over Layer 3 (NVO3)
- Structures:
- VM / VTEP / VXLAN tunnel
- Introduction:
- VTEP: Virtual Tunnel End Point
- VM: Virtual Machine
- VXLAN: Virtual Extensible LAN
VXLAN Encapsulation¶
- MAC in UDP Encapsulation
- UDP上构造大二层(跨度非常大)
How it Works¶
Virtual Switch¶
Introduction¶
A virtual switch (vSwitch) is a software application that allows communication between virtual machines
- Linux Bridge
- Open vSwitch
Linux Bridge => 现已不使用 => OpenvSwitch直接集成进linux内核里了
Full Virtualization¶
下面的大Linux kernal:应用层 => openvswitch (软件交换机)
- 这里的eth0-tap0 & eth0-tap1是两张“虚拟网卡”,由软件实现
- 事实上整个VM Server只有一张对外的物理网卡
Lightweight Virtualization¶
=> eg: docker
具体如何使用见下一章Mininet