概述(二):分组交换技术
1、数据交换方式的分类
计算机网络数据交换方式基本分为两大类:线路交换与存储转发交换。
存储转发交换:报文存储转发交换(简称为报文交换)、报文分组存储转发交换(简称分组交换)。
分组交换:数据报交换 与 虚电路交换。
2、线路交换
2.1、线路交换过程
线路交换方式的通信过程分为三个阶段:
线路建立阶段,需要通信的两个主机之间建立线路连接。
数据传输阶段,两个主机通过通信子网的物理线路连接建立后,可以通过该连接双向交换数据。
线路释放阶段,释放建立的连接,结束本次数据通信。
2.2、线路交换的特点
优点:通信实时性好,适用于交互式会话类通信
缺点:1、不适用于计算机之间的突发性通信;2、不具备数据存储能力,不能平滑通信量;3、不具备差错控制能力,无法发现与纠正传输差错。
3、分组交换
鉴于线路交换的缺点,提出了存储转发交换方式,即分组交换。
3.1、存储转发交换特点
发送的数据与目的地址、源地址、控制信息一起,按照一定的格式组成一个数据单元(报文或报文组)再发送出去;
路由器可以动态选择传输路径,可以平滑通信量,提高线路利用率;
数据单元在通过路由器时需要进行差错校验,以提高数据传输的可靠性;
路由器可以对不同通信速率的线路进行速率转换
3.2、报文与报文分组的比较
利用存储转发交换原理传送数据时,被传送的数据单元相应可以分为两类:报文(message)与报文分组(packet)。根据数据单元的不同,存储交换方式可以分为:报文交换(message switching)与分组交换(packet switching)。
3.2.1、报文
报文:不对传输的数据块长度做任何限制,直接封装成一个包进行传输,封装后的包称为报文。
将报文作为一个数据传输单元的方法称为报文存储转发交换或报文交换。报文交换主要存在以下缺点:
1、当一个路由器将一个长报文传送到下一个路由器时,发送报文的副本必须保留,以备出错时重传。长报文传输时间长,路由器必须等待报文正确传输的确认后,才能删除报文的副本,耗时较长;
2、在相同误码率的情况下,报文越长传输出错可能性越大;
3、报文长度不定,路由器必须根据最长的报文来预定存储空间,若出现短报文,会浪费路由器存储空间。
3.2.2、报文分组
在计算机网络中报文交换不是最佳方案,鉴于上述确定,提出了分组的概念。
将一个长报文分成n组,在每组数据字段前加上一个分组头。
在讨论数据长度时,会使用比特(bit)或字节(byte)。比特(bit)简写为b,字节(byte)简写为B。
3.2.3、报文交换与分组交换的比较
报文交换与分组交换相比:
1、将报文划分成固定格式和最大长度限制的分组进行传输,有利于提高路由器检测接收分组是否出错、出错重传处理过程的效率,有利于提高路由器存储空间的利用率;
2、路由选择算法可根据链路通信状态、网络拓扑变化,动态的为不同的分组选择不同的传输路径,有利于减小分组传输延迟,提高数据传输的可靠性。
4、数据报方式与虚电路方式
分组交换技术可分为 数据报 (data gram,DG) 与 虚电路 (virtual circuit,VC)。
4.1、数据报方式
数据报是报文分组存储转发的一种形式。在数据报方式中,分组传输前不需要预先在源主机与目的主机之间建立"线路连接"。源主机发送的每个分组都可以选择一条传输路径,每个分组在通信子网中可能通过不同的传输路径到达目的主机。
4.1.1、数据报的工作原理
1、源主机(主机A)将报文分成多个分组P1、P2,依次发送到直接相连的路由器A。
2、路由器A每接到一个分组都要进行差错检测,保证主机A与路由器A的数据传输正确,路由器A接到分组P1、P2后,需要为每个分组进行路由选择。因通信状态不断变化,分组P1的下一跳可能选择路由器C,分组P2的下一跳可能选择路由器D此一个报文中的不同分组通过子网传输路径可能不同。
3、路由器A向路由器C发送分组P1时,路由器C要对P1进行差错检测。若P1传输正确,路由器C向路由器A发送确认报文ACK;路由器A接收到路由器C的ACK报文后,确认P1已经正确传输,此时它就可以丢弃P1的副本。分组P1通过通信子网中多个路由器存储转发,最终正确达到目的主机B。
4.1.2、数据报传输方式特点
1、同一报文的不同分组可以经过不同的传输路径;
2、同一报文的不同分组到达目的主机时可能出现乱序、重复与丢失现象;
3、每个分组在传输过程中都必须带有目的地址与源地址;
4、数据报方式的传输延迟较大,适用于突发性通信,不适用于长报文,会话式通信。
4.2、虚电路方式
虚电路具有分组交换与线路交换的优点,因为这种电路不是专用的,所以称之为"虚电路"。
4.2.1、虚电路方式的工作原理
数据报在分组发送前,发送方与接收方之间不需要预先建立连接。虚电路方式在分组发送前,需要在发送方和接收方之间建立一条逻辑连接的虚电路。虚电路方式的工作过程分为三个阶段:虚电路建立阶段、数据传输阶段 与 虚电路释放阶段。
1、虚电路建立阶段,路由器A使用路由选择算法确定下一跳为路由器B,然后向路由器B发送"呼叫请求分组;同样,路由器B也使用路选算法确定下一跳为路由器C。"呼叫请求分组"经过A、B、C、D的路径达到路由器D。路由器D向路由器A发送"呼叫接收分组",至此虚电路建立。
2、数据传输阶段,利用已建立的虚电路以存储转发方式顺序传送分组;
3、所有的数据传输结束后,进入虚电路释放阶段,将按照D、C、B、A的顺序依次释放虚电路。
4.2.2、虚电路的特点
1、每次分组传输之前,需要在源主机与目的主机之间建立一条虚电路;
2、所有分组都通过虚电路顺序传送,分组不必携带目的地址、源地址等信息。分组到达目的主机时不会出现丢失、重复与乱序的现象;
3、分组通过虚电路上的每个路由器时,路由器只需要进行差错检测。而不进行路由选择;
4、路由器可以与多个主机之间的通信建立多条虚电路。
4.2.3、总结
虚电路是在传输分组时建立的逻辑连接,每个主机可以同时与多个主机还在建具有虚电路,每条虚电路支持这两个主机之间的数据传输。
5、分组交换网中的延时
5.1、网络延时的基本概念
分组交换延时是指一个分组从源主机发出,经过分组交换网(或链路)的传输,到达目的主机所需要的事件,因此分组交换网延时也统称为网络延时。
分组交换网为互联网主机的进程通信提供服务,分组交换网的延时决定分布式进程通信的质量,影响系统性能,网络延时是描述网络性能的重要指标之一。
源主机发出的分组经过传输路径上的每个路由器转发时都会产生不同类型的延时,这些延时主要有:处理延时、排队延时、发送延时、传播延时。
分组在网络中产生的总延时(total nodal delay)等于以上4中延时的总和。
若分别用dproc、dqueue、dtrans、dprop表示 处理延时、排队延时、发送延时与传播延时,分组通过一个路由器结点所产生的总延时dnodal等于处理延时、排队延时、发送延时 与 传播延时之和。
5.2、结点延时的类型及特点
5.2.1、处理延时
当路由器接收到一个分组时,需要分析该分组的头部与数据部分。通过检查头检验和,确定分组传输是否出错。若出现偏差,就丢弃此分组;若未出现差错,需进一步检查源地址与目的地址,进行路由选择,确定下面应该发送到哪个路由器。处理这些需要花费的事件称为处理延时(dproc)。
一个路由器结点处理延时的大小取决于路由器计算能力以及通信协议的复杂度。
5.2.2、排队延时
当路由器处理完一个分组,将该分组加入到连接路由器B链路的输出端口的队列中,等待六安路空闲时发送该分组。分组进入输出队列等待发送,到开始发送的时间称为排队延时(dqueue)。
排队延时的长短取决于队列长度与端口发送速度,若输出队列是空的,进入的分组可以立即被发送,排队延时值为0、若等待发送的排队队列长,则分组排队延时就会变长。
如果输出缓冲区已被等待发送的分组占满,之后进入的分组将因队列溢出而被丢弃。
5.2.3、发送延时
路由器端口的发送速率是一定的。若端口发送数据的速率是S(bit/s,即bps),分组长度为N(bit),那么节点发送延时=发送分组比特数/发送速率,即dtrans=N/S。
5.2.4、传播延时
如果发送节点与接收节点之间的传输介质长度为D,信号传播速度为V,那么信号通过距离为D的传输介所需要传播时间是D/V,即数据信号的传播延时 dprop = D/V。
4.1、发送延时与传播延时的区别
发送延时:节点(路由器与主机)的发送端口将一个分组的第一个比特的电磁波发送㤇传输介质,到将该分组的最后一个比特发送到传输介质所花费的时间,发送延时的长短取决于分组长度与结点端口网卡的发送速率。
传播延时:第一个比特从发送端口通过传播介质,到达目的结点的接收端口所用的时间。传播延时值与传输介质的长度、电磁波在介质中的传播速度等物理参数相关,与分组的长度与结点网卡的发送速率无关。
高速网络:结点发送速率高,要提高结点发送速率只能减少结点的分组发送延时,不会影响分组通过传输介质的传播延时。
高速通信链路:传输介质的带宽较宽,采用多路复用技术后,在一条传输介质上可以比能发传输多路信号。
4.2、不同网络环境中,不同类型延时的变化很大
节点延时包括处理延时、排队延时、发送延时、传播延时,4种延时的数值在不同的网络中变化很大。
5.3、排队延时与丢包
由于排队延时与网络通信状态相关,并且直接影响着节点总延时与网络性能,排队延时问题是网络技术研究的重点。
排队延时一般要采用 平均排队延时、排队延时方差,或者排队延时超过某特定值的概率。
排队延时的大小很大程度上取决于分组达到该队列的速率,分组时周期性到达还是突发性到达,以及端口的发送速率。
端口的发送速率R(bps),表示每秒钟网卡从队列取出并通过链路发送的比特数。进入队列的平均速率与端口发送速率的比例aL/R定义为流量强度(traffic intensity)。
流量强度大于1,即aL/R>1,表示平均每秒钟进入排队队列的比特数大于网卡从队列取出并通过链路发送的比特数,从队列中输入的比特数大于从队列中输出的比特数,队列中储存的比特数越来越多,排队延时值将无限制地增加,逐步趋向无穷大。
设计网络系统时必须保证流量强度不能大于1。
6、面向连接服务和无连接服务
6.1、通信服务类型
网络通信服务可分为两大类:面向连接服务(connection oriented services)和无连接服务(connectionless services)。电路交换属于面向连接服务,而分组交换属于无连接服务。
1、面向连接服务与无连接服务对通信协议的复杂性与传输的可靠性有很大影响。根据主机对数据传输效率和可靠性要求的不同,设计者可以选择面向连接服务或无连接服务。
2、在网络数据传输的各层,都会涉及面向连接服务与无连接服务的问题。
6.2、面向连接服务
1、数据传输过程必须经过连接建立、连接维护与释放连接三个阶段;
2、在数据传输过程中,各个分组不需要携带目的结点的地址;
3、传输连接类型一个通信管道,发送方在一端放入数据,接收方从另一端取出数据。传输的分组顺序不变,因此传输的可靠性好,但协议复杂,通信效率不高。
6.3、无连接服务
1、每个分组都携带源结点与目的结点地址,各个分组的转发过程是独立的;
2、传输过程不需要经过连接建立、连接维护与释放连接三个阶段;
3、目的主机接收的分组可能出现乱序、重复与丢失现象。
无连接服务的可靠性不是很好,但由于省去了很多协议处理过程,因此它的通信协议相对简单,通信效率比较高。
6.4、确认与重传机制
数据传输的可靠性一般通过确认和重传机制保证。
确认是指目的主机在接收到每个分组后,要求向源主机发送正确接收分组的确认信息。若发送主机在规定时间内没有接收到确认信息,就会认为该分组发送失败,这时源主机会重新发送该分组。
确认和重传机制可以提高数据传输的可靠性,但需要指定较为复杂的确认和重传协议,并且要增加网络通信负荷与占用网络宽带。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)