CN110601999B - 资源预留的方法与装置 - Google Patents
资源预留的方法与装置 Download PDFInfo
- Publication number
- CN110601999B CN110601999B CN201810603692.7A CN201810603692A CN110601999B CN 110601999 B CN110601999 B CN 110601999B CN 201810603692 A CN201810603692 A CN 201810603692A CN 110601999 B CN110601999 B CN 110601999B
- Authority
- CN
- China
- Prior art keywords
- node
- time slot
- message
- resource reservation
- time slots
- 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.)
- Active
Links
Images
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/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
- H04L47/724—Admission control; Resource allocation using reservation actions during connection setup at intermediate nodes, e.g. resource reservation protocol [RSVP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/783—Distributed allocation of resources, e.g. bandwidth brokers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/822—Collecting or measuring resource availability data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/826—Involving periods of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/827—Aggregation of resource allocation or reservation requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
Abstract
本申请提供一种资源预留的方法与装置,该方法包括:节点接收第一消息,该第一消息携带申请预留的资源的带宽值r1与占用时间槽的数量Q1,其中,该节点维护K个时间槽的资源预留状态,K为正整数,Q1小于或等于K;该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态。由于节点以时间槽为粒度维护资源预留状态,因此节点需要维护的资源预留状态不依赖于该节点处理的数据流的数量,从而可以降低资源预留对节点的性能要求。
Description
技术领域
本申请涉及通信技术领域,并且具体涉及一种资源预留的方法与装置。
背景技术
对于诸如远程工控、VR通信等对于网络服务质量(Quality of Service,QoS)有较高要求的特殊业务,为了保证网络服务质量,需要为其数据流预留数据面上的沿途资源。资源预留协议(Resource Reservation Protocol,RSVP)正是为了满足这种需求而产生。
RSVP用于在流(flow)所经路径上为该流进行资源预留,从而满足该流的QoS要求。资源预留的基本过程为:应用程序流的源节点发送路径(path)消息,该路径消息会沿着流所经路径传到流的目的节点,并沿途建立路径状态;目的节点收到该Path消息后,向源节点回送预留(Resv)消息,Resv消息用于指示需要预留的资源,沿途中的节点按照Resv消息进行资源预留。如果源节点成功收到Resv消息,则认为在整条路径上资源预留成功。沿途中的节点预留资源后维持该状态直至应用程序释放这些资源,从而为特定的应用程序(例如远程工控或VR)提供有保障的数据流服务。
目前,在资源预留过程中,预留资源的节点在控制面上要维护每条数据流的资源预留状态。当网络中存在数量很大的数据流时,节点需要维护大量信息,对节点的性能有较高要求。不利于网络的扩展。
发明内容
本申请提供一种资源预留的方法与装置,可以有效降低资源预留对节点的性能要求。
第一方面,提供了一种资源预留的方法,该方法包括:节点接收第一消息,该第一消息携带申请预留的资源的带宽值r1与占用时间槽的数量Q1,其中,该节点维护K个时间槽的资源预留状态,K为正整数,Q1小于或等于K;该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态。
在本申请中,节点以时间槽为粒度维护资源预留状态,且节点维护资源预留状态的时间槽的数量K是可配置的,因此,一个节点维护的资源预留状态的数量也是可配置的(即可控制的),且不依赖于该节点处理的数据流的数量,从而可以降低资源预留对节点的性能要求。
应理解,本申请的方案可以降低资源预留对节点的性能要求,进而可以提高网络的可扩展性。
可选地,节点维护资源预留状态的时间槽的数量K可以通过节点的性能状态来确定。例如,已知节点的存储能力或数据处理能力可以支持同时维护10个时间槽的资源预留状态,则可以将该节点维护资源预留状态的时间槽的数量K配置为10。
可选地,节点维护资源预留状态的时间槽的数量K还可以通过网络状态或者其他因素来确定,本申请对此不作限定。
可选地,节点维护资源预留状态的时间槽的数量K可以是预设的,也可以是实时配置到该节点上的。
可选地,本申请中涉及的时间槽(cycle)的时长大于或等于申请预留资源的数据流的传输路径的往返时延(Round-Trip Time,RTT)。
可选地,本申请中提及的资源可以是带宽资源,也可以是其它类型的资源。例如,本申请中提及的资源还可以是突发流量字节数资源。应理解,突发流量字节数在实际操作也可以折算为带宽来处理。再例如,本申请中提及的资源还可以是内存资源。再例如,本申请中提及的资源表示时间维度上的资源。
可选地,节点可以在本地维护K个时间槽的资源预留状态。
可选地,节点可以在服务器上维护K个时间槽的资源预留状态。
结合第一方面,在第一方面的一种可能的实现方式中,该K个时间槽中每个时间槽的资源预留状态根据该节点在该每个时间槽已经预留的资源的总带宽确定。
结合第一方面,在第一方面的一种可能的实现方式中,该K个时间槽中每个时间槽的资源预留状态为该节点在该每个时间槽已经预留的资源的总带宽;其中,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态,包括:该节点分别在该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值上增加该带宽值r1。
结合第一方面,在第一方面的一种可能的实现方式中,该K个时间槽中该每个时间槽的资源预留状态为该节点在该每个时间槽剩余可用资源的总带宽;其中,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态,包括:该节点分别在该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值上减去该带宽值r1。
结合第一方面,在第一方面的一种可能的实现方式中,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态,包括:该节点分别更新该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值,其中,不同时间槽对应更新的带宽值不同,或者不完全相同。
例如,该K个时间槽中每个时间槽的资源预留状态为该节点在该每个时间槽已经预留的资源的总带宽,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态,包括:该节点分别增加该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值,其中,不同时间槽对应增加的带宽值不同,或者不完全相同。
再例如,该K个时间槽中该每个时间槽的资源预留状态为该节点在该每个时间槽剩余可用资源的总带宽,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态,包括:该节点分别减小该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值,其中,不同时间槽对应减小的带宽值不同,或者不完全相同。
结合第一方面,在第一方面的一种可能的实现方式中,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态,包括:该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中以第一起始时间槽为起点的Q1个时间槽的资源预留状态,该第一起始时间槽为该节点根据该第一消息进行资源预留的起始时刻所在的时间槽。
结合第一方面,在第一方面的一种可能的实现方式中,该第一起始时间槽为该节点接收到该第一消息时的当前时间槽。
结合第一方面,在第一方面的一种可能的实现方式中,该第一消息中还携带该第一起始时间槽的信息。
该第一起始时间槽的信息表示用于指示该第一起始时间槽的信息,例如第一起始时间槽的编号或标识。
本申请中提及的时间槽的信息均指的是可以唯一标识该时间槽的信息。
结合第一方面,在第一方面的一种可能的实现方式中,该第一消息中携带本文(Cookie)信息,该cookie信息包括:该带宽值r1、该数量Q1、该第一起始时间槽、该节点的发送接口。
结合第一方面,在第一方面的一种可能的实现方式中,该方法还包括:该节点接收第二消息,该第二消息与该第一消息关联同一数据流,该第二消息携带再次申请预留的资源的带宽值r2和占用时间槽的数量Q2的信息,Q2小于或等于K;该节点按照该带宽值r2与该数量Q2,更新该K个时间槽中以第二起始时间槽为起点的Q2个时间槽的资源预留状态,该第二起始时间槽为该第一起始时间槽之后的第Q1个时间槽。
结合第一方面,在第一方面的一种可能的实现方式中,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态,包括:该节点根据该带宽值r1、该数量Q1、以及该节点在当前时间槽内的资源预留状态,判断该节点是否支持资源预留;当判断该节点支持资源预留时,更新该K个时间槽中的Q1个时间槽的资源预留状态。
结合第一方面,在第一方面的一种可能的实现方式中,该节点根据该带宽值r1、该数量Q1、以及该节点在当前时间槽内的资源预留状态,判断该节点是否支持资源预留,包括:当该节点在当前时间槽内的剩余可用资源的带宽值大于或等于该带宽值r1时,判断该节点支持资源预留;当该节点在当前时间槽内的剩余可用资源的带宽值小于该带宽值r1时,判断该节点不支持资源预留。
结合第一方面,在第一方面的一种可能的实现方式中,该第一消息为预留Resv消息,该Resv消息来自于申请预留资源的数据流的传输路径的出口边缘节点。出口边缘节点在接收到来自于入口边缘节点的Path消息后生成Resv消息,然后沿Path消息的传输方向的反方向发送Resv消息,即该Resv消息会依次经过传输路径上的每个节点。
结合第一方面,在第一方面的一种可能的实现方式中,该第一消息为预留Resv消息,在该节点接收该Resv消息之前,该方法还包括:该节点接收来自于该传输路径的入口边缘节点的路径Path消息;该节点更新该Path消息,更新后的该Path消息中还携带该第一起始时间槽的信息。该第一起始时间槽为该节点接收到Path消息时的当前时间槽。出口边缘节点在接收到来自于入口边缘节点的Path消息后生成的Resv消息中也携带该第一起始时间槽。
可选地,在本实现方式中,时间槽(cycle)的时长大于或等于申请预留资源的数据流的传输路径的RTT。应理解,由于时间槽(cycle)的时长大于或等于申请预留资源的数据流的传输路径的RTT,可以使得同一个节点接收Path消息的时刻与接收Resv消息的时刻落入同一个时间槽。
应理解,由于时间槽(cycle)的时长大于或等于申请预留资源的数据流的传输路径的RTT,可以使得同一个节点接收Path消息的时刻与接收Resv消息的时刻落入同一个时间槽。
结合第一方面,在第一方面的一种可能的实现方式中,该第一消息为预留Resv消息,在该节点接收该Resv消息之前,该方法还包括:该节点接收来自于该传输路径的入口边缘节点的路径Path消息;该节点更新该Path消息,更新后的该Path消息中还携带该节点的Cookie信息,该节点的Cookie信息包括:该带宽值r1、该数量Q1、第一起始时间槽、该节点的发送接口,其中该第一起始时间槽为该节点进行资源预留的起始时刻所在的时间槽。在本实现方式中,出口边缘节点在接收到来自于入口边缘节点的Path消息后生成的Resv消息中也携带该节点的Cookie信息。
在本申请提供的方案中,预留资源的节点维护K个时间槽的资源预留状态,即节点以时间槽而非数据流为粒度维护资源预留状态,因此,即使经过该节点的需要预留资源的数据流的数量很多,也不会导致该节点需要维护大量的资源预留状态,从而可以提高网络进行资源预留的可扩展性。
第二方面,提供一种资源预留的方法,该方法包括:转发路径的入口边缘节点向核心节点发送第一路径Path消息,该第一Path消息中携带该入口边缘节点的Cookie信息,该入口边缘节点的Cookie信息包括:申请预留的资源的带宽值r1,该申请预留的资源占用时间槽的数量Q1、该申请预留的资源在该入口边缘节点处的第三起始时间槽、该入口边缘节点的发送接口;该入口边缘节点接收该核心节点发送的预留Resv消息,该Resv消息中携带该转发路径上各个核心节点的Cookie信息,其中,某个核心节点的Cookie信息包括:申请预留的资源的带宽值r1,该申请预留的资源占用时间槽的数量Q1、该申请预留的资源在该核心节点处的起始时间槽、该核心节点的发送接口,其中,该核心节点维护K个时间槽的资源预留状态,K为正整数,Q1小于或等于K。
本申请中涉及的时间槽(cycle)的时长大于或等于申请预留资源的数据流的传输路径的RTT。
结合第二方面,在第二方面的一种可能的实现方式中,该方法还包括:该入口边缘节点向该核心节点发送第二Path消息,该第二path消息与该第一Path消息关联同一个数据流,该第二Path消息中携带该入口边缘节点再次生成的Cookie信息,该入口边缘节点再次生成的Cookie信息包括:再次申请预留的资源的带宽值r2,该再次申请预留的资源占用时间槽的数量Q2、该再次申请预留的资源在该入口边缘节点处的起始时间槽、该入口边缘节点的发送接口,其中,该再次申请预留的资源在该入口边缘节点处的起始时间槽为该Resv消息中指示的最后一个时间槽的下一个时间槽,Q2小于或等于K。
第三方面,提供一种资源预留的方法,该方法包括:转发路径的出口边缘节点接收核心节点发送的路径Path消息,该Path消息中携带该转发路径上各个节点的Cookie信息,其中,该核心节点的Cookie信息包括:申请预留的资源的带宽值r1,该申请预留的资源占用时间槽的数量Q1、该申请预留的资源在该核心节点处的起始时间槽、该核心节点的发送接口,该核心节点维护K个时间槽的资源预留状态,K为正整数,Q1小于或等于K;该入口边缘节点的Cookie信息,该入口边缘节点的Cookie信息包括:申请预留的资源的带宽值r1,该申请预留的资源占用时间槽的数量Q1、该申请预留的资源在该入口边缘节点处的起始时间槽、该入口边缘节点的发送接口;该出口边缘节点向该核心节点发送预留Resv消息,该Resv消息中携带与该Path消息相同的Cookie信息。
第四方面,提供了一种通信装置,该通信装置用于执行上述第一方面或第一方面的任一可能的实现方式中的方法。具体地,所述通信装置可以包括用于执行第一方面或第一方面的任一可能的实现方式中的方法的模块。
第五方面,提供了一种通信装置,该通信装置用于执行上述第二方面或第二方面的任一可能的实现方式中的方法。具体地,所述通信装置可以包括用于执行第二方面或第二方面的任一可能的实现方式中的方法的模块。
第六方面,提供了一种通信装置,该通信装置用于执行上述第三方面或第三方面的任一可能的实现方式中的方法。具体地,所述通信装置可以包括用于执行第三方面或第三方面的任一可能的实现方式中的方法的模块。
第七方面,提供一种通信装置,该通信装置包括存储器和处理器,存储器用于存储指令,所述处理器用于执行存储器存储的指令,并且对存储器中存储的指令的执行使得处理器执行第一方面、第二方面或第三方面中任一方面的任一可能的实现方式的方法。
具体地,该通信装置还包括收发器或通信接口,用于执行第一方面、第二方面或第三方面中任一方面的任一可能的实现方式的方法中的信号收/发动作。
第八方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得计算机实现第一方面或第一方面的任一可能的实现方式中的方法。
第九方面,提供一种包含指令的计算机程序产品,所述指令被计算机执行时使得计算机实现第一方面、第二方面或第三方面中任一方面的任一可能的实现方式的方法。
综上所述,在本申请中,节点以时间槽为粒度维护资源预留状态,且节点维护资源预留状态的时间槽的数量K是可配置的,因此,一个节点维护的资源预留状态的数量也是可配置的(即可控制的),且不依赖于该节点处理的数据流的数量,从而可以降低资源预留对节点的性能要求,进而可以提高网络的可扩展性。
附图说明
图1为资源预留的场景示意图。
图2为资源预留的基本流程的示意图。
图3为本申请实施例提供的资源预留的方法的示意性流程图。
图4为现有技术中节点维护资源预留状态的示意图。
图5和图6为由图4演变到图7的过程示意图。
图7为本申请实施例中节点维护资源预留状态的示意图。
图8为本申请实施例提供的资源预留的方法的另一示意性流程图。
图9为本申请实施例提供的资源预留的方法的再一示意性流程图。
图10为本申请实施例提供的进行资源预留的基本流程的示意图。
图11为本申请实施例提供的通信装置的示意性框图。
图12为本申请实施例提供的通信装置的另一示意性框图。
图13为本申请实施例提供的另一通信装置的示意性框图。
图14为本申请实施例提供的另一通信装置的另一示意性框图。
图15为本申请实施例提供的再一通信装置的示意性框图。
图16为本申请实施例提供的再一通信装置的另一示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于理解本申请实施例提供的方案,下文首先结合图1和图2描述资源预留的场景与基本流程。
图1为资源预留的场景的示意图。在图1中,包括两个应用程序,远程工控和VR通信,这两个应用程序都需要预留资源。远程工控对应的数据流的路径为:远程工控发送端1——节点1——节点3——接收端1;VR通信对应的数据流的路径为:VR通信发送端2——节点2——节点3——接收端2。节点1和节点3需要为远程工控对应的数据流预留资源。节点2和节点3需要为VR通信对应的数据流预留资源。
以图1中所示的远程工控的路径为例,图2示出资源预留的基本流程的示意图。资源预留的基本流程为:路径的入口边缘节点(如图2所示的远程工控发送端1)利用RSVP协议,生成路径(Path)消息,Path消息携带对即将传输的数据流的描述等信息,Path消息沿数据流传输的路径逐跳传播;路径上每一个支持RSVP的节点(如图2中所示的节点1和节点3)根据Path消息携带的信息,将本节点的路径状态嵌入到Path消息中,以更新Path消息,将更新后的Path消息传递给下一跳节点;Path消息最终到达路径的出口边缘节点(如图2中所示的接收端1);出口边缘节点从接收到的Path消息中提取传输特性参数,并以此参数生成并预留(Resv)消息,Resv消息中携带申请预留的资源的信息(例如带宽等),Resv消息沿数据流传输的反向逐跳预约资源;路径中的节点(如图2中所示的节点3和节点1)接收到Resv消息后,按照Resv消息进行资源预留,并维持该状态直至远程工控应用程序释放这些资源,从而为该远程工控应用提供有保障的数据流服务。
图3为本申请实施例提供的资源预留的方法300的示意性流程图。该方法300包括S310和S320。
S310,节点接收第一消息,该第一消息携带申请预留的资源的带宽值r1与占用时间槽的数量Q1,其中,该节点维护K个时间槽(cycle)的资源预留状态,K为正整数,Q1小于或等于K。
该节点可以为申请预留资源的数据流的转发路径中除边缘节点之外的中间节点(也可称为核心节点)。
时间槽表示分配预留资源的时间单位。例如,时间槽可以指分配预留资源的最小时间单位。
应理解,时间槽也可称为时间片或时间段。
节点维护K个时间槽的资源预留状态,指的是,在任何时刻,节点维护以当前时刻所在的时间槽为起点K个时间槽的资源预留状态。换言之,节点始终维护K个时间槽的资源预留状态,这K个时间槽中的第一个时间槽为当前时刻所落入的时间槽。
可知,在本申请中,节点维护资源预留状态是以时间槽为粒度进行维护,而非如现有技术中的以数据流为粒度进行维护。
可选地,节点维护资源预留状态的时间槽的数量K可以通过节点的性能状态来确定。例如,已知节点的存储能力或数据处理能力可以支持同时维护10个时间槽的资源预留状态,则可以将该节点维护资源预留状态的时间槽的数量K配置为10。
可选地,节点维护资源预留状态的时间槽的数量K还可以通过网络状态或者其他因素来确定,本申请对此不作限定。
节点维护资源预留状态的时间槽的数量K可以是预设的,也可以是实时配置到该节点上的。
可知,在本申请中,节点维护资源预留状态的时间槽的数量K是可配置的,或者可以说,是可控的。
可选地,节点可以在本地维护K个时间槽的资源预留状态。
可选地,节点可以在服务器上维护K个时间槽的资源预留状态。
S320,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态。
可选地,Q1个时间槽在K个时间槽中的分布位置可以是连续的,也可以是不连续的。
在本申请中,节点以时间槽为粒度维护资源预留状态,且节点维护资源预留状态的时间槽的数量K是可配置的,因此,一个节点维护的资源预留状态的数量也是可配置的(即可控制的),且不依赖于该节点处理的数据流的数量,从而可以降低资源预留对节点的性能要求。
应理解,本申请的方案可以降低资源预留对节点的性能要求,进而可以提高网络的可扩展性。
可选地,该K个时间槽中每个时间槽的资源预留状态根据该节点在该每个时间槽已经预留的资源的总带宽确定。
以K个时间槽中的时间槽x为例,节点维护的时间槽x的资源预留状态是根据节点在时间槽x已经预留的资源的总带宽确定的。
可选地,作为一种实现方式,节点维护的时间槽x的资源预留状态为节点在时间槽x已经预留的资源的总带宽值。
可选地,作为另一种实现方式,节点维护的时间槽x的资源预留状态为节点在时间槽x的剩余可用资源的总带宽值,换言之,节点维护的时间槽x的资源预留状态为节点在时间槽x的可用资源的总带宽值减去节点在时间槽x已经预留的资源的总带宽值之后的剩余可用资源的总带宽值。
为了便于更好地理解本申请实施例中提出的节点维护资源预留状态的方式,结合图4至图7进行具体描述。其中,图4为现有技术中节点维护资源预留状态的方式,图7为本申请实施例中节点维护资源预留状态的方式,图5与图6表示的是从图4到图7的演变过程。为了便于画图与描述,在图4至图7中,以一个节点为7个数据流预留资源(如图4中所示的7个数据流)为例。应理解,图4至图7仅为示例而非限定,实际应用中,一个节点可能要处理上百条或上千条的数据流。
图4至图7中,横坐标是时间(time),纵坐标是带宽(bandwidth)。图4至图7中所示的当前时刻(now)指的就是节点的当前时刻。
如图4所示,在现有技术中,节点分别为每个数据流维护一个资源预留状态,以图7中所示的数据流(flow)i为例,节点为数据流i维护的资源预留状态包括该数据流i的预留资源的带宽ri和该数据流i的预留资源的过期时间toi。
如图5所示,对图4所示的资源预留状态在时间维度上进行离散化,将图4所示的资源预留状态在时间维度上的占用范围划分为7个时间槽(cycle)。图5中所示的“1”、“2”、…“7”表示时间槽的编号。在下文中,会将编号为#x的时间槽,简记为时间槽#x。例如,将编号为5的时间槽记为时间槽5。
如图6所示,分别对图5所示的当前时刻之后的时间槽4、5、6、7中各个时间槽内的带宽进行求和,使得时间槽4、5、6、7的资源预留状态的呈现形式为柱状体。在图6中,时间槽4中的资源预留状态为节点在时间槽4中已经预留的资源的总带宽,时间槽5中的资源预留状态为节点在时间槽5中已经预留的资源的总带宽,时间槽6中的资源预留状态为节点在时间槽6中已经预留的资源的总带宽,时间槽7中的资源预留状态为节点在时间槽7中已经预留的资源的总带宽。
如图7所示,去掉图6中当前时刻之前的部分,从时间槽4开始,维护K(K=8)个时间槽的资源预留状态。图7中所示的K(K=8)个时间槽的带宽状态就是本申请实施例中提出的节点维护的K个时间槽的资源预留状态的一个示例。
图5到图6的演变过程,可以称为时间槽内资源聚合的过程。基于此,也可将本申请中节点维护资源预留状态的方式称为聚合流维护资源预留状态。
可选地,本申请中提及的K个时间槽所组成的时间窗也可称为聚合带宽预留窗口(aggregated bandwidth reservation window,ABRW)。
从图7的示例可知,在本申请中,节点维护的资源预留状态时以时间槽为粒度的,而非以数据流为粒度,换言之,并非逐个数据流地去维护资源预留状态。
图4至图7仅为用于解释本申请实施例中节点维护K个时间槽的资源预留状态的示例,本申请并非限定于此。例如,实际应用中,一个节点要预留资源的数据流的数量并非7条,有可能是几十条、上百条或上千条。
应理解,在图7的示例中,节点在K个时间槽中各个时间槽的可用资源总带宽是已知的,因此,可选地,也可以用一个时间槽内的可用资源的带宽值减去这个时间槽内已经预留出去的资源的总带宽值,得到这个时间槽内的剩余可用资源的总带宽值,并以该时间槽内剩余可用资源的总带宽值作为该时间槽的资源预留状态。
可选地,本申请中,在K个时间槽中,预留资源的Q1个时间槽可以是连续的,也可以是不连续的。例如,在图7所示的场景中,可以选择时间槽4、5、6预留资源,相当于预留资源的Q1个时间槽是连续的。再例如,在图7所示的场景中,可以选择时间槽4、6、7预留资源,相当于预留资源的Q1个时间槽不是连续的。
上文以图4至图7的示例解释了本申请实施例中提及的节点维护K个时间槽的资源预留状态的含义。
可选地,本申请中涉及的时间槽(cycle)的时长大于或等于申请预留资源的数据流的传输路径的往返时延(Round-Trip Time,RTT)。
应理解,由于时间槽(cycle)的时长大于或等于申请预留资源的数据流的传输路径的RTT,可以使得同一个节点接收Path消息的时刻与接收Resv消息的时刻落入同一个时间槽。
可选地,在一些实施例中,该K个时间槽中每个时间槽的资源预留状态为该节点在该每个时间槽已经预留的资源的总带宽。在S320中,该节点按照该带宽值r1与该数量Q1,分别在该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值上增加该带宽值r1。
具体地,假设节点接收到第一消息时,本地维护K个时间槽的资源预留状态如图7所示,则该起始时间槽为图7中的时间槽4,假设Q1为3,则节点按照带宽值r1与数量Q1,预留的资源的带宽值为r1、且在时域上占用时间槽4至时间槽6的资源,该节点对本地维护的资源预留状态的更新操作为,分别在时间槽4、时间槽5、时间槽6的资源预留状态对应的带宽值上增加带宽值r1。
可选地,在一些实施例中,该K个时间槽中该每个时间槽的资源预留状态为该节点在该每个时间槽剩余可用资源的总带宽。在S320中,该节点按照该带宽值r1与该数量Q1,分别在该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值上减去该带宽值r1。
在本申请中,节点以时间槽为粒度维护资源预留状态,且节点维护资源预留状态的时间槽的数量K是可配置的,因此,一个节点维护的资源预留状态的数量也是可配置的(即可控制的),且不依赖于该节点处理的数据流的数量,从而可以降低资源预留对节点的性能要求,进而可以提高网络的可扩展性。
可选地,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态,包括:该节点分别更新该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值,其中,不同时间槽对应更新的带宽值不同,或者不完全相同。
例如,该K个时间槽中每个时间槽的资源预留状态为该节点在该每个时间槽已经预留的资源的总带宽,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态,包括:该节点分别增加该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值,其中,不同时间槽对应增加的带宽值不同,或者不完全相同。
再例如,该K个时间槽中该每个时间槽的资源预留状态为该节点在该每个时间槽剩余可用资源的总带宽,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态,包括:该节点分别减小该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值,其中,不同时间槽对应减小的带宽值不同,或者不完全相同。
可选地,在S320中,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中以第一起始时间槽为起点的Q1个时间槽的资源预留状态,该第一起始时间槽为该节点根据该第一消息进行资源预留的起始时刻所在的时间槽。
在第一消息用于首次为某个数据流申请预留资源的情况下,该第一起始时间槽为该节点接收到第一消息时的当前时间槽。例如,节点接收到第一消息时本地维护的资源预留状态如图7所示,则该第一起始时间槽为图7中所示的时间槽4。
在第一消息用于非首次为某个数据流申请预留资源的情况下,该第一起始时间槽为上次为该某个数据流申请预留资源时占用的最后一个时间槽后面的一个时间槽,不一定是该节点接收到第一消息时的当前时间槽。
以图7为例,假设节点根据第一消息为数据流i首次预留的资源占用时间槽4、时间槽5和时间槽6,假设该节点接收到用于为该数据流i再次申请预留资源的第二消息时的当前时间槽为时间槽5,但是按照第二消息进行资源预留的起始时间槽(即第二起始时间槽)为图7中所示的时间槽7,而非时间槽5。
可选地,在S310中,节点接收的该第一消息中还携带该第一起始时间槽的信息。
该第一起始时间槽的信息表示用于指示该第一起始时间槽的信息,例如第一起始时间槽的编号或标识。
本申请中提及的时间槽的信息均指的是可以唯一标识该时间槽的信息。
可选地,在S310中,该第一消息中携带本文(Cookie)信息,该cookie信息包括:该带宽值r1、该数量Q1、该第一起始时间槽、该节点的发送接口。
例如,该cookie信息的格式为[<Cookie>]::=<type><start cycle><cycle num><bandwidth><interface>。
可选地,在一些实施例中,该第一消息中携带该第一起始时间槽的信息,该方法300还包括:该节点接收第二消息,该第二消息与该第一消息关联同一数据流,该第二消息携带再次申请预留的资源的带宽值r2和占用时间槽的数量Q2的信息,Q2小于或等于K;该节点按照该带宽值r2与该数量Q2,更新该K个时间槽中以第二起始时间槽为起点的Q2个时间槽的资源预留状态,该第二起始时间槽为该节点上次预留资源的最后一个时间槽的后一个时间槽。
可选地,按照第一消息预留资源的Q1个时间槽是连续的,则第二起始时间槽为该第一起始时间槽之后的第Q1个时间槽。
具体地,以图7为例,假设节点根据第一消息为数据流i首次预留的资源占用时间槽4、时间槽5和时间槽6,即Q1=3,该节点接收到用于为该数据流i再次申请预留资源的第二消息后,按照再次申请预留的资源的信息进行资源预留,这次资源预留的起始时间槽(即第二起始时间槽)为图7中所示的时间槽7。
可选地,在S320中,该节点按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态,包括:该节点根据该带宽值r1、该数量Q1、以及该节点在当前时间槽内的资源预留状态,判断该节点是否支持资源预留;当判断该节点支持资源预留时,更新该K个时间槽中的Q1个时间槽的资源预留状态。
可选地,判断该节点是否支持该带宽值r1与该数量Q1对应的资源预留的一种方式为:当该节点的当前时间槽内的剩余可用资源的带宽值大于或等于该带宽值r1时,确定该节点支持资源预留;当该节点的当前时间槽内的剩余可用资源的带宽值小于该带宽值r1时,判断该节点不支持资源预留。
可选地,判断该节点是否支持该带宽值r1与该数量Q1对应的资源预留的另一种方式为:当Q个时间槽中各个时间槽内的剩余可用资源的带宽值均大于或等于带宽值r1时,才确定该节点支持资源预留,否则不支持。
本申请中提及的资源可以是带宽资源,也可以是其它类型的资源。例如,本申请中提及的资源还可以是突发流量字节数资源。应理解,突发流量字节数在实际操作也可以折算为带宽来处理。再例如,本申请中提及的资源还可以是内存资源。再例如,本申请中提及的资源表示时间维度上的资源。
本申请实施例中的第一消息可以为RSVP中预留(Resv)消息或路径(Path)消息,还可以为控制器集中下发的信令,本申请对此不作限定。
可选地,在S310中,节点接收的第一消息为Resv消息,该Resv消息来自于申请预留资源的数据流的传输路径的出口边缘节点。在这种情况下,该方法300还包括,该节点向下一个节点转发该Resv消息,其中,下一个节点为申请预留资源的数据流的传输路径的反方向上的下一个节点。可选地,S310中节点接收的第一消息中还可以携带如下信息:数据规范参数TSpec、描述期望的服务质量(quality of service,QoS)级别的参数,以及过滤描述参数(FilerSpec)。
可选地,在S310中,节点接收的第一消息为Path消息,该Path消息来自于申请预留资源的数据流的传输路径的入口边缘节点。在这种情况下,该方法300还包括,该节点向下一个节点转发Path消息,其中,下一个节点为申请预留资源的数据流的传输路径的正方向上的下一个节点。
可选地,在S310中,节点接收的第一消息为集中控制信令,该集中控制信令来自于网络系统中的控制节点。
为了便于理解与描述,下文实施例中以第一消息为Resv消息为例进行描述。
可选地,在某些实施例中,时间槽(cycle)的时长大于或等于申请预留资源的数据流的传输路径的RTT。
应理解,由于时间槽(cycle)的时长大于或等于申请预留资源的数据流的传输路径的RTT,可以使得同一个节点接收Path消息的时刻与接收Resv消息的时刻落入同一个时间槽。
在本实施例中,S310中接收的第一消息为Resv消息,在S310节点接收Resv消息之前,该方法300还包括:节点接收路径(Path)消息;节点根据Path消息,确定该第一起始时间槽,并更新Path消息,更新后的Path消息中还携带该第一起始时间槽的信息;节点发送更新后的Path消息。出口边缘节点在接收到来自于入口边缘节点的Path消息后生成的Resv消息中也携带该第一起始时间槽,即在S310中,节点接收的Resv消息中携带该第一起始时间槽。
假设在首次为某个数据流申请预留资源的场景中,节点根据Path消息,确定该第一起始时间槽,指的是,节点将接收到Path消息时当前时刻所在的时间槽作为该第一起始时间槽。
具体地,Path消息中携带该第一起始时间槽的方式可以有多种。
可选地,在一些实施例中,节点接收的Path消息中携带申请预留的资源的带宽值r1与占用时间槽的数量Q1。其中,在S320中,节点根据path消息,确定该第一起始时间槽,并生成cookie信息,cookie信息包括:带宽值r1、数量Q1、该第一起始时间槽、节点的发送接口;节点更新Path消息,更新后的Path消息中携带cookie信息。其中,在S310中接收的Resv消息中也携带cookie信息。
可选地,本文提及的cookie信息的格式为:[<Cookie>]::=<type><start cycle><cycle num><bandwidth><interface>。其中,<type>表示隧道的协议类型;<start cycle>表示起始时间槽;<cycle num>表示预留资源占用的时间槽(cycle)的数量;<bandwidth>表示预留资源的带宽;<interface>表示节点的发送接口。
节点的发送接口指的是,该节点用于转发Path消息的接口。
可选地,节点确定的该第一起始时间槽还可以通过其他方式携带在Path消息中。例如,通过Path消息中其他字段来携带。
具体地,节点接收的Path消息中还可以包括如下信息:对待发送的数据流进行配置的通信量范围参数TSpec与Session对象,其中,该Session对象包括:隧道(Tunnel)的目的地址,即数据流的传输路径的出口边缘节点的IP地址,还包括Tunnel的标识,即TunnelID。
应理解,节点接收的Path消息来自于申请预留资源的数据流的传输路径的入口边缘节点。
应理解,针对同一个数据流i,为其预留资源之后,还可以再次为其申请预留资源。通常,为了区分首次预留资源与非首次预留资源,将在首次为该数据流i预留资源的过程中涉及的Path消息与Resv消息分别记为iPath消息与iResv消息,将在非首次为该数据流i预留资源的过程中涉及的Path消息与Resv消息分别记为rPath消息与rResv消息。
可选地,在一些实施例中,在S310之前,该方法300包括:节点接收上游节点发送的iPath消息,该iPath消息来自于入口边缘节点,其中,这里的上游节点可能是入口边缘节点,也有可能是中间节点(即核心节点);节点根据iPath消息,确定第一起始时间槽,该第一起始时间槽为节点接收到iPath消息时的当前时间槽;节点更新iPath消息,使得更新后的iPath消息中携带该第一起始时间槽的信息;节点向下游节点发送更新后的iPath消息。出口边缘节点在接收到来自于入口边缘节点的iPath消息后生成的iResv消息中也携带该第一起始时间槽。在S310中,节点接收来自于出口边缘节点的iResv消息,即该iResv消息中也携带该第一起始时间槽的信息。该方法300还包括:节点接收来自边缘节点的rResv消息,rResv消息与iResv消息关联同一数据流,rResv消息携带再次申请预留的资源的带宽值r2和占用时间槽的数量Q2的信息,Q2小于或等于K;该节点按照该带宽值r2与该数量Q2,更新该K个时间槽中以第二起始时间槽为起点的Q2个时间槽的资源预留状态,该第二起始时间槽为该节点上次预留资源的最后一个时间槽的后一个时间槽。
可选地,按照第一消息预留资源的Q1个时间槽是连续的,则第二起始时间槽为该第一起始时间槽之后的第Q1个时间槽。
在本实施例中,时间槽的时长大于或等于申请预留资源的数据流的传输路径的RTT。
具体地,以图7为例,假设节点为数据流i首次预留的资源占用时间槽4、时间槽5和时间槽6,即Q1=3,该节点接收到该数据流i的rResv消息之后,按照再次申请预留的资源的信息进行资源预留,这次资源预留的起始时间槽(即再次起始时间槽)为图7中所示的时间槽7。
在本申请中,节点以时间槽为粒度维护资源预留状态,且节点维护资源预留状态的时间槽的数量K是可配置的,因此,一个节点维护的资源预留状态的数量也是可配置的(即可控制的),且不依赖于该节点处理的数据流的数量,从而可以降低资源预留对节点的性能要求,进而可以提高网络的可扩展性。
图8为本申请实施例提供的资源预留的方法800的另一示意性流程图。该方法800由数据流的传输路径上的入口边缘节点、核心节点、出口边缘节点执行,其中,核心节点表示传输路径上位于入口边缘节点与出口边缘节点之间的中间节点,该核心节点对应于上文方法实施例提供的方法300中的节点。传输路径中可以包括一个或多个核心节点,由每个核心节点的处理方式是类似的,为了描述的简洁,本实施例中以一个核心节点为例进行描述。该方法800包括步骤S801-S810。
S801,入口边缘节点发送Path消息。
具体地,Path消息中可以包括如下信息:对待发送的数据流进行配置的通信量范围参数TSpec与Session对象,其中,该Session对象包括:隧道(Tunnel)的目的地址,即数据流的传输路径的出口边缘节点的IP地址,还包括Tunnel的标识,即Tunnel ID。
可选地,该Path消息中还携带入口边缘节点的cookie信息,cookie信息中包括如下信息:
Tunnel的协议类型(type)、申请预留的资源的带宽值r、申请预留的资源占用时间槽的数量Q、第一起始时间槽、以及入口边缘节点的发送接口。
其中,如果Path消息是iPath消息,则第一起始时间槽表示资源尚未被分配;如果该Path消息为rPath消息,则第一起始时间槽为上一次预留的资源占用的最后一个时间槽的下一个时间槽。
入口边缘节点以逐流的方式维护资源预留状态,换言之,入口边缘节点维护每条流的资源预留状态。
本实施例中涉及的时间槽(cycle)的时长大于从入口边缘节点到出口边缘节点的RTT。
S802,核心节点接收Path消息,并将核心节点的发送接口嵌入Path消息,以更新Path消息,并向下游节点(在本示例中是出口边缘节点)发送更新之后的Path消息。
核心节点维护K个时间槽的资源预留状态,每个时间槽的资源预留状态根据该核心节点在该每个时间槽内已经预留的资源的总带宽确定,K为正整数。具体示例,如图7所示。
可选地,节点可以在本地维护K个时间槽的资源预留状态。
可选地,节点可以在服务器上维护K个时间槽的资源预留状态。
可选地,核心节点将接收到Path消息时的时刻所在的时间槽作为进行资源预留的起始时间槽(记为第二起始时间槽),并将第二起始时间槽嵌入Path消息中,以更新Path消息,更新后的Path消息中携带第二起始时间槽的信息。
可选地,核心节点接收的Path消息中携带入口边缘节点的cookie信息,入口边缘节点的cookie信息包括如下信息:Tunnel的协议类型(type)、申请预留的资源的带宽值r、申请预留的资源占用时间槽的数量Q、第一起始时间槽、以及入口边缘节点的发送接口。核心节点接收到Path消息后,生成核心节点的cookie信息,并通过将核心节点的cookie信息嵌入Path消息来更新Path消息,其中,核心节点的cookie信息包括如下信息:Tunnel的协议类型(type)、申请预留的资源的带宽值r、申请预留的资源占用时间槽的数量Q、第二起始时间槽、以及核心节点的发送接口。
S803,出口边缘节点接收核心节点发送的Path消息,并生成Resv消息,Resv消息中携带申请的预留资源的带宽值r和占用时间槽的数量Q,并沿着与Path消息传输方向相反的方向向入口边缘节点发送Resv消息,如向图8中所示的核心节点发送Resv消息。
可选地,核心节点发送的Path消息中携带第一起始时间槽与第二起始时间槽的信息,则出口边缘节点生成的Resv消息中也携带第一起始时间槽与第二起始时间槽的信息。
可选地,核心节点发送的Path消息中携带入口边缘节点的cookie信息与核心节点的cookie信息,则出口边缘节点生成的则出口边缘节点生成的Resv消息中也携带入口边缘节点的cookie信息与核心节点的cookie信息。
S804,核心节点接收出口边缘节点发送的Resv消息,并根据Resv消息中指示的预留资源的带宽值r判断本地是否有足够资源可以预留,若是,转到S805,若否,转到S809,当核心节点在第二起始时间槽内的可用资源的总带宽值大于或等于带宽值r时,确定核心节点可以进行资源预留,否则不可以。
S805,核心节点按照Resv消息中指示的预留资源的带宽r和占用时间槽的数量Q,进行资源预留。
具体地,核心节点预留带宽值为r、在时域上占用以第二起始时间槽为起点的Q个时间槽的资源。
S806,核心节点根据S805中实际预留的资源,更新本地维护的K个时间槽中以第二起始时间槽为起点的Q个时间槽内的资源预留状态。
当核心节点维护K个时间槽中每个时间槽的资源预留状态为核心节点在该每个时间槽内已经预留的资源的总带宽,则在S806中,对本地维护的资源预留状态的更新操作为:核心节点分别在以第二起始时间槽为起点的Q个时间槽中各个时间槽内的资源预留状态对应的带宽值上增加带宽值r。
当核心节点维护K个时间槽中每个时间槽的资源预留状态为核心节点在该每个时间槽内剩余可用资源的总带宽,则在S806中,对本地维护的资源预留状态的更新操作为:核心节点分别在以第二起始时间槽为起点的Q个时间槽中各个时间槽内的资源预留状态对应的带宽值上减去带宽值r。
S807,核心节点向入口边缘节点转发Resv消息。
S808,入口边缘节点接收核心节点转发的Resv消息,并验证资源预留路径建立成功。至此,完成资源预留的过程。
应理解,入口边缘节点根据Resv消息,验证资源预留路径是否建立成功的过程为现有技术,本文不再赘述。
S809,核心节点在S804中判断本地不支持预留带宽值为r的资源时,向Resv消息的发送节点(本例中,为出口边缘节点)返回路径拆除(Path Tear)消息。
应理解,针对同一个数据流i,为其预留资源之后,还可以再次为其预留资源。通常,为了区分首次预留资源与非首次预留资源,将在首次为该数据流i预留资源的过程中涉及的Path消息与Resv消息分别记为iPath消息与iResv消息,将在非首次为该数据流i预留资源的过程中涉及的Path消息与Resv消息分别记为rPath消息与rResv消息。
可选地,作为一种情形,上述S801至S809的Path消息为iPath,Resv消息为iResv消息。S801中入口边缘节点发送的iPath消息中携带的第一起始时间槽的编号为-1,代表资源尚未被分配。应理解,还可以规定第一起始时间槽的编号为其他形式,只要其可以表示资源未被预留即可。S802中,核心节点发送的iPath消息中携带的第二起始时间槽为核心节点接收到iPath消息时的当前时间槽。
可选地,作为另一种情形,上述S801至S809的Path消息为rPath,Resv消息为rResv消息,即为同一个数据流连续预留资源,例如,入口边缘节点通过rPath消息在沿途的核心节点为数据流i申请续约与之前预留带宽相同的资源。S801中入口边缘节点发送的rPath消息中携带的第一起始时间槽为前一次预留的资源占用的最后一个时间槽后面的一个时间槽。S802中,核心节点发送的iPath消息中携带的第二起始时间槽为核心节点在前一次预留的资源占用的最后一个时间槽后面的一个时间槽。
在本申请中,节点以时间槽为粒度维护资源预留状态,且节点维护资源预留状态的时间槽的数量K是可配置的,因此,一个节点维护的资源预留状态的数量也是可配置的(即可控制的),且不依赖于该节点处理的数据流的数量,从而可以降低资源预留对节点的性能要求,进而可以提高网络的可扩展性。
为了更好地理解本申请实施例,下文结合如图9和图10所示的具体示例描述本申请实施例提供的资源预留的方法。
图9为本申请实施例提供的资源预留的方法的另一示意性流程图。在图9中,以为数据流i首次申请预留资源为例,该数据流i的转发路径上包括4个标签交换路由器(LabelSwitching Router,LSR):LSR1、LSR2、LSR3和LSR4。其中,LSR1为入口边缘节点(IngressEdge Node),LSR2和LSR3为中间传输节点(Transit Node)(也称为核心节点),LSR4为出口边缘节点(Egress Edge Node)。其中,LSR2和LSR3均采用如图7的方式维护K个时间槽的资源预留状态,其中,时间槽的时长大于或等于申请预留资源的数据流的传输路径的RTT。
可选地,LSR2和LSR3可以在本地维护K个时间槽的资源预留状态。
可选地,LSR2和LSR3可以在服务器上维护K个时间槽的资源预留状态。
假设要为数据流i申请的预留资源的带宽为10M,该预留资源在时域上占用100个时间槽。该方法包括如下步骤。
S901,LSR1向LSR2发送ipath消息。
该ipath消息中包括Session对象与LSR1的Cookie信息(记为cookie(i,LSR1))。
Session对象包括,隧道(Tunnel)的目的地址,即LSR4的IP地址;Tunnel的标识,可以记为Tunnel ID。
cookie(i,LSR1)包括:
Tunnel的协议类型(type),例如,为Ipv4,记为LSP_Tunnel_Ipv4。
起始时间槽(start cycle),该起始时间槽的编号的值表示数据流i未被分配资源。可以规定start cycle的值为预设值,该预设值表示数据流i未被分配资源。例如,规定start cycle的编号等于-1,代表资源尚未被分配。或者规定start cycle=-2,表示数据流i未被分配资源,再或者,规定start cycle=预设值,表示数据流i未被分配资源,本申请实施例对此不做限定。
预留资源占用时间槽的数量Qi,Qi小于或等于核心节点(LSR2或LSR3)本地维护的时间槽的总数K的一半。在本示例中,Qi=100。
预留资源的带宽(bandwidth),即预留资源在频域上占用的频带的宽度。在本示例中,预留资源的带宽=10M。
LSR1的发送接口(interface),指的是,LSR1在数据流i的转发方向上的接口。在本示例中,LSR1的interface=1。
应理解,LSR1可以通过显示路由对象(Explicit Route Object,ERO)中的信息查找路由,进而获知下一跳为LSR2。
作为一个示例,iPath消息的格式为:
<iPath Message>::=<Common Header>[<INTEGRITY>]<SESSION><RSVP_HOP><TIME_VALUES>[<POLICY_DATA>...][<sender descriptor>]<sender descriptor>::=<SENDER_TEMPLATE><SENDER_TSPEC>[<ADSPEC>][<Cookie>]::=<type><start cycle><cycle num><bandwidth><interface>。
其中,<Cookie>表示ipath消息中携带的Cookie信息。<type>表示协议类型。<start cycle>表示预留资源的起始时间槽。<cycle num>表示预留资源占用的时间槽(cycle)的数量。<bandwidth>表示预留资源的带宽。<interface>表示ipath消息的发送节点的发送接口,在本示例中,<interface>表示LSR1的发送接口(如图9中所示的接口1)。
S902,LSR2解析接收到的iPath消息,将LSR2的cookie信息添加到iPath消息中,以更新iPath消息,并向下游节点LSR3发送更新后的iPath消息。
具体地,LSR2接收到LSR1发送的iPath消息后,解析iPath消息,获知iPath消息中的Session对象中的Tunnel的目的地址不是本节点,即LSR2的IP地址,说明LSR2为转发路径中的中间节点(核心节点)。作为中间节点的LSR2,通过将LSR2的cookie信息增加到iPath消息中,以更新iPath消息。
LSR2的cookie信息的格式与LSR1的cookie信息的格式相同,即[<Cookie>]::=<type><start cycle><cycle num><bandwidth><interface>。
相对于LSR1的cookie信息,LSR2的cookie信息中的协议类型(type)、预设资源占用的时间槽的数量(cycle num)以及预设资源的带宽(bandwidth)保持不变,而预设资源的起始时间槽(start cycle)与发送接口(interface)需要更新。
假设LSR2接收到iPath消息时的当前时间槽的编号是18,则LSR2的cookie信息中的起始时间槽为18。在图9所示场景中,LSR2的发送接口为3。则在本例中,LSR2的cookie信息如下:
cookie(i,LSR2)(type=LSP_TUNNEL_IPV4,start cycle=18,cycle num=100,bandwidth=10M,interface=3)。
LSR2将LSR2的cookie信息添加到iPath消息中后,沿着转发路径继续向下游节点转发,在本例中,向LSR3发送更新后的iPath消息。
S903,LSR3解析接收到的iPath消息,将LSR3的cookie添加到iPath消息中,以更新iPath消息,并向下游节点LSR4发送更新后的iPath消息。
具体地,LSR3接收到LSR2发送的iPath消息后,解析iPath消息,获知iPath消息中的Session对象中的Tunnel的目的地址不是本节点,即LSR3的IP地址,说明LSR3为转发路径中的中间节点(核心节点)。作为中间节点的LSR3,通过将LSR3的cookie信息增加到iPath消息中,以更新iPath消息。
LSR2的cookie信息的格式为[<Cookie>]::=<type><start cycle><cycle num><bandwidth><interface>。
相对于LSR1和LSR2的cookie信息,LSR3的cookie信息中的协议类型(type)、预设资源占用的时间槽的数量(cycle num)以及预设资源的带宽(bandwidth)保持不变,而预设资源的起始时间槽(start cycle)与发送接口(interface)需要更新。
假设LSR3接收到iPath消息时的当前时间槽的编号是40,则LSR3的cookie信息中的起始时间槽为40。在图7所示场景中,LSR3的发送接口为5。则在本例中,LSR3的cookie信息如下:
cookie(i,LSR3)(type=LSP_TUNNEL_IPV4,start cycle=40,cycle num=100,bandwidth=10M,interface=5)。
LSR3将LSR3的cookie信息添加到iPath消息中后,沿着转发路径继续向下游节点转发,在本例中,向LSR4发送更新后的iPath消息。
S904,LSR4解析接收到的iPath消息,生成iResv消息。
具体地,LSR4接收到LSR3发送的iPath消息后,解析iPath消息,获知iPath消息中的Session对象中的Tunnel的目的地址是本节点,即LSR4的IP地址,说明LSR4为出口边缘节点。作为出口边缘节点的LSR4,根据iPath消息中携带的有关资源请求的信息,生成iResv消息,该iResv消息中携带iPath信令中携带的Cookie信息,在本示例中,iResv消息中携带LSR1的cookie信息、LSR2的cookie信息、LSR3的cookie信息。LSR4将iResv消息沿着iPath消息发送路径的反方向逐跳发送至LSR1(入口边缘节点)。
作为示例,iResv消息的格式如下:
<iResv Message>::=<Common Header>[<INTEGRITY>]<SESSION><RSVP_HOP><TIME_VALUES>[<RESV_CONFIRM>][<SCOPE>][<POLICY_DATA>...]<STYLE><flowdescriptor list><flow descriptor list>::=<empty>|<flow descriptor list><flowdescriptor>[<Cookie>]::=<type><start cycle><cycle num><bandwidth><interface>。
应理解,iResv消息中包括多个[<Cookie>]。
具体地,LSR4会依据iPath消息中携带的流量特性进行资源预留,并将实际资源预留信息存放在iResv消息的Cookie信息中向上游节点发送。这里的资源预留信息包括预留资源的带宽与预留资源占用时间槽的数量。
可选地,LSR4确定的实际资源预留信息可以与iPath消息中携带的资源预留信息一致。这种情况下,LSR4可以直接将iPath消息中携带的cookie信息加入到iResv消息中。
可选地,LSR4确定的实际资源预留信息与iPath消息中携带的资源预留信息不一致。例如,LSR4确定的实际预留资源的带宽与iPath消息中携带的预留资源的带宽不一致,和/或,LSR4确定的实际预留资源占用时间槽的数量与iPath消息中携带的预留资源占用时间槽的数量不一致。这种情况下,LSR4需要先根据确定的实际资源预留信息,修改iPath消息中携带的cookie信息中的预留资源的带宽和/或预留资源占用时间槽的数量,再根据修改后的cookie信息,生成iResv消息,iResv消息中携带修改后的cookie信息。
S904,LSR4向LSR3发送iResv消息。
LSR4按照iPath消息中携带的路径信息确定上游下一跳节点,例如,根据iPath消息中携带的LSR3的发送接口3,确定上游下一跳节点为LSR3。
S905,LSR3接收iResv消息,根据iResv消息进行资源预留,更新本地维护的资源预留状态,并向LSR2转发iResv消息。
LSR3接收到iResv消息,解析iResv消息获得LSR3的Cookie信息,LSR3的Cookie信息为:cookie(i,LSR3)(type=LSP_TUNNEL_IPV4,start cycle=40,cycle num=100,bandwidth=10M,interface=5)。
LSR3判断本地可用资源的总带宽是否大于10M,若是,则在从时间槽40开始的100个时间槽内预留10M的资源,并更新本地维护的资源预留状态,并将iResv消息继续向LSR2转发;若否,向LSR4返回路径拆除(Path Tear)消息。
S906,LSR2接收iResv消息,根据iResv消息进行资源预留,更新本地维护的资源预留状态,并向LSR1转发iResv消息。
LSR2处理iResv消息的过程同LSR3处理iResv消息的过程类似,为了简洁,这里不再赘述。
S907,LSR1接收到iResv消息后,验证资源预留路径建立成功,至此,完成为数据流i首次预留资源的过程。
可选地,当需要再次为数据流i申请预留资源时,可以再次按照S901至S907的过程为数据流i续约资源,存在的区别在于,在LSR1向LSR4的方向上发送的是rPath消息,在LS4向LSR1的方向上发送的是rResv消息,且各个节点上的起始时间槽为上一次资源预留过程中的起始时间槽不同,具体参见上文实施例中的相关描述。
完成资源预留后,当需要释放预留的资源时,入口边缘节点可以向路径中各个核心节点发送拆除(Teardown)消息。
上述可知,在本申请中,节点以时间槽为粒度维护资源预留状态,且节点维护资源预留状态的时间槽的数量K是可配置的,因此,一个节点维护的资源预留状态的数量也是可配置的(即可控制的),且不依赖于该节点处理的数据流的数量,从而可以降低资源预留对节点的性能要求,进而可以提高网络的可扩展性。
在上述结合图9描述的实施例中,Path消息与Resv消息中携一系列cookie信息,即各个核心节点的cookie信息,如图10所示。
上文描述了本申请实施例提供的方法实施例,下文将描述本申请实施例提供的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。
可选地,本文中涉及的入口边缘节点的落地产品形态可以为入口网关设备,出口边缘节点的落地产品形态可以为出口网关设备,核心节点(或中间节点,或方法300中的节点)的主要落地产品形态为路由器。
如图11所示,本申请实施例提供一种通信装置1100,该通信装置1100可以对应于上述实施例提供的方法300中的节点,或者,上述方法实施例中的核心节点。如图11所示,该通信装置1100包括:
收发单元1110,用于接收第一消息,该第一消息携带申请预留的资源的带宽值r1与占用时间槽的数量Q1,其中,该节点维护K个时间槽的资源预留状态,K为正整数,Q1小于或等于K。
处理单元1120,用于按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态。
在本申请中,节点以时间槽为粒度维护资源预留状态,且节点维护资源预留状态的时间槽的数量K是可配置的,因此,一个节点维护的资源预留状态的数量也是可配置的(即可控制的),且不依赖于该节点处理的数据流的数量,从而可以降低资源预留对节点的性能要求,进而可以提高网络的可扩展性。
可选地,在一些实施例中,该K个时间槽中每个时间槽的资源预留状态根据该节点在该每个时间槽已经预留的资源的总带宽确定。
可选地,在一些实施例中,该K个时间槽中每个时间槽的资源预留状态为该节点在该每个时间槽已经预留的资源的总带宽;其中,该处理单元1120用于,分别在该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值上增加该带宽值r1。
可选地,在一些实施例中,该K个时间槽中该每个时间槽的资源预留状态为该节点在该每个时间槽剩余可用资源的总带宽;其中,该处理单元1120用于,分别在该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值上减去该带宽值r1。
可选地,在一些实施例中,该处理单元1120用于,按照该带宽值r1与该数量Q1,更新该K个时间槽中以第一起始时间槽为起点的Q1个时间槽的资源预留状态,该第一起始时间槽为该节点根据该第一消息进行资源预留的起始时刻所在的时间槽。
可选地,在一些实施例中,该第一起始时间槽为该节点接收到该第一消息时的当前时间槽。
可选地,在一些实施例中,该第一消息中还携带该第一起始时间槽的信息。
可选地,在一些实施例中,该第一消息中携带Cookie信息,该cookie信息包括:该带宽值r1、该数量Q1、该第一起始时间槽、该节点的发送接口。
可选地,在一些实施例中,该收发单元1110还用于,接收第二消息,该第二消息与该第一消息关联同一数据流,该第二消息携带再次申请预留的资源的带宽值r2和占用时间槽的数量Q2的信息,Q2小于或等于K;该处理单元1120还用于,按照该带宽值r2与该数量Q2,更新该K个时间槽中以第二起始时间槽为起点的Q2个时间槽的资源预留状态,该第二起始时间槽为该第一起始时间槽之后的第Q1个时间槽。
可选地,在一些实施例中,该处理单元1120用于:根据该带宽值r1、该数量Q1、以及该节点在当前时间槽内的资源预留状态,判断该节点是否支持资源预留;当判断该节点支持资源预留时,更新该K个时间槽中的Q1个时间槽的资源预留状态。
可选地,在一些实施例中,该处理单元1120用于:当该节点在当前时间槽内的剩余可用资源的带宽值大于或等于该带宽值r1时,判断该节点支持资源预留;当该节点在当前时间槽内的剩余可用资源的带宽值小于该带宽值r1时,判断该节点不支持资源预留。
可选地,在一些实施例中,该第一消息为预留Resv消息,该Resv消息来自于申请预留资源的数据流的传输路径的出口边缘节点。
可选地,在一些实施例中,时间槽的时长大于或等于申请预留资源的数据流的传输路径的RTT。该收发单元1110在接收该Resv消息之前,还用于接收来自于该传输路径的入口边缘节点的路径Path消息;该处理单元1120还用于,更新该Path消息,更新后的该Path消息中还携带该节点的Cookie信息,该节点的Cookie信息包括:该带宽值r1、该数量Q1、第一起始时间槽、该节点的发送接口,其中该第一起始时间槽为该节点进行资源预留的起始时刻所在的时间槽。
如图12所示,本申请实施例还提供一种通信装置1200,应理解,该通信装置1200可对应于上述实施例中的通信装置1100,还可以对应于上述方法实施例中的核心节点。如图12所示,该通信装置1200包括处理器1210、存储器1220和收发器1230。存储器1220用于存储指令。处理器1210用于指示存储器1220存储的指令,并且对存储器1220存储的指令的执行使得处理器1210执行上述方法实施例中的方法,并使得处理器1210控制收发器1230收发信号,具体地,收发器1230,用于接收第一消息,该第一消息携带申请预留的资源的带宽值r1与占用时间槽的数量Q1,其中,该节点维护K个时间槽的资源预留状态,K为正整数,Q1小于或等于K;处理器1210,用于按照该带宽值r1与该数量Q1,更新该K个时间槽中的Q1个时间槽的资源预留状态。
在本申请中,节点以时间槽为粒度维护资源预留状态,且节点维护资源预留状态的时间槽的数量K是可配置的,因此,一个节点维护的资源预留状态的数量也是可配置的(即可控制的),且不依赖于该节点处理的数据流的数量,从而可以降低资源预留对节点的性能要求,进而可以提高网络的可扩展性。
可选地,在一些实施例中,该K个时间槽中每个时间槽的资源预留状态根据该节点在该每个时间槽已经预留的资源的总带宽确定。
可选地,在一些实施例中,该K个时间槽中每个时间槽的资源预留状态为该节点在该每个时间槽已经预留的资源的总带宽;其中,该处理器1210用于,分别在该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值上增加该带宽值r1。
可选地,在一些实施例中,该K个时间槽中该每个时间槽的资源预留状态为该节点在该每个时间槽剩余可用资源的总带宽;其中,该处理器1210用于,分别在该Q1个时间槽中各个时间槽的资源预留状态对应的带宽值上减去该带宽值r1。
可选地,在一些实施例中,该处理器1210用于,按照该带宽值r1与该数量Q1,更新该K个时间槽中以第一起始时间槽为起点的Q1个时间槽的资源预留状态,该第一起始时间槽为该节点根据该第一消息进行资源预留的起始时刻所在的时间槽。
可选地,在一些实施例中,该第一起始时间槽为该节点接收到该第一消息时的当前时间槽。
可选地,在一些实施例中,该第一消息中还携带该第一起始时间槽的信息。
可选地,在一些实施例中,该第一消息中携带Cookie信息,该cookie信息包括:该带宽值r1、该数量Q1、该第一起始时间槽、该节点的发送接口。
可选地,在一些实施例中,该收发器1230还用于,接收第二消息,该第二消息与该第一消息关联同一数据流,该第二消息携带再次申请预留的资源的带宽值r2和占用时间槽的数量Q2的信息,Q2小于或等于K;该处理器1210还用于,按照该带宽值r2与该数量Q2,更新该K个时间槽中以第二起始时间槽为起点的Q2个时间槽的资源预留状态,该第二起始时间槽为该第一起始时间槽之后的第Q1个时间槽。
可选地,在一些实施例中,该处理器1210用于:根据该带宽值r1、该数量Q1、以及该节点在当前时间槽内的资源预留状态,判断该节点是否支持资源预留;当判断该节点支持资源预留时,更新该K个时间槽中的Q1个时间槽的资源预留状态。
可选地,在一些实施例中,该处理器1210用于:当该节点在当前时间槽内的剩余可用资源的带宽值大于或等于该带宽值r1时,判断该节点支持资源预留;当该节点在当前时间槽内的剩余可用资源的带宽值小于该带宽值r1时,判断该节点不支持资源预留。
可选地,在一些实施例中,该第一消息为预留Resv消息,该Resv消息来自于申请预留资源的数据流的传输路径的出口边缘节点。
可选地,在一些实施例中,该收发器1230在接收该Resv消息之前,还用于接收来自于该传输路径的入口边缘节点的路径Path消息;该处理器1210还用于,更新该Path消息,更新后的该Path消息中还携带该节点的Cookie信息,该节点的Cookie信息包括:该带宽值r1、该数量Q1、第一起始时间槽、该节点的发送接口,其中该第一起始时间槽为该节点进行资源预留的起始时刻所在的时间槽。
如图13所示,本申请实施例还提供一种通信装置1300,该通信装置1300可以对应于上述实施例中的入口边缘节点。如图13所示,该通信装置1300包括:
处理单元1310,用于生成第一路径Path消息,该第一Path消息中携带该入口边缘节点的Cookie信息,该入口边缘节点的Cookie信息包括:申请预留的资源的带宽值r1,该申请预留的资源占用时间槽的数量Q1、该申请预留的资源在该入口边缘节点处的第三起始时间槽、该入口边缘节点的发送接口;
收发单元1320,用于向核心节点发送该第一Path消息。
收发单元1320还用于,接收该核心节点发送的预留Resv消息,该Resv消息中携带该转发路径上各个核心节点的Cookie信息,其中,该核心节点的Cookie信息包括:申请预留的资源的带宽值r1,该申请预留的资源占用时间槽的数量Q1、该申请预留的资源在该核心节点处的起始时间槽、该核心节点的发送接口,其中,该核心节点维护K个时间槽的资源预留状态,K为正整数,Q1小于或等于K。
在本申请中,节点以时间槽为粒度维护资源预留状态,且节点维护资源预留状态的时间槽的数量K是可配置的,因此,一个节点维护的资源预留状态的数量也是可配置的(即可控制的),且不依赖于该节点处理的数据流的数量,从而可以降低资源预留对节点的性能要求,进而可以提高网络的可扩展性。
可选地,在一些实施例中,处理单元1310还用于检测Resv消息的有效性,如果无效,收发单元1320还用于向路径中的核心节点发送路径拆除消息。
可选地,在一些实施例中,处理单元1310还用于,生成第二Path消息,该第二path消息与该第一Path消息关联同一个数据流,该第二Path消息中携带该入口边缘节点再次生成的Cookie信息,该入口边缘节点再次生成的Cookie信息包括:再次申请预留的资源的带宽值r2,该再次申请预留的资源占用时间槽的数量Q2、该再次申请预留的资源在该入口边缘节点处的起始时间槽、该入口边缘节点的发送接口,其中,该再次申请预留的资源在该入口边缘节点处的起始时间槽为该Resv消息中指示的最后一个时间槽的下一个时间槽,Q2小于或等于K;
收发单元1320还用于,向该核心节点发送该第二Path消息。
如图14所示,本申请实施例还提供一种通信装置1400,该通信装置1400对应于上述实施例中的通信装置1300,还对应于上述方法实施例中的入口边缘节点。如图14所示,该通信装置1400包括处理器1410、存储器1420和收发器1430。存储器1420用于存储指令。处理器1410用于指示存储器1420存储的指令,并且对存储器1420存储的指令的执行使得处理器1410执行上述实施例中处理单元1310执行的动作,收发器1430用于执行上述实施例中收发单元1320执行的动作。
如图15所示,本申请实施例还提供一种通信装置1500,该通信装置1500可以对应于上述实施例中的入口边缘节点。如图15所示,该通信装置1500包括:
收发单元1510,用于接收核心节点发送的路径Path消息,该Path消息中携带该转发路径上各个节点的Cookie信息,其中,该核心节点的Cookie信息包括:申请预留的资源的带宽值r1,该申请预留的资源占用时间槽的数量Q1、该申请预留的资源在该核心节点处的起始时间槽、该核心节点的发送接口,该核心节点维护K个时间槽的资源预留状态,K为正整数,Q1小于或等于K。
处理单元1520,用于根据Path消息生成Resv消息,该Resv消息中携带与该Path消息相同的Cookie信息。
收发单元1510还用于,向该核心节点发送该Resv消息。
在本申请中,节点以时间槽为粒度维护资源预留状态,且节点维护资源预留状态的时间槽的数量K是可配置的,因此,一个节点维护的资源预留状态的数量也是可配置的(即可控制的),且不依赖于该节点处理的数据流的数量,从而可以降低资源预留对节点的性能要求,进而可以提高网络的可扩展性。
如图16所示,本申请实施例还提供一种通信装置1600,该通信装置1600对应于上述实施例中的通信装置1500,还对应于上述方法实施例中的出口边缘节点。如图16所示,该通信装置1600包括处理器1610、存储器1620和收发器1630。存储器1620用于存储指令。处理器1610用于指示存储器1620存储的指令,并且对存储器1620存储的指令的执行使得处理器1610执行上述实施例中处理单元1520执行的动作,收发器1630用于执行上述实施例中收发单元1510执行的动作。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机实现上述方法实施例提供的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得该计算机实现上述方法实施例提供的方法。
上述提供的任一种通信装置中相关内容的解释及有益效果均可参考上文提供的对应的方法实施例,此处不再赘述。
应理解,本申请实施例中提及的处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (24)
1.一种资源预留的方法,其特征在于,包括:
节点接收第一消息,所述第一消息携带申请预留的资源的带宽值r1与占用时间槽的数量Q1,其中,所述节点维护K个时间槽的资源预留状态,K为正整数,Q1小于或等于K,所述带宽值r1是Q1个时间槽中的每个时间槽申请预留的资源的带宽值,所述K个时间槽中的第一个时间槽为所述节点接收到所述第一消息时的当前时间槽;
所述节点按照所述带宽值r1与所述数量Q1,更新所述K个时间槽中的Q1个时间槽的资源预留状态;
其中,所述K个时间槽中每个时间槽的资源预留状态根据所述节点在所述每个时间槽已经预留的资源的总带宽确定。
2.根据权利要求1所述的方法,其特征在于,所述K个时间槽中每个时间槽的资源预留状态为所述节点在所述每个时间槽已经预留的资源的总带宽;
其中,所述节点按照所述带宽值r1与所述数量Q1,更新所述K个时间槽中的Q1个时间槽的资源预留状态,包括:
所述节点分别在所述Q1个时间槽中各个时间槽的资源预留状态对应的带宽值上增加所述带宽值r1。
3.根据权利要求1所述的方法,其特征在于,所述K个时间槽中所述每个时间槽的资源预留状态为所述节点在所述每个时间槽剩余可用资源的总带宽;
其中,所述节点按照所述带宽值r1与所述数量Q1,更新所述K个时间槽中的Q1个时间槽的资源预留状态,包括:
所述节点分别在所述Q1个时间槽中各个时间槽的资源预留状态对应的带宽值上减去所述带宽值r1。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述节点按照所述带宽值r1与所述数量Q1,更新所述K个时间槽中的Q1个时间槽的资源预留状态,包括:
所述节点按照所述带宽值r1与所述数量Q1,更新所述K个时间槽中以第一起始时间槽为起点的Q1个时间槽的资源预留状态,所述第一起始时间槽为所述节点根据所述第一消息进行资源预留的起始时刻所在的时间槽。
5.根据权利要求4所述的方法,其特征在于,所述第一起始时间槽为所述节点接收到所述第一消息时的当前时间槽。
6.根据权利要求4所述的方法,其特征在于,所述第一消息中还携带所述第一起始时间槽的信息。
7.根据权利要求4所述的方法,其特征在于,所述第一消息中携带文本Cookie信息,所述Cookie信息包括:所述带宽值r1、所述数量Q1、所述第一起始时间槽、所述节点的发送接口。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
所述节点接收第二消息,所述第二消息与所述第一消息关联同一数据流,所述第二消息携带再次申请预留的资源的带宽值r2和占用时间槽的数量Q2的信息,Q2小于或等于K;
所述节点按照所述带宽值r2与所述数量Q2,更新所述K个时间槽中以第二起始时间槽为起点的Q2个时间槽的资源预留状态,所述第二起始时间槽为所述第一起始时间槽之后的第Q1个时间槽。
9.根据权利要求1至3、5至7中任一项所述的方法,其特征在于,所述节点按照所述带宽值r1与所述数量Q1,更新所述K个时间槽中的Q1个时间槽的资源预留状态,包括:
所述节点根据所述带宽值r1、所述数量Q1、以及所述节点在当前时间槽内的资源预留状态,判断所述节点是否支持资源预留;
当判断所述节点支持资源预留时,更新所述K个时间槽中的Q1个时间槽的资源预留状态。
10.根据权利要求9所述的方法,其特征在于,所述节点根据所述带宽值r1、所述数量Q1、以及所述节点在当前时间槽内的资源预留状态,判断所述节点是否支持资源预留,包括:
当所述节点在当前时间槽内的剩余可用资源的带宽值大于或等于所述带宽值r1时,判断所述节点支持资源预留;
当所述节点在当前时间槽内的剩余可用资源的带宽值小于所述带宽值r1时,判断所述节点不支持资源预留。
11.根据权利要求1至3、5至7中任一项所述的方法,其特征在于,所述第一消息为预留Resv消息,所述Resv消息来自于申请预留资源的数据流的传输路径的出口边缘节点。
12.根据权利要求11所述的方法,其特征在于,在所述节点接收所述Resv消息之前,所述方法还包括:
所述节点接收来自于所述传输路径的入口边缘节点的路径Path消息;
所述节点更新所述Path消息,更新后的所述Path消息中还携带所述节点的Cookie信息,所述节点的Cookie信息包括:所述带宽值r1、所述数量Q1、第一起始时间槽、所述节点的发送接口,其中所述第一起始时间槽为所述节点进行资源预留的起始时刻所在的时间槽。
13.一种通信装置,其特征在于,包括:
收发单元,用于接收第一消息,所述第一消息携带申请预留的资源的带宽值r1与占用时间槽的数量Q1,其中,所述通信装置维护K个时间槽的资源预留状态,K为正整数,Q1小于或等于K,所述带宽值r1是Q1个时间槽中的每个时间槽申请预留的资源的带宽值,所述K个时间槽中的第一个时间槽为所述通信装置接收到所述第一消息时的当前时间槽;
处理单元,用于按照所述带宽值r1与所述数量Q1,更新所述K个时间槽中的Q1个时间槽的资源预留状态;
其中,所述K个时间槽中每个时间槽的资源预留状态根据所述通信装置在所述每个时间槽已经预留的资源的总带宽确定。
14.根据权利要求13所述的通信装置,其特征在于,所述K个时间槽中每个时间槽的资源预留状态为所述通信装置在所述每个时间槽已经预留的资源的总带宽;
其中,所述处理单元具体用于,分别在所述Q1个时间槽中各个时间槽的资源预留状态对应的带宽值上增加所述带宽值r1。
15.根据权利要求13所述的通信装置,其特征在于,所述K个时间槽中所述每个时间槽的资源预留状态为所述通信装置在所述每个时间槽剩余可用资源的总带宽;
其中,所述处理单元具体用于,分别在所述Q1个时间槽中各个时间槽的资源预留状态对应的带宽值上减去所述带宽值r1。
16.根据权利要求13至15中任一项所述的通信装置,其特征在于,所述处理单元具体用于,按照所述带宽值r1与所述数量Q1,更新所述K个时间槽中以第一起始时间槽为起点的Q1个时间槽的资源预留状态,所述第一起始时间槽为所述通信装置根据所述第一消息进行资源预留的起始时刻所在的时间槽。
17.根据权利要求16所述的通信装置,其特征在于,所述第一起始时间槽为所述通信装置接收到所述第一消息时的当前时间槽。
18.根据权利要求16所述的通信装置,其特征在于,所述第一消息中还携带所述第一起始时间槽的信息。
19.根据权利要求16所述的通信装置,其特征在于,所述第一消息中携带文本Cookie信息,所述Cookie信息包括:所述带宽值r1、所述数量Q1、所述第一起始时间槽、所述通信装置的发送接口。
20.根据权利要求18或19所述的通信装置,其特征在于,所述收发单元还用于,接收第二消息,所述第二消息与所述第一消息关联同一数据流,所述第二消息携带再次申请预留的资源的带宽值r2和占用时间槽的数量Q2的信息,Q2小于或等于K;
所述处理单元还用于,按照所述带宽值r2与所述数量Q2,更新所述K个时间槽中以第二起始时间槽为起点的Q2个时间槽的资源预留状态,所述第二起始时间槽为所述第一起始时间槽之后的第Q1个时间槽。
21.根据权利要求13至15、17至19中任一项所述的通信装置,其特征在于,所述处理单元具体用于:
根据所述带宽值r1、所述数量Q1、以及所述通信装置在当前时间槽内的资源预留状态,判断所述通信装置是否支持资源预留;
当判断所述通信装置支持资源预留时,更新所述K个时间槽中的Q1个时间槽的资源预留状态。
22.根据权利要求21所述的通信装置,其特征在于,所述处理单元用于:
当所述通信装置在当前时间槽内的剩余可用资源的带宽值大于或等于所述带宽值r1时,判断所述通信装置支持资源预留;
当所述通信装置在当前时间槽内的剩余可用资源的带宽值小于所述带宽值r1时,判断所述通信装置不支持资源预留。
23.根据权利要求13至15、17至19中任一项所述的通信装置,其特征在于,所述第一消息为预留Resv消息,所述Resv消息来自于申请预留资源的数据流的传输路径的出口边缘节点。
24.根据权利要求23所述的通信装置,其特征在于,所述收发单元在接收所述Resv消息之前,还用于接收来自于所述传输路径的入口边缘节点的路径Path消息;
所述处理单元还用于,更新所述Path消息,更新后的所述Path消息中还携带所述通信装置的Cookie信息,所述通信装置的Cookie信息包括:所述带宽值r1、所述数量Q1、第一起始时间槽、所述通信装置的发送接口,其中所述第一起始时间槽为所述通信装置进行资源预留的起始时刻所在的时间槽。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810603692.7A CN110601999B (zh) | 2018-06-12 | 2018-06-12 | 资源预留的方法与装置 |
EP19819974.7A EP3800846A4 (en) | 2018-06-12 | 2019-05-23 | RESOURCE RESERVATION PROCESS AND APPARATUS |
PCT/CN2019/088183 WO2019237904A1 (zh) | 2018-06-12 | 2019-05-23 | 资源预留的方法与装置 |
US17/119,285 US20210099397A1 (en) | 2018-06-12 | 2020-12-11 | Resource reservation method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810603692.7A CN110601999B (zh) | 2018-06-12 | 2018-06-12 | 资源预留的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110601999A CN110601999A (zh) | 2019-12-20 |
CN110601999B true CN110601999B (zh) | 2022-03-04 |
Family
ID=68841929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810603692.7A Active CN110601999B (zh) | 2018-06-12 | 2018-06-12 | 资源预留的方法与装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210099397A1 (zh) |
EP (1) | EP3800846A4 (zh) |
CN (1) | CN110601999B (zh) |
WO (1) | WO2019237904A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113114587A (zh) * | 2021-03-29 | 2021-07-13 | 华南理工大学 | 基于SDN的QoS保障系统及其宽带资源预留方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101754054A (zh) * | 2008-12-01 | 2010-06-23 | 华为技术有限公司 | 业务传输处理方法、装置和系统 |
CN102439921A (zh) * | 2011-09-22 | 2012-05-02 | 华为技术有限公司 | 一种时隙资源配置方法及装置 |
CN102547490A (zh) * | 2010-12-27 | 2012-07-04 | 中兴通讯股份有限公司 | 一种连接建立的方法和系统 |
CN103023820A (zh) * | 2013-01-08 | 2013-04-03 | 武汉大学 | 一种可分片预留接纳控制方法 |
CN106803814A (zh) * | 2015-11-26 | 2017-06-06 | 中兴通讯股份有限公司 | 一种灵活以太网路径的建立方法、装置及系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6862622B2 (en) * | 1998-07-10 | 2005-03-01 | Van Drebbel Mariner Llc | Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture |
US8174970B2 (en) * | 2003-05-15 | 2012-05-08 | At&T Intellectual Property I, L.P. | Methods of implementing dynamic QoS and/or bandwidth provisioning and related data networks, data service providers, routing gateways, and computer program products |
US7636302B2 (en) * | 2005-05-20 | 2009-12-22 | Cisco Technology, Inc. | Avoiding unnecessary RSVP-based preemptions |
US20090100435A1 (en) * | 2007-10-11 | 2009-04-16 | Microsoft Corporation | Hierarchical reservation resource scheduling infrastructure |
FR2924242B1 (fr) * | 2007-11-23 | 2009-12-25 | Thales Sa | Procede de reservation avec garantie de latence et de debit dans un reseau a allocation dynamique de creneaux temporels |
CN102480766B (zh) * | 2010-11-25 | 2014-05-07 | 华为技术有限公司 | 带宽预留方法及装置 |
CN102571544B (zh) * | 2010-12-27 | 2016-01-13 | 中兴通讯股份有限公司 | 一种带宽调整的方法和系统 |
CN103580771B (zh) * | 2013-11-11 | 2016-01-20 | 清华大学 | 基于时间同步的全光时片交换方法 |
EP3169029B1 (en) * | 2014-07-07 | 2019-04-24 | LG Electronics Inc. | Method and apparatus for transceiving data in wireless communication system |
CN107204941A (zh) * | 2016-03-18 | 2017-09-26 | 中兴通讯股份有限公司 | 一种灵活以太网路径建立的方法和装置 |
CN106385387B (zh) * | 2016-09-27 | 2019-08-02 | 中国科学院空间应用工程与技术中心 | 一种空间信息网络链路的资源调度方法、系统及应用 |
-
2018
- 2018-06-12 CN CN201810603692.7A patent/CN110601999B/zh active Active
-
2019
- 2019-05-23 EP EP19819974.7A patent/EP3800846A4/en active Pending
- 2019-05-23 WO PCT/CN2019/088183 patent/WO2019237904A1/zh unknown
-
2020
- 2020-12-11 US US17/119,285 patent/US20210099397A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101754054A (zh) * | 2008-12-01 | 2010-06-23 | 华为技术有限公司 | 业务传输处理方法、装置和系统 |
CN102547490A (zh) * | 2010-12-27 | 2012-07-04 | 中兴通讯股份有限公司 | 一种连接建立的方法和系统 |
CN102439921A (zh) * | 2011-09-22 | 2012-05-02 | 华为技术有限公司 | 一种时隙资源配置方法及装置 |
CN103023820A (zh) * | 2013-01-08 | 2013-04-03 | 武汉大学 | 一种可分片预留接纳控制方法 |
CN106803814A (zh) * | 2015-11-26 | 2017-06-06 | 中兴通讯股份有限公司 | 一种灵活以太网路径的建立方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20210099397A1 (en) | 2021-04-01 |
CN110601999A (zh) | 2019-12-20 |
EP3800846A4 (en) | 2021-08-18 |
WO2019237904A1 (zh) | 2019-12-19 |
EP3800846A1 (en) | 2021-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022105534A1 (zh) | 一种时间敏感网络时隙分配方法及报文转发方法 | |
US8189482B2 (en) | Probing-based mechanism to reduce preemption perturbation caused by higher priority tunnel establishment in a computer network | |
US8817591B2 (en) | Inter-domain signaling to update remote path computation elements after a call set-up failure | |
US9197508B2 (en) | Time-based scheduling for tunnels computed by a stateful path computation element | |
Baker et al. | Aggregation of RSVP for IPv4 and IPv6 reservations | |
EP1312226B1 (en) | DYNAMIC QoS MANAGEMENT IN DIFFERENTIATED SERVICES USING BANDWIDTH BROKERS, RSVP AGGREGATION AND LOAD CONTROL PROTOCOLS | |
EP3459214B1 (en) | Method and apparatus for segment routing and rsvp-te routing in transport sdn networks | |
US8107379B2 (en) | Dynamic TE-LSP priority and preemption | |
US7636302B2 (en) | Avoiding unnecessary RSVP-based preemptions | |
US20070019558A1 (en) | Dynamic enforcement of MPLS-TE inter-domain policy and QoS | |
US20110090913A1 (en) | Apparatus and method of controlling lsp of rsvp-te protocol using label with availability of end-to-end range | |
CN108881017B (zh) | 改变多路径标签交换路径中每跳带宽约束的方法及路由器 | |
Zhang et al. | QoS performance analysis in deployment of DiffServ-aware MPLS Traffic Engineering | |
US9294416B2 (en) | Method of and apparatus for configuring quality of service | |
CN101645822B (zh) | 一种流量工程隧道建立方法及系统 | |
CN110601999B (zh) | 资源预留的方法与装置 | |
CN105681190A (zh) | 一种隧道约束信息的发送、接收方法及装置 | |
CN108966039A (zh) | 一种组播方法和设备 | |
CN102447612B (zh) | 双向点到多点标签转发路径建立、接枝和剪枝方法及系统 | |
Baker et al. | RFC3175: Aggregation of RSVP for IPv4 and IPv6 Reservations | |
Grigorjew et al. | Poster: Per-hop bridge-local latency bounds with strict priority transmission selection | |
Wang et al. | Deterministic Network | |
KR100510820B1 (ko) | 차등화 서비스 망에서 패스 및 링크 레벨 정보데이터베이스를이용한 수락제어 방법 | |
EP3035618B1 (en) | Integrated bandwidth and storage reservation | |
Le Faucheur | IETF Internet Draft Expires: April, 2003 Document: draft-ietf-tewg-diff-te-proto-02. txt October, 2002 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |