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

目录

零、前言

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

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.rhkb.cn/news/421143.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 基本库用法:数学建模

文章目录 前言数据预处理——sklearn.preprocessing数据标准化数据归一化另一种数据预处理数据二值化异常值处理 numpy 相关用法跳过 nan 值的方法——nansum和nanmean展开多维数组(变成类似list列表的形状)重复一个数组——np.tile 分组聚集——pandas.…

VScode 的简单使用

目录 1. VScode 的使用 1.1 常用插件 1.2 常用快捷键 1. VScode 的使用 1.1 常用插件 1.2 常用快捷键 也可以“ CTRLD ”;使用“CTRL滚轮”即可; ctrl /-,是用来展开/收起代码的; 比如:js 的多行注释是 shiftalt…

预防式编程——避免空值

文章目录 1. 输入验证2. 使用可选类型(Optional Types)3. 非空断言4. 安全调用运算符5. 提供默认值6. 设计模式7. 文档说明8. 数据结构的选择9. 逻辑判断10. 构造函数和初始化11. 使用工具类12. 枚举类型13. 编码规范14. 测试15. 重构16. 教育与培训 案例…

[Python学习日记-14] Python中基础语法的补充(变量增删改的过程、垃圾回收机制、变量指向关系、身份运算和None)

[Python学习日记-14] Python中基础语法的补充 变量增删改的过程 变量的指向关系 垃圾回收机制 身份运算和None 三元运算 变量增删改的过程 一、增 现在我们假设要创建一个变量名为 name 并且我们要赋它一个值“Jove”,那我们很自然会想到下面的代码 name &q…

使用Python本地搭建http.server文件共享服务并实现公网环境远程访问——“cpolar内网穿透”

前言 本文主要介绍如何在Windows系统电脑上使用python这样的简单程序语言,在自己的电脑上搭建一个共享文件服务器,并通过cpolar创建的公网地址,打造一个可以随时随地远程访问的私人云盘。 数据共享作为和连接作为互联网的基础应用&#xff…

011. Oracle-约束

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉&…

【Web】XGCTF 西瓜杯 超详细题解

目录 CodeInject tpdoor easy_polluted Ezzz_php CodeInject eval里打代码注入 11);system("tac /0*");// tpdoor 可以传参isCache给../../config/route.php写入$config[request_cache_key] 打的是CheckRequestCache中间件解析的漏洞 think\middleware\Ch…

得物APP助力释放首发经济新活力,解锁年轻潮流密码

在消费升级与高质量发展的时代背景下,我国首发经济正以前所未有的活力蓬勃发展,成为推动市场繁荣、满足个性化消费需求的重要力量。首发,即产品首次在市场亮相,往往代表着最新的设计理念、最尖端的科技应用以及最前沿的潮流趋势。…

一文读懂数字化生态平台的多元功能!

在这个数字化飞速发展的时代,有个话题不得不提 —— 数字化生态平台的多元功能。 ​ 资源整合:凝聚各方力量 在当下,数字化生态平台就像一个大管家,能把分散在不同地方、不同主体的各类资源高效整合起来。商业领域里,…

STM32-HAL库开发快速入门

注:本文主要记录一下STM32CubeMX软件的使用流程,记录内容以STM32外设(中断、I2C、USART、SPI等配置)在STM32CubeMX中的设置为主,对驱动代码编写不做记录,所以阅读本文最好有标准库开发经验。除第2节外,使用的都是韦东山…

JAVA智能管理高效运营自营商城系统

智能管理,高效运营 —— 自营商城系统的魅力揭秘🚀 📈 开篇:告别繁琐,拥抱智能管理 你还在为商城运营的繁琐流程头疼吗?🤯 还在为数据分析的复杂性而烦恼吗?🤔 那就让我…

IPv6理论基础

IPV6 地址介绍 地址标识方法 格式 : XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX,128bit,8个16位,16进制 X表示十六进制的一个字符,可以是0 - 9,A -F 字母大小写不敏感,最终设备上显示均为大写 一个地址由8个字段构成…

学习threejs,创建立方体,并执行旋转动画

文章目录 一、前言二、代码示例三、总结 一、前言 本文基于threejs&#xff0c;实现立方体的创建&#xff0c;并加入立方体旋转动画 二、代码示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>l…

【动态规划】【完全背包】力扣322. 零钱兑换

给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1 。 你可以认为每种硬币的数量是无限的。 示…

【ACM出版,录用检索快】2024年第四届工商管理与数据科学国际学术会议 (BADS 2024,10月25-27)

2024年第四届工商管理与数据科学国际学术会议(BADS 2024)将于2024年10月25-27日在中国重庆召开&#xff0c;大会由喀什大学支持。 在当今全球化与数字化迅速发展的时代&#xff0c;工商管理与数据科学作为推动经济增长和技术进步的重要力量&#xff0c;正以前所未有的速度交叉融…

使用肘部法则确定K-Means中的k值

一 肘部法则 在K-means算法中&#xff0c;对于确定K&#xff08;簇的数目&#xff09;&#xff0c;我们经常使用肘部法则。 肘部法则是一种用于确定在k均值聚类算法中使用的质心数&#xff08;k&#xff09;的技术。 在这种方法中&#xff0c;为了确定k值&#xff0c;我们连续…

二十三种模式之原型模式(类比制作陶器更好理解一些)

1. 设计模式的分类 创建型模式(五种)&#xff1a;工厂方法模式、单例模式、抽象工厂模式、原型模式、建造者模式。 结构型模式(七种)&#xff1a;适配器模式、代理模式、装饰器模式、桥接模式、外观模式、享元模式、组合模式。 行为型模式(十一种)&#xff1a;状态模式、模板方…

刚开始学精益六西格玛管理方法?这份指南建议收藏

精益六西格玛管理方法&#xff0c;作为两大管理哲学的完美结合&#xff0c;正逐渐成为众多企业转型升级的利器。对于刚开始接触这一领域的你来说&#xff0c;掌握精益六西格玛管理的精髓并有效应用于实践中&#xff0c;无疑是一项既具挑战性又极具价值的任务。本文&#xff0c;…

应用连接错误,初始化mysql数据库恢复---惜分飞

有人在部署一个新网站的时候,写错了配置信息,直接导致原有数据库被清掉,并创建了新库和写入了数据(其实本质就是drop table恢复) 登录操作系统查看,发现数据库文件在根分区,创建了新库,写入了数据之外,还有几个G的binlog.全部恢复不太可能,最后客户决定需要恢复的2个核心表数…

.NET 一款在线解密Web.config的脚本

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…