一、简介

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. 【C++】STL算法

    STL算法 标签:c++ 目录 STL算法 一.不变序列算法 1.熟悉的min(), max() 2.找最值还自己动手么?不了不了 3.熟悉的find()和新学会的count() 二.变值算法 1.f ...

  2. springmvc复习导图

    spingmvcweb请求

  3. 使用Hot Chocolate和.NET 6构建GraphQL应用(2) —— 实体相关功能实现

    系列导航 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 需求 在本文中,我们将会准备好用于实现GraphQL接口所依赖的底层数据,为下一篇文章具体实现GraphQL接口做 ...

  4. windows根据进程id杀死任务进程

    然后打开任务管理器找出来结束进程即可

  5. mysql加强(4)~多表查询

    mysql加强(4)~多表查询:笛卡尔积.消除笛卡尔积操作(等值.非等值连接),内连接(隐式连接.显示连接).外连接.自连接 一.笛卡尔积 1.什么是笛卡尔积: 数学上,有两个集合A={a,b},B= ...

  6. 《Effective TypeScript》条款22 - 类型收缩

    本文主要记录书中关于TypeScript类型收缩的内容 本文主要内容如下 类型收缩的一些方法 条件判断 抛错误 instanceof 和 in 属性检查 "标签联合"或" ...

  7. 布客·ApacheCN 翻译校对活动进度公告 2020.5

    注意 请贡献者查看参与方式,然后直接在 ISSUE 中认领. 翻译/校对三个文档就可以申请当负责人,我们会把你拉进合伙人群.翻译/校对五个文档的贡献者,可以申请实习证明. 请私聊片刻(52981514 ...

  8. SQL 中进行递归

    很多时候,我们做Tree的时候会用到递归.但是一般都是从数据库中拿到数据然后再程序中进行递归.昨天一个巧合,一位同事给我看了数据库中的递归,乍一看还不太明白. 表结构是这样的 CREATE TABLE ...

  9. Java安全之BCEL ClassLoader

    目录 Java安全之BCEL ClassLoader 写在前面 About BCEL 调试分析 食用姿势 Fuzz反序列化Gadget Fastjson BCEL Payload Thymeleaf ...

  10. [ACM]Link-Cut Tree实现动态树初探

    动态树问题是指的一类问题,而不是具体指的某一种数据结构.它主要维护一个包含若干有根树的森林,实现对森林的修改和查询等. 实现动态树的数据结构据说主要有4种,Link-Cut Tree是其中的一种.Li ...