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

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

文章目录

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

为什么要数据交换?

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

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

总览

在这里插入图片描述

电路交换

在这里插入图片描述

电路交换的各个阶段

建立连接

首先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

相关文章

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要设置昵称 发送消息与消息展示 提示用户不能发送空消息 后端接口 发送消息 DB = []@ro

《数据结构(C语言版)第二版》第八章-排序(8.3-交换排序、8.4-选择排序)

8.3 交换排序 8.3.1 冒泡排序 【算法特点】 (1) 稳定排序。 (2) 可用于链式存储结构。 (3) 移动记录次数较多,算法平均时间性能比直接插入排序差。当初始记录无序,n较大时, 此算法不宜采用。 #include <stdio.h>#include <stdlib.h>#define MAXSIZE 26typedef int KeyType;typedef char In

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

Solr 使用Facet分组过程中与分词的矛盾解决办法

对于一般查询而言  ,  分词和存储都是必要的  .  比如  CPU  类型  ”Intel  酷睿  2  双核  P7570”,  拆分成  ”Intel”,”  酷睿  ”,”P7570”  这样一些关键字并分别索引  ,  可能提供更好的搜索体验  .  但是如果将  CPU  作为 Facet  字段  ,  最好不进行分词  .  这样就造成了矛盾  ,  解决方法

Java 多线程的基本方式

Java 多线程的基本方式 基础实现两种方式: 通过实现Callable 接口方式(可得到返回值):

前端form表单+ifarme方式实现大文件下载

// main.jsimport Vue from 'vue';import App from './App.vue';import { downloadTokenFile } from '@/path/to/your/function'; // 替换为您的函数路径// 将 downloadTokenFile 添加到 Vue 原型上Vue.prototype.$downloadTokenF