三种交换方式:电路交换、分组交换和报文交换
一、电路交换(Circuit Switching)
背景:传统电话两两相连通信的方式,在电话数量非常多的时候行不通,因为电话线太多不方便。
因此,要使每一部电话能够很方便地和另一部通信,应当使用一个中间设备将电话连接起来,这个中间设备就是电话交换机。
电话交换机彼此相连,进而完成全网的交换任务,用这样的方法,就构成了覆盖全世界的电信网。
电路交换
电话交换机接通电话线的方式称为
电路交换
。从通信资源的分配角度来看,
交换
(Switching)就是按照某种方式动态地分配传输线路的资源;用户线电话用户专用,电话交换机之间拥有的大量话路的中继线则是许多用户共享的。
电路交换的三个步骤
(1). 建立连接(分配通信资源)
电路交换打电话之前必须先拨号请求建立连接,当被叫用户接通后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路,这条连接保证了双方通话时所需的通信资源。
这些资源在双方通信时不会被其他用户占用。
(2). 通话(一直占用通信资源)(数据传送)
主叫和被叫双方互相通电话。
通话期间,第一步建立连接所分配的通信资源始终被占用。
(3). 释放连接(归还通信资源)
- 通话完毕挂机后,电话交换机释放刚才使用的这条专用的物理通路,也就是把刚才占用的所有通信资源归还给电信网。
那么如果使用电路交换来传送计算机数据可行吗?
尽管采用电路交换可以实现计算机之间的数据传送,但是线路的传输效率往往很低。
因为计算机数据是突发式地出现在传输线路上的。当用户正在输入和编辑一份待传输的文件时,用户所占用的通信资源暂时未被利用,该通信资源也不能被其他用户利用,宝贵的通信线路资源白白被浪费了。
因此,计算机网络通常采用分组交换,而不是电路交换。
二、分组交换(Packet Switching)
因特网中,最重要的
分组交换机
就是路由器
。它负责将各种网络互连起来,并对接收到的分组进行转发,也就是进行分组交换。通常我们把表示消息的整块数据称为一个
报文
。
在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段。
在每一个数据段前面,加上一些有必要的控制信息组成的
首部
后,就构成了一个分组
,也可简称为“包”
,相应的,首部也可称为“包头”
。
首部作用:包含了分组的目的地址,否则分组传输路径各分组交换机(各路由器)就不知道如何转发分组了。
分组交换机收到一个分组后,先将分组暂时存储下来,再检查其首部,按照首部中的目的地址进行查表转发,找到合适的转发接口,通过该接口将分组转发给下一个分组交换机。
例:用户H6向H2发送消息
H6将所构造出的各分组依次发送出去,各分组经过途中各分组交换机的存储转发,最终到达主机H2。
主机H2收到这些分组后,去掉它们的首部,将各数据段组合还原出原始报文。
本例只演示了分组传输过程中的两种情况:
一种是各分组从源站到达目的站可以走不同的路径(也就是不同的路由);
另一种是分组乱序:分组到达目的站的顺序不一定与分组在源站的发送顺序相同。
没有演示可能出现的分组丢失、误码、重复等问题并没有演示。
分组交换过程中:
发送方:构造分组、发送分组。
路由器(分组交换机):缓存分组、转发分组,简称“存储转发”。
接收方:接收分组,还原报文。
三、报文交换(Message Switching)
报文交换
中交换结点也采用存储转发方式。但报文交换对报文的大小没有限制,因此要求交换结点需要有较大的缓存空间。报文交换主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代。
四、电路交换、报文交换、分组交换的对比
电路交换:
通信之前首先要建立连接。
连接建立好后,可以使用已建立好的连接进行数据传送。
数据传送结束后,需要释放连接,归还之前建立连接所占用的通信线路资源。
中间的各结点交换机是直通形式的,比特流可以直达终点。
报文交换:
可以随时发送报文,不需要事先建立连接。
整个报文先传送到相邻结点交换机,全部存储下来后进行查表转发,转发到下一个结点交换机。
需要各结点交换机都具有较大的缓存空间。
分组交换:
可以随时发送分组,不需要事先建立连接。
构成原始报文的一个个分组,依次在各结点交换机上存储转发。
各结点交换机在发送分组的同时,还缓存接收到的分组。
相比报文交换,减少了转发时延,还可以避免过长的报文长时间占用链路,同时也有利于进行差错控制。
五、电路交换、报文交换、分组交换的优缺点
电路交换:
优点
通信时延小:通信线路为通信双方用户专用,数据直达,因此通信时延非常小。连续传输大量数据时非常明显。
有序传输:因为通信双方之间只有一条专用的通信线路,数据只在这一条线路上传输,不存在失序问题。
没有冲突:不同的通信双方拥有不同的信道,不会出现争用物理信道的问题。
适用范围广:既适用于传输模拟信号(连续),也适用于传输数字信号(离散)。
实时性强:得益于其通信时延小。
控制简单:电路交换的结点交换机及其控制都比较简单。
缺点
建立连接时间长:电路交换的平均建立时间对计算机通信来说太长;
线路独占,使用效率低:电路交换一旦建立连接,物理通路就被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率很低。
灵活性差:只要连接所建立的物理通路中的任何一点出现了故障,就必须重新拨号建立新的连接,这对十分紧急和重要的通信是很不利的。
难以规格化:电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。
报文交换:
优点:
无需建立连接:报文交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接的时延,用户可以随时发送报文。
动态分配线路:当发送方把报文传送给结点交换机时,结点交换机先存储整个报文,然后选择一条合适的空闲线路,将报文发送出去。
提高线路可靠性:如果某条传输路径发生故障,会重新选择另一条路径传输数据,因此提高了传输的可靠性。
提高线路利用率:通信双方不是固定占用一条通信线路,而是在不同的时间分段占用物理线路,因而大大提高了通信线路的利用率。
提供多目标服务:一个报文可以同时发送给多个目的地址,这在电路交换中是很难实现的。
缺点:
引起了转发时延:这是因为报文在结点交换机上要经历存储转发的过程。
需要较大的存储缓存空间:因为报文交换对报文的大小没有限制。
需要传输额外的信息量:因为报文需要携带目标地址、源地址等信息。
分组交换:
优点
无需建立连接:分组交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接的时延,用户可以随时发送分组。
线路利用率高:通信双方不是固定占用一条通信线路,而是在不同的时间分段部分占用物理线路,因而大大提高了通信线路的利用率。
简化了存储管理:相对于报文交换而言,因为分组的长度固定固定,相应的缓冲区的大小也固定,管理起来相对容易。
加速传输:由于分组是逐个传输的,这就使得后一个分组的存储操作,与前一个分组的转发操作可以同时执行。
减少出错概率和重发数据量:因为分组比报文小,因此出错概率必然减小,即便分组出错,也只需重传出错的分组,这比重传整个报文的数据量小很多,这样不仅提高了可靠性,也减少了传输时延。
缺点
引起了转发时延:这是因为分组在结点交换机上要经历存储转发的过程。
需要传输额外的信息量:将原始报文分割成等长的数据块,每个数据块都要加上源地址、目的地址等控制信息,从而构成分组,因此使得传送的信息量增大了。
对于数据报服务,存在失序、丢失或重复分组的问题;分组到达目的节点是,需要重新还原成原始报文,比较麻烦;若分组交换采用虚电路服务,虽然没有分组失序问题,但有呼叫建立、数据传输和虚电路释放三个过程。