网络虚拟化包括了网卡的虚拟化、链路层虚拟化、网络层虚拟化。网络虚拟化和计算、存储的虚拟化类似,总结起来也是“一个虚拟多个,多个虚拟一个”。通过SR-IOV技术可以实现一个物理网卡虚拟多个网卡,还可以通过tap/veth等纯软件的方式实现网卡虚拟化。
链路层的虚拟化主要通过虚拟交换机,实现网络包的VLAN设置、隧道建立等。
网络层虚拟化包括VPN、overlay网络等,创建一套隔离的三层网络。
链路虚拟化技术可以将链路资源切分给不同的用户或者虚拟网络,在支持用户自定制网络拓扑、提供链路的QoS保证,以及支持建立逻辑隔离的虚拟网络等方面具有强大的优势,具有非常广阔的发展空间。它是对传统虚拟网络端口技术的补充与发展,已经成为网络虚拟化的重要组成部分。
目前大多数链路虚拟化技术都在应用层或者网络层实现,并且多数是为虚拟化实验平台提供共享物理网络接口资源的保证。网络设备支持的网络虚拟化技术大多基于端口和网卡的物理划分,而不是通过有效逻辑隔离虚拟链路来保证虚拟链路之间的逻辑隔离。
1、链路虚拟化技术简介
链路虚拟化技术通常包括链路聚合和链路通道虚拟化技术,前者利用设备间物理上的多条链路聚合成一条虚拟链路,即“多合一”技术;后者是将一条物理链路切割到多个虚拟链路上,有时也称为“接口切割技术”,即“一分多”技术。
链路虚拟化技术的目的是为多个不同网络或者业务提供其所需的链路资源,为此需要在网络设备接口处实现完全虚拟化,即应用服务看到的每一个端口和链路都是其所对应物理链路中的一个实例。
链路虚拟化的连接效果如下图所示:
该条链路上同时运