网络设备性能指标小结
讯道通信工程
讯道通信,是一家专业从事网络信息应用平台组建研发,致力于数字化城市和智慧城市建设中计算机中心机房、安防监控、智能楼宇、数字化信息应用等领域的系统设计、工程服务、软硬件开发、运营维护的完整解决方案提供商。
001/ 线速和包转发率的换
线速的定义:是指网络设备的端口上每秒钟传输的2进制数个数,单位为:bit per second,即bps。
这也就是我们通常会看到的,比如:
-
a、通常说的100M的网卡就是说的该网卡的网口线速为100Mbps;
-
b、家里面开的宽带,比如电信说的是2M的宽带,说的是给我们开的端口线速度为2Mbps。
注意:电脑上的文件下载速度计算通常是以字节每秒为单位的,即:
byte per second。为了与线速度的bps相区分,通常将其记为Bps。这两个单位很多人都搞不清怎么回事,一个大写,一个小写,其实是两码事。因为1byte=8bit,所以二者是8倍关系,即1Bps=8bps。
包转发率 :包转发率的含义是每秒钟内所转发的数据包的个数,即packet per second,记做pps。
这里的数据包packet和字节byte有个对应关系,
1packet=64byte。
为什么是64呢?这是个定义,
网络中1个数据包最小包含64字节。
下面我们计算一下一个1000Mbps的线速端口其最大包转发率。
计算之前还要讲一点,就是我们的数据包在网络上传输不是裸的数据包在传输,而是每个数据包都要加上8byte的帧头和12byte的帧间隙。每传输一个数据包就需要传输
64+8+12=84byte。
那1000Mbps线速端口的包转发率:
此算法,可以得出以下常用线速端口的包转发率:
002/背板带宽和整机包转发率
背板带宽(也称转发带宽)
背板可以理解为交换机或路由器内部的一条数据总线。设备端口间的数据交换都在总线上传输。好比一条高速公路,连接了若干城市,城市之间的交通流量都需要从该高速公路上通过。那背板带宽就是高速公路的最大无阻塞交通流量(当然我们要假设高速公路上的车辆都是以恒定的最高速度在行驶)。背板带宽是背板的物理属性,其单位为bps,和端口线速的单位一样。
整机包转发率(也称吞吐量)
将高速公路所连接的所有城市看做一个交通系统,整机包转发率相当于进出所有城市的交通流量之和。即:该网络设备所有端口的双向(双工)包转发率之和。
整机包转发率是一个极限指标,即网络设备在所有端口满配,并工作在端口的最高线速的情况下的一个指标。
衡量一台网络设备的性能
根据以上所讲的内容,我们可以对一些网络设备进行性能评估。
-
1、理论计算Cisco2950G-48
-
比如Cisco 2950G-48交换机,具有2个千兆以太网接口和48个百兆以太网接口。那么其背板带宽至少应该是:
(才能满足该交换机所有端口的无阻塞交换。之所以要乘以2是因为端口都是全双工的,收发都在工作,都在传输数据。)
对应整机包转发率应该是:
(之所以 除以2 是因为包转发率是一个双工的概念)
解读宣传参数,选择自己合适的产品
理论上将,一台网络设备的端口数量、背板带宽、整机包转发率参数要匹配才能算作合格,但是往往不是这样的。因为高端的网络设备通常采用了模块化设计,厂家为了使自己的宣传资料看起来更好看,往往夸大了其产品性能。通常厂方的解释是“把每个板卡内部的交换能力也纳入了整机的性能计算”。
因此在选择网络设备时,要根据自己的应用需要,使用设备的终期端口配置为依据,计算背板带宽和包转发率,并留够参数余量,选择自己需要的产品。
003/ 测量网络性能的五项指标
-
可用性(availability)
-
响应时间(response time)
-
网络利用率(network utilization)
-
网络吞吐量(network throughput)
-
网络带宽容量(network bandwidth capacity)
1. 可用性
测试网络性能的第一步是确定网络是否正常工作,最简单的方法是使用 ping 命令。通过向远端的机器发送 icmp echo request,并等待接收 icmp echo reply 来判断远端的机器是否连通,网络是否正常工作。
Ping 命令有非常丰富的命令选项,
比如 -c 可以指定发送 echo request 的个数,-s 可以指定每次发送的 ping 包大小。
网络设备内部一般有多个缓冲池,不同的缓冲池使用不同的缓冲区大小,分别用来处理不同大小的分组(packet)。例如交换机中通常具有三种类型的包缓冲:一类针对小的分组,一类针对中等大小的分组,还有一类针对大的分组。为了测试这样的网络设备,测试工具必须要具有发送不同大小分组的能力。Ping 命令的 -s 就可以使用在这种场合。
2. 响应时间
Ping 命令的 echo request/reply 一次往返所花费时间就是响应时间。有很多因素会影响到响应时间,如网段的负荷,网络主机的负荷,广播风暴,工作不正常的网络设备等等。
在网络工作正常时,记录下正常的响应时间。当用户抱怨网络的反应时间慢时,就可以将现在的响应时间与正常的响应时间对比,如果两者差值的波动很大,就能说明网络设备存在故障。
3. 网络利用率
网络利用率是指网络被使用的时间占总时间(即被使用的时间+空闲的时间)的比例。比如,Ethernet 虽然是共享的,但同时却只能有一个报文在传输。因此在任一时刻,Ethernet 或者是 100% 的利用率,或者是 0% 的利用率。
计算一个网段的网络利用率相对比较容易,但是确定一个网络的利用率就比较复杂。因此,网络测试工具一般使用网络吞吐量和网络带宽容量来确定网络中两个节点之间的性能。
4. 网络吞吐量
网络吞吐量是指在某个时刻,在网络中的两个节点之间,提供给网络应用的剩余带宽。
网络吞吐量可以帮组寻找网络路径中的瓶颈。比如,即使 client 和 server 都被分别连接到各自的 100M Ethernet 上,但是如果这两个 100M 的Ethernet 被 10M 的 Ethernet 连接起来,那么 10M 的 Ethernet 就是网络的瓶颈。
网络吞吐量非常依赖于当前的网络负载情况。因此,为了得到正确的网络吞吐量,最好在不同时间(一天中的不同时刻,或者一周中不同的天)分别进行测试,只有这样才能得到对网络吞吐量的全面认识。
有些网络应用程序在开发过程的测试中能够正常运行,但是到实际的网络环境中却无法正常工作(由于没有足够的网络吞吐量)。这是因为测试只是在空闲的网络环境中,没有考虑到实际的网络环境中还存在着其它的各种网络流量。所以,网络吞吐量定义为剩余带宽是有实际意义的。
5. 网络带宽容量
与网络吞吐量不同,网络带宽容量指的是在网络的两个节点之间的最大可用带宽。这是由组成网络的设备的能力所决定的。
测试网络带宽容量有两个困难之处:在网络存在其它网络流量的时候,如何得知网络的最大可用带宽;在测试过程中,如何对现有的网络流量不造成影响。网络测试工具一般采用 packet pairs 和 packet trains 技术来克服这样的困难。
收集网络性能数据的方式:
当确定了网络性能的测试指标以后,就需要使用网络测试工具收集相应的性能数据,分别有三种从网络获取数据的方式:
-
通过snmp协议直接到网络设备中获取,如net-snmp工具
-
侦听相关的网络性能数据,典型的工具是tcpdump
-
自行产生相应的测试数据,如netperf工具