Overlay协议

来自Linux78|wiki

传统数据中心在设计时,为避免大规模二层网络造成的环路和广播问题,通常在接入层就进行三层终结,二层交换仅限在接入交换机的范畴。

在引入虚拟化服务器后,虚拟机的迁移和集群要求在同一个二层里。集群想要做多大,虚拟机迁移需要迁多远,二层网络就要做多大,这样二层网络的范围就被大大地扩大了,有可能跨越整个数据中心,甚至跨越多地不同的数据中心。

二层网络扩大后会面临很多问题,比如如何防止二层网络环路?如何提高链路使用效率?随着以VXLAN(Vintual Extensible LAN)技术为代表的新一代Overlay网络方案的提出,上述典型问题有了一种新的解决思路,即通过在现有网络上叠加一个软件定义的逻辑网络,原有网络尽量不做改造,通过定义其上的逻辑网络,实现业务逻辑,从而解决原有数据中心的网络问题,从而极大地节省用户投资。

Overlay是一种将二层网络(业务的)构架在三层/四层(传统网络的)报文中进行传递的网络技术。

1)VXLAN:VXLAN是将以太网报文封装在UDP传输层上的一种隧道转发模式,目的UDP端口号为4798。为了使VXLAN充分利用承载网络路由的均衡性,VXLAN通过将原始以太网数据头(MAC、IP、四层端口号等)的哈希值作为UDP号;采用24比特标识二层网络分段,称为VNI(VXLAN Network Identifier),类似于VLAN ID的作用;未知目的、广播、组播等网络流量均被封装为组播转发,物理网络要求支持任意源组播(ASM)。

2)NVGRE:NVGRE是将以太网报文封装在GRE内的一种隧道转发模式。采用24比特标识二层网络分段,称为VSI(Virtual Subnet Identifier),类似于VLAN ID的作用。为了使NVGRE利用承载网络路由的均衡性,NVGRE在GRE扩展字段flowID,这就要求物理网络能够识别GRE隧道的扩展信息,并以flow ID进行流量分担;未知目的、广播、组播等网络流量均被封装为组播转发。