在数据中心和云计算的网络方案和技术讨论中,大二层已经成为热点话题,涌现了各种软件和硬件技术、直接和间接手段等,目的都是为了解决“L2 over XX”的问题。那么,为什么有这么多大二层技术?在数据中心方案规划和设计中该如何选择?本文进行一个总体的剖析,并在后续的文章中就主要技术与应用进行详细的分析和介绍。
传统的数据中心网络技术,STP是二层网络中非常重要的一种协议。用户构建网络时,为了保证可靠性,通常会采用冗余设备和冗余链路,这样就不可避免的形成环路。而二层网络处于同一个广播域下,广播报文在环路中会反复持续传送,形成广播风暴,瞬间即可导致端口阻塞和设备瘫痪。因此,为了防止广播风暴,就必须防止形成环路。这样,既要防止形成环路,又要保证可靠性,就只能将冗余设备和冗余链路变成备份设备和备份链路。即冗余的设备端口和链路在正常情况下被阻塞掉,不参与数据报文的转发。只有当前转发的设备、端口、链路出现故障,导致网络不通的时候,冗余的设备端口和链路才会被打开,使得网络能够恢复正常。实现这些自动控制功能的就是STP(Spanning Tree Protocol,生成树协议)。
另外,也有部分虚拟化和软件厂商提出了软件的L2 over L3技术解决方案。例如VMware的VXLAN、微软的NVGRE,在虚拟化层的vSwitch中将二层数据封装在UDP、GRE报文中,在物理网络拓扑上构建一层虚拟化网络层,从而摆脱对网络设备层的二层、三层限制。这些技术由于性能、扩展性等问题,也没有得到广泛的使用。