一、简介

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

RFC2889——拥塞控制测试的更多相关文章

  1. 100G/40G/25G/10G网络测试解决方案

    一.100G概述 随着CDN等视频直播业务和P2P业务的快速发展,带宽的要求越来越高.当前5G业务势头正盛,其基于400G的主干网络通信业务也在积极部署之中.但当前在很多的业务场景中,100G系统的部 ...

  2. RFC2889错误帧过滤测试----网络测试仪实操

    一.简介 RFC 2889为LAN交换设备的基准测试提供了方法学,它将RFC 2544中为网络互联设备基准测试所定义的方法学扩展到了交换设备,提供了交换机转发性能(Forwarding Perform ...

  3. RFC2889广播时延测试——网络测试仪实操

    一.简介 RFC 2889为LAN交换设备的基准测试提供了方法学,它将RFC 2544中为网络互联设备基准测试所定义的方法学扩展到了交换设备,提供了交换机转发性能(Forwarding Perform ...

  4. RFC2899广播吞吐量测试——网络测试仪实操

    一.简介 RFC 2889为LAN交换设备的基准测试提供了方法学,它将RFC 2544中为网络互联设备基准测试所定义的方法学扩展到了交换设备,提供了交换机转发性能(Forwarding Perform ...

  5. RFC2899广播帧转发测试——网络测试仪实操

    一.简介 RFC 2889为LAN交换设备的基准测试提供了方法学,它将RFC 2544中为网络互联设备基准测试所定义的方法学扩展到了交换设备,提供了交换机转发性能(Forwarding Perform ...

  6. TCP/IP 笔记 - TCP拥塞控制

    拥塞控制是TCP通信的每一方需要执行的一系列行为,这些行为有特定算法规定,用于防止网络因为大规模的通信负载而瘫痪.其基本方法是当有理由认为网络即将进入拥塞状态(或已由于拥塞而出现路由丢包情况)时减缓T ...

  7. 20145209刘一阳《JAVA程序设计》第九周课堂测试

    第九周课堂测试 1.域名解析服务器(ARP)负责将域名转化为IP地址,从而与主机连接.(B) A .true B .false 2.下列关于URL类的说法,正确的是(BD) A .URL 类自身可根据 ...

  8. TCP系列46—拥塞控制—9、SACK下的快速恢复与Limited transmit

    一.概述 1.SACK下的特殊处理过程 SACK下的拥塞控制处理是linux中拥塞控制的实现依据,再次强调一遍RFC6675的重要性,linux中拥塞控制主体框架的实现是与RFC6675一致的,所以如 ...

  9. TCP系列44—拥塞控制—7、SACK关闭的快速恢复

    ) return;    delta = ssthresh - in_flight;     prr_delivered += newly_acked_sacked; if (delta < 0 ...

随机推荐

  1. gorm中的更新

    保存所有字段 Save 会保存所有的字段,即使字段是零值. db.First(&user, 5)user.Name = sql.NullString{"王八", true} ...

  2. GoLang设计模式20 - 组合模式

    定义 组合模式是一种结构型设计模式. 当我们想把一组对象当做一个整体来处理时就可以考虑使用组合模式. 组合模式被视为是接口型设计模式是因为它将一组对象组装为一个树状结构.这个树状结构中的每个独立组件都 ...

  3. BUGKU-Misc 成果狗成果狗

    下载下来可以得到一张图片 成果真好看 放到kali里面用binwalk查看有没有隐藏文件,发现这里面有两张图片 然后可以拖到winhex或者010里面把两张图片分离出来,可以分离出1.jpg和54.j ...

  4. IDEA构建Maven项目过慢的解决方法

    创建Maven项目时在此页面添加 archetypeCatalog internal 即可

  5. python列表增加,修改,插入

  6. DOM Document.readyState 属性

    感谢原文作者:MDN 原文地址:https://developer.mozilla.org/zh-CN/docs/Web/API/Document/readyState 描述 一个document 的 ...

  7. 什么是Native方法 (转)

    一个Native Method就是一个java调用非java代码的接口(NDK也跟这有关吗?(疑问)一个Native Method由非java语言实现 在定义一个native method时,并不提供 ...

  8. Android App发布遇到的问题总结【转】

    感谢大佬:https://www.cnblogs.com/jeffen/p/6824722.html   问题描述(v1和v2) Android 7.0中引入了APK Signature Scheme ...

  9. NSPredicate类,指定过滤器的条件---董鑫

    /* 比较和逻辑运算符 就像前面的例子中使用了==操作符,NSPredicate还支持>, >=, <, <=, !=, <>,还支持AND, OR, NOT(或写 ...

  10. 红色小圆点+数字的badge自定义小方法 by Nicky.Tsui

    效果如图. 实现方法比较简单,在view上增加一个label label设置: 1 badgeLabel = [[UILabel alloc]initWithFrame:CGRectMake(CGRe ...