瑞  思  源  科  技
Receive International Holdings Limited

数通仪表专精16载!创新质量虚心力行 

Spirent TestCenter - BGP配置及参数介绍汇总

1.BGP简介

BGP(Border Gateway Protocol)外部网关协议。BGP是网络中使用最为广泛的一种路由协议,不管是运营商网络、企业网络、还是数据中心网络,目前都在使用BGP协议。BGP是一种路径矢量路由协议。BGP协议的主要目的不在于发现和计算路由,BGP协议的强大体现在路由的分发与控制。BGP具有丰富的路由策略,能够实现路由的灵活过滤和选择。BGP使用TCP作为其传输层协议 (端口号179)。BGP根据邻居两端是否处于相同的AS,分为IBGP邻居和EBGP邻居。同处一个AS内的是IBGP邻居,处于不同AS之间的邻居的是EBGP邻居。本文介绍如何使用Spirent TestCenter来配置BGP会话和路由发布功能。

2.   测试拓扑

1.png

3.   测试步骤

3.1 连接机框并占用测试端口

2.png

3.2查看所占用端口的状态是否为up

3.png

3.3 在端口上添加设备和路由协议

3.3.1可以使用“手工配置”或“Wizard”向导方式创建路由器、配置BGP协议

4.png


3.3.2 选择创建仿真BGP路由器的接口

我们先选择一个接口进行配置,配置完成后再对另一个接口进行配置。

5.png

3.3.3选择要仿真的路由协议: BGP

6.png

3.3.4 设置封装类型

封装类型默认是IPv4。

7.png

3.3.5设置仿真路由器的相关配置

设置仿真路由器的数量,Router ID,IPv4地址,MAC,网关等。IPv4地址是本端的地址,网关一般配为与本端直连的DUT端口的地址。

8.png

3.3.6 配置BGP协议参数

配置对端BGP Peer的IP地址,本端及对端的AS Number,认证等等。

9.png

3.3.7 点击Finish自动调用生成BGP路由的向导

10.png

3.3.8选择发布BGP路由的接口和仿真设备

11.png

3.3.9选择BGP路由类型(此处选IPv4路由)

12.png

3.3.10 配置BGP路由相关参数

配置路由数量,起始IP、前缀长度等参数。至此完成BGP相关配置。点击Finish完成端口上的仿真路由器和BGP路由的配置。

13.png

3.3.11 配置对端BGP协议

重复步骤3.3 ~ 3.10 完成另一个接口下的BGP仿真路由器配置。

3.4 启动BGP协议

3.4.1 点击 Apply 下发BGP协议配置

14.png

3.4.2 启动运行BGP协议

有两种方法启动BGP协议:

方法一:点击Start All Devices启动BGP协议。

15.png

方法二:进入BGP选项卡,选中端口,点击BGP—> Start BGP。(在Start BGP选项下,除了可以配置建立BGP邻居还会发布BGP路由)

16.png

3.4.3 查看Router State状态

显示为Established,表明BGP邻居建立成功。

17.png

3.4.4 查看端口上路由器所学习到的路由信息

点击进入Device页面BGP选项卡,勾选Enable View Routes, Apply配置。右键选中BGP—>View IPv4/IPv6 Routes,查看端口收到的路由信息。

18.png19.png20.png

3.5 配置测试流量

3.5.1 使用Add Bound Block(s)创建流量

21.png


3.5.2 选择刚才配置BGP协议的两个端口

22.png

3.5.3 选择流量源和目的地址及发送方向

本例中使用5/1和5/2上生成的BGP路由作为数据流的源地址和目的地址,点击 Add 创建数据流。

23.png

3.5.4 点击 Add 后,可以看到在数据流定义列表中增加了一条流量

24.png

3.5.5配置流量的名称、数据包长

25.png

3.5.6 配置数据流帧格式和数据帧内容

可勾选Show All Fields, 观察详细信息。

25.png

3.5.7 设置流量负载模式

27.png

3.5.8 选择流量接收端口

此选项为可选。点击Finish 完成流量的配置。

28.png

3.5.9 查看相应的 Stream Blocks配置成功

29.png

3.6 打流量验证路由学习结果

3.6.1 打流验证学习到的路由

30.png

31.png

32.png

3.6.2 查看BGP协议报文统计信息

33.png

33.1.png

3.6.3设置查看每条流的统计信息

查看包括BGP统计信息和按数据流块的统计结果。

34.png

3.6.4 查看数据流统计信息:发、收包数量、速率、延时、丢包、乱序等

35.png

3.7 导入真实BGP路由

TestCenter除了可以产生仿真BGP路由外,还可以导入真实网络产生的BGP路由,利用导入的路由作为源或目的建立流量进行测试。目前TestCenter能够支持导入Cisco/Juniper/Alcatel路由器的BGP路由。以Cisco为例,通过执行Show IP BGP命令打印出BGP路由表,而后将打印出的路由信息保存为.txt文件。接下来将这个txt文件导入到TestCenter,用以生成BGP路由。 可以使用两种方法导入BGP路由:

方法一:

(1)   从菜单栏选择按钮Tools->Wizards->Routing & MPLS->BGP->选择Route Table Import然后单击Next.

36.png

37.png

(2) 选择一个已经加入BGP路由协议的模拟路由器并勾选,单击Next.

38.png

(3) 在Route File中设置BGP路由文件的路径

39.png

(4) 在Route Type下拉框中选择路由表的类型

40.png

(5) Fast Route Import如果勾选"Disable Traffic"这个选项,STC会快速将大量路由载入,但是不能够进行流量的绑定。

41.png

(6) Prepend tester ASN to AS path勾选该选项,模拟路由器的AS号会被附加到导入路由的AS path中。

42.png

(7) Use Tester IP as next hop勾选该选项,则模拟路由器的IP地址将作为导入路由的下一跳。

43.png

(8) 设置导入路由数的限制TestCenter用三种方式来限制导入的路由数:最大路由组数 (Max Route Blocks) ,每路由组的最大路由数 (Max Routes per Block) 最大导入路由数(Max Imported Route) Route Block的概念是,具有相同属性的BGP路由被放入一个Route Block。如果不需要设置一个最大值作为限制,则可以在相应的选框内填入0,代表没有限制。TestCenter在导入路由表时会在Max route block或者Max imported route中的一个达到最大值时停止导入。设置完成后单击Finish完成配置。

44.png

方法二:

(1) 选择一个BGP协议模拟路由器,进入BGP标签,点击Edit Routes。

45.png

(2) 在Import Routes标签页,点击Route Table Import。其余步骤同方法一。

46.png

3.8 BGP路由属性设置

3.8.1 BGP路由通告自定义属性设置

BGP属性是对BGP路由进行决策和控制的重要信息。Spirent TestCenter支持通过BGP Custom Attributes功能来自定义BGP属性。

Spirent TestCenter提供了强大的BGP Attributes编辑功能,可最大化满足客户的测试需求。

47.png

Attribute Type Selector提供许多BGP已定义的属性。

48.png

测试拓扑:

测试仪两端口自环连接(B2B connection)

测试需求:

TestCenter产生一条IPv4路由,携带一个Custom Attribute.

Length = 15 bytes

Value(Hex)=112233445566778899aabbccddeeff

Step1:Add 一个自定义属性。

49.png

Step2:BGP Global Options -> Ignore attribute errors.

50.png

Step3:抓包分析

51.png

Tips1:如果不勾选“Ignore attribute errors”,则无法建立bgp neighbor。建议通过抓包分析,是DUT因为不能识别自定义的BGP属性而发送了Notification。

52.png

Tips2:若测试DUT,请确保DUT支持 “Ignore attribute errors” 功能。

3.8.2 BGP路由通告Community属性递增设置

Community属性可以简化BGP路由策略的执行,提高BGP选路的灵活性。BGP可以对某些路由分配一个特定的Community属性,路由策略的执行是基于Community值,而不是具体的路由。

测试案例:

本例使用测试仪两个端口自环,仿真BGP,配置一条route block,通告5条路由,每条路由Community值递增。

创建BGP Router   

配置路由

Community :初始值

Community Increment STEP步进

Community Per Block Count route block的路由包含的Community值变化的数量。

53.png

抓包分析

54.png

3.8.3设置不同Next HopBGP路由

Next Hop是BGP路由的重要属性。实际测试应用中,可能会需要使用测试仪通告具有不同Next Hop的BGP路由。

测试案例:

测试仪通告100条路由,且每条路由的Next hop都不同。

BGP Generator设置

使用BGP route配置向导配置。通告一条10.0.0.1/32路由。

55.png

Advanced Options设置

在高级选项配置中,uncheck “Use device address for Next Hop”。该项是默认选择的。

Next Hop count – 下一条变化的数量。这个数量乘以上一步通告的路由数量就是最终测试仪通告的路由数。在本例里一共通告1×100=100条路

Next Hop – 通告路由的下一跳地址。

Next Hop increment – 通告路由的下一跳地址的递增规律。

56.png

查看路由配置Edit Route

本例里,一共通告了100条路由;从10.0.0.1/32到10.0.0.100/32。

57.png

测试& 抓包分析

Start BGP。BGP状态变成Established后,在BGP Results结果统计里可以看到Tx Advertised Route Count 是100,说明测试仪通告了100条路由。

58.png

使用Wireshark分析bgpUpdate消息。测试仪通告的每条路由的NextHop都不同。

59.png

60.png

3.8.4 BGP路由通告AS path属性递增设置

AS Path是重要的BGP路由属性。Spirent TestCenter支持通告AS Path递增的BGP路由。

测试方案:

1)测试仪和DUT建立iBGP邻居关系。

2)测试仪向DUT通告BGP路由,AS路径递增1。

(例如,第一条路由的AS path是100,12321;第二条路由的AS path是100,12322;以此类推)

61.png

配置方法:

创建Device,并使能BGP

62.png

创建BGP路由。本例中,测试仪通告5BGP路由

63.png

编辑AS Path

64.png

65.png

66.png

观察结果:

Start BGP

67.png

DUT上查看BGP路由

68.png

3.9 BGP路由通告设置

3.9.1 BGP 标签路由通告设置

TestCenter支持通告Labeled IP BGP 路由

Spirent TestCenter支持多种子地址组类型BGP路由,如Labeled IP SubAFI.

测试拓扑:

69.png

配置测试仪向DUT同时通告BGP路由以及MPLS Label

1) 在测试仪上配置BGP router,并使能BGP功能。

70.png

2) 编辑BGP routes,把SubAFI属性改为 Labeled IP

71.png

3) 根据需要修改标签分配的方式,本例中采用递增的方式 Incremental

72.png

4) 修改起始标签,本例中将BGP分配的起始标签修改为1000

73.png

执行测试并查看结果

1) 在测试仪侧抓包,并Start All devices。在测试仪发出的Update报文中,所有通告的路由都携带了标签

74.png

2)DUT上查看bgp路由以及标

75.png

3.9.2 BGP Route Refresh功能设置

Spirent TestCenter从v4.50版本开始支持BGP Route Refresh功能(RFC2918)。

配置方式如下:

使能Route Refresh Capability,并Start BGP

76.png

通过抓包分析,选择Route Refresh后,BGP Open message就会通告Route Refresh Capability

77.png

BGP邻居Established后,发送Route Refresh request

78.png

抓包分析。BGP speaker 1.1.1.2 向它的Peer1.1.1.1)发送了Route-RefreshMessage后,BGP speaker 1.1.1.1 发送了Update报文,把路由重新通告给1.1.1.2

79.png

3.10 BGP多协议仿真及VPN设置

3.10.1 BGP 双栈仿真设置

在大规模业务叠加性能测试场景中,需要利用测试仪表模拟大量的BGPv4 & BGPv6会话。例如测试需要1000个IPV4 BGP session和1000个IPV6 BGP Session, 在Test Center 4.91以前的版本,需要在客户端上配置1000个IPV4 BGP Device和1000个IPV6 BGP Device,则在界面上会显示2000个Device,配置和查询工作量都比较大。为了减少DeviceBlock配置工作量。从4.91以后的版本,Spirent TestCenter可以支持IPV4/IPV6双栈BGP Device, 同一个BGP Device可以起一个IPV4 Session和一个IPV6 Session,配置工作量减少,而且Device Block界面也会减少翻页,查询路由器状态结果也更方便。

创建Device需要选择是IPv4and IPv6(dual stack)

80.png

为双栈BGP Device创建路由时可以同时勾选IPv4和IPv6 Routes

81.png

创建好BGP Device后,到BGP界面的IP Version那一栏选择IPv4 and IPv6,默认是IPv4.

82.png

BGP路由表界面会发现在IPv4 Routes和IPv6 Routes两个表中多了SessionIP Version一栏,通过下拉列表可以选择该每一行路由是通过IPv4Session或IPv6 Session发布,还是同时在IPv4 and IPv6 Session通告出去

83.png

84.png

启动Device,到BGP result结果视图,查看V4和V6/Router都已经同时启动,一个Device已经有两个Session UP

85.png

通过抓包可以发现该双栈Device是先启动完IPV6 Session,然后才启动IPV4 Session

86.png

3.11 TestCenter BGP测试配置技巧

3.11.1 大量BGP路由通告性能优化设置

为了优化测试仪通告大量BGP路由时的性能以及通告效率。TestCenter在v4.76版本发布了BGP TCP Buffer Option功能,在v4.76之前的版本中,BGP的TCP buffer size值为8196,无法修改。这限制了测试仪快速的通告大量BGP路由的能力。在v4.76版本中,STC提供了BGP Global Option设置项,用户可以修改BGP TCP Tx Buffer size,来提升bgp路由的通告效率。

配置方式如下:

87.png

3.11.2 BGP路由通告速率设置

Spirent TestCenter支持通过调整BGP的全局选项里(BGP Global Options)的Max routes per update 和Inter-update delay(ms)数值来控制BGP路由通告的速率。

88.png

Max routes per update

一个update报文可以通告的路由的数量。根据RFC 1771,一个BGP消息不能超过4094 bytesSpirentTestCenter在通告路由时也遵从这个限制。Inter-update delay :两个连续的update消息发送的间隔,单位是毫秒(ms)

配置示例:

通告1000BGP routesMax routes per update =1Inter-update delay=1

这是测试仪通告这1000条路由需要1秒时间,即一毫秒通告一条路由。抓包分析时间戳可以看到,update的发送间隔是1ms

89.png


分享到:
 
 


timg.jpg 在线客服

客服热线:022-23665894

邮箱:Messsnger@ruisifu.com

QQ/微信:464226700

微信图片_20180227151521.jpg