路由管理方法、装置、网络设备和可读存储介质与流程

文档序号:23624620发布日期:2021-01-12 10:36阅读:109来源:国知局
路由管理方法、装置、网络设备和可读存储介质与流程

本发明实施例涉及但不限于数据通信领域,具体而言,涉及但不限于一种路由管理方法、装置、网络设备和可读存储介质。



背景技术:

分段路由(sr,segmentrouting)技术是一种基于源节点进行路由的方法,源节点在数据报文外附加一层有序的指令列表信息,在数据平面根据该有序的指令列表信息逐段的进行最短路径转发。对于一个sr-te(segmentroutingtrafficengineering分段路由流量工程)实例,需要考虑头节点的msd(maximumsiddepth最大段标识深度)能力,segmentlist(分段清单)中所包含的各节点的erld(entropyreadablelabeldepth)能力等。在很多情况下sr-te都会涉及到跨域,而在相关标准中,缺少针对标签栈中熵标签插入位置信息的通告与处理机制。



技术实现要素:

本发明实施例提供的路由管理方法、装置、网络设备和可读存储介质,主要解决的技术问题是相关技术中,缺少熵标签插入位置信息的处理方式的问题。

为解决上述技术问题,本发明实施例提供一种路由管理方法,包括:

获取网络侧的网络拓扑信息;

基于所述网络拓扑信息,计算待建的sr-te分段路由-流量工程实例的路径信息,并将所述路径信息发送给网络侧头节点;所述路径信息中包括segmentlist分段清单信息,以及熵标签插入位置信息;

创建从头节点至尾节点的所述sr-te实例。

本发明实施例还提供一种路由管理装置,包括:

拓扑获取模块,用于获取网络侧的网络拓扑信息;

路径处理模块,用于基于所述网络拓扑信息,计算待建的sr-te实例的路径信息,并将所述路径信息发送给网络侧头节点;所述路径信息中包括segmentlist信息,以及熵标签插入位置信息;

实例创建模块,用于创建从头节点至尾节点的所述sr-te实例。

本发明实施例还提供一种网络设备,网络设备包括处理器、存储器及通信总线;

通信总线用于实现处理器和存储器之间的连接通信;

处理器用于执行存储器中存储的一个或者多个计算机程序,以实现上述的路由管理方法的步骤。

本发明实施例还提供一种计算机存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述的路由管理方法的步骤。

本发明的有益效果是:

根据本发明实施例提供的路由管理方法、装置、网络设备和可读存储介质,获取网络侧的网络拓扑信息;基于网络拓扑信息,计算待建的sr-te分段路由-流量工程实例的路径信息,并将路径信息发送给网络侧头节点;路径信息中包括segmentlist分段清单信息,以及熵标签插入位置信息;创建从头节点至尾节点的sr-te实例。从而通过计算网络拓扑信息,将熵标签插入位置信息包括于路径信息中,从而实现了熵标签插入位置信息的通告与处理,满足了要基于熵标签进行实施的场景。

本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。

附图说明

图1为本发明实施例一提供的路由管理方法流程图;

图2为本发明各实施例提供的扩展pcep封装格式图;

图3为本发明各实施例提供的扩展bgp封装格式图;

图4为本发明各实施例提供的系统网络拓扑图;

图5为本发明实施例二提供的路由管理方法流程图;

图6为本发明实施例三提供的路由管理方法流程图;

图7为本发明实施例四提供的路由管理装置组成示意图;

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

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一:

本实施例提供了一种路由管理方法,请参考图1,该方法包括:

s101、获取网络侧的网络拓扑信息;

s102、基于网络拓扑信息,计算待建的sr-te分段路由-流量工程实例的路径信息,并将路径信息发送给网络侧头节点;路径信息中包括segmentlist分段清单信息,以及熵标签插入位置信息;

s103、创建从头节点至尾节点的sr-te实例。

分段路由技术是一种基于源节点进行路由的方法,源节点在数据报文外附加一层有序的指令列表信息,在数据平面根据该有序的指令列表信息逐段的进行最短路径转发。这种方法将仅通过在源节点上维护每个流的状态,就能强制一个流通过任意路径与服务链,中间节点与尾节点都不需要维护流的状态。分段路由能应用于mpls转发平面与ipv6转发平面,分别称之为sr-mpls与sr-ipv6。一般建议sr-mpls用于核心网,而sr-ipv6用于没有mpls转发平面的边缘网络(如家庭网络,数据中心等)。

在mpls转发平面使用熵标签(entropylabel,简称el)实现ecmp(equalcostmulti-path等价多路径)转发的机制,在转发报文所封装的标签栈中,一般在隧道标签之后插入eli(entropylabelindicator熵标签提示符,是保留标签7)和el,使得隧道各中间节点能基于el选择负载均衡的具体路径,注意在标签栈中el应当紧跟在eli之后。而分段路由网络中的mpls标签报文如何基于熵标签做ecmp转发,描述了在标签栈中插入熵标签时需要考虑的因素与建议算法,比如对于一个sr-te(segmentroutingtrafficengineering分段路由流量工程)实例,需要考虑头节点的msd(maximumsiddepth最大段标识深度)能力,segmentlist中所包含的各节点的erld(entropyreadablelabeldepth)能力等。只要这些信息获取的足够完整,则可以执行算法计算在标签栈中的什么位置插入熵标签。

控制器可以主动创建sr-te实例;和/或,控制器响应头节点发起的sr-te实例创建请求,创建sr-te实例。控制器主动创建sr-te实例时,或者响应网络侧头节点(也就是sr-te实例的头节点)的sr-te实例建立请求时,将计算好的sr-te路径结果下发给网络侧头节点,在sr-te路径计算结果中除了包含传统的segmentlist路径信息以外,还包括熵标签插入位置信息;

网络侧头节点收到上述sr-te路径结果后,在转发面创建相应的sr-te转发表项,该转发表项中除了有根据segmentlist生成的出接口、下一跳、出标签栈等传统nhlfe(nexthoplabelforwardingentry下一跳标签转发条目)转发信息以外,还为出标签栈记录相应的的熵标签插入位置信息,因此对于需要承载在该sr-te实例上转发的业务流量,网络侧头节点可根据流量载荷信息本地运行算法生成相应的el值后,在转发报文的出标签栈中根据上述熵标签插入位置信息插入eli和el。熵标签插入位置信息可能包含得有,是否有插入熵标签,以及在一处或多处位置插入熵标签。

在一些实施例中,将路径信息发送给网络侧头节点包括:

通过控制器与头节点之间建立的pcep路径计算单元通信协议会话,发送路径信息至头节点;

或,通过控制器与头节点之间建立的bgp边界网关协议会话,发送路径信息至头节点。

为了实现上述技术方案,对于如何扩展pcep(pathcomputationelementcommunicationprotocol路径计算单元通信协议)通告熵标签插入位置信息,可以如下:

为了表示一条sr-te路径,pcep采用ero(explicitrouteobject显式路由对象)来描述相应的segmentlist,ero中有序的包含单个或多个sr-erosubobject分段-显式路由对象子对象,每个sr-erosubobject表示一个nodesegment节点分段或adjacencysegment邻近分段。sr-erosubobject的封装格式见图2,其中已经定义了标志:f、s、c、m,本专利在此基础上新增e-flag(entropyflag);其中e-flag:取值0表示该segment之后不是熵标签插入位置;取值1表示该segment之后是熵标签插入位置。

为了实现上述技术方案,对于如何扩展bgp(bordergatewayprotocol边界网关协议)通告熵标签插入位置信息,可以如下:

sr网络中控制器通过bgp通道向网络侧头节点下发sr-tepolicy的路径计算结果,通过srpolicysafinlri来描述sr-tepolicy策略,sr-tepolicy中可能包含多条segmentlist,每条segmentlist都由相应的segmentlistsub-tlv来表示。segmentlistsub-tlv中有序的包含单个或多个segmentsub-tlv,每个segmentsub-tlv表示一个nodesegment,或adjacencysegment,或其它类型的segment。segmentsub-tlv目前已定义的类型达11种之多,各类型的差异主要体现在segment的标识信息可以是ip地址、接口索引、sid(segmentidentifier段标识)、mplslabel几者之一或它们的组合。图3是segmentsub-tlv不同类型的公共封装格式,其中已经定义了标志:v、a,本专利在此基础上新增e-flag(entropyflag);其中,e-flag:取值0表示该segment之后不是熵标签插入位置;取值1表示该segment之后是熵标签插入位置。

那么相应的,当通过控制器与头节点之间建立的pcep会话,发送路径信息至头节点时,发送路径信息至头节点可以包括:

采用ero显式路由对象描述segmentlist以及熵标签插入位置信息;ero中包括至少一个sr-erosubobject分段路由-显式路由对象-子对象。具体的,sr-erosubobject的封装格式中,包括f、s、c、m以及e-flag标志;其中,e-flag标志的取值用于表征熵标签插入位置信息。

在一些实施例中,当通过控制器与头节点之间建立的bgp会话,发送路径信息至头节点时,发送路径信息至头节点可以包括:

采用segmentlistsub-tlv描述segmentlist以及熵标签插入位置信息;segmentlistsub-tlv中包括至少一个segmentsub-tlv。具体的,segmentsub-tlv的封装格式中,包括v、a以及e-flag标志;其中,e-flag标志的取值用于表征紧邻segmentsub-tlv之后为熵标签插入位置信息。

在一些实施例中,sr-te实例可以包括:sr-te隧道,和/或sr-tepolicy策略。

在一些实施例中,还可以包括:将路径信息,转换为nhlfe下一跳标签转发条目转发信息,发送至转发平面。网络侧头节点s收到sr-te实例的segmentlist后,将该segmentlist转换成实际转发用的nhlfe信息,如{node-sid(top1),node-sid(toasbr1),peernodesid(toasbr2),node-sid(top2),adj-sid(tolag)}将转换成出标签栈{label(top1),label(toasbr1),label(toasbr2),label(top2),label(tolag)},以及根据第一个segment获取到实际转发出接口与下一跳节点信息。头节点s将上述sr-te实例及其nhlfe转发信息下发至转发平面,特别的,提示转发平面在出标签栈中紧跟label(toasbr2)之后以及紧跟label(tolag)之后是熵标签插入位置。

在一些实施例中,还包括:根据业务报文的业务载荷内容,计算得到相应的熵标签。网络侧头节点s上的转发平面,对于需要沿sr-te实例转发的业务报文,可根据业务载荷内容计算得到相应的熵标签,然后将熵标签插入到sr-te实例出标签栈中的指定插入位置,即业务报文沿sr-te实例转发时的隧道出标签栈可以变为{label(top1),label(toasbr1),label(toasbr2),eli,el10,label(top2),label(tolag),eli,el10}。注意报文所封装的完整标签栈中除了上述隧道相关的标签,可能还有业务自身的标签(比如vpnlabel)。

本发明实施例提供了一种路由管理方法,获取网络侧的网络拓扑信息;基于网络拓扑信息,计算待建的sr-te分段路由-流量工程实例的路径信息,并将路径信息发送给网络侧头节点;路径信息中包括segmentlist分段清单信息,以及熵标签插入位置信息;创建从头节点至尾节点的sr-te实例。从而通过计算网络拓扑信息,将熵标签插入位置信息包括于路径信息中,从而实现了熵标签插入位置信息的通告与处理,满足了要基于熵标签进行实施的场景。

实施例二

如图4所示,控制器与网络侧头节点s建立pcep会话,现在需要建立一条从头节点s至尾节点d的sr-te隧道(记为sr-te100),该隧道可能是头节点s主动创建的,也或者是控制器主动创建的。本实施例中虽然是通过pcep会话,来建立sr-te隧道,但是pcep会话也可以应用与其他sr-te实例中,如sr-tepolicy等等。由于该隧道的头尾节点分别属于不同的as(autonomoussystem自治系统),因此这两种情况下均需要通过控制器为该sr-te隧道计算具体的路径。假设各as内均只包含一个igp(interiorgatewayprotocol,内部网关协议)area区域,as之间建立multi-hopbgpsession,即asbr1与asbr2之间通过非直连的loopback地址建立bgpsession,asbr1节点上可以配置静态路由至asbr2的loopback地址,底层转发链路为link1和link2形成ecmp,asbr2上也类似建立至asbr1的loopback地址的静态路由。p2与d之间通过聚合链路组lag相连。为了便于te路径计算,控制器需要事先收集网络侧的网络拓扑信息,这可以通过一整套bgp-ls机制来实现,最终控制器将收集到:各as内的igp拓扑信息,igp域内各节点的sr能力信息以及相应的igpprefix-sid与adj-sid,igp域内各节点的msd(maximumsiddepth最大sid栈深封装能力)与erld(entropyreadablelabeldepth熵标签读取深度能力)信息,as之间的连接关系以及相应的bgppeernodesid与peeradjsid。

请参考图5,图5为本实施例中的路由处理方法的流程图;

s501,控制器通过bgp-ls收集到网络侧的网络拓扑信息,包含两个as内的igp拓扑信息以及as之间的连接关系。假设收集到各节点的msd为20,erld为3。

s502,控制器按pce-initiated方式主动创建一条从头节点s至尾节点d的跨as的sr-te隧道(sr-te100),或收到头节点s的pcreq消息计算一条从头节点s至尾节点d的跨as的sr-te隧道(sr-te100)。控制器基于前述收集到的网络拓扑信息为该sr-te隧道计算路径,假设为该sr-te隧道计算得到的路径对应的segmentlist为{node-sid(top1),node-sid(toasbr1),peernodesid(toasbr2),node-sid(top2),adj-sid(tolag)},则控制器可通过pcinitiate消息,或回复pcrep消息,向头节点s下发上述sr-te的segmentlist。特别的,控制器根据网络拓扑信息,发现在asbr1节点上根据peernodesid(toasbr2)的转发存在ecmp,以及在p2节点上根据adj-sid(tolag)的转发也存在ecmp,则控制器可以在下发的pcep消息中的ero中包含的上述两个segment(即peernodesid(toasbr2)与adj-sid(tolag))各自对应的sr-erosubobject中设置e-flag为有效,提示这两个segment之后的紧邻位置均为熵标签插入位置,并且这种插入方式均没有超出相应节点的erld范围。

s503,网络侧头节点s收到上述sr-te隧道(sr-te100)的segmentlist后,将该segmentlist转换成实际转发用的nhlfe信息,即{node-sid(top1),node-sid(toasbr1),peernodesid(toasbr2),node-sid(top2),adj-sid(tolag)}将转换成出标签栈{label(top1),label(toasbr1),label(toasbr2),label(top2),label(tolag)},以及根据第一个segment获取到实际转发出接口与下一跳节点信息。s将上述sr-te100及其nhlfe转发信息下发至转发平面,特别的,提示转发平面在出标签栈中紧跟label(toasbr2)之后以及紧跟label(tolag)之后是熵标签插入位置。

s504,网络侧头节点s上的转发平面,对于需要沿隧道sr-te100转发的业务报文,可根据业务载荷内容计算得到相应的熵标签(记为el10),然后将熵标签插入到sr-te100隧道出标签栈中的指定插入位置,即业务报文沿sr-te100转发时的隧道出标签栈将变为{label(top1),label(toasbr1),label(toasbr2),eli,el10,label(top2),label(tolag),eli,el10}。注意报文所封装的完整标签栈中除了上述隧道相关的标签,可能还有业务自身的标签(比如vpnlabel)。

s505,封装了上述标签栈的报文将会指导报文沿期望的路径转发,特别是报文到达asbr1节点时,将根据label(toasbr2)查询ilm(incominglabelmap,入标签映射)表项指导报文向asbr2转发,此时命中的ilm表项中存在ecmp信息包含link1和link2,asbr1可继续读取下层的eli与el10,根据el10的值作为ecmp的hash因子选择向link1或link2转发。类似的,报文到达p2节点时,根据label(tolag)查询并命中ilm表项,也存在ecmp信息(由lag包含的多个成员链路组成),p2可继续读取下层的eli与el10,根据el10的值作为ecmp的hash因子选择向lag的某条成员链路转发。

实施例三

如图4所示,控制器与网络侧头节点s建立bgp会话,控制器主动创建一条从头节点s至尾节点d的sr-tepolicy(记为sr-te200),并通过bgp通道向头节点下发。假设各as内均只包含一个igparea,as之间建立multi-hopbgpsession,即asbr1与asbr2之间通过非直连的loopback地址建立bgpsession,asbr1节点上可以配置静态路由至asbr2的loopback地址,底层转发链路为link1和link2形成ecmp,asbr2上也类似建立至asbr1的loopback地址的静态路由。p2与d之间通过聚合链路组lag相连。为了便于te路径计算,控制器需要事先收集网络侧的网络拓扑信息,这可以通过一整套bgp-ls机制来实现,最终控制器将收集到:各as内的igp拓扑信息,igp域内各节点的sr能力信息以及相应的igpprefix-sid与adj-sid,igp域内各节点的msd(maximumsiddepth最大sid栈深封装能力)与erld(entropyreadablelabeldepth熵标签读取深度能力)信息,as之间的连接关系以及相应的bgppeernodesid与peeradjsid。

请参考图6,图6为本实施例中的路由处理方法的流程图;

s601,控制器通过bgp-ls收集到网络侧的网络拓扑信息,包含两个as内的igp拓扑信息以及as之间的连接关系。假设收集到各节点的msd为20,erld为3。

s602,控制器主动创建一条从头节点s至尾节点d的跨as的sr-tepolicy(sr-te200)。控制器基于前述收集到的网络拓扑信息为该sr-tepolicy计算路径,假设为该sr-tepolicy计算得到的路径对应的segmentlist为{node-sid(top1),node-sid(toasbr1),peernodesid(toasbr2),node-sid(top2),adj-sid(tolag)},则控制器可通过bgpupdate消息向头节点s下发上述sr-te的segmentlist。特别的,控制器根据网络拓扑信息,发现在asbr1节点上根据peernodesid(toasbr2)的转发存在ecmp,以及在p2节点上根据adj-sid(tolag)的转发也存在ecmp,则控制器可以在下发的bgpupdate消息中的segmentlistsub-tlv中包含的上述两个segment(即peernodesid(toasbr2)与adj-sid(tolag))各自对应的segmentsub-tlv中设置e-flag为有效,提示这两个segment之后的紧邻位置均为熵标签插入位置,并且这种插入方式均没有超出相应节点的erld范围。

s603,网络侧头节点s收到上述sr-tepolicy(sr-te200)的segmentlist后,将该segmentlist转换成实际转发用的nhlfe信息,即{node-sid(top1),node-sid(toasbr1),peernodesid(toasbr2),node-sid(top2),adj-sid(tolag)}将转换成出标签栈{label(top1),label(toasbr1),label(toasbr2),label(top2),label(tolag)},以及根据第一个segment获取到实际转发出接口与下一跳节点信息。s将上述sr-te200及其nhlfe转发信息下发至转发平面,特别的,提示转发平面在出标签栈中紧跟label(toasbr2)之后以及紧跟label(tolag)之后是熵标签插入位置。

s604,网络侧头节点s上的转发平面,对于需要沿sr-te200转发的业务报文,可根据业务载荷内容计算得到相应的熵标签(记为el10),然后将熵标签插入到sr-te200出标签栈中的指定插入位置,即业务报文沿sr-te200转发时的出标签栈将变为{label(top1),label(toasbr1),label(toasbr2),eli,el10,label(top2),label(tolag),eli,el10}。注意报文所封装的完整标签栈中除了上述sr-tepolicy相关的标签,可能还有业务自身的标签(比如vpnlabel)。

s605,封装了上述标签栈的报文将会指导报文沿期望的路径转发,特别是报文到达asbr1节点时,将根据label(toasbr2)查询并命中的ilm表项中存在ecmp信息包含link1和link2,asbr1可继续读取下层的eli与el10,根据el10的值作为ecmp的hash因子选择向link1或link2转发。类似的,报文到达p2节点时,根据label(tolag)查询并命中的ilm表项中也存在ecmp信息(由lag包含的多个成员链路组成),p2可继续读取下层的eli与el10,根据el10的值作为ecmp的hash因子选择向lag的某条成员链路转发。

实施例四

本实施例提供了一种路由管理装置,请参考图7,该装置包括:

拓扑获取模块71,获取网络侧的网络拓扑信息;

路径处理模块72,基于网络拓扑信息,计算待建的sr-te分段路由-流量工程实例的路径信息,并将路径信息发送给网络侧头节点;路径信息中包括segmentlist分段清单信息,以及熵标签插入位置信息;

实例创建模块73,创建从头节点至尾节点的sr-te实例。

分段路由技术是一种基于源节点进行路由的方法,源节点在数据报文外附加一层有序的指令列表信息,在数据平面根据该有序的指令列表信息逐段的进行最短路径转发。这种方法将仅通过在源节点上维护每个流的状态,就能强制一个流通过任意路径与服务链,中间节点与尾节点都不需要维护流的状态。分段路由能应用于mpls转发平面与ipv6转发平面,分别称之为sr-mpls与sr-ipv6。一般建议sr-mpls用于核心网,而sr-ipv6用于没有mpls转发平面的边缘网络(如家庭网络,数据中心等)。

在mpls转发平面使用熵标签(entropylabel,简称el)实现ecmp(equalcostmulti-path等价多路径)转发的机制,在转发报文所封装的标签栈中,一般在隧道标签之后插入eli(entropylabelindicator熵标签提示符,是保留标签7)和el,使得隧道各中间节点能基于el选择负载均衡的具体路径,注意在标签栈中el应当紧跟在eli之后。而分段路由网络中的mpls标签报文如何基于熵标签做ecmp转发,描述了在标签栈中插入熵标签时需要考虑的因素与建议算法,比如对于一个sr-te(segmentroutingtrafficengineering分段路由流量工程)实例,需要考虑头节点的msd(maximumsiddepth最大段标识深度)能力,segmentlist中所包含的各节点的erld(entropyreadablelabeldepth)能力等。只要这些信息获取的足够完整,则可以执行算法计算在标签栈中的什么位置插入熵标签。

控制器可以主动创建sr-te实例;和/或,控制器响应头节点发起的sr-te实例创建请求,创建sr-te实例。控制器主动创建sr-te实例时,或者响应网络侧头节点(也就是sr-te实例的头节点)的sr-te实例建立请求时,将计算好的sr-te路径结果下发给网络侧头节点,在sr-te路径计算结果中除了包含传统的segmentlist路径信息以外,还包括熵标签插入位置信息;

网络侧头节点收到上述sr-te路径结果后,在转发面创建相应的sr-te转发表项,该转发表项中除了有根据segmentlist生成的出接口、下一跳、出标签栈等传统nhlfe(nexthoplabelforwardingentry下一跳标签转发条目)转发信息以外,还为出标签栈记录相应的的熵标签插入位置信息,因此对于需要承载在该sr-te实例上转发的业务流量,网络侧头节点可根据流量载荷信息本地运行算法生成相应的el值后,在转发报文的出标签栈中根据上述熵标签插入位置信息插入eli和el。熵标签插入位置信息可能包含得有,是否有插入熵标签,以及在一处或多处位置插入熵标签。

在一些实施例中,将路径信息发送给网络侧头节点包括:

通过控制器与头节点之间建立的pcep路径计算单元通信协议会话,发送路径信息至头节点;

或,通过控制器与头节点之间建立的bgp边界网关协议会话,发送路径信息至头节点。

为了实现上述技术方案,对于如何扩展pcep(pathcomputationelementcommunicationprotocol路径计算单元通信协议)通告熵标签插入位置信息,可以如下:

为了表示一条sr-te路径,pcep采用ero(explicitrouteobject显式路由对象)来描述相应的segmentlist,ero中有序的包含单个或多个sr-erosubobject分段-显式路由对象子对象,每个sr-erosubobject表示一个nodesegment节点分段或adjacencysegment邻近分段。sr-erosubobject的封装格式见图2,其中已经定义了标志:f、s、c、m,本专利在此基础上新增e-flag(entropyflag);其中e-flag:取值0表示该segment之后不是熵标签插入位置;取值1表示该segment之后是熵标签插入位置。

为了实现上述技术方案,对于如何扩展bgp(bordergatewayprotocol边界网关协议)通告熵标签插入位置信息,可以如下:

sr网络中控制器通过bgp通道向网络侧头节点下发sr-tepolicy的路径计算结果,通过srpolicysafinlri来描述sr-tepolicy策略,sr-tepolicy中可能包含多条segmentlist,每条segmentlist都由相应的segmentlistsub-tlv来表示。segmentlistsub-tlv中有序的包含单个或多个segmentsub-tlv,每个segmentsub-tlv表示一个nodesegment,或adjacencysegment,或其它类型的segment。segmentsub-tlv目前已定义的类型达11种之多,各类型的差异主要体现在segment的标识信息可以是ip地址、接口索引、sid(segmentidentifier段标识)、mplslabel几者之一或它们的组合。图3是segmentsub-tlv不同类型的公共封装格式,其中已经定义了标志:v、a,本专利在此基础上新增e-flag(entropyflag);其中,e-flag:取值0表示该segment之后不是熵标签插入位置;取值1表示该segment之后是熵标签插入位置。

那么相应的,当通过控制器与头节点之间建立的pcep会话,发送路径信息至头节点时,发送路径信息至头节点可以包括:

采用ero显式路由对象描述segmentlist以及熵标签插入位置信息;ero中包括至少一个sr-erosubobject分段路由-显式路由对象-子对象。具体的,sr-erosubobject的封装格式中,包括f、s、c、m以及e-flag标志;其中,e-flag标志的取值用于表征熵标签插入位置信息。

在一些实施例中,当通过控制器与头节点之间建立的bgp会话,发送路径信息至头节点时,发送路径信息至头节点可以包括:

采用segmentlistsub-tlv描述segmentlist以及熵标签插入位置信息;segmentlistsub-tlv中包括至少一个segmentsub-tlv。具体的,segmentsub-tlv的封装格式中,包括v、a以及e-flag标志;其中,e-flag标志的取值用于表征熵标签插入位置信息。

在一些实施例中,sr-te实例可以包括:sr-te隧道,和/或sr-tepolicy策略。

在一些实施例中,还可以包括:将路径信息,转换为nhlfe下一跳标签转发条目转发信息,发送至转发平面。网络侧头节点s收到sr-te实例的segmentlist后,将该segmentlist转换成实际转发用的nhlfe信息,如{node-sid(top1),node-sid(toasbr1),peernodesid(toasbr2),node-sid(top2),adj-sid(tolag)}将转换成出标签栈{label(top1),label(toasbr1),label(toasbr2),label(top2),label(tolag)},以及根据第一个segment获取到实际转发出接口与下一跳节点信息。头节点s将上述sr-te实例及其nhlfe转发信息下发至转发平面,特别的,提示转发平面在出标签栈中紧跟label(toasbr2)之后以及紧跟label(tolag)之后是熵标签插入位置。

在一些实施例中,还包括:根据业务报文的业务载荷内容,计算得到相应的熵标签。网络侧头节点s上的转发平面,对于需要沿sr-te实例转发的业务报文,可根据业务载荷内容计算得到相应的熵标签,然后将熵标签插入到sr-te实例出标签栈中的指定插入位置,即业务报文沿sr-te实例转发时的隧道出标签栈可以变为{label(top1),label(toasbr1),label(toasbr2),eli,el10,label(top2),label(tolag),eli,el10}。注意报文所封装的完整标签栈中除了上述隧道相关的标签,可能还有业务自身的标签(比如vpnlabel)。

本发明实施例提供了一种路由管理装置,获取网络侧的网络拓扑信息;基于网络拓扑信息,计算待建的sr-te分段路由-流量工程实例的路径信息,并将路径信息发送给网络侧头节点;路径信息中包括segmentlist分段清单信息,以及熵标签插入位置信息;创建从头节点至尾节点的sr-te实例。从而通过计算网络拓扑信息,将熵标签插入位置信息包括于路径信息中,从而实现了熵标签插入位置信息的通告与处理,满足了要基于熵标签进行实施的场景。

实施例五

本实施例还提供了一种网络设备,参见图8所示,其包括处理器81、存储器82及通信总线83,其中:

通信总线83用于实现处理器81和存储器82之间的连接通信;

处理器81用于执行存储器82中存储的一个或者多个计算机程序,以实现上述各实施例中的路由管理方法的步骤,这里不再赘述。

本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(randomaccessmemory,随机存取存储器),rom(read-onlymemory,只读存储器),eeprom(electricallyerasableprogrammablereadonlymemory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compactdiscread-onlymemory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储系统、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。

本实施例中的计算机可读存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被处理器执行,以实现上述各实施例中的路由管理方法的至少一个步骤。

本实施例还提供了一种计算机程序(或称计算机软件),该计算机程序可以分布在计算机可读介质上,由可计算系统来执行,以实现上述各实施例中的路由管理方法的至少一个步骤。

本实施例还提供了一种计算机程序产品,包括计算机可读系统,该计算机可读系统上存储有如上所示的计算机程序。本实施例中该计算机可读系统可包括如上所示的计算机可读存储介质。

可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、系统中的功能模块/单元可以被实施为软件(可以用计算系统可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。

此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。

以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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