三种交换方式的比较

简介: 互联网核心部分主要由路由器构成,负责分组交换。路由器是网络中转发数据的关键,它接收和转发分组,确保边缘部分的主机间通信。通信方式包括:1. 电路交换- 用于早期电话系统,先建立连接,然后通话,最后释放,适合连续大数据传输,但线路利用率低。2. **分组交换** - 常见于现代互联网,数据被分割成分组,每个独立转发,提高了线路效率和灵活性。3. 报文交换-整个报文一次性转发,存储转发,适合小规模、非实时通信,但时延较长。分组交换结合了高效和灵活性,是互联网核心的优选技术。

一、互联网的核心部分

网络核心部分是互联网中最复杂的部分。

网络中的核心部分要向周围网络边缘的大量主机提供连通性,使边缘部分任何一个主机都能够向其他主机通信。

在网络核心部分起特殊作用的是路由器

路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

二、三种交换方式

0.交换(switching)

  从通信资源的分配的角度来看,交换就是按照某种方式动态地分配传输线路的资源;

1.电路交换(Circuit Switching)

  •  为什么会有电路交换?
  • 为了让所有的电话机互连
  • 当电话机的数量很大时,单纯使用电线无法满足需求,需要的电线数量大。
  • 为了解决电话机数量大时的通信问题,引入了电话交换机(电话交换机接通电话线的方式为电路交换)。

  

  •  三个步骤:  
  • 建立连接(分配通信资源)
  • 通话(一直占用通信资源)
  • 释放连接(归还通信资源)
  • 当使用电路交换来传送计算机数据时,其线路的传输效率往往很低
  • 这是因为计算机数据是突发式地出现在传输线路上的,所以计算机通常采用的是分组交换

2.分组交换(Packet Switching)

 

  •  通常我们把表示该信息的整块数据称为一个报文。在发送报文之前,先把较长的报文划分成一个个更小的等长数据段,在每个数据段前面。加上一些必要的控制信息组成的首部后,就构成了一个分组,也可简称为”包“,相应地,首部也叫做包头。首部包含了分组的目的地址,分组从源主机到目的主机,可走不同的路径,最后在目的主机内汇总为一个完整的报文。
  •  各自的任务
  • 发送方:
  • 构造分组
  • 发送分组
  • 路由器
  • 缓存分组
  • 转发分组
  • 在路由器中的输入和输出端口之间没有直接连线。路由器处理分组的过程是:
  1. 把收到的分组先放入缓存(暂时存储);
  2. 查找转发表,找出到某个目的地址应从哪个端口转发;
  3. 把分组送到适当的端口转发出去。
  • 接收方
  • 接受分组
  • 还原分组    

3.报文交换(Message Switching)

  • 报文交换是分组交换的前身。
  • 使用存储转发方式。
  • 在报文交换中,报文被整个地发送,而不是拆分成若干个分组进行发送。
  • 交换节点将报文整体接收完成后才能查找转发表,将整个报文转发到下一个节点。
  • 因此,报文交换比分组交换带来的转发时延要长很多,对报文大小没有限制,需要交换节点具有的缓存空间也大很多。

4.三种交换方式的比较

  • 电路交换
  •   通信之前,建立连接——>传输数据——>释放连接并归还之前建立连接所占用的通信线路资源
  • 报文交换
  •   随时发送,无需建立连接。发送报文——>到达第一个相邻结点交换机(存储+转发)【路由器:把全部报文存储下来——>查路由表,找出包头的目的地址应该从哪个端口转发——>把报文从相应端口转发出去】——>到达第二个相邻结点交换机(存储+转发)——>到达目的主机。
  • 分组交换
  •   随时发送,无需建立连接。发送一个个子分组——>到达各个结点交换机(同时,存储刚收到的一些分组+转发上次收到的分组)
  •       优点:
  • 构成原始报文的一个个分组,在各结点交换机上进行存储转发,相比报文交换,减少了转发时延,还可以避免过长的报文长时间占用链路,同时也有利于进行差错控制。
  •   

 

 

 

 

 

 

 

 

 

 

5.比较总结

  •   若要连续传送大量的数据,并且数据传送时间远大于建立连接的时间,则使用电路交换可以有较高的传输效率。然而计算机的数据传送往往是突发式的,采用电路交换时通信线路的利用率会很低。
  •   报文交换和分组交换都不需要建立连接(即预先分配通信资源),在传送计算机的突发数据时可以提高通信线路的利用率。
  •   将报文构造成若干个更小的分组进行分组交换,比将整个报文进行报文交换的时延要小,并且还可以避免太长的报文长时间占用链路,有利于差错控制,同时具有更好的灵活性。
相关文章
|
6月前
|
算法 前端开发
670. 最大交换
670. 最大交换
32 0
|
26天前
|
算法 安全 Java
介绍一下比较与交换算法
【10月更文挑战第20天】介绍一下比较与交换算法
14 0
如何在把创建临时变量的前提下交换两个数(直接上代码)
如何在把创建临时变量的前提下交换两个数(直接上代码)
|
存储 算法
交换算法(交换两个数字)
交换算法(交换两个数字)
86 0
|
算法 Java
[算法] swap函数交换两个数值未改变问题解决
[算法] swap函数交换两个数值未改变问题解决
|
存储 缓存 网络架构
计算机网络的三种交换方式
1.电路交换 电话交换机接通电话线的方式称为电路交换 电路交换的三个步骤: 建立连接(分配通信资源) 通话(一直占用通信资源) 释放连接(归还通信资源) 电路交换致命的缺点:效率低!👨🏻
308 0
计算机网络的三种交换方式
|
算法 安全 网络虚拟化
交换的工作原理之交换知识总结
当交换机收到数据之后,第一步先进行学习,将数据的mac与端口进行绑定存在mac表中,然后在根据数据的源mac在mac中查找,有的话就进行相应的转发,没有的话就以广播的形式在出接受端口以外的所有端口进行转发
301 0
交换的工作原理之交换知识总结
|
前端开发 JavaScript
利用函数进行交换(c++)
利用函数进行交换(c++)