组织:中国互动出版网(http://www.china-pub.com/)
RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
译者:黎文伟(liww  liww001@263.net)
译文发布时间:2001-11-24
版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须
保留本文档的翻译及版权信息。



Network Working Group                                      R. Mandeville
Request for Comments: 2889                                     CQOS Inc.
Category: Informational                                        J. Perser
                                                  Spirent Communications
                                                             August 2000


局域网(LAN)交换设备基准(测试)方法学
(RFC2889—Benchmarking Methodology for LAN Switching Devices)

备忘录状态:
      本备忘录为互联网协会提供信息。它没有指定任何种类的互联网标准。对本备忘录的
分发没有限制。
 
版权声明:

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

目录
1. 介绍 3
2. 要求 4
3. 测试设置 4
4. 帧格式和长度 4
5.基准测试 5
5.1全网状吞吐量,丢帧率和转发率 5
5.1.1目的 5
5.1.2设置参数 5
5.1.3过程 6
5.1.4测量 6
5.1.4.1吞吐量 7
5.1.4.2转发率 7
5.1.5 报告格式 7
5.2 部分网状 one-to-many/many-to-one 7
5.2.1 目的 7
5.2.2 设置参数 7
5.2.3 过程 8
5.2.4 测量 9
5.2.5 报告格式 9
5.3 部分网状多重设备 10
5.3.1 目的 10
5.3.2 设置参数 10
5.3.3 过程 10
5.3.4  测量 11
5.3.4.1 吞吐量 11
5.3.4.2 转发率 11
5.3.5 报告格式 12
5.4 部分网状单向通信 12
5.4.1 目的 12
5.4.2 设置参数 12
5.4.3 过程 13
5.4.4  测量 13
5.4.4.1 吞吐量 14
5.4.4.2 转发率 14
5.4.5 报告格式 14
5.5 拥塞控制 14
5.5.1 目的 14
5.5.2 设置参数 15
5.5.3 过程 15
5.5.4  测量 16
5.5.5 报告格式 16
5.5.5.1 列头阻塞HOLB 16
5.5.5.2 背压Back Pressure 16
5.6 转压Forward Pressure 和最大转发率 17
5.6.1 目的 17
5.6.2 参数设置 17
5.6.3 过程 17
5.6.3.1 最大转发率 17
5.6.3.2 最小帧间隙 18
5.6.4  测量 19
5.6.5 报告格式 19
5.7   地址缓冲能力 19
5.7.1 目的 19
5.7.2 参数设置 19
5.7.3 过程 20
5.7.4 测量 21
5.7.5 报告格式 21
5.8 地址学习速率 22
5.8.1 目的 22
5.8.2 参数设置 22
5.8.3 过程 22
5.8.4 测量 22
5.8.5 报告格式 23
5.9 错误帧过滤 23
5.9.1 目的 23
5.9.2 参数设定 23
5.9.3 过程 24
5.9.5 报告格式 24
5.10 广播帧转发和延迟 24
5.10.1 目的 24
5.10.2 参数设置 24
5.10.3 过程 25
5.10.4 度量 25
5.10.5 报告格式 25
6. 安全机制 26
7.参考书目 26
作者地址 26
附录 A:公式 27
A.1 计算脉冲间隙 27
A.2 计算测试期间脉冲串的数目 27
附录 B: 产生实供负载 OFFERED LOAD 28
B.1 基于帧的负载Frame Based Load 28
B.2 基于时间的负载Time Based Load 29

1. 介绍
    这个文档意在给局域网(LAN)交换设备提供测试基准方法。它将已在RFC 2544[3]中定义
的网络互连设备测试基准的方法扩展到局域网(LAN)交换设备的测试中来。

本RFC文档主要处理在MAC层交换帧的设备。它为交换设备,转发性能,拥塞控制,时延
地址处理和过滤提供了一个测试基准方法。除了定义测试之外,这个文档也描述了测试结果
报告的特定的格式。
在早先“局域网交换设备基准(测试)术语学”[2](RFC2285)的文档中,定义了许多在
这个文档里的要使用的术语。在试图使用本文档之前,应当先参考一下该术语学文档。
2. 要求
     在使用这个文档前,应该首先参考下面的文档:RFC 1242[1],RFC 2285[2],RFC 2544[3].
为了保持清晰性和连贯性,这个RFC文档基准测试部分采用了RFC 2544中26节中所使用的
模式。  
这个文档中的关键字“MUST”,“MUST NOT”,“REQUIRED”,“SHALL”,“SHALL NOT”,
“SHOULD”,“SHOULD NOT”,“RECOMMENDED”,“MAY”,及“OPTIONAL”的解释,和在RFC         
2119文档中所描述的一样.
3. 测试设置
   这个文档将RFC 2544[3]第6节所描述常规基准测试设置扩展到局域网交换设备的基准
测试中。 RFC 2544[3]主要描述了非网状通信(non-meshed traffic),其输入和输出接
口被捆绑成一组来发送和接收帧,组与组之间互斥。在全网状通信(fully meshed traffic)
中,DUT/SUT的每个接口都被设置为可以接收也可以传输帧到所有被测试的其它接口.
 
       在每个测试运行之前,DUT/SUT 必须(MUST)学习在测试中所要用到的MAC地址,
且地址学习应当(SHOULD)被验证。地址未被学习的帧将要被作为扩散帧(flooded frames)
转发,并会减少正确转发的帧的数量。为了保证正确的学习地址,地址学习帧的速率要被调
整在50或50帧每秒以下。DUT/SUT的地址老化时间(aging time)应该(SHOULD)被设定为
大于测试学习阶段、实验持续的时间及测试设备配置所需的时间之和的值。
   在测试结束前,地址都不应当(SHOULD NOT )老化(age out)。为了把地址和端口
结合在一起,可能需要多次学习过程。

     如果一个DUT/SUT使用哈希算法学习地址,那么这个DUT/SUT可能不能学习到必须的地
址来执行测试。那么,MAC地址的格式必须(MUST)是可调整的,这样地址映射可以重新安
排以确保DUT/SUT学习到了所有的地址。
 4. 帧格式和长度 
     测试帧格式在RFC 2544中第8节[3]中定义了,且必须(MUST)在测试帧UDP数据域中
包含一独特的标志域(见[3]附录 C)。标志域的目的是为了过滤掉不是实供负载(OLoad)
部分的帧。   
     标志域必须(MUST)足够独特,以能够识别出带标志域的帧不是源于DUT/SUT的。标志
域应该(SHOULD)位于第56字节之后(冲突窗口[4])或者在帧的尾部。这个备忘录中没有
定义其长度,内容和探测方法。

  标志域可以(MAY)对每个端口有一个独特的标识符。这就可以过滤掉误转发的帧。很有
可能出现这种情况:DUT/SUT剥掉帧的MAC层,然后通过它的交换矩阵发送此帧,发送出去
的帧有正确的目的MAC地址,但是是错误的有效负荷。
   帧的长度,请参考RFC 2544[3],第9节。
  
      对以第二层以太网交换机,有三种可能的帧格式:标准以太网MAC帧,附加制造商标
签的标准以太网MAC帧,和带适应802.1p&Q的标签的IEEE 802.3ac帧。后两类带标签的帧可
能超过1518字节的标准最大帧长度,可能不被一些DUT/SUT的控制接口所接受。建议在测试
之前先检测DUT/SUT对标签帧的兼容性。
    设备交换超过1518字节的标签帧与非标签帧相比会有不同的最大转发率。
5.基准测试
下面的测试为基准局域网交换设备测试提供了测试目的、过程和报告的格式
5.1全网状吞吐量,丢帧率和转发率
5.1.1目的
为了确定RFC 2285[2]中所定义的,DUT/SUT在全网状通信下的吞吐量、丢帧率和转发率。
5.1.2设置参数
   当给DUT/SUT提供全网状通信时,必须(MUST)定义下面的参数。每一个参数的配置出于下
面的考虑。

   帧长 – 按照RFC2544[3]第9节,建议的帧长为64,128,256,512,1024,1280和1518字节, 
见 RFC 2544 9 [3]项。 四个字节的CRC码被包括在指定的帧长内。

   帧间间隙(IFG)- 在突发帧群(burst)中两帧之间的帧间间隙必须(MUST)为被测试介质
标准中指定的最小值。( 10Mbps 以太网为9.6微秒,100Mbps 以太网为960 纳秒, 1Gbps以太网
为96纳秒 ) 

   双工模式 – 半双工或者全双工。 

   计划负载(Iload)-每端口的计划负载以媒质的最大理论负载的百分比表示,不考虑通信方
向或双工模式。某些测试配置理论上将超过DUT/SUT的预定负载。
   在半双工通信模式下,计划负载超过50%将超过DUT/SUT预定负载。
      
突发帧群(Burst)长度-突发帧群长度定义了在停止传送以接收帧之前,在最小的合法的帧
间间隙下紧挨(back-to-back)着发送的帧的数量。突发帧群长度应该(SHOULD)在1到930帧
之间变化。突发帧群长度为1将仿真恒定负载情况[1] 

每端口地址数-表示每个端口将要被测试的地址的数量。地址的数量应当(SHOULD)是二的
指数(即: 1,2,4,8,16,32,64,128,256,……)。参考值为1。
     
测试时间 — 推荐的测试时间长为30秒。测试期间长应当(SHOULD)可在1至300秒之间调
整。
5.1.3过程
 在测试仪器上的所有端口必须(MUST)以基于帧的模式或基于时间的模式来传输
测试帧(附录 B)。所有的端口应当(SHOULD)在测试时间的1%内开始传送帧。如果测
试时间为30秒,所有的端口应当(SHOULD)在300毫秒之内开始互相传送帧。
测试中的每一个端口必须(MUST)以循环的方式发送测试帧给所有的其它端口。当拥塞
控制起作用时,一定不(MUST NOT)能改变地址的顺序。下面的表格说明了测试中的每个端
口必须(MUST)怎样传送测试帧给测试中的其它所有端口。在这个例子中,有六个端口,每个
端口有一个地址:
     
       源端口        目的端口 (按传输序)

   端口#1           2       3       4       5       6       2...
   端口#2           3       4       5       6       1       3...
   端口#3           4       5       6       1       2       4...
   端口#4           5       6       1       2       3       5...
   端口#5           6       1       2       3       4       6...
   端口#6           1       2       3       4       5       1...

   如同在表格中所显示的,对于每一次传送机会,目的地址有相等的分配.这保持了测试的平衡,
所以一个目的端口在这种测试运算算法下不会超负荷, 在整个测试期间所有的端口平等的而且满
负载工作.如果不正确地服从这个算法将会导致不一致的结果。    
   对每个端口使用多个地址的测试,实际的目的端口是和上面所描述的一样,实际的源/目的地
址对,应当被随机地选择以检验DUT/SUT的地址查找的能力。
   对每个地址,都必须(MUST)发送学习帧到DUT/SUT以使DUT/SUT适当的更新它的地址表。
5.1.4测量
   每个端口应当接收与自己传送同样数目的测试帧.每个接收端口必须(MUST)分类,然后计算
帧入两组中的一组:

      1.) 接收帧(Received Frames):接收帧必须(MUST)有正确的目的MAC地址,应当(SHOULD)
匹配标签域。

      2.) 洪泛计数(Flood count) [2].

   任何源于DUT/SUT(spanning tree, SNMP, RIP, ...)的帧,一定(MUST)不能被计算为接收帧.
源于DUT/SUT的帧可以(MAY)被计算为洪泛帧或者根本不被计算。

   DUT/SUT的帧丢失率应该(SHOOULD)如26.3[3]中所定义的方式报告,注意: 帧丢失率应当
在测试期间结束时度量.术语“rate”,仅仅对这个的度量,不是暗指以秒为单位。
5.1.4.1吞吐量
   吞吐量度量是在26.1[3]项定义.为了发现0帧丢失率下最大Oload[2],使用了一搜寻运算法
则.这个运算法则必须调整Iload 以便发现吞吐量
5.1.4.2转发率
   DUT/SUT的转发率(FR)应当报告为每秒设备被观察到的, 作为对一指定的Oload响应,成功转
发到正确目的接口的测试帧的数量。Oload也必须被引用。

   在最大提供的负载下的转发率(FRMOL),必须报告为一个设备每秒可以成功传输到正确的目地
接口作为对3.6[2]项所定义的MOL的响应的测试帧的数量.MOL也必须被引用。

   最大转发率(MFR)必须报告为一组重复的DUT/SUT转发率测试中最高的值.重复的转发率测试
由调整Iload构成.Oload 应用于设备必须被引用。
5.1.5 报告格式 
这些测试的结果应该以图形的方式报告.其中x轴应该为帧的大小,y轴为测试结果.在图中至
少有两条线,一个为标为理论值,一个为测试的结果.

为了测量DUT/SUT在执行许多不同地址查找时的交换通信的能力,在一系列的测试中,可以增
加每个端口的地址数量.
5.2 部分网状 one-to-many/many-to-one
5.2.1 目的
确定当从多个端口传输到一个端口或从一个端口传输到多个端口时的吞吐量.和全网状吞吐
量测试一样,这个测试是一个度量在无帧丢失时交换帧的性能.这个测试的结果可以被用来确
定DUT当交换通信量来自多个以太网端口时,利用一个以太网端口的能力.
5.2.2 设置参数
当提供突发的网状通信时,下面的参数必须被定义.每个参数设定要考虑下面因素.
    
帧大小 – 建议帧的大小为64,128,256,512,1024,1280和1518字节, 见 RFC 2544 9 [3]. 
四个字节的CRC码被指定包括在帧的大小内.

通信方向 – 通信量可以在一个方向,相反的方向或两个方向产生.
    
       帧间隙(IFG)- 在脉冲串中两帧之间的帧间隙,必须为被测试介质指定标准中最小
       的。(9.6 us for 10Mbps Ethernet, 960 ns for 100Mbps Ethernet, and 96 ns for 1 Gbps 
Ethernet) .

       双工模式 – 半双工或者全双工.
 
   Iload – Intended Load per port,以媒介的最大理论负载的百分比表示,不考虑通信
方向或双工模式。某个测试配置将理论上超过DUT/SUT的预定
       
在半双工通信模式下,Iload超过50%将为超过DUT/SUT预定。
    
脉冲大小 – 脉冲大小定义了在停止传送来接收帧之前,在最小合法的I帧间隙下背靠背
发送的帧的数量。脉冲大小应该在1和930帧之间变化。脉冲大小为1将仿真恒定负载[1]。
    
每个端口地址 – 表现每个端口将要被测试的地址的数量。地址的数量应当是二的指数
(i.e. 1,2,4,8,16,32,64,128,256,……)。参考值为1。

测试期间 — 建议的测试期间为30秒。测试期间应当在1至300秒之间可调整。
5.2.3 过程
在测试设备上的所有端口必须在帧基础模式或时间基础模式下传输测试帧(附录 B). 依
赖于通信方向,一些或所有的端口将要传送.所有的端口应当在测试期间的1%内开始传送帧.
对于测试期间为30秒,所有的端口应当在300毫秒之内开始互相传送帧.

来自多个端口的测试帧必须发往一个端口。来自一个端口的测试帧必须以循环类型方式发往
多个端口。循环类型方式的描述见5.1.3项

在测试中每个端口使用多个地址,实际的目的端口是和上面所描述的一样,实际的源/目的地
址对应当被随机地选择以练习DUT/SUT的地址查找的能力.

        +----------+
        |          |
        |   Many   | <--------
        |          |          \
        +----------+           \
                                \
        +----------+             \               +-------------+
        |          |              ------------>  |             |
        |   Many   |  <----------------------->  |     One     |
        |          |              ------------>  |             |
        +----------+             /               +-------------+
                                /
        +----------+           /
        |          |          /
        |   Many   |  <-------
        |          |
        +----------+

对于每个地址,测试设备必须发送学习帧以允许DUT/SUT适当地更新其地址表.
5.2.4 测量
每个接收端口必须分类,然后计算帧在两组中的一组内:
   
1.)接收帧: 接收帧必须有正确的目的MAC地址,应当匹配标签域.

2.)洪泛帧 [2]
      
      任何帧源于DUT/SUT的帧,一定不能被计算为接收帧.源于DUT/SUT的帧可以被计算为洪泛帧
或者不被计算.
      
      DUT/SUT的转发率(FR), 应当报告为每秒设备被观察到的,成功转发到正确目的接口作为对
一指定的Oload响应的测试帧的数量。Oload也必须被引用。
  
在最大提供的负载下的转发率(FRMOL),必须被报告为一个设备每秒可以成功传输到正确的
目的接口作为对3.6[2]项所定义的MOL的响应的测试帧的数量.MOL也必须被引用.
  
最大转发率(MFR)必须被报告为一个DUT/SUT的最高转发率减少一组重复转发率的测试.重
复的一组转发率测试由调整Iload构成.Oload 应用于设备必须被引用.
5.2.5 报告格式 
测试的结果应当以图形的方式报告.其中x轴应该为帧的大小,y轴为测试结果.在图中至少有
两条线,一个为标为理论值,一个为测试的结果.

为了测量DUT/SUT在执行许多不同地址查找时的交换通信的能力,在一系列的测试中,可以增
加每个端口的地址数量.
5.3 部分网状多重设备
5.3.1 目的
   为了确定装备有多个端口和一个高速上行中枢线(high speed backbone uplink)(Gigabit 
Ethernet,ATM,SONET)的两个交换设备的吞吐量,帧丢失率和转发率.
5.3.2 设置参数
当提供突发的部分网状通信,下面的参数必须被定义.每个变量的设定要考虑下面的因素.
    
帧大小 – 建议帧的大小为64,128,256,512,1024,1280和1518字节, 见 RFC 2544 9 [3].
四个字节的CRC码被指定包括在帧的大小内.
       
       帧间隙(IFG)- 在脉冲串中两帧之间的帧间隙,必须为被测试介质指定标准中最小
       的。(9.6 us for 10Mbps Ethernet, 960 ns for 100Mbps Ethernet, and 96 ns for 1 Gbps 
Ethernet) .
    
       双工模式 – 半双工或者全双工.
 
   Iload – Intended Load per port,以媒介的最大理论负载的百分比表示,不考虑通信
方向或双工模式。某个测试配置将理论上超过DUT/SUT的预定.
       
在半双工通信模式下,Iload超过50%将为超过DUT/SUT预定。
    
脉冲大小 – 脉冲大小定义了在停止传送来接收帧之前,在最小合法的I帧间隙下背靠背
发送的帧的数量。脉冲大小应该在1和930帧之间变化。脉冲大小为1将仿真恒定负载[1]。
    
每个端口地址 – 表现每个端口将要被测试的地址的数量。地址的数量应当是二的指数
(i.e. 1,2,4,8,16,32,64,128,256,……)。参考值为1。

        测试期间 — 建议的测试期间为30秒。测试期间应当在1至300秒之间可调整。

本地通信量(Local Traffic) - 一个值为ON或OFF的布尔值。帧运算法则可以被改变以
转移本地通信量。当本地通信量值为ON时运算法则和全网状吞吐量的完全一样。当本地
通信量值为OFF时,端口以循环类型方式发送帧给中枢上行线另一边所有的端口.   
5.3.3 过程
在测试设备上的所有端口必须在帧基础模式或时间基础模式下传输测试帧(附录 B).所
有的端口应当在测试期间的1%内开始传送帧.对于测试期间为30秒,所有的端口应当在300毫
秒之内开始互相传送帧.

测试中的每个端口必须以在5.1.3.中所定义的循环类型方式发送测试帧给所有其它的
端口. 为了发送完全负载穿过中枢上行线,本地通信量可以不遵循循环列表.

每个端口使用多个地址的测试中,实际的目的端口是和上面所描述的一样,实际的源/目的地
址对应当被随机地选择以练习DUT/SUT的地址查找的能力.
    
    对于每个地址,测试设备必须发送学习帧以允许DUT/SUT适当地更新其地址表.
    
    为了度量DUT/SUT在执行许多不同地址查找时的交换通信的能力,在一系列的测试中,可以增
加每个端口的地址数量.
5.3.4  测量
        每个接收端口必须分类,然后计算帧入两组中的一组内:
   
1.) 接收帧:  接收帧必须有正确的目的MAC地址,应当匹配标签域.

2.) 洪泛帧[2]
    
    任何帧源于DUT/SUT的帧,一定不能被计算为接收帧.源于DUT/SUT的帧可以被计算为洪泛帧或
者不被计算.
      
    DUT/SUT的帧丢失率应当如26.3[3]项中所定义的方式报告,注意: 帧丢失率应当在测试期间
结束时度量.术语"rate",仅仅对于这个度量,不是隐含秒的单位方式。
5.3.4.1 吞吐量
    吞吐量度量定义在在26.1[3]项.为了发现0帧丢失率下的最大Oload[2]],使用了一种搜
寻运算法则.这个运算法则必须调整Iload 以发现吞吐量.
5.3.4.2 转发率
     DUT/SUT的转发率(FR)应当报告为每秒设备被观察到的,成功转发到正确目的接口作为对一
指定的Oload响应的测试帧的数量。Oload也必须被引用。
  
在最大提供的负载下的转发率(FRMOL),必须被报告为一个设备每秒可以成功传输到正确的
目的接口作为对3.6[2]项所定义的MOL的响应的测试帧的数量.MOL也必须被引用.
 
最大转发率(MFR)必须被报告为一个DUT/SUT的最高转发率,减少一组重复转发率的测试.重
复的一组转发率测试由调整Iload构成.Oload 应用于设备必须被引用.
5.3.5 报告格式 
    这些测试的结果应当以图形的方式报告.其中x轴应当为帧的大小,y轴为测试结果.在图中至
少应有两条线,一个为标为理论值,一个为测试的结果.

为了测量DUT/SUT在执行许多不同地址查找时的交换通信的能力,在一系列的测试中,可以增
加每个端口的地址数量.
5.4 部分网状单向通信
5.4.1 目的
    为了确定,当DUT/SUT上一半端口单向传输信息流往另一半的端口时DUT/SUT的吞吐量.
5.4.2 设置参数
下面的参数必须被定义.每一个变量在下面的情况下被设定.
 
帧大小 – 建议帧的大小为64,128,256,512,1024,1280和1518字节, 见RFC 2544 9 [3]. 
四个字节的CRC码被指定包括在帧的大小内.
       
       帧间隙(IFG)- 在脉冲串中两帧之间的帧间隙,必须为被测试介质指定标准中最小
       的。(9.6 us for 10Mbps Ethernet, 960 ns for 100Mbps Ethernet, and 96 ns for 1 Gbps 
Ethernet) .
    
       双工模式 – 半双工或者全双工.
 
   Iload – Intended Load per port,以媒介的最大理论负载的百分比表示,不考虑通信
方向或双工模式。某个测试配置将理论上超过DUT/SUT的预定.
       
在半双工通信模式下,Iload超过50%将为超过DUT/SUT预定。
    
脉冲大小 – 脉冲大小定义了在停止传送来接收帧之前,在最小合法的I帧间隙下背靠背
发送的帧的数量。脉冲大小应该在1和930帧之间变化。脉冲大小为1将仿真恒定负载[1]。
    
每个端口地址 – 表现每个端口将要被测试的地址的数量。地址的数量应当是二的指数
(i.e. 1,2,4,8,16,32,64,128,256,……)。参考值为1。

        测试期间 — 建议的测试期间为30秒。测试期间应当在1至300秒之间可调整。
5.4.3 过程
 端口不同时地发送和接收测试帧.作为一种结果,应当没有冲突除非DUT错误转发了帧,产
生洪泛帧或生成树帧或者授予了一些流控的机制.这个测试中所使用的端口可以传送或接收
帧,但是不能够两者兼备.那些传送端口发送测试帧往相应的每个接收端口的地址。这产生单
向网状通信。
    
在测试设备上的所有端口必须在帧基础模式或时间基础模式下传输测试帧(附录 B).所有的
端口应当在测试期间的1%内开始传送帧.对于测试期间为30秒,所有的端口应当在300毫秒之
内开始互相传送帧。

在测试中的每一个传输端口必须以循环类型方式发送帧给所有的接收端口. 当拥塞控制被应
用时,地址的序列一定不能改变.下面的表格说明了为什么测试中的每个端口必须传输测试帧
给所有测试中的其它端口.在这个例子中,有8个端口,端口1至4是传输端口,端口5至8是接收
端口,每个端口有一个地址:


源端口,          目的端口 (按传输顺序)
      
      端口#1              5       6       7       8       5       6...
      端口#2              6       7       8       5       6       7...
      端口#3              7       8       5       6       7       8...
      端口#4              8       5       6       7       8       5...
   
如同在表格中所显示的,对于每一次传送机会,,目的地址有相等的分配.这保持了测试的平
衡,所以一个目的端口在这种测试运算规则下不会超负荷, 在整个测试期间所有的接收端口
平等而充满负载.如果不严格地服从这个运算规则将会导致矛盾的结果.

在每个端口使用多个地址的测试中,实际的目的端口是和上面所描述的一样,实际的源/目
的地址对应当被随机地选择以练习DUT/SUT的地址查找的能力.
      
    对于每个地址,测试设备必须发送学习帧以允许DUT/SUT适当地更新其地址表.地址表年龄时
间应当被设置成比学习时间和测试期间的组合还要充分的长。如果地址表在测试期间超时,
结果将会显示DUT/SUT的一个较低的执行结果。
      
    为了测量DUT/SUT在执行许多不同地址查找时的交换通信的能力,在一系列的测试中,可以
增加每个端口的地址数量.
5.4.4  测量
 每个接收端口必须分类,然后计算帧入两组中的一组内:
   
1.)接收帧:接收帧必须有正确的目的MAC地址,应当匹配标签域.

2.)洪泛帧[2]
      
      任何帧源于DUT/SUT的帧,一定不能被计算为接收帧.源于DUT/SUT的帧可以被计算为洪泛帧
或者不被计算.
      
      DUT/SUT的帧丢失率应当如26.3[3]项中所定义的方式报告,注意: 帧丢失率在测试期间结
束时应当度量.术语"rate",仅仅对于这个度量,不暗指秒的单位方式.
5.4.4.1 吞吐量
 吞吐量度量在26.1[3]项中定义.为了发现0帧丢失率下最大Oload[2],使用了一搜
寻运算法则.这个运算法则必须调整Iload 以发现吞吐量.
5.4.4.2 转发率
     DUT/SUT的转发率(FR)应当报告为每秒设备被观察到的,成功转发到正确目的接口作为对一
指定的Oload响应的测试帧的数量。Oload也必须被引用。
  
在最大提供的负载下的转发率(FRMOL),必须被报告为一个设备每秒可以成功传输到正确的
目的接口作为对3.6[2]项所定义的MOL的响应的测试帧的数量.MOL也必须被引用.
 
最大转发率(MFR)必须被报告为一个DUT/SUT的最高转发率,减少一组重复转发率的测试.重
复的一组转发率测试由调整Iload构成.Oload 应用于设备必须被引用.
5.4.5 报告格式 
    这些测试的结果应当以图形的方式报告.其中x轴应当为帧的大小,y轴为测试结果.在图中至
少应有两条线,一个为标为理论值,一个为测试的结果.

为了测量DUT/SUT在执行许多不同地址查找时的交换通信的能力,在一系列的测试中,可以增
加每个端口的地址数量.
5.5 拥塞控制
5.5.1 目的
   为了确定一个DUT如何处理拥塞.一个设备是否执行拥塞控制,一个拥塞的端口是否会影响到一
没有拥塞的端口? 这个程序决定是否出现了列头阻塞和、或背压。
5.5.2 设置参数
    下面的参数必须被定义.每一个变量的设定要考虑下面的因素.
    
帧大小 – 建议帧的大小为64,128,256,512,1024,1280和1518字节, 见RFC 2544 9 [3]. 
四个字节的CRC码被指定包括在帧的大小内.
       
       帧间隙(IFG)- 在脉冲串中两帧之间的帧间隙,必须为被测试介质指定标准中最小
       的。(9.6 us for 10Mbps Ethernet, 960 ns for 100Mbps Ethernet, and 96 ns for 1 Gbps 
Ethernet) .
       
       双工模式 – 半双工或者全双工.
       每个端口地址 – 表现每个端口被测试的地址的数量。地址的数量应当是2的指数(i.e. 1,
2,4,8,16,32,64,128,256,……)。参考值为1。

测试期间 — 建议的测试期间为30秒。测试期间应该在1至300秒之间可调整。
5.5.3 过程
    这个测试必须由四的倍数个有相同MOL的端口组成.四个端口是必须的,还可以被扩展以
充分的利用DUT/SUT.每组的四个端口组成一个测试块,两个端口作为源传输端口,有两个作为
接收端口. 下面的图表描述了在交换端口之间的通信流.

+----------+   50 % MOL                  +-------------+
        |          |  ------------------------>  |             |
        |          |   50 % MOL                  |     未拥塞  |
        |          |  ---------                  |             |
        +----------+            \                +-------------+
                                 \
                                  \
                                   \
        +----------+                \            +-------------+
        |          |                 --------->  |             |
        |          |   100 % MOL                 | 拥塞        |
        |          |  ------------------------>  |             |
        +----------+                             +-------------+
        
两个源传输端口必须传送确定数目的测试帧.第一个源端口必须以MOL,交互的传输目的地址
为两个接收端口的测试帧.第一个测试帧到非拥塞的接收端口,第二个测试帧到拥塞的接收
端口,然后重复.第二个源传输端口必须以MOL传送测试帧到拥塞的接收端口.

两个接收端口应当区分来自于源端口和DUT/SUT的测试帧.只有来自于源端口的测试帧应当
被计算.

非拥塞的接收端口应当以MOL速率的一半接收.非拥塞的接收端口接收到的测试帧,应当为第
一个源传输端口所传输测试帧的50%.拥塞的接收端口应当以MOL速率接收.拥塞的接收端口
接收到的测试帧,应当为第一个源传输端口所传输测试帧的100%至150%.

由于其它端口是拥塞的,发往交换设备上非拥塞端口的测试帧不应当丢失,即使源端口既发
往拥塞端口,也发往非拥塞端口。
5.5.4  测量
 
任何接收到的没有正确的目的地址的帧,不能够被计算为接收帧,应当被计算入一个洪泛帧。
    
任何帧源于DUT/SUT的帧,不能被计算为接收帧.源于DUT/SUT的帧可以被计算为洪泛帧或者不
被计算.
    
    DUT/SUT的拥塞和非拥塞端口的帧丢失率应当如26.3[3]项中所定义的方式报告,注意: 帧丢
失率在测试期间结束时应当被度量.术语"rate",仅仅对于这个的度量,不是暗指秒的单位方
式。
       
    对DUT/SUT的Oload必须报告为每秒DUT/SUT观察到的接收的测试帧的数量.这可能不同于MOL.
      
DUT/SUT的非拥塞端口和拥塞端口的转发率,必须报告为每秒设备被观察到的,成功的传输到
正确目的接口作为对一特定的Oload响应的测试帧的数量。Oload也必须被引用。
5.5.5 报告格式 
   这个测试必须报告非拥塞端口的帧丢失率,非拥塞端口的转发率(at 50% offered load),和拥
塞端口的帧丢失率.这个测试可以报告被DUT/SUT传输的帧的数量和接收的帧的数量。
5.5.5.1 列头阻塞HOLB
如果在非拥塞端口有帧丢失,出现了列头阻塞。DUT不能够转发通信量的总量到拥塞端口,作
为一种结果它也丢失发往非拥塞端口的帧.
5.5.5.2 背压Back Pressure
    如果在拥塞端口没有帧丢失,出现了背压。应当注意,这个测试所期望的到拥塞端口的全部负
载将要高于100%。因此如果负载高于100%,且没有检测到帧丢失,那么DUT一定是执行了流控制机制.
使用的流控机制类型超出了这个文档的范围.

应当注意,一些DUT可能不能处理出现在输入端口的100%的负载.在这种情况下,非拥塞端口
可能有帧丢失报告,这是因为在输入端口的负载高于拥塞端口的负载.

如果非拥塞端口丢失帧报告为0,但是最大传输率低于7440(对于10Mbps Ethernet),那么这可
能表示拥塞控制被DUT执行.这样,拥塞控制影响了非拥塞端口的吞吐量.

如果没有检测到有拥塞控制,拥塞端口在150%的超载下,期望的帧丢百分比33%.此端口从一
个端口接收100%负载,从另一个接收50%,但其仅仅可以达到100%的吞吐量,因此有33%的帧丢
失率(150%-50%/150%).
5.6 转压Forward Pressure 和最大转发率
5.6.1 目的
       转压测试使一个DUT/SUT端口超负荷,然后度量其输出量 的转压 [2].如果DUT/SUT 传输
帧的帧间隙小于96位(见 4.2.3.2.2[4]),那么转压被侦测到。
        最大转发率的测试是为了度量当Oload 在吞吐量和最大Oload之间变化时转发率的峰值。
5.6.2 参数设置
下面的参数必须被定义.每一个变量的设定要考虑下面的因素.    
帧大小 – 建议帧的大小为64,128,256,512,1024,1280和1518字节, 见RFC 2544 9 [3]. 
四个字节的CRC码被指定包括在帧的大小内.

       双工模式 – 半双工或者全双工.
       
测试期间 — 建议的测试期间为30秒。测试期间应该在1至300秒之间可调整。

步伐大小 – Iload在测试中每秒增加帧的最小增加的决定。步伐大小越小,度量的结果
越精确,需要更多的反复测试。当Iload接近MOL时,因为测试设备的分辨能力最小步伐
将要增大。
5.6.3 过程
5.6.3.1 最大转发率
    如果吞吐量[1]和MOL[2]是相同的,那么MFR[2]是和MOL相等的.
    
这个测试必须至少在如下所描述的两个端口配置下执行.学习帧必须发送以允许DUT/SUT适
当更新其地址表.

测试帧以Iload传输到DUT/SUT第一个端口(port 1).度量在DUT/SUT的第二个端口(port 2)
的FR[2].Iload以每个步伐大小增加以发现MFR。测试的运算法则如下:
        
        CONSTANT
          MOL = ... frames/sec; {最大Oload }
        VARIABLE
          MFR   := 0 frames/sec; {最大转发率}
          ILOAD := starting throughput in frames/sec; {offered load}
          STEP  := ... frames/sec; {Step Size}
        BEGIN
          ILOAD := ILOAD - STEP;
          DO
          BEGIN
            ILOAD := ILOAD + STEP
            IF (ILOAD > MOL) THEN
            BEGIN
              ILOAD := MOL
            END
            AddressLearning; {Port 2 broadcasts with its source address}
            Transmit(ILOAD); {Port 1 sends frames to Port 2 at Offered load}
            IF (Port 2 Forwarding Rate > MFR) THEN
            BEGIN
               MFR := Port 2 Forwarding Rate; {A higher value than before}
            END
        END
        WHILE (ILOAD < MOL); {ILOAD has reached the MOL value}
        DONE
5.6.3.2 最小帧间隙
   最小帧间隙测试应当在如下所描述的,至少两个端口配置下执行.学习帧必须发送以允许
DUT/SUT适当更新其地址表.

测试帧应当在帧间隙为88位下被传输到DUT/SUT第一个端口(port 1).这将应用forward 
pressure于DUT/SUT上,以每帧一个字节的速率使此设备超载。测试帧必须由源地址为端口1,
目的地址为端口2组成。        
        
    DUT/SUT上第二个端口(port 2)的FR将被度量。度量的转发率不能超过介质的最大理
论负载(MOL)。
5.6.4  测量
    端口2必须加以分类,然后计算帧入两组中的一组:
   
1.) 接收帧:接收争必须有正确的目的MAC地址,应当匹配标签域.

2.) 洪泛帧[2]
      
      任何源于DUT/SUT的帧,一定不能被计算为接收帧.源于DUT/SUT的帧可以被计算为洪泛帧或
者不被计算.
5.6.5 报告格式 
     最大转发率(MFR)必须报告为一组重复的DUT/SUT转发率测试中最高的值.重复的转发率测试
由调整Iload构成.Oload 应用于设备必须被引用.

DUT/SUT的转发率(FR)应当报告为每秒设备被观察到的, 作为对一指定的Oload响应,成功
转发到正确目的接口的测试帧的数量。Oload也必须被引用.
  
如果在最小帧间隙测试中,FR超过MOL,这必定突出表明"Forward Pressure detected".
5.7   地址缓冲能力
5.7.1 目的
为了确定如在RFC 2285中3.8.1[2]项定义的,LAN交换设备地址缓冲能力.
5.7.2 参数设置
下面的参数必须被定义.每个变量设定要考虑到下面的因素.

  年龄时间 – DUT/SUT在它的转发表中,保持一个学习到的地址的最大时间.
  
  地址学习速率 – 提供给DUT/SUT学习的新地址的速率.为了保证可以成功的学习,地址学
习帧提供的速率可调整到50帧或50帧以下每秒.
  
初始化地址 –开始测试时初始的地址数量.数量必须在1到执行时最大支持的数目之间.
 5.7.3 过程
        必须知道DUT/SUT的年龄时间.年龄时间必须长于在指定速率下产生帧的所必需的时间.
如果在测试中使用了较底的帧产生率,那么很有可能会发送大量的帧,而实际上超过了年龄时
间段.
      
这个测试必须至少在如下所描述的三个端口配置下执行.测试可以增加两个或三个端口以
完全利用DUT/SUT.如果增加两个将包括一附加的学习端口和测试端口.如果增加三个端口
将包括一附加的学习端口,测试端口和监察端口.

学习端口(Lport)传输带有不同源地址和一确定目的地址的学习帧到DUT/SUT,此目的地址
相应于连接到DUT/SUT测试端口(Tport)的设备地址.通过接收有不同源地址的帧,DUT/SUT
可以学到这些新地址.源地址可能为连续的顺序.

DUT/SUT的测试端口(Tport)对学习帧来说,担当接收端口.测试帧将被传输回到学习端口
所学到的地址.此运算法则在下面将被解释.

DUT/SUT上的监察端口担当检查端口以监听洪泛帧或错误转发的帧.如果测试包括多个广
播域(VLANS),那么每个广播域需要一个监察端口.

高度忠告,当运行这个测试时关闭SNMP,Spannig Tree,和其它源于DUT/SUT的帧。如果这
些协议不能被关闭,洪计算必须被修改为只计数源于Lport的测试帧,一定不能计数源自
DUT/SUT的帧。

这个测试的运算法则如下:

   CONSTANT
      AGE = ...;  {value greater that DUT aging time}
      MAX = ...;  {maximum address support by implementation}
    VARIABLE
      LOW  := 0;    {Highest passed valve}
      HIGH := MAX;  {Lowest failed value}
      N    := ...;  {user specified initial starting point}
    BEGIN
      DO
        BEGIN
        PAUSE(AGE);   {Age out any learned addresses}
          AddressLearning(TPort); {broadcast a frame with its source
                                  Address and broadcast destination}
          AddressLearning(LPort); {N frames with varying source addresses
                                  to Test Port}
        Transmit(TPort); {N frames with varying destination addresses
                           corresponding to Learning Port}
        IF (MPort receive frame != 0) OR
           (LPort receive frames < TPort transmit) THEN
          BEGIN  {Address Table of DUT/SUT was full}
            HIGH := N;
          END
        ELSE
          BEGIN  {Address Table of DUT/SUT was NOT full}
            LOW := N;
          END
        N := LOW + (HIGH - LOW)/2;
END WHILE (HIGH - LOW >= 2);
END {Value of N equals number of addresses supported by DUT/SUT}

为了测试出每个端口精确支持的地址数目,用二进制搜寻法则,反复相同的测试。由于
DUT/SUT的地址表年龄时间段,每次重复可能要花一段时间用来等待地址清除。如果可能,
配置DUT/SUT一个较底的年龄时间段。
    
一旦高的和低的值都得到,那么端口可处理的地址数目的极限就被发现了。
5.7.4 测量
    是否每个端口提供的地址,除了洪泛帧以外,成功的转发了.
5.7.5 报告格式
    在测试结束后,每次重复的结果应当以表格的形式表示,表格内容包括:
   
每次重复测试所使用的地址数量.(变量).
    
每次重复测试所使用的The intended load(固定的).
    
提供给DUT/SUT 测试端口测试帧的数量.这应当匹配重复测试所使用的地址的数目.测试帧以
不同的目的地址发送,以确定DUT/SUT已经学到每个重复测试中全部地址.

    在每次测试中测试端口的洪泛帧总数。如果总数为非0,这是表明DUT/SUT发出一帧,其目的
地址不在地址表中。

在测试期间,正确转发到测试的学习端口的帧的数量。接收帧必须有正确的目的MAC地址,应
当匹配标签域。在一经过的反复测试,这个数目应当和测试端口传输的帧的数量相等。
    
    在每次测试中学习端口上的洪泛帧总数。如果数量为非0,这是表明DUT/SUT发出一帧,其目
的地址不在地址表中。
    
    在监控端口的的洪泛帧总量。如果值为非0值,那么这表明,在反复测试中,DUT/SUT不能确
定许多帧的正确的目的端口。换句话说,DUT/SUT在其地址表满后,洪泛发帧到所有的端口。
5.8 地址学习速率
5.8.1 目的
   为了确定LAN交换设备地址学习速率.
5.8.2 参数设置
  下面的参数必须定义.每个变量设定要考虑下面的因素.

年龄时间 – DUT/SUT在自己的转发表中,保持学到的地址的最大时间.

初始地址学习速率 –新地址提供给DUT/SUT学习的开始速率.

地址数目 – DUT/SUT必须学习的地址的数量.数量必须在1到执行所能支持的最大数目之间.
建议不要超过在5.9项所定义的地址缓冲能力.
5.8.3 过程
    必须知道DUT/SUT的年龄时间段.年龄时间段必须长于在指定速率下产生帧所必须的时间.如
果在测试中使用了较底的帧产生率,那么很有可能会发送大量的帧,实际上超过年龄时间段.
      
这个测试必须最小在三个端口配置下执行.测试可以增加两个或三个端口以完全利用
DUT/SUT.如果增加两个,将包括一附加的学习端口和测试端口.如果增加三个端口将包括
一附加的学习端口,测试端口和监控端口.
      
一个类似于用来确定地址缓冲能力的运算法则,可以用来确定地址学习速率。这个反复测
试连接到DUT/SUT的测试设备提供地址学习帧的速率。建议在这个测试中,设置提供给
DUT/SUT的地址数量为最大缓冲能力。
5.8.4 测量
是否每个端口提供的地址,除了洪泛帧以外,在提供的学习速率下成功的转发了.
5.8.5 报告格式
在测试结束后,每次重复测试的结果应当以表格的形式表示:
   
   每次重复测试所使用的地址数量.(定值).
    
   每次重复测试所使用的The intended load(变量).
    
   被测试端口传输的测试帧的数量.这应当匹配重复测试中所使用的地址的数目.测试帧
   有不同的目的地址以确定DUT/SUT在每次重复测试中学到了所有的地址.
   
       在每次测试中测试端口的洪泛帧总数。如果总数为非0,这是表明DUT/SUT发出一帧,其
       目的地址不在地址表中。
   
   在测试期间,正确转发到测试的学习端口的帧的数量。接收帧必须有正确的目的MAC地址,
   应当匹配标签域。在一经过的反复测试,这个数目应当和测试端口传输的帧的数量相等。
       
       在每次测试中学习端口上的洪泛帧总数。如果数量为非0,这是表明DUT/SUT发出一帧,
       其目的地址不在地址表中。
    
   在监控端口的的洪泛帧总量。如果值为非0值,那么这表明,在反复测试中,DUT/SUT不
       能确定许多帧的正确的目的端口。换句话说,DUT/SUT在其地址表满后,洪泛发帧到所有
       的端口。
5.9 错误帧过滤
5.9.1 目的
     错误帧过滤测试的目的是为了确定DUT在错误或反常帧情况下的行为.测试结果说明DUT/SUT
是过滤出错误的帧还是仅仅继续传播错误帧到目的地址.
5.9.2 参数设定
         下面的参数必须被定义。每个变量的设定要考虑下面的因素。
    
Iload – Intended Load per port,以媒介的最大理论负载的百分比表示.实际每秒传输
的帧依赖于半双工或全双工操作.测试应当多次运行,每次每个端口有不同的负载.

测试期间 – 建议的测试期间为30秒.测试期间应当在1到300秒之间可调整.
    5.9.3 过程
      以太网上每个合法帧必须被检测:
    
   过长帧 - DUT/SUT可过滤出通过DUT/SUT传播的的超过1518字节的帧。过长的帧传输到
   DUT/SUT应当不再被转发。支持标签帧(tagged frames)的DUT/SUT可以转发不大于1522字节
   长的帧(4.2.4.2.1[5]项).
   
   过短帧 – DUT/SUT必须过滤出通过DUT/SUT传播的的短于64字节长的帧(4.2.4.2.2[4]项).被
   DUT/SUT接收的过短帧(或有部分冲突的帧)不能够被转发.
   
   CRC错误 – DUT/SUT必须过滤出通过DUT/SUT传播的,没有通过帧校验序列确定( 4.2.4.1.2[4]
   项)的帧.传输到DUT/SUT的,有错误CRC码的帧应当不能被转发.
  
   丢失比特错误 – DUT/SUT必须正确的转发包含丢失比特位的帧.传输到DUT/SUT的帧,没有以
   一个字节边界结束但是包含一个有效的帧校验序列的帧必须被DUT/SUT接受(4.2.4.2.1[4]
 项),并加一个字节的边界发送到正确的接收端口.
   
   队列次序错误 – DUT/SUT必须过滤没有通过帧校验序列确认并且没有一个字节边界结束的
   帧.这是CRC错误和丢失比特错误的结合.当两个错误都出现在同一个帧时,DUT/SUT必须首先
   确定CRC错误,并从传播帧中过滤出该帧(4.2.4.1.2[4]项).
5.9.5 报告格式
      对于在5.6.3项的中每个错误情况,“通过”(pass)或“失败”(fail)必须被报告。为

诊断的目的,可报告实际帧总数.
5.10 广播帧转发和延迟
5.10.1 目的
      广播帧转发和延迟测试的目的是确定DUT/SUT当转发广播通信时的吞吐量和延迟.转发广播
帧的能力将依赖于为了此目的建于设备上的一特定的功能.因此必须确定DUT/SUT处理广播
帧的能力,因为可能有多种不同的方法实现这个功能.
5.10.2 参数设置
      下面的参数必须要定义.每个变量的设定要考虑下面的因素:

帧大小 – 建议帧的大小为64,128,256,512,1024,1280和1518字节, 见RFC 2544 9 [3]. 
四个字节的CRC码被指定包括在帧的大小内.

       双工模式 – 半双工或者全双工.
       
       Iload – Intended Load per port,以媒介的最大理论负载的百分比表示.实际每秒传输
       的帧依赖于半双工或全双工操作.测试应当多次运行,每次每个端口有不同的负载.
       
       在这个测试中Iload将不会超过DUT/SUT预定值.
       
测试期间 — 建议的测试期间为30秒。测试期间应该在1至300秒之间可调整。

       在这个测试中Iload将不会超过DUT/SUT预定值.
5.10.3 过程
       对于这个测试,将要运行两个部分.

广播帧吞吐量 – 测试的这个部分用单独一个源测试端口来传输有广播地址的测试帧.
选择接收端口,然后度量转发率和帧丢失率.
    
    广播帧延迟 – 这个测试使用和广播帧吞吐量相同的设置,但是代替发送大量的测试帧流,只
    发送一个测试帧,要在很短的时间内,度量此帧到每个接收端口的延迟.
5.10.4 度量
       DUT/SUT的帧丢失率应当如26.3[3]项中所定义的方式报告,注意: 帧丢失率应当在测试期

结束时度量.术语"rate",仅仅对于这个度量,不是隐含秒的单位方式。
    
    DUT/SUT的的拥塞和非拥塞端口转发率(FR),必须报告为每秒设备被观察的,成功转发到正确
目的接口作为对一指定的Oload响应的测试帧的数量。Oload也必须被引用。
5.10.5 报告格式
测试的结果应当以图形的方式报告.其中x轴应该为帧的大小,y轴为测试结果.在图中至少有
两条线,一个为标为理论值,一个为测试的结果.

为了测量DUT/SUT在执行许多不同地址查找时的交换通信的能力,在一系列的测试中,可以增
加每个端口的地址数量.
6. 安全机制
        因为这个文档只是为了提供测定基准方法学,其所描述的即不是协议也不是协议的执行,
所以这个文档没有包含安全机制.
7.参考书目
      [1]   Bradner, S., Editor, "Benchmarking Terminology for Network
         Interconnection Devices", RFC 1242, July 1991.

   [2]   Mandeville, R., "Benchmarking Terminology for LAN Switching
         Devices", RFC 2285, February 1998.

   [3]   Bradner, S. and J. McQuaid, "Benchmarking Methodology for
         Network Interconnect Devices", RFC 2544, March 1999.

   [4]   ANSI/IEEE, "CSMA/CD Access Method and Physical Layer
         Specifications," ISO/IEC 8802-3, ISBN 0-7381-0330-6, 1998.

   [5]   IEEE Draft, "Frame Extensions for Virtual Bridged Local Area
         Networks (VLAN) Tagging on 802.3 Networks", 802.3ac/D3.1, July
         1998.
作者地址
    Robert Mandeville
   CQOS Inc.
   21 Technology
   Irvine, CA 92618
   USA

   Phone: +1 (949) 400-4444
   EMail: bob@cqos.com


   Jerry Perser
   Spirent Communications
   26750 Agoura Road
   Calabasas, CA 91302
   USA

   Phone: + 1 818 676 2300
   EMail: jerry_perser@netcomsystems.com
附录 A:公式
A.1 计算脉冲间隙
    IBG定义在RFC 2285[2]作为两个脉冲串间的距离.为了达到一个期望的负载,下面的输入参数
需要被定义:
       
       LENGTH – 帧的字节大小,包括CRC码.
       
       LOAD   - The intended load in percent. 范围为0到100.
       
       BURST  - 脉冲串中帧的数量(整数值).
       
       SPEED  - 介质的速度 以bits/sec 为单位
                 Ethernet 为10,000,000 bits/sec
                 Fast Ethernet 为100,000,000 bits/sec
                 Gigabit Ethernet 为 1,000,000,000 bits/sec
                     
       IFG    - 一个96位常量表示帧间隙.
        
        IBG(以秒为单位)可以被计算:

                          [(100/LOAD - 1) * BURST * (IFG + 64 + 8*LENGTH)] + IFG
   IBG = -----------------------------------------------------------
                                  SPEED
A.2 计算测试期间脉冲串的数目
        测试期间脉冲串的数量靠拢最接近的整数值.下面的输入参数要被定义.

       LENGTH – 帧字节数量,包括CRC码.
       
       BURST  - 脉冲串中帧的数量(整数值).
       
       SPEED  - 介质的速度 以bits/sec 为单位
                 Ethernet 为10,000,000 bits/sec
                 Fast Ethernet 为100,000,000 bits/sec
                 Gigabit Ethernet 为 1,000,000,000 bits/sec
                     
       IFG    - 一个96位常量表示帧间隙.
        
       IBG    - 见上面的公式.
       
       DURATION – 测试期间,以秒为单位.
       
   脉冲串持续期间要首先计算的一个中间值,:

    TXTIME  =  -----------------------------------------
                               SPEED

   测试期间脉冲串的数量 (四舍五入):

                     DURATION
    #OFBURSTS =   --------------
                  (TXTIME + IBG)

   例:

     LENGTH   = 64  bytes per frame
     LOAD     = 100 % offered load
     BURST    = 24  frames per burst
     SPEED    = 10  Mbits/sec (Ethernet)
     DURATION = 10  seconds test


    IBG       = 1612.8 uS
      TXTIME    = 1603.2 uS
    #OFBURSTS = 3110
附录 B: 产生实供负载 Offered Load
  在测试中,流量产生器是以Iload来配置,测量Oload.如果DUT/SUT使用了拥塞控制,那么Iload
与Oload是不相等的。问题就提出来了:怎样产生Oload?本附录将讲叙两种不同的方法。
   Oload 的测量单位是位每秒(bps)。这里讲的两种方法将使一个单位不变,使DUT/SUT改变另
一个单位。流量产生器应说明它用的方法。
B.1 基于帧的负载Frame Based Load
   基于帧的负载保持位的数量不变,而依据拥塞控制来改变测试持续时间。其优点是实现是一个
简单的状态机(或循环)。其缺点是Oload需要独立的测量。
流量产生器的所有端口必须传输确切数量的测试帧。测试帧的确切数量是在测试期间复用Iload
产生的。所有端口可不传输相同数量的测试帧,如果它们的Iload不同。一个例子是部分网格多对
一测试。所有端口应在测试时间的1%内开始传输帧。对于一30秒长的测试时间,所有端口应在300
毫秒内开始在彼此之间传输帧。

  被报告的Oload 应是测试时间内的平均值。如果流量产生器因为拥塞控制而在测试时间结束后
继续传输,Oload可以是整个传输时间内的平均值。DUT/SUT的Oload必须是所有端口Oload的和。
每端口的Oload也可以报告。
B.2 基于时间的负载Time Based Load
   基于时间的负载保持测试时间不变,而允许传输的八位组数量变化。其优点是准确的测试时间
和完整的Oload测量。缺点是流量产生器的开始和结束必须更精确。

   流量产生器的所有端口被配置为在有限的时间内传输Iload 。每个端口必须计数成功传输的八
位组的数量。

   测试的开始和结束由被测试参数定义的层来启动。这个层可以是MAC层,IP层,或协议栈的其
他点。当停止时间到时流量产生器完成它的层明确的传输过程。 
所有端口应在测试时间的1%内开始传输帧。对于一30秒长的测试时间,所有端口应在300毫秒
内开始在彼此之间传输帧。

   在明确的测试时间之后,所有端口应在测试时间的0.01%内停止传输帧。每个端口的停止时间
必须参考它的开始时间。这个测试时间错误控制了Oload测量的精确度,且应在Oload的测量里报
告。

  每个端口允许0.1%的偏移错误和0.01%的测试时间错误。

  通过将成功传输的八位组数除以测试时间就得到了Oload。DUT/SUT的Oload必须是所有端
口Oload的和。出于诊断目的,也可以报告每个端口的Oload。
   
Full Copyright Statement

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




RFC2889—Benchmarking Methodology for LAN Switching Devices
局域网(LAN)交换设备基准(测试)方法学



1
RFC文档中文翻译计划