CN114531623B - 一种信息传输方法、装置及网络节点 - Google Patents
一种信息传输方法、装置及网络节点 Download PDFInfo
- Publication number
- CN114531623B CN114531623B CN202011197783.9A CN202011197783A CN114531623B CN 114531623 B CN114531623 B CN 114531623B CN 202011197783 A CN202011197783 A CN 202011197783A CN 114531623 B CN114531623 B CN 114531623B
- Authority
- CN
- China
- Prior art keywords
- network node
- node
- network
- nodes
- message
- 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
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
-
- 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
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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/32—Flooding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种信息传输方法、装置及网络节点,用于解决资源浪费的问题。具体的,通过将路由协议的控制面拓扑发现与数据面的承载TE链路状态信息的TE LSA的扩散解耦,在扩散数据面的TE链路状态信息时,按照规划的最短路径树以点对点的方式向业务首节点扩散TE链路状态信息,业务首节点可以是预先确定的需要获知其它网络节点的TE链路状态信息的网络节点。从而减少采用洪泛扩散方式导致的资源浪费。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种信息传输方法、装置及网络节点。
背景技术
在光传送网中,每个节点都需要维护全网络的拓扑数据,比如包括每个节点以及每个节点之间的连接链路、每条链路的波形或者通道数据等等。当某个节点发生状态变化时,希望将本设备的变化后的数据发送给目标节点时,一般采用洪泛的方式将数据发送给目标节点,具体的,首先会将数据传送给每个邻居节点,然后每个邻居节点将数据再传送给各自的邻居节点(发送数据的节点除外),如此接力重复,直到数据逐跳传送至目标节点。而采用洪泛的方式,某个节点针对同一数据可能接收到来自多个邻居接点发来的重复数据,从而导致资源浪费。
发明内容
本申请实施例提供一种信息传输方法、装置及网络节点,用以解决资源浪费的问题。
第一方面,本申请实施例提供一种信息传输方法,包括:第一网络节点确定N个目标网络节点,目标网络节点为业务首节点,N为正整数;第一网络节点根据N个目标网络节点,以自身为根节点建立最短路径树;第一网络节点根据最短路径树向所述N个目标网络节点发送第一流量工程TE链路状态信息,第一TE链路状态信息用于指示第一网络节点的链路状态。
本申请实施例中,在网络中通知TE链路状态信息时,不再采用洪泛的方式,而是按照需要通知的目的网络节点来建立最短路径树,从而通过最短路径树来一跳一跳的向目标网络节点发送TE链路状态信息,进而,待传输的TE链路状态信息并不会在网络中重复传输,减少资源浪费。
在一种可能的设计中,所述最短路径树包括M个叶子节点,M个叶子节点为N个目标网络节点中的M个目标网络节点,M为小于或者等于N的正整数。
在一种可能的设计中,上述方法还可以包括:第一网络节点建立最短路径树之前,接收N个目标网络节点中第一目标网络节点洪泛的指示信息,所述第一目标网络节点为N个所述目标网络节点中的任一个,所述第一指示信息用于指示所述第一目标网络节点为业务首节点。
在一种可能的设计中,上述方法还可以包括:第一网络节点将N个目标网络节点保存到首节点集合中;第一网络节点根据N个目标网络节点,以自身为根节点建立最短路径树,包括:第一网络节点根据首节点集合建立最短路径树。为了便于区分,可以将用于指示目标网络节点为业务首节点的指示信息称为第一指示信息。通过上述设计,采用洪泛的方式通知业务首节点指示,使得用户能够获知到网络中的各个业务首节点。
在一种可能的设计中,所述第一网络节点确定所述第一网络节点到所述N个目标网络节点的路由可达时,再进一步将所述N个目标网络节点保存到首节点集合中。通过该设计,能够防止根据首节点集合建立的最短路径树进行TE链路状态信息转发时,由于某个目标网络节点的路由不可达,导致向该目标网络节点发送TE链路状态信息产生资源浪费。
在一种可能的设计中,所述第一网络节点根据所述最短路径树向所述N个目标网络节点发送所述第一TE链路状态信息之前,还包括:所述第一网络节点根据所述第一TE链路状态信息生成N个TE报文,所述N个TE报文携带第一TE链路状态信息。
通过上述设计,第一网络节点将以第二网络节点为根的子树的网络节点标识携带在TE报文中,从而使得第二网络节点能够确定发送该第一TE链路状态信息的目的网络节点都包括哪些,实现简单。
在一种可能的设计中,所述第一网络节点根据所述第一TE链路状态信息生成N个TE报文之后,所述方法还包括:第一网络节点将N个TE报文加入第一队列;第一网络节点确定N个TE入队第一队列的时长达到预设时长时,将N个TE报文加入第二队列;第一网络节点从第二队列中调度N个TE报文时,将N个TE报文中到达目的网络节点需要经过第二网络节点的TE报文合并为第一TE报文。所述第二网络节点为所述最短路径树中所述第一网络节点的下一跳网络节点中的任一个。通过上述设计,将需要经过同一网络节点转发的多个TE报文进行合并,该多个TE报文包括的TE链路状态信息可以相同,从而可减少资源浪费。在本申请实施例中第一队列也可以称为传输队列。第二队列也可以称为分批队列。
在一种可能的设计中,从第二队列中调度N个TE报文,可以通过如下方式来实现:第一网络节点在当前调度周期内从第二队列中调度预设数量的报文,预设数量的报文中包括N个TE报文。上述设计中,第一网络节点周期性调度预设数量的报文,也就是周期性的对预设数量的报文合并来减少资源浪费。
在一种可能的设计中,还包括:第一网络节点将N个TE报文中到达目的网络节点需要经过第二网络节点的TE报文合并为第一TE报文之前,将N个TE报文加入第三队列,第三队列包括待重传的TE报文。上述设计中,还设计有用于重传的队列,以便于周期性的重传接收侧未收到的TE报文。在本申请实施例中,第三队列也可以称为重传队列。
在一种可能的设计中,第一网络节点在将N个TE报文加入第一队列之前,还包括:第一网络节点确定N个TE报文所属的TE链路,获取链路记录包括的上一个属于TE链路的TE报文加入第一队列的第一时刻;确定接收N个TE报文的时刻与第一时刻的时间差小于时间差阈值时,将TE链路的报文传输次数值进行累加,并确定经过累加后的传输次数阈值小于次数阈值。通过该上述设计,在确定TE链路的报文传输次数值小于次数阈值的情况下,才将TE报文调度发送。
在一种可能的设计中,还包括:在确定接收第一TE报文的时刻与第一时刻的时间差大于或者等于时间差阈值时,将TE链路的报文传输次数值清零。
在一种可能的设计中,还包括:确定经过累加后的传输次数阈值大于或者等于次数阈值时,丢弃N个TE报文。通过该上述设计,在确定TE链路的报文传输次数值小于次数阈值的情况下,才将TE报文调度发送,在确定TE链路的报文传输次数值小于次数阈值的情况下,表明该TE链路可能发生故障导致该TE链路频繁变化,从而清除故障的TE链路的报文,降低资源的浪费。
在一种可能的设计中,还包括:确定经过累加后的传输次数阈值大于或者等于次数阈值时,将TE链路的发送状态由正常状态更新为禁止状态,禁止状态用于指示丢弃属于TE链路的TE报文。
在一种可能的设计中,将N个TE报文加入第一队列之前,还包括:第一网络节点确定第一队列不包括第二TE报文,所述第二TE报文与N个TE报文的消息类型相同且与N个TE报文所属的TE链路相同。第一网络节点在确定第一队列包括第二TE报文时,针对N个TE报文和第二TE报文执行去重操作。上述设计中,在TE报文产生并入队之前,先进行去重操作,减少报文重复传输导致的资源浪费。
在一种可能的设计中,方法还包括:第一网络节点接收来自第二网络节点的确认消息,确认消息中包括第二网络节点在设定时长内接收到的来自第一网络节点K个的TE报文的确认接收指示。所述K个TE报文包括所述第一TE报文。
在一种可能的设计中,还包括:第一网络节点接收第三TE报文,第三TE报文携带第三网络节点的TE链路状态信息和第二子树所包括的网络节点的标识,第二子树的根节点为第一网络节点,第二子树包括至少一个业务首节点,其中,在第三网络节点的TE链路状态信息由第三网络节点到达至少一个业务首节点的最短路径中第一网络节点作为中间转发节点;第一网络节点根据第三TE报文中携带的网络节点标识向第四网络节点发送第四TE报文,第四TE报文包括第三网络节点的TE链路状态信息,以及第三子树包括的网络节点的标识,第三子树为第二子树的一个子树,第三子树的根节点为第四网络节点。上述设计中,在接收到其它网络节点发来的需要转发的TE报文时,基于第三TE报文中携带的网络节点标识来向下一跳来转发,也即沿着以第三网络节点为根节点的最短路径树的路径一跳一跳转发,减少TE报文的重复传输,减少资源的浪费。
在一种可能的设计中,所述方法还包括:所述第一网络节点接收第二指示信息,所述第二指示信息用于指示所述N个目标网络节点中的其中一个网络节点(比如第五网络节点)由业务首节点变更为非业务首节点,所述第一网络节点将该目标网络节点从所述首节点集合中删除,并根据删除所述第五网络节点后的首节点集合更新所述最短路径树。
在一种可能的设计中,第一网络节点建立最短路径树之前,接收第三指示信息,第三指示信息用于指示第六网络节点为非业务首节点;第一网络节点将第六网络节点保存到非首节点集合中;第一网络节点建立以第一网络节点为根节点的最短路径树,包括:第一网络节点根据非首节点集合建立最短路径树。具体的,第一网络节点可以接收非业务首节点洪泛的第三指示信息,第三指示信息用于指示非业务首节点,从而第一网络节点将这些作为非业务首节点的网络节点加入到非首节点集合,从而能够确定网络中除非首节点集合中包括的网络节点以外的网络节点均为业务首节点,进而建立最短路径树。
在一种可能的设计中,还包括:第一网络节点发生复位(比如恢复出厂设置)后,向第七网络节点发送请求消息,请求消息用于请求网络中其它网络节点的TE链路状态信息;第七网络节点为网络中第一网络节点的任一邻居节点;第一网络节点接收第七网络节点发送的流量工程数据库TEDB中的TE链路状态信息。通过上述设计,网络节点在发生重启后,向邻居节点获得TEDB,减少向全网的各个TE源节点请求TE链路状态信息导致的资源浪费。
在一种可能的设计中,还包括:第一网络节点在设定时长内未接收到第七网络节点发送的流量工程数据库TEDB包括的网络中的网络节点的TE链路状态信息时,向第八网络节点发送请求消息,第八网络节点为网络中第一网络节点的邻居节点中除第七网络节点以外的一个网络节点。
在一种可能的设计中,所述方法还包括:所述第一网络节点在以自身为根节点建立最短路径树后,根据最短路径树生成所述第一网络节点对应的路由分发表;所述路由分发表用于指示所述最短路径树所包含的所有网络节点的位置关系。
第二方面,基于与第一方面的方法实施例同样的发明构思,本申请实施例提供了一种信息传输装置,所述装置应用于第一方面所述的第一网络节点,即该装置可以是第一网络节点,也可以是能够应用于第一网络节点的芯片。该装置具有实现上述第一方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,本申请实施例提供一种信息传输装置,包括:处理器和存储器;该存储器用于存储指令,当该装置运行时,该处理器执行该存储器存储的该指令,以使该装置执行上述第一方面或第一方面的任一实现方法中的信息传输方法。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。装置还可以包括总线。其中,处理器通过总线耦接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。当需要运行该装置时,通过固化在只读存储器中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导装置进入正常运行状态。在装置进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现设计中的方法。
第四方面,本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有程序或指令,当其在计算机上运行时,使得上述各方面的任意的信息传输方法被执行。
第五方面,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面中的任意的信息传输方法。
另外,第二方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
本申请实施例中,通过将路由协议的控制面拓扑发现与数据面的TE链路状态信息的扩散解耦,在扩散数据面的TE链路状态信息时,按照规划的最短路径树以点对点的方式向业务首节点扩散TE链路状态信息,业务首节点可以是预先确定的需要获知其它网络节点的TE链路状态信息的网络节点。从而减少采用洪泛扩散方式导致的资源浪费。
附图说明
图1为本申请实施例中一种可能的网络系统架构示意图;
图2为本申请实施例中一种可能的信息传输方法流程示意图;
图3A为本申请实施例中另一种可能的网络系统架构示意图;
图3B为本申请实施例中又一种可能的网络系统架构示意图;
图4为本申请实施例中再一种可能的网络系统架构示意图;
图5为本申请实施例中路由分发表示意图;
图6为本申请实施例中一种网络系统中的故障网络节点示意图;
图7为本申请实施例中一种TE报文入队及调度示意图;
图8为本申请实施例中一种可能的网络节点故障场景示意图;
图9为本申请实施例中一种可能的打包反馈方式示意图;
图10为本申请实施例中一种可能的网络系统中的故障复位示意图;
图11为本申请实施例提供的装置1100的结构示意图;
图12为本申请实施例提供的网络节点1200的结构示意图。
具体实施方式
本申请实施例可以应用于传送网,比如光传送网(optical transport network,OTN)。例如,光传送网可以采用分布式自动交换光网络(automatically switched opticalnetwork,ASON)技术。光传送网的架构可以采用网格(mesh)网络,mesh网络是指多跳(multi-hop)网络,mesh网络中的每个网络节点都可以发送和接收信号,每个网络节点都可以与一个或者多个网络节点进行直接通信。
在本申请实施例中,网络节点也可以称为网元或网络设备,网络设备可以是在网络中提供路由转发功能的设备,例如,可以是路由器、交换机、转发器或者标签交换路由器(label switching router,LSR)等,不作限定。在后续描述中,以网络节点为例进行说明。
在传送网络中,每个网络节点都需要维护全网的拓扑数据。拓扑数据包括每个网络节点的标识信息、网络节点之间的连接链路,每条链路采用的波长或者通道数量等。网络节点在向其它网络节点发送自身的拓扑数据时,可以采用路由协议(比如带流量工程的开放式最短路径优先(open shortest path first traffic engineering,OSPF-TE)协议)向全网的其它网络节点洪泛拓扑数据。具体的,当某个网络节点希望将本网络节点的本地链路数据发送给目标网络节点时,首先会将链路数据传送给每个邻居网络节点,然后每个邻居网络节点将链路数据再传送给各自的邻居网络节点(发送数据的网络节点除外),如此接力重复,直到链路数据逐跳传送至目标网络节点。
OSPF的链路信息交互可以通过链路状态通告(link state advertisement,LSA)进行传递。标准的LSA包括的类型有:路由器LSA、网络LSA、区域边界路由器汇总LSA、自治系统边界路由器LSA、外部路由信息LSA等,为了满足流量工程(traffic engineering,TE)的需要,OSPF扩展协议对标准的LSA进行了扩展,即采用类型为10的不透明LSA(Opaque LSA)发布相关的链路信息,称为流量工程链路状态通告(TE LSA)。TE LSA比如包括LSA更新消息和/或LSA刷新消息。TE LSA也可以称为TE链路状态信息。
在传送网中,到达每个网络节点都可能存在多条长短不一的路径,各网络节点在接收到通过其中一个路径洪泛的LSA后,即可完成LSA数据的同步,后续再通过其它路径洪泛过来的LSA就全部属于无效重复数据,但是其它路径上的网络节点需要执行“构造-发送-接收-丢弃LSA”的流程,占用了CPU系统资源,造成资源浪费。例如,LSA刷新消息是周期性(比如30分钟)的发送,从而导致稳态情况下每个网络节点也存在大量的无效报文需要处理。洪泛报文过多会导致在规模较大的网络下,每个网络节点的CPU运行压力较大。
作为一种举例,参见图1所示,以Site3网络节点为例,Site3的链路状态发生变化时,需要洪泛TE LSA给全网其它网络节点。Site3会向所有邻居网络节点进行TE LSA洪泛,每个网络节点从某个邻居接收到TE LSA后又会向所有其他邻居网络节点进行洪泛,进而达到全网的信息传输。site3的TE LSA,通过路径site3->site4->site6即可同步到site6,无需再通过其它路径重复发送。
路径1:site3->site4->site6。Site3通过路径1发送TE LSA先到达site6,Site6正常接收并处理LSA。
路径2:site3->site5->site6。Site3通过路径2发送TE LSA到达site6,Site6接收到该TE LSA,但由于已经接收到该TE LSA,因此,Site6通过路径2接收的TE LSA会被丢弃。
路径3:site3->site4->site6->site5。Site3通过路径3发送TE LSA到达site5,Site5接收到该TE LSA,但由于已经通过路径2接收到该TE LSA,因此,Site5通过路径3接收的TE LSA会被丢弃。
路径4:site3->site5->site7。Site3通过路径4发送TE LSA到达site7,Site7接收到该TE LSA,正常接收并处理。
路径5:site3->site4->site6->site7。Site3通过路径5发送TE LSA到达site7,Site7接收到该LSA,但由于已经通过路径4接收到该TE LSA,因此,Site7通过路径5接收的TE LSA会被丢弃。
申请人通过研究发现,所有网络节点在控制面建立控制路由后,即各个网络节点获知了其它网络节点的拓扑路由关系,但并不是所有的网络节点都需要获知全网其它网络节点的TE LSA。本申请实施例将需要获知其它网络节点的TE LSA的节点称为业务首节点。业务首节点可以为需要触发业务数据发送的节点。作为一种示例,业务首节点也可以称为业务站点,当然还可以有其它的名称,本申请实施例对此不作具体限定。
作为一种举例,当网络节点中部署有业务支路板时,该网络节点为业务首节点。作为另一种举例,业务首节点也可以是由管理员配置的。比如管理员配置网络中某些网络节点为非业务首节点,则网络中其余的网络节点默认均为业务首节点。再比如,管理员配置网络中的一些节点为业务首节点,网络中其余的节点默认为非业务首节点。
为了减少洪泛拓扑数据导致的资源浪费,本申请实施例通过将路由协议的控制面拓扑发现与数据面的承载TE链路状态信息的TE LSA的扩散解耦,在扩散数据面的TE链路状态信息时,按照规划的路径以点对点的方式向业务首节点扩散TE链路状态信息,从而减少采用洪泛扩散方式导致的资源浪费。具体的,网络中的各个网络节点均支持OSPF协议,各个网络节点在运行OSPF协议时,仅保留控制路由部分的功能,比如用于拓扑发现以及洪泛路由信息,即全网的网络节点均获知拓扑路由关系,从而各个网络节点能够获知网络结构以及网络中各个网络节点的属性,进而生成路由表。本申请实施例中将OSPF协议中用于洪泛数据面的TE链路状态信息的功能取消。在一种可能的实施方式中,网络中的各个业务首节点可以向网络中其它网络节点洪泛业务首节点指示信息,业务首节点指示信息用于指示自身为业务首节点,从而各个网络节点均获知全网的业务首节点。
本申请实施例中,网络中的各个网络节点在感知到网络结构和节点属性后,触发TE链路状态信息的同步。在触发TE链路状态信息的同步时,网络中各个网络节点仅向业务首节点发送TE链路状态信息。一个网络节点在向业务首节点发送TE链路状态信息时,可以通过确定的最短传输路径向业务首节点发送TE链路状态信息。
以需要向全网业务首节点发送TE链路状态信息的网络节点为第一网络节点为例,对本申请实施例提供的信息传输方法的流程进行详细说明,参见图2所示。
201,第一网络节点根据N个目标网络节点建立以第一网络节点为根节点的最短路径树。
一种示例中,最短路径树满足约束条件。其中,所述约束条件包括:所述最短路径树的叶子节点均为业务首节点;比如,最短路径树包括M个叶子节点,M个叶子节点为N个目标网络节点中的M个,M为小于或者等于N的正整数。所述业务首节点为网络中需要获知任一网络节点的TE链路状态信息的网络节点。所谓根节点就是树的最源端的节点,继续往下分为子节点,当不断细分直到不再有子节点时为叶子节点。需要说明的是,本申请中将最短路径树中除根节点和叶子节点外的其他节点统称为子节点。其中,子节点可以包括部分业务首节点。
第一网络节点可以按照最短路径优先(shortest path first,SPF)算法来建立最短路径树。作为一种举例,结合图3A来说,比如第一网络节点为NE9,NE9建立的最短路径树如图3A中的实线所示。例如,在图3A中,NE9为最短路径树的根节点,NE4、NE7、NE8为最短路径树的叶子节点,NE1~NE6及NE9为最短路径树的子节点。其中,作为叶子节点的NE4、NE7、NE8同时为目标网络节点(即业务首节点),此外,子节点NE1~NE6及NE9中也可以包含目标网络节点。作为另一种举例,结合图3B来说,比如第一网络节点为NE10,NE10建立的最短路径树如图3B中的实线所示。
202,所述第一网络节点根据所述最短路径树向N个目标网络节点发送第一TE链路状态信息,所述第一TE链路状态信息用于指示所述第一网络节点的TE链路状态。
一种示例中,N个目标网络节点中部分目标网络节点发送第一TE链路状态信息时,需要经过的所述第一网络节点的下一跳网络节点,以下一跳网络节点包括第二网络节点为例,即所述第二网络节点为所述最短路径树中所述第一网络节点的下一跳网络节点中的任一个。所述第一网络节点根据所述最短路径树向第二网路节点发送第一TE报文,所述第一报文携带第一TE链路状态信息。在本实施例中,所述第一网络节点根据所述最短路径树向第二网路节点发送第一TE报文,具体可以是,第一网络节点沿着最短路径树向第二网络节点发送第一TE报文。本实施例对第一TE报文的格式不做具体限定,例如可以是OTN帧。
作为一种举例,结合图3A来说,第一网络节点为NE9时,第二网络节点可以为NE1、或者是NE2,或者是NE3。作为一种举例,结合图3B来说,第一网络节点可以为NE10时,第二网络节点可以为NE9。
可选地,所述第一TE报文还携带所述最短路径树的第一子树包括的网络节点的标识,所述第一子树的根节点为所述第二网络节点。第一TE报文中携带第一子树包括的网络节点的标识的目的是:用于指示下一跳网络节点还需要将第一网络节点的TE链路状态信息通知到哪些网络节点,或者说用于下一跳网络节点创建传输路径或者创建子树获得传输路径。
作为一种举例,结合图3A来说,第一网络节点为NE9,第二网络节点为NE1时,可以将以NE1为根,以NE4、NE7为叶子节点的子树称为最短路径树的第一子树,该第一子树中包括NE1、NE4、NE5和NE7四个节点。作为另一种举例,第一网络节点为NE9,第二网络节点为NE2时,可以将以NE2为根的分支称为最短路径树的第一子树,该第一子树仅包含NE2一个节点。作为另一种举例,第一网络节点为NE9,第二网络节点为NE3时,可以将以NE3为根,以NE8为叶子节点的子树称为最短路径树的第一子树,该第一子树包含NE3、NE6、NE8三个节点。作为一种举例,结合图3B来说,第一网络节点为NE10,第二网络节点为NE9时,将以NE9为根,以NE4、NE7、NE8为叶子节点的子树称为最短路径树的第一子树,第一子树包括NE1-NE9九个节点,第一TE报文可以为TE报文1。
应理解,最短路径树中包括的子节点中可以包括业务首节点,也可以不包括业务首节点。当最短路径树的子节点中包括业务首节点时,最短路径树的叶子节点数小于目标网路节点数,当最短路径树的子节点中不包括业务首节点时,最短路径树的叶子节点数等于目标节点数,即目标网络节点(业务首节点)全部为最短路径树的叶子节点。
需要说明的是,在最短路径树中,所述第一网络节点的下一跳网络节点可以包括一个或者多个。在第一网络节点的下一跳网络节点包括一个时,即第二网络节点,仅需向第二网络节点发送第一TE链路信息。当第一网络节点的下一跳网络节点包括多个时,多个下一跳网络节点包括第二网络节点,还包括其它网络节点,第一网络节点向多个下一跳网络节点发送第一TE链路状态信息,即不仅仅向第二网络节点发送第一TE报文,还向其它网络节点发送携带第一TE链路状态信息的TE报文。第一网络节点向不同下一跳网络节点发送的TE报文可以不同,但均包括第一TE链路状态信息。
本申请实施例提供的方案中,一个网络节点产生TE链路状态信息后,根据该TE链路状态信息需要传递的首节点创建最短路径树,然后按照最短路径树规划的路径来传输该网络节点的TE链路状态信息。基于此,待传输的TE链路状态信息并不会在网络中重复传输,减少资源浪费。
在一种可能的实施方式中,网络中各个网络节点均保存有首节点集合。具体的,网络中各个网络节点在控制面洪泛控制路由信息,用于拓扑发现以及创建路由表。业务首节点可以向网络中的其它网络节点洪泛用于指示自身为业务首节点的指示信息。以第三网络节点为业务首节点为例。第三网络节点在网络内向其它网络节点洪泛第一指示信息,第一指示信息用于指示第三网络节点为业务首节点。结合图3A为例,比如第三网络节点为NE4,NE4向网络中的各个网络节点均洪泛自身为业务首节点。比如,以图3A为例,网络中包括NE1-NE9,则NE4在网络中洪泛自身为业务首节点的指示信息,使得NE1-NE3、NE5-NE9均能获知到NE4为业务首节点。作为一种示例,第一网络节点可以通过其中一个邻居网络节点接收到由第一目标网络节点洪泛的第一指示信息,以第一网络节点的邻居网络节点包括第二网络节点为例,第一网络节点可以通过第二网络节点接收由第一目标网络节点洪泛的第一指示信息,将该第一指示信息保存到首节点集合中。第一目标网络节点为N个业务首节点中的一个。以图3A为例,第一网络节点为NE9,第一目标网络节点为NE4时,NE4在洪泛第一指示信息时,NE9可能通过邻居节点,比如NE1接收到来自NE4的第一指示信息。按照同样的方式,其它作为业务首节点的网络节点可以向网络中的其它网络节点洪泛自身为业务首节点的指示信息。进而网络中的每个网络节点均能获得一份首节点集合。第一网络节点在创建最短路径树时,可以根据业务首节点集合以及路由拓扑信息建立以第一网络节点为根节点且满足约定条件的最短路径树。举例来说,首节点集合中可以包括各个作为业务首节点的网络节点的标识,比如网络节点的索引或者IP地址或名称等等。
可选地,第一网络节点在获知某个网络节点作为业务首节点后,在确定到达该网络节点的路由可达后,再进一步将该网络节点的业务首节点指示信息保存到首节点集合中。通过该方式,防止在路由不可达情况下,向该网络节点发送TE链路状态信息,导致的资源浪费。
作为一种可选的实现方式,网络中某个作为业务首节点的网络节点的配置信息发生变化,例如由业务首节点变更为非业务首节点,第一网络节点将该网络节点从首节点集合中删除,进一步地,根据删除操作执行后的首节点集合更新最短路径树。比如,上述第一目标网络节点由业务首节点变更为非业务首节点后,第一目标网络节点在网络中可以洪泛第二指示信息,第二指示信息用于指示该第一目标网络节点由业务首节点变更为非业务首节点。第一网络节点将第一目标网络节点从首节点集合中删除(比如,将第一目标网络节点的标识从首节点集合中删除),并根据删除所述第一目标网络节点的首节点集合更新所述最短路径树。减少向该第一目标网络节点发送TE链路状态信息导致的资源浪费。以图3A为例,第一网络节点为NE9,第一目标网络节点为NE4时,NE4由业务首节点变更为非业务首节点时,向网络中的其它网络节点洪泛第二指示信息,从而NE9能够接收到NE4洪泛的第二指示信息,NE 9将NE4从首节点集合中删除,并重新建立最短路径树。
在另一种可能的实施方式中,非业务首节点可以在网络中洪泛自身为非业务首节点的指示信息,从而网络中各个网络节点可以创建非首节点集合,可以认为网络中除非首节点集合包括的网络节点以外的其它网络节点均默认为业务首节点。作为一种举例,以第五网络节点为非业务首节点为例,第五网络节点在网络内向其它网络节点洪泛第三指示信息,第三指示信息用于指示第五网络节点为非业务首节点。作为一种示例,第一网络节点可以通过一个邻居网络节点接收到由第五网络节点洪泛的第三指示信息,以邻居网络节点包括第二网络节点为例,从而第一网络节点可以通过第二网络节点接收由第五网络节点洪泛的第三指示信息,将该第五网络节点保存到非首节点集合中。以图3A为例,网络系统中包括NE1-NE9,网络系统的首节点包括NE2、NE4、NE6、NE7和NE8。第五网络节点可以为NE1、NE3、NE5和NE9中的任一个。比如第一网络节点为NE5,NE5则在全网洪泛自身为非业务首节点,第一网络节点为NE9时,NE9则可以通过邻居节点,比如NE1接收NE5洪泛的第二指示信息。按照同样的方式,其它作为非业务首节点的网络节点向网络中的其它网络节点洪泛自身为非业务首节点的指示信息。进而网络中的每个网络节点均能获得一份非首节点集合。第一网络节点在创建最短路径树时,可以根据非业务首节点集合以及路由拓扑信息建立以第一网络节点为根节点且满足约定条件的最短路径树。
可选地,可以默认网络中的各个网络节点均为业务首节点,因为无需再洪泛业务首节点的指示信息。
上述图2以需要向全网业务首节点通告TE链路状态信息的网络节点作为执行主体进行说明。需要说明的是,需要向全网业务首节点通告TE链路状态信息的网络节点也可以作为中间转发节点。具体地,中间转发节点接收得到来自不同源网络节点的TE报文后,可以根据TE报文生成TE拓扑。作为一种示例,中间转发节点在接收到上一跳网络节点发送的TE报文时,可以回复确认接收指示,当然可以单独发确定接收指示,还可以多个TE的确认接收指示打包发送,后续针对确认接收指示的发送方式进行详细说明,此处不再重复描述。中间转发节点确定自身并非该TE报文的目的节点,可以将TE链路状态信息继续进行转发处理。上述图2中是以第一网络节点为需要向全网业务首节点通告TE链路状态信息的网络节点作为执行主体来说的,当然在一些场景中,第一网络节点也可以作为中间负责转发或者分发的网络节点。
作为一种示例,以第一网络节点分发来自第三网络节点的TE链路状态信息为例。在该示例中,第一网络节点作为一个负责转发的网络节点。第三网络节点为网络中除所述第一网络节点以外的任一个网络节点。所述第一网络节点接收携带第三网络节点的TE链路状态信息的第三TE报文,第三TE报文还携带第二子树所包括的网络节点的标识,第二子树的根节点为第一网络节点,该第二子树包括至少一个业务首节点。其中,在所述第三网络节点的TE链路状态信息由所述第三网络节点到达所述第二子树中的至少一个业务首节点的最短路径中,该第一网络节点作为中间转发节点。所述第一网络节点根据第三TE报文中携带的网络节点标识向第四网络节点发送第四TE报文,所述第四TE报文包括所述第三网络节点的TE链路状态信息,以及第三子树包括的网络节点的标识,所述第三子树为所述第二子树的一个子树,所述第三子树的根节点为所述第四网络节点。也就是在所述第三网络节点的TE链路状态信息由第三网络节点发往至少一个业务首节点的路径中,第四网络节点是第一网络节点的下一跳网络节点。结合图4来说,第三网络节点为NE11时,第一网络节点可以为NE9或者NE3或者NE6。第三网络节点为NE9时,第四网络节点可以是NE2或者NE3。
为了后续描述方便,本申请实施例中将上述图2所示的实施例采用的最短路径树通告TE链路状态信息的方式称为路由分发树(routing distribution tree mode,RDT)模式,当然还可以采用其它的名称,本申请实施例对此不作具体限定。这里再简单描述下RDT模式的处理方式:需要向业务首节点通告TE链路状态信息的第一网络节点以自身为根,将业务首节点集合(可以称为白名单)中的网络节点,基于最短路径树划分成多个子树,每个子树的根节点就是当前网元的下一跳网络节点;根节点沿着最短路径树向所有下一跳网络节点通告TE链路状态信息;根节点在向下一跳网络节点通告TE报文时,携带以该下一跳网络节点为根的子树的网络节点ID,下一跳网络节点将TE报文中携带的网络节点ID中自身的网络节点剥离后,作为待通告第一网络节点的TE链路状态信息的首节点集合,继续重复根节点的行为,直到TE链路状态信息到达第一网络节点的最短路径树的叶子节点。作为一种可选地实现方式,根节点在向下一跳网络节点通告TE报文时,可以仅携带以该下一跳网络节点为根的子树中业务首节点的ID。从而下一跳网络节点接收到TE链路报文后,确定携带自身的网络节点ID时,将自身的网络节点ID剥离后,继续作为根节点执行操作。
下面结合具体场景,对RDT模式进行更详细的描述。需要说明的是,如下所述的方法流程是比较全面的介绍,其中某些步骤或介绍为可能的实现方式,该方法流程中的任意两个或任意两个以上步骤,均可以组成一个本申请实施例需要保护的方案,即在一些步骤为可选的情况下,其余步骤仍然可以组成本申请实施例需要保护的方案,可选步骤还可以有其它可能的实现方式。
参见图3B,为一种可能网络系统架构示意图。网络系统中网络节点包括NE1-NE10。以NE10作为产生TE链路状态信息的源网络节点为例。网络系统的首节点包括NE2、NE4、NE6、NE7和NE8。NE10中的首节点集合包括NE2、NE4、NE6、NE7和NE8。N1-N10之间的拓扑路由关系如图3B中的虚线的连接。
源网络节点NE10根据拓扑路由关系以及首节点集合创建以NE10为根的最短路径树。如图3B所示,图3B中的实线连接表示该最短路径树。
源网络节点NE10向NE9发送TE报文1,TE报文1携带NE10的TE链路状态信息。TE报文1中还可以包括子树1中的网络节点的标识,比如网络节点的索引、ID或者地址等信息。所述子树1表示以NE9为根节点、以NE4、NE7、NE8为叶子节点的子树。NE9能够根据TE报文1中携带的网络节点的标识确定传输路径。以网络节点的标识为网络节点的ID为例,子树1中的网络节点包括NE1-NE9,TE报文1中可以包括NE1-NE9的ID。
NE9接收到该TE报文1后,根据子树1中的网络节点的ID获得子树2、子树3和子树4。其中,子树2、子树3和子树4是子树1的三个子树。具体的,根据ID集合中包括的网络节点的ID以及拓扑路由关系确定NE9的下一跳网络节点包括NE1、NE2和NE3。其中,子树2以NE1为根,子树3以NE2为根,子树4以NE3为根。NE9向3个下一跳网络节点分别发送NE10的TE链路状态信息。NE9向NE1发送TE报文2,TE报文2包括NE10的TE链路状态信息和子树2中的网络节点的ID。子树2中的网络节点包括NE1、NE4、NE5和NE7。NE9向NE2发送TE报文3,TE报文3包括NE10的TE链路状态信息和子树3中的网络节点的ID。子树3的网络节点的ID包括NE2。NE9向NE3发送TE报文4,TE报文4包括NE10的TE链路状态信息和子树4中的网络节点的ID。子树4的网络节点ID包括NE3、NE6和NE8。
NE1接收到TE报文2后,根据TE报文2包括的子树2中的网络节点ID确定NE1的下一跳网络节点包括NE4和NE5。则以NE1为根的子树2又进一步包括子树5和子树6。其中,子树5以NE4为根,子树6以NE5为根。NE1向2个下一跳网络节点分别发送NE10的TE链路状态信息。NE1向NE4发送TE报文5,TE报文5包括NE10的TE链路状态信息和子树5中的网络节点的ID。NE1向NE5发送TE报文6,TE报文6包括NE10的TE链路状态信息和子树6中的网络节点的ID。
NE4接收到TE报文5后,确定TE报文5包括的子树5中的网络节点ID仅包含NE4的ID,即不包括下一跳网络节点,最短路径树中的该分支已经终止。NE5接收到TE报文6后,确定TE报文5包括的子树5中的网络节点ID包括NE5的ID和NE7的ID,NE5根据拓扑路由关系确定下一跳网络节点为NE7。NE5向NE7发送TE报文7,TE报文7中包括NE10的TE链路状态信息和以NE7为根的子树7的网络节点ID(仅包括NE7的ID)。NE7接收到TE报文7后,确定TE报文7包括的子树7中的网络节点ID仅包含NE7的ID,即不包括下一跳网络节点,最短路径树中的该分支已经终止。
NE2接收到TE报文3后,确定TE报文3包括的子树3中的网络节点ID仅包含NE2的ID,即不包括下一跳网络节点,最短路径树中的该分支已经终止。
NE3接收到TE报文4后,根据TE报文4包括的子树4中的网络节点ID确定NE3的下一跳网络节点包括NE6,NE3向NE6发送TE报文8,TE报文8中包括NE10的TE链路状态信息和以NE6为根的子树8的网络节点ID(包括NE6的ID和NE8的ID)。NE6接收到TE报文8后,根据TE报文8包括的子树8中的网络节点ID确定NE6的下一跳网络节点包括NE8,NE6向NE8发送TE报文9,TE报文9中包括NE10的TE链路状态信息和以NE8为根的子树9的网络节点ID(包括NE8的ID)。NE8接收到TE报文9后,确定TE报文9包括的子树9中的网络节点ID仅包含NE8的ID,即不包括下一跳网络节点,最短路径树中的该分支已经终止。
从上可以看出,NE10的TE链路状态在网络中传输时,并没有重复发送的情况,从而能够较少资源浪费。
在一种可能的实施方式中,在RDT模式下,各个网络节点可以预先维护一份路由分发表。路由分发表用于描述本网络节点接收到的TE链路状态信息属于哪个源网络节点,源网络节点的TE链路状态信息到达本网络节点后,要通过该哪一跳中转发出,所有中转或接收TE链路状态信息的所有目的网络节点包括哪些。网络节点在创建最短路径树后,以路由分发表项的形式保存该最短路径树,即该路由分发表用于描述最短路径树。网络中控制路由收敛后,各个网络节点可以维护一份路由分发表。路由分发表中一个路由分发表项描述一个网络节点作为源网络节点的最短路径树。每个网络节点在接收到承载源网络节点的TE链路状态信息的TE报文后,直接根据自身的路由分发表来确定下一跳网络节点,可以提高传输速率。
作为一个举例,参见图4和图5所示。图4为一种网络拓扑结构示意图。图5用于描述图4中网络节点NE9维护的路由分发表。图4中粗实线表示源网络节点NE10对应的最短路径树、粗虚线表示源网络节点NE11对应的最短路径树。图4和图5仅作为一种示例,并不对网络拓扑结构、具体的源网络节点、最短路径树以及路由分发表的内容进行具体限定。从图4可以看出,针对NE9来说,源网络节点包括NE10和NE11。来自源网络节点NE10的TE链路状态信息,需要转发的下一跳网络节点包括NE1、NE2和NE3。需要中转或接收TE链路状态信息的所有目的网络节点包括NE1-NE8。图5以路由分发表为2维表为例。NE9维护的路由分发表中,第一层用于描述来自源网络节点NE10的路由分发关系,第二层用于描述来自源网络节点NE11的路由分发关系。每一层中,每一行表示该源网络节点的转发路径中本网络节点的下一跳网络设备,每一列表示以每个下一跳网络设备为根节点的子树中所包含的所有节点。比如,在第一层中,NE1、NE2、NE3一行表示以NE10为本节点的下一跳网络节点,NE1对应的列包括NE4、NE5和NE7,表示以NE1为根的子树包括的网络节点的集合。
在一种可能的应用场景中,网络中的某个网络节点可能会发生故障,因此,基于预先创建的路由分发表(也就是最短路径树)来进行TE报文的传输,由于传输路径中,某个网络节点发生了故障,如果依然采用预先创建的路由分发表,导致由发生故障的网络节点负责转发的TE报文,无法到达业务首节点。例如,参见图6所示,为NE9本地维护的NE10作为源网络节点的最短路径树。当NE1发生故障后,如果NE9依然采用本地维护的NE10作为源网络节点的最短路径树,可能导致存在如下问题:
1)若NE1被孤立(即无法与其它任一邻居网络节点进行通信),则来自源网络节点NE10的TE报文无法成功到达NE1和NE4。
2)若NE1没有孤立,仅是NE1与部分邻居网络节点的通信发生中断。因此可能NE1只是不再是到达目标网元NE4的最佳路由,需要通过其它网络节点将来自源网络节点NE10的TE报文通告给NE1和NE4。
针对问题(1),结合图6来看,如果通过NE2作为中转网络节点,虽仍不能发送给NE1,但至少能通告给NE4。针对问题(2),如果源网络节点与NE1的通信未中断,则发往NE4的TE报文的路由路径可以是:NE10->NE9->NE2->NE4。则发往NE2的TE报文的路由路径可以是:NE10->NE1。
基于此,一种可能的示例中,网络节点在确定网络中某个网络节点发生故障时,可以及时更新路由分发表,或者说更新最短路径树。另一种可能的示例中,网络节点在调度报文发送之前,针对该报文的路由分发表的表项清除,重新搜索该报文对应的到达目的网络节点的最短路径树。
在一种可能的实施方式中,第一网络节点产生第一TE链路状态信息后,根据网络中业务首节点生成目的网络节点为业务首节点的各个TE报文,比如,网络中的业务首节点包括N个,则第一网络节点根据产生的第一TE链路状态信息和业务首节点获得分别以N个业务首节点为发送目的的N个TE报文。N个TE报文均携带第一TE链路状态信息。以图3B为例,比如第一网络节点NE10,网络中的业务首节点包括NE2、NE4、NE6、NE7和NE8,则第一网络节点NE10会产生目的网络节点分别NE2、NE4、NE6、NE7和NE8的5个TE报文。该5个TE报文中携带的TE链路状态信息相同,仅是对应的目的网络节点不同。在需要相同的中间转发设备转发时,本申请实施例可以对多个TE报文进行合并,可以降低资源占用率。作为一种示例,本申请实施例中,可以通过两个队列来实现发往同一下一跳网络节点的报文合并转发。为了便于区分,将两个队列分别称为第一队列和第二队列。第一队列也可以称为传输队列,第二队列也可以称为分批队列,本申请实施例对两个队列的名称不作具体限定。
第一网络节点获得N个TE报文后,将该N个TE报文加入传输队列(即第一队列)。传输队列用于存储第一网络节点生成的或者从其它网络节点接收到的报文。参见图7所示,传输队列主要负责统一排队各类报文(比如消息类型不同,源网络节点首发报文、或者中转报文等),即归一化各类消息的入口。例如消息类型可以包括TE通告消息(notify)、TE刷新消息(Refresh)、TE请求消息(request),以及其它中转的各类消息等等。
作为一种可选地的实现方式,为了减少资源的浪费,获得TE报文,并在将TE报文加入传输队列之前,可以先执行去重处理。比如在批量业务重路由或单板异常(比如单板反复上下线、告警抖动等),发生单板异常情况的网络节点会频繁触发TE链路状态信息,批量业务重路由时,各个网络节点也需要频繁通告自身的TE链路状态信息,某些TE链路状态信息对于接收端来说可能已经失去失效了,但是依然会频繁接收到。若某条或者某几条TE链路状态出现以上异常情况,各个网络节点自身的传输队列中会反复灌入大量无效重复的TE链路状态信息。一方面会加重网络节点的运行负担,另一方面还会导致传输队列中的报文积压,正常链路的TE链路状态信息无法得到及时的处理。例如,参见图8所示。
为解决以上问题,第一种方式中,在获得的报文入队传输队列之前,先执行去重操作。具体的,在将网络节点产生的N个TE报文或者接收到的来自其他网络节点的报文,加入到第一队列之前,以N个TE报文为例,确定存在与N个TE报文中所通告的事件相同的报文,执行去重操作;或者说,确定与N个TE报文所属的TE链路相同并且消息类型相同的TE报文时,执行去重操作。
为了描述方便,将与N个TE报文所属的TE链路相同并且消息类型相同的报文称为第二TE报文。第一网络节点可以针对N个TE报文与第二TE报文进行去重操作。一种示例中,第二TE报文的入队时间早于N个TE报文的入队时间,第一网络节点可以用N个TE报文替换掉第二TE报文。另一种示例中,第一网络节点可以将N个TE报文加入传输队列,并将第二TE报文从传输队列中删除。
一种示例中,消息类型可以是TE通告消息,第一网络节点可以去除传输队列中属于同一TE链路且消息类型为TE通告消息的TE报文,并将当前最新的TE报文加入传输队列。例如,N个TE报文的消息类型为TE通告消息,第二TE报文的消息类型也为TE通告消息,并且N个TE报文与第二TE报文所属的TE链路相同,第一网络节点将第二TE报文从传输队列中删除,将N个TE报文加入传输队列。另一种示例中,再举例来说,消息类型可以是TE刷新消息,第一网络节点可以去除传输队列中属于同一TE链路且消息类型为TE刷新消息的TE报文,并将当前最新的TE报文加入传输队列。例如,N个TE报文的消息类型为TE刷新消息,第二TE报文的消息类型也为TE刷新消息,并且N个TE报文与第二TE报文所属的TE链路相同,第一网络节点将第二TE报文从传输队列中删除,将N个TE报文加入传输队列。
第二种方式中,可以增加传输队列的门禁控制。
一种可选地示例中,增加传输队列的门禁,过滤异常链路的TE链路状态信息禁止加入传输队列,为正常TE链路腾位置。
另一种可选地示例中,各个网络节点记录所有申请通过已加入传输队列的TE链路索引至链路索引中。链路索引中仅记录属于本网元自身的TE链路索引,链路索引的记录数量较少,即使遍历,也不会花费太长时间。链路索引中还用于记录属于每个TE链路的TE链路状态信息入队传输队列的时间。当某个网络节点有属于某个TE链路的报文尝试加入传输队列时,首先检查该TE链路的索引是否已经记录在链路记录中,如果没有,将该TE链路的索引记录在链路记录中。若是,比较获得该TE链路的报文的时刻(即当前时刻)与该TE链路对应的历史记档时刻的时间差。历史记档时刻也就是上一次接收到属于该TE链路的TE报文的时刻。若时间差<时间差阈值,以时间差阈值为1分钟(1min)为例,则累计该TE链路的报文传输次数值,并将当前接收到属于该TE链路的TE报文的时刻替换所述历史记档时刻;若时间差>=1min,则清除该TE链路的报文传输次数值,即清零;然后将本次接收到的该TE链路的报文加入传输队列。当再次获得属于该TE链路的报文时,继续执行比较获得该TE链路的报文的时刻与该TE链路对应的历史记档时刻的时间差,若时间差<时间差阈值(1min)且报文传输次数值大于或者等于次数阈值(比如30次),则门禁生效,禁止属于该TE链路的报文加入传输队列,丢弃再次接收到的属于该TE链路的报文,并更新历史记档时刻。也就是说该TE链路已尝试申请30次报文入队传输队列的请求,且每次都尝试都相比上一次在1min之内,说明该TE链路在频繁的变化,需要进行抑制。
进一步地,若该TE链路在随后的某个阶段故障消除,则新的属于该TE链路的报文入队传输队列的请求的时间差>1min,报文传输次数值清零,会允许属于该TE链路的报文加入传输队列,解除抑制状态。
再进一步地,若该TE链路在被抑制发送的同时,该TE链路的异常状态也消除了,那么该属于该TE链路最后一次TE状态链路信息可能被丢弃了。比如:业务反复在一条TE链路上来回重路由,若停止重路由的时候,该链路准备通告出去的TE链路状态信息可能由于该TE链路处于抑制状态,被丢弃了。那么网络中其他网络节点可能依然认为该网络节点的TE链路被占用,而无法使用。基于此,作为一种可选地实施方式,网络节点对门禁抑制的TE链路,进行周期性检测,具体检测该TE链路的状态变化频率是否回归正常,若正常主动发送一次属于该TE链路的TE链路状态信息向网络中的业务首节点。
以第一网络节点为例,以第一网络节点产生的N个TE报文加入传输队列为例,第一网络节点在将所述N个TE报文加入第一队列之前,第一网络节点确定N个TE报文所属的第一TE链路,获取链路记录中是否包括该第一TE链路的索引,如果不包括,则将第一TE链路的索引加入到链路记录中,并将该属于该第一TE链路的报文的入队传输队列的时刻记录在链路记录中。若不包括,链路记录中记载有上一个属于所述TE链路的TE报文加入所述传输队列的第一时刻。第一网络节点在确定接收所述N个TE报文的时刻与所述第一时刻的时间差小于时间差阈值时,将所述TE链路的报文传输次数值进行累加,并确定经过累加后的所述传输次数阈值小于次数阈值。作为一种可能的示例,在确定接收所述N个TE报文的时刻与所述第一时刻的时间差大于或者等于时间差阈值时,将所述TE链路的报文传输次数值清零。作为另一种可选能的示例,第一网络节点确定经过累加后的所述传输次数阈值大于或者等于次数阈值时,丢弃所述N个TE报文。作为又一种可能的示例,第一网络节点确定经过累加后的所述传输次数阈值大于或者等于次数阈值时,将所述TE链路的发送状态由正常状态更新为禁止状态,所述禁止状态用于指示丢弃属于所述TE链路的TE报文。
在一种可选地的实现方式中,第一网络节点可以周期性地将传输队列中的TE报文加入到分批队列,或者第一网络节点周期性将传输队列中第一预设数量的TE报文加入到分批队列。再或者,第一网络节点确定传输队列中达到预设时长(为了便于区分,此处可以称为第一预设时长)未接收到其它任何TE报文,则将传输队列中TE报文加入到分批队列。为了后续描述方便,TE报文从传输队列入队到分批队列的周期称为入队周期。例如,每间隔200ms将传输队列中的TE报文加入到分批队列中。可选地,第一网络节点可以周期性的从分批队列中调度报文按照报文的传输路径发送给下一跳网络节点。该调度向下一跳网络节点发送的周期可以称为第一调度周期。比如,第二调度周期可以等于入队周期。
在一种可选地的实现方式中,由于批量业务重路由或者单板异常(比如单板反复上下线、告警抖动等),该网络节点会频繁触发TE链路状态,因此传输队列中排队的报文会在某一时间段突增时,为了应对该情况的发生,本申请实施例可以对分配队列流控管理,控制传输队列中的TE报文加入分批队列的时延和/或数量。例如,每间隔第二预设时长将传输队列的第二预设数量的TE报文加入分批队列,则对加入分批队列的报文启动调度发送。比如第二预设时长可以是5s,设定数量可以是500个,则每批从传输队列调度500个报文加入分批队列,间隔5s后,再继续从传输队列调度500个报文加入分批队列。从传输队列向分批队列调度并发送的周期可以称为第二调度周期,例如5s为调度周期的时间长度。
一种示例中,传输队列中满足条件的TE报文加入到分批队列进行调度发送。其中条件可以包括报文的目的路由可达、满足报文优先级或者非异常链路的报文等中的一项或多项。例如,第一网络节点按照报文优先级的顺序将传输队列中的报文加入到分批队列中。再比如,优先将传输队列中非异常链路的报文加入到分批队列。又比如,报文的目的路由可达之前,不执行从传输队列将该目的路由不可达的报文加入分批队列。
进一步地,第一网络节点可以从分批队列中调度报文,并发送给下一跳网络节点。
在一种可能的实施方式中,第一网络节点可以对分批队列中的报文进行合并处理。比如,可以将负责中转的下一跳网络节点相同且携带相同TE链路状态信息的TE报文合并为一份报文,从而可以减少资源浪费。结合前面的举例,第一网络节点产生第一TE链路状态信息后,生成发送目的为N个业务首节点的N个TE报文。这N个TE报文携带的TE链路状态信息相同,根据第一网络节点的最短路径树,可以确定N个TE报文中的一些TE报文需要通过同一网络节点来转发。结合图3B来说,以第一网络节点为NE10,第二网络节点为NE9为例,网络中的业务首节点包括NE2、NE4、NE6、NE7和NE8,则第一网络节点NE10会产生目的网络节点分别为NE2、NE4、NE6、NE7和NE8的5个TE报文。该5个TE报文中携带的TE链路状态信息相同,仅是对应的目的网络节点不同。结合图3B来说,该5个TE报文均需要通过NE9来执行转发,则第一网络节点在从分批队列调度该5个TE报文向NE9发送时,可以将该5个TE报文合并为TE报文1发送给NE9。比如该TE报文1携带第一网络节点的TE链路状态信息,且该TE报文1的目的网络节点包括5个,分别为NE2、NE4、NE6、NE7和NE8。
NE9在接收到来自NE10的TE报文1后,根据目的网络节点会继续向NE9的下一跳网络节点转发。依然以图3B为例。根据最短路径树,确定NE9的下一跳网络节点包括NE1、NE2和NE3。应理解的是,网络中每个网络节点中均包括自身的传输队列以及分批队列。NE9接收到TE报文1后,将该TE报文1同样加入自身的传输队列,NE9将TE报文1加入自身传输队列的方式参见上述针对第一网络设备将报文入队传输队列的方式,此处不再赘述。NE9将传输队列的TE报文1加入自身的分批队列,NE9将TE报文1从传输队列加入自身的分批队列的方式参见上述针对第一网络设备将报文入队分批队列的方式,此处不再赘述。NE9确定下一跳网络节点包括NE1、NE2和NE3,可以对TE报文1进行拆分,拆分成三份报文。以发送给NE1的TE报文2为例,TE报文2包括NE10的TE链路状态信息。TE2报文2的目的网络节点包括NE4和NE5。以发送给NE2的TE报文3为例,TE报文3包括NE10的TE链路状态信息。TE2报文2的目的网络节点包括NE2。以发送给NE3的TE报文4为例,TE报文4包括NE10的TE链路状态信息。TE2报文4的目的网络节点包括NE6和NE8。
在一种可能的应用场景中,大型网络中网络节点较多,导致每个网络节点中存储的路由分发表的表项数量或者最短路径树的数量较多,因此在调度报文发送时,在路由分发表(或者最短路径树)查询报文源网络节点对应的最短路径树的效率较低,基于此,本申请实施例中,网络节点在从分批队列中调度报文发送时,可以将待调度发送的TE报文中发往同一目的网络节点的报文进行归并,可以针对该目的网络节点查询一次路由分发表,可以提高发送效率。应当理解的是,针对目的网络节点相同的TE报文,可能对应的源网络节点不同。即使源网络节点不同,并且不同的源网络节点对应的最短路径树也可能不同,但是不同的最短路径树中,基于最短路由原则,通过同一网络节点中转且到达同一目的网络节点的这段传输路径,也是相同的。基于此,可以仅查询一次路由分发表,可以针对其中一个源网络节点的表项(或者说一个源网络节点的最短路径树)进行查询。
在一种可能的实施方式中,第二网络节点在接收到来自第一网络节点的TE报文后,可以向第一网络节点回复确认接收指示。第一网络节点根据接收到的来自第二网络节点回复的确认接收指示来确定需要重传的报文。
可选地,每个网络节点向其它网络节点发送希望得到确认的报文,发出的报文中携带发送端的网络节点分配的信息ID(messageID)。信息ID可以是ULONG流水号。接收端的网络节点接收到该报文后,向发送端的网络节点回复确定接收指示时,可以携带该信息ID。发送端的网络节点可以从1开始为需要确认的报文分配信息ID,当发送端的网络节点执行重启操作后,可重新开始从1分配,每发送一个需要确认的报文,信息ID累加1。
作为一种可能的示例,TE通告消息或TE请求消息需要得到确认,即支持确认(Acknowledge,ACK)。接收端的网络节点接收到需要确认的报文,可以单独发送ACK,也可以批量打包发送ACK。作为一种举例,TE通告消息的数据量较大,为了减少报文传输量,降低传输资源的占用,可以针对TE通告消息进行打包批量确认。一种可能的实现方式中,接收端的网络节点每接收到一个需要确认的报文,将该报文的标识,比如序列号加入确认队列。接收端的网络节点可以周期性生成确认消息,确认消息中包括在设定时长内(或者说确认周期内)接收到的报文的确定接收指示。
参见图9所示,以发送端的网络节点为第一网络节点,接收端的网络节点为第二网络节点为例。在确认周期内,以500ms为例,第一网络节点向第二网络节点发送了5个报文,分别为报文1-报文5,该5个报文均需要得到确认。第二网络节点在500ms接收到该5个报文后,向第一网络节点发送确认消息,确认消息中包括该5个报文的确认接收指示,例如确认接收指示可以是报文的序列号。第一网络节点接收到确认消息中,从确认消息中解析到5个报文的确认接收指示,则该5个报文无需执行重传操作。
在一种可能的实施方式中,第一网络节点在从分批队列调度报文沿传输路径向下一跳网络节点发送报文后,可以将该报文加入到第三队列,第三队列也可以称为重传队列,后续以称为重传队列。重传队列中包括报文为待重传的报文。参见图7所示,所述重传队列中包括一个或者多个重传报文集合,不同的重传报文集合对应不同的第一调度周期或者第二调度周期。比如间隔500ms调度第i次从分批队列调度报文发送,将该第i次调度的报文组成第一重传报文集合加入到重传队列,第i+1次间隔500ms继续调度一次从分批队列调度报文发送,将该第i+1次调度的报文组成第二重传报文集合加入重传队列,以此类推。第一重传报文集合加入到重传队列时启动第一重传定时器,第二重传报文集合加入重传队列时启动第二重传定时器。当在第一重传定时器超时之前,接收到某属于第一重传报文集合的报文的确认接收指示,可以将该报文从重传队列的第一重传报文集合中删除。当在第二重传定时器超时之前,接收到某属于第二重传报文集合的报文的确认接收指示,可以将该报文从重传队列的第二重传报文集合中删除。当第一重传定时器超时时,第一网络节点将第一重传报文集合中包括的报文调度发送,并重启第一重传定时器。作为一种可能的示例,重传队列中报文重传可采用先密后疏的发送方式。比如前N次的重传的时间间隔为第一间隔时长,随后每增加一次重传,重传的时间间隔增加预设间隔,直到到设定重传次数,停止重传,删除第一重传报文集合。比如,以重传第一重传报文集合中的报文为例,第1次-第10次重传的时间间隔为5s,也可以理解为前10次的第一重传定时器定时时长为5s。第11次重传则增加5s,即第11次重传时,第一重传定时器定时时长为5s+5s=10s,第12次重传,第一重传定时器定时时长为10s+5s=15s。
在一种可能的场景中,当某个网络节点发生复位(比如由于出现故障而执行恢复出厂设置)后,全网所有网络节点都需要将自身TE链路状态信息通告给刚启动完毕的网络节点(或者称为复位网络节点),从源网络节点(需要向复位网络节点提供自身TE链路状态信息的网络节点)一跳跳将TE链路状态信息转发给刚启动完毕的网络节点,实际上从源网络节点到刚启动完毕的网络节点的上一跳邻居之间的所有网元都在执行一个浪费的TE链路状态中转处理,也增加了一些信息同步的时延,参见图10所示。作为一种可能的实现方式,复位网络节点可以就近获取全网的TE链路状态信息,不需要从源网络节点远程发起逐跳同步。具体的,复位网络节点通过RouterUeLsa感知到全网其他网络节点,记录同域的网络节点,复位网络节点给所有已知网络节点配置编号表。复位网络节点拓扑稳定后,复位网络节点向邻居网络节点的任一网络节点发送请求消息(repuest,req),用于请求全网的TE链路状态信息。示例地,邻居网络节点可以是full状态的网络节点。邻居网络节点收到req,向复位网络节点发送流量工程数据库(traffic engineering database,TEDB)中的TE链路状态信息。如果邻居网络节点不包括TEDB,则通知复位网络节点,比如向复位网络节点发送空回复,则复位网络节点确定该邻居网络节点不包括TEDB。可以再次向其它网络节点请求TEDB,即全网的TE链路状态信息。
作为一种可选地实施方式,复位网络节点向邻居网络节点的任一网络节点发送请求消息后,若第三设定时长内未接收到邻居网络节点发送的TEDB时,可以向其它网络节点发送请求消息。
作为一种可选地实施方式,复位网络节点接收到邻居网络节点发送的TEDB后,可以向TEDB中包括TE链路状态信息所述的源网络节点发送对账请求,对账请求可以包括该源网络节点所包括的TE链路的索引。由于TEDB中包括属于该源网络节点的多个TE链路的TE链路状态信息,因此将这多个TE链路的索引携带在对账请求中,源网络节点接收到对账请求确定对账请求携带的TE链路的索引有缺失时,比如,对账请求中携带属于源网络节点的2个TE链路的索引,而实际该源网络节点包括3个TE链路,源网络节点向复位网络节点发送缺少的TE链路的状态信息。源网络节点接收到对账请求确定对账请求携带的TE链路的索引无缺失时,则向复位网络节点发送无缺失指示。
在一种可能的场景中,网络中为了维护邻居间正常通信,还可以通过保活机制来进行TE链路状态的刷新。源网络节点在发出TE报文后,会启动一个网元级的周期定时器,用于该源网络节点与其它目的网络节点对账本地TE链路的完整性。网络中的各个网络节点各自独立发起本地TE链路的刷新,即向其它目的网络节点发送TE刷新消息。作为一种可能的方式,为了降低所有网络节点在同一时间窗内集中刷新,导致各个网络节点集中收到多个网元的TE刷新消息。不同的网络节点的周期定时器的定时时长可以不同。比如网络节点的周期定时器的定时时长在30min±5min的区间内随机浮动。作为一种示例,各个源网络节点在发送TE刷新消息时,可以在TE刷新消息中携带该源网络节点包括的所有本地TE链路的索引,用于对账。目的网络节点接收到一个源网络节点发送的TE刷新消息后,将本地TEDB中记录的相应TE链路的LSA刷新计数器清零。每个刷新周期中未接收到某个TE链路的刷新消息,则将该TE链路的LSA刷新计数器累加。若目的网络节点在多个刷新周期(比如3个刷新周期)内均未接收到该TE链路的TE刷新消息,也就是说,该TE链路的LSA刷新计数器累计为3,则目的网络节点将TEDB中的该源网络节点的该TE链路的TE链路状态信息老化掉。将TEDB中该源网络节点的该TE链路的TE链路状态信息删除,以及将传输队列/分批队列/重传队列中的源网络节点的该TE链路的TE链路状态信息。若目的网络节点接收到来自源网络节点的TE刷新消息中包括某个本地TEDB中不存在的TE链路索引,以TE链路1为例,目的网络节点可以向源网络节点请求该TE链路1的TE链路状态信息。
基于与方法实施例同样的发明构思,本申请实施例还提供了一种装置,参见图11所示,该装置1100应用于网络设备。该装置1100可以包括收发模块1101和处理模块1102。该装置1100具体可以是网络节点中的处理器,或者芯片或者芯片系统,或者是一个功能模块等。处理模块1102用于对装置1100的动作进行控制管理。收发模块1101用于接收信息或者报文,或者用于发送信息或者发送报文。收发模块1101还可以包括发送模块和接收模块,接收模块用于接收信息或者报文,发送模块用于发送信息或者发送报文。发送模块和接收模块可以是彼此独立的两个功能模块,也可以是一个功能模块。处理模块1102用于对收发模块1101接收到的信息或者报文进行处理。处理模块1102还可以用于指示上述任意实施例中涉及网络节点(比如第一网络节点、第二网络节点、第三网络节点等,或者NE1-NE11中任一个)的处理过程和/或本申请所描述的技术方案的其他过程。该装置还可以包括存储模块(图11中未示出),存储模块用于存储最短路径树。
以该装置1100应用于第一网络节点为例,处理模块1102,用于确定N个目标网络节点,所述目标网络节点为业务首节点,N为正整数;
所述处理模块1102,还用于根据所述N个目标网络节点,以自身为根节点建立最短路径树;
收发模块1101,用于根据所述最短路径树向所述N个目标网络节点发送第一流量工程TE链路状态信息,所述第一TE链路状态信息用于指示所述第一网络节点的链路状态。
在一种可能的实施方式中,所述最短路径树包括的M个叶子节点为所述N个目标网络节点中M个目标网络节点,所述M为小于或者等于N的整数。
在一种可能的实施方式中,所述收发模块1101,还用于在所述处理模块1102建立所述最短路径树之前,接收所述N个目标网络节点中第一目标网络节点洪泛的第一指示信息,第一目标网络节点为N个目标网络节点中的任一个,所述第一指示信息用于指示所述第一目标网络节点为业务首节点。
在一种可能的实施方式中,所述处理模块1102,还用于将所述N个目标网络节点保存到首节点集合中;
所述处理模块1102,在根据所述N个目标网络节点,以自身为根节点建立最短路径树时,具体用于:
根据所述首节点集合建立所述最短路径树。
在一种可能的实施方式中,所述处理模块1102,还用于将所述N个目标网络节点保存到首节点集合中之前,确定所述第一网络节点到所述N个目标网络节点的路由可达。
在一种可能的实施方式中,所述处理模块1102,还用于在所述发送模块根据所述最短路径树向N个目标网络节点发送所述第一TE链路状态信息之前,根据所述第一TE链路状态信息生成N个TE报文,N个TE报文均携带所述第一TE链路状态信息。
在一种可能的实施方式中,所述处理模块1102,还用于:
将所述N个TE报文加入第一队列;
确定所述N个TE入队第一队列的时长达到预设时长时,将所述N个TE报文加入第二队列;
从所述第二队列中调度所述N个TE报文时,将所述N个TE报文中到达任一目标网络节点需要经过第二网络节点的TE报文合并为第一TE报文。所述第二网络节点为所述最短路径树中所述第一网络节点的下一跳网络节点中的任一个。所述第一TE报文还携带所述最短路径树的第一子树包括的网络节点的标识,所述第一子树的根节点为所述第二网络节点。
在一种可能的实施方式中,所述处理模块1102,还用于:
将所述N个TE报文中到达目的网络节点需要经过第二网络节点的TE报文合并为第一TE报文之前,将所述N个TE报文加入第三队列,所述第三队列包括待重传的TE报文。
在一种可能的实施方式中,所述处理模块1102,还用于在将所述N个TE报文加入第一队列之前,确定所述N个TE报文所属的TE链路,获取链路记录包括的上一个属于所述TE链路的TE报文加入所述第一队列的第一时刻;
确定接收所述N个TE报文的时刻与所述第一时刻的时间差小于时间差阈值时,将所述TE链路的报文传输次数值进行累加,并确定经过累加后的所述传输次数阈值小于次数阈值。
在一种可能的实施方式中,所述处理模块1102,还用于确定经过累加后的所述传输次数阈值大于或者等于次数阈值时,丢弃所述N个TE报文。
在一种可能的实施方式中,所述处理模块1102,还用于将所述N个TE报文加入第一队列之前,确定所述第一队列不包括与所述N个TE报文的消息类型相同且与所述N个TE报文所属的TE链路相同的第二TE报文。
在一种可能的实施方式中,所述处理模块1102,还用于在确定所述第一队列包括与所述N个TE报文的消息类型相同且与所述N个TE报文所属的TE链路相同的第二TE报文时,针对所述N个TE报文和所述第二TE报文执行去重操作。
在一种可能的实施方式中,所述收发模块1101,还用于接收来自所述第二网络节点的确认消息,所述确认消息中包括所述第二网络节点在设定时长内接收到的来自第一网络节点的报文的确认接收指示。
在一种可能的实施方式中,所述收发模块1101,还用于:
接收第三TE报文,所述第三TE报文携带第三网络节点的TE链路状态信息和第二子树所包括的网络节点的标识,所述第二子树的根节点为所述第一网络节点,所述第二子树包括至少一个业务首节点,其中,在所述第三网络节点的TE链路状态信息由所述第三网络节点到达所述至少一个业务首节点的最短路径中所述第一网络节点作为中间转发节点;
根据所述最短路径树以及第三TE报文中携带的网络节点标识向第四网络节点发送第四TE报文,所述第四TE报文包括所述第三网络节点的TE链路状态信息,以及第三子树包括的网络节点的标识,所述第三子树为所述第二子树的一个子树,所述第三子树的根节点为所述第四网络节点。
在一种可能的实施方式中,所述收发模块1101,还用于:
在所述第一网络节点发生复位后,向所述第五网络节点发送请求消息,所述请求消息用于请求网络中其它网络节点的TE链路状态信息;所述第五网络节点为所述网络中所述第一网络节点的任一邻居节点;
接收第五网络节点发送的流量工程数据库TEDB中的TE链路状态信息。
在一种可能的实施方式中,所述收发模块1101,还用于:
在设定时长内未接收到第五网络节点发送的流量工程数据库TEDB包括的网络中的网络节点的TE链路状态信息时,向第六网络节点发送所述请求消息,所述第六网络节点为所述网络中所述第一网络节点的邻居节点中除所述第五网络节点以外的一个网络节点。
本申请实施例还提供一种网络节点的结构,如图12所示,网络节点1200中可以包括通信接口1210、处理器1220。可选的,网络节点1200中还可以包括存储器1230。其中,存储器1230可以设置于网络节点内部,还可以设置于网络节点外部。上述图11中所示的、处理模块1102均可以由处理器1220实现。收发模块1101可以由通信接口1210实现。
在一种可能的实施方式中,处理器1220通过通信接口1210收发报文或者消息,并用于实现图2~图10中所述的网络节点(第一网络节点、第二网络节点或者第三网络节点等,或者NE1-NE11中任一个)所执行的任一方法。在实现过程中,处理流程的各步骤可以通过处理器1220中的硬件的集成逻辑电路或者软件形式的指令完成图2~图10中网络节点所执行的方法。为了简洁,在此不再赘述。处理器1220用于实现上述方法所执行的程序代码可以存储在存储器1230中。存储器1230和处理器1220耦合。
在一种可能的实施方式中,处理器1220可以通过通信接口1210收发报文或者消息,并用于实现图2~图10中所述的网络节点(第一网络节点、第二网络节点或者第三网络节点等,或者NE1-NE11中任一个)所执行的任一方法。在实现过程中,处理流程的各步骤可以通过处理器1220中的硬件的集成逻辑电路或者软件形式的指令完成图2~图10中所述的任一网络节点所执行的方法。为了简洁,在此不再赘述。处理器1220用于实现上述方法所执行的程序代码可以存储在存储器1230中。存储器1230和处理器1220耦合。
本申请实施例中涉及到的任一通信接口可以是电路、总线、收发器或者其它任意可以用于进行信息交互的装置。比如网络节点1200中的通信接口1210,示例性地,该其它装置可以是与该网络节点1200相连的设备,比如,该其它装置可以是该网络节点1200的上一跳节点或者下一跳节点等。
本申请实施例中涉及的处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例中的耦合是装置、模块或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、模块或模块之间的信息交互。
处理器1220可能和存储器1230协同操作。存储器1230可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器1230是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
本申请实施例中不限定上述通信接口1210、处理器1220以及存储器1230之间的具体连接介质。本申请实施例在图12中以存储器1230、处理器1220以及通信接口1210之间通过总线连接,总线在图12中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
基于以上实施例,本申请实施例还提供了一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述任意一个或多个实施例提供的方法。所述计算机存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种芯片,该芯片包括处理器,用于实现上述任意一个或多个实施例所涉及的功能,例如用于实现图2-图10中网络节点所执行的方法,或者用于实现图2-图10中网络节点所执行的方法。可选地,所述芯片还包括存储器,所述存储器,用于处理器所执行必要的程序指令和数据。该芯片,可以由芯片构成,也可以包含芯片和其他分立器件。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (20)
1.一种信息传输方法,其特征在于,包括:
第一网络节点确定N个目标网络节点,所述目标网络节点为业务首节点,N为正整数;
所述第一网络节点根据所述N个目标网络节点,以自身为根节点建立最短路径树;
所述第一网络节点根据所述最短路径树向所述N个目标网络节点发送第一流量工程TE链路状态信息,所述第一TE链路状态信息用于指示所述第一网络节点的链路状态。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一网络节点建立所述最短路径树之前,接收第一目标网络节点洪泛的第一指示信息,所述第一目标网络节点为N个所述目标网络节点中的任一个,所述第一指示信息用于指示所述第一目标网络节点为业务首节点。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一网络节点将所述N个目标网络节点保存到首节点集合中;
所述第一网络节点根据所述N个目标网络节点,以自身为根节点建立最短路径树,包括:
所述第一网络节点根据所述首节点集合建立所述最短路径树。
4.如权利要求3所述的方法,其特征在于,所述第一网络节点将所述N个目标网络节点保存到首节点集合中之前,还包括:
所述第一网络节点确定所述第一网络节点到所述N个目标网络节点的路由可达。
5.如权利要求1、2、4任一所述的方法,其特征在于,所述最短路径树包括M个叶子节点,所述M个叶子节点为所述N个目标网络节点中的M个目标网络节点,所述M为小于或者等于N的正整数。
6.如权利要求1、2、4任一项所述的方法,其特征在于,所述第一网络节点根据所述最短路径树向所述N个目标网络节点发送所述第一TE链路状态信息之前,所述方法还包括:
所述第一网络节点根据所述第一TE链路状态信息生成N个TE报文;
所述第一网络节点根据所述最短路径树将所述N个TE报文一一对应地发送给所述N个目标网络节点。
7.如权利要求6所述的方法,其特征在于,所述第一网络节点根据所述第一TE链路状态信息生成N个TE报文之后,所述方法还包括:
所述第一网络节点将所述N个TE报文加入第一队列;
所述第一网络节点确定所述N个TE报文入队第一队列的时长达到预设时长时,将所述N个TE报文加入第二队列;
所述第一网络节点从所述第二队列中调度所述N个TE报文时,将所述N个TE报文中到达任一目标网络节点需要经过第二网络节点的TE报文合并为第一TE报文,所述第二网络节点为所述最短路径树中所述第一网络节点的下一跳网络节点中的任一个。
8.如权利要求1、2、4、7任一项所述的方法,其特征在于,还包括:
所述第一网络节点接收第三TE报文,所述第三TE报文携带第三网络节点的TE链路状态信息和第二子树所包括的网络节点的标识,所述第二子树的根节点为所述第一网络节点,所述第二子树包括至少一个业务首节点,其中,在所述第三网络节点的TE链路状态信息由所述第三网络节点到达所述至少一个业务首节点的最短路径中所述第一网络节点作为中间转发节点;
所述第一网络节点根据所述第三TE报文中携带的网络节点标识向第四网络节点发送第四TE报文,所述第四TE报文包括所述第三网络节点的TE链路状态信息和第三子树包括的网络节点的标识,所述第三子树为所述第二子树的一个子树,所述第三子树的根节点为所述第四网络节点。
9.如权利要求1、2、4、7任一项所述的方法,其特征在于,所述方法还包括:
所述第一网络节点在以自身为根节点建立最短路径树后,根据最短路径树生成所述第一网络节点对应的路由分发表;所述路由分发表用于指示所述最短路径树所包含的所有网络节点的位置关系。
10.一种信息传输装置,其特征在于,应用于第一网络节点,包括:
处理模块,用于确定N个目标网络节点,所述目标网络节点为业务首节点,N为正整数;
所述处理模块,还用于根据所述N个目标网络节点,以自身为根节点建立最短路径树;
收发模块,用于根据所述最短路径树向所述N个目标网络节点发送第一流量工程TE链路状态信息,所述第一TE链路状态信息用于指示所述第一网络节点的链路状态。
11.如权利要求10所述的装置,其特征在于:
所述收发模块,还用于在所述处理模块建立所述最短路径树之前,接收所述N个目标网络节点中第一目标网络节点洪泛的第一指示信息,所述第一目标网络节点为N个所述目标网络节点中的任一个,所述第一指示信息用于指示所述第一目标网络节点为业务首节点。
12.如权利要求10或11所述的装置,其特征在于,所述处理模块,还用于将所述N个目标网络节点保存到首节点集合中;
所述处理模块,在根据所述N个目标网络节点,以自身为根节点建立最短路径树时,具体用于:
根据所述首节点集合建立所述最短路径树。
13.如权利要求12所述的装置,其特征在于,所述处理模块,还用于将所述N个目标网络节点保存到首节点集合中之前,确定所述第一网络节点到所述N个目标网络节点的路由可达。
14.如权利要求10、11、13任一所述的装置,其特征在于,所述最短路径树包括M个叶子节点,所述M个叶子节点为所述N个目标网络节点中的M个目标网络节点,所述M为小于或者等于N的正整数。
15.如权利要求10、11、13任一项所述的装置,其特征在于,所述处理模块,还用于在所述收发模块根据所述最短路径树向所述N个目标网络节点发送所述第一TE链路状态信息之前,根据所述第一TE链路状态信息生成N个TE报文,所述第一网络节点根据所述最短路径树将所述N个TE报文一一对应地发送给所述N个目标网络节点。
16.如权利要求15所述的装置,其特征在于,所述处理模块,还用于:
将所述N个TE报文加入第一队列;
确定所述N个TE报文入队第一队列的时长达到预设时长时,将所述N个TE报文加入第二队列;
从所述第二队列中调度所述N个TE报文时,将所述N个TE报文中到达任一目标网络节点需要经过第二网络节点的TE报文合并为第一TE报文,所述第二网络节点为所述最短路径树中所述第一网络节点的下一跳网络节点中的任一个。
17.如权利要求10、11、13、16任一项所述的装置,其特征在于,所述收发模块,还用于:
接收第三TE报文,所述第三TE报文携带第三网络节点的TE链路状态信息和第二子树所包括的网络节点的标识,所述第二子树的根节点为所述第一网络节点,所述第二子树包括至少一个业务首节点,其中,在所述第三网络节点的TE链路状态信息由所述第三网络节点到达所述至少一个业务首节点的最短路径中所述第一网络节点作为中间转发节点;
根据所述最短路径树以及第三TE报文中携带的网络节点标识向第四网络节点发送第四TE报文,所述第四TE报文包括所述第三网络节点的TE链路状态信息,以及第三子树包括的网络节点的标识,所述第三子树为所述第二子树的一个子树,所述第三子树的根节点为所述第四网络节点。
18.如权利要求10、11、13、16任一项所述的装置,其特征在于,所述处理模块,还用于在以自身为根节点建立最短路径树后,根据最短路径树生成所述第一网络节点对应的路由分发表;所述路由分发表用于指示所述最短路径树所包含的所有网络节点的位置关系。
19.一种网络节点,其特征在于,包括:
通信接口、处理器和存储器;
所述存储器用于存储软件程序,所述处理器用于读取所述存储器中存储的软件程序,通过所述通信接口收发消息,并实现权利要求1至9任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储软件程序,所述软件程序在被一个或多个处理器读取并执行时可实现权利要求1至9任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011197783.9A CN114531623B (zh) | 2020-10-31 | 2020-10-31 | 一种信息传输方法、装置及网络节点 |
PCT/CN2021/104870 WO2022088746A1 (zh) | 2020-10-31 | 2021-07-07 | 一种信息传输方法、装置及网络节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011197783.9A CN114531623B (zh) | 2020-10-31 | 2020-10-31 | 一种信息传输方法、装置及网络节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114531623A CN114531623A (zh) | 2022-05-24 |
CN114531623B true CN114531623B (zh) | 2023-04-28 |
Family
ID=81381855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011197783.9A Active CN114531623B (zh) | 2020-10-31 | 2020-10-31 | 一种信息传输方法、装置及网络节点 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114531623B (zh) |
WO (1) | WO2022088746A1 (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272393A (zh) * | 2008-05-14 | 2008-09-24 | 杭州华三通信技术有限公司 | 基于链路状态路由协议的路由计算方法和网络节点 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6985959B1 (en) * | 2000-11-01 | 2006-01-10 | Nortel Networks Limited | Constraint route dissemination using distributed route exchanges |
US7995461B2 (en) * | 2005-08-24 | 2011-08-09 | Cisco Technology, Inc. | Efficient constrained shortest path first optimization technique |
CN101529829A (zh) * | 2006-11-02 | 2009-09-09 | 北方电讯网络有限公司 | 链路状态协议控制以太网网络中的业务工程路径 |
US8423668B2 (en) * | 2007-12-31 | 2013-04-16 | Cisco Technology, Inc. | Link state protocol routing message containment |
CN101686179B (zh) * | 2008-09-28 | 2013-01-09 | 华为技术有限公司 | 链路状态发布信息的传输方法、节点和点对点网络 |
US8351438B2 (en) * | 2010-08-19 | 2013-01-08 | Juniper Networks, Inc. | Flooding-based routing protocol having database pruning and rate-controlled state refresh |
CN102959909B (zh) * | 2011-05-25 | 2015-06-03 | 华为技术有限公司 | 一种分发树生成方法、装置及路由网桥 |
CN102761493B (zh) * | 2012-07-26 | 2015-04-08 | 杭州华三通信技术有限公司 | 一种多链接透明互联网络中组播路由表项更新方法和装置 |
CN106209622A (zh) * | 2016-06-23 | 2016-12-07 | 广州海格通信集团股份有限公司 | 一种基于sdn的组播方法 |
US10164794B2 (en) * | 2017-04-28 | 2018-12-25 | Cisco Technology, Inc. | Bridging of non-capable subnetworks in bit indexed explicit replication |
CN109510768B (zh) * | 2017-09-14 | 2021-02-12 | 华为技术有限公司 | 链路状态通告lsa发送方法、装置和系统 |
KR102496586B1 (ko) * | 2018-01-12 | 2023-02-07 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 내부 게이트웨이 프로토콜 플러딩 최소화 |
-
2020
- 2020-10-31 CN CN202011197783.9A patent/CN114531623B/zh active Active
-
2021
- 2021-07-07 WO PCT/CN2021/104870 patent/WO2022088746A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272393A (zh) * | 2008-05-14 | 2008-09-24 | 杭州华三通信技术有限公司 | 基于链路状态路由协议的路由计算方法和网络节点 |
Also Published As
Publication number | Publication date |
---|---|
CN114531623A (zh) | 2022-05-24 |
WO2022088746A1 (zh) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4488248B2 (ja) | 障害回復方法およびネットワーク装置ならびにプログラム | |
US20060013127A1 (en) | MPLS network system and node | |
US6801496B1 (en) | Network addressing scheme for reducing protocol overhead in an optical network | |
US9030962B2 (en) | Method for routing information over a network employing centralized control | |
US8115617B2 (en) | Alarm reordering to handle alarm storms in large networks | |
US8923305B2 (en) | Flooding-based routing protocol having database pruning and rate-controlled state refresh | |
EP2466809B1 (en) | Method and network node for configuring a network for optimized transport of packet traffic | |
US8767550B2 (en) | Method and path computation element for improving service restoration speed in transmission network | |
JP2008160385A (ja) | ネットワーク経路制御システム、経路制御装置および経路制御方法 | |
CN104205728A (zh) | 面向连接的网络中的恢复 | |
CN113285876B (zh) | 路由方法、路由装置及计算机可读存储介质 | |
US20060179158A1 (en) | Router with synchronized updating of routing tables for a distributed routing communications network | |
Assi et al. | A hybrid distributed fault-management protocol for combating single-fiber failures in mesh-based DWDM optical networks | |
WO2002006918A2 (en) | A method, system, and product for preventing data loss and forwarding loops when conducting a scheduled change to the topology of a link-state routing protocol network | |
CN101222486B (zh) | 自动交换光网络中节点故障后路由重启恢复的控制方法 | |
KR20120071953A (ko) | 무선 네트워크에서 라우팅 정보 전송 방법 및 이를 지원하는 라우팅 장치 | |
CN114531623B (zh) | 一种信息传输方法、装置及网络节点 | |
JP2006135945A (ja) | パス設定装置、パス設定システム、及び、それらのパス設定方法 | |
JP2006211385A (ja) | 光通信システムとそのパス設定方法およびノード装置 | |
JP2006094313A (ja) | ルーティングリカバリシステム | |
Mannan et al. | Alternate simplistic approach to solve count-to-infinity problem by introducing a new flag in the routing table | |
CN115277528A (zh) | 流量调度方法及装置 | |
Wu et al. | Recovery from control plane failures in the RSVP-TE signaling protocol | |
CN117014357A (zh) | 发送路由的方法、装置及存储介质 | |
EP3376693A1 (en) | A metro-ethernet transport system for isochronous traffic clients |
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 |