CN116647484A - 报文调度方法、网络设备及计算机可读存储介质 - Google Patents
报文调度方法、网络设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116647484A CN116647484A CN202210143378.1A CN202210143378A CN116647484A CN 116647484 A CN116647484 A CN 116647484A CN 202210143378 A CN202210143378 A CN 202210143378A CN 116647484 A CN116647484 A CN 116647484A
- Authority
- CN
- China
- Prior art keywords
- deterministic path
- deterministic
- path
- standby
- scheduling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000005540 biological transmission Effects 0.000 claims abstract description 181
- 230000001934 delay Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 15
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 13
- 230000001186 cumulative effect Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/247—Multipath using M:N active or standby paths
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种报文调度方法、网络设备及计算机可读存储介质。通过先获取主确定性路径和备确定性路径,并获取主确定性路径的第一传输跳数和备确定性路径的第二传输跳数,然后计算得到主确定性路径中各跳节点的第一调度时延参数和备确定性路径中各跳节点的第二调度时延参数,接着沿主确定性路径传输第一调度时延参数,使主确定性路径中的各跳节点根据第一调度时延参数调整业务报文的发送时间,并沿备确定性路径传输第二调度时延参数,使备确定性路径中的各跳节点根据第二调度时延参数调整业务报文的发送时间。本发明实施例能够在满足报文丢失率的QoS目标的情况下,满足主确定性路径和备确定性路径之间的时延QoS目标与时延抖动QoS目标。
Description
技术领域
本发明实施例涉及但不限于网络技术领域,尤其涉及一种报文调度方法、网络设备及计算机可读存储介质。
背景技术
RFC8655描述了确定性网络的架构,其中定义了确定性转发的QoS(Quality ofService,服务质量)目标包括:从源节点到目的节点的最小时延和最大时延、有界的时延抖动、允许的报文丢失率、无序报文传递的上界。为了达到这些QoS目标,一般会在传输报文之前计算好确定性路径,其中,确定性路径是一条依赖集中式控制器计算得到的严格显式路径,在该路径沿途的节点上预留资源,从而满足确定性业务的SLA(Service LevelAgreement,服务等级协定)需求。
相关技术中,还提出了采用冗余保护方案以满足报文丢失率的QoS目标,其中,冗余保护方案是指采用主确定性路径和备确定性路径同时发送业务报文的方案。虽然相关技术中的冗余保护方案能够满足报文丢失率的QoS目标,但是存在不满足主确定性路径和备确定性路径之间的时延QoS目标与时延抖动QoS目标的问题。因此,如何在满足报文丢失率的QoS目标的情况下,满足主确定性路径和备确定性路径之间的时延QoS目标与时延抖动QoS目标,是亟待解决的技术问题。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种报文调度方法、网络设备及计算机可读存储介质,能够在满足报文丢失率的QoS目标的情况下,满足主确定性路径和备确定性路径之间的时延QoS目标与时延抖动QoS目标。
第一方面,本发明实施例提供了一种报文调度方法,包括:
确定至目的节点的主确定性路径和备确定性路径,其中,所述主确定性路径和所述备确定性路径均满足目标服务等级协定需求;确定所述主确定性路径的第一传输跳数和所述备确定性路径的第二传输跳数;根据所述目标服务等级协定需求和所述第一传输跳数,计算得到所述主确定性路径中各跳节点的第一调度时延参数;根据所述目标服务等级协定需求和所述第二传输跳数,计算得到所述备确定性路径中各跳节点的第二调度时延参数,其中,所述第二调度时延参数和所述第一调度时延参数用于使所述备确定性路径和所述主确定性路径的传输时延之差满足所述目标服务等级协定需求;沿着所述主确定性路径传输所述第一调度时延参数,使得所述主确定性路径中的各跳节点根据所述第一调度时延参数调整业务报文的发送时间;沿着所述备确定性路径传输所述第二调度时延参数,使得所述备确定性路径中的各跳节点根据所述第二调度时延参数调整业务报文的发送时间。
第二方面,本发明实施例还提供了一种报文调度方法,包括:
接收业务报文,其中,所述业务报文包括第一调度时延参数和目的节点的地址信息;根据所述地址信息确定至所述目的节点的主确定性路径;根据所述主确定性路径和所述第一调度时延参数确定目标服务等级协定需求;根据所述目标服务等级协定需求确定至所述目的节点的备确定性路径;确定所述备确定性路径的第二传输跳数;根据所述目标服务等级协定需求和所述第二传输跳数,计算得到所述备确定性路径中各跳节点的第二调度时延参数,其中,所述第二调度时延参数和所述第一调度时延参数用于使所述备确定性路径和所述主确定性路径的传输时延之差满足所述目标服务等级协定需求;沿着所述主确定性路径转发所述业务报文,使得所述主确定性路径中的各跳节点根据所述业务报文中的所述第一调度时延参数调整所述业务报文的发送时间;沿着所述备确定性路径传输携带有所述第二调度时延参数的备份报文,使得所述备确定性路径中的各跳节点根据所述备份报文中的所述第二调度时延参数调整所述备份报文的发送时间,其中,所述备份报文与所述业务报文具有相同的载荷。
第三方面,本发明实施例还提供了一种网络设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的报文调度方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上所述的报文调度方法。
第五方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序或计算机指令,所述计算机程序或所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序或所述计算机指令,所述处理器执行所述计算机程序或所述计算机指令,使得所述计算机设备执行如上所述的报文调度方法。
本发明实施例包括:先获取根据目标服务等级协定需求而确定的至目的节点的主确定性路径和备确定性路径,并且获取主确定性路径的第一传输跳数和备确定性路径的第二传输跳数,然后计算得到主确定性路径中各跳节点的第一调度时延参数和备确定性路径中各跳节点的第二调度时延参数,接着沿着主确定性路径传输第一调度时延参数,使得主确定性路径中的各跳节点根据第一调度时延参数调整业务报文的发送时间,并且沿着备确定性路径传输第二调度时延参数,使得备确定性路径中的各跳节点根据第二调度时延参数调整业务报文的发送时间。由于采用了主确定性路径和备确定性路径发送业务报文,因此能够满足报文丢失率的QoS目标;另外,第一调度时延参数是根据目标服务等级协定需求和第一传输跳数而计算得到的,第二调度时延参数是根据目标服务等级协定需求和第二传输跳数而计算得到的,因此,主确定性路径中的各跳节点根据第一调度时延参数调整业务报文的发送时间后,能够使得主确定性路径的传输时延满足时延QoS目标,而备确定性路径中的各跳节点根据第二调度时延参数调整业务报文的发送时间后,能够使得备确定性路径的传输时延满足时延QoS目标;而且,由于第二调度时延参数和第一调度时延参数用于使备确定性路径和主确定性路径的传输时延之差满足目标服务等级协定需求,因此主确定性路径和备确定性路径之间能够满足时延抖动QoS目标。所以,本发明实施例所提供的方案,能够在满足报文丢失率的QoS目标的情况下,满足主确定性路径和备确定性路径之间的时延QoS目标与时延抖动QoS目标。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明一个实施例提供的用于执行报文调度方法的网络拓扑的示意图;
图2是本发明一个实施例提供的报文调度方法的流程图;
图3是本发明一个实施例提供的获取备确定性路径的方法流程图;
图4是图2中步骤S1030的一种具体方法流程图;
图5是图2中步骤S1040的一种具体方法流程图;
图6是本发明一个实施例提供的在网络拓扑发生改变时的报文调度方法的流程图;
图7是本发明另一个实施例提供的报文调度方法的流程图;
图8是图7中步骤S2030的一种具体方法流程图;
图9是本发明一个实施例提供的网络设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明提供了一种报文调度方法、网络设备及计算机可读存储介质,通过先获取根据目标服务等级协定需求而确定的至目的节点的主确定性路径和备确定性路径,并且获取主确定性路径的第一传输跳数和备确定性路径的第二传输跳数,然后计算得到主确定性路径中各跳节点的第一调度时延参数和备确定性路径中各跳节点的第二调度时延参数,接着沿着主确定性路径传输第一调度时延参数,使得主确定性路径中的各跳节点根据第一调度时延参数调整业务报文的发送时间,并且沿着备确定性路径传输第二调度时延参数,使得备确定性路径中的各跳节点根据第二调度时延参数调整业务报文的发送时间;其中,第一调度时延参数根据目标服务等级协定需求和第一传输跳数而计算得到,第二调度时延参数根据目标服务等级协定需求和第二传输跳数而计算得到。本发明实施例所提供的方案中,由于采用了主确定性路径和备确定性路径发送业务报文,并且第二调度时延参数和第一调度时延参数用于使备确定性路径和主确定性路径的传输时延之差满足目标服务等级协定需求,因此能够在满足报文丢失率的QoS目标的情况下,满足主确定性路径和备确定性路径之间的时延QoS目标与时延抖动QoS目标。
下面结合附图,对本发明实施例作进一步阐述。
如图1所示,图1是本发明一个实施例提供的用于执行报文调度方法的网络拓扑的示意图。在图1的示例中,该网络拓扑包括第一节点110、第二节点120、第三节点130、第四节点140、第五节点150和第六节点160。其中,第一节点110、第二节点120、第三节点130、第四节点140、第五节点150和第六节点160首尾连接,第二节点120和第五节点150相连接,每条链路均为双向链路。在该网络拓扑中,可以根据确定性业务的SLA需求计算得到对应的确定性路径。第一节点110、第二节点120、第三节点130、第四节点140、第五节点150和第六节点160均可以是路由器或者交换机等网络设备,能够对报文进行转发。另外,在该网络拓扑中,还可以包括网络控制器(图中未示出),网络控制器可以为软件定义网络(SoftwareDefined Network,SDN)控制器等,能够计算该网络拓扑中的确定性路径、对各个节点进行控制以及向各个节点下发报文调度策略等。
需要说明的是,当节点接收到报文之后,节点会对报文进行相应的处理,因此报文在节点内会有一个驻留时间,其中,报文在节点内的驻留时间等于节点的转发时延与节点的调度时延之和。节点的转发时延是指报文在节点内从入端口或控制平面到达出端口所需的时间,节点的调度时延是指报文在出端口上排队等待发送出去的排队时间。
在一可行的实施方式中,该网络拓扑中的任何一个节点均可以维护有针对某些特定出端口的具有倒计时间(或称剩余时间)的转发队列(或称为Deadline队列),该Deadline队列的数量可以为1个或多个,可以根据实际应用情况进行适当的设置。该Deadline队列具有如下几点特征:
(1)每个Deadline队列的倒计时间会随着时间的推移而递减,当倒计时间递减到0时,对应的Deadline队列的调度优先级会被设置为最高,从而立即获得调度报文的机会,并禁止缓存新的报文,该Deadline队列中已缓存的报文会被立即从出端口往外发送。其中,允许Deadline队列发送报文的最长持续时间为预设的授权发送时间,Deadline队列会在该授权发送时间内将队列中缓存的所有报文发送完毕。如果队列内的报文发送完毕后授权发送时间还有空闲,则可以在该空闲的授权发送时间内继续调度其它的次高优先级的队列中的报文。
(2)节点内可以设置一个循环定时器对所有的Deadline队列的倒计时间进行递减操作,即,每当循环定时器超时时,所有Deadline队列的倒计时间都会被减去循环定时器的循环时间间隔。例如,假设循环定时器的循环时间间隔为1us,那么每当循环定时器超时时,所有Deadline队列的倒计时间都会被减去1us。
(3)对于倒计时间已经递减到0的Deadline队列,在经过新一轮的循环定时器超时(即经过循环定时器的循环时间间隔)后,其倒计时间会恢复为预设的初始值,并允许该Deadline队列重新缓存新的报文,使得该Deadline队列进入下一轮的随着时间推移而递减倒计时间的操作。
(4)对于倒计时间未递减到0的Deadline队列,允许其缓存报文。
(5)对于倒计时间未递减到0的Deadline队列,其调度优先级不会被设置为最高优先级,例如可以设置为某个中等优先级或最低优先级。此时,节点可配置相应的策略去控制缓存在该Deadline队列中的报文的发送,例如:
1、允许参与队列调度(或称为提前发送策略,适用于要求低时延的业务需求);
2、不允许参与队列调度(或称为准时发送策略,适用于要求低时延抖动的业务需求)。
(6)初始时,所有Deadline队列中,每个队列的初始倒计时间的初始值相互错开,也就是说,在任何时候都只会有一个Deadline队列的倒计时间递减到0。
在另一可行的实施方式中,该网络拓扑中的任何一个节点均可以维护有为不同类别的确定性业务流所配置的周期时间(或称Cycle)和相应的循环排队和转发(CyclicQueuing and Forwarding,CQF)队列。当同一类别的确定性业务流在网络中传输时,沿途节点上的所有CQF队列集合均以该周期时间为单位同时发送缓存的报文。当存在两个CQF队列的情况下,可以设置有两个缓冲区,例如Buffer1和Buffer2。在周期i中,将从节点的接收端口接收到的报文缓存至Buffer1,而Buffer2则发送在周期i-1中已经缓存的报文;在周期i+1中,将从节点的接收端口接收到的报文缓存至Buffer2,而Buffer1则发送在周期i中已经缓存的报文。其中,各个节点的平均节点时延为该周期时间。
当报文在该网络拓扑中沿着确定性路径传输时,例如采用冗余保护方案使得该报文同时沿着主确定性路径和备确定性路径传输时,该报文可以携带CQF调度参数或者Deadline调度参数,其中,CQF调度参数包括为与该报文对应的确定性业务流所配置的CQF队列的周期时间,Deadline调度参数包括调度时延,该调度时延为报文在Deadline队列中的最大排队时长(即最大倒计时间或最大剩余时间)。因此,主确定性路径和备确定性路径中的各个节点可以根据该报文所携带的CQF调度参数或者Deadline调度参数,对应调整针对该报文的发送时间,使得主确定性路径和备确定性路径之间的时延和时延抖动均能够满足对应的QoS目标。
需要说明的是,起始节点同时沿着主确定性路径和备确定性路径发送确定性业务流时,确定性业务流会独立地在主确定性路径和备确定性路径中分别传输,当确定性业务流通过主确定性路径和备确定性路径分别到达目的节点后,目的节点会消除在备确定性路径中传输的确定性业务流,从而达到冗余保护的目的,满足报文丢失率的QoS目标。
本发明实施例描述的网络拓扑以及应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着网络拓扑的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1中示出的拓扑结构并不构成对本发明实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于上述网络拓扑的结构,下面提出本发明的报文调度方法的各个实施例。
参照图2所示,图2是本发明一个实施例提供的报文调度方法的流程图,该报文调度方法可以应用于网络中发出业务报文的起始节点,例如图1所示网络拓扑中的任意节点,该报文调度方法包括但不限于步骤S1010、步骤S1020、步骤S1030、步骤S1040、步骤S1050和步骤S1060。
步骤S1010,获取至目的节点的主确定性路径和备确定性路径。
需要说明的是,主确定性路径和备确定性路径均根据目标SLA需求而确定,其中,主确定性路径和备确定性路径可以由起始节点进行路由计算而得到,也可以由起始节点从网络控制器获取得到,此处不作具体限定。当主确定性路径和备确定性路径由起始节点进行路由计算而得到时,起始节点可以根据目标SLA需求进行至目的节点的路由计算,得到主确定性路径和备确定性路径;当主确定性路径和备确定性路径由起始节点从网络控制器获取得到时,网络控制器可以根据目标SLA需求进行从该起始节点至目的节点的路由计算,得到主确定性路径和备确定性路径,然后将主确定性路径和备确定性路径发送给该起始节点。在一可选的实施方式中,可以在确定主确定性路径之后,再根据主确定性路径和目标SLA需求创建备确定性路径。
需要说明的是,目标SLA需求是指待传输的确定性业务流所要求的SLA需求,包括从起始节点到目的节点的最小时延和最大时延、有界的时延抖动、允许的报文丢失率、无序报文传递的上界等QoS目标。
需要说明的是,主确定性路径可以是分布式的内部网关协议(Interior GatewayProtocol,IGP)网络域中的最短路径优先(Shortest Path First,SPF)路径,也可以是集中式的流量工程(Traffic Engineering,TE)路径,此处不作具体限定;而备确定性路径则可以是TE路径,其中,备确定性路径的数量可以是一个,也可以是多个,此处不作具体限定。
步骤S1020,获取主确定性路径的第一传输跳数和备确定性路径的第二传输跳数。
本步骤中,由于在步骤S1010中获取到了主确定性路径和备确定性路径,因此可以获取主确定性路径的第一传输跳数和备确定性路径的第二传输跳数,以便于后续步骤可以根据主确定性路径的第一传输跳数和备确定性路径的第二传输跳数,分别计算得到主确定性路径中各跳节点的第一调度时延参数和备确定性路径中各跳节点的第二调度时延参数,使得主确定性路径中的各跳节点可以根据第一调度时延参数调整业务报文的发送时间,以及使得备确定性路径中的各跳节点可以根据第二调度时延参数调整业务报文的发送时间。
需要说明的是,主确定性路径的第一传输跳数,是指主确定性路径中从起始节点到达目的节点所需要经过的节点的数量,由于在步骤S1010中获取到了至目的节点的主确定性路径,因此可以获取主确定性路径的至目的节点的第一传输跳数。备确定性路径的第二传输跳数,是指备确定性路径中从起始节点到达目的节点所需要经过的节点的数量,由于在步骤S1010中获取到了至目的节点的备确定性路径,因此可以获取备确定性路径的至目的节点的第二传输跳数。
步骤S1030,根据目标SLA需求和第一传输跳数,计算得到主确定性路径中各跳节点的第一调度时延参数。
本步骤中,由于在步骤S1020中获取到了主确定性路径的第一传输跳数,因此可以根据目标SLA需求和第一传输跳数,计算得到主确定性路径中各跳节点的第一调度时延参数,以便于后续步骤可以将该第一调度时延参数传输给主确定性路径中的各跳节点,使得主确定性路径中的各跳节点可以根据该第一调度时延参数调整业务报文的发送时间,满足主确定性路径的时延QoS目标。
需要说明的是,第一调度时延参数可以是CQF调度参数或者Deadline调度参数,可以根据网络中各节点所支持的算路约束类型进行适当的选择,此处不作具体限定。其中,CQF调度参数包括CQF队列的周期时间,Deadline调度参数包括报文在Deadline队列中的最大排队时长。
需要说明的是,计算得到的第一调度时延参数的数量可以是一个,也可以是多个,可以根据主确定性路径中各跳节点的具体情况而决定,此处不作具体限定。当第一调度时延参数的数量为一个时,该第一调度时延参数可以供主确定性路径中的各跳节点共用;当第一调度时延参数的数量为多个时,主确定性路径中的不同节点使用不同的第一调度时延参数。
步骤S1040,根据目标SLA需求和第二传输跳数,计算得到备确定性路径中各跳节点的第二调度时延参数。
需要说明的是,第二调度时延参数和第一调度时延参数用于使备确定性路径和主确定性路径的传输时延之差满足目标SLA需求。
本步骤中,由于在步骤S1020中获取到了备确定性路径的第二传输跳数,因此可以根据目标SLA需求和第二传输跳数,计算得到备确定性路径中各跳节点的第二调度时延参数,以便于后续步骤可以将该第二调度时延参数传输给备确定性路径中的各跳节点,使得备确定性路径中的各跳节点可以根据该第二调度时延参数调整业务报文的发送时间,满足备确定性路径的时延QoS目标。
需要说明的是,第二调度时延参数和第一调度时延参数的类型是相互独立的,例如,当第一调度时延参数为CQF调度参数时,第二调度时延参数可以为CQF调度参数或Deadline调度参数;当第一调度时延参数为Deadline调度参数时,第二调度时延参数可以为Deadline调度参数或CQF调度参数。其中,CQF调度参数包括CQF队列的周期时间,Deadline调度参数包括报文在Deadline队列中的最大排队时长。
需要说明的是,计算得到的第二调度时延参数的数量可以是一个,也可以是多个,可以根据备确定性路径中各跳节点的具体情况而决定,此处不作具体限定。当第二调度时延参数的数量为一个时,该第二调度时延参数可以供备确定性路径中的各跳节点共用;当第二调度时延参数的数量为多个时,备确定性路径中的不同节点使用不同的第二调度时延参数。
值得注意的是,第一调度时延参数和第二调度时延参数的数值可能相等,也可能不相等,根据主确定性路径和备确定性路径中各节点的转发时延和各链路的传输时延而决定,此处不作具体限定。
步骤S1050,沿着主确定性路径传输第一调度时延参数,使得主确定性路径中的各跳节点根据第一调度时延参数调整业务报文的发送时间。
本步骤中,由于在步骤S1030中计算得到了第一调度时延参数,因此可以沿着主确定性路径传输该第一调度时延参数,使得主确定性路径中的各跳节点可以根据该第一调度时延参数调整业务报文的发送时间,从而满足主确定性路径的时延QoS目标。
在一可行的实施方式中,可以采用某一特定报文携带该第一调度时延参数,例如新建一种消息报文携带该第一调度时延参数,或者在现有的某种路由报文中携带该第一调度时延参数,然后沿着主确定性路径传输该特定报文,使得主确定性路径中的各跳节点能够根据该特定报文所携带的第一调度时延参数调整业务报文的发送时间。
在另一可行的实施方式中,可以在业务报文中携带该第一调度时延参数,然后沿着主确定性路径传输该业务报文,使得主确定性路径中的各跳节点能够根据该业务报文所携带的第一调度时延参数调整该业务报文的发送时间。
需要说明的是,当第一调度时延参数的数量为一个时,可以在特定报文或者业务报文中携带这个第一调度时延参数,以供主确定性路径中的各跳节点共用这个第一调度时延参数;当第一调度时延参数的数量为多个时,可以将这些第一调度时延参数组成信息栈,然后将该信息栈填充到特定报文或者业务报文中,使得主确定性路径中的不同节点可以在该信息栈中查找并使用对应的第一调度时延参数。
步骤S1060,沿着备确定性路径传输第二调度时延参数,使得备确定性路径中的各跳节点根据第二调度时延参数调整业务报文的发送时间。
本步骤中,由于在步骤S1040中计算得到了第二调度时延参数,因此可以沿着备确定性路径传输该第二调度时延参数,使得备确定性路径中的各跳节点可以根据该第二调度时延参数调整业务报文的发送时间,从而满足备确定性路径的时延QoS目标。
在一可行的实施方式中,可以采用某一特定报文携带该第二调度时延参数,例如新建一种消息报文携带该第二调度时延参数,或者在现有的某种路由报文中携带该第二调度时延参数,然后沿着备确定性路径传输该特定报文,使得备确定性路径中的各跳节点能够根据该特定报文所携带的第二调度时延参数调整业务报文的发送时间。
在另一可行的实施方式中,可以在业务报文中携带该第二调度时延参数,然后沿着备确定性路径传输该业务报文,使得备确定性路径中的各跳节点能够根据该业务报文所携带的第二调度时延参数调整该业务报文的发送时间。
需要说明的是,当第二调度时延参数的数量为一个时,可以在特定报文或者业务报文中携带这个第二调度时延参数,以供备确定性路径中的各跳节点共用这个第二调度时延参数;当第二调度时延参数的数量为多个时,可以将这些第二调度时延参数组成信息栈,然后将该信息栈填充到特定报文或者业务报文中,使得备确定性路径中的不同节点可以在该信息栈中查找并使用对应的第二调度时延参数。
本实施例中,通过采用包括上述步骤S1010至步骤S1060的报文调度方法,先获取根据目标SLA需求而确定的至目的节点的主确定性路径和备确定性路径,并且获取主确定性路径的第一传输跳数和备确定性路径的第二传输跳数,然后计算得到主确定性路径中各跳节点的第一调度时延参数和备确定性路径中各跳节点的第二调度时延参数,接着沿着主确定性路径传输第一调度时延参数,使得主确定性路径中的各跳节点根据第一调度时延参数调整业务报文的发送时间,并且沿着备确定性路径传输第二调度时延参数,使得备确定性路径中的各跳节点根据第二调度时延参数调整业务报文的发送时间。由于采用了主确定性路径和备确定性路径发送业务报文,因此能够满足报文丢失率的QoS目标;另外,第一调度时延参数是根据目标SLA需求和第一传输跳数而计算得到的,第二调度时延参数是根据目标SLA需求和第二传输跳数而计算得到的,因此,主确定性路径中的各跳节点根据第一调度时延参数调整业务报文的发送时间后,能够使得主确定性路径的传输时延满足时延QoS目标,而备确定性路径中的各跳节点根据第二调度时延参数调整业务报文的发送时间后,能够使得备确定性路径的传输时延满足时延QoS目标;而且,由于第二调度时延参数和第一调度时延参数用于使主确定性路径和备确定性路径的传输时延之差满足目标SLA需求,因此主确定性路径和备确定性路径之间能够满足时延抖动QoS目标。所以,本实施例能够在满足报文丢失率的QoS目标的情况下,满足主确定性路径和备确定性路径之间的时延QoS目标与时延抖动QoS目标。
参照图3所示,本发明的一个实施例,对备确定性路径的获取步骤进行进一步的说明,备确定性路径可以由以下步骤得到:
步骤S10,根据目标SLA需求确定至目的节点的多个候选确定性路径;
步骤S20,在多个候选确定性路径中,将满足目标算路策略的候选确定性路径确定为备确定性路径。
需要说明的是,由于已知目的节点,因此当需要获取备确定性路径时,可以先根据主确定性路径所满足的目标SLA需求,确定至目的节点的除该主确定性路径之外的多个候选确定性路径,然后在这些候选确定性路径中,将满足目标算路策略的候选确定性路径确定为备确定性路径。
需要说明的是,满足目标算路策略的候选确定性路径的数量可能是一个,也可能是多个,因此得到备确定性路径可能是一个或者多个。由于这些候选确定性路径是根据目标SLA需求而确定的,因此这些候选确定性路径都能够满足目标SLA需求;而备确定性路径是从这些候选确定性路径中确定的,因此备确定性路径也能够满足目标SLA需求。
需要说明的是,目标算路策略包括如下至少之一:
(1)主确定性路径和备确定性路径的相交节点的数量最少;
(2)主确定性路径和备确定性路径的跳数之差最小;
(3)主确定性路径和备确定性路径的累计链路传输时延之差最小。
需要说明的是,主确定性路径和备确定性路径的相交节点的数量最少,能够在主确定性路径出现故障时,降低备确定性路径所受到的影响,从而实现良好的冗余保护。主确定性路径和备确定性路径的跳数之差最小,能够降低报文在主确定性路径和备确定性路径之间的节点内的驻留时延差;主确定性路径和备确定性路径的累计链路传输时延之差最小,能够降低报文在主确定性路径和备确定性路径之间的链路的传输时延差。
在一可行的实施方式中,第(1)种目标算路策略的优先级高于第(2)种目标算路策略和第(3)种目标算路策略的优先级,也就是说,当需要获取备确定性路径时,优先选择满足第(1)种目标算路策略的候选确定性路径,然后,根据实际应用情况再确定是否需要在满足第(1)种目标算路策略的候选确定性路径中进一步选择满足第(2)种目标算路策略和第(3)种目标算路策略的候选确定性路径,接着,将最后选择得到的候选确定性路径确定为备确定性路径。当然,在另一些可行的实施方式中,也可以根据实际应用情况选择满足上述3种目标算路策略中的任意一种的候选确定性路径作为备确定性路径,此处不作具体限定。
参照图4所示,本发明的一个实施例,对步骤S1030进行进一步的说明,步骤S1030可以包括但不限于以下步骤:
步骤S1031,获取主确定性路径中各跳节点的第一转发时延;
步骤S1032,获取主确定性路径的第一累计链路传输时延;
步骤S1033,根据目标SLA需求、第一传输跳数、第一转发时延和第一累计链路传输时延,计算得到主确定性路径中各跳节点的第一调度时延参数。
本实施例中,由于在步骤S1010中获取到了主确定性路径,并且在步骤S1020中获取到了主确定性路径的第一传输跳数,因此可以获取主确定性路径中各跳节点的第一转发时延以及主确定性路径的第一累计链路传输时延,然后根据目标SLA需求、第一传输跳数、第一转发时延和第一累计链路传输时延,计算得到主确定性路径中各跳节点的第一调度时延参数,以便于后续步骤可以将该第一调度时延参数传输给主确定性路径中的各跳节点,使得主确定性路径中的各跳节点可以根据该第一调度时延参数调整业务报文的发送时间,满足主确定性路径的时延QoS目标。
在一实施例中,可以采用如下公式(1)计算得到第一调度时延参数:
在公式(1)中,DSLA是目标SLA需求(如确定性时延等),F1(i)是主确定性路径中第i跳节点的转发时延,m是主确定性路径的传输跳数,Q1是用于主确定性路径中各跳节点的调度时延参数,L1是主确定性路径的累计链路传输时延。当在步骤S1020中获取到了主确定性路径的第一传输跳数、在步骤S1031中获取到了主确定性路径中各跳节点的第一转发时延,以及在步骤S1032中获取到了主确定性路径的第一累计链路传输时延之后,可以将第一传输跳数、第一转发时延、第一累计链路传输时延和目标SLA需求代入到公式(1)中,从而计算得到主确定性路径中各跳节点的第一调度时延参数。
下面以具体的例子进行说明:
假设目标SLA需求为确定性时延Delayprimary,业务报文在主确定性路径中经过的中间节点为A1、A2、...、Am,即主确定性路径的第一传输跳数为m,各跳节点的第一转发时延均为F1,各跳节点的第一调度时延参数设置为未知参数Qprimary,主确定性路径的第一累计链路传输时延为Lprimary,那么,将这些参数代入到公式(1)后可得:
因此,通过上述公式(2)可以计算得到第一调度时延参数Qprimary的具体数值。
参照图5所示,本发明的一个实施例,对步骤S1040进行进一步的说明,步骤S1040可以包括但不限于以下步骤:
步骤S1041,获取备确定性路径中各跳节点的第二转发时延;
步骤S1042,获取备确定性路径的第二累计链路传输时延;
步骤S1043,根据目标SLA需求、第二传输跳数、第二转发时延和第二累计链路传输时延,计算得到备确定性路径中各跳节点的第二调度时延参数。
本实施例中,由于在步骤S1010中获取到了备确定性路径,并且在步骤S1020中获取到了备确定性路径的第二传输跳数,因此可以获取备确定性路径中各跳节点的第二转发时延以及备确定性路径的第二累计链路传输时延,然后根据目标SLA需求、第二传输跳数、第二转发时延和第二累计链路传输时延,计算得到备确定性路径中各跳节点的第二调度时延参数,以便于后续步骤可以将该第二调度时延参数传输给备确定性路径中的各跳节点,使得备确定性路径中的各跳节点可以根据该第二调度时延参数调整业务报文的发送时间,满足备确定性路径的时延QoS目标。
在一实施例中,可以采用如下公式(3)计算得到第二调度时延参数:
在公式(3)中,DSLA是目标SLA需求(如确定性时延等),F2(i)是备确定性路径中第i跳节点的转发时延,n是备确定性路径的传输跳数,Q2是用于备确定性路径中各跳节点的调度时延参数,L2是备确定性路径的累计链路传输时延。当在步骤S1020中获取到了备确定性路径的第二传输跳数、在步骤S1041中获取到了备确定性路径中各跳节点的第二转发时延,以及在步骤S1042中获取到了备确定性路径的第二累计链路传输时延之后,可以将第二传输跳数、第二转发时延、第二累计链路传输时延和目标SLA需求代入到公式(3)中,从而计算得到备确定性路径中各跳节点的第二调度时延参数。
下面以具体的例子进行说明:
假设目标SLA需求为确定性时延Delaysecondary,业务报文在备确定性路径中经过的中间节点为B1、B2、...、Bn,即备确定性路径的第二传输跳数为n,各跳节点的第二转发时延均为F2,各跳节点的第二调度时延参数设置为未知参数Qsecondary,备确定性路径的第二累计链路传输时延为Lsecondary,那么,将这些参数代入到公式(3)后可得:
因此,通过上述公式(4)可以计算得到第二调度时延参数Qsecondary的具体数值。
参照图6所示,本发明的一个实施例,对该报文调度方法进行进一步的说明,当网络拓扑发生改变时,该报文调度方法还可以包括但不限于以下步骤:
步骤S1070,获取至目的节点的新的主确定性路径和新的备确定性路径;
步骤S1080,获取新的主确定性路径的第三传输跳数和新的备确定性路径的第四传输跳数;
步骤S1090,根据目标SLA需求和第三传输跳数,计算得到新的主确定性路径中各跳节点的第三调度时延参数;
步骤S1100,根据目标SLA需求和第四传输跳数,计算得到新的备确定性路径中各跳节点的第四调度时延参数;
步骤S1110,沿着新的主确定性路径传输第三调度时延参数,使得新的主确定性路径中的各跳节点根据第三调度时延参数调整业务报文的发送时间;
步骤S1120,沿着新的备确定性路径传输第四调度时延参数,使得新的备确定性路径中的各跳节点根据第四调度时延参数调整业务报文的发送时间。
需要说明的是,新的主确定性路径和新的备确定性路径均根据目标SLA需求而确定;第三调度时延参数和第四调度时延参数用于使新的主确定性路径和新的备确定性路径的传输时延之差满足目标SLA需求。
本实施例中,当网络拓扑发生改变时,有可能导致原本的主确定性路径和备确定性路径无法正常使用,因此,可以先获取至目的节点的新的主确定性路径和新的备确定性路径,并且获取新的主确定性路径的第三传输跳数和新的备确定性路径的第四传输跳数,然后根据目标SLA需求和第三传输跳数计算得到新的主确定性路径中各跳节点的第三调度时延参数,以及根据目标SLA需求和第四传输跳数计算得到新的备确定性路径中各跳节点的第四调度时延参数,接着沿着新的主确定性路径传输第三调度时延参数,使得新的主确定性路径中的各跳节点根据第三调度时延参数调整业务报文的发送时间,并且沿着新的备确定性路径传输第四调度时延参数,使得新的备确定性路径中的各跳节点根据第四调度时延参数调整业务报文的发送时间。由于在网络拓扑发生改变后,仍然采用冗余保护的方式发送业务报文,因此能够满足报文丢失率的QoS目标;另外,由于新的主确定性路径中各跳节点的第三调度时延参数,是根据目标SLA需求和新的主确定性路径的第三传输跳数而计算得到的,而新的备确定性路径中各跳节点的第四调度时延参数,则是根据目标SLA需求和新的备确定性路径的第四传输跳数而计算得到的,因此,新的主确定性路径中的各跳节点根据第三调度时延参数调整业务报文的发送时间后,能够使得新的主确定性路径的传输时延满足时延QoS目标,而新的备确定性路径中的各跳节点根据第四调度时延参数调整业务报文的发送时间后,能够使得新的备确定性路径的传输时延满足时延QoS目标;而且,由于第三调度时延参数和第四调度时延参数用于使新的主确定性路径和新的备确定性路径的传输时延之差满足目标SLA需求,因此新的主确定性路径和新的备确定性路径之间同样能够满足时延抖动QoS目标。所以,即使在网络拓扑发生改变的情况下,本实施例仍然能够在满足报文丢失率的QoS目标的情况下,满足新的主确定性路径和新的备确定性路径之间的时延QoS目标与时延抖动QoS目标,从而能够自适应网络拓扑的变化,使得网络拓扑的变化对确定性业务流的SLA需求不产生负面影响。
参照图7所示,图7是本发明另一个实施例提供的报文调度方法的流程图,该报文调度方法可以应用于网络中转发业务报文的中间节点,例如图1所示网络拓扑中的任意节点,该报文调度方法包括但不限于以下步骤:
步骤S2010,接收业务报文,其中,业务报文包括第一调度时延参数和目的节点的地址信息;
步骤S2020,根据地址信息确定至目的节点的主确定性路径;
步骤S2030,根据主确定性路径和第一调度时延参数确定目标SLA需求;
步骤S2040,根据目标SLA需求确定至目的节点的备确定性路径;
步骤S2050,获取备确定性路径的第二传输跳数;
步骤S2060,根据目标SLA需求和第二传输跳数,计算得到备确定性路径中各跳节点的第二调度时延参数;
步骤S2070,沿着主确定性路径转发业务报文,使得主确定性路径中的各跳节点根据业务报文中的第一调度时延参数调整业务报文的发送时间;
步骤S2080,沿着备确定性路径传输携带有第二调度时延参数的备份报文,使得备确定性路径中的各跳节点根据备份报文中的第二调度时延参数调整备份报文的发送时间。
需要说明的是,步骤S2010中接收到的业务报文,可以是如图2所示实施例中的起始节点沿着原始主确定性路径传输的包括有第一调度时延参数的业务报文。
需要说明的是,备份报文与业务报文具有相同的载荷,也就是说,备份报文可以由对业务报文进行复制而得到,但业务报文携带有第一调度时延参数,而备份报文则携带有第二调度时延参数。其中,第二调度时延参数和第一调度时延参数用于使主确定性路径和备确定性路径的传输时延之差满足目标服务等级协定需求。
本实施例中,在中间节点需要对接收到的业务报文进行第二次业务流复制以实现冗余保护的情况下,当中间节点接收到包括有第一调度时延参数和目的节点的地址信息的业务报文之后,中间节点可以先根据地址信息确定至目的节点的主确定性路径,或直接从业务报文中获取路径信息而确定至目的节点的主确定性路径,即,中间节点先获取从起始节点到目的节点的原始主确定性路径中,以该中间节点为起点的剩余路径部分,再根据主确定性路径(即剩余路径部分)和第一调度时延参数确定目标SLA需求,并根据目标SLA需求确定至目的节点的备确定性路径以及获取备确定性路径的第二传输跳数,然后根据目标SLA需求和第二传输跳数,计算得到备确定性路径中各跳节点的第二调度时延参数,接着沿着主确定性路径转发业务报文,使得主确定性路径中的各跳节点根据业务报文中的第一调度时延参数调整业务报文的发送时间,并且沿着备确定性路径传输携带有第二调度时延参数的备份报文,使得备确定性路径中的各跳节点根据备份报文中的第二调度时延参数调整备份报文的发送时间。
本实施例中,由于中间节点对业务报文进行第二次业务流复制,并采用主确定性路径和备确定性路径发送业务流,因此能够满足报文丢失率的QoS目标;另外,由于中间节点接收到的包括有第一调度时延参数的业务报文,是如图2所示实施例中的起始节点沿着原始主确定性路径传输的业务报文,因此该中间节点根据该第一调度时延参数调整业务报文的发送时间后,能够满足时延QoS目标;此外,由于目标SLA需求根据第一调度时延参数而确定,而第二调度时延参数根据目标SLA需求而计算得到,因此,备确定性路径中的各跳节点根据第二调度时延参数调整业务报文的发送时间后,能够与主备确定性路径一样满足时延QoS目标;而且,由于第二调度时延参数和第一调度时延参数用于使主确定性路径和备确定性路径的传输时延之差满足目标SLA需求,因此主确定性路径和备确定性路径之间能够满足时延抖动QoS目标。所以,本实施例能够在满足报文丢失率的QoS目标的情况下,满足主确定性路径和备确定性路径之间的时延QoS目标与时延抖动QoS目标。
需要说明的是,本实施例可以是在如图2所示实施例的基础上的进一步扩展,因此本实施例中所涉及到的与如图2所示实施例所涉及到的相关内容,可以参照如图2所示实施例中的相关描述,为了避免内容重复冗余,此处不再赘述。
参照图8所示,本发明的一个实施例,对步骤S2030进行进一步的说明,步骤S2030可以包括但不限于以下步骤:
步骤S2031,获取主确定性路径的第一传输跳数、主确定性路径中各跳节点的第一转发时延和主确定性路径的第一累计链路传输时延;
步骤S2032,根据第一传输跳数、第一转发时延、第一累计链路传输时延和第一调度时延参数,计算得到目标SLA需求。
本实施例中,由于在步骤S2010中接收到了包括有第一调度时延参数的业务报文,并且在步骤S2020中确定了主确定性路径,因此可以根据主确定性路径和第一调度时延参数确定目标SLA需求,以便于后续步骤可以根据目标SLA需求确定至目的节点的备确定性路径,而在根据目标SLA需求确定至目的节点的备确定性路径的过程中,可以先获取主确定性路径的第一传输跳数、主确定性路径中各跳节点的第一转发时延和主确定性路径的第一累计链路传输时延,然后根据第一传输跳数、第一转发时延、第一累计链路传输时延和第一调度时延参数,计算得到目标SLA需求。
需要说明的是,可以采用上述公式(1)计算得到目标SLA需求,具体地,可以将第一传输跳数、第一转发时延、第一累计链路传输时延和第一调度时延参数输入到上述公式(1)中,从而计算得到目标SLA需求,以便于后续步骤可以根据目标SLA需求确定至目的节点的备确定性路径。
另外,本发明的一个实施例,对步骤S2040进行进一步的说明,步骤S2040可以包括但不限于以下步骤:
根据目标SLA需求确定至目的节点的多个候选确定性路径;
在多个候选确定性路径中,将满足目标算路策略的候选确定性路径确定为至目的节点的备确定性路径。
需要说明的是,由于已知目的节点,因此当需要获取备确定性路径时,可以先根据主确定性路径所满足的目标SLA需求,确定至目的节点的除该主确定性路径之外的多个候选确定性路径,然后在这些候选确定性路径中,将满足目标算路策略的候选确定性路径确定为备确定性路径。
需要说明的是,满足目标算路策略的候选确定性路径的数量可能是一个,也可能是多个,因此得到备确定性路径可能是一个或者多个。由于这些候选确定性路径是根据目标SLA需求而确定的,因此这些候选确定性路径都能够满足目标SLA需求;而备确定性路径是从这些候选确定性路径中确定的,因此备确定性路径也能够满足目标SLA需求。
需要说明的是,目标算路策略包括如下至少之一:
(1)主确定性路径和备确定性路径的相交节点的数量最少;
(2)主确定性路径和备确定性路径的跳数之差最小;
(3)主确定性路径和备确定性路径的累计链路传输时延之差最小。
需要说明的是,主确定性路径和备确定性路径的相交节点的数量最少,能够在主确定性路径出现故障时,降低备确定性路径所受到的影响,从而实现良好的冗余保护。主确定性路径和备确定性路径的跳数之差最小,能够降低报文在主确定性路径和备确定性路径之间的节点内的驻留时延差;主确定性路径和备确定性路径的累计链路传输时延之差最小,能够降低报文在主确定性路径和备确定性路径之间的链路的传输时延差。
在一可行的实施方式中,第(1)种目标算路策略的优先级高于第(2)种目标算路策略和第(3)种目标算路策略的优先级,也就是说,当需要获取备确定性路径时,优先选择满足第(1)种目标算路策略的候选确定性路径,然后,根据实际应用情况再确定是否需要在满足第(1)种目标算路策略的候选确定性路径中进一步选择满足第(2)种目标算路策略和第(3)种目标算路策略的候选确定性路径,接着,将最后选择得到的候选确定性路径确定为备确定性路径。当然,在另一些可行的实施方式中,也可以根据实际应用情况选择满足上述3种目标算路策略中的任意一种的候选确定性路径作为备确定性路径,此处不作具体限定。
另外,本发明的一个实施例,对步骤S2060进行进一步的说明,步骤S2060可以包括但不限于以下步骤:
获取备确定性路径中各跳节点的第二转发时延;
获取备确定性路径的第二累计链路传输时延;
根据目标SLA需求、第二传输跳数、第二转发时延和第二累计链路传输时延,计算得到备确定性路径中各跳节点的第二调度时延参数。
本实施例中,由于在步骤S2040中获取到了备确定性路径,并且在步骤S2050中获取到了备确定性路径的第二传输跳数,因此可以获取备确定性路径中各跳节点的第二转发时延以及备确定性路径的第二累计链路传输时延,然后根据目标SLA需求、第二传输跳数、第二转发时延和第二累计链路传输时延,计算得到备确定性路径中各跳节点的第二调度时延参数,以便于后续步骤可以将该第二调度时延参数传输给备确定性路径中的各跳节点,使得备确定性路径中的各跳节点可以根据该第二调度时延参数调整业务报文的发送时间,满足备确定性路径的时延QoS目标。
需要说明的是,可以采用上述公式(3)计算得到备确定性路径中各跳节点的第二调度时延参数,具体地,可以将目标SLA需求、第二传输跳数、第二转发时延和第二累计链路传输时延输入到上述公式(3)中,从而计算得到备确定性路径中各跳节点的第二调度时延参数,以便于后续步骤可以将该第二调度时延参数传输给备确定性路径中的各跳节点,使得备确定性路径中的各跳节点可以根据该第二调度时延参数调整业务报文的发送时间,满足备确定性路径的时延QoS目标。
为了更加清楚的说明本发明实施例所提供的报文调度方法的处理流程,下面以具体的示例进行说明。
示例一:
参照图1所示的网络拓扑,第一节点110使用IGP Flex-algo(灵活算法)创建虚拟网络(假设为IGP Flex-algo 128平面)并在该虚拟网络中计算得到至第三节点130的主确定性路径201以及备确定性路径202,其中,主确定性路径201是SPF Path,备确定性路径202是TE Path。在图1的网络拓扑中,给出了每条链路的链路传输时延参数,例如,第二节点120和第三节点130之间的链路传输时延参数为10us。
假设该虚拟网络中的所有节点的链路均支持一致的Deadline调度参数,该Deadline调度参数具体如下:
Deadline调度使能开关:ON;
节点内转发时延:5us;
支持的Deadline调度时延集合:<1us,2us,3us,...,60us>;
调度策略:针对每个调度时延,均同时支持提前发送策略与准时发送策略。
配置该虚拟网络的灵活算法定义(Flexible Algorithm Definition,FAD),设置绑定的Deadline调度参数为:调度时延参数Q未知、调度策略为准时发送策略。假设该虚拟网络的FAD内容是该虚拟网络中所有节点协商后得到的最优FAD。
第一节点110以自身为起始节点计算得到的至第三节点130(即目的节点)的主确定性路径为第一节点110-第二节点120-第三节点130,该主确定性路径的确定性时延度量为2*5+2*Qx+20,即,中间节点跳数为2,累计的节点内转发时延为2*5,累计的节点内调度时延参数为2*Qx(假设Qx为主确定性路径上各节点内的一致的调度时延参数),累计的链路传输时延为20。
针对上述主确定性路径,第一节点110计算得到的备确定性路径为第一节点110-第六节点160-第五节点150-第四节点140-第三节点130,该备确定性路径的确定性时延度量为4*5+4*Qy+40,即,中间节点跳数为4,累计的节点内转发时延为4*5,累计的节点内调度时延参数为4*Qy(假设Qy为备确定性路径上各节点内的一致的调度时延参数),累计的链路传输时延为40。
假设第一节点110接入的某个确定性业务流的目标SLA需求是至第三节点130的端到端时延为100us,则第一节点110将按照等式2*5+2*Qx+20=100,计算得到Qx等于35,因此,第一节点110可以在封装该确定性业务流的业务报文时,在该业务报文中携带数值为35的调度时延参数,然后沿着主确定性路径传输该业务报文,使得主确定性路径中的各跳节点能够根据该调度时延参数调整该业务报文的发送时间。另外,第一节点110还可以按照等式4*5+4*Qy+40=100,计算得到Qy等于10,因此,第一节点110可以在封装该确定性业务流的业务报文时,在该业务报文中携带数值为10的调度时延参数,然后沿着备确定性路径传输该业务报文,使得备确定性路径中的各跳节点能够根据该调度时延参数调整该业务报文的发送时间。通过在主确定性路径和备确定性路径中携带不同的调度时延参数,使得业务报文在沿着主确定性路径和备确定性路径传输时具有一致的时延,从而避免了由于路径之间的差异而导致的时延抖动。
示例二:
参照图1所示的网络拓扑,该网络可以是物理网络或者是虚拟网络,第一节点110在该网络中计算得到至第三节点130的主确定性路径201以及备确定性路径202,其中,主确定性路径201和备确定性路径202均是TE Path。在图1的网络拓扑中,给出了每条链路的链路传输时延参数,例如,第二节点120和第三节点130之间的链路传输时延参数为10us。
假设该虚拟网络中的所有节点的链路均支持一致的Deadline调度参数,该Deadline调度参数具体如下:
Deadline调度使能开关:ON;
节点内转发时延:5us;
支持的Deadline调度时延集合:<1us,2us,3us,...,60us>;
调度策略:针对每个调度时延,均同时支持提前发送策略与准时发送策略。
当针对某个特定的确定性业务流需求,计算一条从第一节点110至第三节点130的SR policy时,配置的路径计算约束条件包括:调度时延参数Q未知、调度策略为准时发送策略、目标SLA需求的时延为100us。在不考虑其它约束条件的影响下,将可以计算得到主确定性路径为第一节点110-第二节点120-第三节点130,该主确定性路径的确定性时延度量为2*5+2*35+20=100,即,中间节点跳数为2,累计的节点内转发时延为2*5,累计的节点内调度时延参数为2*35,累计的链路传输时延为20。
针对上述主确定性路径,第一节点110计算得到的备确定性路径为第一节点110-第六节点160-第五节点150-第四节点140-第三节点130,该备确定性路径的确定性时延度量为4*5+4*10+40=100,即,中间节点跳数为4,累计的节点内转发时延为4*5,累计的节点内调度时延参数为4*10,累计的链路传输时延为40。因此,第一节点110可以在封装该确定性业务流的业务报文时,在该业务报文中携带数值为35的调度时延参数,然后沿着主确定性路径传输该业务报文,使得主确定性路径中的各跳节点能够根据该调度时延参数调整该业务报文的发送时间。另外,第一节点110还可以在封装该确定性业务流的业务报文时,在该业务报文中携带数值为10的调度时延参数,然后沿着备确定性路径传输该业务报文,使得备确定性路径中的各跳节点能够根据该调度时延参数调整该业务报文的发送时间。通过在主确定性路径和备确定性路径中携带不同的调度时延参数,使得业务报文在沿着主确定性路径和备确定性路径传输时具有一致的时延,从而避免了由于路径之间的差异而导致的时延抖动。
另外,参照图9所示,本发明的一个实施例还提供了一种网络设备,该网络设备300包括存储器310、处理器320及存储在存储器310上并可在处理器320上运行的计算机程序。
处理器320和存储器310可以通过总线或者其他方式连接。
存储器310作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器310可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器310可选包括相对于处理器320远程设置的存储器,这些远程存储器可以通过网络连接至该处理器320。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
需要说明的是,本实施例中的网络设备300,可以应用为如图1所示实施例中的任一个节点,本实施例中的网络设备300能够构成图1所示实施例中的网络拓扑的一部分,这些实施例均属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
实现上述实施例的报文调度方法所需的非暂态软件程序以及指令存储在存储器310中,当被处理器320执行时,执行上述实施例中的报文调度方法,例如,执行以上描述的图2中的方法步骤S1010至S1060、图3中的方法步骤S10至S20、图4中的方法步骤S1031至S1033、图5中的方法步骤S1041至S1043、图6中的方法步骤S1070至S1120、图7中的方法步骤S2010至S2080、图8中的方法步骤S2031至S2032。
以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的报文调度方法,例如,执行以上描述的图2中的方法步骤S1010至S1060、图3中的方法步骤S10至S20、图4中的方法步骤S1031至S1033、图5中的方法步骤S1041至S1043、图6中的方法步骤S1070至S1120、图7中的方法步骤S2010至S2080、图8中的方法步骤S2031至S2032。
此外,本发明的一个实施例还提供了一种计算机程序产品,包括计算机程序或计算机指令,计算机程序或计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取计算机程序或计算机指令,处理器执行计算机程序或计算机指令,使得计算机设备执行如前面任意实施例所述的报文调度方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (13)
1.一种报文调度方法,包括:
获取至目的节点的主确定性路径和备确定性路径,其中,所述主确定性路径和所述备确定性路径均根据目标服务等级协定需求而确定;
获取所述主确定性路径的第一传输跳数和所述备确定性路径的第二传输跳数;
根据所述目标服务等级协定需求和所述第一传输跳数,计算得到所述主确定性路径中各跳节点的第一调度时延参数;
根据所述目标服务等级协定需求和所述第二传输跳数,计算得到所述备确定性路径中各跳节点的第二调度时延参数,其中,所述第二调度时延参数和所述第一调度时延参数用于使所述备确定性路径和所述主确定性路径的传输时延之差满足所述目标服务等级协定需求;
沿着所述主确定性路径传输所述第一调度时延参数,使得所述主确定性路径中的各跳节点根据所述第一调度时延参数调整业务报文的发送时间;
沿着所述备确定性路径传输所述第二调度时延参数,使得所述备确定性路径中的各跳节点根据所述第二调度时延参数调整业务报文的发送时间。
2.根据权利要求1所述的报文调度方法,其特征在于,所述备确定性路径由以下步骤得到:
根据所述目标服务等级协定需求确定至所述目的节点的多个候选确定性路径;
在多个所述候选确定性路径中,将满足目标算路策略的候选确定性路径确定为所述备确定性路径。
3.根据权利要求2所述的报文调度方法,其特征在于,所述目标算路策略包括如下至少之一:
所述主确定性路径和所述备确定性路径的相交节点的数量最少;
所述主确定性路径和所述备确定性路径的跳数之差最小;
所述主确定性路径和所述备确定性路径的累计链路传输时延之差最小。
4.根据权利要求1所述的报文调度方法,其特征在于,所述根据所述目标服务等级协定需求和所述第一传输跳数,计算得到所述主确定性路径中各跳节点的第一调度时延参数,包括:
获取所述主确定性路径中各跳节点的第一转发时延;
获取所述主确定性路径的第一累计链路传输时延;
根据所述目标服务等级协定需求、所述第一传输跳数、所述第一转发时延和所述第一累计链路传输时延,计算得到所述主确定性路径中各跳节点的第一调度时延参数。
5.根据权利要求1所述的报文调度方法,其特征在于,所述根据所述目标服务等级协定需求和所述第二传输跳数,计算得到所述备确定性路径中各跳节点的第二调度时延参数,包括:
获取所述备确定性路径中各跳节点的第二转发时延;
获取所述备确定性路径的第二累计链路传输时延;
根据所述目标服务等级协定需求、所述第二传输跳数、所述第二转发时延和所述第二累计链路传输时延,计算得到所述备确定性路径中各跳节点的第二调度时延参数。
6.根据权利要求1所述的报文调度方法,其特征在于,当网络拓扑发生改变,所述报文调度方法还包括:
获取至所述目的节点的新的主确定性路径和新的备确定性路径,其中,所述新的主确定性路径和所述新的备确定性路径均根据所述目标服务等级协定需求而确定;
获取所述新的主确定性路径的第三传输跳数和所述新的备确定性路径的第四传输跳数;
根据所述目标服务等级协定需求和所述第三传输跳数,计算得到所述新的主确定性路径中各跳节点的第三调度时延参数;
根据所述目标服务等级协定需求和所述第四传输跳数,计算得到所述新的备确定性路径中各跳节点的第四调度时延参数,其中,所述第三调度时延参数和所述第四调度时延参数用于使所述新的主确定性路径和所述新的备确定性路径的传输时延之差满足所述目标服务等级协定需求;
沿着所述新的主确定性路径传输所述第三调度时延参数,使得所述新的主确定性路径中的各跳节点根据所述第三调度时延参数调整业务报文的发送时间;
沿着所述新的备确定性路径传输所述第四调度时延参数,使得所述新的备确定性路径中的各跳节点根据所述第四调度时延参数调整业务报文的发送时间。
7.一种报文调度方法,包括:
接收业务报文,其中,所述业务报文包括第一调度时延参数和目的节点的地址信息;
根据所述地址信息确定至所述目的节点的主确定性路径;
根据所述主确定性路径和所述第一调度时延参数确定目标服务等级协定需求;
根据所述目标服务等级协定需求确定至所述目的节点的备确定性路径;
获取所述备确定性路径的第二传输跳数;
根据所述目标服务等级协定需求和所述第二传输跳数,计算得到所述备确定性路径中各跳节点的第二调度时延参数,其中,所述第二调度时延参数和所述第一调度时延参数用于使所述备确定性路径和所述主确定性路径的传输时延之差满足所述目标服务等级协定需求;
沿着所述主确定性路径转发所述业务报文,使得所述主确定性路径中的各跳节点根据所述业务报文中的所述第一调度时延参数调整所述业务报文的发送时间;
沿着所述备确定性路径传输携带有所述第二调度时延参数的备份报文,使得所述备确定性路径中的各跳节点根据所述备份报文中的所述第二调度时延参数调整所述备份报文的发送时间,其中,所述备份报文与所述业务报文具有相同的载荷。
8.根据权利要求7所述的报文调度方法,其特征在于,所述根据所述主确定性路径和所述第一调度时延参数确定目标服务等级协定需求,包括:
获取所述主确定性路径的第一传输跳数、所述主确定性路径中各跳节点的第一转发时延和所述主确定性路径的第一累计链路传输时延;
根据所述第一传输跳数、所述第一转发时延、所述第一累计链路传输时延和所述第一调度时延参数,计算得到目标服务等级协定需求。
9.根据权利要求7所述的报文调度方法,其特征在于,所述根据所述目标服务等级协定需求确定至所述目的节点的备确定性路径,包括:
根据所述目标服务等级协定需求确定至所述目的节点的多个候选确定性路径;
在多个所述候选确定性路径中,将满足目标算路策略的候选确定性路径确定为至所述目的节点的备确定性路径。
10.根据权利要求9所述的报文调度方法,其特征在于,所述目标算路策略包括如下至少之一:
所述主确定性路径和所述备确定性路径的相交节点的数量最少;
所述主确定性路径和所述备确定性路径的跳数之差最小;
所述主确定性路径和所述备确定性路径的累计链路传输时延之差最小。
11.根据权利要求7所述的报文调度方法,其特征在于,所述根据所述目标服务等级协定需求和所述第二传输跳数,计算得到所述备确定性路径中各跳节点的第二调度时延参数,包括:
获取所述备确定性路径中各跳节点的第二转发时延;
获取所述备确定性路径的第二累计链路传输时延;
根据所述目标服务等级协定需求、所述第二传输跳数、所述第二转发时延和所述第二累计链路传输时延,计算得到所述备确定性路径中各跳节点的第二调度时延参数。
12.一种网络设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至11中任意一项所述的报文调度方法。
13.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至11中任意一项所述的报文调度方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210143378.1A CN116647484A (zh) | 2022-02-16 | 2022-02-16 | 报文调度方法、网络设备及计算机可读存储介质 |
PCT/CN2022/120616 WO2023155432A1 (zh) | 2022-02-16 | 2022-09-22 | 报文调度方法、网络设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210143378.1A CN116647484A (zh) | 2022-02-16 | 2022-02-16 | 报文调度方法、网络设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116647484A true CN116647484A (zh) | 2023-08-25 |
Family
ID=87577423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210143378.1A Pending CN116647484A (zh) | 2022-02-16 | 2022-02-16 | 报文调度方法、网络设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116647484A (zh) |
WO (1) | WO2023155432A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9736056B2 (en) * | 2014-05-02 | 2017-08-15 | Cisco Technology, Inc. | Centralized predictive routing using delay predictability measurements |
CN109428742B (zh) * | 2017-08-22 | 2020-12-15 | 华为技术有限公司 | 基于时延传输路径控制方法、网络控制器和系统 |
US10623326B2 (en) * | 2018-03-07 | 2020-04-14 | Cisco Technology, Inc. | Jitter compensation along multiple-path deterministic network segment |
US11122491B2 (en) * | 2019-09-05 | 2021-09-14 | Cisco Technology, Inc. | In-situ best path selection for mobile core network |
-
2022
- 2022-02-16 CN CN202210143378.1A patent/CN116647484A/zh active Pending
- 2022-09-22 WO PCT/CN2022/120616 patent/WO2023155432A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023155432A1 (zh) | 2023-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11916782B2 (en) | System and method for facilitating global fairness in a network | |
US11516134B2 (en) | Method and apparatus for controlling traffic in packet-based network | |
US7636781B2 (en) | System and method for realizing the resource distribution in the communication network | |
US9571402B2 (en) | Congestion control and QoS in NoC by regulating the injection traffic | |
WO2019214561A1 (zh) | 一种报文发送的方法、网络节点和系统 | |
CA2441579A1 (en) | Multi-path dynamic routing algorithm | |
WO2014121843A1 (en) | Time slot allocation for burst switched network | |
Kentis et al. | Effects of port congestion in the gate control list scheduling of time sensitive networks | |
CN113543209B (zh) | 一种基于令牌调度的拥塞控制方法及装置 | |
WO2020191013A1 (en) | Latency based forwarding of packets for service-level objectives (slo) with quantified delay ranges | |
CN113746751A (zh) | 一种通信方法及装置 | |
CN114051715A (zh) | 控制设备、交换设备和方法 | |
US20060209683A1 (en) | Packet transmission method and station in packet ring telecommunications network | |
Hertiana et al. | A joint approach to multipath routing and rate adaptation for congestion control in openflow software defined network | |
Abbasloo et al. | Hyline: a simple and practical flow scheduling for commodity datacenters | |
CN116647484A (zh) | 报文调度方法、网络设备及计算机可读存储介质 | |
Nithin et al. | Efficient load balancing for multicast traffic in data center networks using SDN | |
US11240164B2 (en) | Method for obtaining path information of data packet and device | |
CN116436863A (zh) | 报文调度方法、网络设备、存储介质及计算机程序产品 | |
WO2024055675A1 (zh) | 报文调度方法、网络设备、存储介质及计算机程序产品 | |
Nleya et al. | A bursts contention avoidance scheme based on streamline effect awareness and limited intermediate node buffering in the core network | |
Kumar et al. | Performance analysis of optical burst switching using burst delay feedback scheduling with different methods | |
WO2023236832A1 (zh) | 数据调度处理方法、设备、装置及存储介质 | |
US20240080266A1 (en) | Flexible per-flow multipath managed by sender-side network adapter | |
Nleya et al. | QoS considerations in OBS switched backbone networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |