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

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

目录

零、前言

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

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 分组交换技术的优缺点 

分组交换的优点:

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

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

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

分组交换的缺点:

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

相关文章:

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

目录 零、前言 一、计算机网络发展初期面临的问题 1.1 电路交换的主要特点【电话网络采用电路交换技术】 1.1.1 电路交换的基本知识介绍 1.1.2 电路交换的优缺点 1.3 报文交换技术的特点【电报网络采用报文交换技术】 1.3.1 报文交换的基本知识介绍 1.3.2 报文交换技术…...

OceanBase 基于企业版本OAT安装与OMS安装与InfluxDB的集成

一、前言与环境准备 说明:OceanBase V3 的OMS手动安装与V4的OMS手动安装是存在区别的,建议V4版本的OMS通过OAT进行安装。 前言: OAT 是 OceanBase V4是企业版本安装Web界面的简易安装工具。 InfluxDB 是OMS 的监控时序数据库。 OMS 是Ocea…...

【油猴脚本】tampermonkey 的使用方法,油猴脚本(tampermonkey )编写方法,油猴脚本(tampermonkey )获取脚本的方法

前言:哈喽,大家好,今天给大家分享【油猴脚本】tampermonkey 的使用方法,油猴脚本(tampermonkey )编写方法,油猴脚本(tampermonkey )获取脚本的方法!并提供具体…...

Keil MDK报错:Browse information of one or more files is not available----解决方法:

Keil MDK报错:Browse information of one or more files is not available----解决方法: 问题描述 最近在项目中遇到这样一个问题:拷贝过来添加到工程的.c文件在编译时报如下错误: 解决方案: 总结以下一些解决办法&…...

C# WPF编程-串口通信

C# WPF编程-串口通信 串口通信1. NuGet安装System.IO.Ports2. 界面布局XAML3. C#代码4. 运行效果源码下载 串口通信 1. NuGet安装System.IO.Ports 2. 界面布局XAML <Window x:Class"BlocksTools.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006…...

MybatisPlus中tableName、tableId 和 tableField

在MyBatis-Plus中&#xff0c;tableName、tableId 和 tableField 等注解主要用于自动映射实体类与数据库表之间的关系&#xff0c;以及指定表的主键、字段名等&#xff0c;以减少手动配置的工作量。这些注解是MyBatis-Plus为了简化开发而提供的强大特性之一。下面分别介绍这些注…...

《2024中国数据要素产业图谱2.0版》重磅发布

数据猿出品 本次“数据猿2024年度三大媒体策划活动——《2024中国数据要素产业图谱2.0版》”的发布&#xff0c;下一次版本迭代将于2024年12月底发布2024年3.0版&#xff0c;敬请期待&#xff0c;欢迎报名。 大数据产业创新服务媒体 ——聚焦数据 改变商业 随着技术不断革新&a…...

算法-图论(建图,拓扑排序)

文章目录 建图的三种方式邻接矩阵邻接表链式前向星 拓扑排序拓扑排序基础原理介绍拓扑排序步骤解析拓扑排序模板leetcode-课程表 建图的三种方式 我们建图的三种方式分别是邻接矩阵, 邻接矩阵, 链式前向星 邻接矩阵 假设我们的点的个数为N个, 我们就把他们的下标依次标为1, …...

天童教育:课外阅读图书推荐

新学期开始了&#xff0c;现在正是孩子培养良好的阅读习惯的关键时期。让孩子感受阅读&#xff0c;爱上阅读&#xff0c;无疑会丰富孩子的日常生活&#xff0c;开阔孩子的视野&#xff0c;帮助孩子更好地生活。今天西安天童教育就和大家推荐几本适合孩子看的课外阅读书目&#…...

“汉语新解” Prompt新高度,火爆的李继刚

“汉语新解” prompt 是由李继刚设计的一个用于启发人工智能模型进行创意性文本生成的指令模板。这个 prompt 的设计初衷是为了让AI能够以一种独特的方式解析和重新诠释常见的中文词汇&#xff0c;从而产生出具有深刻洞察力和幽默感的文本内容&#xff0c;仿佛是由鲁迅或林语堂…...

论文:AOP框架安全框架-系统架构师(六十六)

1详细论述安全架构设计中鉴别框架和访问控制框架设计内容&#xff0c;并论述鉴别框架和访问控制所面临的主要威胁&#xff0c;说明其危害。 解析&#xff1a; 鉴别框架有用户密码鉴别、生物特征鉴别和多因素鉴别。 用户密码鉴别可以采用验证登入的用户账号是否正确。 生物特…...

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:下(人物动画)

上个博客我们做出了人物的动画机和人物移动跳跃&#xff0c;接下来我们要做出人物展现出来的动画了 我们接下来就要用到动画机了&#xff0c;双击我们的动画机&#xff0c;进入到这样的页面&#xff0c;我这是已经做好的页面&#xff0c;你们是没有这些箭头的 依次像我一样连接…...

Android 优雅封装Glide

文章目录 Android 优雅封装Glide核心思想定义策略接口定义图片选项实现Glide策略图片管理类使用 Android 优雅封装Glide 核心思想 使用策略模式实现不同图片加载框架的切换&#xff0c;使用建造者设计模式处理不同参数&#xff0c;最后通过 ImageLoader 进行管理。 定义策略…...

智能优化算法-粒子群优化算法(PSO)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 粒子群优化算法 (Particle Swarm Optimization, PSO) 是一种基于群体智能的元启发式优化算法&#xff0c;由Kennedy和Eberhart于1995年提出。PSO模拟了鸟群或鱼群的觅食行为&#xff0c;通过粒子之间的相互作用…...

vue系统获取授权平台授权码实现单点登录、注销功能

公司平台需要对接别的平台 实现单点登录 注销。简而言之&#xff0c;不需要在自己公司系统登录 统一在别的平台登录后获取到登录凭证&#xff08;授权码&#xff09; 在本公司系统实现免密登录的功能。 流程&#xff1a; 跳转授权页面和保存授权码的代码&#xff1a; hrefLog…...

Java之枚举

目录 枚举 引入 定义 代码示例 常用方法 代码示例 枚举的优缺点 枚举和反射 面试题 枚举 引入 枚举是在JDK1.5以后引入的。主要用途是&#xff1a;将一组常量组织起来&#xff0c;在这之前表示一组常量通常使用定义常量的方式&#xff1a; publicstaticintfinalRED1;…...

八、适配器模式

适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许不兼容的接口之间进行合作。适配器模式通过创建一个适配器类来转换一个接口的接口&#xff0c;使得原本由于接口不兼容无法一起工作的类可以一起工作。 主要组成部分&#xff1a; 目标…...

关于E-R图

一 什么是E-R图 E-R图&#xff08;Entity-Relationship Diagram&#xff09;是一种数据建模工具&#xff0c;用于描述数据库中实体之间的关系。它使用实体&#xff08;Entity&#xff09;、属性&#xff08;Attribute&#xff09;和关系&#xff08;Relationship&#…...

DVWA通关教程

Brute Force Low 先进行一下代码审计 <?php // 检查是否通过GET请求传递了Login参数&#xff08;注意&#xff1a;这里应该是username或类似的&#xff0c;但代码逻辑有误&#xff09; if( isset( $_GET[ Login ] ) ) { // 从GET请求中获取用户名 $user $_GET[ us…...

网络学习-eNSP配置VRRP

虚拟路由冗余协议(Virtual Router Redundancy Protocol&#xff0c;简称VRRP) VRRP广泛应用在边缘网络中&#xff0c;是一种路由冗余协议&#xff0c;它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱&#xff0c;允许主机使用单路由器&#xff0c;以及即使在实际…...

Kafka【九】如何实现数据的幂等性操作

为了解决Kafka传输数据时&#xff0c;所产生的数据重复和乱序问题&#xff0c;Kafka引入了幂等性操作&#xff0c;所谓的幂等性&#xff0c;就是Producer同样的一条数据&#xff0c;无论向Kafka发送多少次&#xff0c;kafka都只会存储一条。注意&#xff0c;这里的同样的一条数…...

JavaScript知识点1

目录 1.JavaScript中常用的数组方法有哪些&#xff1f; 2.JavaScript的同源策略&#xff1f; 3.JavaScript中的 NaN 是什么&#xff1f; 4.JavaScript中的split、slice、splice函数区别&#xff1f; 1.JavaScript中常用的数组方法有哪些&#xff1f; 在 JavaScript 中&…...

51单片机个人学习笔记11(AT24C02-I2C总线)

前言 本篇文章属于STC89C52单片机&#xff08;以下简称单片机&#xff09;的学习笔记&#xff0c;来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记&#xff0c;只能做参考&#xff0c;细节方面建议观看视频&#xff0c;肯定受益匪浅。 [1-1] 课程简介_哔哩…...

创建Java项目,可实现main方法运行,实现对性能数据的处理

1、Android Studio无法执行Java类的main方法问题及解决方法 Android Studio无法执行Java类的main方法问题及解决方法_delegatedbuild-CSDN博客 D:\workspaces\performanceTools\.idea 文件夹下&#xff0c;gardle.xml ,添加依赖 <option name"delegatedBuild"…...

JavaWeb(后端)

MVC MVC 就是 Model View Controller 的缩写&#xff0c;属于一种软件架构设计模式一种思想&#xff0c;把我们的项目分为控制器&#xff08;Controller&#xff09;、模型&#xff08;Model&#xff09;、视图&#xff08;view&#xff09;三个部分&#xff0c;model就是处理…...

828华为云征文 | 华为云Flexusx实例,高效部署Servas书签管理工具的优选平台

前言 华为云Flexus X实例&#xff0c;Servas书签管理工具部署的优选平台&#xff01;828节日特惠&#xff0c;让高效管理您的知识宝藏触手可及。Flexus X实例以其卓越的算力、灵活的资源配置和智能调优技术&#xff0c;为Servas提供了稳定、高效的运行环境。无论是快速访问、安…...

分治法和动态规划法

一、分治法&#xff08;Divide and Conquer&#xff09; 定义 分治法是一种将大问题分解成若干个小问题&#xff0c;递归地解决这些小问题&#xff0c;然后将这些小问题的解合并起来得到原问题的解的算法策略。&#xff08;子问题之间相互独立&#xff09; 基本步骤 1.分解…...

【FreeRL】我的深度学习库构建思想

文章目录 前言参考python环境效果已复现结果 综述DQN.py&#xff08;主要&#xff09;算法实现参数修改细节实现显示训练&#xff0c;保存训练 Buffer.pyevaluate.pylearning_curves 前言 代码实现在:https://github.com/wild-firefox/FreeRL 欢迎star 参考 动手学强化学习e…...

Docker部署nginx容器无法访问80端口

问题说明 在阿里云ECS服务器上部署一台CentOS服务器&#xff0c;然后在里面安装了docker服务。用docker部署了nginx&#xff0c;开启docker中的nginx服务&#xff0c;映射宿主机端口80 把阿里云服务器上面的安全组放开了80端口 但是还是无法访问nginx的80web界面 问题分析 查…...

Python语言开发学习之使用Python预测天气

什么是wttr&#xff1f; 使用Python预测天气的第一步&#xff0c;我们要了解wttr是什么。wttr.in是一个面向控制台的天气预报服务&#xff0c;它支持各种信息表示方法&#xff0c;如面向终端的ANSI序列(用于控制台HTTP客户端(curl、httpie或wget))、HTML(用于web浏览器)或PNG(…...