网络安全 频道

从IDF 2009解读虚拟化时代的网络

    VT-d和VT-c是关键点

    对于hypervisor来说虚拟NIC与交换机都是由软件来实现的,所以这必将会造成系统的CPU占用率上升。因此更好的办法是将NIC做成一个特殊的虚拟机,直接访问NIC从而获得更高的性能。总之,虽然是在一个虚拟环境中,但对于NIC来说是处在物理环境之中。

    为了解决这个问题,Intel从至强5500开始的芯片组中加载了向虚拟机直接分配I/O设备的VT-d功能。这个VT-d不仅可以与NIC直接连接,而且也可以使用I/O设备。

    同时Intel还对虚拟NIC提供了所谓的VT-c功能。VT-d,是用于芯片组的功能,而VT-c则是用于NIC的功能。

    VT-c大体上由I/O Acceleration Technology(I/OAT)、Virtual Machine Device Queues(VMDq)和Single Root I/O Virtualization(SR-IOV)三个功能构成。

    I/OAT可以使用NIC处理复杂的TCP/IP协议。因此,即使网络使用频繁的情况下CPU也不会负载过大,因为不需要在CPU方面进行TCP/IP协议处理。

    Intel在NIC上的虚拟机设备队列(VMDq)技术提供了多个硬件队列,通过在多个虚拟机上共享一个网络设备来减少了软件的负载,实现更高效的通信。

    SR-IOV是对PCIe的扩展,可以在虚拟化服务器环境下让单个适配器象多个物理适配器一样使用。

    在虚拟化环境下,不可能为每个虚拟机都配备一个网络适配器(NIC),因此网络性能将会因为追加的虚拟化网络功能而获得最大的受益。当具备网卡虚拟化功能后,允许多台虚拟机共享一块NIC,它是通过在虚拟化管理器Hypervisor上建立一个软件仿真层来实现资源的共享,并帮助虚拟机更快速的访问网络,同时也将减轻CPU的负荷。

    不过,现在所提到的VT-c标准,英特尔自身的网络芯片和网卡以外的同类产品并不支持。但是,在其他的网络芯片供应商的产品中也都有各自相类似的功能,只是名称不同而已。比如英特尔的I/OAT(I/O加速)技术,与其他厂商的TCP/IP Off Load(TOE)技术基本就是同一个东西。所以,即使不使用英特尔的芯片,虚拟化的功能仍然可用,只是对于虚拟化管理器平台的支持,一个整体打包的称呼——VT-c更容易让人理解。

    另外,VMware ESX、Windows Server 2008 R2 Hyper-V和Xen等hypervisor也都支持VR-c功能。

0
相关文章