一种工业物联网中面向多服务共存以及确定性网络需求的IP层数据包调度算法
文献发布时间:2023-06-19 11:02:01
技术领域
本发明属于工业物联网数据实时传输和多网络融合的技术领域,涉及到一种在IP层根据数据包优先级、传输时间以及基于混杂切换系统模型进行数据包调度的调度算法。
背景技术
随着无线网络和5G技术的发展,多网络融合以及多服务共存已经成为目前工业物联网研究领域必须攻克的问题。同时,随着确定性网络应用需求的提出,如何在这种混合网络应用场景中,确保各个数据包能够按照要求及时进行网络发送,已成为关键。为了满足工业物联网数据包端到端的低时延需求,IEEE802.1工作组发布了一系列时间敏感网络(TSN)相关标准,通过时钟同步、数据流调度策略等技术标准在数据链路层确保数据包传输的实时性。但是,时间敏感网络的相关标准仅仅适用于数据链路层,为了将TSN中开发的技术扩展到路由器,互联网工程任务组(IETF)提出了确定性网络(DetNet)。确定性网络是一项帮助实现IP网络从提供“尽力而为”的网络服务到提供“准时、准确、快速”的网络服务,控制并降低端到端时延的技术,在数据链路层和IP层上实现确定传输路径,这些路径可以提供延迟、丢包和抖动的最坏情况界限,以此提供确定的延迟。目前在IP层和数据链路层之间,如何根据需求设计数据包调度算法尚不成熟,尤其是根据数据包的优先级和传输时间进行数据包调度,尚未见相关报道。
发明内容
本发明目的是在于克服现存技术的不足,提供一种针对工业物联网中来自多种不同类型或多个相同类型的网络的数据包以及来自多个应用服务的数据包在IP层中进行转发时的调度算法。该方法同时考虑了数据包的优先级和传输时间,并通过各个优先级的数据包最大传输时延的计算公式得到混杂切换系统的部分切换条件,使用混杂切换系统模型对数据包调度过程进行分析,从而设计了IP层的数据包调度算法,克服当前工业物联网中控制类等对时延有高要求的数据包实时性不能保证的问题,同时也降低了网络的丢包率。
为了达到上述目的,本发明提供了一种面向工业物联网的基于数据优先级、传输时间以及最大传输时延的数据包调度算法,该方法是在现有TCP/IP协议架构中IP协议层的基础上的一个扩充。安装时,需要将该方法加到IP层中。同时该方法所需要的数据优先级、传输时间与最大传输时延三个参数信息,都可以通过网络直接获取,或经过简单计算得到。其中,数据优先级可以根据数据数据包中的固定字段信息获得,这部分是协议中规定的。在时钟同步的前提下,传输时间可以通过同步的时钟时间与协议规定的IP报文可选字段时间戳选项记录的时间简单计算获得。最大传输时延可以通过工业生产要求的预设采样周期值以及协议规定的时延计算得到。
本发明的技术方案是:
首先,将数据包调度过程设计为包含两个子系统的混杂切换模型,两个子系统分别为优先级优先子系统以及时间优先子系统。优先级优先子系统中待发送列中的数据包采用优先级优先的排序方式,即从队首至队尾数据包的优先级逐渐降低,优先级相同的数据包按照传输时间由大到小的顺序排序,时间优先子系统中待发送队列中的数据包采用时间优先的排序方式,即从队首至队尾数据包的剩余传输时间(最大传输时延与传输时间之差)逐渐增大,剩余传输时间相同的数据包按照优先级由高到低的顺序排序;其次,通过相关参数计算得到切换条件中待发送队列数据包平均已传输时间的最值;最后,根据子系统的状态参数(平均已传输时间)是否满足切换条件以及离散事件是否发生共同决定子系统之间的切换,离散事件包括接收到控制数据包以及待发送队列中存在即将超时数据包。
数据包调度算法的具体步骤如下:
步骤1.初始化:设置当前所处子系统为优先级优先子系统,通过工业网络中各优先级数据包的预设采样周期以及网络协议中规定的优先级为IPP的数据包的最大传输延迟计算各个优先级数据包的最大传输时延;
最大传输时延
其中,IPP∈{0,1,2,3,4,5,6,7},表示IP报文的发送优先级;
若当前工业网络中同一优先级的不同应用程序的数据包的预设采样周期值不同,则最大传输时延
其中,i≤A
步骤2.获取数据类型:当有数据包到达IP层时,提取该数据包的优先级以及时间戳选项记录的发送时间;获取转发节点与接收端之间链路的往返延时RTT;
数据优先级β用以表示当前数据包在调度过程中的优先权重,表达式如下:
其中,IPP∈{0,1,2,3,4,5,6,7},表示IP报文的发送优先级,数值越大,优先级越高;IPP
RFC 1323引入了IP报文可选字段中的时间戳选项;当时间戳选项的标志字段FL为3时,记录发送端的IP地址以及生成数据包的时间;当有数据包到达IP层时,提取该数据包的优先级以及数据包时间戳选项中与源地址相同的IP地址对应的时间戳;在时钟同步的前提下,发送端或转发节点通过当前时钟时间与时间戳选项记录的数据包发送时间之差得到数据包的传输时间,用T
步骤3.计算状态参数:利用往返延时和优先级数据包的最大传输时延计算切换条件中的待发送队列数据包的平均已传输时间的最值;计算当前待发送队列数据包的平均已传输时间,表达式如下:
其中,
再计算当前待发送队列数据包的平均已传输时间,平均已传输时间T用以表示当前待发送队列中数据包的延迟情况,其表达式如下:
当前待发送队列的IP报文的平均已传输时间T由数据优先级β、传输时间T
步骤4.子系统切换判断:根据当前所处子系统判断是否满足切换条件,优先级优先子系统切换到时间优先子系统的切换条件为待发送队列中存在即将超时数据包此离散事件的发生,或者系统的状态参数待发送队列的平均已传输时间高于最大值;时间优先子系统切换到优先级优先子系统的切换条件为平均已传输低于最小值,或者在平均已传输时间低于最大值的情况下,当前待发送队列中含有控制数据包;
当数据包的传输时间T
其中,
如果满足切换条件则进行子系统的切换,再根据切换后子系统的待发送队列中数据包的排序规则将新接收的数据包插入到待发送队列的合适位置;如果不满足切换条件,则直接根据当前子系统的待发送队列中数据包的排序规则将新接收的数据包插入到待发送队列的合适位置。
需要将数据包调度过程设计为包含优先级优先子系统以及时间优先子系统的混杂切换模型,两个子系统中待发送列中的数据包采用的排序方式如下:优先级优先子系统中待发送列中的数据包采用优先级优先的排序方式,即从队首至队尾数据包的优先级逐渐降低,优先级相同的数据包按照传输时间由大到小的顺序排序,时间优先子系统中待发送队列中的数据包采用时间优先的排序方式,即从队首至队尾数据包的剩余传输时间逐渐增大,剩余传输时间相同的数据包按照优先级由高到低的顺序排序;所述剩余传输时间为最大传输时延与传输时间之差。
本发明的效果和益处是:目前的数据包调度算法缺乏对工业物联网中连续的周期性数据和离散的控制数据并存问题的分析。该算法同时考虑了数据包的优先级和传输时延,并通过各个优先级的数据包最大传输时延的计算公式得到混杂切换系统的部分切换条件,使用混杂切换系统模型对数据包调度过程进行分析,从而设计了IP层的数据包调度算法。该方法是综合考虑工业生产需求和协议要求的各优先级数据包最大传输延迟的确定方法;并在IP层中对来自不同类型网络的数据包进行统一调度,实现了多网络融合;该方法使用混杂切换系统模型对数据包调度过程进行分析,克服当前工业物联网中控制类等对时延有高要求的数据包实时性不能保证的问题,同时也降低了网络的丢包率。
附图说明
附图1是调度算法的流程图。
附图2是适用的网络拓扑图,调度算法可在任意需要发送数据包的节点上运行。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
参见图2,介绍了本发明一种基于数据优先级、传输时间以及最大传输时延的数据包调度算法的适用网络拓扑图,该算法可以在有发送数据包需求的网络终端和转发节点上运行。本发明在IP层中对来自不同类型网络的数据包进行统一调度,实现了多网络融合。同时本发明使用混杂切换系统模型对数据包调度过程进行分析,在保证网络各类型数据的服务质量的同时,克服当前工业物联网中控制类等对时延有高要求的数据包实时性不能保证的问题,同时也降低了网络的丢包率。
参见图1,结合本发明一种基于数据优先级、传输时间以及最大传输时延的链路选择算法的下述各个具体操作步骤:
步骤1.初始化。设置当前所处子系统为优先级优先子系统,待发送列中的数据包采用优先级优先的排序方式,即从队首至队尾数据包的优先级逐渐降低,优先级相同的数据包按照传输时间由大到小的顺序排序。通过工业网络中各优先级数据包的预设采样周期以及网络协议中规定的优先级为IPP的数据包的最大传输延迟计算各个优先级数据包的最大传输时延。
定义1最大传输时延
其中,IPP∈{0,1,2,3,4,5,6,7},表示IP报文的发送优先级。
扩展若当前工业网络中同一优先级的不同应用程序的数据包的预设采样周期值不同,则最大传输时延
其中,i≤A
例如:假设在某工业网络中优先级为4的数据包的预设采样周期都相同,为120ms,则
综上,由表达式(1)或(2)就可以针对某个工业网络计算出数据包调度过程中的传输延迟的理论上的最大值,为后续混杂切换系统模型切换条件的计算以及数据包调度提供依据。
步骤2.获取数据类型。当有数据包到达IP层时,提取该数据包的优先级。
定义2数据优先级(β)用以表示当前数据包在调度过程中的优先权重,表达式如下:
其中,IPP∈{0,1,2,3,4,5,6,7},表示IP报文的发送优先级,数值越大,优先级越高。IPP
RFC 1323引入了IP报文可选字段中的时间戳(TimeStamp)选项。当时间戳选项的标志字段(FL)为3时,就可以记录发送端的IP地址以及生成数据包的时间。当有数据包到达IP层时,除了提取该数据包的优先级,还需提取该数据包时间戳选项中与源地址相同的IP地址对应的时间戳。在时钟同步的前提下,发送端或转发节点通过当前时钟时间与时间戳选项记录的数据包发送时间之差得到数据包的传输时间,用T
步骤3.计算状态参数。根据步骤2获得的往返延时和步骤1得到的优先级数据包的最大传输时延计算切换条件中的待发送队列数据包的平均已传输时间的最值,表达式如下:
其中,
接着计算当前待发送队列数据包的平均已传输时间。
定义3平均已传输时间(T)用以表示当前待发送队列中数据包的延迟情况。其表达式如下:
当前待发送队列的IP报文的平均已传输时间T由数据优先级β、传输时间T
步骤4.子系统切换判断。根据当前所处子系统判断是否满足切换条件,优先级优先子系统切换到时间优先子系统的切换条件为待发送队列中存在即将超时数据包此离散事件的发生,或者系统的状态参数待发送队列的平均已传输时间高于最大值;时间优先子系统切换到优先级优先子系统的切换条件为平均已传输低于最小值,或者在平均已传输时间低于最大值的情况下,当前待发送队列中含有控制数据包。
当数据包的传输时间(T
其中,
如果满足切换条件则进行子系统的切换,再根据切换后子系统的待发送队列中数据包的排序规则将新接收的数据包插入到待发送队列的合适位置;如果不满足切换条件,则直接根据当前子系统的待发送队列中数据包的排序规则将新接收的数据包插入到待发送队列的合适位置。
- 一种工业物联网中面向多服务共存以及确定性网络需求的IP层数据包调度算法
- 一种工业物联网中多服务共存及IP层数据包的调度方法