计算机网络 ---- 电路交换、报文交换、分组交换

news2024/11/26 4:44:59

目录

零、前言

一、计算机网络发展初期面临的问题 

1.1 电路交换的主要特点【电话网络采用电路交换技术】

1.1.1 电路交换的基本知识介绍

 1.1.2 电路交换的优缺点

1.3 报文交换技术的特点【电报网络采用报文交换技术】 

1.3.1 报文交换的基本知识介绍

1.3.2 报文交换技术的优缺点

1.4 分组交换技术【现代计算机网络采用分组交换技术】

1.4.1 分组交换技术基本概念 

1.4.2 分组交换技术举例

1.4.3 分组交换技术的优缺点 


零、前言

      网络核心部分是互联网中最复杂的部分,因为网络中的核心部分要向网络边缘部分中的大量主机提供连通性,使边缘部分中的任何一台主机都能够与其他主机通信。

所谓连通性(connectivity),就是互联网使上网用户之间,不管相距多远(例如,相距数千公里),都可以非常便捷、非常经济地(在很多情况下甚至是免费的)交换各种信息(数据,以及各种音频、视频),好像这些用户终端都彼此直接连通一样。这与使用传统的电信

      在网络核心部分起特殊作用的是路由器( router),它是一种专用计算机(但不叫作主机)。路由器是实现分组交换( packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。为了弄清分组交换,下面先介绍电路交换的基本概念。

一、计算机网络发展初期面临的问题 

      第一阶段是从单个网络 ARPANET向互连网发展的过程。1969年美国国防部创建的第一个分组交换网 ARPANET最初只是一个单个的分组交换网(并不是一个互连的网络)。所有要连接在ARPANET上的主机都直接与就近的节点交换机相连。但到了20世纪70年代中期,人们已认识到不可能仅使用一个单独的网络来满足所有的通信需求。于是 ARPA开始研究多种网络(如分组无线电网络)互连的技术,这就导致了互连网络的出现,成为现今互联网(Internet)的雏形。1983年TCP/IP协议成为ARPANET上的标准协议,使得所有使用TCP/IP协议的计算机都能利用互连网相互通信,因而人们就把1983年作为互联网的诞生时间。1990年ARPANET正式宣布关闭,因为它的实验任务已经完成。

      事实上,在计算机网络之前,人类历史上就已经出现其他类型的通信网络,最早可追溯到公元前5世纪,如下图所示。

      那么在那个年代,参与ARPNET项目的科学家自然而然会想到,我们搭建的计算机网络可不可以抄个作业呢?
      首先排除邮政网络,计算机网络不可能使用邮政网络那么原始的方法去解决问题,那电报网络、电话网络之中该抄那份作业呢?首先我们来看电话网络。

1.1 电路交换的主要特点【电话网络采用电路交换技术】

电路交换——整个数据的比特流连续地从源点直达终点,好像在一个管道中传送。 

1.1.1 电路交换的基本知识介绍

      在电话问世后不久,人们就发现,要让所有的电话机都两两相连接是不现实的。图1-7(a)表示两部电话只需要用一对电线就能够互相连接起来。但若有5部电话要两两相连,则需要当10对电线,如图1-7(b)所示。显然,若N部电话要两两相连,就需要N(N - 1)/2对电线。电话机的数量很大时,这种连接方法需要的电线数量就太大了(与电话机的数量的平方成正比)。于是人们认识到,要使得每一部电话能够很方便地和另一部电话进行通信,就应当使用电话交换机将这些电话连接起来,如图 1-7(c)所示。每一部电话都连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。电话发明后的一百多年来,电话交换机虽然经过多次更新换代,但交换的方式一直都是电路交换(circuit switching)。

      当电话机的数量增多时,就要使用很多彼此连接起来的交换机来完成全网的交换任务。用这样的方法,就构成了覆盖全世界的电信网。
      从通信资源的分配角度来看,交换(switching)就是按照某种方式动态地分配传输线路的资源。在使用电路交换打电话之前,必须先拨号请求建立连接。当被叫用户听到交换机送来的振铃音并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路。
      这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。此后主叫和被叫双方就能互相通电话。通话完毕挂机后,交换机释放刚才使用的这条专用的物理通路(即把刚才占用的所有通信资源归还给电信网)。这种必须经过“建立连接(占用通信资源)→通话(一直占用通信资源)→释放连接(归还通信资源)”三个步骤的交换方式称为电路交换。如果用户在拨号呼叫时电信网的资源已不足以支持这次的呼叫,则主叫用户会听到忙音,表示电信网不接受用户的呼叫,用户必须挂机,等待一段时间后再重新拨号。
      图1-8为电路交换的示意图。为简单起见,图中没有区分市话交换机和长途电话交换机。应当注意的是,用户线是电话用户到所连接的市话交换机的连接线路,是用户独占的传送模拟信号的专用线路,而交换机之间拥有大量话路的中继线(这些传输线路早已都数字化了)则是许多用户共享的,正在通话的用户只占用了中继线里面的一个话路。电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。

      当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。这是因为计算机数据是突发式地出现在传输线路上的,即往往是高频次、少量地传输数据,因此线路上真正用来传送数据的时间往往不到10%甚至1%。已被用户占用的通信线路资源在绝大部分时间里都是空闲的。例如,当用户阅读终端屏幕上的信息或用键盘输入和编辑一份文件时,或计算机正在进行处理而结果尚未返回时,宝贵的通信线路资源并未被利用而是被白白浪费了。

如果计算机网络采用“电路交换”技术?是否可行?

答案是:不可行的。基于电路交换的特点,如果H1和H2之间需要通信,那么我们需要给他俩分配一条专用的物理线路,同样的,如果H3和H5之间想要通信,那么我们也要给他俩分配一条专用的物理线路,并且,在通信结束之前,整条物理线路是被独占的。如下图所示:

      此时,如果H6要给H5发送一些数据,由于通信资源不够,因此H5和H6之间就无法建立通信。这就意味着,如果小红(H3)正在和小美(H5)聊微信,小扁(H6)给小美发送的任何信息都无法传输到小美的计算机上,这显然不符合计算机网络的要求。

 1.1.2 电路交换的优缺点

电路交换的优点:

  • 通信前从主叫端到被叫端建立一条专用的物理通路,在通信的全部时间内,两个用户始终占用端到端的线路资源。数据直送,传输速率高

电路交换更适用于:低频次、大量地传输数据【想一想:打电话,等电话2分钟,讲话5秒,体验差
;打电话,等电话2分钟,讲话1小时,体验好】

电路交换的缺点:

  • 建立/释放连接,需要额外的时间开销。
  • 线路被通信双方独占,利用率低。
  • 线路分配的灵活性差。
  • 交换节点不支持“差错控制”(无法发现传输过程中的发生的数据错误) 

因此,综上,计算机网络不能抄电话网络这份作业,那电报网络呢?请看1.3小节。 

1.3 报文交换技术的特点【电报网络采用报文交换技术】 

 报文交换—--整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。

1.3.1 报文交换的基本知识介绍

一封电报中至少包含两部分信息,控制信息【指明这封电报是从哪里发出要被谁所接收】和用户数据【发送的内容】,这两部分信息我们称之为message,在计算机网络中,message称之为报文。

      接下来我们来学习这些报文是如何在网络中传递的。
      假设小帅要给小美、小丑要给小红发送报文,小帅和小丑的电报机连接的都是报文交换机A,因此他们各自的报文会被发送到交换机A上,交换机A首先会把这两个报文存储起来【可以理解为交换机A中有一部分内存空间,即交换机A接收到的所有报文都会先存储在交换机A中】。如下图所示:

接下来交换机需要检查各报文的控制信息是什么,以便后续转发。例如,交换机A检查右边的报文的控制信息发现该报文是要发送给小红(H3)的,那么接下来该报文就会被转发到交换机C中。如下图所示:

同样的道理,报文交换机C也会先把该报文存储起来,然后检查控制信息,最后完成转发。如下图所示:

上述流程使用到了存储转发的思想,即把传送的数据单元先存储进中间节点,再根据目的地址转发至下一节点。

1.3.2 报文交换技术的优缺点

 报文交换的优点:

  • 通信前无需建立连接
  • 数据以“报文”为单位被交换节点间“存储转发”,通信线路可以灵活分配
  • 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高
  • 交换节点支持“差错控制”(通过校验技术)

报文交换的缺点:

  • 报文不定长,不方便存储转发管理
  • 长报文的存储转发时间开销大、缓存开销大
  • 长报文容易出错,重传代价高

      因此,我们发现,报文交换技术对于计算机网络应该采取什么样的技术进行通信有非常好的参考价值,但是我们要解决一个问题,即:报文不定长的问题。 解决的办法是:分组交换技术。详细内容请参考1.5小节。

1.4 分组交换技术【现代计算机网络采用分组交换技术】

      分组交换——单个分组(这只是整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。

1.4.1 分组交换技术基本概念 

      分组交换则采用存储转发技术。图 1-9表示把一个报文划分为几个分组后再进行传送。通常我们把要发送的整块数据称为一个报文(message)。在发送报文之前,先把较长的报文划分为一个个更小的等长数据段,例如,每个数据段为 1024 bit。在每一个数据段前面,加上一些必要的控制信息组成的首部(header)【包含:源地址、目的地址、分组号等】后,就构成了一个分组(packet)。分组又称为“包”,而分组的首部也可称为“包头”。分组是在互联网中传送的数据单元。分组中的“首部”是非常重要的,正是由于分组的首部包含了诸如目的地址和源地址等重要控制信息,每一个分组才能在互联网中独立地选择传输路径,并被正确地交付到分组传输的终点。

1.4.2 分组交换技术举例

假设小帅要给小美发送数据,那么在数据发送之前,该数据会被拆分为多个分组,如下图所示:

      首先,主机H1将分组发送至分组交换机A,这些分组将先在分组交换机A处进行存储,然后进行转发至下一节点,在此,我们发现有两条路径可以进行转发,一条是分组交换机A-->B-->D-->H5,另一条是A-->C-->E-->D-->H5,这两条路都是可以走的。

现在,故事是这样的,分组0和分组1走上面这条路,当分组2开始转发的时候,分组交换机A发现上面的路已经足够拥堵了,那不妨把分组2发送到下面这条空闲的路上,那么分组2就被转发至分组交换机C中。

接下来,由于下面的这条路比较空闲,分组2早早就到达H5,即H5先接收到分组2,如下图所示:

紧接着,分组0和分组1也逐次存储转发,来到了H5,如下图所示:

      所以收到这些分组的顺序是分组2-->分组0-->分组1,那么通过分组首部中分组号的信息,H5这台电脑可以对这些分组进行排序,重新排成0、1、2的顺序,如下图所示:

然后再把不必要的首部信息拆出去,之后合并成用户数据,如下图所示:

以上的过程就是分组交换技术的流程。
      在现代计算机网络当中,路由器就是一种典型的分组交换机,网络中的数据以固定的长度的分组为单位,在各个路由器之间交换。
      位于网络边缘部分的主机和位于网络核心部分的路由器都是计算机,但它们的作用却很不一样。主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器则用来转发分组,即进行分组交换。路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。这样一步一步地(有时会经过几十个不同的路由器)以存储转发的方式,把分组交付最终的目的主机。各路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新。
 

1.4.3 分组交换技术的优缺点 

分组交换的优点:

  • 通信前无需建立连接
  • 数据以“分组”为单位被交换节点间“存储转发”,通信线路可以灵活分配
  • 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高
  • 交换节点支持“差错控制”(通过校验技术)

相比于报文交换,分组交换改进了如下问题:

  • 分组定长,方便存储转发管理
  • 分组的存储转发时间开销小、缓存开销小
  • 分组不易出错,重传代价低

分组交换的缺点:

  • 相比于报文交换,控制信息占比增加
  • 相比于电路交换,依然存在存储转发时延
  • 报文被拆分为多个分组,传输过程中可能出现失序、丢失等问题,增加处理的复杂度
     

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

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

相关文章

中国企业500强!最新名单揭晓→

9月11日,在2024中国500强企业高峰论坛上,中国企业联合会、中国企业家协会连续第23次向社会发布了“中国企业500强”榜单。 01 营收规模迈上新台阶 2024中国企业500强营业收入迈上新台阶,突破了110万亿元大关,达110.07万亿元&…

【算法】哈希表相关

【ps】本篇有 5 道 leetcode OJ。 一、算法简介 哈希表是一种存储数据的容器,可以快速查找某个元素,其查找的时间复杂度为 O(1),非常合适需要频繁查找某一个元素的场景。其具体用法为: 直接使用底层为哈希表的 STL 容器。用数组…

【一起学Rust | 进阶篇】使用Bon快速生成builder,提高代码质量

文章目录 前言一、安装Bon二、使用步骤1.为方法实现builder2.实现关联方法的builder3. 为结构体实现builder4. Option<T>字段成为可选项5. 实现Into转化 参考文档 前言 在 Rust 编程语言中&#xff0c;除了广为人知的单例模式之外&#xff0c;工厂模式也是极为容易见到的…

智能制造云平台---附源码79117

目 录 摘要 1 绪论 1.1 研究背景和意义 1.2开发技术 1.2.1 Flask框架 1.2.2 Python简介 1.2.3 MySQL数据库 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2总体设计原则 2.3 系统流程分析 2.3.1 用户登录流程 2.3.2 删除信息流程 2.4 系统角色分析 2.5 系…

微信小程序 - 最新将页面可分享到朋友圈功能,小程序实现分享到朋友圈功能,开启分享给好友及分享朋友圈功能(微信小程序怎么分享到朋友圈?详细流程及示例代码教程)

前言 没有设置过分享朋友圈功能的小程序,分享朋友圈按钮是灰色且无法点击。 在微信小程序开发中,详解实现把页面开启朋友圈分享功能,解决 “当前页面未设置分享” 且灰色无法点击问题,微信小程序开发中的微信分享和朋友圈分享设置,提供详细代码。 小程序 vue2 | vue3 版本…

yum下载软件失败:‘Could not resolve host: mirrorlist .centos .org; Unknowm error

Loaded plugins: fastestmirror, ovl Determining fastest mirrors Could not retrieve mirrorlist http://mirrorlist.centos.org/?release7&archx86_64&repoos&infracontainer error was 14: curl#6 - “Could not resolve host: mirrorlist.centos.org; Unknow…

Games101图形学学习笔记——图形学基础

这里写目录标题 图形学基础线性代数Vector向量向量的点乘向量的叉乘 矩阵 Transform3D变换视图/相机变换 正交投影和透视投影正交投影透视投影 图形学基础 基础数学&#xff1a;线性代数&#xff0c;几何 基础物理&#xff1a;力学&#xff0c;光学 其他&#xff1a;信号处理&…

代码随想录训练营 Day56打卡 图论part06 108. 冗余连接 109. 冗余连接II

代码随想录训练营 Day56打卡 图论part06 一、卡码108. 冗余连接 题目描述 有一个图&#xff0c;它是一棵树&#xff0c;他是拥有 n 个节点&#xff08;节点编号1到n&#xff09;和 n - 1 条边的连通无环无向图&#xff08;其实就是一个线形图&#xff09;&#xff0c;如图&…

Java面试篇基础部分-Java的类加载机制

JVM的类加载 JVM在运行Java文件的时候,类加载分为5个阶段:加载、验证、准备、解析、初始化。在类初始化加载完成之后,就可以使用这个类的信息了。当这个类不需要使用的时候,就可以从JVM进行卸载。 加载 加载是指JVM读取Class文件的操作,并且根据Class的文件描述创建对应的…

工厂安灯系统在优化生产流程上的优势丨深圳讯鹏科技

工厂安灯系统通过可视化的方式&#xff0c;帮助工厂管理者和操作工人及时了解生产状态&#xff0c;快速响应问题&#xff0c;从而优化生产流程。 一、安灯系统实时监控与反馈 安灯系统的核心功能是实时监控生产线的状态。通过在生产现场设置灯光、显示屏等设备&#xff0c;工人…

单片机拍照_将采集的RGB图像封装为BMP格式保存到SD卡

文章目录 一、前言二、BMP文件结构2.1 BMP图片的格式说明 2.2 RGB888与RGB565格式是什么&#xff1f;&#xff08;1&#xff09;RGB565&#xff08;2&#xff09;RGB888&#xff08;3&#xff09;区别&#xff08;4&#xff09;如何构成&#xff08;5&#xff09;示例 三、实现…

yolo训练出现Could not load library libcudnn_cnn_train.so.8问题及解决方法

问题场景&#xff1a; 训练yolov5或者yolov8时候会报错&#xff1a; Could not load library libcudnn_cnn_train.so.8. Error: /usr/local/cuda-12.1/lib64/libcudnn_cnn_train.so.8: uined symbol: _ZN5cudnn3cnn34layerNormFwd_execute_internal_implERKNS_7backend11Vari…

【EasyExcel】@ColumnWidth(value = 20) EasyExcel设置列宽不生效

经过测试发现&#xff0c;只有XLS&#xff0c;ColumnWidth注解才会生效&#xff0c;选择CSV和XLSX都不会生效 //对应的导出实体类 EasyExcel.write(outputStream, Result.class)//excel文件类型&#xff0c;包括CSV、XLS、XLSX.excelType(ExcelTypeEnum.XLS)

当你学会了Python,随手爬取电影榜单!

一、爬电影TOP250 python爬取电影TOP250数据&#xff01; 首先&#xff0c;打开电影TOP250的页面&#xff1a; https://movie.douban.com/top250 开发好python代码后&#xff0c;成功后的csv数据&#xff0c;如下&#xff1a; 代码是怎样实现的爬取呢&#xff1f;下面逐一讲…

计算机网络相关概念

名词解释&#xff1a; 1.ARPANET ARPANET&#xff08;Advanced Research Projects Agency Network&#xff09;是由美国国防部高级研究计划局&#xff08;ARPA&#xff09;在1969年启动的一个实验性计算机网络项目。它是世界上第一个分组交换网络&#xff0c;也是互联网的前身…

springboot《计算机网络》在线考试系统-计算机毕业设计源码22248

摘要 计算机网络课程是计算机科学与技术、信息技术及相关专业的一门重要课程。然而&#xff0c;在传统的教育模式下&#xff0c;计算机网络课程的考核方式多以纸质试卷为主&#xff0c;这种方式存在诸多弊端。一方面&#xff0c;试卷的编制、印刷、分发、收缴等环节耗时耗力&am…

遗传算法求解VRP路径规划问题

文章目录 题目&#xff1a;快递公司送货策略VRP问题简介遗传算法项目地址代码说明代码结构求解流程举例求解目标求解步骤 总结 打数模国赛前拿来练手的题&#xff0c;现在题目求解思路分享给大家&#xff0c;包括 所有源代码 和 高清pdf论文&#xff0c;希望能对大家有所帮助…

多线程篇(其它容器- CopyOnWriteArrayList)(持续更新迭代)

一、CopyOnWriteArrayList&#xff08;一&#xff09; 1. 简介 并发包中的并发List只有CopyOnWriteArrayList。 CopyOnWriteArrayList是一个线程安全的ArrayList&#xff0c;对其进行的修改操作都是在底层的一个复制的数 组&#xff08;快照&#xff09;上进行的&#xff0…

解决 git 不是内部或外部命令,也不是可运行的程序

目录 报错提示&#xff1a; 一、解决办法 1、从git官网下载windows版本的git 2、安装 3、注意事项 二、报错 1、解决 fatal: Not a git repository (or any of the parent directories): .git 问题 报错提示&#xff1a; 一、解决办法 Windows下配置Git&#xff1a; 1…