随着云计算技术的发展,跟传统的服务器上直接跑应用相比,服务器上运行虚机,虚机里面跑应用的场景已经越来越普遍。
这种情况下,网络往往成为最关键的性能瓶颈,特别是不同虚机之间的高速网络流量如何进行有效的交换。
要解决大流量交换的问题,基本上有两套简单思路,一个是软交换,即放在服务器里面,让软件来实现,典型的代表有各种虚拟交换的解决方案,例如OpenvSwitch。
另外一个是流量对服务器透明,全部扔到服务器外面的物理交换机做,主要是现在讨论的IEEE Edge Virtual Bridging (EVB)标准,包括802.1qbg and
802.1qbh。
软交换比较容易实现。
VMM为每个虚机创建一个虚拟网卡,对应到软件交换机的一个端口。服务器的物理网卡也接到软件交换机的一个接口上。所有的交换由软件交换机完成。
这种方案的优点是虚机之间转发性能非常好,并且在软件交换机容易实现各种控制功能。但问题就是对服务器os的cpu资源消耗多,并且对外交换时容易出现性能瓶颈。
EVB标准则试图将虚机发出的所有流量都导入到外面的交换机上进行决策。优势是可以利用外面硬件交换机的性能和复杂控制特性,缺点是一进一出带宽效率低,需要改动服务器上的驱动支持。
参考:
[1] http://www.cisco.com/c/en/us/products/collateral/switches/nexus-1000v-switch-vmware-vsphere/whitepaper_c11-620065.html
[2] http://wikibon.org/wiki/v/Edge_Virtual_Bridging
时间: 2024-10-03 13:47:39