什么是 RFC 2544?
如果您从事网络工作,您可能听说过它,但 RFC 2544 究竟是什么呢?
RFC 的全称是 Request for comment ,请求注解。是一系列收录了互联网国际标准的文件。RFC 2544 是用于测试和测量网络设备的性能的标准,该标准在1999年被规定。RFC 2544规定了在测试过程中测试人员需要用到的测试语言和测试步骤。测试人员必须严格按照 RFC 2544 中规定的步骤进行测试。RFC 2544 还提供了标准的性能结果。通过对比设备的性能参数与 RFC 标准,用户能够轻松地比较不同厂商设备的优劣。
RFC 2544 包括6个关于网络设备参数的测试,通过这些测试,可以评估网络设备在现实世界的表现情况。这些测试也被称作停止服务,在测试过程中不使用真实的业务流量,而是使用测试人员生成的具有特定特征的流量。
正如RFC文档中所概述的,实现这一系列测试的理想设备是带有发送端口和接收端口的测试设备。流量从发包器发送到 DUT,然后从 DUT 返回发包器。通过检查测试设备发送的帧序列号,测试人员可以判断是否所有的数据包都成功地发送了,所有正确的数据包也成功的返回测试设备。
RFC 2544 的6个子测试是什么?
在RFC 2544 中定义了6个测试:吞吐量,延迟,丢包率,背靠背测试,复位测试和系统恢复。
吞吐量
吞吐量是指设备能够转发所接收到的数据的最大速率。吞吐量测试需要测量 DUT 发送的测试帧数与测试设备发送给DUT的帧数。当这2个数值相等时,单位时间内设备中通过报文的数量(速率)就是设备的吞吐量。换句话说,吞吐量是衡量一款设备转发数据包能力。吞吐量也被称为可用带宽。
延迟
延迟是报文从 离开发送端
到 到达目的地
所需要的时间。时延包括了报文在网络链路上的传输时间和经过的网络设备所花费的时间。为了保持时间同步,时延测试一般会测量同一个报文从 DUT 发送的时间和返回 DUT 的时间。这样测量出来的时延称为双向时延(RTT)。
延迟有两种计算方法:存储转发时延(store and forward latency,S&F)和直通交换时延(cut through latency,CT)。
- 存储转发时延是指数据帧最后一个比特到达设备输入端口的时间与该数据帧第一个比特出现在设备输出端口的时间间隔,按后进先出的方法计算
- 直通时延是指数据帧第一个比特到达设备输入端口的时间与该数据帧第一个比特出现在设备输出端口的时间间隔,按先进先出的方法计算。
丢包率
丢包率的计算方式是: DUT转发的报文个数/DUT接收的报文个数 *100%。丢包率通常是由资源(如可用带宽)不足引起的,因此丢包率可作为设备在重负载下的表现的指标。
背靠背测试
背靠背测试是向 DUT 连续发送具有最小帧间隙的帧,并对 DUT 转发的帧数进行计数。若不发生丢包,则增加发送的帧,直到发生丢包。然后再慢慢减少发送的帧,直至不丢包。此计算有助于确定设备的缓冲区容量。
复位测试
系统复位测量 DUT 从软件复位中恢复的速度。测试过程为先按最大吞吐率发送最小长度的帧,然后复位被测设备,统计复位前发出的最后一帧的时间戳和复位后收到的第一帧的时间戳的差值,即为复位测试时间。
系统恢复
系统恢复表征了 DUT 从过载条件中恢复的速度。测试系统恢复,先以高于设备吞吐量的速率发送帧流并测量延迟,然后再将速率降低并再次测量延迟。系统恢复时间是这两个延迟时间的差值。
RFC 2544,不仅概述了6个子测试的步骤细节,它同时也指定了测试的标准结果。这种标准化使得直接比较各种网络设备的性能成为可能。