路由器之间的消息交互方法和装置与流程

文档序号:11263607阅读:415来源:国知局
路由器之间的消息交互方法和装置与流程

本文涉及路由器之间的消息交互技术领域,尤其涉及一种路由器之间的消息交互方法和装置。



背景技术:

路由器之间通常需要通过消息交互来完成路由,相关技术中,路由器之间交互的消息中只包括路由器idtlv(type,length,value),通过该路由器idtlv,接收消息的路由器可以知道发送消息的路由器的id,并据此进行路由。

当多种应用共用路由器idtlv信息时,由于不知道发送消息的路由器的id的任何情况,接收到消息的路由器会执行很多冗余的操作,从而造成资源浪费。



技术实现要素:

有鉴于此,本发明要解决的技术问题是提供一种路由器之间的消息交互方法和装置,以解决由于路由器不知道正在使用路由器id的应用而造成的冗余操作,避免资源浪费。

为了解决上述问题,采用如下技术方案:

一种路由器之间消息交互的方法,该方法包括:

在路由器之间交互的消息中增加路由器id使用信息tlv,该路由器id使用信息tlv用于表明发送消息的路由器的路由器id正在被哪个或哪些应用使用;

一路由器通过从其他路由器接收到的所述消息中的所述路由器id使用信息tlv,来执行正在使用发送消息的路由器的路由器id的应用相应的操 作。

可选地,所述消息中还包括发送消息的路由器的路由器id。

可选地,所述路由器id使用信息tlv所包括的内容字段中包括子tlv类型、子tlv长度和子tlv内容。

可选地,所述子tlv类型包括ipv4路由器id使用信息和ipv6路由器id使用信息这两种类型。

可选地,所述正在使用所述路由器id的应用包括:te(trafficengineering,流量工程),remote-lfa(loopfreealternate)和sr(segmentrouting,分段路由)中的一种或多种。

可选地,所述子tlv内容字段包括标志flag和相应的描述,通过该flag和描述能够表明发送消息的路由器的路由器id正在被哪个或哪些应用使用,同时反映出该路由器id没有被哪个或哪些应用使用。

可选地,所述执行正在使用发送消息的路由器的路由器id的应用相应的操作的步骤包括:

当所述路由器id使用信息tlv表明发送消息的路由器的路由器id正在被某一应用或某些应用时,建立与该应用或这些应用相应的拓扑或隧道;

当所述路由器id使用信息tlv反映出发送消息的路由器的路由器id没有被某一应用或某些应用使用时,放弃或停止建立与该应用或这些应用相应的拓扑或隧道。

一种消息交互装置,该装置包括:至少一个执行如下模块的处理器:

消息处理模块,设置成:在路由器之间交互的消息中增加路由器id使用信息tlv,该路由器id使用信息tlv用于表明发送消息的路由器的路由器id正在被哪个或哪些应用使用;

操作模块,设置成:一路由器通过从其他路由器接收到的所述消息中的所述路由器id使用信息tlv,来执行正在使用发送消息的路由器的路由器id的应用相应的操作。

可选地,所述消息处理模块还设置成:在所述消息中设置路由器的路由器id。

可选地,所述消息处理模块设置成按照如下方式在路由器之间交互的消息中增加路由器id使用信息tlv:在所述路由器id使用信息tlv所包括的内容字段中设置子tlv类型、子tlv长度和子tlv内容。

可选地,所述消息处理模块设置成按照如下方式设置所述子tlv类型:将所述子tlv类型设置为ipv4路由器id使用信息或ipv6路由器id使用信息。

可选地,所述消息处理模块设置成按照如下方式在路由器之间交互的消息中增加路由器id使用信息tlv:设置正在使用所述路由器id的应用包括:te(trafficengineering,流量工程),remote-lfa(loopfreealternate)和sr(segmentrouting,分段路由)中的一种或多种。

可选地,所述消息处理模块设置成按照如下方式设置所述子tlv内容:在所述子tlv内容字段设置标志flag和相应的描述,通过该flag和描述表明发送消息的路由器的路由器id正在被哪个或哪些应用使用,同时反映出该路由器id没有被哪个或哪些应用使用。

可选地,所述操作模块设置成按照如下方式执行正在使用发送消息的路由器的路由器id的应用相应的操作:

当所述路由器id使用信息tlv表明发送消息的路由器的路由器id正在被某一应用或某些应用使用时,建立与该应用或这些应用相应的拓扑或隧道;

当所述路由器id使用信息tlv发映出发送消息的路由器的路由器id没有被某一应用或某些应用使用时,放弃或停止建立与该应用或这些应用相应的拓扑或隧道。

可选地,该装置位于路由器中。

采用上述技术方案后,通过新增路由器id使用信息tlv来表明发送消息的路由器的路由器id正在被某一应用或某些应用使用,使得接收到该消息的路由器可以直接据此进行路由相关操作,如拓扑建立或隧道建立,提高了路由器解析和使用路由器id信息的灵活性,降低了路由器因冗余操作到来 的不必要的资源损耗。

附图说明

图1为本发明消息交互方法的流程示意图;

图2为本发明应用示例1的拓扑图;

图3为本发明实施示例2的拓扑图;

图4为本发明实施示例3的拓扑图;

图5为本发明实施例的装置结构示意图。

具体实施方式

下面将结合附图及实施例对本发明的技术方案进行更详细的说明。

为使本发明的目的、技术方法和优点更加清楚,下面将详述其使用方法,同时结合附图对本发明进行详细描述。

路由器的lsp(linkstatepdu,链路状态协议数据单元)泛洪路由器id信息时,可能存在多种应用或称功能同时使用该路由器id的情况。本发明技术方案通过新增路由器id使用信息tlv来表明发送消息的路由器的路由器id正在被某一应用或某些应用使用,使得接收到该消息的路由器可以直接据此进行路由相关操作,如拓扑建立或隧道建立,提高了路由器解析和使用路由器id信息的灵活性,降低了路由器因冗余操作到来的不必要的资源损耗。

本发明实施例提供了一种路由器之间消息交互的方法,如图1所示,该方法包括:

在路由器之间交互的消息中增加路由器id使用信息tlv,该路由器id使用信息tlv用于表明发送消息的路由器的路由器id正在被哪些应用使用;

一路由器通过从其他路由器接收到的所述消息中的所述路由器id使用信息tlv,来执行正在使用发送消息的路由器的路由器id的应用相应的操作。

可选地,所述消息中还包括发送消息的路由器的路由器id。

可选地,所述路由器id使用信息tlv所包括的内容字段中包括子tlv类型、子tlv长度和子tlv内容。

可选地,所述子tlv类型包括ipv4路由器id使用信息和ipv6路由器id使用信息这两种类型。

可选地,正在使用所述路由器id的应用包括:te(trafficengineering,流量工程),remote-lfa(loopfreealternate)和sr(segmentrouting,分段路由)中的一种或多种。

可选地,所述子tlv内容字段包括标志flag和相应的描述,通过该flag和描述能够表明发送消息的路由器的路由器id正在被哪个或哪些应用使用,同时反映出该路由器id没有被哪个或哪些应用使用。此处之所以所能够反映出该路由器id没有被哪个或哪些应用使用,而不是表明该路由器id没有被哪个或哪些应用使用,是因为从下面的实施例一可知,子tlv内容字段通过标志flag和相应的描述只能表明发送消息的路由器的路由器id正在被哪个或哪些应用使用。

可选地,所述执行正在使用发送消息的路由器的路由器id的应用相应的操作的步骤包括:

当所述路由器id使用信息tlv表明发送消息的路由器的路由器id正在被某一应用或某些应用时,建立与该应用或这些应用相应的拓扑或隧道;

当所述路由器id使用信息tlv发映出发送消息的路由器的路由器id没有被某一应用或某些应用时,放弃或停止建立与该应用或这些应用相应的拓扑或隧道。

实施例一:

本发明实施例的路由器id使用信息tlv具体格式定义如下:

路由器id使用信息–这个可选tlv,在lsp里面应该最多出现一次,用来指明路由器id的使用情况。

类型码–未确定

长度–内容总长度

内容–

子tlv类型码–1或2.

子tlv长度–子tlv内容长度.

子tlv内容–

其中,子tlv类型1:ipv4路由器id使用信息

这种子tlv里面包含的是ipv4路由id使用信息,并且它应该在路由器id使用信息tlv里面最多出现一次。出于灵活易于扩展的考虑,该子tlv的长度没有固定成1个字节(八比特)。

子tlv类型2:ipv6路由器id使用信息

这种子tlv里面包含的是ipv6路由id使用信息,并且它应该在路由器id使用信息tlv里面最多出现一次。出于灵活易于扩展的考虑,该子tlv的长度没有固定成1个字节(八比特)。

下面用本发明的几个应用示例进一步加以说明。

假设路由设备支持了路由器id使用信息tlv:

应用示例1:

假设有如图2网络拓扑,直连节点是互通的,双向metric花销值(如图中的10)相同。现在为链路s-e尝试生成remote-lfa备路由,根据算法可以知道节点c是备选的pq节点。如果通过解析c节点的路由器id使用信息tlv,发现c节点携带的路由器id并不应用于remote-lfa,那么s节点将立马放弃从s节点到c节点的备拓扑,同时也将放弃尝试建立从s节点到c节点的隧道。

应用示例2:假设有如图3网络拓扑,直连节点是互通的,双向metric 值相同。现在为s节点到e节点建立te隧道。虽然从e节点的lsp里面获取到了路由器id,但是如果通过解析e节点的路由器id使用信息tlv,发现e节点携带的路由器id并不应用于te,那么s节点将立马放弃建立从s节点到e节点的te隧道。

应用示例3:假设有如图4网络拓扑,直连节点是互通的,双向metric值相同。现在计划为s节点到d节点的路径实施sr,要求必须经过s-a,a-b,b-c和c-d。虽然从a节点的lsp里面获取到了路由器id,但是如果通过解析a节点的路由器id使用信息tlv,发现a节点携带的路由器id并不应用于sr,那么s节点将放弃解析sr专有的子tlv,并停止sr相关动作。

本发明实施例提供了一种消息交互装置,如图5所示,该装置包括:至少一个执行如下模块的处理器:

消息处理模块501,设置成:在路由器之间交互的消息中增加路由器id使用信息tlv,该路由器id使用信息tlv用于表明发送消息的路由器的路由器id正在被哪个或哪些应用使用;

操作模块502,设置成:通过从其他路由器接收到的所述消息中的所述路由器id使用信息tlv,来执行正在使用发送消息的路由器的路由器id的应用相应的操作。

可选地,所述消息处理模块501还设置成:在所述消息中设置路由器的路由器id。

可选地,所述消息处理模块501设置成按照如下方式在路由器之间交互的消息中增加路由器id使用信息tlv:在所述路由器id使用信息tlv所包括的内容字段中设置子tlv类型、子tlv长度和子tlv内容。

可选地,所述消息处理模块501设置成按照如下方式设置所述子tlv类型:将所述子tlv类型设置为ipv4路由器id使用信息或ipv6路由器id使用信息。

可选地,所述消息处理模块501设置成按照如下方式在路由器之间交互 的消息中增加路由器id使用信息tlv:设置正在使用路由器id的应用包括:te(trafficengineering,流量工程),remote-lfa(loopfreealternate)和sr(segmentrouting,分段路由)中的一种或多种。

可选地,所述消息处理模块501设置成按照如下方式设置所述子tlv内容:在所述子tlv内容字段设置标志flag和相应的描述,通过该flag和描述表明发送消息的路由器的路由器id正在被哪个或哪些应用使用,同时反映出该路由器id没有被哪个或哪些应用使用。此处之所以所能够反映出该路由器id没有被哪个或哪些应用使用,而不是表明该路由器id没有被哪个或哪些应用使用,是因为从下面的实施例一可知,子tlv内容字段通过标志flag和相应的描述只能表明发送消息的路由器的路由器id正在被哪个或哪些应用使用。

可选地,所述操作模块502设置成按照如下方式执行正在使用发送消息的路由器的路由器id的应用相应的操作:

当所述路由器id使用信息tlv表明发送消息的路由器的路由器id正在被某一应用或某些应用使用时,建立与该应用或这些应用相应的拓扑或隧道;

当所述路由器id使用信息tlv发映出发送消息的路由器的路由器id没有被某一应用或某些应用使用时,放弃或停止建立与该应用或这些应用相应的拓扑或隧道。

可选地,上述装置位于路由器中。

上述装置与方法相应的部分与方法的实现相同,在此不再赘述。

上述技术方案中,如果收到的消息中包括路由器id使用信息tlv,路由设备解析消息中的路由器id后,将按照路由器id使用信息tlv里面的信息来使用该路由器id,避免做无用处理,从而降低路由器不必要的资源损耗。

需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的 步骤。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。

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