配置RFC 2544通用流测试
介绍使用通用流测试检测网络互联设备的性能。
应用环境
NQA通用流测试(Generalflow Test)是参照RFC 2544定义的一种通用流量测试方法。此方法屏蔽了不同网络场景以及检测报文格式的差异,是一套标准的网络的性能评估方法。基于UDP实现,缺省情况下,UDP报文的目的端口号是7,源端口号是49184。
在网络业务割接之前,客户希望先评估一下网络是否达到预先设计的性能指标时,可以使用此检测方式。对比其他检测技术,通用流测试有以下优点:
在业务部署之前,采用自发包形式,模拟业务流量
目前已有很多方法检测网络互连设备的性能,但是有些测量技术需要网络中存在业务流量才能进行,因此在业务部署前检测设备性能时,需要通过测试仪解决流量收发问题,可部署性差。
依据RFC2544实现,采用标准的测试方法和步骤,方便不同厂商进行性能对比。
通用流测试可以测量如下性能指标:
- 吞吐量:最大的使不丢包的发送速率。
丢包率:在整个网路转发过程中,报文被丢弃的比率。
时延:报文从设备发出到环回到设备的时间,包括了在网络转发设备中的处理时间。
通用流测试支持如下场景的检测:
二层场景:Native以太场景、L2VPN场景(VLL、VPLS)、EVPN场景
如图4-1所示,通用流测试包括发起端和反射端,检测两个UNI端口之间端到端业务的性能。
三层场景:Native IP场景、L3VPN场景
三层场景的组网图和二层场景类似。
L2VPN接入L3VPN场景:VLL接入L3VPN场景
如图4-2所示,在L2VPN接入L3VPN的场景中,根据探测点的不同,可以分为以下几种小场景。如果测试的发起端和反射端是位置1与位置5或位置4与位置6,此时与Native以太场景相同。
如果测试的发起端和反射端是位置2与位置3,此时与Native IP场景相同。
如果测试的发起端和反射端是位置3到位置1或位置2到位置4,此时与IP网关场景类似,L2VPN设备上需要配置模拟IP地址。
如果测试的发起端和反射端是位置1与位置2或位置3与位置4,此时与IP网关场景相同。
如果测试的发起端和反射端是位置1到位置4,或位置1到位置3,或位置4到位置2,此时为正式的L2VPN接入L3VPN场景。在这种场景中发起端需要指定目的MAC地址,目的IP地址和源IP地址。反射端需要指定接收测试流的目的IP地址。L2VPN测作为发起端需要配置模拟IP地址作为源IP地址。
IP网关场景:
如图4-3所示,
配置反射端
反射端用于环回发起端的流量,根据场景的不同,反射端的关键参数不同。
背景信息
如“建立配置任务”中的图4-1所示,通用流测试包括两个角色,即发起端和反射端。发起端用于发送模拟业务流量,反射端用于反射业务流量。
反射端可以基于整个反射端口进行反射,也可以通过配置过滤条件(目的单播MAC地址、目的端口等),过滤流量后再进行反射。
操作步骤
- 执行命令system-view,进入系统视图。
- 根据场景不同,选择不同的反射端的配置:
说明:
- 反射端ID必须本地唯一。
- 配置反射端时,可以同步配置老化时间。
场景
配置反射端
配置建议 不区分场景,基于整个反射端口反射
nqa reflector reflector-id interface interface-type interface-number [ exclusive ] [ exchange-port ]
如“建立配置任务”中的图4-1所示,反射端口是UNI侧端口B。
二层场景 nqa reflector reflector-id interface interface-type interface-number [ mac mac-address ] [ pe-vid pe-vid ce-vid ce-vid | vlan vlan-id ] [ source-port source-port ] [ destination-port destination-port ] [ exchange-port ] [ agetime agetime | endtime { endtime | enddate endtime } ] [ share-mode ]
如“建立配置任务”中的图4-1所示,MAC地址可以是反射端口B的接口MAC地址,或者指定一个网络中没有被使用过的MAC地址。
三层场景 nqa reflector reflector-id interface interface-type interface-number [ ipv4 ip-address ] [ pe-vid pe-vid ce-vid ce-vid | vlan vlan-id ] [ source-port source-port ] [ destination-port destination-port ] [ exchange-port ] [ agetime agetime | endtime { endtime | enddate endtime } ] [ share-mode ]
如“建立配置任务”中的图4-1所示,IP地址是与反射接口在同一网段的IP地址。
IP及IP网关场景 nqa reflector reflector-id interface interface-type interface-number [ ipv4 ip-address | mac mac-address | simulate-ip ipv4 ip-address2 ] [ pe-vid pe-vid ce-vid ce-vid | vlan vlan-id ] [ source-port source-port ] [ destination-port destination-port ] [ exchange-port ] [ agetime agetime | endtime { endtime | enddate endtime } ] [ share-mode ]
说明:IP及IP网关场景中,需要用户先执行arp static ip-address mac-address命令,配置对应的静态ARP表项。
如“建立配置任务”中的图4-1所示,IP地址是与反射端接口在同一网段的IP地址。
- 执行命令commit,提交配置。
配置发起端
发起端用于模拟发送业务流量。根据场景的不同和测量指标类型的不同,发起端的关键参数配置不同。
背景信息
如“建立配置任务”中的图4-1所示,通用流测试包括两个角色,即发起端和反射端。发起端用于发送模拟业务流量,反射端用于环回业务流量。
发起端的配置包括如下几部分:
创建通用流测试例
根据检测场景,配置模拟业务流量的基本信息
根据测量指标类型,配置关键测试参数
配置通用测试参数
启动通用流测试例
操作步骤
- 创建通用流测试例
- 执行命令system-view,进入系统视图。
- 执行命令nqa test-instance admin-name test-name,建立NQA测试例,并进入测试例视图。
- 执行命令test-type generalflow,配置测试例类型为通用流。
- 执行命令measure { throughput | loss | delay },配置测量指标类型。
- 根据检测场景,配置模拟业务流量的基本信息
说明:
在配置发起端时,注意配置的基本信息需要和反射端的配置一致。
场景
配置模拟业务流量的基本信息
配置建议 二层场景
执行命令destination-address mac mac-address,配置测试报文的目的MAC地址。
(可选)执行命令source-address mac mac-address,配置测试报文的源MAC地址。
执行命令forwarding-simulation inbound-interface interface-type interface-number,配置模拟转发报文的入接口。
执行命令vlan vlan-id或pe-vid pe-vid ce-vid ce-vid,配置模拟业务流量的测试报文的VLAN ID。
如“建立配置任务”中的图4-1所示:
目的MAC地址:MAC地址可以是反射端口B的接口MAC地址,或者指定一个网络中没有被使用过的MAC地址。
- 源MAC地址:MAC地址可以是发起端口A的模拟入接口MAC地址,或者指定一个网络中没有使用过的MAC地址。
模拟入接口:端口A。
VLAN ID:用户根据接口中的VLAN配置保持一致。
说明:在反射端上执行命令display nqa reflector,可以查看此处推荐配置的目的MAC地址。
三层场景 执行命令destination-address ipv4 ipv4-address,配置测试报文的目的IP地址。
执行命令source-address ipv4 ipv4-address,配置测试报文的源IP地址。
执行命令forwarding-simulation inbound-interface interface-type interface-number,配置模拟转发报文的入接口。
(可选)执行命令vlan vlan-id或pe-vid pe-vid ce-vid ce-vid,配置模拟业务流量的测试报文的VLAN ID。
说明:如果测试报文的源IP地址在发起端设备上没有对应的ARP表项,此时需要用户执行arp static ip-address mac-address命令配置对应的静态ARP表项。
如“建立配置任务”中的图4-1所示:
目的IP地址:IP地址是与反射接口在同一网段的IP地址。
- 源IP地址:与端口A的IP地址在同一网段的IP地址。
模拟入接口:端口A
IP网关场景 执行命令destination-address ipv4 ipv4-address,配置测试报文的目的IP地址。
执行命令source-address ipv4 ipv4-address,配置测试报文的源IP地址。
执行命令source-interface interface-type interface-number,配置测试报文的出接口。
(可选)执行命令vlan vlan-id或pe-vid pe-vid ce-vid ce-vid,配置模拟业务流量的测试报文的VLAN ID。
如“建立配置任务”中的图4-1所示:
目的IP地址:反射端CE的IP地址或与CE在同一网段的IP地址。
- 源IP地址:与端口A的IP地址在同一网段的IP地址
L2VPN接入L3VPN场景 执行命令destination-address ipv4 ipv4-address mac mac-address,配置测试报文的目的IP地址和目的MAC地址。
执行命令source-address ipv4 ipv4-address,配置测试报文的源IP地址。
执行命令forwarding-simulation inbound-interface interface-type interface-number,配置模拟转发报文的入接口。
如“建立配置任务”中的图4-1所示:
目的IP地址:反射端CE的IP地址或与CE在同一网段的IP地址。
目的MAC地址:MAC地址可以是反射端口B的接口MAC地址,或者指定一个网络中没有被使用过的MAC地址。
- 源IP地址:与端口A的IP地址在同一网段的IP地址。
模拟入接口:端口A。
- 根据测量指标类型,配置关键测试参数
指标类型
配置关键测试参数
吞吐量
- 执行命令rate rate-low rate-high,配置速率的上下限范围。
执行命令interval seconds interval,配置每次按某发包速率进行探测的超时时间。
执行命令precision precision-value,配置测试精度。
执行命令fail-ratio fail-ratio-value,配置吞吐量测试的丢包精度。单位是万分之一。即在吞吐量测试时,实际丢包率小于该丢包精度,则认为此次探测成功,可以继续进行探测。
时延 - 执行命令rate rate-value,配置发包速率。
执行命令interval seconds interval,配置发包间隔。
丢包率 - 执行命令rate rate-value,配置发包速率。
- 配置测试例的通用参数。
- 执行命令start now,启动NQA测试。
执行start now命令会造成用户业务的短暂中断。
- 执行命令commit,提交配置。
检查配置结果
在通用流测试成功后,可以查看到通用流测试的结果数据。
操作步骤
- 在通用流测试发起端执行display nqa results [ test-instance admin-name test-name ]命令查看测试结果。
- 在通用流测试反射端执行display nqa reflector [ reflector-id ]命令查看反射端信息。
任务示例
# 执行命令display nqa results查看吞吐量测试结果。
<HUAWEI> display nqa results test-instance admin generalflow
NQA entry(admin, generalflow) :testflag is active ,testtype is generalflow
1 . Test 1 result: The test is finished, test mode is throughput
ID Size Throughput(Kbps) Precision(Kbps) LossRatio Completion
1 64 1000 1000 0.00% success
2 128 1000 1000 0.00% success
3 256 1000 1000 0.00% success
4 512 1000 1000 0.00% success
5 1024 1000 1000 0.00% success
6 1280 1000 1000 0.00% success
7 1518 1000 1000 0.00% success
# 执行命令display nqa results查看丢包率测试结果。
<HUAWEI> display nqa results test-instance admin generalflow
NQA entry(admin, generalflow) :testflag is inactive ,testtype is generalflow
1 . Test 1 result: The test is finished, test mode is loss
ID Size TxRate/RxRate(Kbps) TxCount/RxCount LossRatio Completion
1 64 200/200 2875/2875 0.00% finished
2 128 199/199 1648/1648 0.00% finished
3 256 200/200 892/892 0.00% finished
4 512 200/200 472/472 0.00% finished
5 1024 199/199 240/240 0.00% finished
6 1280 201/201 194/194 0.00% finished
7 1518 202/202 164/164 0.00% finished
# 执行命令display nqa results查看时延测试结果。
<HUAWEI> display nqa results test-instance admin generalflow
NQA entry(admin, generalflow) :testflag is inactive ,testtype is generalflow
1 . Test 1 result: The test is finished, test mode is delay
ID Size Min/Max/Avg RTT(us) Min/Max/Avg Jitter(us) Completion
1 64 205/208/207 0/2/1 finished
2 128 140/141/140 0/1/0 finished
3 256 128/141/135 0/13/6 finished
4 512 140/140/140 0/0/0 finished
5 1024 148/151/149 0/2/1 finished
6 1280 154/158/156 0/3/1 finished
7 1518 150/155/152 0/4/2 finished
# 执行命令display nqa reflector,查看反射端信息。
<HUAWEI> display nqa reflector
The total number of reflectors is 1
Reflector 1:
Interface : Eth0/1/1
IP-address : --
MAC-address : --
Cevid : --
Pevid : --
Simulate IP-address : --
Source-port : --
Destination-port : --
Exchange-port : disable
AgeTime(s) : 14400
SurvivalTime(s) : 13307
Endtime : 2014-03-19 08:48:21
State : --
RecommendedTestMac : 384d-d111-0011
TestFlow : --