聊一聊网络通信的硬核知识!!

2020-02-13 12:17:42 浏览数 (1)

作者:外婆的彭湖湾 链接:http://www.cnblogs.com/penghuwan/p/7692573.html

带宽

信道传输的是电磁波信号,而电磁波是有一定的频率范围,带宽指的就是这段有效的频率范围的值,即:带宽 = 最高有效频率 - 最低有效频率,好比我们人的耳朵能听见一定频率范围内的声音(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 }

误码率

误码率是衡量通信系统传输可靠性的指标,它指的是错误接收的码元数在所传输的总码元数的比例

计算公式: 误码率=错误码元数/传输总码元数

0 人点赞