目录
一、BGP_EVPN测试简介
1.1 BGP_EVPN简介
EVPN(Ethernet Virtual Private Network)是一种用于二层网络互联的VPN技术。EVPN技术采用类似于BGP/MPLS IP VPN的机制,在BGP协议的基础上定义了一种新的网络层可达信息NLRI(Network Layer Reachability Information)即EVPN NLRI,EVPN NLRI定义了几种新的BGP EVPN路由类型,用于处在二层网络的不同站点之间的MAC地址学习和发布。
原有的VXLAN实现方案没有控制平面,是通过数据平面的流量泛洪进行VTEP发现和主机信息(包括IP地址、MAC地址、VNI、网关VTEP IP地址)学习的,这种方式导致VXLAN网络存在很多泛洪流量。为了解决这一问题,VXLAN引入了EVPN作为控制平面,通过在VTEP之间交换BGP EVPN路由实现VTEP的自动发现、主机信息相互通告等功能,从而避免了不必要的数据流量泛洪。
1.2 BGP_EVPN路由
EVPN(Ethernet Virtual Private Network)技术采用类似于BGP/MPLS IP VPN的机制,在BGP协议的基础上定义了一种新的NLRI(Network Layer Reachability Information,网络层可达信息)即EVPN NLRI,EVPN NLRI定义了新的BGP EVPN路由类型,用于处在三层网络的不同站点之间的IP地址学习和发布。
在动态VXLAN隧道创建中,EVPN作为VXLAN控制平面协议,会使用到EVPN NLRI中定义的IP前缀类型(IP Prefix Route)路由,用于传递VTEP地址和主机信息,可以使VTEP(VXLAN Tunnel Endpoints)发现和主机信息学习从数据平面转移到控制平面。
IP前缀路由是Type5路由,该类型路由的报文格式如图1所示:
图1 IP前缀路由的报文格式:
各字段的解释如下表所示:
该类型路由的IP Prefix Length和IP Prefix字段既可以携带主机IP地址,也可以携带网段地址:
当携带主机IP地址时,在VXLAN控制平面中主要用于主机IP路由通告。
当携带网段地址时,通过传递该类型路由,可以实现VXLAN网络中的主机访问外部网络。
1.3 相关概念
VTEP(VXLAN Tunnel Endpoints)
VTEP是VXLAN隧道端点,封装在NVE中,用于VXLAN报文的封装和解封装。
VTEP与物理网络相连,分配有物理网络的IP地址,该地址与虚拟网络无关。
VXLAN报文中源IP地址为本节点的VTEP地址,VXLAN报文中目的IP地址为对端节点的VTEP地址,一对VTEP地址就对应着一个VXLAN隧道。
NVE(Network Virtualization Edge)
网络虚拟边缘节点NVE,实现网络虚拟化功能的网络实体。报文经过NVE封装转换后,NVE间就可基于三层基础网络建立二层虚拟化网络。
VNI(VXLAN Network Identifier)
VXLAN网络标识VNI类似VLAN ID,用于区分VXLAN段。
一个VNI表示一个租户,即使多个终端用户属于同一个VNI,也表示一个租户。
VNI和VPN实例进行关联,用于VXLAN报文跨子网的转发。
EVPN-VPN-Target
每个VPN实例关联一个或多个EVPN-VPN-Target。有两类EVPN-VPN-Target:
Export EVPN-VPN-Target:Export EVPN-VPN-Target属性会携带在EVPN路由中发送到远端的EVPN对等体。
Import EVPN-VPN-Target:Import EVPN-VPN-Target属性通过与EVPN路由中携带的Export EVPN-VPN-Target属性匹配来决定哪些EVPN路由能交叉到本地的VPN实例IPv4地址族的路由表中。
EVPN-VPN-Target属性控制EVPN路由的收发,进行EVPN路由交叉时,EVPN路由中携带的Export EVPN-VPN-Target属性中如果有一个与本地VPN实例IPv4地址族下的配置的Import EVPN-VPN-Target一致,即可交叉成功。
1.4 通过EVPN部署VXLAN隧道过程
如图2所示其建立过程如下:
1.在Device1和Device2上创建VPN实例,并在Device1和Device2之间建立EVPN对等体关系。
2.Device1和Device2间通过EVPN协议相互发送IP前缀路由。本端设备将主机地址或主机所在的网段地址引入到VPN实例中,并使用IP前缀路由发送至对端设备。
3.Device1和Device2收到对方发来的IP前缀路由后,将检查路由上携带的Export EVPN-VPN-Target,如果与本端VPN实例IPv4地址族下的配置的Import EVPN-VPN-Target一致,则接收该路由,否则将丢弃此路由。接收该路由后,系统将保存其中携带的VTEP IP地址与VNI,进行报文转发时,数据报文外层将封装这些信息,即使用VXLAN隧道进行传输。
图2 通过EVPN部署VXLAN隧道过程图
二、Supernova上BGP_EVPN协议仿真
支持单向测试;
支持通过 BGP EVPN 方式动态建立 VXLAN 隧道;
支持16M虚拟隧道数;
支持 Unicast/Multicast 学习模式;
支持 Router ID/Interface IP 作为 VTEP 隧道 IP 地址;
支持添加 VXLAN 绑定流;
支持帧长变换模式。
三、在Supernova测试仪中可应用的场景
3.1网关模式
测试仪能够进行BGP_EVPN协议仿真测试。在测试仪服务端上模拟Emulated Router路由器与virtual host虚拟主机,Emulated Router路由器向受测设备通告路由信息并与受测设备建立EVPN邻居,客户端向virtual host为目的发送UDP流量。
四、BGP_EVPN用例主要配置参数
4.1分配CPU核
用例的运行需要分配CPU核数,回应BGP_EVPN成功数量总数最高性能需要分配一定的核数。
4.2限速配置
BGP_EVPN用例支持两种限速层次,分别是链路层带宽限速、网络层报文限速。
链路层带宽限速:限速的网络层次,限速单位:带宽(Mbps)
网络层报文限速:限速的网络层次,限速单位:报文数量
BGP_EVPN用例支持多种限速方式,包括固定速率、随机速率、梯形速率、雪崩速率、正弦速率、楼梯速率。
固定速率:设置一个限速数值,运行过程中速率将一直保持该数值,上下浮动不超过1%;
随机速率:限速方式为随机速率时,设置最小、最大限速数值,速率将按每秒从最小速率和最大速率之间随机速率值运行直到运行结束;
梯形速率:限速方式为梯形速率时,设置一个限速数值,运行开始阶段速率将按时间或者百分比递增到该数值,中间过程将一直保持设置的限速数值,运行结束前速率按时间或者百分比递减至0,中间过程上下浮动不超过1%;
雪崩速率:限速方式为雪崩速率时,设置最大、最小速率和保持时长,测试过程中速率将以最大速率保持一段时长,再以最小速率保持一段时长,交替进行;
正弦速率:限速方式为正弦速率时,设置最大、最小速率和渐变时长,测试过程中速率会在每一个渐变时长内完成一次正弦变化;
楼梯速率:限速方式为楼梯速率时,设置初始、最大、递增速率和保持时长,测试过程中速率将以初始速率保持一段时长,按递增速率每次递增并保持一段时长,最后按最大速率一直运行结束,形状类似楼梯。
4.3抓包设置
可以设置需要抓的协议类型,指定IP地址、端口、文件大小或者包数。可在运行前或运行中设置抓包。
4.4虚拟用户数量
同时并发的用户数量,如设置了256个用户,同时有256个用户发送BGP_EVPN请求。
4.5VXLAN隧道配置
需启用VXLAN隧道配置,默认为禁用状态。
4.6源VTEP IP地址
VTEP IP地址,为VTEP隧道网关的IP地址。
4.7目的VTEP IP地址
VTEP IP地址,为VTEP隧道网关的IP地址。
4.8VNI ID初始值
VxLAN隧道的VNI ID初始值,取值范围是0~16777215。
4.9VNI ID步进值
VxLAN隧道的VNI ID步进值,取值范围是0~16777215。
4.10VNI ID总数
VxLAN隧道的VNI ID总数,取值范围是0~16777215。
4.11EVPN MAC/IP地址通告路由
需启用EVPN MAC/IP地址通告路由,默认为禁用状态。
4.12EVPN集成多播路由
需启用EVPN集成多播路由,默认为禁用状态。
4.13EVPN IP前缀路由
需启用EVPN IP前缀路由,默认为禁用状态。
4.14L3-VNI ID
L3-VNI ID。
4.15L2-RT值
L2-VNI路由目标
4.16L2-RD值
L2-VNI路由标识
4.17L3-RT值
L3-VNI路由目标
4.18L3-RD值
L3-VNI路由标识
4.19VLAN ID
范围: 1 - 4,094,IEEE 802.1Q VLAN ID
4.20VLAN ID步进值
范围: 1 - 4,094,IEEE 802.1Q VLAN ID
4.21MAC伪装设置
伪装MAC的前两个字节(第一个字节的最低位不能为1)
五、BGP_EVPN测试案例-测试路由器BGP_EVPN性能
5.1测试拓扑
说明:测试仪使用“网关模式”分别模拟BGP_EVPN的客户端和服务端,过一台路由器(网关模式),测试路由器性能。
5.2测试目的
验证受测网关设备(路由器)BGP_EVPN功能。
5.3测试步骤
1.按图连接好拓扑;
2.路由器配置:配置接口IP;
3.测试仪上创建BGP_EVPN用例,配置VTPEIP 地址、VNI 等参数;
4.测试仪配置完成之后,启动用例,查看测试仪统计。
5.4预期结果
预期结果:成功通信的主机数量等于2
5.5路由器配置
#配置业务接入点
创建BD域并绑定VNI
bridge-domain 10
vxlan vni 100
bridge-domain 20
vxlan vni 200
Vxlan数据包归属设置(在子接口上关联)
interface GigabitEthernet0/0/1
stp disable
interface GigabitEthernet0/0/1.1 mode l2
encapsulation dot1q vid 10
bridge-domain 10
#
interface GigabitEthernet0/0/1.2 mode l2
encapsulation dot1q vid 20
bridge-domain 20
#配置VPN实例
ip vpn-instance vpn1
ipv4-family
route-distinguisher 100:1
vpn-target 1:1 export-extcommunity evpn
vpn-target 1:1 import-extcommunity evpn
vxlan vni 500
#配置BGP EVPN对等体关系
bgp 100
router-id 10.30.1.5
peer 10.30.1.4 as-number 100
peer 10.30.1.4 connect-interface GigabitEthernet0/0/2
#
ipv4-family unicast
undo synchronization
peer 10.30.1.4 enable
#
l2vpn-family evpn
policy vpn-target
peer 10.30.1.4 enable
#
ipv4-family vpn-instance vpn1
import-route direct
advertise l2vpn evpn
#配置VXLAN三层网关并绑定VPN实例
interface Vbdif10
ip binding vpn-instance vpn1
ip address 18.1.1.1 255.255.255.0
interface Vbdif20
ip binding vpn-instance vpn1
ip address 18.1.2.1 255.255.255.0
interface GigabitEthernet0/0/2
undo portswitch
ip address 10.30.1.5 255.255.255.0
#配置VTPE隧道口
interface Nve1
source 10.30.1.5
vni 100 head-end peer-list 10.30.1.6
vni 200 head-end peer-list 10.30.1.7
注意:配置方法因产品而异,此处仅以华为AR6121为例。具体实施时,有关第三方设备配置的任何问题,请从第三方用户指南获取帮助。
5.6测试仪配置
(1)在网关模式中,创建BGP_EVPN用例,选择测试端口
(2)配置IPV4虚拟主机
(3)配置IPV4边界网关
(4)配置IPV4虚拟网络区域
(5)隧道封装配置
(6)EVPN路由配置
(7)配置CPU核绑定
(8)抓包设置
(9)配置参数
(10)配置完成后,点击启动用例
(11)在监控中查看运行界面,应用层中成功通信的主机数量为关键结果。
5.7验证预期结果
(1)用例运行完毕,点击“报告”界面,点击打开测试结果
(2)点击“生成报告”按钮,生成测试报告,主要包括摘要信息
结论:符合5.4预期结果
5.8查看抓包报文
在监控页面或报告页面下载抓包文件查看
六、导出测试报告
(1)测试历史报告可以在“报告”页面查看
(2)点击生成文档按钮,可以生成HTML、PDF、Word、Excel形式的报告文档
(3)生成完成后,点击下载相应的格式的报告即可。