1.1_3_2 三种交换方式的性能分析
在这个视频中,我们会分析电路交换、报文交换和分组交换的数据传输性能。
我们会用这种图来具体分析每一种交换方式,它在每一个时刻发生了什么事情?在计算机网络这门课当中,这种风格的图示是很常见的。同时这种风格的图示也有助于我们解决真题。所以理解这种风格的图示是很重要的,我们的课本上也有这三个图,分别对应电路交换、报文交换和分组交换。为了让大家对这种图示的理解更直观、更具体一点,所以我在画图的时候给这几个图示添加了背景小格子。纵轴方向是时间t增加的方向,每一个小格子我们不妨假设它对应一毫秒的时间。接下来我们展开来研究一下这三张图的含义。
首先来看电路交换,假设现在计算机A通过中间节点B和C,要和计算机D建立连接,建立好连接之后,通过电路交换的方式去传送一个报文的数据,整个报文的大小,我们不妨设它为4kb,这张图纵轴表示的是时间递增的方向,每一个小格子对应一毫秒的时间。另外,横向来看,这张图有 A、B、C、D这样的四根线,这四条竖线分别对应了A、B、C、D这样的四个节点。我们知道电路交换的第一步需要先建立连接,那么首先A这台计算机需要向B这台交换机发出建立连接的请求。我们知道信号在线路上传输是需要一定的时间消耗的,我们假设这个信号从A点传送到B点,也就是跳到下一个位置,需要一毫秒的时间。
所以你会看到这儿有根箭头,从A这条竖线指向B这条竖线,意味着这是A发送给B的建立连接的这
种请求信号,而这根箭头是斜着往下走的。可以看到,从它的起点到它的终点,刚好中间差了纵向的一个小格,刚才我们说这样纵向的一个小格代表的是一毫秒的时间,纵轴表示的是时间。=所以经过一毫秒之后A发出的信号到达B,B电路交换机接收到请求连接的这个信号之后,接下来,它需要在交换机内部建立一条通信线路,那么这条通信线路的建立,也是需要一定的时间消耗的。
我们不妨假设这个交换机建立连接的耗时,刚好也是一毫秒,所以你会看到在B这台交换机接收到这个信号之后,它等了一毫秒,才往下一跳,也就是C这边继续发送请求连接的信号,中间等待的这一个小格子,也就是这一毫秒的时间,就是用来建立交换机内部的连接的。再往后的过程是类似的,从B到C这台交换机也需要发送一个信号,这个请求连接的信号也需要一毫秒的时间才可以被C所接收。所以会看到在这张图上B到C发送了一个信号,并且这根箭头从起点到终点的位置,中间刚好耗费了一毫秒的时间,也就是对应的一个纵向的小格子,那么当C这个节点接收到B发来的请求连接信号之后,是不是也是一样的,它也需要在交换机内部建立起这种连接:
同样的它建立连接的过程也要耗时一毫秒,所以你会看到C这个节点,它接收到B发来的连接请求之后,经过了一毫秒的处理,也就是对应了一个纵向的小格子,然后才会从C这往D下一个节点发出请求连接的信号。后面的故事就是类似的C到D也需要一毫秒的这种时间。那么D接收到这个请求连接的信号之后,它也需要对这个信号做一定的处理,我们不妨假设这个信号最终的接收方处理连接请求需要两毫秒的时间,所以D接收到这个信号之后。你看这儿经过了两个格子,也就是反映了两毫秒的时间,它才会给A发送应答的信号,此时D和A之间已经建立好了物理的线路连接,所以 D结点给A结点返回这种应答信号的时候,它的这个应答信号就可以顺着电路很快的传回到A点,由于信号的传播,每一跳传播时延是一毫秒,所以你会看到D结点给A结点返回应答信号的时候。首先经过了一毫秒的时间到达了C,从C再经过一毫秒的时间又到达了B,从B又经过一毫秒的时间到达了A,那么A这个节点在这个时刻接收到应答信号之后,就说明连接已经建立好了。所以从此时开始A这个节点可以开始向D这个节点发送报文,整个报文的大小是4kb,而A节点往线路上发送数据的这种数据传输率等于每毫秒0.5kb,所以4kb大小的报文以这种速度发送到线路上,总共需要八毫秒的时间,因此可以看到总共有八个小格子,对应的是八毫秒的时间。这8毫秒的时间之内A一直往B发送报文数据,每毫秒可以发送0.5kb。
最上面的这条线表示的是发送报文的第一个比特,它中间的一个过程。我们知道一个比特从A传送到B,它中间需要经过一毫秒的传播时延,而 B传到 C,C传到D,中间又需要一毫秒的传播时延,所以你会看到报文的第一个比特,从A传送到B这个位置,它刚好经过了一毫秒的时间。在这个图当中对应了纵向小格子的一格。同样的道理,数据从B发送到C,中间也经过了一毫秒的时间,类似的C到D也是一样的,中间经过一毫秒。所以第一个比特的数据经过了三毫秒之后从A到达了D。在接下来的八个毫秒之内,数据会不断的从A发送向D,直到第八毫秒最后一个比特从A发送到D为止。从报文开始传输的这个时间点算起,一直到整个报文都被D结点所接收,总共消耗的时间就是八毫秒,再加上三毫秒,也就是共计消耗 11 毫秒的时间,完成了报文从A到D的传输工作,那么当 A结点发送完整个报文之后,它就可以开始释放连接。
释放连接的过程和建立连接的过程是类似的,A通知B释放连接这个动作也需要经过一毫秒的时间。所以这个箭头从A指向B中间经过了一毫秒的时间。B结点断开中间这条线路,它也需要耗费一毫秒的时间,紧接着B还需要向C发出断开连接的信号,C又向D发出断开连接的信号,后面这些箭头的含义都是类似的。这个地方有必要跟大家解释一下,当A传输完报文的最后一个比特之后,事实上A结点就可以向B结点、C结点和D结点发出释放连接的信号了。
所以其实这个箭头它可以无限的靠近报文的底部这根线,只不过如果把这根箭头画到这个位置,那可能会和上面这个图发生重合,导致大家看不到这个箭头,所以就把它们俩之间画出了一些距离,这是用电路交换传送一个报文的过程,在传送报文的整个过程当中,数据是从A结点直送到D节点,中间经过了一条物理线路。
接下来看报文交换的性能,和之前的条件一样。我们同样假设一个报文的大小是4kb,并且数据传输速率是0.5kb每毫秒,所以从一个节点将报文转发到下一节点所需要的耗时就至少需要八毫秒的时间。首先报文是从A发送到B,A节点把报文数据全部发送到这个线路上,总共需要八毫秒的时间,刚好对应了八个表示时间的小格子,这就是八毫秒的时间。第一个比特从A点传送到B点,总共需要一毫秒的时间,这是线路传输所需要的一个传播时延,所以数据从A点发出被B点接收,中间经过的这个时间就是一毫秒,对应纵向的一个小格子,经过八毫秒之后,A已经把所有的数据都发送到这条线路上了,到第九毫秒,B节点就接收到了整个报文的数据,接下来B节点需要对他接收到的报文进行处理,要检查报文的控制信息,这样才可以决定报文的下一跳应该发送到哪个节点上。B节点对报文的处理,我们不妨把它称为存储转发时延,总共需要消耗两毫秒,这是我们假设的一个数据。所以可以看到B节点在接收到整个报文之后,经过了两毫秒的处理,在下个时刻开始,就可以把报文发给下一个节点C,和之前类似,整个报文的发送需要八毫秒的时间,而报文中的每一个比特数据从B到达C都需要消耗一毫秒的时间。同样的道理,C这个节点在这个时刻接收到了整个报文,它也需要经过两毫秒的存储转发时延。才可以确定这个报文,接下来应该传送到哪个位置,所以经过两个格子,也就是两毫秒之后,C节点就可以把报文发给D节点,整个爆文发送的时间也需要经过八毫秒,并且报文当中的每一个比特,从C点到达D点,都需要经过一毫秒的时间。我们不妨来数一下使用报文交换这种这种方式从A节点开始发送数据,一直到D节点接收到所有数据,整个过程总共经过了29 毫秒,这是报文交换的性能分析。
最后我们来看分组交换,我们把一个4kb的报文拆分成四个大小为1kb的更小的分组。那么在数据传输速率不变的情况下,每一个分组被发送到线路上所需要的时间就只需要两毫秒,每毫秒0.5kb,所以1kb的分组只需要两毫秒的时间。A结点把第一个分组转发给B结点,整个分组的大小是1kb,把整个分组发送到传输线路上,总共需要消耗两毫秒的时间,也就是对应纵向的两个小格子,两毫秒的时间可以把分组1全部发送到线路上,分组1的每一个比特从A结点传送到B'节点,都需要消耗一毫秒的时间,所以我们画分组的示意图的时候,它都是斜着往右的,并且它的这个倾斜度刚好对应纵向的一小格,也就是一毫秒的时间。B节点此时接收到分组1之后,它需要对分组1进行处理,由于分组的大小比报文更小,所以对分组的存储转发处理会比对报文的存储转发更快一些,我们不妨假设对一个分组的存储转发处理,需要消耗0.5毫秒的时间,所以上图中间空了0.5个小格子,也就是对应0.5毫秒的分组存储转发时延,经过0.5秒之后,B节点就可以把分组1发送到下一个节点C,与此同时B节点也可以继续接收来自于A节点的下一个分组,所以A节点给B节点发送这些分组,中间只需要间隔0.5毫秒,就是确保B节点已经把上一个分组能够处理完,就可以紧接着给他发下一个分组的数据了。后面分组转发的原理也都是类似的,对于B节点来说,它给C节点转发这些分组也遵循了同样的规则,用两毫秒的时间把一个分组传送到B和C的这条线路上,然后中间间隔0.5毫秒,让C这个节点有时间去处理它刚收到的分组,紧接着就可以继续给C节点发送下一个分组,可以看到,采用分组交换这种方式完成所有分组,也就是完成整个报文的数据传输。从开始到结束,总共花费了17.5毫秒的时间。大家可以自己数一下这些小格子。
我们对三种交换方式的数据传输效率进行一个对比,从A开始数据传送,一直到D完成所有数据的接收,如果采用电路交换的方式,整个过程持续11毫秒,如果采用报文交换,需要消耗29毫秒,如果采用分组交换,总共需要消耗17.5毫秒。
因此完成数据传输所需要的时间是电路交换最少,报文交换最多,分组交换要比报文交换更优秀,但是又比电路交换更慢一些,另外,电路交换是没有存储转发时延的,报文交换由于报文的信息量大,所以存储转发一个报文。需要的时间消耗就会更高,而分组交换需要的存储转发时延会更低一些。在这张图当中,给大家总结了这三种交换方式,各个维度的一个对比。大家可以结合这张表格,对这三种交换方式进行一个对比和总结。在某一个维度的对比当中,最优秀的一种交换方
式,我给它标注了这种戴墨镜很得意的一个表情,最糟糕的一个交换方式,给他一个哭脸的表情,还不错的交换方式,给他一个笑脸微笑的表情。每一行的这些表情符号都是相同的含义。
在这个视频中,我们对电路交换、报文交换以及分组交换的性能进行了对比。主要是通过这种画图的方式来进行分析,这种风格的图示大家一定要能理解,要能看懂。在计算机网络这门课当中,以后还会出现很多类似这种风格的图示,另一方面,这种画图方法也有助于我们解决某一些真题,某一些课后习题、,所以还请大家认真体会这三个图的含义。
以上就是这个视频的全部内容。