【概述】
在数据传输层面,关注的是路由器基于数据包的数据转发能力,即数据包转发是否准确、有无丢包、转发延迟多大等,因此又被称为数据包转发测试,所谓数据包转发,即将数据包从路由器输入端口转发到输出端口的过程
常见的指标有:吞吐量、延迟、丢包率、背对背、时延抖动、背板能力、系统恢复、系统重启等
在逻辑控制层面,考虑的问题因网络类型的差异会有所不同,主要是进行路由测试
- 对于小型网络:重点考虑路由协议类型的选择
- 对于大型网络:还应该考查路由表项大小是否满足、路由表项更新速度如何、路由更新时对数据通道上的处理有无影响等
此外,路由器采用不同的方式获取路由信息,会直接影响路由性能:
- 静态路由:消耗管理员的时间,但没有额外的路由维护开销,对网络拓扑变化的适应性较差,网络的可扩展性也受限制
- 动态路由:能较好的适应复杂多变的网络环境,但需要较多的资源消耗,包括路由器的 CPU 时间与内存、网络链路带宽等
尤其动态路由来说,当运行不同的路由协议时,路由算法和复杂度不同会带来性能上的差异,即使运行相同的路由协议,不同网络环境下的运行性能也会不同
因此,就特定的网络系统或网络环境而言,必须对路由进行测试,以检验路由是否能满足总体运行性能的需要,主要指标有路由振荡、路由学习速率、路由表容量、路由收敛时间等
【数据转发层面】
吞吐量
吞吐量是指在没有丢包的情况下,路由设备能够转发的最大速率,其衡量单位是每秒转发的数据包的数量,即:包/秒
在高速路由器中,包转发能力至少应在 20 包/秒以上
其有两层含义:
- 保证待转发的每一个包都能够从输入端口准确地转发到适当的输出端口
- 被测设备在不丢包的前提下,单位时间内能够转发的最大包数量
在吞吐量的基础上,有以下定义:
- 整机吞吐量:设备整机的包转发能力
- 端口吞吐量:路由器在某端口上的包转发能力
对于整机吞吐量,通常小于路由器所有端口吞吐量之和,整机的背板或交换网络是制约整机吞吐量的瓶颈
对于端口吞吐量,通常采用两个相同速率端口进行测试,一般情况下,端口吞吐量与端口所占的位置及端口间的关系相关
例如:同一插卡上端口间测试的吞吐量与不同插卡上端口间的吞吐量值不同
延迟
延迟是指分组的最后一位比特进入路由器到第一位比特离开路由器的时间间隔,该时间间隔是存储转发方式工作的路由器处理时间
延迟产生的原因有二:
- 处理时延:转发数据包时完成的一系列操作,如计算路由、地址解析等需要一定时间
- 排队时延:数据包等候处理时,在输入端口和输出端口的缓冲队列中排队所产生的时间
时延对网络性能影响较大,对高速路由器,在最差情况下,要求对小于 1518 字节的 IP 包时延均都小于 1ms
丢包率
丢包率是指路由器在不同负荷下,由于资源缺少而不能被网络设备转发的数据包在应该转发的数据包中所占的比例
其中不同负荷有吞吐量、线速等,对于吞吐量来说,在吞吐量的范围内丢包率为 0,超过吞吐量就会引起丢包
丢包率通常用作衡量路由器在超负荷工作时的性能
目前常使用 ping
命令来测试网络丢包率,当 ping
一个 IP 地址时,若出现 request timeout
就说明网络有问题,一般来说,使用 ping
命令的 -n
选项,如:ping -n 50 IP
,快速发出 50 次 ping
命令,检查无应答的次数,将无应答的次数作为丢包次数,如果丢包率超过 5%,说明网络负载较大
背对背
背对背指的是在一段较短的时间内,以合法的最小帧间隙在传输媒介上连续发送固定长度的包不引起丢包时的包数量,该指标用于测试路由器缓存能力
通常以被测试设备在某个速率下能转发的最长的连续包数目来进行检验
如果路由器具备线速能力,即对于吞吐量 = 100% 线速的路由器来说,该指标为无限大,测试没有意义
时延抖动
时延抖动是指时延的变化
例如:语音本是连续的信号,在将分组数据从主机 A 发送到主机 B 的过程中,由于分组传输路径不同,每个路径的长短和数据流量各不相同,造成了分组到达接收端的时间有所不同,这样在接收端回放的语音变得时断时连
数据业务对时延抖动不敏感,所以该指标通常不作为衡量高速路由器的重要指标,只有对时延抖动敏感的业务,如语音、视频,该指标才有测试的必要性
背板能力
背板是指输入与输出端口间的物理通路,背板能力决定了路由器的吞吐量
背板能力是路由器的内部实现,传统路由器采用共享背板,但是应用于高性能路由器时不可避免的会遇到拥塞问题,其次也很难设计出高速的共享总线,所以现有的高速路由器一般采用可交换式背板的设计
但是背板能力只能在设计中体现,一般无法测试
系统恢复
系统恢复是指路由设备从超载行为状况下恢复到正常转发状态的行为特征,主要表现为系统恢复速度的快慢
简单来说,就是从丢包到不丢包的时间
路由设备必须具有高可用性,在出现软件崩溃或负荷超载等非致命问题的情况下,系统应该能够自动实现系统恢复,并且系统恢复时间应尽量短
系统重启
在路由设备加入网络投入运行后,或者出现致命错误不能工作必须更换其他设备的情况,都会引起设备重启
系统重启时,路由器不能正常工作,会引起数据包的丢失,这段设备不可用的时间长短对于评估设备的性能优劣相当重要
系统重启时间越小,即因电源开关或系统重置而产生的等待时间就越小,网络的丢包也就越少,由此产生的网络不可用时间也就越短
【控制层面】
路由表容量
路由表容量是指路由器的路由表中所能容纳的最大路由信息条目数
不同型号或功能定位的路由器其最大的路由容量是不一样的,小的有上万条,大的可达上百万条
如果路由器需要的路由条目超过了其最大路由表容量,就会产生部分路由表项无法被保存的现象,即路由表溢出,这就导致某些目的网络不能到达,从而出现丢包
路由设备所支持的路由表的最大容量是决定路由器转发性能的一个重要因素
路由学习速率
路由学习速率是指路由器接收到一条新路由的信息到路由器构建这条路由并插入到路由表中所花的时间
路由学习速率越高,则路由器通过新路由转发的分组丢失率就越小,其是决定路由器转发性能的一个重要因素
路由振荡
路由振荡又称路由波动,其是指由于种种原因导致到某个目的网络的路由在短期内反复撤销和重现
导致路由振荡的原因有:
- 链路不稳定,如:传输上光缆的故障
- 路由协议使用的传送协议出现问题,如:BGP 协议工作在 TCP 之上,当 TCP 协议栈运行出现问题时,势必导致 BGP 协议的不稳定
- 网络拓扑结构的变化,如:网络割接(运行网络物理或者逻辑上的更改)
- 路由信息撤销与更新
路由振荡通常以每秒更新路由的数量来衡量,每秒更新路由的数量越大,说明路由振荡越严重
路由振荡是路由不稳定性的主要表现,对路由器转发能力有很大的影响
路由收敛时间
路由收敛是指同一个网络中所有路由器对网络拓扑的认识达到一致的过程
路由器重启、网络拓扑发生变化等,都会引发全网路由的重新收敛,在该过程中,网络中的各路由器通过交换网络信息、计算最佳路径并更新路由表等重新达到对网络状态或拓扑的一致认识
路由收敛时间可以被理解为路由变化通知到全网所用时间,其是评估路由协议的一个关键指标
路由协议的收敛速度越快,其运行性能就越好