使用EVPN/VXLAN解决广域网数据中心互联

数据中心之间互联(DCI)从早几年就被厂商提出,从最早的裸线,DWDM、专线到现在的GRE、VLL、PBB、OTV。DCI互联技术基本可以认为都是伴随的数据中心内的业务发展而革新,使用的成本越来越低,能够让我们的网络设计和维护人员方便使用。

今天要跟大家分享的是使用EVPN/VXLAN自动化建立广域网数据中心之间TUNNEL的一些实践。

现在数据中心之间互联的一些希望:

1.技术成熟稳定可靠;

2.灵活性高,可以任意部署;

3.具备一定自动化,人工干预程度降低;

4.能满足L2、L3集成化服务;

5.满足未来云和虚拟化服务;

6.在IP架构上以隧道方式提供业务,不依赖其他底层支持;

而现阶段数据中心之间互联实施上的一些困难:

1.专线或者裸线的成本高,如果需要多路复用还需DWDM这样的设备支持;

2.GRE、VLL、OTV都需要手工配置,如果多节点互联的情况下,导致隧道(TUNNEL)数据量庞大,维护和排查比较麻烦;

3.VLL、OTV等专线技术需要路由器或者特定的设备才能够完成,容易厂商绑定或者提高边缘设备采购成本;

对于一个体量不够大的互联网企业或者有一定数据中心数量的中型企业没有能力租用全网大规模数量的专线或者高带宽的专线来满足数据中心之间互联的需求,所以在这些企业里面我们经常看到GRE在业务网内的身影。

随着OpenStack的兴起,数据中心互联协议也有了更新,其中的VXLAN是其中最为亮眼,而且获得绝大多数的厂商设备支持;VXLAN不仅能够像VLAN提供二层穿透,而且又能像GRE一样穿越IP网,构建一层Underlay的叠加网络。

假如有大量数据中心之间需要VXLAN使用互联,配置是一个非常的麻烦事情,希望有一种方式能够帮助我们自动互联这些VXLAN。在现有自动互联的方式主要是以下两种:

1.组播

2.EVPN

而我的是EVPNNVO,BGP做控制层、VXLAN做数据层,直接运行在IP上,不需要其他底层传输协议,只需要有一个扩展的BGP就可以(关于BGP的具体内容,不做展开)。

假如如下场景:

有一个公司在一个ISP内3个数据中心需要通过internet或者其他的3层IP网互联,通过BGPRR的方式实现VXLAN自动互联,承载对应IP业务,实现数据互通。

那么当这样的网络建设起来后,VXLAN是怎么与BGPRR一起协同工作的,数据包如何转发的?下面我将用图文的方式简单的介绍其工作过程:

1.数据中心边缘设备(VTEP1、VTEP2、VTEP3)与BGPRR完成BGP对接后,边缘设备将会把指定的VXLAN内的MAC地址,同时会为这个学到的MAC条目编一个版本好,此处暂时将版本号为0。

2.此时数据中心边缘设备(VTEP1、VTEP2、VTEP3)会将自己学习到的信息像BGP路由条目一样告知MPBGPBGPRR。

3.就像传统的BGPRR一样,MPBGPEVPNRR会将更新发送到所有的边缘节点。

4.数据中心边缘设备(VTEP1、VTEP2、VTEP3)学到了从BGPRR反射过来的MAC地址信息后,这些MAC地址将为安放在各自对应的VXLAN内(假如VTEP1A主机MAC地址在VXLAN1000内,其他中断节点就会学到A主机的MAC地址在VXLAN1000内,目标是VTEP1)。

5.当A主机(SRV-A)发送ARP请求来查找主机B(SRV-B),本地的VTEP1将应答这个ARP请求,主要是为了避免二层flooding。

6.收到ARP回应的主机A(SRV-A)将向主机B(SRV-B)发送数据流,当流量到VTEP1后,查表发现到达主机B(SRV-B)需要先到VTEP2,VTEP1就将流量封装进VXLAN,通过UDP单播的方式发送到VTEP2。

7.VTEP2接到VXLAN数据包,就开始解封装。查表发现本地有主机B(SRV-B),将流量按照普通的二层帧的方式发送目标主机。

8.主机B(SRV-B)回复给主机A(SRV-A)的流量将上面步骤6-7;

9.如果主机C(SRV-C)发起主机A(SRV-A)流量,将重复上面的步骤5-7;

通过实际将4台交换机分别放置在两地线上IDC使用VXLAN互联验证后,使用VXLAN就像使用一个MPLSVLL的网络一样,提供2层互联,将3地的路由器身后的网络打通,3地边界路由器之间可以通过OSPF、BGP、LDP、LLDP、RSVP互相建立邻居,并通告相应的网段。

作者简介:李盛雁:现在主要探究传统网络架构向SDN转型和融合解决方案,通过SDN实现网络精细化流量调度。曾任职苏州蜗牛游戏和Juniper(瞻博)、SDN技术实践者,现工作地点上海。

--------------华丽的分割线------------------

本文系《SDNLAB原创文章奖励计划》投稿文章,该计划旨在鼓励广大从业人员在SDN/NFV/Cloud网络领域创新技术、开源项目、产业动态等方面进行经验和成果的文字传播、分享、交流。有意向投稿的同学请通过官方唯一指定投稿通道进行文章投递,投稿细则请参考《SDNLAB原创文章奖励计划》