vlan = 虚拟本地局域网
交换机的端口有两种配置模式:access和trunk
access口直接与计算机网卡相连,access口只能属于一个vlan
假设两个交换机A和B,如何让AB上相同的vlan之间能够通信,将AB连起来,而且连接A和B的端口要允许所有vlan数据都能通过,这样的端口就是trunk口
物理网卡、vlan、网桥linux bridge、vnet虚拟网卡、虚拟机
网桥的作用是:其他网络设备自动加入到vlan中
brctl show 查看当前linux bridge的配置 virsh list --all 查看虚拟机列表 virsh start VM1 启动VM1 virsh domiflist VM1
配置VM1过程:将虚拟机的虚拟网卡挂到网桥上,启动虚拟机
验证vlan的隔离性,通过在同一个网段下ping ip,若不通则vlan具有隔离性
网络上广播ARP包,其作用是问谁知道xx ip的MAC地址是多少?ARP是二层协议,vlan的隔离使得ARP只能在vlan20范围内广播,为什么两个vlan之间
ip会ping不通,原因是:拿不到其MAC地址。
linux bridge + vlan = 虚拟交换机
现在对KVM的网络虚拟化做个总结:
1、物理交换机存在多个vlan,每个vlan拥有多个端口。同一vlan端口之间可以交换转发,不同vlan端口之间隔离,所以交换机包含两层功能:交换与隔离
2、linux 的vlan设备实现的事隔离功能,但没有交换功能。一个vlan母设备不能拥有两个相同id的vlan子设备,因此也就不可能出现数据交换情况
3、linux bridge 专门实现交换功能。将同一vlan子设备都挂载到一个网桥上,设备之间就可以交换数据了
总结起来,linux bridge加vlan在功能层面完整模拟现实世界里的二层交换机,eth0相当于虚拟交换机上的trunk口,允许vlan10和vlan20的access口。