【网络奇遇记】你真的了解网络中的电路交换、分组交换和报文交换吗?

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


文章目录

  • 一. 电路交换
    • 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.mfbz.cn/a/134099.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flutter 实战:构建跨平台应用

文章目录 一、简介二、开发环境搭建三、实战案例:开发一个简单的天气应用1. 项目创建2. 界面设计3. 数据获取4. 实现数据获取和处理5. 界面展示6. 添加动态效果和交互7. 添加网络错误处理8. 添加刷新功能9. 添加定位功能10. 添加通知功能11. 添加数据持久化功能 《F…

CSS的初步学习

CSS 层叠样式表 (Cascading Style Sheets). CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结 构分离. CSS 就是 “东方四大邪术” 之化妆术 CSS 基本语法规范: 选择器 若干属性声明 选择器决定针对谁修改 (找谁) 声明决定修…

有没有实时检测微信聊天图片的软件,只要微信收到了有二维码的图片就把它提取出来?

10-2 如果你有需要自动并且快速地把微信收到的二维码图片保存到指定文件夹的需求,那本文章非常适合你,本文章教你如何实现自动保存微信收到的二维码图片到你指定的文件夹中,助你快速扫码,比别人领先一步。 首先需要准备好的材料…

Spark的执行计划

Spark 3.0 大版本发布,Spark SQL 的优化占比将近 50%。Spark SQL 取代 Spark Core,成为新一代的引擎内核,所有其他子框架如 Mllib、Streaming 和 Graph,都可以共享 Spark SQL 的性能优化,都能从 Spark 社区对于 Spark …

计算机毕业设计 基于SpringBoot的驾校管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

nodejs+vue+python+PHP+微信小程序-安卓- 基于小程序的高校后勤管理系统-计算机毕业设计

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

C/C++数字判断 2021年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C数字判断 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C数字判断 2021年9月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 输入一个字符,如何输入的字符是数字&#x…

Linux —— 网络编程套接字

目录 一,网络字节序 二,socket编程接口 sockaddr结构 源IP地址、目的IP地址,在IP数据包头部,有此两个IP地址; 端口号,是传输层协议的内容; 端口号是一个2字节16位的整数;端口号用…

什么是Amazon Simple Email Service(SES 群发邮件)

Amazon Simple Email Service(Amazon SES)让您可以使用 Amazon SES API 或 SMTP 接口放心地联络到客户,而无需使用本地简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)电子邮件服务器。 目录 什么是…

C++学习---信号处理机制、中断、异步环境

文章目录 前言信号处理signal()函数关于异步环境 信号处理函数示例raise()函数 前言 信号处理 关于信号,信号是一种进程间通信的机制,用于在程序执行过程中通知进程发生了一些事件。在Unix和类Unix系统中,信号是一种异步通知机制&#xff0c…

代码随想录 Day43 动态规划11 LeetCode T309 买卖股票的最佳时期含冷冻期 T714买卖股票的最佳时机含手续费

LeetCode T309 买卖股票的最佳时机含冷冻期 题目链接:309. 买卖股票的最佳时机含冷冻期 - 力扣(LeetCode) 题目思路: 这题其实就是将卖出的状态拆分成三个状态 1.前两天就卖出并一直保持卖出的状态 2.今天卖出的状态 3.今天是冷冻期的状态 当然还有一个…

最新支付宝转卡码生成之转账源代码(隐藏部分卡号)

一、需要准备好自己的卡号、名称、以及对应的姓名 二、然后将自己的信息填入下面的代码中 三、然后将拼接好的代码,利用转码技术生产对应的二维码 四、这样一个跳转银行卡二维码的转账码就做好了 效果演示:如下 支付宝扫码、跳转码、转卡码、隐藏卡号…

【刷题】力扣每日一题 : 381、2300、765

前言 本篇文章用于记录在做力扣每日一题的时候遇到的一些知识点以及自己的思路 381 题干 题目链接 我的思路及做题过程 思路1 我的想法是 记录每个字符串的字母出现个数 然后比较两个字符串是否有字母同时出现 class Solution { public:int judge(string s1, string s2…

asp.net core自定义异常过滤器并记录到Log4Net日志

1.创建异常过滤器特性 using Log4Net.Controllers; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters;namespace Log4NetTest {public class CustomerExceptionFilterAttribute : Attribute, IExceptionFilter{private readonly ILogger<CustomerE…

CSS布局001:画各种三角形

CSS实战中&#xff0c;有很多时候采用css来绘制三角形&#xff0c;而不是采用图片的方式&#xff0c;这样有利于快速成型&#xff0c;不用多调用服务器数据。 CSS代码 上三角 #triangle-up {width: 0;height: 0;border-left: 50px solid transparent;border-right: 50px solid…

idea配置tomcat参数,防止nvarchar保存韩文、俄文、日文等乱码

描述下我的场景&#xff1a; 数据库服务器在远程机器上&#xff0c;数据库使用的Oracle&#xff0c;字符集是ZHS16GBK&#xff0c;但保存韩文、俄文、日文等字段A的数据类型是nvarchar(120)&#xff0c;而nvarchar使用的是Unicode 编码&#xff0c;有点乱。。 遇到的问题&…

ArcGIS:如何迭代Shp文件所有要素并分别导出为Shp文件?

01 前言 尝试用IDL实现&#xff0c;奈何又涉及新的类IDLffShape&#xff0c;觉得实在没有必要学习的必要&#xff0c;毕竟不是搞开发&#xff0c;只是做做数据处理&#xff0c;没必要拿IDL不擅长的且底层的东西自己造轮子。 这里想到使用Python去解决&#xff0c;gdal太久没用…

微信的聊天记录导出到网页中的最快方法,语音能听,图片视频能看

12-7 如果你有把微信的聊天记录导出到表格或者网页上的需求&#xff0c;适合看看本文章&#xff0c;本文的方法可以让你把微信的聊天记录导出备份&#xff0c;可以在完全脱离微信的情况下随时调取查看聊天数据。 本文介绍的软件可以导出两种格式的聊天记录备份文件&#xff0…

【C语言】冒泡排序(图解)

&#x1f308;write in front :&#x1f50d;个人主页 &#xff1a; 啊森要自信的主页 &#x1f308;作者寄语 &#x1f308;&#xff1a; 小菜鸟的力量不在于它的体型&#xff0c;而在于它内心的勇气和无限的潜能&#xff0c;只要你有决心&#xff0c;就没有什么事情是不可能的…

wsl [Ubuntu20.04.6] 安装 Hadoop

文章目录 1.安装WSL2.安装Java安装Hadoop3.3配置文件1.修改hadoop-env.sh2.修改core-site.xml3.修改hdfs-site.xml ssh启动 1.安装WSL 重启电脑 管理员打开powershell PS C:\windows\system32> wsl --list --online PS C:\windows\system32> wsl --install -d Ubuntu-2…