DCI场景
数据中心互联DCI(Data Center Interconnection)是不同数据中心VM之间互相通信的一种解决方案。DCI是在运营商网络上运行的解决方案,使用VXLAN(Virtual eXtensible Local Area Network)、EVPN(Ethernet Virtual Private Network)、BGP/MPLS IP VPN等技术,使数据中心发送过来的报文能够在运营商网络上安全可靠的传输,实现不同数据中心VM之间的通信。首先介绍下DCI相关的基本概念:
概念 |
描述 |
---|---|
Overlay网络 |
|
Underlay网络 |
Underlay网络与Overlay网络是相对的,是用于承载Overlay网络的网络,一般指底层的物理网络。 |
分设 |
分设设备指数据中心网关设备和DCI骨干网PE设备是两台设备。 |
合设 |
合设设备指数据中心网关设备和DCI骨干网PE设备是同一台设备,主要应用在运营商自建数据中心场景。 |
在DCI解决方案中,如图12-85所示,数据中心的网关设备可以通过EVPN-VXLAN或VLAN方式接入运营商网络边缘设备(DCI-PE)。DCI骨干网上可以部署L3VPN技术或者EVPN-MPLS技术,承载二层或三层的业务流量转发。在数据中心A和数据中心B间相互发送各自数据中心内部的租户主机IP或MAC地址的过程中,会使用EVPN IRB路由、EVPN IP前缀路由、EVPN MAC路由、ARP路由或者BGP VPNv4路由,这些路由的详细信息请参见表12-9。
路由 |
作用 |
路由中携带的相关字段 |
---|---|---|
EVPN IRB路由 |
用于在EVPN网络中传输租户的主机IP和MAC地址。 |
|
EVPN IP前缀路由 |
用于在EVPN网络中传输租户的主机IP地址或主机IP所在的网段地址。 |
|
VPNv4路由 |
用于在L3VPN网络中传输租户的主机的IP地址或主机IP所在的网段地址。 |
|
EVPN MAC路由或者ARP路由 |
用于在EVPN网络中传输租户的MAC地址或ARP信息。 |
|
DCI控制平面
三层路由的发布过程是指数据中心通过EVPN协议发送携带租户主机IP的IRB或者EVPN IP前缀路由信息给DCI-PE,DCI-PE收到数据中心发送的上述路由后,如果骨干网上部署的是L3VPN,则DCI-PE上会重新生成BGP VPNv4路由;如果部署的是EVPN-MPLS,则DCI-PE上会重新生成IRB或者EVPN IP前缀路由。这些重新生成的路由会携带VM主机IP路由信息并通过骨干网传递给远端的DCI-PE。
二层路由的发布过程是指数据中心通过EVPN协议发送携带租户主机MAC路由信息或ARP信息给DCI-PE,DCI-PE收到数据中心发送的上述路由后,会重新生成携带MPLS封装属性的EVPN MAC路由或ARP路由,然后这些重新生成的路由会携带VM主机MAC路由信息或ARP信息传递给远端的DCI-PE。
二层和三层路由发布过程请参见表12-10。
部署方式 |
承载业务 |
传播过程 | ||
---|---|---|---|---|
DC-GW1到DCI-PE1 |
DCI-PE1到DCI-PE2 |
DCI-PE2到DC-GW2 |
||
L3VPN(VXLAN接入) |
三层业务 |
DC-GW1通过IRB路由或者EVPN IP前缀路由将租户主机IP地址发送给DCI-PE1。DCI-PE1将会从这些EVPN路由中解析出租户主机IP路由,然后系统会根据本地EVPN路由和L3VPN实例的RT匹配关系将这些租户主机IP路由交叉进入L3VPN实例,同时将迭代到的VXLAN隧道信息下发给私网转发表。 |
DCI-PE1将从DC-GW1收到的EVPN路由重新封装成BGP VPNv4路由:
封装后该路由将被发送至DCI-PE2。 |
DCI-PE2收到BGP VPNv4路由后,根据BGP VPNv4路由的RT将BGP
VPNv4路由交叉到本地对应的L3VPN实例中,同时将迭代的MPLS隧道信息下发私网转发表项。然后DCI-PE2将BGP VPNv4路由进行重新封装成EVPN
IP前缀路由:
封装后该EVPN IP前缀路由将被发送至DC-GW2。 |
EVPN-MPLS(VLAN接入) |
三层业务 |
DC-GW1通过IGP路由或者BGP路由将租户主机IP地址所在网段路由发送给DCI-PE1。DCI-PE1会将这些路由下发私网转发表。 |
DCI-PE1将私网路由重新封装成IRB路由或者EVPN IP前缀路由:
封装后该路由将被发送至DCI-PE2。 |
DCI-PE2收到EVPN路由后,根据EVPN路由的RT将交叉到本地对应的L3VPN实例中,然后下发私网转发表,并通过私网IGP或BGP协议发布给DC-GW2。 |
二层业务 |
DCI-PE1通过从DC-GW1发来的业务流量学习到流量的源MAC,从而生成本地的MAC转发表项。 |
DCI-PE1生成EVPN MAC路由:
封装后该路由将被发送至DCI-PE2。 |
DCI-PE2收到MAC/IP地址通告路由后,根据路由的RT将交叉到本地对应的EVPN实例中,并生成本地的二层转发表项。 |
|
EVPN-MPLS(VXLAN接入) |
三层业务 |
DC-GW1通过IRB路由或者EVPN IP前缀路由将租户主机IP地址发送给DCI-PE1。DCI-PE1将会从这些EVPN路由中解析出租户主机IP路由,然后系统会根据本地EVPN实例和L3VPN实例的RT匹配关系将这些租户主机IP路由交叉进入L3VPN实例,同时将迭代到的VXLAN隧道信息下发给私网转发表。 |
DCI-PE1重新封装生成IRB路由或者EVPN IP前缀路由,封装模式由VXLAN模式改为MPLS模式:
封装后该路由将被发送至DCI-PE2。 |
DCI-PE2在收到IRB路由或者EVPN IP前缀路由后会将这些路由交叉进入L3VPN实例,并将迭代的MPLS隧道信息下发私网转发表。路由中的L2&L3私网标签将被替换为L2&L3 VNI信息,然后重生成IRB路由或者EVPN IP前缀路由发布给DC-GW2。 |
二层业务 |
DC-GW1通过EVPN的MAC/IP地址通告路由将租户主机MAC地址发送给DCI-PE1。DCI-PE1会根据该路由的RT值的匹配结果交叉进入本地EVPN实例,并生成MAC转发表项。 |
DCI-PE1对EVPN路由进行重新封装,将下一跳修改为本地建立EVPN邻居的地址,将原先携带VXLAN封装属性的EVPN路由的RD、RT属性替换为本地EVPN实例的RD和RT,同时申请MPLS标签,并将重新封装后的MAC/IP地址通告路由发送给DCI-PE2。 |
DCI-PE2在收到MAC/IP地址通告路由后,会根据RT将EVPN路由交叉到本地对应的EVPN实例中。DCI-PE2将EVPN路由重新封装,下一跳修改为自己的VTEP地址,将EVPN路由的RD、RT属性替换为本地EVPN实例的RD和RT,同时填充L2VNI,并将重新封装后的MAC/IP地址通告路由发送给DC-GW2。 |
DCI数据平面
二层和三层业务流量转发过程请参见表12-11。
部署方式 |
承载业务 |
传播过程 | ||
---|---|---|---|---|
DC-GW2到DCI-PE2 |
DCI-PE2到DCI-PE1 |
DCI-PE1到DC-GW1 |
||
L3VPN(VXLAN接入) |
三层业务 |
DC-GW2通过VXLAN隧道将数据报文发送给DCI-PE2。 |
DCI-PE2通过解析VXLAN数据报文,获得VNI和数据报文。DCI-PE2根据VNI找到对应L3VPN实例,然后通过查找租户主机IP地址在对应L3VPN实例的转发表中找到通往DCI-PE1的MPLS隧道。在封装私网标签和公网MPLS隧道标签后,DCI-PE2将该数据报文通过MPLS隧道发送至DCI-PE1。 |
DCI-PE1收到MPLS封装的数据报文后会去掉公网MPLS隧道标签,然后根据私网标签找到对应L3VPN实例,再通过查找租户主机IP地址在对应L3VPN实例的转发表中找到通往DC-GW1的VXLAN隧道。DCI-PE1会根据VXLAN隧道信息对数据报文进行VXLAN封装,并将VXLAN报文发送给DC-GW1。 |
EVPN-MPLS(VLAN接入) |
三层业务 |
DC-GW2通过私网转发将数据报文发送给DCI-PE2。 |
DCI-PE2根据接收到数据报文的接口所绑定的L3VPN实例的私网转发表,查找到数据报文的目的地址所对应的转发信息,即通往DCI-PE1的MPLS隧道信息。在封装私网标签和公网MPLS隧道标签后,DCI-PE2将该数据报文通过MPLS隧道发送至DCI-PE1。 |
DCI-PE1收到MPLS封装的数据报文后会去掉公网MPLS隧道标签,然后根据私网标签找到对应L3VPN实例,再通过查找租户主机IP地址在对应L3VPN实例的转发表中找到通往DC-GW1出接口,并将数据报文从对应出接口发送给DC-GW1。 |
二层业务 |
DC-GW2通过数据平面二层转发将数据报文发布至DCI-PE2。 |
DCI-PE2根据接收到数据报文的接口所绑定的EVPN实例的转发表,查找到数据报文的目的地址所对应的转发信息,即通往DCI-PE1的MPLS隧道信息。在封装私网标签和公网MPLS隧道标签后,DCI-PE2将该数据报文通过MPLS隧道发送至DCI-PE1。 |
DCI-PE1收到MPLS封装的数据报文后会去掉公网MPLS隧道标签,然后根据私网标签找到对应EVPN实例,通过EVPN实例对应广播域的MAC转发表项找到对应的出接口,并将数据报文从对应出接口发送给DC-GW1。 |
|
EVPN-MPLS(VXLAN接入) |
三层业务 |
DC-GW2通过VXLAN隧道将数据报文发送给DCI-PE2。 |
DCI-PE2通过解析VXLAN数据报文,获得VNI和数据报文。DCI-PE2根据VNI找到对应L3VPN实例,然后通过查找租户主机IP地址在对应L3VPN实例的转发表中找到通往DCI-PE1的MPLS隧道。在封装私网标签和公网MPLS隧道标签后,DCI-PE2将该数据报文通过MPLS隧道发送至DCI-PE1。 |
DCI-PE1收到MPLS封装的数据报文后会去掉公网MPLS隧道标签,然后根据私网标签找到对应L3VPN实例,再通过查找租户主机IP地址在对应L3VPN实例的转发表中找到通往DC-GW1的VXLAN隧道。DCI-PE1会根据VXLAN隧道信息对数据报文进行VXLAN封装,并将VXLAN报文发送给DC-GW1。 |
二层业务 |
DC-GW2通过VXLAN隧道将数据报文发送给DCI-PE2。 |
DCI-PE2通过解析VXLAN数据报文,获得VNI和数据报文。DCI-PE2根据VNI找到对应的二层广播域,然后根据广播域找到对应的EVPN实例的转发表,从而查找到数据报文的目的地址所对应的转发信息,即通往DCI-PE1的MPLS隧道信息。在封装私网标签和公网MPLS隧道标签后,DCI-PE2将该数据报文通过MPLS隧道发送至DCI-PE1。 |
DCI-PE1收到MPLS封装的数据报文后会去掉公网MPLS隧道标签,然后根据私网标签和BD ID找到对应的二层广播域,再根据租户主机目的MAC在二层广播域内查找通往DC-GW1的VXLAN隧道。DCI-PE1会根据VXLAN隧道信息进行VXLAN封装,并将VXLAN报文发送给DC-GW1。 |