【计算机网络】数据交换技术和多路复用技术的正(nao)确(can)打开方式

交换的作用

数据交换是计算机网络中两个终端进行数据传输的方式,它又可以分成两种类型:电路交换和分组交换。很显然,问题的核心在于“交换”,那么我们首先要思考的是:交换的作用是什么?

“交换”的作用在于借助交换设备实现通信线路的复用

我们假设某个网络有n个终端,那么对于该网络最基本的要求是“这n个终端能互相通信”,也就是说这n个终端间各自都要拥有互相连接的线路,那么让我们来看看“无交换”和“有交换”的网络有什么区别

“无交换”的网络

“无交换”也就是说没有交换设备的支持,这导致:任意一个终端都要和其他n-1个终端直接相连。根据数学公式我们可以知道,总共需要n(n-1)/2条通信线路

“需要的线路实在太多了!”,就算不太了解商业学的朋友大约也想得出:在“n”的值已经达到天文数字的今天,要搞定这n个终端的互相通信将会在线路建设上付出多么可怕的,难以承受的成本。

于是“交换”的意义就体现出来了

“有交换”的网络

让我们在上面的场景中引入一台交换设备,情况就截然不同了,在这种情况下,实现n个终端的互相通信仅仅只需要n条线路。因为在n的值很大的时候, n(n-1)/2是远大于n的,所以,“交换”这一方式节约(复用)了相当一部分的线路资源

当然了,交换设备可不仅仅只有一台,而且类型也有许多种,由此引出了我们今天要介绍的两种不同的数据交换方式—— 电路交换和分组交换

电路交换

电路交换是最早出现的通信方式,例如我们的电话通信使用的就是电路交换

电路交换的过程可分为三部分: 建立电路,传输数据和拆除电路

我们以上图为例:

1.建立电路

A和B要进行通信,首先A先发出呼叫请求信号,然后经由上述一系列的交换机,接通这条物理链路,再由B发出应答信号给A,这样,通信线路就接通了。从这开始,才允许进行数据传输

2.数据传输

建立电路阶段完成后,便进入了数据传输阶段。这时候:

  • A可以向B发送数据,B也可以向A发送数据,实现双工通信
  • 在AB通信期间,该条链路被AB所占有,任意部分的链路资源不能被其他终端所使用

3. 拆除电路

数据传输结束后,拆除电路。这时候,AB之间的链路资源被重新分配了,不再被AB独占,可以被其他的终端建立的链路所使用

分组交换

和电路交换相对应的是分组交换

分组交换是以报文交换为基础的,所以分组交换其实也可以叫做“报文分组交换”。所以,先让我们来看看什么是报文交换吧:

报文交换

在传输数据的时候没有建立电路的过程,而是把发送的信息分成多个报文正文,例如一个JPEG图片或者一个MP3音频文件,同时加上发送端和接收端地址等信息使其成文一份报文。

报文的传送过程依赖于“存储转发机制”, 从发送端开始,每经过一个交换机,该交换机的任务是:

1.接收完整的报文,然后对报文进行缓存,此即为“存储”

2.等到下一个交换机节点空闲的时候,再将该报文发送给下一个交换机,此即为“转发”

接收端会将各份报文按照原来的顺序组合,从而得到完整的数据

分组交换

我们说过,分组交换是在报文交换的基础上实现的。分组交换其实就是把报文(Message)划分成更小的传输单元——分组(Packet)。除此之外,并无太大差异。或者可以说:报文交换和分组交换的差异就仅仅是数据单元的大小不同罢了

然而,这一点小小的不同,却大大改善了网络交换的性能

相比于普通的报文交换,分组交换有什么优势呢?

  • 基于存储转发机制,报文交换对交换机的存储容量的要求是很高的,而分组交换大大所要求的存储容量很小(因为单个分组比单个报文小很多)
  • 包含较短信息的分组在节点间传输速率高
  • 分组小,在传输的时候出错的概率小,出现差错时,只需重发一个分组,而无需重发整个报文,所以能够提高传输效率

多路复用技术

当传输介质的带宽超过了传输单个信号所需的带宽,人们就通过在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率,这就是所谓的多路复用。多路复用技术能把多个信号组合在一条物理信号组合在一条物理信道上进行传输,使多个终端能共享信道资源,提高信道的利用率。

把线路比作道路,把不同的用户信号比作运输物资的车辆:

在同一条线路下,不同的信号经由不同的信道传输,就好像不同的车辆都可以占据道路的一部分作为“自己的小路”,并排行驶。

电路交换和分组交换有它们各自的多路复用方式

电路交换网络中的多路复用

电路交换网络中主要采用的多路复用技术有两种: 时分多路复用(FDM)和频分多路复用(TDM)

这里接上前面所做的道路的比喻,如果把电路交换网络比作交通局的话,那么他们迫切需要解决的问题就是怎么划分信道的问题。

划分的依据就是:时间和频率

频分多路复用(FDM)

“电路交换交通局”采用的其中一种多路复用政策叫频分多路复用(FDM)

频分多路复用也就是将具有一定带宽的信道分割为若干较小频道的子信道,每个子信道提供给一个用户使用,可以看到,任意时刻各个子信道里的信号是并行传输的。如下图就将一条信道分成对应5种不同频率段的子信道

时分多路复用(TDM)

“电路交换交通局”采用的另外一种多路复用政策叫时分多路复用(TDM)

这时候,一条物理信道的传输时间分成若干个时间片轮流给不同的信号源使用,这些时间片的时间长度是相等的,而一组时间片组成的片段叫做一“帧”。例如下图中A,B,C,D四个时间片(时隙)合为一帧

在时分多路中,虽然就某一时刻而言,信号不是多路复用的,但就某一时间段而言,信号仍然是多路复用的。

总结:时分多路和频分多路都是分割带宽,区别在于频分多路是连续得到部分带宽,时分多路是周期性地得到所有带宽

分组交换网络中的多路复用

分组交换网络中的多路复用技术是“统计多路复用”,又叫做异步时分多路复用,它和时分多路复用类似,不同的信道是按时间片分配的,但统计多路复用的最大不同点是:它的时间片是动态分配大小的,而不是固定相等的长度,所以统计多路复用是一种根据用户实际需要动态分配线路资源的时分复用方法。

和“电路交换交通局”的交通政策相比,“分组交换交通局”制定的行车政策是:并不分配固定宽度和道数的车道,而由当前道路上的车辆数动态地决定每辆车占据的道路的宽度,如果“当前道路上只有一辆车”,那么整条道路都为这辆车所占据。(每个用户信号的数据传输速率最高可达到线路总的传输能力)

电路交换和分组交换各自的优劣

因为在“轨道交通”上的施政方针不同,“电路交换交通局”和“分组交换交通局”产生了巨大的意见分歧

电路交换和分组交换在时延上的对比

 “电路交换交通局”的争论议题在于“时延”

他们认为:分组交换因其端到端时延是变动和难以预测的(主要是排队时延),所以不适合实时服务(如电话)

什么是排队时延呢?

因为分组交换的存储转发机制,路由器需要检查分组首部并决定将该分组导向何处,这需要一定的处理时延,而如果在这段时间内有下一个分组到达路由器的话,那么这下一个分组则需要在排在队列中等待处理,这是分组的排队时延。

如果分组到达路由器时没有其他分组在传输的话,排队时延是0,但是,如果流量很大,有很多分组也在排队等待路由器处理的话,那么这个时候排队时延就非常客观了。

正因为网络流量的变化是难以预测的,所以分组交换的端到端时延也是变动和难以预测的

打个比方,如果把路由器比作收费站,收费站收路费的一系列的操作是“处理时延”,而你等你前面的车辆收完费开走的总时间就是“排队时延”,如果这时候车流量很大的话,你到达收费站的时候可能前面有很多辆也在等待收费的车辆,  单次的排队时延 × N多个收费站就会得到很长的一段时间,但如果当前车流量很少(假设就只有你这一辆车),那么这时候排队时延就为零,总而言之, 时延变动而难以预测

而对于电路交换而言,在电路建立后到拆除电路前,信号将一直稳定地传输,时延几乎是固定的

电路交换和分组交换在效率上的对比

“分组交换交通局”的争论议题在于“效率”

“分组交换交通局”认为:电路交换的效率是非常低下的

原因可归结为两点:

1. 对于电路交换而言,建立电路后,在其静默期(不传输信号),所占据的链路资源也不能为其他连接所用,这是一种资源浪费

例如:在拨打电话的时候,即使中途停止讲话,链路资源也不会因此而被释放,除非主动挂断。所以“分组交换交通局”认为,电路交换的这种“占着茅坑不XX”,“在其位不谋其政”的作风问题,违反了勤俭节约的精神,背离了群众路线。

2. 电路交换的多路复用方式也同样存在资源浪费的问题,对于时分多路复用而言,单条信道所能分享的最大传输速率是受到时隙分配的限制的,同一线路下的某条信道不能利用该线路下其他空闲信道的资源

例如: 对某电路交换/时分多路的线路,其一帧包含10个时间片(时隙),假设当前线路的总传输速率是1M bps, 那么用户通过其中一条信道传输1M 的数据,所需的时间是10s,因为该用户信道所能分享到的传输速率是1M bps / 10  = 0.1M bps,。

请注意,即使其他9个时隙对应的信道都保持空闲(不产生数据), 该用户信道的传输速率也不会超过0.1M bps, 这不意味着,我们不是白白浪费了0.9M bps的速率吗?这不同样犯了 “占着茅坑不XX”的错误吗?

而相对应的,分组交换却可以很好地解决上面所遇到的问题,因为分组交换网络采用的是统计多路复用,所以当其他9个时隙对应的信道都保持空闲(不产生数据)的时候, 活动用户的信道速率可达到1M bps, 将所有的资源都利用起来,这时候, 只要1s的时间就可以传输完毕了。

我们还是同样打个比方, 对电路交换而言,其时(频)分多路的复用方式就好比将一条道路提前用白线分割为一条条车道,那么某个车辆在车道A上行驶的时候,即使车道B和C上无车辆,它也不能跨过白线使用车道B和C的道路资源,而受到车道宽窄的限制,单位时间内的“货运量”也就受到了限制

而分组交换的统计多路复用则可以“尽可能地利用道路资源”

两种数据交换技术的现状

在上面,“分组交换交通局”和“电路交换交通局”的那一番争论到底谁最终赢了呢? 总体来说,大部分的人民群众都站在了分组交换这一边。现如今,我们的因特网和计算机网络都是采用分组交换的,而只有传统的电话网络采用的才是电路交换。

【完】

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏涤生的博客

天池中间件大赛Golang版Service Mesh思路分享

这次天池中间件性能大赛初赛和复赛的成绩都正好是第五名,出乎意料的是作为Golang是这次比赛的“稀缺物种”,这次在前十名中我也是侥幸存活在C大佬和Java大佬的...

884
来自专栏编程一生

架构师之路--应用架构的选型和dubbo

1122
来自专栏数据库

NoSQL为什么需要模式自由的ETL工具?

【IT168 评论】了解一个开源工具,可以有效帮助人们解决NoSQL在数据输入、处理、输出方面困难。大数据时代,不了解NoSQL数据库的程序员大抵应该是没有的吧...

19310
来自专栏CSDN技术头条

三个简单要素让你的微服务更有弹性

基于Microservices(微服务)来构建分布式系统的优点之一是系统作为一个整体有能力能够承受错误和意外失败的组件、网络、计算资源等。这样的系统对错误更有弹...

1945
来自专栏杨建荣的学习笔记

宕机的那些事儿(r12笔记第44天)

DBA干了这么多年,一直以来有一个疑惑,那就是从半夜的电话中吵醒时,几乎清一色都是宕机类问题,每次我就忍不住想喊,大早上宕机,让不让人睡觉了。但是抱怨归抱怨...

3379
来自专栏杨建荣的学习笔记

一个复杂的数据需求的创新优化(r12笔记第96天))

今天处理了一个蛮有意思的案例,正如我给开发同学所说的那样,方案有很多,但是我们需要明确需求之后,找到一个最合适的需求。 业务同学反馈,数据库中有...

3306
来自专栏ImportSource

数据模型详解-究竟什么时候物化视图?

翻译内容 3.4. Materialized Views 第三段和第四段: Views provide a mechanism to hide ...

32912
来自专栏养码场

一周播报| 平淡无奇,但暗藏杀机的一周

养码人B:消息写DB的话,TPS、RT 这些能接受吗?你们用的是什么消息中间件?

351
来自专栏云加头条

腾讯云超高网络性能云主机揭秘

随着机器学习,网络游戏,电商抢购等应用的大规模爆发,公有云用户对虚机网络性能要求迅速提高。腾讯云推出网络优化型实例,实现最高450w PPS的虚机网络转发性能以...

2420
来自专栏熊二哥

NOSQL快速入门

NoSql是一个很老的概念了,但对自己来说,仍然是一个短板,果断补上。 ? 首先通过几个简单的例子来了解NOSQL在国内的情况(2013年左右的数据,有些过时...

2005

扫码关注云+社区