【计算机网络】聊一聊那些常见的网络通信的性能指标
带宽
信道传输的是电磁波信号,而电磁波是有一定的频率范围,带宽指的就是这段有效的频率范围的值
即:带宽 = 最高有效频率 - 最低有效频率
好比我们人的耳朵能听见一定频率范围内的声音(20 -20000Hz),那么19000Hz就是我们耳朵的“带宽”
不同的信道,其带宽(频率范围)是不一样的,根据带宽的不同,可将信道划分为窄带信道(0 - 300Hz), 音频信道(300 - 3400Hz)和宽带信道(带宽为3400Hz以上)。我们平常说的“装宽带”,意思就是安装3400Hz以上带宽的信道的意思
数据传输速率
数据传输速率信道每秒能传输的比特数,所以它的单位自然就是bps(比特每秒),除此外还有Kbps,Mbps等
【注意】理论分析证明,信道的最大数据传输速率和带宽有直接联系,信道带宽越宽,数据传输速率就越大,因此在许多情况下,“带宽”和“传输速率”是可以互换的。
时延
以分组交换网络的时延为例(因为当前因特网和计算机网络主要采用的数据交换技术是分组交换)
时延
当一个分组在节点间传输时,主要的时延分为四种类型: 节点处理时延(nodal processing delay),排队时延(queuing delay),传输时延(transmission delay)和传播时延(propagation delay)
如果将这四种类型的时延分别表示为d(proc), d(queue),d(trans), d(prop)
则对一个分组而言,两个节点间的总时延d = d(proc) + d(queue) + d(trans) + d(prop)
假设发送端到接收端间有N条链路
则对一个分组而言,忽略其他因素,端到端总时延d(end-end) = N × ( d(proc) + d(queue) + d(trans) + d(prop) )
下面我将从单个分组从路由器A到相邻的路由器B的传输的情况入手,分别介绍这四种不同类型的时延
图示如下:
处理时延
当分组到达路由器A时,首先要做的是检查分组首部并决定将该分组导向何处,并检查比特级差错,这部分的时间消耗叫做处理时延。
排队时延
分组在经过路由器A的处理后,下一步就是传输出去。一个分组的排队时延取决于先到达的,正在排队等待向链路传输的分组的数量。
1.如果前面没有分组正在从路由器A向链路传输的话,排队时延为0
2.如果流量很大,前面有很多分组正在传输或也在等待传输,那么就要消耗很大的排队时延了。
传输时延
传输时延是路由器A将分组的所有比特推出路由器A,推向链路所需要的时间。传输时延取决于两个因素:
1. 单个分组长度
2. 数据传输速率
假设分组的长度为L比特,数据传输速率为R (bps) 那么 传输时延 = L/R
【注意】传输时延又叫做存储转发时延
传播时延
(这个概念听起来和传输时延很相似,区别我下面会讲)
传播时延指的是分组的一个比特从路由器A到达到路由器B所需要的时间,传播时延取决于两个因素:
1.链路介质(双绞线,光纤)的传播速率
2. 节点间的距离(两个路由器间的距离)
假设路由A,B距离为d, 链路介质传播速率为s,那么传播时延 = d/s
传输时延和传播时延的比较
我们把一个分组从路由器A传输到路由器B的过程,比作一批车队(10辆汽车), 全部从收费站A行驶到收费站B的过程(中间经过高速公路)
一批车队 == 一个分组
一辆汽车 == 一个比特 (暂时不管分组长度是否合理)
收费站A,B == 路由器A,B
这批车队遵守一个“奇怪”的规则,那就是无论哪一辆汽车先到达收费站A,它都必须等待其他9辆汽车也都尾随其后到达了A,才带领这批车队依次驶出收费站A。(这就是存储转发机制,只有当一个分组的所有比特都到达了路由器,“存储完毕“后,才能转发整个分组)
传输时延就是这批车队依次(前后紧跟)地驶出收费站A所用的时间(将分组的所有比特推出路由器A,推向链路所用的时间)
传播时延就是每辆汽车经过高速公路,从收费站A到达收费站B所用的时间(分组的一个比特从路由器A到达到路由器B所需要的时间)
假设收费站办理手续,通过汽车的效率是 5 (辆/每分钟),而汽车在高速公路上行驶速度是100km/h。那么,因为两个收费站间距离为100km,一批汽车有10辆
我们可以得出,这批汽车通过收费站所用的时间为10辆 ÷ 5(辆/每分钟) = 2分 (传输时延)
汽车在高速公路上行驶所用的时间为100km ÷ 100km/h = 1h (传播时延)
总共用时62分钟
丢包率
丢包意为分组丢失,什么原因会导致分组丢失呢? 这和我们上面所说的”排队时延“有关,我们说到:当大量分组在短时间内到达路由器的时候,因为无法一次性处理完毕,分组需要”排队“,但是基于路由器的设计和成本,分组队列的长度是有限的。所以,当队列满了的时候,下一个分组到达的时候,路由器会选择丢弃(drop)该分组, 这个分组便丢失了(lost),这就是所谓的丢包
丢包率与分组长度以及分组发送频率相关。
吞吐量
吞吐量的单位和数据传输速率一样,也是bps,所以它虽然名为“量”,其实也还是一种“速率”
瞬时吞吐量和平均吞吐量
从服务器到客户机通过计算机网络传送一个大文件,任意时刻客户机接收该文件的速率叫做瞬时吞吐量(instantaneous throughput)
假设客户机接收该文件的所有F比特用了T秒,那么 F/T就叫做平均吞吐量(average throughput)
吞吐量 == 瓶颈链路的传输速率
吞吐量等于瓶颈链路(bottle link)的传输速率
让我们考虑下图中尽可能简单的情况,R(s)表示服务器和路由器之间的链路速率,R(c)表示路由器和客户机之间的链路速率,显然,该服务器不能以快于R(s)的速率向链路中输送比特,路由器也不能以快于R(c)的速率转发比特。
如果R(s) < R(c),那么服务器输送的比特能够"畅快地"通过路由器和客户机间的链路到达客户机。速率为R(s)
如果R(s) > R(c) 则因为路由器将不能以接收的速率转发比特,所以链路速率为R(c)
所以 上图中吞吐量为min{ Rc, Rs } bps
同样的,对下面这n条链路
吞吐量为min{ R1, R2, ... Rn }
误码率
误码率是衡量通信系统传输可靠性的指标,它指的是错误接收的码元数在所传输的总码元数的比例
计算公式: 误码率=错误码元数/传输总码元数
参考书籍
《计算机网络-自顶向下》 作者 James F. Kurose
《计算机网络技术基础教程》作者 刘四清
我叫彭湖湾,请叫我胖湾