前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >聊一聊网络通信的硬核知识!!

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

作者头像
架构师修行之路
发布2020-02-13 12:17:42
4050
发布2020-02-13 12:17:42
举报
文章被收录于专栏:架构师

作者:外婆的彭湖湾 链接: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 }

误码率

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构师修行之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档