计算机网络-数据交换方式(电路交换 报文交换 分组交换及其两种方式 )

文章目录

  • 为什么要数据交换?
  • 总览
  • 电路交换
    • 电路交换的各个阶段
      • 建立连接
      • 数据传输
      • 释放连接
    • 电路交换的特点
    • 电路交换的优缺点
  • 报文交换
    • 报文交换流程
    • 报文交换的优缺点
  • 分组交换
    • 分组交换流程
    • 分组交换的优缺点
  • 数据交换方式的选择
  • 分组交换的两种方式
    • 数据报方式
      • 数据报方式的特点
    • 虚电路方式
      • 建立连接 (与电路交换类似)
      • 数据传输 (与电路交换类似)
      • 数据传输 (与电路交换类似)
      • 虚电路方式的特点
    • 数据报&虚电路
  • 小结

为什么要数据交换?

如果每两两连接,那么链路太多了。所以采用交换设备

交换设备再互相形成链路就能实现更多计算机的通信
在这里插入图片描述

总览

在这里插入图片描述

电路交换

在这里插入图片描述

电路交换的各个阶段

建立连接

首先A向其连接的交换设备A发送呼叫请求,该请求包含了源主机A和目的主机B的地址
然后交换设备A通过路由选择算法。选择下一步往哪里走,然后将A给它的呼叫请求转发给下一个节点交换设备B
然后交换设备B通过路由选择算法,。选择下一步往哪里走,然后将A给它的呼叫请求转发给下一个节点交换设备C
然后交换设备C通过路由选择算法,。选择下一步往哪里走,然后将A给它的呼叫请求转发给下一个节点交换设备D
然后交换设备D直接转发呼叫请求给B

如果B可以接收A的连接请求,就会按照原路返回发送呼叫应答

A接收到后,A和B的连接线路建立成功
在这里插入图片描述

数据传输

此时A和B是全双工的通信方式
并且链路都是之前确定的线路

释放连接

按照之前的线路A发送释放请求
B接收到释放请求后,返回一个释放应答,也按照原路返回到A,并且会依次断掉各段连接(如送到D,就断掉D和B的连接)
在这里插入图片描述

电路交换的特点

电路交换是一种通信网络中使用的交换技术,具有以下显著特点:

  1. 建立专用通路:在通信双方之间建立一个专用的通信路径,这条路径会一直保持开放状态直到通信结束。
  2. 信息传送单位:电路交换中,信息传送的最小单位是时隙(time slot),即在预先分配的时间槽内进行数据传输。
  3. 端对端通信:电路交换实现的是端对端的通信,这意味着一旦电路建立,数据可以直接在两个终端之间传输。
  4. 资源分配方式:电路交换按照某种方式动态地分配传输线路的资源,一旦电路建立,该资源就被这对通信双方独占。
  5. 应用场景:电路交换主要应用于电话通信网中,完成电话交换,已有100多年的历史。它也是最早出现的一种交换方式,并且应用非常普遍。

总的来说,电路交换的特点在于为通信双方提供一条专用的、持续的通信路径,这种方式适用于需要连续、稳定通信的场景,如传统电话通话

独占资源:建立的链路不能被其他资源所使用
适用大量的数据传输:因为需要花费一定时间建立连接,如果传输太少了,那么有点花不来
在这里插入图片描述

电路交换的优缺点

线路被独占的,所以传输直接按照线路来,所以时延小
顺序传送,无失序:相当于是流水线一样的,流水线就是线路,数据放到上面后,就传到目标主机那里(先放先到)。所以说是顺序传送,没有失序问题

电路交换的交换设备主要采用交换机

  • 缺乏数据存储能力:由于电路交换是实时建立连接的,它不具备数据存储的能力。这意味着如果通信过程中出现任何中断或错误,数据可能会丢失,而且无法像分组交换那样进行重传或纠错。
  • 难以平滑通信量:电路交换的资源被通信双方独占,即使在通信线路空闲时,也不能供其他用户使用,这导致信道利用率低。因此,当通信量波动较大时,电路交换难以实现资源的动态分配和优化,不如分组交换那样能够有效地平滑通信量。

数据直达所以如果设备类型不同,可能无法识别处理这些数据
在这里插入图片描述

报文交换

在这里插入图片描述
报文就是你单次发送给对方的东西(如发条语音给对方,语音就是报文,发条信息给对方,信息就是报文,发个文件给对方,文件就是报文)
在这里插入图片描述

报文交换流程

传送的信息+报头=报文
在这里插入图片描述
首先到交换设备A
等输出电路空闲时:应该就是可以开始找下一个节点和发送报文出去
路由信息:交换设备有路由表,根据这个表判断走哪个节点距离目的主机更近。此时发现走交换设备B比较短
在这里插入图片描述
到达交换设备B
注意报文交换方式所有线路都可以传输其他用户的报文,不是说某个线路只能由某个用户所使用。其线路对应的限制就是带宽。如果该线路传输的各个用户的报文的数据量超过带宽,此时这个线路被认为是比较繁忙的。此时会需要交换设备暂存这个报文,等线路空闲一些的时候再传(存储转发)

在这里插入图片描述
到达B
在这里插入图片描述

报文交换的优缺点

用户可随时发送报文:就是不需要等连接建立才可以发送了
动态分配路线:平滑通信量。假设A到B的数据量很多, 同时A到C的数据量比较少,且C也能到目的主机 ,此时交换设备A通过动态选择发送报文给交换设备C

注意此时第四个优点中占用信道也不是独占

报文交换之所以能够同时发往多个目的地址,主要是因为它提供了多目标服务的能力。这种能力使得一个报文可以被复制并发送到多个预定的接收者,这在电路交换中是很难实现的,电路交换中相当于把一封信传来传去。所以最后只能由一个人接收到。报文交换就相当于是可以把一封信复制然后再传给别人,所以最后可以由很多人接收到。

具体来说,以下是一些详细的解释:

  1. 存储转发机制:报文交换网络中的每个节点都有存储功能,可以暂时保存经过的报文。当报文到达一个节点时,它会先被存储下来,然后根据报文中的目的地址信息进行转发。这种机制使得报文可以在节点处被复制并发送到不同的目的地。
  2. 灵活的路由选择:报文交换允许动态路由选择,即报文在传输过程中可以根据网络状况选择最佳的路径。这种灵活性使得报文可以根据需要被发送到多个目的地,而不受固定路径的限制。
  3. 无需建立连接:与电路交换不同,报文交换不需要预先建立固定的通信路径。这意味着报文可以直接被发送到多个目的地,而不需要在发送前建立多个连接。

实时:可以理解为很快反应

在这里插入图片描述

分组交换

在这里插入图片描述

分组交换流程

此时大数据块不切割就是报文交换了
在这里插入图片描述
分组后
编号是分组编号,目的主机用来重组分组的
在这里插入图片描述
接收到第一个分组后,进行差错检测以及路由选择,假设此时选了上面的路
在这里插入图片描述
接收到第二个分组后,进行差错检测以及路由选择,假设此时也选了上面的路
在这里插入图片描述
接收到第三个分组后,进行差错检测以及路由选择,此时由于一二分组都走了上面的路,那么上面的路有些拥堵了,所以走到下面的路了
在这里插入图片描述
最后按照这样的逻辑到达目的主机后,目的主机根据编号重组

分组交换的优缺点

在分组交换中,交换节点对存储器的管理之所以可以简化为对缓冲区的管理,是因为分组长度固定,分组交换网络中的分组长度通常是固定的,这意味着每个分组所需的缓冲区大小也是固定的。这种固定的大小使得交换节点可以预先分配固定大小的缓冲区给每个到来的分组,从而简化了存储器的管理过程。

减少等待发送时间:就是说缓冲区中下一个分组等待发送前一个分组的时间比较短
分组小:出错概率自然小,重发数据量也小

分组交换适用于突发式数据通信。

分组交换技术通过将数据划分为多个小的、等长的数据段,并在每个数据段前加上必要的控制信息作为首部,形成了一个个分组。这种机制使得分组交换网络能够高效地处理突发性数据流量。以下是分组交换适用于突发式数据通信的几个原因:

  1. 资源利用效率高:分组交换不需要预先占用整条通信链路的资源,只有当分组在某段链路上传送时才占用该段链路的资源。这意味着在没有数据传输时,链路资源可以被其他通信所使用,从而提高了资源的利用效率。
  2. 灵活性强:分组交换采用存储转发技术,允许交换机将接收到的分组暂时存储下来,在目的方向路由上排队,等待转发。这种机制使得网络能够更好地适应流量的波动,即使在突发流量情况下也能保持较高的传输效率。
  3. 适应性好:由于分组短小,分组交换特别适用于计算机之间的突发式数据通信。在突发式通信中,数据往往是不连续的,分组交换能够快速响应这种不连续性,实现数据的快速传输。
  4. 容错能力强:分组交换网络中的每个分组都包含有完整的地址信息和控制信息,这使得即使部分分组在传输过程中丢失或出错,也能够独立重传或修正,而不会影响整个数据流的传输。
  5. 优先级管理:分组交换网络可以根据分组的紧急程度为不同的分组分配不同的优先级,紧急数据可以得到即时传送,非常适合突发性紧急数据的传输需求。

尽管分组交换在处理突发式数据通信方面具有优势,但它也存在一些缺点,如存储转发时延和结点交换机需要更强的处理能力。不过,这些缺点并不妨碍分组交换成为现代通信网络中处理突发式数据通信的有效方式。

分组交换的传输时延之所以比报文交换的时延少,主要是因为分组交换采用了较小的数据单元进行传输。具体来说,分组交换的优势在于:

  1. 更小的传输单元:分组交换将数据分割成较小的分组(数据包),这些分组相对于完整的报文来说更短,因此传输时间更快。
  2. 并行处理能力:由于分组是独立的,它们可以在网络中的不同路径上并行传输,而不必等待整个报文传输完毕,这样就减少了传输延迟。
  3. 缓冲区管理效率:分组交换中,分组长度固定,这使得缓冲区更容易管理,交换机可以快速地处理和转发分组,减少了在节点的处理时间。
  4. 排队时延降低:在分组交换中,由于分组较小,即使网络流量较大,分组在队列中的等待时间也会相对较短,这降低了排队时延。
  5. 容错能力:分组交换允许单个分组独立处理,如果发生错误,只需重传出错的分组,而不是整个报文,这也有助于减少整体的传输时延。

总的来说,分组交换通过将数据分成小的单元进行传输,不仅提高了网络的传输效率,还减少了传输时延,使其成为现代通信网络中广泛采用的一种数据传输方式。

当分组交换采用数据报服务:具体来说,数据报服务是分组交换的一种形式,它不要求在数据传输前建立固定的通信路径。在这种服务中,每个分组都独立选择路由,可能通过不同的路径到达目的地。这种方式的优点在于其灵活性和快速性,因为它不需要预先建立和维护一个固定的通信路径。然而,这也带来了一些挑战,比如分组可能会失序、丢失或重复,需要在目的节点重新组装成原始报文。

在这里插入图片描述

数据交换方式的选择

可以看到报文交换需要等到报文都到达下一个节点后下一个节点才可以进行相应处理,而分组交换不需要,其当前节点发送下一个分组的同时,上一个发送的分组到达的节点也可以发送该分组到达下一个节点。所以可以看出分组交换时延比报文交换更小

时延小:所以适合突发式的数据通信的快速处理
在这里插入图片描述

分组交换的两种方式

数据报方式

在这里插入图片描述

数据报方式的特点

之前说的分组交换都是按照数据报方式
同一报文到达目的会乱序重复与丢失等相关情况,所以需要分组编号来对应处理

在网络通信中,交换节点可能会丢弃部分分组,这种情况通常发生在网络拥塞或故障时。当交换节点的缓存空间不足,无法存储更多的分组时,它可能会根据一定的策略丢弃部分分组,以保持网络的正常运行。

丢弃分组可能会对数据传输造成一定的影响,如导致数据丢失、传输延迟增加等问题。因此,在设计网络系统时,需要考虑到这种情况,并采取相应的措施来应对。

一种常见的方法是在分组中加入序列号和校验和等信息,以便在接收端检测和修复丢失的分组。此外,一些网络协议还提供了重传机制,允许发送方在未收到确认信息时重新发送分组。
在这里插入图片描述

虚电路方式

与电路交换的方式很像
在这里插入图片描述

建立连接 (与电路交换类似)

呼叫请求和呼叫应答都是一个分组
转发到下个节点,下个节点根据路由算法再转发到下一个节点
主机B接收到后,再按原路返回到呼叫应答
在这里插入图片描述
在这里插入图片描述

数据传输 (与电路交换类似)

传输的是分组,每个分组不需要携带目的地址等信息,因为连接建立后,线路固定了,只能沿路线走

此时数据传输时每个分组携带的虚电路号:标识哪条线路

数据传输 (与电路交换类似)

主机A发送释放请求,主机B返回释放应答,并且逐段释放虚电路

虚电路方式的特点

电路交换是物理连接,而虚电路是逻辑连接。具体分析如下:

  • 电路交换:是一种在通信双方之间建立专用物理通路的通信方式。这种连接是物理的,因为它涉及到实际的物理线路,这些线路在通信过程中被独占,直到通信结束。电路交换的特点是面向连接,即在数据传输之前需要建立一个固定的物理路径,这个路径在整个通信过程中保持开放和不变。
  • 虚电路:是一种在网络中建立的虚拟连接,它并不涉及物理线路的独占。虚电路通过在网络中的多个节点之间建立一系列的逻辑关联来实现,这些逻辑关联可以看作是在物理网络之上的“虚拟”路径。虚电路的连接是临时性的,会话结束后,这种连接就会被释放,而且一条物理线路可以支持多条虚电路的逻辑连接。

链路依然是共享的,虚电路不是独占的,不像电路交换那样
在这里插入图片描述

数据报&虚电路

数据报和虚电路的可靠性保证机制不同,具体如下:

数据报的可靠性保证:

  • 用户主机保证:在数据报服务中,网络层提供的是尽最大努力交付的服务,不保证分组的可靠传输。因此,可靠性通常由用户主机来保证。这意味着用户需要自己处理分组的出错、丢失、重复和失序问题。例如,通过在高层协议(如TCP)中实现确认、重传和排序机制来确保数据的完整性和顺序性。
  • 完整地址:每个数据报分组都包含终点的完整地址,这使得每个分组都可以独立路由,增加了网络的灵活性。但是,这也意味着每个分组都需要携带额外的路由信息,这会增加开销。

虚电路的可靠性保证:

  • 网络保证:虚电路服务是面向连接的,网络负责维护这条逻辑上的连接,通常能提供较为可靠的数据传输。一旦建立连接,所有分组按照同一路由进行传输,网络中的节点会维护这个连接的状态,从而保证了数据传输的可靠性和顺序性。
    短的虚电路信号:在虚电路中,连接建立后,每个分组只需使用
  • 短的虚电路号来标识自己,减少了头部开销。同时,由于分组沿相同的路径传输,网络可以提供流量控制和差错控制,进一步提高了通信的可靠性。

总的来说,数据报服务的可靠性主要依赖于用户主机的处理,而虚电路服务的可靠性则由网络本身来保证。

数据报和虚电路在差错处理和流量控制方面具有不同的机制和策略。

数据报的差错处理和流量控制:

  • 差错处理:在数据报服务中,每个分组都是独立传输的,因此差错处理通常是由目标主机来负责的。目标主机需要对每个收到的数据报进行差错检测,通常使用校验和或CRC检查。如果发现错误,数据报将被丢弃,并可能要求重传。重传的策略取决于高层协议,如TCP会使用确认和超时机制来实现可靠的传输。
  • 流量控制:数据报服务本身并不提供流量控制机制。流量控制通常是由高层协议实现的,例如TCP通过滑动窗口机制来控制数据的发送速率,以适应网络的拥塞情况和接收方的处理能力。

虚电路的差错处理和流量控制:

  • 差错处理:虚电路服务提供了更可靠的通信方式。一旦建立连接,所有分组按照同一路由进行传输,网络中的节点会维护这个连接的状态,并进行差错检测。如果某个分组出现错误,网络可以采取适当的行动,如请求重传或报告错误。这种机制确保了数据传输的可靠性和完整性。
  • 流量控制:虚电路服务通常提供流量控制机制,以确保发送方不会超过接收方的处理能力或网络的容量。这可以通过一些技术来实现,如缓冲区管理和窗口机制。例如,发送方可能会根据从接收方接收到的反馈信息调整数据的发送速率。

总的来说,数据报和虚电路在差错处理和流量控制方面有不同的策略和机制。数据报依赖于目标主机和高层协议来进行差错处理和流量控制,而虚电路则由网络本身提供这些功能。

在这里插入图片描述

小结

在这里插入图片描述

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

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

相关文章

基于二值化图像转GCode的双向扫描实现

基于二值化图像转GCode的双向扫描实现 什么是双向扫描双向扫描代码示例 基于二值化图像转GCode的双向扫描实现 什么是双向扫描 在激光雕刻中,双向扫描(Bidirectional Scanning)是一种雕刻技术,其中激光头在雕刻过程中沿两个方向…

怎么查询鸿蒙真机支持的API版本

1、打开设备的开发者模式与USB调试并通过USB连接上电脑。 2、管理员身份运行cmd。 3、进入hdc.exe所在目录。(鸿蒙OS IDE的SDK下载目录中) 4、输入hdc shell,进入特殊模式 5、输入 getprop hw_sc.build.os.apiversion 查看API版本 6、输入 getprop hw_sc.build…

算法:积木游戏学习数学

一、算法描述 小华和小微一起通过玩积木游戏学习数学。 他们有很多积木,每个积木块上都有一个数字,积木块上的数字可能相同。 小华随机拿一些积木挨着排成一排,请小微找到这排积木中数字相同且所处位置最远的2块积木块,计算他们的…

Java 开发环境 全套包含IDEA

一、JDK配置 1.下载 JDK Builds from Oracle 去这边下载open JDK 2.JDK环境变量配置 按win,打开设置 找到环境变量编辑 这边输入的是你下载的那个JDK的bin的路径 检擦配置是否正确在cmd中输入 二、IDEA安装配置 1.下载(社区版) JetBrai…

华为---STP(二)---STP报文和STP端口状态

目录 1. STP报文简介 1.1 Configuration BPDU 1.2 TCN BPDU 2. STP交换机端口状态 2.1 STP交换机端口状态表 2.2 STP交换机端口状态迁移过程图 2.3 STP交换机端口状态变化举例说明 3 引起的STP网络拓扑改变的示例 3.1 根桥出现故障 3.2 有阻塞端口的交换机根端口所在…

学习鸿蒙基础(2)

arkts是声名式UI DevEcoStudio的右侧预览器可以预览。有个TT的图标可以看布局的大小。和html的布局浏览很像。 上图布局对应的代码: Entry //入口 Component struct Index {State message: string Hello Harmonyos //State 数据改变了也刷新的标签build() {Row()…

万户 ezOFFICE DocumentEditExcel.jsp SQL注入漏洞

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

Unity3D正则表达式的使用

系列文章目录 unity工具 文章目录 系列文章目录前言一、匹配正整数的使用方法1-1、代码如下1-2、结果如下 二、匹配大写字母2-1、代码如下1-2、结果如下 三、Regex类3-1、Match()3-2、Matches()3-3、IsMatch() 四、定义正则表达式…

React、React Router、JSX 简单入门快速上手

React、React Router、JSX 简单入门快速上手 介绍特点 JSX使用js表达式渲染列表样式控制注意事项 入门脚手架创建react项目安装目录介绍入口文件解析 组件解析介绍函数式组件类组件 事件绑定注意点定义使用事件对象事件处理函数接收额外参数 组件状态状态的定义使用 组件通信父…

探索水下低光照图像检测性能,基于YOLOv7【tiny/l/x】不同系列参数模型开发构建海底生物检测识别分析系统

海底这类特殊数据场景下的检测模型开发相对来水比较少,在前面的博文中也有一些涉及,感兴趣的话可以自行移步阅读即可: 《尝试探索水下目标检测,基于yolov5轻量级系列模型n/s/m开发构建海底生物检测系统》 《基于YOLOv5C3CBAMCBA…

ElementUI Form:Radio 单选框

Radio 单选框 点击下载learnelementuispringboot项目源码 效果图 el-radio.vue 页面效果图 项目里el-radio.vue代码 <script> export default {name: el_radio,data() {return {radio: 1,radio2: 2,radio3: 3,radio4: 上海,radio5: 上海,radio6: 上海,radio7: 上海,r…

微信小程序如何实现点击上传图片功能

如下所示,实际需求中常常存在需要点击上传图片的功能,上传前显示边框表面图片显示大小,上传后将图形缩放到边框大小。 实现如下: .wxml <view class="{{img_src==?blank-area:}}" style="width:100%;height:40%;display:flex;align-items: center;jus…

【C++航海王:追寻罗杰的编程之路】引用、内联、auto关键字、基于范围的for、指针空值nullptr

目录 1 -> 引用 1.1 -> 引用概念 1.2 -> 引用特性 1.3 -> 常引用 1.4 -> 使用场景 1.5 -> 传值、传引用效率比较 1.6 -> 值和引用作为返回值类型的性能比较 1.7 -> 引用和指针的区别 2 -> 内联函数 2.1 -> 概念 2.2 -> 特性 3 -…

聊聊DoIP吧

DoIP是啥? DoIP代表"Diagnostic over Internet Protocol",即互联网诊断协议。它是一种用于在车辆诊断中进行通信的网络协议。DoIP的目标是在现代汽车中实现高效的诊断和通信。通过使用互联网协议(IP)作为通信基础,DoIP使得诊断信息能够通过网络进行传输,从而提…

Uniapp小程序端打包优化实践

背景描述&#xff1a; 在我们最近开发的一款基于uniapp的小程序项目中&#xff0c;随着功能的不断丰富和完善&#xff0c;发现小程序包体积逐渐增大&#xff0c;加载速度也受到了明显影响。为了提升用户体验&#xff0c;团队决定对小程序进行一系列打包优化。 项目优化点&…

近期作业总结(函数,递归,二进制)

二分查找函数 写一个二分查找函数 功能&#xff1a;在一个升序数组中查找指定的数值&#xff0c;找到了就返回下标&#xff0c;找不到就返回-1。 int bin_search(int arr[], int left, int right, int key) {int mid 0;while (left < right) {mid (right left) / 2;if…

Labview 图像处理系统设计

1. 总体主界面设计 前面板界面如下&#xff1a; 界面总共分为一个实时采集加拍照控制模块&#xff0c;两个图像显示模块&#xff08;实时图像显示和直方图显示&#xff09;以及三个图像处理模块 前面板中各模块具体功能及使用说明如下&#xff1a; 1.当实时按钮关闭时&#x…

代码随想录day15--二叉树的应用3

LeetCode110--平衡二叉树 题目描述&#xff1a; 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1&#xff1a; 输入&#xff1a…

Kotlin快速入门系列8

Kotlin的泛型 与Java一样&#xff0c;Kotlin也提供泛型。泛型&#xff0c;即 "参数化类型"&#xff0c;将类型参数化&#xff0c;可以用在类&#xff0c;接口&#xff0c;方法上。可以为类型安全提供保证&#xff0c;消除类型强转的烦恼。声明泛型类的格式如下&…

《CSS3》田字网格背景(外实线内虚线)的实现

一、前言 记录一些有趣的CSS实现方式&#xff0c;总所周知&#xff0c;当一段效果可以通过CSS实现的时候&#xff0c;绝不使用Javascript来实现&#xff0c;因此记录一些有意思的CSS效果&#xff0c;一来是方便自己学习&#xff0c;另一来是方便以后在需要使用到的时候能快速找…