电路交换、报文交换、分组交换及习题


电路交换

什么是电路交换?

电路交换最早的交换方式。在电路交换网络中,通过中间交换结点为两台主机之间建立一条专用的通信线路,称为电路。然后我们通过建立的这个电路去进行通信,通信结束后再拆除改电路。
常见的电话网络的拨号呼叫过程就是建立电路的过程。
利用电路交换有三个步骤:

建立电路

传输数据之前,先建立一条端对端的电路,其中通过若干的交换结点。其中虚线箭头的那一条线,便是我们建立好的电路。然后两个主机通过建立的电路进行传输。
在这里插入图片描述

传输数据

上述电路建立成功后,双方开始传输数据,也就是相当于我们电话打通后,开始聊天。现在这个建立的通话线路就是为电话双方进行服务的。

而此线路现在被我们利用信道复用对我们的信道进行了划分,相当于我们在“独占”该线路。但是中间交换网络中间可能还有有通话进行。但是主机到交换结点之间是被绝对独占的。

拆除电路

当我们结束数据传输后,将会拆除(释放)上述建立的物理链路

报文交换

将传输的信息以报文为单位进行传输,然后在各个中间交换结点进行暂时存储,然后再发送到另一个交换结点,直到到达接收方。也就是采用了存储——转发的方式。
所以我们的报文交换是不需要去建立电路的,这种只有当报文被转发时,才会有信道被占用的时候。
但是我们需要确保每一个交换结点都有足够的存储空间去存储我们传送的报文。
在这里插入图片描述

分组交换

分组交换其实就是将上述的报文进行分组,因为以报文为单位然后我们存储空间要求较大,而且有可能内存不够导致报文丢弃。
分组交换就是将报文分成相同大小的数据块,然后进行传输,中间依然采用存储转发的方式。
在这里插入图片描述

存储转发的时延

存储转发的方式会有一定的时延,主要是由四部分时延组成的。
在这里插入图片描述

结点处理时延

分组到达结点后,对分组进行验错,以及修改控制信息等处理的时间。时间极短,一般被忽略。

排队时延

当结点较多时,会在交换结点进行缓存然后排队等待链路可用。所以此时排队所用的时间就是排队时延。

传输时延

也就是分组在发送时,从第一位开始,发送完最后一位所用的时间。
公式:L(分组长度)/R(链路宽度)

传播时延

从一个发送端到另一个接收端或者发送端之间,经过一定距离的物理链路到达接收端的时间。
公式:D(物理链路长度)/V(信号传播速度)

例题

计算分组交换与报文交换时延的例题
如图所示网络。A在t=0时刻开始向C发送一个2Mbit的文件;B在t=0.1+e秒(e为无限趋近于0的小正实数)向D发送一个1Mbit的文件。忽略传播延迟和结点处理延迟。

在这里插入图片描述

(1)如果图中网络采用存储-转发方式的报文交换,则A将2Mbit的文件交付给C需要多长时间?B将1Mbit的文件交付给D需要多长时间?
(2)如果图中网络采用存储-转发方式的分组交换,分组长度为等长的1kbit,且忽略分组头开销以及报文的拆装开销,则A将2Mbit的文件交付给C需要大约多长时间?B将1Mbit的文件交付给D需要大约多长时间?

解题思路:
首先整个题都是忽略传播时延和处理时延的,那么我们只需计算传输时延与排队时延。
现在默认蓝色为A发送的蓝报文(大小2Mbit),红色为B发送的红报文(大小1Mbit)

第一问——采用报文交换。

第一部分的时延:
蓝报文在主机A的传输时延为:2Mbit÷10Mbit/s=0.2s
红报文在主机B的传输时延为:1Mbit÷10Mbit/s=0.1s
第二部分的时延:
由于主机B是在主机A发送0.1s之后发送的,所以蓝报文和红报文同时到达第一个路由器。所以蓝报文和红报文要进行排队。
但是A先发送的,所以蓝报文排在前面,所以
蓝报文在第一个交换机的传输时延为:2Mbit÷20Mbit/s=0.1s
红报文在第一个交换机的传输时延+排队时延(也就是蓝报文的传输时延)为:1Mbit÷20Mbit/s+0.1=0.15s
第三部分的时延:
发往不同的两个方向,不需要排队。
蓝报文在第二个交换机的传输时延:2Mbit÷10Mbit/s=0.2s
红报文在第二个交换机的传输时延:1Mbit÷10Mbit/s=0.1s

总的来说A到C所需时间:0.5s,B到D需要0.35s

第二问——采用分组交换。

分组的长度为1kbits。B在A发送0.1s之后开始发送的。那么在0.1s后,A和B共享两个交换机之间的宽带,也相当于A和B的分组报文宽带分别是10Mbit/s。

那么我们来看一下A的分组报文发送:

A的报文总大小为2Mbit,分组长度为1kbit,那么一共有2000个分组。
每个分组的传输时延为:1kbit/10Mbits=0.0001s
报文的传输过程为:如图所示
在这里插入图片描述
不断的传递分组报文,最后的时候:
在这里插入图片描述
所以从图中我们可以得出,前2000个0.0001s相当于我们从主机A把整个报文发送过去,然后最后的2个0.0001s是因为中间需要经过2个交换机,然后每多一个交换机,就需要增加1份,分组报文的传输时延。所以整个A发送到C所需要的时间为:
2Mbit÷10Mbit/s+1kbit÷10Mbit/s×2=0.2002s

那么同理B传送到D,利用分组交换的时间为:
1Mbit÷10Mbit/s+1kbit÷10Mbit/s×2=0.1002s

发布了102 篇原创文章 · 获赞 25 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/make_1998/article/details/104240425
今日推荐