CN110324242B - 一种报文发送的方法、网络节点和*** - Google Patents
一种报文发送的方法、网络节点和*** Download PDFInfo
- Publication number
- CN110324242B CN110324242B CN201810273967.5A CN201810273967A CN110324242B CN 110324242 B CN110324242 B CN 110324242B CN 201810273967 A CN201810273967 A CN 201810273967A CN 110324242 B CN110324242 B CN 110324242B
- Authority
- CN
- China
- Prior art keywords
- network node
- message
- cycle time
- node
- forwarding
- 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/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- 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/30—Routing of multiclass traffic
-
- 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/12—Shortest path evaluation
- H04L45/121—Shortest path evaluation by minimising delays
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- 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/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种报文发送的方法、节点及***。控制器获取业务流的转发时延要求和业务流的目的地址,确定满足转发时延要求的转发路径,控制器确定入口节点转发报文的第一cycle time编号和中间节点转发报文的第二cycle time编号,并分别确定对应的邻接段标识;控制器生成的标签栈包含对应入口节点和中间节点的邻接段标识;控制器将标签栈向入口节点发送触发入口节点在第一cycle time编号对应的时间内将报文转发,该报文属于该业务流。控制器根据业务流的转发时延要求确定转发路径,并生成与转发时间对应的标签栈,这样转发路径上的入口节点和中间节点可以根据标签栈在确定的时间将报文转发,从而能够实现报文转发确定的时延保障。
Description
技术领域
本发明涉及通信领域,尤其涉及一种报文发送的方法、网络节点和***。
背景技术
确定性网络(deterministic networking,DetNet)能够给应用提供高可靠性的路径。确定性网络能够提供有界时延保障和极低的丢包率等。有界时延保障是指报文在端到端转发过程中,报文转发时延是在一个固定要求的范围内的,即报文转发时延要在这个时延范围内。有界时延是通过端到端的预留带宽资源和队列管理算法实现的。循环队列和转发(cyclic queuing and forwarding,CQF)为现有技术中应用于确定性网络的一种队列管理的方法。CQF技术的核心在于报文在转发路径上的节点A的某一个周期时间(cycle time)被发出,会在该节点的下一跳节点的同一cycle time被收到,并在该下一跳节点的下一个cycle time被发出。因此,每一跳的最大时延为一个cycle time,端到端的最大时延为(N+1)*cycle time,其中N为经过的报文转发路径上中间节点个数。但是,由于链路时延的存在,报文可能在一个节点的第n个cycle time被发出,但是可能会在下一跳节点的第(n+1)个cycle time才被收到,因此,CQF在报文转发过程中并不能准确的实现确定的时延保障。
发明内容
本申请提供了一种报文发送的方法、网络节点和***,用于准确的实现报文转发过程中的时延保障。
第一方面,本发明实施例提供了一种报文发送的方法,该方法包括:控制器获取业务流的转发时延要求和所述业务流的目的地址,根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径,所述转发路径的时延满足所述业务流的转发时延要求,所述转发路径经过第一网络节点和第二网络节点,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;所述控制器确定所述第一网络节点转发报文的第一cycle time编号和所述第二网络节点转发所述报文的第二cycle time编号,并确定对应所述第一cycle time编号的第一邻接段标识以及对应所述第二cycle time编号的第二邻接段标识,所述报文属于所述业务流;所述控制器生成标签栈,所述标签栈包含所述第一邻接段标识和所述第二邻接段标识;所述控制器将所述标签栈向所述第一网络节点发送,所述标签栈用于指导所述第一网络节点在所述第一cycle time编号对应的时间内将所述报文沿所述转发路径转发。
通过上述技术方案,控制器根据业务流的转发时延要求确定转发路径,并分别确定转发路径上的入口节点和中间节点的转发时间对应的cycle time编号,然后生成对应的标签栈,标签栈中的邻接段标识和节点的转发该报文时的cycle time编号对应,这样在转发路径上的入口节点和中间节点可以根据标签栈在确定的时间将属于该业务流的报文转发出去,从而能够实现报文转发确定的时延保障。
在一种可能的设计中,该报文为该业务流中的第一个报文,或该业务流中的任一报文。
在一种可能的设计中,所述控制器获得所述第一网络节点和第二网络节点的节点时延,所述节点时延包括报文处理时延和报文发送时延。所述控制器获得所述转发路径上的链路的链路时延。所述转发路径的时延满足所述报文的转发时延要求包括:所述第一网络节点的节点时延、第二网络节点的节点时延和所述转发路径上的链路的链路时延之和在所述报文转发时延要求的范围内。
在一种可能的设计中,转发路径的时延等于所述第一网络节点的节点时延、第二网络节点的节点时延和所述转发路径上的链路的链路时延之和。
在一种可能的设计中,所述控制器获得所述第一网络节点的cycle time的时长以及所述第二网络节点的cycle time的时长;所述控制器获得对应所述控制器当前时间的所述第一网络节点的第三cycle time编号及所述第二网络节点的第四cycle time编号;所述控制器根据所述第一网络节点的cycle time的时长和所述第三cycle time编号确定所述第一cycle time编号,所述第一cycle time编号对应的开始时间在所述第一网络节点接收到所述标签栈之后;所述控制器根据所述第一网络节点的cycle time的时长、所述第一网络节点到所述第二网络节点的链路时延、所述第二网络节点的报文处理时延、所述第三cycle time编号和所述第二网络节点的cycle time的时长确定所述第二cycle time编号。
在一种可能的设计中,所述控制器接收所述第一网络节点发送的通告报文,所述通告报文中包含所述转发时延要求以及所述报文的目的地址。
第二方面,本发明实施提供了一种报文发送的方法,该方法包括:第一网络节点获得报文;所述第一网络节点根据所述报文获得第一标签栈,所述第一标签栈为对应转发所述报文的转发路径的标签栈,所述第一标签栈包含所述第一网络节点的邻接段标识和第二网络节点的邻接段标识,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;所述第一网络节点将所述第一标签栈压入所述报文,所述第一标签栈的栈顶标签为所述第一网络节点的邻接段标识;所述第一网络节点根据所述第一网络节点的邻接段标识确定转发所述报文的cycle time编号;所述第一网路节点将所述第一标签栈中的所述第一网络节点的邻接段标识弹出得到第二标签栈;所述第一网络节点在所述cycle time编号对应的时间内将包含所述第二标签栈的所述报文向所述第二网络节点发送。
在该技术方案中,第一网络节点在获得报文后,根据报文获得第一标签栈,然后根据标签栈中包含的对应第一网络节点的邻接段标识确定对应转发该第一报文的cycletime编号,然后在该cycle time编号对应的时间内将报文向第一网络节点的下一跳发送,从而时间第一网络节点在确定的时间将报文向外发送,有利于实现报文转发确定的时延保障。
在一种可能的设计中,所述第一网络节点获得业务流,并将所述业务流的转发时延要求和所述业务流的目的地址向控制器发送,触发所述控制器根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径和对应所述转发路径的标签栈,所述报文为所述业务流中的一个报文;所述第一网络节点接收所述控制器发送的对应所述转发路径的标签栈。
在一种可能的设计中,所述第一网络节点根据控制器发送的对应所述转发路径的标签栈获得所述第一标签栈。具体的,感觉报文发送速率将对应所述转发路径的标签栈中的每个标签加N得到第一标签栈,N为发送报文的序列号减1。
在一种可能的设计中,所述第一网络节点将包含所述第二标签栈的所述报文在所述cycle time编号对应的时间内向所述第二网络节点发送包括:所述第一网络节点将包含所述第二标签栈的所述报文加入到对应所述cycle time编号的报文队列中,当所述报文队列为发送队列时,利用所述第一网络节点的邻接段标识对应的出接口将所述包含所述第二标签栈的所述报文向所述第二网络节点发送。
第三方面,本发明实施提供了一种报文发送的方法,该方法包括:第二网络节点接收第一网络节点发送的第一报文,所述报文包含有标签栈;所述第二网络节点获得所述标签栈的栈顶标签;确定所述标签栈的栈顶标签为所述第二网络设备的邻接段标识,根据存储的邻接段标识和cycle time编号的对应关系确定所述邻接段标识对应的cycle time编号;所述第二网路节点将所述第一报文的所述标签栈中的所述第二网络节点的邻接段标识弹出生成第二报文,并在所述cycle time编号对应的内将所述第二报文向所述第二网络节点的下一跳网络节点发送。
在一种可能的设计中,所述第一网络节点在所述cycle time编号对应的时间内将所述第二报文向所述第一网络节点的下一跳网络节点发送包括:所述第二网络节点将所述第二报文加入到对应所述cycle time编号对应的报文队列中,当所述报文队列为发送队列时,利用所述第二网络节点的邻接段标识对应的出接口将所述第二报文向所述第一网络节点的下一跳网络节点发送。
第四方面,本发明实施例提供了一种控制器,执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,该控制器包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
第五方面,本发明实施例提供了一种第一网络节点,执行第二方面或第二方面的任意一种可能的实现方式中的方法。具体地,该第一网络节点包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的单元。
第六方面,本发明实施例提供了一种第二网络节点,执行第三方面或第三方面的任意一种可能的实现方式中的方法。具体地,该第二网络节点包括用于执行第三方面或第三方面的任意一种可能的实现方式中的方法的单元。
第七方面,提供了一种控制器,该控制器包括:处理器、网络接口和存储器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第一方面或第一方面的任意一种可能的实现方式中的方法,具体参见方法示例中的详细描述,此处不再赘述。
第八方面,提供了一种第一网络节点,该第一网络节点包括:处理器、网络接口和存储器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第二方面或第二方面的任意一种可能的实现方式中的方法,具体参见方法示例中的详细描述,此处不再赘述。
第九方面,提供了一种第二网络节点,该第二网络节点包括:处理器、网络接口和存储器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第三方面或第三方面的任意一种可能的实现方式中的方法,具体参见方法示例中的详细描述,此处不再赘述。
第十方面,提供了一种报文发送的***,该***包含前述方面提供的控制器、第一网络节点和第二网络节点。
第十一方面,提供了一种计算机存储介质,用于储存为上述网络节点或控制器所用的计算机软件指令,其包括用于执行上述方面所设计的程序。
附图说明
图1为本发明实施例提供的一种应用CQF报文转发示意图;
图2为本发明实施例提供的一种报文转发应用场景示意图;
图3为本发明实施例提供的一种报文转发流程示意图;
图4为本发明实施例提供的一种段标识和cycle time编号对应关系示意图;
图5为本发明实施例提供的一种报文转发流程示意图;
图6为本发明实施例提供的一种报文队列示意图;
图7为本发明实施例提供的一种控制器的结构示意图;
图8为本发明实施例提供的一种控制器的结构示意图;
图9为本发明实施例提供的一种第一网络节点的结构示意图;
图10为本发明实施例提供的一种第一网络节点的结构示意图;
图11为本发明实施例提供的一种第二网络节点的结构示意图;
图12为本发明实施例提供的一种第二网络节点的结构示意图;
图13为本发明实施例提供的一种报文转发***的示意图。
具体实施方式
下面结合附图,对本发明的实施例进行描述。
CQF是一种利用双队列交替发送报文的队列管理方法,报文在每个网络节点上都有一个独立的发送时间段,经过资源预留同一个时间段的报文都保证有足够的带宽,不同时间段之间的报文被隔离,报文在每个网络节点被转发时都有确定的时延。如图1所示,每个网络节点上都有两个报文队列,一个是报文接收队列,一个是报文发送队列。报文接收队列用于接收上一跳网络节点发送给当前网络节点的报文。报文发送队列用于把缓存的报文发送给下一跳网络节点,该队列可以不接收报文也可以接收报文。报文接收队列和报文发送队列的角色可以互相转换,报文接收队列接收的报文,在它变为报文发送队列时,会被发送给下一跳网络节点。每个网络节点都有一个时钟,经过一个固定长度的时间段,报文接收队列和报文发送队列交换角色,即报文接收队列变成报文发送队列,报文发送队列变成报文接收队列,定义这个固定长度的时间段为一个cycle time,简称cycle。网络节点以cycle为单位记录时间,每个网络节点的cycle的长度相同,且要求不同网络节点的cycle的起止时间要相同。报文接收队列和报文发送队列的角色以cycle为周期进行互换。
参见图1,图1为网络节点使用CQF进行报文转发示意图,在cycle 1,节点101的报文发送队列将报文发送至节点102的报文接收队列,当时间从cycle 1变为到cycle 2时,节点102的报文接收队列变成报文发送队列。在cycle 2,节点102的报文发送队列将报文发送到节点103的报文接收队列。在报文从节点101转发到节点103的过程中,报文转发最大时延为(N+1)*cycle,其中N为转发路径上中间节点的个数。在图1所示的场景中报文从节点101转发到节点103的报文转发时延为2*cycle。由于这个计算报文转发时延的过程没有考虑节点之间的链路的影响,这种方式获得报文最大转发时延是不准确的,例如:报文在cycle 1被节点101转发到节点102,如果节点101和节点102之间的链路时延大于一个cycle的长度,则并不能保证报文在cycle 1内被转发到节点102。因此,CQF在报文转发过程中并不能准确的实现确定的时延保证。
图2为本发明实施例提供的一种报文发送方法的网络场景示意图。该应用场景包括:控制器200、发送端201、接收端206、网络节点202、网络节点203、网络节点204和网络节点205。其中控制器200为软件定义网络(software defined network,SDN)架构下的控制器,用于实现流量控制,并对网络中的节点进行管理,在图2所示场景中,控制管理网络节点202、网络节点203、网络节点204和网络节点205。网络节点202、网络节点203、网络节点204和网络节点205所在的网络为分段路由(segment routing,SR)网络,并且网络节点202、网络节点203、网络节点204和网络节点205分别支持SR功能。发送端201和接收端206可以为用户设备,例如,手机或个人电脑等。网络节点202、网络节点203、网络节点204和网络节点205可以为路由器或交换机等。网络节点202到网络节点203的链路为链路1,网络节点203到网络节点204的链路为链路2,网络节点202到网络节点204的链路为链路3,网络节点204到网络节点205的链路为链路4。
本发明实施例中,网络节点可以为一个具体的网络设备,例如:路由器或交换机等。
结合图2所示的网络场景,参见图3,本发明实施例提供了一种报文发送的方法,该方法包括:
S301,控制器接收网络中网络节点的节点时延和网络中的链路时延。节点时延包括节点的报文处理时延和报文发送时延。举例来说,控制器200分别接收网络节点202、网路节点203、网络节点204和网络节点205的节点时延。链路时延包括网络中网络节点之间的时延,如图2中链路1、链路2、链路3和链路4的时延。
在一个示例中,网络节点的报文处理时延为处理过的报文的平均处理时延或最大处理时延。报文发送时延,为网络节点发送过的报文的平均发送时延或最大发送时延。链路1的链路时延为报文从网络节点202转发到到网络节点203的平均转发时延或最大转发时延,链路2的链路时延为报文从网络节点203转发到网络节点204的平均转发时延或最大转发时延,链路3的链路时延为报文从网络节点202转发到网络节点204的平均转发时延或最大转发时延,链路4的链路时延为报文从网络节点204转发到网络节点205的平均转发时延或最大转发时延。
S302,控制器获取业务流的转发时延要求和该业务流的目的地址。该业务流为需要通过控制器管理的网络转发的业务流,在图2所示场景中,该业务流中的报文需要经过SR网络转发。
在一个示例中,业务流的转发时延要求和业务流的目的地址可以是SR网络的入口节点向控制器发送的,如图2中的网络节点202向控制器200发送需要转发的业务流的时延要求及业务流的目的地址。
在一个示例中,业务流的转发时延要求和业务流的目的地址可以是接入端201向控制器发送的。当该接入端201需要通过控制器管理的网络发送业务流时,将业务流的转发时延要求以及业务流的目的地址向控制器发送。
在一个示例中,该业务流的转发时延要求可以为一个时延范围,举例来说,该时延要求为报文转发时延在10毫秒(ms)到15ms之间,或者该转发时延要求为一个具体时延,例如,转发时延为20ms。
S303,控制根据业务流的目的地址计算转发路径,该转发路径的时延满足所述业务流的转发时延要求。该转发路径包括入口节点、中间节点以及出口节点。该转发路径的时延包含转路径入口节点的节点时延、中间节点的节点时延以及从入口节点到出口节点之间链路的链路时延。
结合图2,举例来说,业务流的目的地址为接收端206的地址,控制器200根据该目的地址计算SR网络中的转发路径,其中可以到达接收端206的路径有两条,分别为路径1和路径2。路径1经过网络节点202、网络节点203和网络节点205,路径2经过网络节点202、网络节点204和网络节点205。其中路径1的时延满足业务流的转发时延要求,路径2的时延不满足业务流的转发时延要求,则控制器选择路径1作为转发业务流的转发路径。路径1的入口节点为网络节点202,路径1的中间节点为网络节点203,路径1中的出口节点为网络节点205。
S304,控制器获得转发路径的入口节点的cycle time的时长和控制器当前时间入口节点的cycle time编号。本申请实施例中cycle time的时长为cycle time所占用的时间长度。控制器当前时间是指控制器去获得入口节点cycle time编号的时间。
S305,控制器获得转发路径的中间节点的cycle time的时长和控制器当前时间中间节点的cycle time编号。中间节点可以有一个或多个。控制器当前时间是指控制器去获得中间节点cycle time编号的时间。
每个网络节点的cycle time的时长可以不同也可以相同,本申请实施例不做具体限制。cycle time是网络节点进程调度的一个单位,在一个cycle time中完成一次队列中报文的发送。每个网络节点的cycle time从网络节点启动时候开始进行编号,并逐渐递增。可见在本发明实施例中,每个网络节点的cycle time的时长可以相同也可以不同,并且每个网络节点的cycle time的起止时间也可以不同,这样避免了网络节点的配置复杂度,简化了设备管理工作量,同时提供高了报文转发效率。
结合图2,举例来说,控制分别获得网络节点202和网络节点203的cycle time的时长。网络节点202的cycle time的时长为第一时长,例如:10毫秒(ms),网络节点203的cycletime的时长为第二时长,例如12ms。网络节点202当前的cycle time编号为第一编号,例如,124,网络节点203当前的cycle time编号为第二编号,例如156。
S306,控制器确定入口节点发送报文的cycle time编号,并确定中间节点发送该报文的cycle time编号,该报文属于所述业务流。可选地,该报文可以是该业务流中的第一个报文,或者为该业务流中的任意一个报文。
控制器得到了入口节点当前的cycle time编号及cycle time的时长,即可选择一个时间点作为入口节点发送该报文的时间,并确定对应这个时间的cycle time编号。举例来说,入口节点当前的cycle time编号为k,例如k=1001,cycle time时长为m,例如m=10ms,控制器选择等待t秒后让入口节点开始发送该报文,例如t=50秒,则对应发送该报文的cycle time编号L按照如下公式计算:
L=k+t*1000/m。
即L=1001+50*1000/10=6001。
其中,上述t秒可以通过控制器计算该等待时间t时的时间以及入口节点转发该报文时控制器的时间计算获得。
控制器确定了入口节点的cycle time编号后,再确定中间节点的cycle time编号。控制器确定转发路径上第一个中间节点的cycle time编号,该第一个中间节点为入口节点的下一跳节点,如图2中节点202为入口节点,则节点203为节点202的下一跳节点。控制器按照如下方式计算第一个中间节点的cycle time编号:
报文在中间节点入队列之前的时长t按照如下公式计算,
t=t1+t2+t3,其中,
t1为报文在入口节点编号为L的cycle time被转发时的时间长度;
t2为入口节点到中间节点之间的链路的链路时延;
t3为中间节点最大报文处理时延。
根据报文在中间节点的入队之前的时长t,估算报文在中间节点最晚入队所在的cycle time编号,例如:
中间节点当前的cycle time编号为a,例如a=2001,cycle time时长为m,例如m=20ms,上述计算的中间节点最晚入队时长t=20秒,则对应中间节点发送该报文的cycletime编号B按照如下公式计算:
B=a+t*1000/m=3001。
控制器按照如下方式计算除第一个中间节点之外的中间节点(非第一中间节点)的cycle time编号:
报文在非第一中间节点的入队列之前的时长t按照如下公式计算,
t=t1+t2+t3+t4,其中,
t1为报文在入口节点编号为L的cycle time被转发时的时间长度;
t2为入口节点到非第一中间节点之间的链路的链路时延;
t3为非第一中间节点最大报文处理时延;
t4为入口节点和非第一中间节点之间经过的中间节点的节点时延之和。
S307,确定入口节点的邻接段标识,并确定中间节点的邻接段标识,生成标签栈。所述标签栈从栈顶到栈底依次包含所述入口节点和中间节点的邻接段标识。
S308,控制器向入口节点发送所述标签栈。
在一个示例中,转发路径上的每个节点的出接口可以对应多个邻接段标识,并建立每个邻接段标识和cycle编号的对应关系。参见图4,举例来说,入口节点在转发路径上的出接口对应邻接段标识为SID 1-SID 10,这10个邻接段标识对应入口节点沿转发路径转发的出接口对应的一个链路,如图2中的链路1。端口的每个段标识(segment identifier,SID)对应多个cycle编号,该端口或链路对应的SID也可以称为邻接段标识。该SID可以为MPLS标签。为了限制SID数量,在不造成混淆的前提下,cycle编号与SID的对应关系可以是多对一,例如,SID 1对应的cycle编号为M,M为首项为0001,公差为10的等差数列。如SID 1对应的cycle编号为0001、0011、0021、0031、……。SID 2对应的cycle编号为N,N为首项为0002,公差为10的等差数列。如SID 2对应的cycle编号为0002、0012、0022、0032、……。在本发明实施例中,可以使用10个SID来代表cycle编号,节点上的cycle编号随着时间递增,每10个cycle编号使用的SID会循环一次。
在一个示例中,入口节点和中间节点在建立每个邻接段标识和cycle编号的对应关系后,将该对应关系分别向控制器发送,或者控制器可以主动到每个转发节点来获得邻接段标识和cycle编号的对应关系。
控制器根据计算得到的每个节点的cycle time编号通过邻接段标识和cycle编号的对应关系即可确定需要使用的SID,然后将每个节点的SID形成标签栈,标签栈从栈顶到栈底依次包含转发路径上的入口节点和中间节点的SID,举例来说,结合图2所示,报文经过节点202和节点203到达节点205,则该标签栈为<SID 2,SID 4>,其中SID 2为节点202的段邻接标识,SID 4为节点203的段邻接标识。在本发明实施例中不同的节点可以使用相同的邻接段标识,即节点的邻接段标识为本地有效,例如:入口节点上对应转发路径出接口的邻接段标识为SID 1-SID 10,中间节点上对应转发路径出接口的邻接段标识也可以为SID 1-SID 10,对应图2所示的场景,节点202出接口对应的链路1的邻接段标识SID 1-SID 10,节点203出接口对应的链路2的邻接段标识也可以为SID 1-SID 10。控制器将标签栈向入口节点发送,入口节点接收到该标签栈以后,根据步骤S309进行处理。
S309,入口节点根据所述标签栈转发报文。
入口节点将所述标签栈压入业务报文的报文头中,该业务报文为业务流中的一个报文。当判断标签栈的栈顶标签为所述入口节点的邻接段标识时,根据邻接段标识和cycletime编号的对应关系确定发送所述业务报文的cycle time编号,然后将栈顶标签弹出,将包含标签栈中剩余标签的业务报文在该cycle time编号对应的时间内向中间节点发送。举例来说,当入口节点判断标签栈的栈顶为SID 2时,根据SID 2确定对应的cycle time编号,如确定的cycle time编号为0002、0012、0022、0032、…...,则选择离所述入口节点当前cycle time编号最近的cycle time编号为发送该业务报文的cycle time,例如,当前入口节点的cycle time编号为0030,则选择cycle time的编号为0032。入口节点在确定了发送该业务报文的cycle time编号后,将该业务报文加入到对应该cycle time编号的报文队列中,该报文队列可能是报文接收队列,也可能是报文发送队列。
在一个示例中,当入口节点将该业务报文加入到对应该cycle time的报文队列中后,当该报文队列为发送队列时,利用所述入口节点的邻接段标识对应的出接口将所述业务报文向所述入口节点的下一跳节点发送。
结合图2所示的网络场景,参见图5,本发明实施例提供了一种报文发送的方法,该方法包括:
S501,第一网络节点获得业务流的转发时延要求和该业务流的目的地址。该业务流为所述第一网络节点生成的业务流,或者为该第一网络节点从其他设备接收到的业务流。该第一网络节点为该转发路径的入口节点,如图3所示实施例中的入口节点。
S502,第一网络节点将所述业务流的转发时延要求和所述业务流的目的地址向控制器发送,触发所述控制器根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径和对应所述转发路径的第一标签栈。
S503,第一网络节点接收控制器发送的对应转发路径的第一标签栈,所述第一标签栈包含所述第一网络节点的邻接段标识和第二网络节点的邻接段标识,第二网络节点为该转发路径的中间节点。如图3所示实施例中的中间节点。
S504,第一网络节点将第一标签栈压入第一报文的报文头部,该第一标签栈的栈顶标签为第一网络节点的邻接段标识,第一网络节点根据第一网络节点的邻接段标识确定转发第一报文的周期时间cycle time。所述第一报文为所述业务流中的一个报文。
S505,第一网路节点将第一报文报文头部的第一标签栈中的第一网络节点的邻接段标识弹出生成第二报文。弹出该第一网络节点的邻接段标识的第一标签栈为第二标签栈。
S506,第一网络节点在cycle time编号对应的时间内将第二报文向所述第二网络节点发送。
S507,第二网络节点接收第二报文,确定第二报文包含的第二标签栈的栈顶标签为第二网络设备的邻接段标识,根据存储的邻接段标识和cycle time编号的对应关系确定所述邻接段标识对应的cycle time。
S508,所述第二网路节点将第二报文中的该第二网络节点的邻接段标识弹出生成第三报文,并在所述cycle time编号对应的时间内将所述第三报文向所述第二网络节点的下一跳网络节点发送。
在一个示例中,第一网络节点可以执行图3所示实施例中入口节点执行的步骤,详细步骤描述参见图3所示实施例,第二网络节点可以执行图3所示实施例中中间节点执行的步骤,详细步骤描述参见图3所示。
在一个示例中,当所述第一网络节点从控制器获得了第一标签栈后,即可根据第一标签栈生成用于转发业务流中第一报文之后的报文的标签栈。举例来说,当第一报文对应的第一标签栈为<SID 2,SID 4>,其中SID 2为第一网络节点的邻接段标识,SID 4为第二网络节点的段邻接标识,每个节点上一邻接段标识对应多个cycle time编号,当业务流中的报文按照cycle time的时长间隔来发送报文时,在该业务流中第一报文之后的第一个报文对应的标签栈则为<SID 3,SID 5>,在该业务流中第一报文之后的第二个报文对应的标签栈则为<SID 4,SID 6>,即按照SID加1的方式生成第一报文之后的报文的标签栈。当某个标签栈中网络节点的SID变为SID 10时,则对应的下一个标签栈的SID变为SID 1,即:按照10的间隔进行重新编号。
在一示例中,第一网络节点的出端口对应3个报文队列,其中2个报文队列为报文接收队列,1个报文队列为报文发送队列,参见图6,第一网络节点在cycle time 1时的报文队列处于报文队列状态1,在cycle time 2时的报文队列处于报文队列状态2,在cycletime3时的报文队列处于报文队列状态3。在报文队列状态1中,队列1为发送队列,队列2和队列3为报文接收队列。在报文队列状态2中,队列2为发送队列,队列1和队列3为报文接收队列。在报文队列状态3中,队列3为发送队列,队列1和队列2为报文接收队列。报文队列状态按照图6中的3个状态进行交替切换,例如,cycle time为1,4,7,10,……时为报文队列状态1,cycle time为2,5,8,11,……时为报文队列状态2,cycle time为3,6,9,12,……时为报文队列状态3。其中每个队列对应一个cycle time编号,例如:队列1cycle time为1,4,7,10,……;队列2对应cycle time为2,5,8,11,……;队列3对应cycle time为3,6,9,12,……。即每个队列对应的cycle time编号序列为公差为3的等差数列。对应当第一网络节点确定发送该第一报文的cycle time为cycle time 5时,并且确定当前第一网络节点的cycle time编号为4,则确定当前的报文队列为状态为报报文队列状态1,将弹出第一网络节点邻接段标识的第一报文加入到报文队列2中。当第一网络节点的cycle time变为cycletime 5时,此时报文队列的状态为状态2,则通过报文队列2将该报文向第二网络节点发送。
在一个示例中,第二网络节点的出端口也对应图6所示的3个报文队列,报文队列的状态变化情况如图6所示。当第二网络节点在第二网络节点的cycle time 6接收到第二报文时,并且根据第二报文的标签栈确定第二网络节点需要在cycle time 8将第二报文向外发送时,将第二报文加入到队列2中,此时报文队列的状态为状态3。当第二网络节点的cycle time编号变为8时,即报文队列的状态为2,此时队列2的状态为报文发送状态。第二网络节点通过报文队列2将第二报文下第二网络节点的下一跳节点发送。
通过在网络节点中设置多个报文队列,能够增加报文转发的可靠性,例如,当报文到达第二网络节点时,第二网络节点的报文接收队列已经满了,此时将出现队列溢出,该报文将不能正常转发。通过增加接收报文的队列个数,可以在报文提前到达网络节点时缓存起来,当该报文的方式cycle time到达时再发送,提高了报文发送的可靠性。
图7示出了上述实施例中所涉及的控制器的一种可能的结构示意图,该控制器700可以实现图3或图5所示的实施例中的控制器的功能。参阅图7,该控制器700包括:获取单元701,确定单元702,处理单元703和发送单元704。这些单元可以执行上述方法实施例中控制器的相应功能。获取单元701,用于支持控制器700执行图3中的过程S301和S302;确定单元702,用于支持控制器700执行图3中的过程S303和S306;发送单元704,用于支持控制器700执行图3中的过程S308。处理单元703用于支持控制器700执行图3中的过程S307和/或本文所描述的技术中控制器执行的其它过程。例如,获取单元701,用于执行上述方法实施例中节点执行的各种信息获取;确定单元502,用于执行上述方法实施例中控制器执行的确定动作;发送单元704,用于执行上述方法实施例中控制器执行的各种信息发送;处理单元703,用于执行上述方法实施例中控制器除了信息收发和确定动作之外的其他处理。举例来说,获取单元701,用于获取业务流的转发时延要求和所述业务流的目的地址;确定单元702,用于根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径,所述转发路径的时延满足所述业务流的转发时延要求,所述转发路径经过第一网络节点和第二网络节点,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;确定所述第一网络节点转发报文的第一周期时间cycle time编号和所述第二网络节点转发所述报文的第二cycle time编号,并确定对应所述第一cycle time编号的第一邻接段标识以及对应所述第二cycle time编号的第二邻接段标识,所述报文为所述业务流中的一个报文;处理单元703,用于生成转发所述报文的标签栈,所述标签栈包含所述第一邻接段标识和所述第二邻接段标识;发送单元704,用于将所述标签栈向所述第一网络节点发送,所述标签栈用于指导所述第一网络节点在所述第一cycle time编号对应的时间内将所述报文沿所述转发路径转发所述报文。具体执行过程请参考上述图3或图5所示实施例中相应步骤的详细描述,这里不再一一赘述。
图8示出了上述实施例中所涉及的控制器的一种可能的结构示意图,该控制器800包括:处理器802、收发器803、存储器801以及总线804。其中,处理器802、收发器803以及存储器801通过总线804相互连接;总线804可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该控制器800可以实现图3或图5所示的实施例中的控制器的功能。处理器802和收发器803可以执行上述方法示例中控制器的相应功能。收发器803用于支持控制器800执行图3中的过程S301和S302。处理器802用于支持控制器800执行图3中的过程S307和/或本文所描述的技术中控制器执行的其它过程。存储器801,用于存储控制器800的程序代码和数据。具体执行过程请参考上述图3或图5所示实施例中相应步骤的详细描述,这里不再一一赘述。
图9示出了上述实施例中所涉及的第一网络节点的一种可能的结构示意图,该第一网络节点可以实现图3所示实例中入口节点或图5所示的实施例中的第一网络节点的功能。参阅图9,该第一网络节点900包括:获取单元901,处理单元902和发送单元903。这些单元可以执行上述方法示例中第一网络节点的相应功能。获取单元901,用于支持第一网络节点900执行图5中的过程S501;发送单元903,用于支持第一网络节点900执行图5中的过程S502和S506;处理单元903用于支持第一网络节点900执行图5中的过程S504、S505,和/或本文所描述的技术中第一网络节点执行的其它过程。例如,获取单元901,用于执行上述方法实施例中第一网络节点执行的各种信息的获取;发送单元903,用于执行上述方法实施例中第一网络节点执行的各种信息发送;处理单元902,用于执行上述方法实施例中第一网络节点除了信息获取、收发和确定动作之外的其他处理。举例来说,获取单元901,用于获得报文,并根据所述报文获得第一标签栈,所述第一标签栈为对应转发所述报文的转发路径的标签栈,所述第一标签栈包含所述第一网络节点的邻接段标识和第二网络节点的邻接段标识,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;处理单元902,用于将所述第一标签栈压入所述报文,所述第一标签栈的栈顶标签为所述第一网络节点的邻接段标识;根据所述第一网络节点的邻接段标识确定转发所述报文的cycle time编号;将所述第一标签栈中的所述第一网络节点的邻接段标识弹出得到第二标签栈;发送单元903,用于在所述cycle time编号对应的时间内将包含所述第二标签栈的所述报文向所述第二网络节点发送。具体执行过程请参考上述图3或图5所示实施例中相应步骤的详细描述,这里不再一一赘述。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本发明实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,接收单元和发送单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
参阅图10所示,该第一网络节点1000包括:处理器1002、收发器1003、存储器1001以及总线1004。其中,收发器1003、处理器1002以及存储器1001通过总线1004相互连接;总线1004可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该第一网络节点1000可以实现图3或图5所示的实施例中的第一网络节点或入口节点的功能。处理器1102和收发器1103可以执行上述方法示例中第一网络节点或入口节点的相应功能。具体执行过程请参考上述图3或图4所示实施例中相应步骤的详细描述,这里不再一一赘述。
图11示出了上述实施例中所涉及的第二网络节点的一种可能的结构示意图,该第二网络节点可以实现图3所示实例中入口节点或图5所示的实施例中的第二网络节点的功能。参阅图11,该第二网络节点1100包括:接收单元1101,获取单元1102,处理单元1103和发送单元1104。这些单元可以执行上述方法示例中第二网络节点或中间节点的相应功能。接收单元1101,用于支持第二网络节点1100执行图5中的过程S506;获取单元1102,用于支持第二网络节点1100执行图5中的过程S507;发送单元1104,用于支持第二网络节点1100执行图5中的过程S508;处理单元1103用于支持第二网络节点1100执行图5中的过程S508,和/或本文所描述的技术中第二网络节点执行的其它过程。例如,接收单元1101,用于执行上述方法实施例中第二网络节点执行的各种信息的接收;获取单元1102,用于执行上述方法实施例中第二网络节点执行的各种信息的获取;发送单元1104,用于执行上述方法实施例中第二网络节点执行的各种信息发送;处理单元1103,用于执行上述方法实施例中第二网络节点除了信息获取、收发和确定动作之外的其他处理。举例来说,接收单元1101,用于接收第一网络节点发送的第一报文,所述报文包含标签栈;获取单元1102,用于获得所述标签栈的栈顶标签;处理单元1103,用于确定所述标签栈的栈顶标签为所述第二网络设备的邻接段标识,根据存储的邻接段标识和cycle time的对应关系确定所述邻接段标识对应的cycletime;将所述第一报文中的所述标签栈中的所述第二网络节点的邻接段标识弹出生成第二报文;发送单元1104,用于在所述邻接段标识对应的cycle time内将所述第二报文向所述第一网络节点的下一跳网络节点发送。具体执行过程请参考上述图3或图5所示实施例中相应步骤的详细描述,这里不再一一赘述。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本发明实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,接收单元和发送单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
参阅图12所示,该第二网络节点1200包括:处理器1202、收发器1203、存储器1201以及总线1204。其中,收发器1203、处理器1202以及存储器1201通过总线1204相互连接;总线1204可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该第二网络节点1200可以实现图3或图5所示的实施例中的第二网络节点或中间节点的功能。处理器1202和收发器1203可以执行上述方法示例中第二网络节点或中间节点的相应功能。具体执行过程请参考上述图3或图5所示实施例中相应步骤的详细描述,这里不再一一赘述。
参阅图13所示,发明实施例提供了一种报文发送的***1300,该***1300用于实现前述方法实施例中的报文发送的方法。该***1300包括控制器1201、第一网络节点1202和第二网络节点1203。该控制器1201、第一网络节点1202和第二网络节点1203可以分别实现图3或图5所示的实施例中的控制器、第一网络节点和第二网络节点的功能。具体执行过程请参考上述图3或图5所示实施例中相应步骤的详细描述,这里不再一一赘述
本发明实施例还提供了一种存储介质,用于储存前述实施例中所用的软件指令,其包括用于执行前述实施例所示的方法的程序,当其在计算机或设备上执行时,使得所示计算机或设备执行前述方法实施例中的方法。
本发明实施例中提到的第一网络节点中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”和“第三”。
需说明的是,以上描述的任意装置实施例都仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的第一网络节点或控制器实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(readonly memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、硬盘、移动硬盘、光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (19)
1.一种报文发送的方法,其特征在于,包括:
控制器获取业务流的转发时延要求和所述业务流的目的地址,根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径,所述转发路径的时延满足所述业务流的转发时延要求,所述转发路径经过第一网络节点和第二网络节点,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;
所述控制器确定所述第一网络节点转发报文的第一周期时间cycle time编号和所述第二网络节点转发所述报文的第二cycle time编号,并确定对应所述第一cycle time编号的第一邻接段标识以及对应所述第二cycle time编号的第二邻接段标识,所述报文为所述业务流中的一个报文;
所述控制器生成标签栈,所述标签栈包含所述第一邻接段标识和所述第二邻接段标识;
所述控制器将所述标签栈向所述第一网络节点发送,所述标签栈用于指导所述第一网络节点在所述第一cycle time编号对应的时间内将所述报文沿所述转发路径转发。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述控制器获得所述第一网络节点和第二网络节点的节点时延,所述节点时延包括报文处理时延和报文发送时延;
所述控制器获得所述转发路径上的链路的链路时延;
所述转发路径的时延满足所述报文的转发时延要求包括:
所述第一网络节点的节点时延、第二网络节点的节点时延和所述转发路径上的链路的链路时延之和在所述报文转发时延要求的范围内。
3.根据权利要求1或2所述的方法,其特征在于,所述方法包括:
所述控制器获得所述第一网络节点的cycle time的时长以及所述第二网络节点的cycle time的时长;
所述控制器获得对应所述控制器当前时间的所述第一网络节点的第三cycle time编号及第二网络节点的第四cycle time编号;
所述控制器根据所述第一网络节点的cycle time的时长和所述第三cycle time编号确定所述第一cycle time编号,所述第一cycle time编号对应的开始时间在所述第一网络节点接收到所述标签栈之后;
所述控制器根据所述第一网络节点的cycle time的时长、所述第一网络节点到所述第二网络节点的链路时延、所述第二网络节点的报文处理时延、所述第三cycle time编号和所述第二网络节点的cycle time的时长确定所述第二cycle time编号。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述控制器接收所述第一网络节点发送的通告报文,所述通告报文中包含所述转发时延要求以及所述报文的目的地址。
5.一种报文发送的方法,其特征在于,包括:
第一网络节点获得报文;
所述第一网络节点根据所述报文获得第一标签栈,所述第一标签栈为对应转发所述报文的转发路径的标签栈,所述第一标签栈包含所述第一网络节点的邻接段标识和第二网络节点的邻接段标识,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;
所述第一网络节点将所述第一标签栈压入所述报文,所述第一标签栈的栈顶标签为所述第一网络节点的邻接段标识;
所述第一网络节点根据所述第一网络节点的邻接段标识确定转发所述报文的周期时间cycle time编号;
所述第一网路节点将所述第一标签栈中的所述第一网络节点的邻接段标识弹出得到第二标签栈;
所述第一网络节点在所述cycle time编号对应的时间内将包含所述第二标签栈的所述报文向所述第二网络节点发送。
6.根据权利要求5所述的方法,其特征在于,包括:
所述第一网络节点获得业务流的转发时延要求和所述业务流的目的地址;
所述第一网络节点向控制器发送所述转发时延要求和所述目的地址,触发所述控制器根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径和对应所述转发路径的标签栈,所述报文所述业务流中的一个报文;
所述第一网络节点接收所述控制器发送的对应所述转发路径的标签栈。
7.根据权利要求6所述的方法,其特征在于,所述第一网络节点将包含所述第二标签栈的所述报文在所述cycle time编号对应的时间内向所述第二网络节点发送包括:
所述第一网络节点将包含所述第二标签栈的所述报文加入到对应所述cycle time编号的报文队列中,当所述报文队列为发送队列时,利用所述第一网络节点的邻接段标识对应的出接口将所述包含所述第二标签栈的所述报文向所述第二网络节点发送。
8.一种报文发送的方法,其特征在于,包括:
第二网络节点接收第一网络节点发送的第一报文,所述报文包含有标签栈;
所述第二网络节点获得所述标签栈的栈顶标签;
确定所述标签栈的栈顶标签为所述第二网络设备的邻接段标识,根据存储的邻接段标识和周期时间cycle time编号的对应关系确定所述邻接段标识对应的cycle time编号;
所述第二网路节点将所述第一报文的所述标签栈中的所述第二网络节点的邻接段标识弹出生成第二报文,并在所述cycle time编号对应的时间内将所述第二报文向所述第二网络节点的下一跳网络节点发送。
9.根据权利要求8所述的方法,其特征在于,所述第一网络节点在所述cycle time编号对应的时间内将所述第二报文向所述第一网络节点的下一跳网络节点发送包括:
所述第二网络节点将所述第二报文加入到对应所述cycle time编号的报文队列中,当所述报文队列为发送队列时,利用所述第二网络节点的邻接段标识对应的出接口将所述第二报文向所述第一网络节点的下一跳网络节点发送。
10.一种控制器,其特征在于,包括:
获取单元,用于获取业务流的转发时延要求和所述业务流的目的地址;
确定单元,用于根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径,所述转发路径的时延满足所述业务流的转发时延要求,所述转发路径经过第一网络节点和第二网络节点,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;确定所述第一网络节点转发报文的第一周期时间cycle time编号和所述第二网络节点转发所述报文的第二cycle time编号,并确定对应所述第一cycletime编号的第一邻接段标识以及对应所述第二cycle time编号的第二邻接段标识,所述报文为所述业务流中的一个报文;
处理单元,用于生成转发所述报文的标签栈,所述标签栈包含所述第一邻接段标识和所述第二邻接段标识;
发送单元,用于将所述标签栈向所述第一网络节点发送,所述标签栈用于指导所述第一网络节点在所述第一cycle time编号对应的时间内将所述报文沿所述转发路径转发所述报文。
11.根据权利要求10所述的控制器,其特征在于,
所述获取单元,还用于获得所述第一网络节点和第二网络节点的节点时延,所述节点时延包括报文处理时延和报文发送时延,并获得所述转发路径上的链路的链路时延;相应的,所述转发路径的时延满足所述报文的转发时延要求包括:
所述第一网络节点的节点时延、第二网络节点的节点时延和所述转发路径上的链路的链路时延之和在所述报文转发时延要求的范围内。
12.根据权利要求10或11所述的控制器,其特征在于,
所述获取单元,还用于获得所述第一网络节点的cycle time的时长以及所述第二网络节点的cycle time的时长;获得对应所述控制器当前时间的所述第一网络节点的第三cycle time编号及所述第二网络节点的第四cycle time编号;
所述确定单元,根据所述第一网络节点的cycle time的时长和所述第三cycle time编号确定所述第一cycle time编号,所述第一cycle time编号对应的开始时间在所述第一网络节点接收到所述标签栈之后;根据所述第一网络节点的cycle time的时长、所述第一网络节点到所述第二网络节点的链路时延、所述第二网络节点的报文处理时延、所述第三cycle time编号和所述第二网络节点的cycle time的时长确定所述第二cycle time编号。
13.根据权利要求10或11所述的控制器,其特征在于,所述控制器还包括:
接收单元,用于接收所述第一网络节点发送的通告报文,所述通告报文中包含所述转发时延要求以及所述报文的目的地址。
14.一种第一网络节点,其特征在于,包括:
获取单元,用于获得报文,并根据所述报文获得第一标签栈,所述第一标签栈为对应转发所述报文的转发路径的标签栈,所述第一标签栈包含所述第一网络节点的邻接段标识和第二网络节点的邻接段标识,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;
处理单元,用于将所述第一标签栈压入所述报文,所述第一标签栈的栈顶标签为所述第一网络节点的邻接段标识;根据所述第一网络节点的邻接段标识确定转发所述报文的周期时间cycle time编号;将所述第一标签栈中的所述第一网络节点的邻接段标识弹出得到第二标签栈;
发送单元,用于在所述cycle time编号对应的时间内将包含所述第二标签栈的所述报文向所述第二网络节点发送。
15.根据权利要求14所述的第一网络节点,其特征在于,所述第一网络节点还包括发送单元和接收单元,其中,
所述获取单元,还用于获得业务流;
所述发送单元,用于将所述业务流的转发时延要求和所述业务流的目的地址向控制器发送,触发所述控制器根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径和对应所述转发路径的标签栈,所述报文为所述业务流中的一个报文;
所述接收单元,用于接收所述控制器发送的对应所述转发路径的标签栈。
16.根据权利要求15所述的第一网络节点,其特征在于,所述发送单元用于在所述cycle time编号对应的时间内将包含所述第二标签栈的所述报文向所述第二网络节点发送包括:
所述发送单元将所述报文加入到对应所述cycle time编号对应的报文队列中,当所述报文队列为发送队列时,利用所述第一网络节点的邻接段标识对应的出接口将所述报文向所述网络节点发送。
17.一种第二网络节点,其特征在于,包括:
接收单元,用于接收第一网络节点发送的第一报文,所述报文包含标签栈;
获取单元,用于获得所述标签栈的栈顶标签;
处理单元,用于确定所述标签栈的栈顶标签为所述第二网络设备的邻接段标识,根据存储的邻接段标识和cycle time编号的对应关系确定所述邻接段标识对应的cycle time编号;将所述第一报文中的所述标签栈中的所述第二网络节点的邻接段标识弹出生成第二报文;
发送单元,用于在所述cycle time编号对应的时间内将所述第二报文向所述第一网络节点的下一跳网络节点发送。
18.根据权利要求17所述的第二网络节点,其特征在于,所述发送单元用于在所述cycle time编号对应的时间内将所述第二报文向所述第一网络节点的下一跳网络节点发送包括:
所述发送单元将所述第二报文加入到对应所述cycle time编号的报文队列中,当所述报文队列为发送队列时,利用所述第二网络节点的邻接段标识对应的出接口将所述第二报文向所述第一网络节点的下一跳网络节点发送。
19.一种计算机可读介质,包括指令,当其在计算机上执行时,使得所述计算机执行如权利要求1至9任意一项所述的方法。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111196723.XA CN114070785A (zh) | 2018-03-29 | 2018-03-29 | 一种报文发送的方法、网络节点和*** |
CN201810273967.5A CN110324242B (zh) | 2018-03-29 | 2018-03-29 | 一种报文发送的方法、网络节点和*** |
CN202111206445.1A CN114095422A (zh) | 2018-03-29 | 2018-03-29 | 一种报文发送的方法、网络节点和*** |
PCT/CN2019/079787 WO2019184925A1 (zh) | 2018-03-29 | 2019-03-27 | 一种报文发送的方法、网络节点和*** |
EP19777921.8A EP3764609B1 (en) | 2018-03-29 | 2019-03-27 | Message sending method, network node and system |
EP23177655.0A EP4258611A3 (en) | 2018-03-29 | 2019-03-27 | Message sending method, network node and system |
US17/035,687 US11706149B2 (en) | 2018-03-29 | 2020-09-29 | Packet sending method, network node, and system |
US18/324,670 US20230388239A1 (en) | 2018-03-29 | 2023-05-26 | Packet sending method, network node, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810273967.5A CN110324242B (zh) | 2018-03-29 | 2018-03-29 | 一种报文发送的方法、网络节点和*** |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111206445.1A Division CN114095422A (zh) | 2018-03-29 | 2018-03-29 | 一种报文发送的方法、网络节点和*** |
CN202111196723.XA Division CN114070785A (zh) | 2018-03-29 | 2018-03-29 | 一种报文发送的方法、网络节点和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110324242A CN110324242A (zh) | 2019-10-11 |
CN110324242B true CN110324242B (zh) | 2021-10-15 |
Family
ID=68059328
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810273967.5A Active CN110324242B (zh) | 2018-03-29 | 2018-03-29 | 一种报文发送的方法、网络节点和*** |
CN202111206445.1A Pending CN114095422A (zh) | 2018-03-29 | 2018-03-29 | 一种报文发送的方法、网络节点和*** |
CN202111196723.XA Pending CN114070785A (zh) | 2018-03-29 | 2018-03-29 | 一种报文发送的方法、网络节点和*** |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111206445.1A Pending CN114095422A (zh) | 2018-03-29 | 2018-03-29 | 一种报文发送的方法、网络节点和*** |
CN202111196723.XA Pending CN114070785A (zh) | 2018-03-29 | 2018-03-29 | 一种报文发送的方法、网络节点和*** |
Country Status (4)
Country | Link |
---|---|
US (2) | US11706149B2 (zh) |
EP (2) | EP3764609B1 (zh) |
CN (3) | CN110324242B (zh) |
WO (1) | WO2019184925A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112311494B (zh) * | 2019-07-23 | 2023-12-08 | 华为技术有限公司 | 一种报文传输方法、装置及*** |
CN112751763A (zh) * | 2019-10-30 | 2021-05-04 | 北京华为数字技术有限公司 | 一种报文转发方法、设备、存储介质及*** |
CN112769738B (zh) * | 2019-11-05 | 2023-09-12 | 中兴通讯股份有限公司 | DetNet数据包处理方法及装置 |
CN113055293B (zh) * | 2019-12-27 | 2023-06-23 | 华为技术有限公司 | 软件定义广域网中的选路方法及装置、通信*** |
CN113382442B (zh) * | 2020-03-09 | 2023-01-13 | ***通信有限公司研究院 | 报文传输方法、装置、网络节点及存储介质 |
US11362959B2 (en) * | 2020-03-18 | 2022-06-14 | Futurewei Technologies, Inc. | Latency based forwarding of packets with destination policies |
CN111431800B (zh) * | 2020-03-20 | 2022-07-12 | 新华三技术有限公司合肥分公司 | 一种建立路径的方法、装置、设备及机器可读存储介质 |
CN113691446B (zh) * | 2020-05-19 | 2023-02-10 | 华为技术有限公司 | 一种报文发送的方法和装置 |
CN114338495A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 业务处理方法以及相关设备 |
WO2022146507A1 (en) * | 2020-12-30 | 2022-07-07 | Arris Enterprises Llc | System to dynamically detect and enhance classifiers for low latency traffic |
US20240098012A1 (en) * | 2021-01-29 | 2024-03-21 | Beijing Xiaomi Mobile Software Co., Ltd. | Data packet transmission methods, data packet transmission apparatuses, and storage media |
US20230370376A1 (en) * | 2021-01-29 | 2023-11-16 | Beijing Xiaomi Mobile Software Co., Ltd. | Data packet transmission methods and data packet transmission apparatus |
CN113271262A (zh) * | 2021-07-20 | 2021-08-17 | 浙江大学 | 交叉式确定性数据传输方法和装置 |
CN114338555B (zh) * | 2021-11-16 | 2024-02-06 | 北京邮电大学 | 一种用于实现广域确定性网络的全网周期标签规划的方法及装置 |
CN117792997A (zh) * | 2022-09-20 | 2024-03-29 | 中兴通讯股份有限公司 | 确定性业务报文的转发方法、边界路由器及控制器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3091762A1 (en) * | 2014-01-29 | 2016-11-09 | Huawei Technologies Co., Ltd. | Downlink data processing method, device and system |
CN106656794A (zh) * | 2015-10-30 | 2017-05-10 | 中兴通讯股份有限公司 | 一种报文传输方法及装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102123433B (zh) * | 2008-08-18 | 2014-05-07 | 工业和信息化部电信传输研究所 | 移动通信切换过程中切换时延的测试装置及方法 |
US9185043B2 (en) * | 2011-04-08 | 2015-11-10 | Saratoga Data Systems, Inc. | Telecommunications protocol with PID control of data transmission rate |
CN102752185B (zh) * | 2011-04-20 | 2016-09-14 | 中兴通讯股份有限公司 | 一种确定路由路径的方法及*** |
CN102394796A (zh) * | 2011-11-04 | 2012-03-28 | 华为技术有限公司 | 链路时延检测方法、源端、宿端及*** |
CN102647364B (zh) * | 2012-05-22 | 2015-04-01 | 上海乾视通信技术有限公司 | Mesh网络路由方法、设备及*** |
US9584387B1 (en) * | 2013-03-15 | 2017-02-28 | Google Inc. | Systems and methods of sending a packet in a packet-switched network through a pre-determined path to monitor network health |
US10063464B2 (en) * | 2013-07-26 | 2018-08-28 | Huawei Technologies Co., Ltd. | Protection switched source routing |
KR102166908B1 (ko) * | 2014-02-13 | 2020-10-19 | 삼성전자주식회사 | 고속 데이터 인터페이스 장치 및 상기 장치의 스큐 보정 방법 |
US20160006614A1 (en) * | 2014-07-03 | 2016-01-07 | Futurewei Technologies, Inc. | Source Routing Using Path Computation Elements |
KR102166361B1 (ko) * | 2014-07-21 | 2020-10-15 | 삼성전자주식회사 | 저전력 통신을 수행하기 위한 서버 및 그 동작 방법 및 저전력 통신을 수행하기 위한 스케쥴링 맵 생성 방법 |
CN104219144B (zh) * | 2014-09-09 | 2018-09-21 | 华为技术有限公司 | 确定业务流的转发路径的*** |
CN107005462B (zh) * | 2014-12-17 | 2020-03-20 | 华为技术有限公司 | 软件定义网络中数据转发的方法、设备和*** |
CN106936713B (zh) * | 2015-12-30 | 2020-02-21 | 华为技术有限公司 | 一种标签管理方法,数据流处理方法及设备 |
CN105791113B (zh) * | 2016-02-25 | 2019-11-29 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的多链路时延均衡方法和*** |
CN107222894A (zh) * | 2016-03-22 | 2017-09-29 | 中兴通讯股份有限公司 | 一种数据传输方法、装置和*** |
EP3435616B1 (en) * | 2016-04-25 | 2020-07-22 | Huawei Technologies Co., Ltd. | Multicast delay diagnosis method and apparatus |
CN107517160B (zh) * | 2016-06-15 | 2020-08-18 | 阿尔格布鲁控股有限公司 | 一种用于跨不同自治***进行数据路由的方法、装置及*** |
CN106888115B (zh) * | 2017-02-09 | 2019-08-02 | 中国科学院信息工程研究所 | 一种网络拓扑构建方法与*** |
CN111917640B (zh) * | 2019-05-09 | 2023-06-06 | 华为技术有限公司 | SRv6网络生成段列表、报文转发的方法、设备和*** |
CN115442286A (zh) * | 2019-06-05 | 2022-12-06 | 华为技术有限公司 | 用于sr路径入口保护的方法和网络节点 |
-
2018
- 2018-03-29 CN CN201810273967.5A patent/CN110324242B/zh active Active
- 2018-03-29 CN CN202111206445.1A patent/CN114095422A/zh active Pending
- 2018-03-29 CN CN202111196723.XA patent/CN114070785A/zh active Pending
-
2019
- 2019-03-27 WO PCT/CN2019/079787 patent/WO2019184925A1/zh unknown
- 2019-03-27 EP EP19777921.8A patent/EP3764609B1/en active Active
- 2019-03-27 EP EP23177655.0A patent/EP4258611A3/en active Pending
-
2020
- 2020-09-29 US US17/035,687 patent/US11706149B2/en active Active
-
2023
- 2023-05-26 US US18/324,670 patent/US20230388239A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3091762A1 (en) * | 2014-01-29 | 2016-11-09 | Huawei Technologies Co., Ltd. | Downlink data processing method, device and system |
CN106656794A (zh) * | 2015-10-30 | 2017-05-10 | 中兴通讯股份有限公司 | 一种报文传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3764609B1 (en) | 2023-08-23 |
EP3764609C0 (en) | 2023-08-23 |
CN110324242A (zh) | 2019-10-11 |
CN114095422A (zh) | 2022-02-25 |
US11706149B2 (en) | 2023-07-18 |
EP3764609A4 (en) | 2021-03-17 |
US20210014168A1 (en) | 2021-01-14 |
EP4258611A2 (en) | 2023-10-11 |
EP3764609A1 (en) | 2021-01-13 |
US20230388239A1 (en) | 2023-11-30 |
CN114070785A (zh) | 2022-02-18 |
WO2019184925A1 (zh) | 2019-10-03 |
EP4258611A3 (en) | 2023-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324242B (zh) | 一种报文发送的方法、网络节点和*** | |
CN110474853B (zh) | 一种报文发送的方法、网络节点和*** | |
CN113382442B (zh) | 报文传输方法、装置、网络节点及存储介质 | |
US9515940B2 (en) | Method for transmitting data in a packet-oriented communications network and correspondingly configured user terminal in said communications network | |
CN113366805A (zh) | 报文调度方法、调度器、网络设备和网络*** | |
US8537827B2 (en) | System and method for establishing a communication path using labels | |
US10374959B2 (en) | Method for transmitting data in a packet-oriented communications network and correspondingly configured user terminal in said communications network | |
CN106027599B (zh) | 一种数据传输通道建立方法、***和服务器 | |
JP4279281B2 (ja) | パケット通信品質制御装置およびパケット通信品質制御方法 | |
EP3595249A1 (en) | Service forwarding method and network device | |
KR20170101537A (ko) | 무선 채널을 공유하는 무선 네트워크에서의 동적 큐 관리 방법 및 통신 노드 | |
JP4376855B2 (ja) | パケット通信品質制御装置 | |
KR100630339B1 (ko) | 광 버스트 스위칭 네트워크 시스템에서의 버스트 생성파라미터 결정 방법 | |
US11924740B2 (en) | Signal transfer system, signal transfer device, route control device and signal transfer method | |
US12047291B2 (en) | Packet sending method, network node, and system | |
CN111600798B (zh) | 一种发送和获取断言报文的方法和设备 | |
JP6633502B2 (ja) | 通信装置 | |
CN114079640A (zh) | 一种数据处理方法、用户面功能及装置 | |
Lavén et al. | Latency aware anypath routing and channel scheduling for multi-radio wireless mesh networks | |
JP6588416B2 (ja) | 通信装置 | |
CN116647894A (zh) | 数据调度方法、装置、设备及存储介质 | |
CN115150313A (zh) | 发送报文、生成路由的方法、装置、存储介质及*** |
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 |