H3C EVPN-VXLAN集中式动态建立隧道配置

首先在配置前了解一些理论知识

EVPN全称以太网虚拟专用网络

EVPN的典型网络模型中包括如下部分

  • 用户终端(Terminal):可以是PC机、无线终端设备、服务器上创建的VM(Virtual Machine,虚拟机)等。不同的用户终端可以属于不同的VXLAN。属于相同VXLAN的用户终端处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的用户终端之间二层隔离。
  • VTEP(VXLAN Tunnel End Point,VXLAN隧道端点):EVPN的边缘设备。EVPN的相关处理都在VTEP上进行。
  • VXLAN隧道:两个VTEP之间的点到点逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头和IP头后,通过VXLAN隧道将封装后的报文转发给远端VTEP,远端VTEP对其进行解封装。
  • 核心设备:IP核心网络中的设备。核心设备不参与EVPN处理,仅需要根据封装后报文的外层目的IP地址对报文进行三层转发。
  • VXLAN网络/EVPN实例:用户网络可能包括分布在不同地理位置的多个站点内的用户终端。在骨干网上可以利用VXLAN隧道将这些站点连接起来,为用户提供一个逻辑的二层VPN。这个二层VPN称为一个VXLAN网络,也称为EVPN实例。VXLAN网络通过VXLAN ID来标识,VXLAN ID又称VNI(VXLAN Network Identifier,VXLAN网络标识符),其长度为24比特。不同VXLAN网络中的用户终端不能二层互通。
  • VSI(Virtual Switch Instance,虚拟交换实例):VTEP上为一个VXLAN提供二层交换服务的虚拟交换实例。VSI可以看作是VTEP上的一台基于VXLAN进行二层转发的虚拟交换机。VSI与VXLAN一一对应。
  • ES(Ethernet Segment,以太网段):用户站点连接到VTEP的链路,通过ESI(Ethernet Segment Identifier,以太网段标识符)唯一标识。目前,一个用户站点只能通过一条链路连接一台VTEP,该ES的ESI为0。

EVPN的控制平面:

最初的VXLAN方案(RFC7348)中没有定义控制平面,是手工配置VXLAN隧道,然后通过流量泛洪的方式学习主机地址。这种方式实现上较为简单,但是会导致网络中存在很多泛洪流量,并且网络扩展起来困难。

为了解决上述问题,VXLAN引入了EVPN(Ethernet VirtualPrivate Network,以太网虚拟专用网)作为VXLAN的控制平面。EVPN参考了BGP/MPLSIP VPN的机制,通过扩展BGP(BorderGateway Protocol,边界网关协议)新定义了几种BGPEVPN路由,通过在网络中发布路由来实现VTEP的自动发现、主机地址学习

采用MP-BGP发布EVPN路由,在BGP中UPdata报文中携带

  • IMET路由:

BGP EVPN的TYPE3路由用来自动发现VTEP、建立隧道并关联隧道

  • MAC/IP发布路由:

BGP EVPN的TYPE2类路由用来通告主机MAC地址、主机ARP和主机路由信息

  • IP前缀路由

BGP EVPN的TYPE5类路由,用于通告引入的外部路由,也可以通告主机路由信息

VXLAN隧道的动态建立

以VTEP2和VTEP3为例,介绍一下通过BGPEVPN方式动态建立VXLAN隧道的过程:

首先在VTEP2和VTEP3之间建立BGPEVPN对等体。然后,在VTEP2和VTEP3上分别创建二层广播域,并在二层广播域下配置关联的VNI。接下来在二层广播域下创建EVPN实例,配置本端EVPN实例的RD、出方向VPN-Target(ERT)、入方向VPN-Target(IRT)。在配置完本端VTEPIP地址后,VTEP2和VTEP3会生成BGP EVPN路由并发送给对端,该路由携带本端EVPN实例的出方向VPN-Target和BGP EVPN协议新定义的Type3路由即InclusiveMulticast路由。

VTEP2和VTEP3在收到对端发来的BGPEVPN路由后,首先检查该路由携带的EVPN实例的出方向VPN-Target,如果与本端EVPN实例的入方向VPN-Target相等,则接收该路由,否则丢弃该路由。在接收该路由后,VTEP2和VTEP3将获取其中携带的对端VTEPIP地址和VNI,如果对端VTEPIP地址是三层路由可达,则建立一条到对端的VXLAN隧道;同时,如果对端VNI与本端相同,则创建一个头端复制表,用于后续BUM报文转发

开始实验

1.配置IP(省略)

2.配置OSPF,环回口可达(省略)

3.EVPN VXLAN相关配置

R4作为反射器,R1-3作为客户端

R1、R2、R3的配置(R3的gi0/1无需关联VSI实例)

l2vpn enable        #开启L2二层隧道功能
vxlan tunnel mac-learning disable    #关闭远端MAC地址和远端ARP自动学习功能。
vxlan tunnel arp-learning disable
vsi vpna        #在VSI实例vpna下创建EVPN实例,并配置自动生成EVPN实例的RD和RT
 arp suppression enable    #开启ARP泛洪抑制功能
 vxlan 10
 evpn encapsulation vxlan    #进入evpn实例视图 
  route-distinguisher auto    #开启自动生成RD值
  vpn-target auto    #开启自动生成RT值
#
vsi vpnb
 arp suppression enable
 vxlan 20
 evpn encapsulation vxlan
  route-distinguisher auto
  vpn-target auto
#
interface GigabitEthernet0/1
 xconnect vsi vpna    #接口关联VSI实例vpna
#
interface GigabitEthernet0/2
 xconnect vsi vpnb    #接口关联VSI实例vpnb
 
bgp 200    #配置BGP
 peer 4.4.4.4 as-number 200
 peer 4.4.4.4 connect-interface LoopBack0
 #
 address-family l2vpn evpn    #在evpn地址簇下建立邻接关系
  peer 4.4.4.4 enable

4.R3的VSI虚接口配置

interface Vsi-interface1    #创建VSI虚接口VSI-interface1,该IP地址作为VXLAN 10内虚拟机的网关地址
 ip address 10.1.1.1 255.255.255.0
#
interface Vsi-interface2    #创建VSI虚接口VSI-interface2,该IP地址作为VXLAN 20内虚拟机的网关地址
 ip address 10.1.2.1 255.255.255.0
vsi vpna    #配置VXLAN 10所在的VSI实例和接口VSI-interface1关联
 gateway vsi-interface 1
vsi vpnb    ##配置VXLAN 20所在的VSI实例和接口VSI-interface1关联
 gateway vsi-interface 2

5.R4的BGP配置

bgp 200
 group evpn internal
 peer evpn connect-interface LoopBack0
 peer 1.1.1.1 group evpn
 peer 2.2.2.2 group evpn
 peer 3.3.3.3 group evpn
 #
 address-family l2vpn evpn
  undo policy vpn-target
  peer evpn enable
  peer evpn reflect-client

6.实验测试

(1)查看R1的隧道建立情况

在实验并未配置tunnel接口,使用命令dis interface tunnel命令是依靠BGP EVPN扩展的的TYPE3类路由自动生成的隧道

(2)BGP的UPdate报文

可以看到路由中携带的一些关于EVPN的参数,所以可知要想自动建立VXLAN隧道前提是可以交互BGP的UPdate报文

(3)ping抓包

10.1.1.10与10.1.1.20通信,可以看到是VXLAN的报文从上至下依次为物理层-二层帧头部-IP层隧道封装头部-VXLAN头部UDP端口号为4789-原始报文帧头部-原始报文IP头部-数据

到此实验结束

  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成全101

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值