第二周:计算机网络概述(下)

一、计算机网络性能指标(速率、带宽、延迟)

1、速率

2、带宽

3、延迟/时延

前面讲分组交换的时候介绍了,有一种延迟叫"传输延迟",即发送一个报文,从第一个分组的发送,到最后一个分组的发送完成的这段时间,就是这个分组的传输延迟。

事实上,在传输分组的过程中,除了传输延迟外,还有其他延迟。

问:分组交换为什么会发生延迟甚至数据丢包?

答:在分组交换网络里,当数据分组到达一个路由器,路由器按照存储转发的工作方式,会先把这个分组先暂存,然后确定这个分组在哪个链路进行转发,如果该链路正在转发其他分组,那这个分组就只能等待,这个排队的时间就是延迟。任何路由器供分组排队的缓存都是有限的,如果缓存满了却还有源源不断的分组到达,那就只能把分组扔了,这时候就出现了"丢包"的情况。通常作为分组,如果其到达的速度超出了输出链路的容量的时候,丢包的现象就难以避免了。

(1)四种分组延迟

在分组交换过程中,分组从到达一个节点(路由器)开始,到这个分组被成功转发到下一个节点,所消耗的时间主要有以下4种:

节点处理延迟:分组到了这个路由器,路由器要对这个分组进行处理,比如:检查以下这个分组有没有错、根据这个分组携带的地址信息决定在哪个接口把它转发出去等等。现在路由器的处理能力都比较强,这个时间是比较小的,不会超过毫秒级。在很多讨论的时候会把这个时间直接忽略掉。

排队延迟:当分组确定从哪个链路转发,而恰巧那个链路又刚好在传输其他分组的时候,分组就要在这个路由器节点上排队,这个时间消耗就是"排队延迟"。显然,这个排队时间是很不确定的

传输延迟:当我们的链路开始传输一个分组的时候,从传输这个分组的第一个比特开始,到最后一个比特发完,需要的这段时间就是传输延迟。传输延迟取决于分组长度L(bits)、链路带宽R(bps),传输延迟=分组长度/链路带宽

传播延迟:当一个分组发出来以后,它是通过信号(电信号、光信号、无线电波信号)传播到下一个节点上去的。这个信号在介质上传播显然也需要时间,这个时间就是"传播延迟"。传播延迟的时间和物理链路长度、信号传播速度有关。传播延迟=物理链路长度/信号传播速度

在分组交换的过程中,一个分组从到达某个节点开始,到它成功到达下一个节点,称为"一跳"。在这一跳的过程中,所消耗的时间=节点处理延迟+排队延迟+传输延迟+传播延迟

注意:

传输延迟和传播延迟不是一回事儿。传输延迟是发送一个分组需要多长时间,传播延迟是信号从这点经过链路传播到下一点需要的时间。下图是一个很好的类比:一个车队就好比一个分组,车队过收费站排队所花的时间是传输延迟,而在高速公路上行驶所花掉的时间就是信号传播延迟。

(3-1)用流量强度描述排队延迟

上面讲的4种延迟中,排队延迟比较特殊。因为它具有很强的不确定性。为此,我们引入了"流量强度"的概念。

理解:

传输长度为L的分组的时间t=L/R,那么t时间内平均有多少个分组到达呢?就是a*t,即La/R。如果La/R接近0,说明t时间内几乎没有分组到达,那么平均排队延迟就很小;如果La/R接近1,说明t时间内我转发一个分组,平均又有接近1个分组到达,那么平均排队延迟就很大;如果La/R大于1,说明我处理完一个分组却又有1个以上的分组到达,那么就会超出服务能力,平均排队延迟无限大。

二、计算机网络性能指标(时延带宽积、丢包率、吞吐量)

1、时延带宽积

时延带宽积:当我发送的第一个bit,到这个bit到达这段链路最终目的地的这段时间内,我一共发送了多少个bit的数据量。

在网络中,我们也可以说某段链路的比特长度是多少bit,其实指的就是时延带宽积。

2、分组丢失(丢包)

因为我们的路由器等网络设备的队列缓存容量总是有限的,当缓存满了,后续到达的分组没有缓存了,这时候就会出现"丢包"。

不同的网络对于丢包的处理是不一样的,比如Internet,丢了就丢了;有的网络会采取重发(比如前一个节点或源主机重发一下这个分组),这些先不多说了,以后会讲。

在网络中,丢包是我们重点要考虑的现象,我们一般会用"丢包率"来对网络的丢包程度进行衡量。"丢包率"就是在一定统计时间内,丢包数量在你发的数据总数中所占的比例。

3、吞吐量/率

吞吐量/率:实际上说的也是一种速率,只不过这个速率强调的是从发送端发送数据到接收端收到数据这样的两端之间数据的传送的速率

相关推荐
小林熬夜学编程1 小时前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
Hacker_Fuchen1 小时前
天融信网络架构安全实践
网络·安全·架构
上海运维Q先生1 小时前
面试题整理15----K8s常见的网络插件有哪些
运维·网络·kubernetes
ProtonBase1 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
fantasy_arch11 小时前
CPU性能优化-磁盘空间和解析时间
网络·性能优化
njnu@liyong12 小时前
图解HTTP-HTTP报文
网络协议·计算机网络·http
GISer_Jing12 小时前
2025前端面试热门题目——计算机网络篇
前端·计算机网络·面试
ZachOn1y12 小时前
计算机网络:应用层 —— 应用层概述
计算机网络·http·https·应用层·dns
是Dream呀13 小时前
Python从0到100(七十八):神经网络--从0开始搭建全连接网络和CNN网络
网络·python·神经网络
kaixin_learn_qt_ing14 小时前
了解RPC
网络·网络协议·rpc