【相关文档】
以太网是数据链路层的技术,因此以太网测试又被称为二层测试
相关的 RFC 文档包括 RFC1242、RFC2544、RFC2285、RFC2889
RFC1242 与 RFC2544 具有一般性的指导意义,涵盖了 OSI 全部七层的测试
RFC2285 为以太网交换设备基准测试提供了基本术语
RFC2889 为以太网交换设备基准测试提供基本方法学
【RFC2285】
基本术语
在 RFC2285 中,有两个基本术语:
- DUT:被测设备(Device under test)
- SUT:被测系统(System under test)
测试流方向
单向流量
单向流量是指测试流在被测设备中以单向方式传输
测试仪发送的测试帧从 DUT 的输入端口进入 DUT,由 DUT 上的输出端口发送回测试仪,DUT 上的输出端口本身不从测试仪接收任何流量
当测试者为 DUT 加载单向流量时,是由 DUT 上的不同端口处理帧的接收与发送,输入端口与输出端口的角色是不重叠的
双向流量
双向流量是指每个端口在接收流量的同时也在发送流量
当测试者为 DUT 加载双向流量时,所有从测试仪表接收测试流量的端口同时也在向测试仪表回送测试流量,每个端口同时承担输入端口与输出端口的角色
流量模式
概述
为适应不同目的的测试,RFC2285中定义了 3 种不同的流量模式
以一款具有 24 个快速以太网接口(FE)和 2 个千兆以太网端口(GE)的非对称交换机为例
若要对交换机的 FE 端口转发性能进行测试,宜采用非网状流量模式,即将交换机上的 FE 端口组成端口对来运行相应的测试
若要对 2 个 GE 接口作为上行/下行链路的转发性能进行测试,就需要采用部分网状流量模式,即将每个 GE 端口与其他 24 个 FE 端口组成一个一对多的模式进行测试
若对交换机进行整机性能测试,将会采用全网状流量模式进行测试,这种流量分布最能模拟真实网络环境下交换机所承载的大量并发数据流量
非网状流量
非网状流量也称端口对方式
DUT 上的接口被设置为输入和输出两类,每一个输入接口和一个输出接口对应,流量从一个输入端口加载后发送到另一个输出端口,形成一对一关系
不同的端口对之间是互斥的,流量不会相互泄漏
部分网状流量
部分网状流量也称作骨干方式
DUT 与 SUT 的每个接口也被设置为输入和输出两类,输入和输出端口仍被捆绑成组来发送和接收帧,组与组之间互斥
在组内,输入和输出接口的模式变成了一对多、多对一或多对多模式
全网状流量
全网状流量模式下,DUT 上的每个被测试接口既可以向所有其他的测试端口发送流量,也可以接收来自所有其他被测端口的流量,是一种完全多对多的关系
对于一个有 $n$ 个被测端口的交换机而言,在单向流量时,相当于有 $\frac{n(n-1)}{2}$ 个端口对,在双向流量时,相当于有 $n(n-1)$ 个端口对
负载
期望负载:外部信息源企图传输给 DUT/SUT 让其转发到指定输出端口的每秒帧数
提交负载:外部信息源能够被观察或测量到的传输给 DUT/SUT 让其转发到指定输出端口的每秒帧数
无论半双工模式下采用的 CSMA/CD 机制,还是全双工模式下的流量控制机制,都可能影响外部信息源向 DUT 发送流量的速率,从而使提交负载小于期望负载
最大提交负载:外部信息源每秒能够传送给 DUT/SUT 并让其向指定输出端口转发的最大帧数
理想状态下,最大提交负载可以达到线速发送下的负载,但实际上,最大提交负载不一定等于介质所允许的最大负载
例如,当外部信息源未能按最小的合法帧间隔来发送帧时,介质所能提供的信道带宽就不能得到最大限度的利用,最大提交负载就会小于介质所允许的最大负载
简单来说,期望负载是计划负载,提交负载是实际负载,最大提交负载是最大实际负载
过载:以超过介质允许的最大传输速率向 DUT/SUT 施加负载
过载会导致网络拥塞并可能因此引发帧的丢失,但如果交换机启用了有效的拥塞控制机制,则拥塞不一定会引起帧的丢失
转发速率
转发速率:提交负载下,一台设备能够被观测到的每秒钟内成功向正确目的端口传送的帧数
最大提交负载下的转发速率:一台设备在最大提交负载的情况下能够被观测到的每秒钟内成功向正确目的端口转发的帧数
最大转发速率:一系列经过重复或迭代测试所获得的转发速率测量值 中的最大值
【RFC2889】
概述
RFC2889 为以太网交换设备的基准测试提供方法学,由 RFC2544 的方法学扩展而来
其核心部分分为测试设置、帧格式与长度和基准测试三大部分,其中基准测试涉及测试目标、参数设置、测试过程、测量方法和测试报告格式等方面
转发率、丢帧率和吞吐量是描述交换机转发性能的主要技术指标, RFC2889 中,半数的基准测试直接针对上述指标
负载、吞吐量、丢帧率和转发速率的关系
负载、吞吐量、丢帧率和转发速率的关系可用如下的 FR-Load 曲线描述:
其中,Load_T
代表在没有丢帧时的最大转发速率,即吞吐量,Load_MaxF
代表在有帧丢失时的最大转发速率,Load_MOL
代表丢帧率增加,达到最大提交负载下的转发速率
可见,最大转发速率与吞吐量的区别在于:最大转发速率不关心 DUT 是否丢帧,而吞吐量以零丢帧为前提
在没有丢帧的状态下,随着负载从零开始逐渐增大到线速,转发速率应该随着负载的增加而线性增加,而且两者应该相等
在实际设备中,当负载超过某个临界值之后,因拥塞而导致帧丢失