【网络奇遇记】电路交换与分组交换谁更 “ 美 ”

news2025/1/11 14:47:10

在这里插入图片描述
🌈个人主页:聆风吟
🔥系列专栏:网络奇遇记、数据结构
🔖少年有梦不应止于心动,更要付诸行动。


文章目录

  • 一. 电路交换
    • 1.1 电路交换讲解
    • 1.2 电路交换实例
  • 二. 分组交换
    • 1.1 分组交换讲解
    • 1.2 分组交换实例
    • 1.3 分组交换的优缺点
  • 三. 电路交换
  • 四. 三种交换对比
  • 📝全文总结

一. 电路交换

1.1 电路交换讲解

    在早期专为电话通信服务的电信网络中,需要使用很多相互连接起来的电话交换机来完成全网的交换任务。电话交换机接通电话线的方式就是电路交换。从通信资源分配的角度看,交换实际上就是以某种方式动态地分配传输线路的资源。使用电路交换进行通信的三个步骤如下:

  1. 建立连接:主叫方必须首先进行拨号以请求建立连接。当被叫方听到电话交换机送来的振铃音并摘机后,从主叫方到被叫方就建立了一条专用的物理通路,简称为连接。这条连接为通话双方提供通信资源。
  2. 通话:主叫方和被叫方现在可以基于已建立的连接进行通话了。在整个通话期间,通话双方始终占用着连接,通信资源不会被其他用户占用。
  3. 释放连接:通话完毕挂机后,从主叫方到被叫方的这条专用的物理通路被交换机释放,将双方所占用的通信资源归还给电信网。

    如果主叫方在拨号请求建立连接时听到忙音,这可能是被叫方此时正在或电信网的资源已不足以支持这次请求,则主叫方必须挂机等待一段时间后在重新拨号。
在这里插入图片描述

1.2 电路交换实例

    如下图所示给出了电路交换的简化示意图。用户线是电话用户专用的,电话交换机之间的中继线是许多用户共享的。电话A与E之间的物理通路共经过了3个电话交换机,而电话B和C是同一个电话交换机覆盖范围内的用户,因此B和C之间建立的连接就不需要再经过其他的电话交换机。在A和E的通话过程中,它们始终占用这条已建立的物理通路,就好像A和E之间直接用一对电话线连接起来一样。A和E的通话结束并挂机后,它们之间的连接就断开了,之前所占用的电话交换机之间的电路又可以由其他用户使用。
在这里插入图片描述

    学到这里想必大家都有个疑问,计算机之间的数据传送适合采用电路交换吗?显示是不能的,计算机之间的数据传送是突发式的,当使用电路交换来传送计算机数据时,其线路的传输效率一般都会很低,线路上真正用来传送数据的时间往往不到10%甚至1%。例如我们经常使用的QQ、微信,尽管我们并不是一直连续通过该工具发送消息,但为了随时发送和接受消息,我们也一直会让其处于上线状态。对于这种情况,如果采用电路交换方式,则大部分宝贵的通信线路资源并未被利用而是被白白浪费了。



二. 分组交换

1.1 分组交换讲解

    分组交换采用的是存储转发技术。源主机将待发送的整块数据构造成若干个分组并发送出去,分组传送途中的各交换节点(也就是路由器)对分组进行存储转发,目的主机收到这些分组后将它们组合还原成原始数据块。

    待发送的整块数据通常被称为报文。较长的报文一般不适宜直接传输。如果报文太长,则对交换节点的缓存容量有很大的需求,在错误处理方面也会比较低效。因此需要将较长的报文划分成若干个较小的等长数据段,在每个数据段前面添加一些由必要的控制信息(例如源地址和目的地址等)组成的首部,这样就构造出了一个个分组。分组是在分组交换网上传送的数据单元。构造分组的示意图如图下图所示:
在这里插入图片描述

    源主机将分组发送到分组交领网中,分组交换网中的分用交换机收到一个分组后,先将其缓存下来,然后从其首都中提取出目的地址,按照目的地址查找自己的转发表,找到相应的转发接口后将分组转发出去,把分组交给下一个分组交换机。经过多个分组交换机的存储转发后,分组最终被转发到目的主机。

1.2 分组交换实例

    如下图所示为简化的分组交换网,为了方便起见,图中并没有画出互联网中通过路由器互连的各个物理网络,而是把它们分别等效为路由器之间的一段链路,整个互联网可以看作一个分组交换网,而路由器R1 ~ R5就是分组交换网中的交换节点,主机H1 ~ H5通过分组交换网进行通信。
在这里插入图片描述

    现在假设主机H1给主机H3发送数据。H1将分组逐个发送给与其直接相连的路由器R1。此时H1到R1的链路被占用,而分组交换网中的其他链路并未被当前通信的双方占用,如下图所示:
在这里插入图片描述

    路由器R1对收到的分组进行存储转发。假设R1根据分组首部的目的地址查找自己的转发表,查找结果是R2,则R1转发分组给R2。当分组正在R1与R2之间的链路上传送时,仅占用R1与R2这段链路,而不会占用分组交换网中的其他资源,如下图所示:
在这里插入图片描述

    假设路由器R2收到分组后按上述方式将分组转发给路由器R3,R3收到分组后将分组转发给主机H3,如下图所示:
在这里插入图片描述

上述整个过程动态图展示:
在这里插入图片描述

    假设在主机H1给H3连续发送多个分组的过程中,路由器R1与R2之间的通信太大,那么R1可以把分组沿另一条路径转发给路由器R5,R5转发分组给R4,R4转发分组给R3,R3转发分组给主机H3。如下图所示:
在这里插入图片描述

    从上述例子可以看出,分组交换与电路交换有着很大的不同。分组交换没有建立连接和释放连接带来的开销,分组在哪段链路上传送才占用这段链路的通信资源,因而数据的传输效率更高,这对于突发式的计算机数据的传送是非常适宜的。相比于采用电路交换传送突发式的计算机数据,分组交换的通信线路利用率大大提高


1.3 分组交换的优缺点

分组交换的优点:

  1. 没有建立连接和释放连接的过程;
  2. 分组传输过程中逐段占用通信链路,有较高的通信线路利用率;
  3. 交换节点可以为每一个分组独立选择转发路由,使得网络有很好的生存性。

分组交换的缺点:

  1. 分组首部带来了额外的传输开销;
  2. 路由器存储转发分组会造成一定的时延;
  3. 无法确保通信时端到端的通信资源的全部可用,在通信量较大时可能造成网络拥塞;
  4. 分组可能会出现失序(未按序到达)和丢失等问题。


三. 电路交换

    报文交换是分组交换的前身。在报文交换中,报文被整个地发送,而不是拆分成若干个分组进行发送。交换节点将报文整体接收完成后才能查找转发表,将整个报文转发到下一个节点。因此,报文交换比分组交换带来的转发时延要长很多,需要交换节点具有的缓存空间也要大很多



四. 三种交换对比

    在使用电路交换时,必须首先建立连接,也就是从主叫方到被叫方建立一条专用的物理通路。然后主叫方和被叫方就可以基于已建立的连接进行数据传送了。在整个计算数据传送期间,通信双方始终占用着连接,通信资源不会被其他用户占用。数据传送结束后还需要释放连接,双方挂机后,从主叫方到被叫方的这条专用的物理通路被交换机释放,将双方所占用的通信资源归还给电信网。

    在使用报文交换时,无须首先建立连接,通信结束后也无须释放连接。数据传送单元为整个报文,传送路径中的交换节点只有在完整接收整个报文后,才能对其进行查表转发,将整个报文发送到下一个节点。

    在使用分组交换时,也无须建立连接和释放连接。数据传送单元是由整个报文划分并构造出的若干个分组,传送路径中的交换节点每完整接收一个分组后,就对其查表转发,将其发送到下一个节点。
在这里插入图片描述综上所述:

  1. 若要连续传送大量的数据,并且数据传送时间远长于建立连接的时间,则使用电路交换可以有较高的传输效率。然而计算机的数据传送往往是突发式的,采用电路交换时通信线路的利用率会很低
  2. 报文交换和分组交换都不需要建立连接(即预先分配通信资源),在传送计算机的突发数据时可以提高通信线路的利用率
  3. 将报文构造成若干个更小的分组进行分组交换,比将整个报文进行报文交换的时延要小,并且还可以避免太长的报文长时间占用链路,有利于差错控制,同时具有更好的灵活性;


📝全文总结

归纳:
     本文主要详细介绍了电路交换、分组交换以及电路交换的优缺点、电路交换,并对三种交换进行了比较。

     今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,聆风吟的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1198855.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Producer

Producer开发样例 版本说明 新客 户端, 从Kafka 0.9.x 开始, client基于Java语言实现。同时提供C/C, Python等其他客户端实现。 开发步骤 配置客户端参数以及创建客户端实例;构建待发送消息;发送消息;关闭生产者实例; 代码示例 public class KafkaProducer {public stati…

什么是数据库事务、事务的ACID、怎么设置/禁止自动提交?

数据库事务及ACID 数据库事务是指作为单个逻辑工作单元执行的一组操作。这组操作要么全部成功地执行,要么全部不执行,不允许出现部分执行的情况。数据库事务通常需要满足ACID属性,即原子性(Atomicity)、一致性&#x…

建行驻江门市分行纪检组以政治谈话压责任促发展

开展政治谈话,是加强“一把手”和领导班子监督、严肃党内政治生活、加强对党员领导干部日常教育管理的有效手段。 为督促“一把手”和领导班子成员依法依规履行职责、行使权力,推动党中央重大决策部署以及建设银行总行、广东省分行党委的决策部署在本单…

SpringBoot学习(黑马程序员day12)

1jwt令牌 JWT的组成: (JWT令牌由三个部分组成,三个部分之间使用英文的点来分割) 第一部分:Header(头), 记录令牌类型、签名算法等。 例如: {"alg":"HS256",&qu…

Linux各种版本安装详细步骤和root密码破解

文章目录 VMware新建虚拟机硬件设置设置虚拟网络挂载ISO文件 root密码破解 VMware新建虚拟机 硬件设置 设置虚拟网络 编辑>虚拟网络编辑器>VMnet8(NAT模式) 挂载ISO文件 加电>开启次虚拟机 第二项可以检查挂载上来的iso文件是否完整没有破坏 磁盘分区 选自定义分…

Linux应用开发基础知识——字符文字编码(五)

前言: TXT 文件中保存的是字符的核心:它的编码值。而 Notepad 上显示时, 这些字符对应什么样的形状态,这是由字符文件决定的。编码值,字体是两个不一样的东西,比如 A 的编码值是 0x41,但是在屏幕…

用excel计算一个矩阵的转置矩阵

假设我们的原矩阵是一个3*3的矩阵: 125346789 现在求它的转置矩阵: 鼠标点到一个空白的地方,用来存放结果: 插入-》函数: 选择TRANSPOSE,这个就是求转置矩阵的函数: 点击“继续”&#xff1a…

SparkSQL之Rule体系

在Unresolved LogicalPlan逻辑算子树的操作(如绑定、解析、优化等)中,主要方法都是基于规则(Rule)的,通过Scala语言模式匹配机制(Pattern-match)进行树结构的转换或节点改写。Rule是…

TCP协议(建议收藏)

1. TCP特点 有连接:需要双方建立连接才能通信,在socket编程中服务端new ServerSocket(port)需要绑定端口,在客服端new Socket(serverIp, serverPort)与服务端建立连接可靠传输:确认应答机制,超时重传机制面向字节流&a…

Python开源项目PGDiff——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践

python ansconda 等的下载、安装等请参阅: Python开源项目CodeFormer——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践https://blog.csdn.net/beijinghorn/article/details/134334021 友情提示: …

vue 使用js new Map()优化多个if else 执行方法

前言 在实际开发中根据业务需求我们经常要判断情况,一个if 我们科技直接使用ES6就可以解决 经常会出现根据不同的条件执行不同的方法,这是就会有多个if else 看起不太美观也费劲 js new map ()就可以解决这个问题,它…

建行广东省江门市分行走进农村地区开展反假货币宣传

人民对美好生活的向往,涉及方方面面,小至“钱袋子”安全。建行广东省江门市分行落实当地监管部门部署,积极扛起维护国家金融安全的重要政治责任,深入农村地区开展反假货币宣传工作,助力构建农村反假货币工作长效机制。…

notes_质谱蛋白组学数据分析基础知识

目录 1. 蛋白组学方法学1.1 液相-质谱法1) 基本原理2) bottom-up策略的基本流程 1.2 PEA/Olink 2. 质谱数据分析2.1 原始数据格式2.2 分析过程1)鉴定2)定量3)预处理 2.3 下游分析 参考附录 1. 蛋白组学方法学 目前常见的蛋白组学方法学如下图…

【C/C++笔试练习】内联函数、函数重载、调用构造函数的次数、赋值运算符重载、静态成员函数、析构函数、模板定义、最近公共祖先、求最大连续bit数

文章目录 C/C笔试练习选择部分(1)内联函数(2)函数重载(3)调用构造函数的次数(4)赋值运算符重载(5)静态成员函数(6)调用构造函数的次数…

一句话讲明白buck和boost电源电路

大部分教程就是垃圾 虽然buck和boost结构上很像,但是是两个原理完全不一样的东西 BUCK(降压)电源 buck就是把方波,用LC滤波器后,变成正弦波 滤波:就是让电压缓慢增加,缓慢减少。&#xff08…

【SoC基础】DMA的工作原理

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

19.删除链表的倒数第N个结点(LeetCode)

想法一 先用tail指针找尾,计算出节点个数,再根据倒数第N个指定删除 想法二 根据进阶的要求,只能遍历一遍链表,那刚刚想法一就做不到 首先,我们要在一遍内找到倒数第N个节点,所以我们设置slow和fast两个指…

02. Python基础数据类型

1、前言 前面我们介绍了认识了Python以及Python的基础环境搭建,今天我们介绍下Python的一些基础语法。 2、Python基础 2.1、输入输出 2.1.1、输出 print() 用于输出指定的文字,括号中的为输出的字符串。print()也可以同时接收多个字符串,…

ESP32网络开发实例-将数据保存到InfluxDB时序数据库

将数据保存到InfluxDB时序数据库 文章目录 将数据保存到InfluxDB时序数据库1、InfluxDB介绍与安装3、软件准备4、硬件准备5、代码实现6、InfluxDB数据可视化在本文中,将介绍 InfluxDB 以及如何将其与 ESP32 开发板一起使用。 我们将向展示如何创建数据库桶并将 ESP32 数据发送…

Jupyter notebook 无法链接内核、运行代码

问题来源 今天想在 vscode 上使用 Jupyter notebook 跑 Python 代码,但无法使用,提示要升级内核。 Running cells with base requires the ipykernel package to be installed or requires an update. 其实这个问题存在好一段时间了,不过之前…