一、简介

RFC 2889为LAN交换设备的基准测试提供了方法学,它将RFC 2544中为网络互联设备基准测试所定义的方法学扩展到了交换设备,提供了交换机转发性能(Forwarding Performance)、拥塞控制(Congestion Control)、延迟(Latency)、地址处理(Address Handling)和错误过滤(Error Filtering)等基准测试的方法说明。除去备忘录状态、介绍、要求以及后面的安全机制、参考文献等辅助性说明外,RFC 2889的核心内容分别为测试设置、帧格式与长度和基准测试3大部分。

基准测试是RFC 2889的最主要内容,它从测试目标、参数设置、测试过程、测量方法和测试报告格式等方面,详细描述了下列10个针对局域网交换设备的基准测试:

· 全网状互连条件下的吞吐量、丢帧率和转发速率(Fully Meshed Throughput, Frame Loss and Forwarding Rates);

· 部分网状互连条件下的一对多/多对一(Partially Meshed One-To-Many/Many-To-One);

· 部分互连的多个设备(Partially Meshed Multiple Devices);

· 部分网状互连条件下的单向通信流量(Partially Meshed Unidirectional Traffic);

· 拥塞控制(Congestion Control);

· 转发压力和最大转发速率(Forward Pressure Maximum Forwarding Rate);

· 地址缓冲容量(Address Caching Capacity);

· 地址学习速率(Address Learning Rate);

· 错误帧过滤(Errored Frame Filtering);

· 广播帧转发和时延(Broadcast Frame Forwarding and Latency)。

接下来将为您演示使用BigTao-V网络测试仪进行拥塞控制测试。

二、拥塞控制概述

1.拥塞控制

拥塞控制测试项包含两个测试内容

· 拥塞控制: 一个DUT是否执行拥塞控制(背压/反压)

· 列头拥塞: 一个拥塞的端口是否会影响到另一个没有拥塞的端口

拥塞

· 定义: 注入设备/网络的报文过多, 超过设备/链路 的处理能力

· 后果: 部分报文会被丢弃, 则网络中会重传, 是的网络有效吞吐量下降

拥塞控制

· 定义: 发生拥塞时, 控制进入设备/网络的数据数量

· 技术:  IEEE802.3X Flow Control技术

Flow Control

· 在流量过载时, 通过发送Pause帧, 让发送方降低发送速率

 

2.Flow Control

测试仪和DUT都启用Flow Control

背压/反压

· Backpressure

· DUT的缓冲区满以后, 处理不了测试仪发送的报文

· DUT给发送方(测试仪)发送Pause帧, 表示”报文太多, 已经处理不了了”(反压)

· 测试仪收到Pause帧以后, 在特定时间内, 就会停止发送数据

· 当DUT处理完报文以后, 可以发送Pause帧, 让测试仪恢复发送

· 当测试仪收到Pause帧以后, 就会恢复发送数据

3.列头拥塞

· 每个输入port都采用FIFO的机制来传输frames

· Input 端口队列里的数字1,2,3,4分别表示需要转发到output端口1,2,3,4

· 在一个clock cycle时间内, 第1个队列和第3个队列都需要把frames从第4个out port转发, 假设switching fabric选择的是第3个队列里的frames, 则第1个队列里的所有frames都不能被转发, 包括那些被转发给其它output端口的frames(例如ports 1,2,3)

· 后果: 拥塞端口对其非拥塞端口造成影响

二、测试说明

测试拓扑

测试端口

· 最少需要4个端口

· 测试端口数是4的倍数

预期结果

· 流量模型

· 端口1向端口3,4各发送50%流量

· 端口2向端口4发送100%流量

· 非拥塞端口: 端口3收到50%流量

· 拥塞端口: 端口4收到150%流量

预期结果

· 拥塞控制: 反压生效, 拥塞端口不丢包

· 无列头阻塞: 拥塞端口对非拥塞端口 无影响, 非拥塞端口不丢包

拥塞控制 测试流程

添加机框→预约端口→选择向导→选择拥塞控制→配置接口→配置流量→配置测试参数→配置拥塞控制参数→运行测试→查看结果→导出报告

准备工作: 添加机框

准备工作: 预约端口

启用Flow Control

· 选择所有端口

· 右键, 选择”配置端口”

· 将Flow Control值为Enable

Switch配置

以华为交换机S5720为例

· 将4个与测试仪相连的端口配置在一个VLAN里

· 接口上启用Flow-Control

配置VLAN

[HUAWEI]vlan 20

Info: This operation may take a few seconds.     Please wait for a moment...done.

4个端口都做如下配置

#-

interface GigabitEthernet0/0/1

flow-control

port link-type access

port default vlan 20

#-

interface GigabitEthernet0/0/2

flow-control

port link-type access

port default vlan 20

#-

#-

interface GigabitEthernet0/0/3

flow-control

port link-type access

port default vlan 20

#-

interface GigabitEthernet0/0/4

flow-control

port link-type access

port default vlan 20

#-

三、测试配置

选择向导

选择RFC2889向导

选择地址容量测试

测试项目

· 选择 拥塞控制 测试

选择端口

· 选择参与测试的端口

配置接口

· 默认无接口

· 选择添加接口

向导配置接口

· 一步一步根据需求填充

向导配置接口: VLAN等

· 根据场景决定是否添加

· 本例中不需要添加

配置MAC地址

· 可选 配置

· 默认即可, 也可以修改

向导接口配置结果

· 创建4个Interface, 每个Port各一个

· 对于二层交换机来说, 只关注MAC地址

选择接口

· 刚才配置的接口

· MAC/IP等 可修改

选择流量模型

根据左侧拓扑选择

· 传输端口1

· 传输端口2

· 非拥塞端口

· 拥塞端口

添加流量

· 端口1 50%  非拥塞

· 端口1 50%   拥塞

· 端口2 100% 拥塞

选择测试参数

时间

· 开始发送流量之前等待2秒

· 停止发送流量之后等待10秒

结果保存路径

· 默认路径

· 可以自己指定

时延

· 本项测试不关注

启用学习

· 二层学习

· 频率可 自定义

配置 拥塞控制 参数

测试时长

· 默认1次

· 默认60秒

负载

· 100%速率测试

· 使用最大速率

帧长度

· 默认取7个特殊字节来测试

自动生成Smart Script

Smart Scripts

· 根据配置自动生成Smart Scripts

· 从右侧自动弹出

开始测试

点击Start按钮 自动 开始测试

四、测试报告

测试进度查看

· 消息界面里, 实时显示当前测试的字节

· 预测花费时间

自动弹出Result Analyzer

结果分析

· 专业软件

· 自动弹出

手工打开

· 自动安装

· 打开结果

Result Analyzer结果分析

结果分析

· 点击 汇总测试

· Head of Line Blocking一列为False表示没有列头拥塞, 结果正确

· BackPressure一列值为True表示拥塞控制生效, 结果正确

测试报告导出

导出格式

· PDF

· HTML

结果定制

· 默认会保存所有测试内容

· 太过详细

· 可以选择汇总模板

· 只保存汇总信息

测试报告内容

打开测试报告

· 查看 列头拥塞(Head of Line Blocking)

· 查看拥塞控制(Backpressure列)

· 配置信息: 包含当前的测试配置信息

错误结果1

错误结果2

最新文章

  1. JS 初级 二(接上)
  2. IOS 调用系统照相机和相册
  3. FastReport报表控件使用技巧总结
  4. 【如何快速的开发一个完整的iOS直播app】(推流篇)
  5. Ubuntu里面的安装命令总结
  6. Goldengate常用命令
  7. 调用WCF Data Service的几点Tips
  8. 转】Mahout学习路线图
  9. Web---文件上传-用apache的工具处理、打散目录、简单文件上传进度
  10. GCD详细使用笔记
  11. JS日期时间选择器
  12. JDK,Tomcat,myeclipse相关资料
  13. mui底部导航栏切换分页
  14. springaop问题——Cannot subclass final class org.springframework.boot.autoconfigure.AutoConfigurationPackages$BasePackages
  15. 你在为谁工作——IT帮深圳分站2019年3月线下活动回顾
  16. 进行Spark,Kafka针对Kerberos相关配置
  17. 快速简单搭建wordpress平台
  18. java~springboot~h2数据库在单元测试中的使用
  19. POJ 1001 Exponentiation(大数运算)
  20. 一次Linux服务器被入侵和删除木马程序的经历

热门文章

  1. Python 为什么不设计 do-while 循环结构?
  2. 马哈鱼血缘分析工具部署介绍--win 10
  3. Go 变量及基本数据类型2
  4. 开源办公套件DzzOffice安装教程
  5. 数据库查询语句遇到:Unknown column 'XXXX' in 'where clause'解决方法
  6. keepalived的抢占与非抢占模式
  7. python变量系列--1
  8. 学习Java第11天
  9. [POI2009]SLO-Elephants
  10. JVM常用命令(九)