一种报文转发的方法、装置与流程

文档序号:14914530发布日期:2018-07-11 00:21阅读:133来源:国知局

本发明涉及通信技术领域,特别涉及一种报文转发方法、装置和系统。



背景技术:

在网络中传输诸如音频、视频、工控信令等实时数据,对低时延特性有很高的需求。通常,业界使用资源预留协议对实时数据进行传输,这些资源预留协议包括了资源预留协议(英文:Resource Reservation Protocol,RSVP),基于流量工程扩展的资源预留协议(英文:Resource Reservation Protocol-Traffic Engineering,RSVP-TE),信令中的后续步骤(英文:Next Steps in Signaling,NSIS),流预留协议(Stream Reservation Protocol,SRP)等协议。但是,上述种种资源预留协议仅对传输带宽做出了保证,而并没有对低时延特性做出明确和有效的保障。

为了支持对报文的低时延转发,现有技术中有一种支持低延迟队列的RSVP解决方案(英文:Support for Low Latency Queueing,RSVP)。该方案在RSVP协议基础上建立了一套低延迟队列系统,支持在RSVP协议中将音频流等实时数据分拣出来放入高优先级队列(Priority Queue,PQ)中,而进行资源预留的非实时数据则进入一般的预留队列中。该方案考虑到了实时数据在资源预留协议中的实时性需求,对实时数据的转发在资源预留协议基础上进行了加速。但该支持低延迟队列的RSVP解决方案是一种单点解决方案,当高优先级队列(PQ)有部分突发导致单节点承诺不能完成时,该方案并不能对已经被耽搁的报文进行补偿,最终对部分具有实时性要求的报文(比如小流控制报文)不能确保端到端(英文:End-to-End,E2E)的延迟要求。



技术实现要素:

有鉴于此,本申请提供了一种预留路径的建立方法以及利用该预留路径进行报文转发的方法和装置,从而更好地保障报文转发的延时承诺,保障E2E的延时需求,。

一方面,本发明实施例提供了预留路径的建立方法,在该方法中,网络节点获取预留路径上的端到端容忍延时值和预留路径上的跳数,然后根据所述端到端容忍延时值和所述预留路径上的跳数为所述预留路径上的各转发节点分配最大延时承诺时间值,其中,该预留路径上的各转发节点的最大延时承诺时间值用于指导所述各转发节点的报文转发。之后,所述网络节点向所述预留路径上各转发节点发送包括为所述各转发节点分配的最大延时承诺时间值的预留确认报文,并接收所述各转发节点返回的预留反馈报文。

通过向预留路径上的各转发节点分配各自的最大延时承诺时间值,可以使得各转发节点利用该最大延时承诺时间值作为转发报文的指导依据,从而可以更好地保障报文转发的延时承诺。

在一种可能的设计中,该网络节点为所述预留路径上的入节点,该入节点接收从所述预留路径上出节点发出并经由所述预留路径上各转发节点转发的预留请求报文,然后根据所述预留请求报文获取所述预留路径上的端到端容忍延时值和预留路径上从所述出节点至所述入节点的跳数。

在一种可能的设计中,该入节点根据经由所述预留路径上各转发节点转发的预留请求报文中携带的经过逐跳减去线缆延时后的需求端到端容忍延时值以及经过逐跳加1的下游剩余跳数获得所述预留路径上的端到端容忍延时值和所述预留路径上从所述出节点至所述入节点的跳数,所述下游剩余跳数中的下游表示从所述入节点往所述出节点的方向。

在一种可能的设计中,所述需求端到端容忍延时值以及所述下游剩余跳数由所述出节点加入至所述预留请求报文中,其中所述需求端到端容忍延时值每经过一个所述预留路径上的转发节点被减去该跳线缆延时,所述下游剩余跳数每经过一个所述预留路径上的转发节点被加1。

在一种可能的设计中,所述网络节点为所述预留路径上的出节点,该出节点根据获取到的所述预留路径上的入节点发送的广播信息获得预留路径上的跳数以及所述预留路径的线缆时延,并基于所述所述预留路径的线缆时延获得所述预留路径上的端到端容忍延时值,然后向所述预留路径上各转发节点发送的预留确认报文中进一步包括所述各转发节点的下游剩余跳数,所述下游剩余跳数用于指导所述各转发节点的报文转发,所述下游剩余跳数中的下游表示从所述入节点往所述出节点的方向。

另一方面,本申请实施例提供了一种报文转发方法,在该方法中,转发节点接收从预留路径上的上一级转发节点转发的报文,所述报文中包括转发参考值,所述转发参考值为所述报文在所述预留路径上经过的所述转发节点的各上级节点的最大延时承诺时间值与在所述报文在所述各上级节点的实际停留时间之差的总和,所述转发节点根据所述转发参考值转发所述报文,并处理所述转发参考值。

通过利用各转发节点上游各级转发节点的最大延时承诺时间值Dti的累积使用情况对各转发节点的报文进行转发指导,可以综合考虑上下游各跳的情况,提供了弹性和协同调整机制从而更好地保障报文转发的延时承诺,保障E2E的延时需求,解决单节点整形机制无法解决的部分数据报文不能按承诺转发的问题。

在一种可能的设计中,所述转发节点根据所述转发参考信息转发所述报文包括:若所述转发参考值大于0,且在所述转发节点繁忙的情况下,则延迟转发所述报文;若所述转发参考值大于0,且在所述转发节点不繁忙的情况下,则正常转发所述报文;若所述转发参考值小于0,且在所述转发节点繁忙的情况下,则正常转发所述报文;以及若所述转发参考值小于0,且在所述转发节点不繁忙的情况下,则加速转发所述报文。

通过利用各转发节点上游的上游各级转发节点的最大延时承诺时间值Dti的累积使用情况并结合各转发节点自身的繁忙程度对各转发节点的报文进行转发指导,结合繁忙程度,盈余的可以根据情况适当消费,亏空的可以根据情况适当补偿,可以综合考虑上下游各跳的情况,更好地提供了弹性和协同调整机制从而更好地保障报文转发的延时承诺,保障E2E的延时需求,解决单节点整形机制无法解决的部分数据报文不能按承诺转发的问题。

在一种可能的设计中,所述转发节点处理所述转发参考值包括:若所述转发节点不为所述预留路径上的出节点,则更新所述转发参考值;若所述转发节点为所述预留路径上的出节点,则剥离所述报文中携带所述转发参考值的字段。

通过更新所述的转发参考值,使得预留路径沿路各转发节点能够准确的统计最大延时承诺时间值Dti的累积使用情况,从而进一步保障报文转发的延时承诺,保障E2E的延时需求。

在一种可能的设计中,接收分配给所述所述转发节点的最大延时承诺时间值,保存所述转发节点的最大延时承诺时间值;所述更新所述转发参考值包括:获得所述报文在所述转发节点的实际停留时间;获得所述转发节点的最大延时承诺时间值与所述报文在所述转发节点的实际停留时间的差值;将所述转发参考值加上所述的差值得到更新的转发参考值。

在一种可能的设计中,接收所述转发节点的下游剩余跳数,记录所述所述所述转发节点的下游剩余跳数,所述下游剩余跳数中的下游表示从所述入节点往所述出节点的方向;根据所述转发参考值和所述转发节点的最大延时承诺时间值以及所述转发节点的下游剩余跳数动态更新所述转发节点的最大延时承诺时间值获得所述转发节点的更新的最大延时承诺时间值;所述获得所述转发节点的最大延时承诺时间值与所述报文在所述转发节点的实际停留时间的差值具体为:获得所述转发节点的更新的最大延时承诺时间值与所述报文在所述转发节点的实际停留时间的差值。

在一种可能的设计中,前述的根据所述转发参考值、所述转发节点的最大延时承诺时间值以及所述转发节点的下游剩余跳数动态更新所述转发节点的最大延时承诺时间值具体包括:将所述转发参考值除以所述转发节点的下游剩余跳数得到剩余跳数平均转发参考值;将所述剩余跳数平均转发参考值加上所述转发节点的最大延时承诺时间值获得所述转发节点的更新的最大延时承诺时间值。

又一方面,本申请实施例提供了一种预留路径建立装置,该装置包括:获取单元,用于获取预留路径上的端到端容忍延时值和预留路径上的跳数;处理单元,用于根据所述端到端容忍延时值和所述预留路径上的跳数为所述预留路径上的各转发节点分配最大延时承诺时间值,所述预留路径上的各转发节点的最大延时承诺时间值用于指导所述各节点的报文转发;发送单元,用于向所述预留路径上各转发节点发送预留确认报文,所述预留确认报文中包括为所述各转发节点分配的最大延时承诺时间值;接收单元,用于接收所述各转发节点返回的预留反馈报文。

通过向预留路径上的各转发节点分配各自的最大延时承诺时间值,可以使得各转发节点利用该最大延时承诺时间值作为转发报文的指导依据,从而可以更好地保障报文转发的延时承诺。

再一方面,本申请实施例提供了一种报文转发装置,该装置包括:接收单元,用于接收从预留路径上的上一级转发节点转发的报文,所述报文中包括转发参考值,所述转发参考值为所述报文在所述预留路径上经过的所述转发节点的各上级节点的最大延时承诺时间值与在所述报文在所述各上级节点的实际停留时间之差的总和;处理单元,用于根据所述转发参考值指示发送单元转发所述报文,并处理所述转发参考值;以及发送单元,用于转发所述报文。

通过利用各转发节点上游的上游各级转发节点的最大延时承诺时间值Dti的累积使用情况对各转发节点的报文进行转发指导,可以综合考虑上下游各跳的情况,提供了弹性和协同调整机制从而更好地保障报文转发的延时承诺,保障E2E的延时需求,解决单节点整形机制无法解决的部分数据报文不能按承诺转发的问题。

再一方面,本申请实施例提供了一种报文转发方法,该方法中,预留路径上的转发节点接收网络节点发送的预留确认报文,所述预留确认报文中携带所述网络节点为预留路径上的转发节点分配的的最大延时承诺时间值;并获得所述预留路径上的转发节点的下游剩余跳数,所述下游剩余跳数中的下游表示从所述预留路径的入节点往所述预留路径的出节点的方向;之后,预留路径上的转发节点确认接受所述网络节点为预留路径上的转发节点分配的的最大延时承诺时间值;预留路径上的转发节点向所述网络节点返回预留反馈报文,以指示接受所述所述网络节点为预留路径上的转发节点分配的的最大延时承诺时间值;预留路径上的转发节点利用所述的最大延时承诺时间值和所述的下游剩余跳数指导所述预留路径上的转发节点的数据报文转发。

预留路径上各转发节点通过利用为其分配的最大延时承诺时间值Dti以及该转发节点的下有剩余条数对各转发节点的报文进行转发指导,提供了弹性和协同调整机制从而更好地保障报文转发的延时承诺,保障E2E的延时需求,解决单节点整形机制无法解决的部分数据报文不能按承诺转发的问题。

在一种可能的设计中,所述预留路径上各转发节点通过设置设置单位测量间隔(英文:Measurement Interval Unit,MIU),保证在一个MIU中发送出去的各预留路径报文符合带宽预留,并在单个MIU中对时延预留进行规划从而判断是否接受为其分配的最大延时承诺时间值Dti。

通过在单个MIU中对时延预留进行规划从而判断是否接受为其分配的最大延时承诺时间值Dti,从而使得为预留路径上的各转发节点分配的其分配的最大延时承诺时间值Dti更加合理。

再一方面,本申请实施例提供了一种计算机可读存储介质,该计算机存储介质中存储有程序代码,该程序代码用于指示执行上述预留路径建立装置的各种可能的设计方式中的方法。

再一方面,本申请实施例提供了一种计算机可读存储介质,该计算机存储介质中存储有程序代码,该程序代码用于指示执行上述报文转发装置中的各种可能的设计方式中的方法。

附图说明

图1为本发明实施例提供的一种报文转发网络系统组网架构示意图;

图2为本发明实施例提供的一种预留请求报文格式示意图;

图3为本发明实施例提供的一种预留确认报文格式示意图;

图4为本发明实施例提供的另一种预留确认报文格式示意图;

图5为本发明实施例提供的一种数据报文转发过程中RI字段变化示意图;

图6为本发明实施例提供的一种转发报文流程示意图;

图7为本发明实施例提供的一种建立预留路径的装置结构示意图;

图8为本发明实施例提供的再一种报文转发装置结构示意图;

图9为本发明实施例提供的一种网络设备结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例描述的网络架构以及业务场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

参见图1为本发明实施例提供的一种网络系统架构示意图,该网络系统系统包括入节点(所述入节点为数据面报文的发送端)、若干转发节点和出节点(所述出节点为数据面报文的接收端),入节点和出节点之间通过预留协议建立预留路径,保障从入节点到出节点转发报文的QoS。本申请实施例通过改单点校正(整形)机制——在原节点单点整形机制外,增加上下游各跳协同的承诺保障机制,从而解决单节点整形机制无法解决的部分数据报文不能按承诺转发的问题。具体而言,就是对某节点导致的报文的非承诺转发(比如说延迟大,导致报文在该节点发出时已经滞后于承诺时间点),滞后时间由后续有能力的节点逐步进行加速补偿,以达到最终E2E延时保障的效果;同样的当一个路径上的靠前的节点能够在承诺时间前即完成转发,相当于对比承诺有一定盈余,可以将该盈余传递到后续节点,在后续节点可以根据自身状况(比如排队较长),适当消费该盈余,但仍然可以保障E2E的延时需求。

为了实现上述各跳间弹性和协同的延时承诺调整机制,需要进行预留路径上各转发节点的最大延时承诺时间值的分配流程(为了简洁,此处称之为预留路径的建立流程),以及各转发节点利用该分配的最大延时承诺时间值指导报文转发流程(为了简洁,此处称之为报文转发流程)。以下分别对该两个大的流程进行详细说明。

本申请实施例提供的第一种预留路径的建立方法有所述预留路径的出节点提出预留请求,由所述预留路径的入节点进行预留路径上各转发节点的最大延时承诺时间值的分配,该方式包括如下部分:

202:所述入节点(称之为请求预留者)提出预留请求,向所述入节点发送预留请求报文,所述预留请求报文中携带所述出节点需要的需求端到端容忍延时值(为了描述方便记为Dt)。

具体实施方式中,所述的预留请求报文可以按照如下图2所示,预留请求报文中携带所述的需求端到端容忍延时值Dt,以及发送时系统的当前时间(称之为发送时间)和所述报文达到的转发节点的下游剩余跳数(为了描述方便记为Nh,需要说明的是本申请实施例中所说的下游方向为从所述入节点到所述出节点的方向)。

204:预留路径上各转发节点通过对所述需求端到端容忍延时值Dt加上下游转发节点(包括出节点)发送的时间、减去到所述预留请求报文达本转发节点(包括入节点)时系统的当前时间(称之为接收时间),进行逐跳线缆延时(为了描述方便记为TL)的扣除;所述预留请求报文每到达一个转发节点,Nh字段加1,而且各转发节点记录该节点的下游剩余跳数Nh。

206:预留路径上的入节点接收到所述的预留请求报文,将所述沿途扣除逐跳线缆延时TL之后的需求端到端容忍延时值Dt再减去所述预留请求报文达到所述入节点的接收时间获得端到端容忍延时值Dt’。

208:所述预留路径上的入节点按照一定规则分配所述的端到端容忍延时值Dt’到预留路径上的各个转发节点,预留每一跳的最大延时承诺时间值(为了描述方便记为Dti)。

具体实施方式中,所述入节点可以通过如图3所示的报文格式向所述预留路径上的各转发节点发送预留确认报文,所述预留确认报文携带为所述各个转发节点分配的最大延时承诺时间值Dti。所述入节点也可以通过如图3所示的报文方式逐个向预留路径上的各转发节点发送预留确认报文,该预留确认报文中携带为该转发节点分配的最大延时承诺时间值Dti。需要说明的是这里的按照一定的规则分配所述的端到端容忍延时值Dt’到预留路径上的各个转发节点可以是在素数各转发节点中平均分配所述的端到端容忍延时值Dt’,也可以根据各转发节点的具体情况,例如历史延时状况或者在网络拓扑中的位置不同做非平均分配。

210:所述预留路径上的各转发节点收到所述预留路径上的入节点为其分配的最大延时承诺时间值Dti后,确定是否接收该预留分配,如果接受该预留分配,则向所述入节点发送预留反馈报文表示其接受该预留分配,并记录为该转发节点分配的最大延时承诺时间值Dti,如果不接受该预留分配,则向所述入节点发送预留反馈报文表示其不接受该预留分配。预留路径上任何一个转发节点不接受该预留分配,本次预留路径建立失败,需要重新分配以建立预留路径。

在一个具体实施方式中,各转发节点按照以下方法确定其是否接受所述入节点为其分配的最大延时承诺时间值Dti。

2102:设置单位测量间隔(英文:Measurement Interval Unit,MIU),保证在一个MIU中发送出去的各预留路径报文符合带宽预留。

2104:在单个MIU中对时延预留进行规划:

具体以第i转发节点为例,假设该转发节点中预留了j条预留路径,令第i转发节点出端口(英文:Egress)发送线速为e,第j预留路径数据包长为Lj,第j预留路径在第i转发节点预留的最大延时承诺时间值为Dtij,第i转发节点的第j预留路径数据包从优先级队列(英文:PriorityQueue,PQ)发送出去时长为τij,其中τij=Dtij+Lj/e。

对延时预留进行规划时,第i转发节点是否接受第n路径预留的最大延时承诺时间值Dtin判断标准和操作步骤可以为:

1)设置第i节点的优先级队列(PriorityQueue,PQ)单位测量间隔(Measurement Interval Unit,MIU);

2)判断第n路径预留最大延时承诺时间值Dtin是否与已存在路径预留最大延时承诺时间值冲突,判断标准可以为:

Dtin<Dtij≤τin,

或者Dtin≤τij<τin,

或者Dtij≤Dtin<τij,

或者Dtij<τin≤τij,

当满足上式任一条件时,则冲突发生;

3)如果第n路径预留最大延时承诺时间值与已存在全部路径预留最大延时承诺时间值不冲突,则对第n路径预留最大延时承诺进行确认,并在MIU中对第n路径预留最大延时承诺时间值进行预留;

4)如果第n路径预留最大延时承诺时间值与已存在的任意一条路径预留最大延时承诺时间值冲突,则进一步判断:

即判断所有已存在的最大延时承诺时间值小于第n预留路径数据包从PQ发送出去时长的包的线速发送时间之和,是否不大于第n预留路径预留最大延时承诺时间值为Dtin:如果大于,则预留失败返回失败信息;如果不大于,则对第n路径预留最大延时承诺进行确认,并在MIU中对第n路径预留的最大延时承诺时间值进行预留,并且对相冲突的已存在路径预留的最大延时承诺时间值最大的预留承诺时间值Dtik向前推进压缩其最大延时承诺时间值,然后再对该被压缩的最大延时承诺时间值Dtik进行第进一步的步冲突判定,若发生冲突,则继续对与Dtik冲突的Dtim进行压缩,依次推进下去。其压缩推进算法公式如下:

对于Dtik,即直接与Dtin冲突的最大延时承诺时间值,压缩后的最大延时承诺时间值为

对于Dtim,即受前述压缩影响与Dtik发生冲突的最大延时承诺时间值,压缩后的最大延时承诺时间值为

必要时,还可以通过限制报文长度(或者倍化长报文的MIU,或者降低长报文的带宽预留)然后再进行上述判断。

以下为本申请实施例提供的第二种预留路径的建立方法,该预留方法由所述预留路径上的出节点直接将为各转发节点分配好的最大延时承诺时间值Dti发给各转发节点,由各转发节点进行确认,具体而言,该方法包括如下部分:

302:所述出节点根据获取到的所述预留路径上的入节点发送的广播信息获得预留路径上的跳数以及所述预留路径的线缆时延,基于所述所述预留路径的线缆时延获得所述预留路径上的端到端容忍延时值Dt’。例如,所述出节点获得请求预留者(可以是所述出节点自身,也可以是其他控制设备或其他网络设备提出的)提出的需求端到端容忍延时值Dt,并将所述需求端到端容忍延时值Dt扣除所述预留路径的线缆延时TL,获得所述预留路径上的端到端容忍延时值Dt’。

304:所述预留路径上的出节点按照一定规则分配所述的端到端容忍延时值Dt’到预留路径上的各个转发节点,预留每一跳的最大延时承诺时间值(为了描述方便记为Dti),并且告知所述各转发节点的下游剩余跳数Nh。

具体实施方式中,所述出节点可以通过如图3所示的报文格式向所述预留路径上的各转发节点发送预留确认报文,所述预留确认报文携带为所述各个转发节点分配的最大延时承诺时间值Dti以及下游剩余跳数Nh,由预留路径上的各转发节点逐级转发,每经过一个转发节点,所述的下游剩余跳数Nh加1。所述出节点也可以通过如果6所示的报文方式逐个向预留路径上的各转发节点发送预留确认报文,该预留确认报文中携带为该转发节点分配的最大延时承诺时间值Dti以及所述该转发节点的下游剩余跳数Nh。需要说明的是这里的按照一定的规则分配所述的端到端容忍延时值Dt’到预留路径上的各个转发节点可以是在素数各转发节点中平均分配所述的端到端容忍延时值Dt’,也可以根据各转发节点的具体情况,例如历史延时状况或者在网络拓扑中的位置不同做非平均分配。

一个具体的实施方式中,可以通过对RSVP协议的协议面进行改造形成所述预留确认报文,例如,在所述RSVP报文的Msg Type中增加ResvDelay类型,并在Object字段中增加每个转发节点上的最大延时承诺时间值Dti以及下游剩余跳数Nh,每经过一个转发节点该Nh加1,修改过的RESV报文格式如图4所示。

306:所述预留路径上的各转发节点收到所述预留路径上的出节点为其分配的最大延时承诺时间值Dti后,确定是否接收该预留分配,如果接受该预留分配,则向所述入节点发送预留反馈报文表示其接受该预留分配,并记录为该转发节点分配的最大延时承诺时间值Dti以及所述下游剩余跳数Nh,如果不接受该预留分配,则向所述入节点发送预留反馈报文表示其不接受该预留分配。

具体如上例中,当采用所述修改后的RESV报文时,该RESV报文到达下一转发节点,Nh加1;转发节点判断是否接受预留条件:如果接受则在节点上记录路径信息:Dti和Nh,并继续向上游转发所述RESV报文;如果不接受则返回预留失败信息。

308:所述预留路径上的入节点收到所述预留确认报文后,则预留成功,所述入节点向所述出节点返回预留成功确认报文,预留路径成功建立。

具体如上例中,所述RESV报文到达入节点,则预留成功,入节点返回ResvConf报文,预留路径成功建立。

以下是本申请实施例提供的第三种预留路径的建立方法,由预留路径之外的控制设备或者预留路径中的某个中间转发节点为各转发节点分配好的最大延时承诺时间值Dti发给各转发节点,由各转发节点进行确认。该方法包括:

402:预留路径之外的某个控制节点或预留路径上的中间转发节点获取请求预留者(如所述预留路径上的出节点)所提出的需求端到端容忍延时Dt,获取所述预留路径的线缆时延TL,基于所述的需求端到端容忍延时Dt和所述预留路径的线缆时延获得所述预留路径上的端到端容忍延时值Dt’。

404:预留路径之外的某个控制节点或预留路径上的中间转发节点按照一定规则分配所述的端到端容忍延时值Dt’到预留路径上的各个转发节点,预留每一跳的最大延时承诺时间值(为了描述方便记为Dti),并且告知所述各转发节点的下游剩余跳数Nh。

具体实施方式可以参考上述步骤304,此处不再赘述。

406:所述预留路径上的各转发节点收到所述预留路径上的出节点为其分配的最大延时承诺时间值Dti后,确定是否接收该预留分配,如果接受该预留分配,则向所述入节点发送预留反馈报文表示其接受该预留分配,并记录为该转发节点分配的最大延时承诺时间值Dti以及所述下游剩余跳数Nh,如果不接受该预留分配,则向所述入节点发送预留反馈报文表示其不接受该预留分配。

具体实施方式可以参考上述步骤306,此处不再赘述。

408:所述预留路径上的各转发节点收到所述预留路径上的出节点收到所述预留路径上所有节点返回的预留反馈报文,指示接受所述延时预留后,预留路径成功建立,如果收到的所述预留路径上所有节点返回的预留反馈报文中有一个预留反馈报文指示不接受所述延时预留,则预留路径失败。

下面对利用以上实施例中建立的预留路径进行报文转发的方法进行介绍,所述预留路径上各转发节点利用其记录的为其分配的最大延时承诺时间值Dti以及该各转发节点的下游剩余跳数信息知道其上的数据报文转发。其中一种指导报文转发方式可以是按照各转发节点上游的上游各级转发节点的最大延时承诺时间值Dti的累积使用情况作为各转发节点的报文转发指导。具体而言,可以根据报文在所述预留路径上经过的所述转发节点的各上级节点的最大延时承诺时间值Dti与在所述报文在所述各上级节点的实际停留时间之差的总和以及各转发节点自身的繁忙程度进行报文的转发指导。另一种指导报文转发方式可以是按照各转发节点上游的上游各级转发节点的最大延时承诺时间值Dti的累积使用情况和各转发节点的下游剩余跳数信息指导报文转发。具体而言,可以根据报文在所述预留路径上经过的所述转发节点的各上级节点的最大延时承诺时间值Dti与在所述报文在所述各上级节点的实际停留时间之差的总和情况(即盈余和亏空情况)和下游剩余跳数确定转发速度,例如,如果为累积结果为盈余,且该转发节点的下游剩余跳数大于设定值的情况下,可以不消费该盈余而选择加速转发报文;或者,如果为累积结果为盈余,且该转发节点的下游剩余跳数小于设定值的情况下,可以适当消费该盈余而选择延迟转发报文;或者,如果为累积结果为盈余,且该转发节点的下游剩余跳数等于设定值的情况下,可以选择正常转发报文。相反,如果为累积结果为亏空,且该转发节点的下游剩余跳数大于设定值的情况下,则可以不弥补该亏空而选择正常转发报文;或者,如果为累积结果为亏空,且该转发节点的下游剩余跳数小于设定值的情况下,择可以适当弥补下该亏空而选择延迟转发该报文;或者如果为累积结果为亏空,且该转发节点的下游剩余跳数等于于设定值的情况下,可以选择正常转发报文。以上仅是举例说明,具体可以根据设定的其它策略进行报文转发的指导。可以理解,各转发节点还可以根据该各转发节点自身的最大延时承诺时间值Dti和各转发节点的下游剩余跳数信息指导报文转发。具体可以参考上面第二种方式。下面详细说明上述根据报文在所述预留路径上经过的所述转发节点的各上级节点的最大延时承诺时间值Dti与在所述报文在所述各上级节点的实际停留时间之差的总和以及各转发节点自身的繁忙程度进行报文的转发指导方法,如图6所示,该方法包括如下部分:

602:所述预留路径上的第一个转发节点(即所述预留路径上的入节点)为数据报文添加转发参考RI(Reference Information)字段,设置所述的RI值为0;并将所述数据报文转发至预留路径上的下一个转发节点。

其中,所述转发参考值为所述报文在所述预留路径上经过的所述转发节点的各上级节点的最大延时承诺时间值Dti与在所述报文在所述各上级节点的实际停留时间之差的总和,即RI=Σ(Dti-(Ti-out-Ti-in)),其中Ti-out为所述数据报文从该转发节点出端口发出时间,Ti-in为所述数据报文到达该转发节点入端口时间。

具体实施方式中,可以采用如图5所示的报文格式,其中(a)报文为没有添加所述RI字段之前的原始数据报文,(b)记为添加了所述RI字段的数据报文。

604:下一个转发节点接收所述数据报文后,获取所述数据报文中的RI值。

606:所述下一个转发节点判断所述RI值的正负;若判断结果为负,即所述RI<0,则转608;若判断结果为正,即所述RI>0,则转610;若判断结果为所述RI值为0,则选择614正常转发所述报文;其中,RI为正表示盈余,RI为负表示亏空;

608:所述下一个转发节点进一步判断该转发节点本身是否繁忙;若判断结果为不繁忙,则适当弥补RI值,选择612加速转发所述数据报文;若判断结果为繁忙,则不弥补RI值,选择614正常转发所述数据报文。

在一个具体的实施方式中可以根据该转发节点上的所有预留路径上的报文的RI值进行判断该转发节点是否繁忙,该值可以反映该转发节点上的所有预留路径上的其他上游节点给该节点造成的繁忙压力,代表当前节点繁忙度,例如,该转发节点上有3条预留路径分别是L1,L2和L3,如果上述三条预留路径上的报文中的RI值之和小于0,则表示该转发节点繁忙,如果上述三条预留路径上的报文中的RI值之和小于0,则表示该转发节点不繁忙。可以理解,以上仅是判断繁忙与否的一种实现方式,也可以其他已有的方式判断该转发节点繁忙与否,本发明对此不做限定。

610:所述下一个转发节点进一步判断该转发节点本身是否繁忙;若判断结果为不繁忙,则不消费RI值,选择614正常转发所述数据报文;若判断结果为繁忙,则可适当消费RI值,选择616延迟转发所述数据报文。

618:所述下一个转发节点判断自身是否是所述预留路径上的最后一个转发节点,即是否是所述预留路径上的出节点;若判断结果为否,则更新所述RI值,将更新后的RI加入所述数据报文后,转624发出所述数据报文;若判断结果为是,则剥离所述数据报文中的RI字段,转624发出所述数据报文。

具体实施方式中,所述更新所述RI值具体可以包括下述步骤:

(1)所述下一个转发节点获得所述报文在该转发节点的实际停留时间,即将所述数据报文从该转发节点出端口发出时间Ti-out减去所述数据报文到达该转发节点入端口时间Ti-in所得到的值;

(2)所述下一个转发节点获得所述转发节点的最大延时承诺时间值Dti,如前所述,所述转发节点自身已经记录了为其分配的最大延时承诺时间值Dti;

(3)所述下一个转发节点获得所述转发节点的最大延时承诺时间值Dti与所述报文在所述转发节点的实际停留时间的差值;

(4)将从上一转发节点转发的数据报文中获得的所述转发参考RI值加上所述的差值得到更新的转发参考值RI。

通过利用各转发节点上游的上游各级转发节点的最大延时承诺时间值Dti的累积使用情况以及各转发节点自身的繁忙程度对各转发节点的报文进行转发指导,可以综合考虑上下游各跳的情况,盈余的可以根据情况适当消费,亏空的可以根据情况适当补偿,提供了弹性和协同调整机制从而更好地保障报文转发的延时承诺,保障E2E的延时需求,解决单节点整形机制无法解决的部分数据报文不能按承诺转发的问题。

在另一个具体实施方式中,预留路径上的各转发节点还可以根据上游转发节点的RI盈亏情况,各转发节点的下游剩余跳数Nh以及各转发节点的最大延时承诺时间值Dti动态更新调整之前已经分配给该各转发节点的最大延时承诺时间值Dti;然后用更新的最大延时承诺时间值D’ti更新所述RI值。以下以前述实施方式中的下一转发节点为例(该方法同样适用于所述预留路径上的其他转发节点),说明如何获取动态更新的最大延时承诺时间值D’ti如下:

(1)所述下一转发节点将所述转发参考值除以所述转发节点的下游剩余跳数Nh得到剩余跳数平均转发参考值;

(2)所述下一转发节点将所述剩余跳数平均转发参考值加上所述转发节点的最大延时承诺时间获得所述转发节点的更新的最大延时承诺时间值D’ti。

或者利用如下公式计算更新的最大延时承诺时间值D’ti为:D’ti=Dti+RI/Nh。

各转发节点的获得更新的最大延时承诺时间值D’ti,可以进一步用该更新的最大延时承诺时间值D’ti更新所述RI值;即所述更新后的RI值为所述更新的最大延时承诺时间值D’ti与所述报文在所述各转发节点的实际停留时间的差值。以该下一转发节点为例,用更新的最大延时承诺时间值D’ti更新所述RI值具体为:D’ti-(Ti-out-Ti-in),具体可以参考步骤618和624,然后将更新后的RI加入至所述数据报文后发出。

通过根据上游各级转发节点的最大延时承诺时间值Dti的累积使用以及各转发节点的下游剩余跳数动态调整各转发节点上的最大延时承诺时间值Dti,并实时利用该动态更新的最大延时承诺时间值Dti更新各级转发节点的最大延时承诺时间值Dti的累积使用并向下游各转发节点传递,从而可以使得前述的弹性和协同调整机制更加准确,进而更好地保障报文转发的延时承诺,保障E2E的延时需求。

图7是根据本申请实施例提供的一种预留路径建立装置700的结构示意性框图,图7所示的设备可以为前述实施例中预留路径上的入节点、出节点、中间转发节点或预留路径之外的控制设备,可以实现上述各节点或设备的功能。该装置700包括:

获取单元702,用于获取预留路径上的端到端容忍延时值和预留路径上的跳数;

处理单元704,用于根据所述端到端容忍延时值和所述预留路径上的跳数为所述预留路径上的各转发节点分配最大延时承诺时间值,所述预留路径上的各转发节点的最大延时承诺时间值用于指导所述各节点的报文转发;

发送单元706,用于向所述预留路径上各转发节点发送预留确认报文,所述预留确认报文中包括为所述各转发节点分配的最大延时承诺时间值;

接收单元708,用于接收所述各转发节点返回的预留反馈报文。

当所述装置700为所述预留路径上的入节点时,所述获取单元702用于接收从所述预留路径上出节点发出并经由所述预留路径上各转发节点转发的预留请求报文;根据所述预留请求报文获取所述预留路径上的端到端容忍延时值和预留路径上从所述出节点至所述入节点的跳数。

当所述装置700为所述预留路径上的入节点时,上述获取单元702、处理单元704、发送单元706以及接收单元708的各功能的具体实现方式参考上述实施方式中的步骤202-210,此处不再赘述。

当所述装置700为所述预留路径上的出节点时,所述获取单元702用于根据获取到的所述预留路径上的入节点发送的广播信息获得预留路径上的跳数以及所述预留路径的线缆时延,基于所述所述预留路径的线缆时延获得所述预留路径上的端到端容忍延时值;所述发送单元706向所述预留路径上各转发节点发送的预留确认报文中进一步包括所述各转发节点的下游剩余跳数,所述下游剩余跳数中的下游表示从所述入节点往所述出节点的方向。

当所述装置700为所述预留路径上的出节点时,上述获取单元702、处理单元704、发送单元706以及接收单元708的各功能的具体实现方式参考上述实施方式中的步骤302-308,此处不再赘述。

当所述装置700为所述预留路径上的中间节点或为所述预留路径之外的控制设备时,上述获取单元702、处理单元704、发送单元706以及接收单元708的各功能的具体实现方式可以参考上述实施方式中的步骤402-408,此处不再赘述。

图8是根据本申请实施例提供的一种报文转发装置800的结构示意性框图,图8所示的装置可以为前述实施例中预留路径上的中间转发节点或出节点,可以实现上述各节点或设备的功能。该装置800包括:

接收单元802,用于接收从预留路径上的上一级转发节点转发的报文,所述报文中包括转发参考值,所述转发参考值为所述报文在所述预留路径上经过的所述转发节点的各上级节点的最大延时承诺时间值与在所述报文在所述各上级节点的实际停留时间之差的总和;

处理单元804,用于根据所述转发参考值指示发送单元转发所述报文,并处理所述转发参考值。

发送单元806,用于转发所述报文

在一个具体实施方式中,所述根据所述转发参考信息以及所述转发节点自身的繁忙程度转发所述报文包括:若所述转发参考值大于0,且在所述转发节点繁忙的情况下,则延迟转发所述报文;若所述转发参考值大于0,且在所述转发节点不繁忙的情况下,则正常转发所述报文;若所述转发参考值小于0,且在所述转发节点繁忙的情况下,则正常转发所述报文;若所述转发参考值小于0,且在所述转发节点不繁忙的情况下,则加速转发所述报文。

在一个具体实施方式中,所述处理所述转发参考值包括:若所述转发节点不为所述预留路径上的出节点,则更新所述转发参考值;若所述转发节点为所述预留路径上的出节点,则剥离所述报文中携带所述转发参考值的字段。

在一个具体实施方式中,接收单元802进一步用于接收分配给所述所述转发节点的最大延时承诺时间值,保存所述转发节点的最大延时承诺时间值;

所述更新所述转发参考值包括:获得所述报文在所述转发节点的实际停留时间;获得所述转发节点的最大延时承诺时间值与所述报文在所述转发节点的实际停留时间的差值;将所述转发参考值加上所述的差值得到更新的转发参考值。

在一个具体实施方式中,所述接收单元802进一步用于接收所述转发节点的下游剩余跳数,记录所述所述所述转发节点的下游剩余跳数,所述下游剩余跳数中的下游表示从所述入节点往所述出节点的方向;根据所述转发参考值和所述转发节点的最大延时承诺时间值以及所述转发节点的下游剩余跳数动态更新所述转发节点的最大延时承诺时间值获得所述转发节点的更新的最大延时承诺时间值;所述获得所述转发节点的最大延时承诺时间值与所述报文在所述转发节点的实际停留时间的差值具体为:获得所述转发节点的更新的最大延时承诺时间值与所述报文在所述转发节点的实际停留时间的差值。

该实施方式中的,接收单元802、处理单元804和发送单元808的各功能的具体实现方式可以参考上述图6所示的实施方式中步骤602-622,此处不再赘述。

图9是本申请实施例提供的一种网络设备900示意性结构图,图9所示的网络设备可以为前述图7所示的实施方式中的建立预留路径的装置,即可以为实施例中预留路径上的入节点、出节点、中间转发节点或预留路径之外的控制设备,可以实现上述各节点或设备的功能。也可以为前述图8所示的实施方式中的报文转发装置,即可以为所述预留路径上的中间转发节点或出节点,可以实现上述各节点或设备的功能。如图9所示,该网络设备900包括处理器904、存储器910和接收器902和发射器906,以及连接处理器904、存储器910和接收器902和发射器906的各种连接线908。接收器902和发射器906(或者收发器)用于该装置与外界进行通信,存储器910用于存放程序指令或程序912,存储器910可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,处理器904可以调用存储器910中存放的程序指令执行相应功能。

当图9所示的装置为预留路径建立装置时,所述装置900包括:

接收器902,用于获取预留路径上的端到端容忍延时值和预留路径上的跳数;

处理器904,用于根据所述端到端容忍延时值和所述预留路径上的跳数为所述预留路径上的各转发节点分配最大延时承诺时间值,所述预留路径上的各转发节点的最大延时承诺时间值用于指导所述各节点的报文转发;

发射器906,用于向所述预留路径上各转发节点发送预留确认报文,所述预留确认报文中包括为所述各转发节点分配的最大延时承诺时间值;

所述接收器902进一步用于接收所述各转发节点返回的预留反馈报文。

当所述网络设备900为所述预留路径上的入节点时,所述接收器902用于接收从所述预留路径上出节点发出并经由所述预留路径上各转发节点转发的预留请求报文;所述处理器904用于根据所述预留请求报文获取所述预留路径上的端到端容忍延时值和预留路径上从所述出节点至所述入节点的跳数。

当所述网络设备900为所述预留路径上的入节点时,上述获接收器902、处理器904和发射器906的各功能的具体实现方式参考上述实施方式中的步骤202-210,此处不再赘述

当所述网络设备900为所述预留路径上的出节点时,所述处理器904用于根据获取到的所述预留路径上的入节点发送的广播信息获得预留路径上的跳数以及所述预留路径的线缆时延,基于所述所述预留路径的线缆时延获得所述预留路径上的端到端容忍延时值;所述发射器906向所述预留路径上各转发节点发送的预留确认报文中进一步包括所述各转发节点的下游剩余跳数,所述下游剩余跳数中的下游表示从所述入节点往所述出节点的方向。

当所述网络设备900为所述预留路径上的出节点时,上述获接收器902、处理器904和发射器906的各功能的具体实现方式参考上述实施方式中的步骤302-308,此处不再赘述。

当所述网络设备900为所述预留路径上的中间节点或为所述预留路径之外的控制设备时,上述获接收器902、处理器904和发射器906的各功能的具体实现方式参考上述实施方式中的步骤402-408,此处不再赘述。

当图9所示的装置为报文转发装置时,所述装置900包括:

接收器902,用于接收从预留路径上的上一级转发节点转发的报文,所述报文中包括转发参考值,所述转发参考值为所述报文在所述预留路径上经过的所述转发节点的各上级节点的最大延时承诺时间值与在所述报文在所述各上级节点的实际停留时间之差的总和;

处理器904,用于根据所述转发参考值指示发送单元转发所述报文,并处理所述转发参考值。

发射器906,用于转发所述报文。

在一个具体实施方式中,所述根据所述转发参考信息以及所述转发节点自身的繁忙程度转发所述报文包括:若所述转发参考值大于0,且在所述转发节点繁忙的情况下,则延迟转发所述报文;若所述转发参考值大于0,且在所述转发节点不繁忙的情况下,则正常转发所述报文;若所述转发参考值小于0,且在所述转发节点繁忙的情况下,则正常转发所述报文;若所述转发参考值小于0,且在所述转发节点不繁忙的情况下,则加速转发所述报文。

在一个具体实施方式中,所述处理所述转发参考值包括:若所述转发节点不为所述预留路径上的出节点,则更新所述转发参考值;若所述转发节点为所述预留路径上的出节点,则剥离所述报文中携带所述转发参考值的字段。

在一个具体实施方式中,接收器902进一步用于接收分配给所述所述转发节点的最大延时承诺时间值,保存所述转发节点的最大延时承诺时间值;

所述更新所述转发参考值包括:获得所述报文在所述转发节点的实际停留时间;获得所述转发节点的最大延时承诺时间值与所述报文在所述转发节点的实际停留时间的差值;将所述转发参考值加上所述的差值得到更新的转发参考值。

在一个具体实施方式中,所述接收器902进一步用于接收所述转发节点的下游剩余跳数,记录所述所述所述转发节点的下游剩余跳数,所述下游剩余跳数中的下游表示从所述入节点往所述出节点的方向;根据所述转发参考值和所述转发节点的最大延时承诺时间值以及所述转发节点的下游剩余跳数动态更新所述转发节点的最大延时承诺时间值获得所述转发节点的更新的最大延时承诺时间值;所述获得所述转发节点的最大延时承诺时间值与所述报文在所述转发节点的实际停留时间的差值具体为:获得所述转发节点的更新的最大延时承诺时间值与所述报文在所述转发节点的实际停留时间的差值。

该实施方式中的,上述获接收器902、处理器904和发射器906的各功能的具体实现方式可以参考上述图6所示的实施方式中步骤602-622,此处不再赘述。

在本申请所提供的几个实施例中,应该理解到,所公开的系统和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、随机存取存储器(英文全称:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储数据的介质。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1