🚀三种交换方式
🚀电路交换
✨电话交换机接通电话线的方式叫做电路交换;
✨从通信资源分配角度看,交换就是按照某种方式动态地分配传输线路的资源
✨电路交换是一种传输数据的方式,其中在通信开始时,在源和目的地之间建立一条专用的物理连接(电路)。这条连接在通信会话期间一直保持,直到通信结束,无论数据是否在这条连接上传输。这些连接是预分配的,且在连接期间不会被其他用户使用。
✨电路交换有时被用于需要实时、连续、稳定带宽的应用,如电话网络。然而,它具有固定的带宽和较高的建立和维护成本,并且在不传输数据时也会浪费带宽。
注意:电话线归电话用户专用,而电话交换机之间拥有的大量话路中继线则是许多用户共享的
🚀电路交换三大步骤
✨建立连接(分配通信资源)
建立连接是电路交换的第一步。在通信会话开始之前,源和目的地之间必须建立一个物理连接(电路)。此连接将为数据传输提供一个专用的传输路径。
在建立连接过程中,源和目的地之间的通信设备(如调制解调器或交换机)会通过信令交换协议进行通信,以建立可靠的连接。此过程通常涉及协商连接参数,例如带宽、连接时长等。
这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他资源占用
✨通话(一直占用通信资源)
在整个通话期间,第一步建立连接所分配的通信资源始终被占用
✨释放连接(归还通信资源)
当数据传输完成或通信会话结束时,连接需要被释放。释放连接是电路交换的最后一步。在连接释放期间,源和目的地之间的通信设备将发送信令交换协议来关闭连接并释放相关的资源。
释放连接后,连接上的资源将被释放,使其可供其他通信会话使用。这样,连接的通信路径将返回到空闲状态,等待下一次连接的建立。
思考:如果使用电路交换来传送计算机数据,是否可行?
✨当使用电路交换来传送计算机数据时,线路的传输效率往往很低
✨固定带宽分配:在电路交换中,连接的带宽被静态分配给建立的连接。这意味着连接占用的带宽在整个连接期间保持不变,无论是否有实际数据传输。对于计算机数据,这种固定带宽的分配可能导致资源浪费,因为计算机数据传输通常是不连续、突发性的。
✨连接建立和维护开销:电路交换需要在通信开始之前建立连接,并在通信结束后释放连接。这涉及到信令交换和建立连接所需的时间、开销和复杂性。对于大规模的计算机数据传输,频繁建立和释放连接可能会增加延迟并降低系统的效率。
✨对实时性的需求:电路交换通常用于实时、连续的通信,如电话通讯或视频传输。对于计算机数据传输,实时性的需求可能不如前述通信那样强烈。计算机数据传输更注重低延迟、高带宽和高吞吐量,这些要求可能与电路交换的固定带宽分配和连接建立开销相冲突。
📜所以计算机网络通常采用分组交换,而不是电路交换
🚀分组交换
在因特网中最重要的分组交换机就是路由器,负责将各种网络互联起来,并对收到的分组进行转发,也就是进行分组交换
🚀分组交换的过程
例如主机H6的用户要给主机H2的用户发送一条消息,通常我们把表示该消息的整块数据称为一个报文,在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段,在每一个数据段前面加上一些由必要的控制信息组成的首部后,就构成了一个分组,也可简称为"包"
相应的首部也可以称为”包头“
✨总结详细分组交换过程的描述就是:
数据分组:
在分组交换中,源将待传输的数据划分成较小的数据包(分组)。每个分组通常包含数据的一部分,还包含一些用于路由和传输控制的元数据,如源地址、目的地址、校验和等。
路由选择:
每个分组都会根据目的地址进行路由选择,以确定经过哪些网络设备(如路由器)进行转发。路由选择算法会根据目的地的网络地址以及当前网络拓扑和路由表信息来决定下一跳的路径。
转发分组:
路由器根据选择的路径,将数据分组从输入接口转发到输出接口。此过程涉及物理层和链路层的操作,包括物理信号的调制、调整帧的格式、进行差错检测和纠错等。
路由器根据分组的目的地址和路由表信息来确定下一跳的输出接口,并将分组通过该接口转发给下一个路由器或目的设备。
分组重新组装:
在传输过程中,分组可能会通过多个路由器进行中转。一旦分组到达目的设备,目的设备将根据分组的顺序和目的地址重新组装数据包。
数据传输完成:
一旦所有数据包都按正确顺序重新组装,并且校验和等验证步骤通过,数据传输任务就完成了。
在分组交换中,数据被划分成较小的分组,这些分组独立地在网络中传输。与电路交换不同,分组交换不需要建立专用的物理连接,分组可以在网络中根据实时流量和路由选择动态地分配带宽和路径。这使得分组交换网络能够灵活地适应不同的传输需求,并且能够有效地利用网络资源。
✨思考:添加首部的作用是什么?这难道不是额外的加大了待传输的数据量嘛?
首部及其重要,首部中包含了分组的目的地址,否则分组传输路径中的各分组交换机(也就是各路由器),就不知道如何转发分组了,分组交换机收到一个分组后,先将分组暂时储存下来,再检查其首部,按照首部中的目的地址进行查表转发找到合适的转发接口,将分组转发给下一个分组交换机,如H6传输数据到H2中,主机H6将所构造出的各分组依次发送出去,各分组经过途中各分组交换机的存储转发,最终到达H2,主机H2收到这些分组后,去掉它们的首部,将各数据段组合还原出原始报文
我们这里只演示出来分组传输过程中的两种情况:
一种是各分组从源站到达目的站可以走不同的路径(也就是不同的路由);
一种是分组乱序,也就是分组到达目的站的顺序不一定与分组在源站的发送顺序相同,可能会出现分组丢失,误码,重复的问题
🚀在分组交换过程中,我们宏观来看
发送方的任务是构造分组,发送分组
路由器(也就是分组交换机)的任务是缓存分组,转发分组,可以简称为"存储转发"
接收方任务就是接收分组,还原报文
🚀报文交换
与分组交换类似,报文交换中的交换结点也采用存储转发方式
但报文交换对报文大小没有限制,这就要求交换结点要有较大的缓存空间
✨报文交换主要用在哪里?
1.早期的电报通信网
2.传统电话系统:在传统的电话网络中,通话过程中的语音信号被转换为数字信号,并封装成报文进行交换和传输。
3.电子邮件:在电子邮件系统中,邮件被封装成报文,并通过邮件服务器进行交换。邮件报文可以包含文本、附件、图片等多种类型的数据。
4.文件传输:在文件传输过程中,文件被划分为报文进行交换。报文交换可以通过各种协议和技术进行,如FTP(文件传输协议)、HTTP(超文本传输协议)等。
5.传感器网络:报文交换在传感器网络中起到重要的作用。传感器节点生成的数据被封装成报文,并通过网络传输到目的地进行处理和分析。
不过较少使用了,都被比较先进的分组交换取代
🚀三种交换方式的对比 (总结过程)
场景:假设abcd是分组传输路径上所要经过的四个结点交换机,纵坐标为时间
下面引用湖科大教书匠的总结:我觉得还不错,很详细
✨电路交换
1.通信之前首先要建立连接
2.连接建立好之后,就可以使用已建立好的连接进行数据传送
3.数据传送结束后,需要释放连接,以归还之前建立连接所占用的通信线路资源。
✨报文交换
1.可以随时发送报文,而不需要事先建立连接
2.整个报文先传送到相邻节点交换机
3.全部存储下来后进行查表转发。转发到下一个节点交换机
✨分组交换
1.可以随时发送分组,而不需要事先建立连接
2.构成原始报文的一个个分组,依次在各节点交换机上存储、转发
3.各节点交换机在发送分组的同时,还缓存接收到的分组
✨当使用电路交换时,一旦建立连接中间的各结点交换机就是直通形式的,比特流可以直达终点。
✨当使用报文交换时,整个报文需要在各结点交换机上进行存储转发。由于不限制报文的大小,因此需要各节点交换机都具有较大的缓存空间。
✨当使用分组交换时。构成原始报文的一个个分组,在各节点交换机上进行存储、转发。相比报文交换,减少了转发时延,还可以避免过长的报文长时间占用链路。同时也有利于进行差错控制。
🚀三种交换方式的优缺点
表格总结
报文交换 | 分组交换 | 电路交换 | |
单位传输 | 整个报文 | 分组(packet) | 信道资源(电路) |
传输方式 | 存储转发(store-and-forward) | 存储转发(store-and-forward) | 直接连接/预分配信道 |
传输效率 | 低(需要传输整个报文) | 高(数据分组较小,传输效率高) | 高(直接连接,无需寻址或分组处理) |
适用领域 | 电子邮件、文件传输、传感器网络、RPC等 | 互联网、数据通信网络等 | 传统电话网络、实时音视频通信等 |
报文完整性和一致性 | 高(报文被作为单个单元传输) | 一般(分组传输可能出现丢失、重复或乱序) | 高(创建的电路保证了数据传输的完整性和时序) |
资源利用率 | 低(报文传输过程中可能存在空闲资源) | 高(分组传输可以共享网络资源) | 高(电路在通话过程中独占信道资源) |
传输延迟 | 可变(取决于报文大小和网络拥塞状况) | 可变(取决于分组大小和网络拥塞状况) | 低(预先建立的电路减少了建立连接的时间开销) |
网络可靠性和鲁棒性 | 一般(可能受到分片、装载和网络故障的影响) | 一般(较高丢包率、延迟和乱序的可能性) | 高(预分配的电路稳定,不受其他流量的影响) |
灵活性和扩展性 | 一般(需要额外的报文首部及处理逻辑) | 高(可以根据需要灵活地调整分组大小和协议) | 低(需要预分配足够的电路资源) |
文字总结(来自湖可大教书匠)
✨电路交换的优点
1.通信时延小,这是因为通信线路为通信双方用户专用数据直达,因此通信时延非常小。当连续传输大量数据时,这一优点非常明显。
2.有序传输。这是因为通信双方之间只有一条专用的通信线路。数据只在这一条线路上传输,因此不存在失序问题。
3.没有冲突。不同的通信双方拥有不同的信道,不会出现征用物理信道的问题
4.使用范围广,电路交换既适用于传输模拟信号,也适用于传输数字信号
5.实时性强。这主要得益于其通信时延小的优点
6.控制简单。电路交换的节点、交换机及其控制都比较简单。
✨缺点
1.建立连接时间长,电路交换的平均连接建立时间对计算机通信来说太长了
2.线路独占,使用效率低,电路交换一旦建立连接,物理通路就被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率很低
3.灵活性差,只要连接所建立的物理通路中的任何一点出现了故障,就必须重新拨号建立新的连接,这对十分紧急和重要的通信是很不利的
4.难以规格化。电路交换时数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。
✨报文交换的优点如下
1.无需建立连接。报文交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接的时延。用户可以随时发送报文
2.动态分配线路。当发送方把报文传送给结点交换机时,结点交换机先存储整个报文,然后选择一条合适的空闲线路,将报文发送出去
3.提高线路可靠性,如果某条传输路径发生故障,会重新选择另一条路径传输数据,因此提高了传输的可靠性
4.提高线路利用率,通信双方不是固定占用一条通信线路,而是在不同的时间分段部分占用物理线路,因而大大提高了通信线路的利用率
5.提供多目标服务,一个报文可以同时发送给多个目的地址,这在电路交换中是很难实现的。
✨缺点
1.第一引起了转发时延,这是因为报文在结点交换机上要经历存储、转发的过程
2.需要较大的存储缓存空间,这是因为报文交换对报文的大小没有限制
3.需要传输额外的信息量,这是因为报文需要携带目标地址、源地址等信息
✨分组交换的优点如下
1.第一,无需建立连接,分组交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接的时延,用户可以随时发送分组
2.线路利用率高,通信双方不是固定占用一条通信线路,而是在不同的时间分段部分占用物理线路,因而大大提高了通信线路的利用率
3.简化了存储管理,这是相对于报文交换而言的,因为分组的长度固定,相应的缓冲区的大小也固定,管理起来相对容易
4.加速传输,由于分组是逐个传输的,这就使得后一个分组的存储操作与前一个分组的转发操作可以同时进行
5.减少出错概率和重发数据量。因为分组比报文小,因此,出错概率必然减小,即便分组出错,也只需重传出错的部分,这比重传整个报文的数据量小很多,这样不仅提高了可靠性,也减少了传输时延
✨缺点
1.引起了转发时延,这是因为分组在结点交换机上要经历存储、转发的过程
2.需要传输额外的信息量。将原始报文分割成等长的数据块,每个数据块都要加上原地址、目的地址等控制信息,从而构成分组,因此使得传送的信息量增大了
3.当分组交换采用数据报服务时,可能会出现失序、丢失或重复分组,分组到达目的结点时,需要重新还原成原始报文,比较麻烦,若分组交换采用虚电路服务,虽然没有分组失序问题。但由呼叫建立、数据传输和虚电路释放三个过程