目录
一、电路交换、报文交换、分组交换基本知识介绍
图1-11显示了电路交换、报文交换和分组交换的主要区别。图中的A和D分别是源点和终点,而B和C是在A和D之间的中间节点。图的最下方归纳了三种交换方式在数据传送阶段的主要特点:
- 电路交换——整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
- 报文交换——整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。
- 分组交换——单个分组(这只是整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。
从图1-11可看出,若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
在过去很长的时期,人们都有这样的概念:电路交换适合于话音通信,而分组交换则适合于数据通信。然而随着蜂窝移动通信的发展,这种概念已经发生了根本的变化。从第四代蜂窝移动通信网开始,无论是话音通信还是数据通信,都要采用分组交换。
1.1 电路交换性能分析
电路交换流程图如下图所示:
假设:
每一跳传播时延=1ms
电路交换机建立、释放下一跳连接耗时=1ms
接收方处理连接请求需要2ms
数据传输速率=0.5kb/ms
报文大小=4kb
假设计算机A通过中间节点B和C,要和计算机D建立连接,之后,通过电路交换的方式去传送一个大小为4kb的报文。
在上上图中,纵向来看,纵轴向下表示时间t递增的方向,每一个小格子表示1ms;横向来看,共有ABCD四条竖线,分别代表了上图中ABCD四个节点。
- 建立连接阶段
那么我们知道,电路交换的第一步首先是需要建立连接。计算机A首先要向电路交换机B发出建立连接的请求,由于信号在线路上的传输是需要一定的时间消耗的,我们假设在这个过程中消耗1ms的时间【每一跳传播时延=1ms这个条件】,这也就是上上图第一个箭头线表示的含义。
电路交换机B接收到A发来的请求连接信号之后,在内部建立连接耗时1ms,如下图蓝色间隔所示。
在往后的过程是类似的,从B到C同样花费1ms,电路交换机C内部建立信号连接花费1ms,C到D需花费1ms,D作为接收方,处理连接请求需花费2ms。
此时D和A之间已经建立好物理的线路连接,D给A返回应答信号时,就可以顺着物理线路很快的回到A点,但由于信号每一跳传播时延为1ms,因此返回应答信号需花费3ms。
因此在建立连接这个过程中,共花费10ms。
- 数据发送阶段
当A接收到来自D的应答信号,此时开始数据发送阶段,整个报文的大小为4kb,数据传输速率为0.5kb/ms,因此报文发送到线路上共需8ms。
下图中红白色箭头线表示的是数据的第一个 bit 发送过程,从A到D共需3ms。在接下来的8ms之内,数据会不断地从A发送到D,直到第八毫秒最后一位从A发送到D为止。
报文从A发送到D接收共需11ms(将报文数据发送到线路上需要8ms+报文数据在线路上的传播需要三跳即3ms)。
- 连接释放阶段
AB之间连接断开需要1ms,电路交换机B内部连接断开需要1ms,BC之间连接断开需要1ms,电路交换机C内部连接断开需要1ms,CD之间连接断开需要1ms,因此连接释放阶段共需花费5ms时间。
注意:在A发送报文的最后一个bit结束后,就可以开始释放连接,也就是说,下图中蓝色框选的箭头线可无限接近报文最下边位置。但为了方便分析,我们将箭头线与报文最下边间隔1ms。
因此从建立连接到释放连接电路交换的整个过程耗时
报文在电路交换的过程中,数据时从A直送到D节点。
1.2 报文交换的性能分析
报文交换过程图如下图所示:
假设:
每一跳传播时延=1ms
数据传输速率=0.5kb/ms
报文大小=4kb
报文存储转发时延=2ms
注意:中间节点一定要接收完整个报文后,才能解析并转发
报文从一个节点到下一个节点的转发所需要的时间至少需要8ms。
计算机A将报文数据全部发送到线路上总共需要8ms的时间,接下来B节点需要对报文进行解析处理,我们不妨设报文存储转发时延为2ms,如下图红白色线段所示:
接下来,B节点将报文数据全部转发到线路上共需8ms,同理,到达C之后,报文需要存储转发时延2ms。
然后,C节点将报文数据全部转发到线路上共需8ms,随后到达D计算机。
从A点开始发送报文数据直到D节点接收到报文数据共经历31ms。
1.3 分组交换性能分析
分组交换过程图如下图所示:
假设:
每一跳传播时延=1ms
数据传输速率=0.5kb/ms
报文大小=4kb
分组大小=1kb
分组存储转发时延=0.5ms
注意:中间节点一定要接收完整个分组后,才能解析并转发。
我们把一个大小为4kb的报文拆分成4个,每个分组大小为1kb,数据传输速率为0.5kb/ms,因此每一个分组数据从节点发送到线路上需要2ms。
例如:A节点把分组1发送到线路上需要2ms,分组1的每一个bit从A节点传送到B节点需要1ms,因此分组1从A发送到B接收需要3ms时间。
当B接收到分组1后,开始对分组1进行解析处理,由于分组的大小要小于整个报文的大小,因此不妨假设分组存储转发时延为0.5ms,如下图所示:
那么经过这0.5ms存储转发时延之后,B节点将分组1发送到线路上花费2ms,分组1在BC之间的线路上需花费1ms,因此共花费3ms。与此同时,B节点也可以接收来自A节点发送过来的分组2。各个分组之间相差0.5ms就是为了确保中间节点能够将分组解析处理完。
采用分组交换技术进行报文的传输工作需花费17.5ms。
1.4 三种交换的比较
报文数据从A发送到D接收时间对比:
电路交换:11ms
报文交换:31ms
分组交换:17.5ms