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

本文主要是介绍计算机网络-数据交换方式(电路交换 报文交换 分组交换及其两种方式 ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

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

为什么要数据交换?

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

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

总览

在这里插入图片描述

电路交换

在这里插入图片描述

电路交换的各个阶段

建立连接

首先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通过滑动窗口机制来控制数据的发送速率,以适应网络的拥塞情况和接收方的处理能力。

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

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

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

在这里插入图片描述

小结

在这里插入图片描述

这篇关于计算机网络-数据交换方式(电路交换 报文交换 分组交换及其两种方式 )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/661064

相关文章

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

Java8 Collectors.toMap() 的两种用法

《Java8Collectors.toMap()的两种用法》Collectors.toMap():JDK8中提供,用于将Stream流转换为Map,本文给大家介绍Java8Collector... 目录一、简单介绍用法1:根据某一属性,对对象的实例或属性做映射用法2:根据某一属性,对对象集合进行去重二、Du

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

java读取excel文件为base64实现方式

《java读取excel文件为base64实现方式》文章介绍使用ApachePOI和EasyExcel处理Excel文件并转换为Base64的方法,强调EasyExcel适合大文件且内存占用低,需注意... 目录使用 Apache POI 读取 Excel 并转换为 Base64使用 EasyExcel 处

Spring Boot中获取IOC容器的多种方式

《SpringBoot中获取IOC容器的多种方式》本文主要介绍了SpringBoot中获取IOC容器的多种方式,包括直接注入、实现ApplicationContextAware接口、通过Spring... 目录1. 直接注入ApplicationContext2. 实现ApplicationContextA