当前位置: 首页 > news >正文

《1.1_3_2 电路交换、报文交换、分组交换的性能分析|精讲篇》

~后面作者会在2025.5.26 00:00 (绝对守时!)前整理出笔记和思维导图大家放心,主页还有其他博文欢迎参考 关注博主 高效学习~

电路交换、报文交换、分组交换对比分析

一、电路交换

在这里插入图片描述

(一)基本原理

通过建立物理线路连接实现通信,过程包括:

  1. 建立连接:主叫端向被叫端发送请求,逐节点建立专用物理通路,各节点处理连接需耗时(如交换机建立连接耗时1ms)。
  2. 通信:通信期间独占端到端线路资源,数据直达传输。
  3. 释放连接:通信结束后逐节点拆除连接。
    我们会用这种图来具体分析每一种交换方式,它在每一个时刻发生了什么事情?
    那在计算机网络这门课当中,这种风格的图示是很重要很常见的,也有助于我们解决真题(课本上也有这三个图,分别对应电路交换、报文交换和分组交换)。

《计算机网络》中还会出现很多类似这种风格的图示。另一方面,这种画图方法也有助于我们解决某一些真题,某一些课后习题。

假设计算机A需要通过中间节点B和C与计算机D建立连接,在连接建立完成后,将采用电路交换方式传输报文数据。
在这里插入图片描述

纵轴表示的是时间t递增的方向,设每个小格代表1毫秒(ms)的时间间隔。
横向来看,这张图有A、B、C、D这样的四根线,这四条竖线分别对应了A、B、C、D四个结点。电路交换的第一步是建立连接,首先A计算机需要向B交换机发出建立连接的请求。

(二)性能参数(案例)

  • 报文大小:4KB。
  • 数据传输速率:0.5KB/ms,发送4KB报文需8ms。
  • 传播时延:每跳1ms(如A→B、B→C、C→D各需1ms)。
  • 节点处理时延
    • 交换机建立/释放连接耗时1ms。
    • 接收方(如D节点)处理连接请求需2ms。

信号在线路上传输是需要一定的时间消耗的,假设信号从A点传输到B点(即跳到下一个位置)需要1毫秒。如图所示,AB之间的箭头表示A向B发送的建立连接请求信号。这条箭头呈斜向下的走向。观察可知,箭头的起点与终点在纵向上相隔一个小格,而每个小格代表1毫秒的时间间隔,所以经过1ms之后A发出的信号到达B。B电路交换机接收到请求连接的信号后,需要在交换机内部建立一条通信线路,这条通信线路的建立,也需要消耗一定的时间。假设交换机建立连接的耗时=1ms,B电路交换机接收到信号后等待1ms,才向下一跳(C电路交换机)继续发送请求连接的信号。中间等待的这一个小格子(即1ms)是用来建立交换机内部的连接的。再往后的过程类似,从B到C交换机也需要发送一个信号,请求连接的信号也需要1ms的时间才可以被C电路交换机所接收。当C节点接收到B发来的请求连接信号后。同样,也需要在交换机内部建立连接耗时1ms。C节点,它接收到B发来的连接请求后,经过了1ms的处理(即一个纵向的小格子)。然后才会从C向下一个节点D发出请求连接的信号。后面类似,C到D也需要1ms。D接收到请求连接的信号后,也需要对信号做一定的处理。假设接收方处理连接请求需要2ms。D接收到信号后,反映了2ms才会给A发送应答信号,此时D和A之间已经建立好了物理的线路连接,所以D节点给A节点返回应答信号时,应答信号可以顺着电路很快的传回到A点。那由于信号每一跳传播时延是1ms,所以D节点给a节返回应答信号时。首先,经过了1ms到达了C,从C再经过1ms又到达了B,从B又经过1ms到达了A。A节点在这个时刻接收到应答信号后说明连接已经建立好了。所以从这个时刻开始A节点可以开始向D个节点发送报文。整个报文的大小是4 kb,而A节点往线路上发送数据的数据传输率=0.5kb/ms。所以4kb大小的报文以这种速度发送到线路上需要8ms(=4/0.5)。因此可以看到a结点的这个位置。
大家可以数一下啊,总共有八个小格子,对应的是8ms。8ms之内A一直往B发送报文数据每毫秒可以发送0.5kb。那最上面的这条线表示的是发送报文的第1个bit,中间的一个过程。那我们知道1个bit从A传送到B,中间需要经过1ms的传播时延。而B传到C,C传到D,中间又需要1ms的传播时延。所以你会看到豹纹的第1个bi从A传送到B刚好经过了1ms。在图中对应了纵向小格子的一格。同样,数据从B发送到C,中间也经过了1ms。数据从C发送到D,中间也经过了1ms。所以第1个bit的数据经过了3ms后从A到达了D。在接下来的8个ms内,数据会不断的从A发送到D?直到第8ms,最后1个bit从A发送到D为止。从报文开始传输的时间点算起,一直到整个报文都被D结点接收,总共消耗的时间为8+3=11ms完成了报文从A到D的传输工作。当A节点发送完整个报文后,就开始释放连接,释放连接的过程与建立连接的过程类似。a通知b释放连接需要经过1ms。所以这个箭头从A指向B中间经过了1ms。b节点断开中间这条线路,也需要耗费1ms。接着B还需要向C发出断开连接的信号c又向d发出断开连接的这种信号。那后面这些箭头的含义都是类似的,
注:当传输完报文的最后1个bit后。事实上A节点就可以向B节点、C节点和D节点发出释放连接的信号。所以其实这个箭头它可以无限的靠近报文的底部这根线,只不过如果把这根箭头画到这个位置,那可能会和上面这个图发生重合,导致大家看不到这个箭头,所以我就把它们俩之间画出了一些距离。好,那这是用电路交换传送一个报文的过程。
在传送报文的整个过程中,数据是从A节点直送到D节点,中间经过了一条物理线路。

报文交换的性能:
在这里插入图片描述
从一个节点将报文转发到下一节点所需要的耗时,就至少需要八毫秒的时间。 报文从A发送到B,A节点把报文数据全部发送到线路上总共需要8ms(=4/0.5),第1个bit从A点传送到B点,总共需要1ms。这是线路传输所需要的一个传播时延(每一条传播时延),所以数据从A点发出被B点接收经过1ms,对应纵向的一个小格子,经过8ms后A已经把所有数据都发送到这条线路上了。到第9ms,即这个位置B节点接收到了整个报文的数据,接下来B节点需要对他接收到的报文进行处理(检查报文的控制信息决定报文的下一跳,应该发送到哪个节点),那B节点对报文的处理称为存储转发时延,需要消耗2ms在这里插入图片描述
B节点接收到整个报文后,经过了2ms的处理,就可以把报文发给下一个节点C。同样,整个报文的发送需要8ms,而报文中的每一个bit数据从B到达C都需要消耗1ms。同样的道理,C节点在这个时刻接收到整个报文,也需要经过2ms的存储转发时延才可以确定这个报文接下来应该传送到哪个位置,C节点就可以把报文发给B节点,整个报文发送的时间也需要经过8ms。并且报文当中的每1个bit,从C点到达D点,都需要经过1ms。使用报文交换的方式从A节点开始发送数据到D节点接收到所有数据,整个过程总共经过了29个小格子,即29毫秒。

在这里插入图片描述
把一个4kb的报文拆分成四个大小为1kb的更小的分组。在数据传输速率不变的情况下,每一个分组被发送到线路上需要的时间就只需2ms(每毫秒0.5kb,1 kb的分组需要2ms)A节点把第一个分组转发给B节点,整个分组的大小是1 kb。把整个分组发送到传输线路上,总共需要消耗2ms对应纵向的两个小格子。分组一的每一个比特从A节点传送到B节点都需要消耗1ms。所以画分组的示意图时候,都是斜着往右的,且倾斜度刚好对应纵向的一小格,即1ms。那么B节点在这个时刻接收到分组一后,需要对分组一进行处理。由于分组的大小比报文更小,所以对分组的存储转发处理会比对报文的存储转发处理更快一些。假设在这里插入图片描述
所以这地方中间空了0.5个小格子。也就是对应0.5ms的分组存储转发时延。经过0,.5s后B节点就可以把分组一发送到下一个节点C,与此同时B节点也可以继续接收来自于A节点的下一个分组。A节点给B节点发送这些分组中间只需要间隔零点五毫秒。
即确保B节点已经把上一个分组能够处理完,就可以紧接着给他发下一个分组的数据。后面这些分组转发原理类似,B节点给C节点转发这些分组也遵循同样的规则,用2ms把一个分组传送到B和C的这条线路上。然后中间间隔0.5ms,让C节点有时间处理刚收到的分组,紧接着就可以继续给c节点发送下一个分组。
采用分组交换的方式,完成整个报文的数据传输。从开始到结束,总共花费了17.5ms
对三种交换方式的数据传输效率进行一个对比:
从a开始数据传送一直到D完成所有数据的接收
如果采用电路交换的方式,需要消耗11ms。
如果采用报文交换的方式,需要消耗29ms。
如果采用分组交换的方式,需要消耗17.5ms。
在这里插入图片描述
在这里插入图片描述

(由于报文的信息量大,所以存储转发一个报文需要的时间消耗就会更高)
在这里插入图片描述

(三)耗时计算

  • 建立连接
    • A→B(请求):传播时延1ms + B处理1ms = 2ms。
    • B→C(请求):传播时延1ms + C处理1ms = 2ms。
    • C→D(请求):传播时延1ms + D处理2ms = 3ms。
    • D→A(应答):传播时延3跳×1ms = 3ms。
    • 总计:2+2+3+3=10ms。
  • 数据传输:发送8ms + 传播时延3ms(A→D)= 11ms。
  • 释放连接:类似建立过程,逐节点拆除,耗时约10ms(案例未详细计算,需根据实际流程推导)。

(四)优缺点

  • 优点
    • 数据直送,传输速率高。
    • 通信期间线路专用,时延稳定,适合实时业务(如语音通话)。
  • 缺点
    • 建立/释放连接耗时高。
    • 线路独占,利用率低,不适合突发式数据传输(如计算机网络)。
    • 不支持差错控制。

二、报文交换

(一)基本原理

基于存储转发机制,无需建立连接。发送方将数据封装为报文(含用户数据+控制信息),中间节点接收完整报文后,根据目的地址转发至下一跳。

(二)性能参数(案例)

  • 报文大小:4KB。
  • 数据传输速率:0.5KB/ms,发送4KB报文需8ms。
  • 传播时延:每跳1ms。
  • 存储转发时延:每个节点处理报文需2ms(解析控制信息、确定下一跳)。

(三)耗时计算

  • A→B
    • 发送报文:8ms。
    • 传播时延:1ms,B在第9ms接收完整报文。
    • B处理:2ms,第11ms开始转发。
  • B→C
    • 发送报文:8ms(第11-19ms)。
    • 传播时延:1ms,C在第20ms接收完整报文。
    • C处理:2ms,第22ms开始转发。
  • C→D
    • 发送报文:8ms(第22-30ms)。
    • 传播时延:1ms,D在第31ms接收完整报文。
  • 总计:31ms(案例中描述为29ms,可能含简化处理)。

(四)优缺点

  • 优点
    • 无需建立连接,启动快。
    • 线路动态分配,利用率高于电路交换。
    • 支持差错控制(通过校验技术)。
  • 缺点
    • 长报文存储转发时延大,缓存开销高。
    • 报文不定长,管理复杂,重传代价高。

三、分组交换

(一)基本原理

将大报文拆分为固定长度的分组(如1KB/分组),每个分组独立存储转发。分组含首部(源地址、目的地址、分组号等),支持流水线传输(前一分组转发后,后一分组可立即发送)。

(二)性能参数(案例)

  • 报文大小:4KB,拆分为4个1KB分组。
  • 数据传输速率:0.5KB/ms,发送1KB分组需2ms。
  • 传播时延:每跳1ms。
  • 存储转发时延:每个分组处理需0.5ms(因分组更小,处理更快)。

(三)耗时计算(以4个分组为例)

  • A→B
    • 分组1发送:2ms(第0-2ms)。
    • 传播时延1ms,B在第3ms接收分组1,处理0.5ms后,第3.5ms开始转发。
    • 分组2-4发送:A每2ms发送一个分组,依次在第2-4ms(分组2)、4-6ms(分组3)、6-8ms(分组4)发送。
  • 流水线传输
    • B在转发分组1后(3.5ms),可立即接收分组2(A在2ms发送,传播1ms后,B在3ms开始接收分组2,与分组1处理重叠)。
    • 类似地,各节点对后续分组的处理可与前一分组转发重叠,大幅减少总时延。
  • 总耗时:约17.5ms(通过图示数格子得出,含所有分组传输、传播及时延)。

(四)优缺点

  • 优点
    • 无需建立连接,启动快。
    • 分组定长,存储转发效率高,缓存开销低。
    • 支持流水线传输,时延低于报文交换。
    • 线路利用率高,适合突发数据。
  • 缺点
    • 分组首部增加控制信息开销(如源/目地址、分组号)。
    • 可能出现分组失序、丢失,需额外处理(如排序、重传)。
    • 仍存在存储转发时延(虽低于报文交换,但高于电路交换)。

四、三种交换方式对比表格

维度电路交换报文交换分组交换
完成传输时间最少(排除建连耗时)最多较少
存储转发时延
是否需建连
缓存开销
支持差错控制不支持支持支持
报文有序到达否(可能失序)
控制信息开销有(较低)有(占比最大)
线路利用率非常高
适用场景低频次、大量数据(如传统电话)早期电报网络现代计算机网络(如互联网)

五、关键结论

  1. 时延对比:电路交换(仅传播时延)< 分组交换(存储转发+传播)< 报文交换(长存储转发+传播)。
  2. 效率与灵活性:分组交换综合性能更优,平衡了时延、利用率和管理复杂度,成为计算机网络主流技术。
  3. 核心差异:电路交换依赖物理连接,报文/分组交换基于存储转发,分组交换通过拆包进一步优化效率。

相关文章:

  • 性能优化关键:link、script和meta的正确打开方式
  • 网络基础学习
  • 【Linux网络】UDP套接字【实现英汉转化】
  • 探索容器技术:Docker与Kubernetes的实践指南
  • ​​IIS文件上传漏洞绕过:深入解析与高效防御​
  • 关于PHP的详细介绍,结合其核心特点、应用场景及2025年的技术发展趋势,以清晰的结构呈现:
  • TCP 的三次握手
  • 构造题(Constructive Problem)
  • 历年福州大学保研上机真题
  • 【论文阅读】KIMI-VL TECHNICAL REPORT
  • C语言中的寄存器:理解与应用
  • 2025年渗透测试面试题总结-匿名[实习]安全工程师(大厂) (2)(题目+回答)
  • OpenGL Chan视频学习-6 How Shaders Work in OpenGL
  • JVM——JNI 的运行机制
  • 【Linux】进程问题--僵尸进程
  • 神经网络加上注意力机制,精度反而下降,为什么会这样呢?注意力机制的本质是什么?如何正确使用注意力机制?注意力机制 | 深度学习
  • xml双引号可以不转义
  • 购物车系统的模块化设计:从加载到结算的全流程拆解
  • SpringBoot返回xml
  • HttpServletRequest 对象包含了哪些信息?
  • 怎么建设免费网站/广州现在有什么病毒感染
  • 网站建设相关的网站/seo链接优化建议
  • 自己做店招的网站/推广平台app
  • 如何用word做网站/谷歌浏览器在线打开
  • 福田网站网页设计/网站推广服务报价表
  • 西安市网站建设/设计公司网站