传统数据中心在设计时,为避免大规模二层网络造成的环路和广播问题,通常是在接入层就进行三层终结,二层交换仅限于接入交换机的范畴。在引入虚拟化服务器后,虚拟机的迁移和集群要求在同一个二层里。集群想要做多大,虚拟机迁移需要迁多远,二层网络就要做多大,这样,二层的范围就大大地扩大了,有可能跨越整个数据中心,甚至跨越多地不同的数据中心。
随着以VXLAN技术为代表的新一代Overlay网络方案的提出,上述典型问题有了一种新的解决思路,即通过在现有网络上叠加一个软件定义的逻辑网络,称为Overlay网络,使原有网络尽量不做改造,通过定义其上的逻辑网络,实现业务逻辑,从而解决原有数据中心的网络问题,可极大地节省传统用户投资。
隧道技术(Tunneling)是一种使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其他协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。隧道允许一个网络协议将另一个有效载荷协议包以数据包有效载荷的形态封装起来进行传递。
1.GRE隧道
GRE(Generic Routing Encapsulation)即通用路由封装协议,是对某些网络层协议(如IP或IPX)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输。
GRE优点如下:
1)不用变更底层网络架构重建L2、L3通信。
2)实现不同host之间网络guest互通。
3)方便guest迁移。
4)支持网络数量扩大。
GRE缺点如下:
1)增加了GRE表头,会导致本应由交换机硬件来分片,变成由软件来分片(STT技术可以弥补这一点)。
2)GRE广播,且隧道将虚拟二层打通了,广播风暴更厉害。
2.VXLAN隧道
VXLAN(Virtual eXtensible Local Area Network)是一种将二层报文用三层协议进行封装的技术,可以对二层网络在三层范围进行扩展。它应用于数据中心内部,使虚拟机可以在互相连通的三层网络范围内迁移,而不需要改变IP地址和MAC地址,保证业务的连续性。VXLAN采用24bit的网络标识,使用户可以创建16M相互隔离的虚拟网络,突破了目前广泛采用的VLAN所能表示的4K个隔离网络的限制,这使得大规模多租户的云环境中有了充足的虚拟网络分区资源。