谈到网络通信,就不得不说一下分组交换,因为网络通信就是使用的分组交换技术。而为了弄清分组交换,我们必须了解一下电路交换。
电路交换
所谓交换,我理解的就是指双方通信时,数据的交换。数据传输的方式有几种,而电路交换便是其中的一种。
1.原理
假如A和B之间要通信,如果采用电路交换的方式,那么首先要找到从A到B的一条可行路径,建立好传输通道,然后再进行数据的传输。我们把找到一条可行路径并建立会话的过程,称为电路交换的第一阶段--建立连接。之后A和B在通信的过程中会始终霸占着这条路径,数据传输的过程称为电路交换的第二阶段--数据传输。接着,双方通信完毕,就会进入电路交换的第三阶段,也就是最后一个阶段--释放连接。通过图片会更加容易理解其过程:
2.应用
电路交换应用在我们熟悉的打电话的场景。在使用电话交换线路之前,必须先拨号请求建立连接。当被叫用户听到交换机送来的振铃音并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理线路,然后双方才能进行正常通话,直到有一方挂断了电话。整个过程经历了"建立连接(占用通信资源)->数据传输(通话过程一直占用通信资源)->释放连接(归还通信资源)"三个步骤。
3.分析
电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源,而已被占用的通信线路资源又在绝大部分时间里是空闲的,这造成传输效率往往很低。所以,电路交换的缺点很明显,通信资源利用率低。而优点是数据传输速度快,实时到达。
好了,了解电路交换之后,接下来详细说一下分组交换。这时候我们可以思考下,网络通信采取电路交换应该是怎么样的?
分组交换
提到分组交换,必须要先说一下路由器,路由器是实现分组的关键构件,其任务是转发收到的分组。如果还不知道路由器是什么的,可以先去了解一下。
1.分组的概念
我们把要发送的整块数据称为报文,在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段,在每一个数据段前面,加上一些由必要的控制信息组成的首部(header),就构成了一个分组(packet)。分组是在互联网中传送数据的单元。分组中的首部包含了诸如目的地址和源地址等重要控制信息,每一个分组才能在互联网中独立地选择传送路径,并被正确地交付到分组传输的终点。
2.原理
互联网的核心部分是由许多网络和把它们互连起来的路由器组成的,而主机处在互联网的边缘部分。分组交换的核心是采用存储转发技术,把一个报文划分为几个分组后再利用路由器来进行转发。路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。这样一步一步地以存储转发的方式,把分组交付给最终的目的主机。各路由器之间必须经常交换批次掌握的路由信息,以便创建和动态维护路由器中的转发表,使得转发表能够在网络拓扑发送变化时及时更新。
当主机H1向H5发送数据时,H1->A->C->E->H5或H1->A->B->E->H5,根据某个路由器的繁忙程序选择合适的路由把数据传给H5主机(网络拓扑的存在)。需要注意的是,当分组在H1和A之间传送时,只占用H1->A这条链路,其他链路均不占用。当数据在A->B之间传送时,H1->A又可以被其他分组占用。分组在传输时这样一段一段地占用通信资源,而且省去建立连接和释放连接的开销(路由器会查找转发表,来寻找合适的链路),因此数据的传输效率更高。
3.特点
从分组交换的机制,我们可以看出以下几个特点:
- 每个分组的首部都携带有目的地址和源地址等重要控制信息,可以独立地选择传送路径,也就是说每个分组可能走不同的路径到达目的主机。
- 无法保证分组到达目的主机的时序性,无法保证某个分组一定比另外一个分组先到达或者后达到。
- 路由器的容量是有限的,分组有可能被路由器丢弃。
- 路由器解析分组携带的控制信息会造成一定开销,分组在路由器中排队转发,有一定时延。
4.分析
路由器暂时存储的是一个个短的分组,而不是整个报文。分组在路由器的内存中而不是在磁盘中。这就保证了较高的交换效率。分组交换的优点:
- 高效:动态分配传输带宽,对通信链路是逐段占用
- 灵活:分组独立选择合适的路由
- 迅速:可以不建立连接就能向其他主机发送数据
- 可靠:保证可靠的网络协议;分布式多路由的分组交换网,使网络有很好的生存性
分组交换的缺点:
分组交换会带来一些时延,因为分组在路由器存储转发时需要排队。分组携带的控制信息也造成了一定的开销。
总结一下:分组是将报文分为一个个小的数据段;交换指分组在各个路由器之间相互转发。
参考:https://blog.csdn.net/ma2595162349/article/details/91406690