802.1Qbh接口扩展
论坛 发表于:11年07月11日 14:18 [转载] 51CTO
802.1Qbh通过定义新的Tag(VN-Tag)来进行接口扩展,这样就需要交换机使用新的转发芯片能够识别并基于此新定义Tag进行转发,因此目前除了Cisco自己做的芯片外,其他厂商都无法支持。只有等Broadcom和Marvel等芯片厂商的公共转发芯片也支持了,大家才能跟进做产品,这就是设备厂商有没有芯片开发能力的区别。而802.1Qbg就走了另外一条路,搞不定交换机转发芯片就先想办法搞定服务器吧。下面从IEEE截取的图中可以看到EVB的四个主要组成部分,也可以看做四个发展阶段。当前处于VEPA的成长期,已经出现部分转化完成的产品,而Multichannel还在产品转化前的研究状态。
先说VEB,这个最好理解,就是定义了物理服务器内部的软、硬件交换机。软件交换机就是前面提过的VSwitch,硬件交换机就是从SR-IOV演进来的网卡交换机。SR-IOV已经可以使VM的vNIC在物理网卡上一一对应通道化了,那么再加个转发芯片基本就可以做成最简单的交换机了,当然这只是原理上可行,实际中作者还没有见过成熟产品。VEB与普通Ethernet交换机的最大区别是定义了连接交换机的上行口与连接VM的下行口,而VEB的上行口间是不允许相互转发报文的,这样可以在不支持STP的情况下保证无环路产生。Cisco的N1000V 就可以认为是个VEB。VEB的优点是好实现,在Hypervisor层面开发软件或者改造网卡就可以出成品,缺点是不管软件的还是硬件的相比较传统交换机来说能力和性能都偏弱,网卡上就那么点儿大的地方,能放多少CPU、TCAM和ASIC啊。
于是有了VEPA,VEPA比VEB更简单,不提供VM间的交换功能,只要是VM来的报文都直接扔到接入交换机上去,只有接入交换机来的报文才查表进行内部转发,同样不允许上行接口间的报文互转。这样首先是性能提升了,去掉了VM访问外部网络的流量查表动作。其次是将网络方面的功能都扔回给接入层交换机去干了,包括VM间互访的流量。
这样不但对整体转发的能力和性能有所提升,而且还解决了前面最开始VSwitch所提出的网络与服务器管理边界的问题。相比Cisco将网络管理推到VM的vNIC前的思路,这种做法更传统一些,将网络管理边界仍然阻拦在服务器外面,明显是出于服务器厂商的思路。在传统Ethernet中,要求交换机对从某接口收到的流量不能再从这个接口发出去,以避免环路风暴的发生。而VEPA的使用要求对此方式做出改变,否则VM之间互访流量无法通过。对交换机厂商来说,这个改变是轻而易举的,只要变动一下ASIC的处理规则即可,不需要像VN-Tag那样更新整个转发芯片。从理论上讲,如VEB一样,VEPA同样可以由支持SR-IOV的网卡来硬件实现,而且由于需要实现的功能更少,因此也更好做一些。个人认为VEPA的网卡可能会先于VEB的网卡流行起来。