一、简介

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. Mybatis 学习记录 续

    项目结构如下: 1.数据库建表 表名:user 结构: 内容: 2.pom.xml文件更新如下: 注:其中build部分尤其需要重视 <?xml version="1.0" ...

  2. 将Cesium Tools用于更好的构建管理

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ Cesium技术正在给建筑业带来革命性的变化.我们与 partn ...

  3. T-SQL的游标和fetch

    很多时候我们sql操作会得到一个结果集合,当我们需要依次查看集合内的内容时,我们便需要游标特性了. 所以,sql的游标类似c++里容器的迭代器,下面举个例子来辅助理解: DECLARE vend_cu ...

  4. JavaScript实现禁止打开控制台

    通过 JavaScript 实现禁止打开控制台(期中包括:右键审查元素.工具栏.F12.Shift+Ctrl+I) <!DOCTYPE html> <html lang=" ...

  5. centos vnc配置总结

    编辑xstart [root@localhost .vnc]# vim xstartup #!/bin/sh [ -r /etc/sysconfig/i18n ] && . /etc/ ...

  6. 第03讲:Flink 的编程模型与其他框架比较

    Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 本课时我们主要介绍 ...

  7. 布客&#183;ApacheCN 编程/后端/大数据/人工智能学习资源 2020.9

    公告 ApacheCN 项目的最终目标:五年内备份并翻译 Github 上的所有教程(其实快被我们啃完了,剩下的不多了). 警告各位培训班:对 ApacheCN 宣传文章的举报,也将视为对 Apach ...

  8. start方式开启服务的特点&bindService 方式开启服务的特点

      服务是在后台运行 可以理解成是没有界面的activity   定义四大组件的方式都是一样的     定义一个类继承Service     start方式开启服务的特点   特点:   (1)服务通 ...

  9. onclick="func()"和 onclick = "return func()"区别

    onclick="func()" 表示只会执行 func , 但是不会传回 func 中之回传值onclick = "return func()" 则是 执行 ...

  10. 一键部署mysql 无修改直接cp 执行 100% 有效

    一键部署mysql     无修改直接cp  执行 100% 有效 将安装包拖至/opt目录下,编一个脚本文件,然后source执行脚本,等脚本执行完成, 即可使用mysql -u root -p点击 ...