快速重路由方法及标签交换路由器的制作方法

文档序号:7665108阅读:114来源:国知局
专利名称:快速重路由方法及标签交换路由器的制作方法
技术领域
本发明通讯技术领域,尤其涉及快速重路由方法及应用该方法的标签交 换路由器。
背景技术
快速重路由是一种通过在标签交换路径某个地方失效时提供本地保护的
方式,来为MPLS (多协议标签交换)流量工程标签交换路径的链路或节点失 效进行保护的机制。它允许在头节点尝试建立新的端到端的LSP (标签交换 路径)来替代旧的LSP,在新的LSP建立成功之前,数据继续从旧的LSP中通 过。快速重路由通过将LSP重路由到绕过失效的链路或节点的旁路隧道的方 式对被保护的LSP进行本地修复。绕过失效链路的旁路隧道被称为提供链路 保护,绕过失效节点的被称为提供节点保护。这些旁路隧道要在网络元素失 效前被建立并与被保护路径绑定。这样在网络元素失效时,流量就能够快速 切换到已经存在的旁路隧道上来。
当前版本的流量快速重路由无法处理双链路故障,尤其是当本地保护节 点(PLR)或融合节点(MP)被一个旁路隧道保护时(即嵌套保护),现有 的流量快速重路由机制将无法提供保护。本申请文件所述嵌套保护是指本地 保护节点或融合节点被一个旁路隧道保护。
现有的流量快速重路由中描述了简明保护方式,如图1所示。 在图1中,通过在链路R2-R3正常时建立一条旁路隧道,在链路R2-R3失 效时为被保护隧道提供保护。 一旦链路R2-R3失效,R2会立即将被保护隧道 的流量全部切换到旁路隧道上来。R2在这里被称为本地保护节点PLR。另
5外,R2会发送一个错误码是25 ("通知"),错误值是3 ("隧道被本地保 护")的PathErr (路径错误)消息到头节点R1。该消息会触发R1去尝试新 建一条端到端的LSP来替代被保护的LSP。在R2将流量重路由到旁路隧道上 的同时,R2会通过旁路隧道往下游发一个Path (路径)消息来刷新下游的路 径状态。R4节点作为旁路隧道和被保护隧道的汇合点,被称为融合点MP。 上述现有技术的快速重路由机制无法处理PLR自己被节点保护的情况。 例如,当PLR被一条旁路隧道节点保护时,如图2所示; 此时主隧道经过路径R1、 R2、 R3、 R4。 R1通过旁路隧道T1 (路径RI-R3)为下一跳节点R2提供节点保护。R2通过旁路隧道T2 (路径R2-R4)为 下 一跳节点R3提供节点保护。
当链路R2-R3失效,R2会通过T2发送一个Path消息,R1也会收到一个发 自R2的PathErr消息。所有流量和控制层面的消息都会被R2通过T2发送出 去。因此R3将会出现Path状态超时并删除本地状态。另外,将R3从数据路径 上排除意味着所有将R3作为MP或PLR的FRR绑定都会失效。因此,R1应该 更新它的本地状态并解除和T1的绑定(该动作可以由Resv消息更新下游路径 的RRO (路径记录对象)和由FRR定时器重估计和T1的绑定关系时触发)。 然后R1可能会尝试去查找另一条合适的旁路隧道。在R3删除它的本地状态, 并且R1找到替代的绑定之前,被保护隧道将保持未被保护状态,因此,无法 有效实现链路保护。
另外一种情况为如果链路R2-R3失效后,R1-R2也立即失效,R1会经 过T1发一个Path消息到R3。 R3收到这个Path消息后也会发一个Path刷新消 息到R4。同样的R2也会发一个Path消息经过T2发给R4。收到这个Path消息 后R4会识别出来自己是被保护隧道的MP。根据现有的快速重路由技术,MP 可以决定丢弃从被保护隧道原来的路径收上来的Path消息。因此,收到从R3 发过来的被保护隧道的Path消息时,R4可以将这个Path消息丢弃。这种情况是不被接受的,因为在这种情况下,数据层面是从R1、 R3、 R4这条路径上走的。
再如,MP被一条旁路隧道节点保护,如图3所示;
主隧道经过路径R1、 R2、 R3、 R4。 R1通过旁路隧道T1 (路径R1、 R3)为下一跳节点R2提供节点保护。R2通过旁路隧道T2 (路径R2、 R4)为 下一跳节点R3提供节点保护。
考虑R1进^f亍快速重路由切换到T1的情况,这时R2会一直维持和T2的绑 定关系直到R2上的状态超时。如果在这段时间内,链路R2-R3失效,R2会发 送一个Path消息经过T2发到R4, R4会接收这个Path消息。这种情况使控制层 面的路径和数据层面的相背离,因此这种情况也是不可接受的。
综上所述,现有技术的快速重路由机制无法实现嵌套保护时,某一节点 相连接的两条链路同时故障的情况。

发明内容
本发明实施例提供一种快速重路由方法及标签交换路由器,实现了嵌套 保护下,相邻双链路故障情况的处理。
本发明实施例是通过以下技术方案实现的
本发明实施例提供一种快速重路由方法,所述方法包括如下处理过程
下游融合节点接收到路径消息后,判断是否从旁路隧道接收所述路径消 息,若是,则判断被保护隧道是否经过以本节点为融合节点的旁路隧道的头 节点,若不经过则丢弃该路径消息,否则接收该路径消息;若是从非旁路隧 道的普通路径接收的所述路径消息,则判断当前正在使用的旁路隧道的头节 点是否在从该普通路径收到的路径消息的路径记录对象中,若不在,则接收 所述路径消息;否则丟弃所述从普通路径接收的路径消息;
所述下游融合节点根据上述对路径消息的接收情况更新路径记录对象。
本发明实施例提供一种标签交换路由器,包括判断模块,用于在接收到路径错误消息后,判断本节点是否是节点保护
的旁路隧道的本地保护节点;
路径错误消息处理模块,用于接收所述判断模块的判断结果,当本节点 是节点保护的旁路隧道的本地保护节点时,在接收到路径错误消息后检查所
述旁路隧道的合法性;
绑定关系解除模块,用于接收所述路径错误消息处理模块的处理结果, 在检查到所述旁路隧道的出接口不合法时解除所述旁路隧道的绑定。
本发明实施例提供一种标签交换路由器,包括
路径消息判断模块,用于在接收到路径消息后,判断该路径消息是否是 从旁路隧道接收的;
第一判断模块,用于接收路径消息判断模块的判断结果,若判断结果为 从旁路隧道接收到所述路径消息,则该第 一判断模块判断被保护隧道是否经 过所述旁路隧道的头节点;
第二判断模块,用于接收路径消息判断模块的判断结果,若判断结果为 从非旁路隧道的普通路径接收到所述路径消息,则该第二判断模块判断当前 使用的旁路隧道的头节点是否在所述普通路径发送的路径消息的路径记录对 象中;
路径消息处理模块,用于根据所述第 一判断才莫块及第二判断模块的判断 结果,在判断所述被保护隧道不经过所述旁路隧道的头节点,或当前使用的 旁路隧道的头节点不在所述普通路径发送的路径消息的路径记录对象中时, 丢弃从所述旁路隧道发送的路径消息。
由上述本发明实施例提供的技术方案可以看出,本发明实施例通过改变 节点对路径错误消息以及路径消息的处理流程,有效解决了嵌套保护下相邻 两条链路同时故障的处理问题。完善了快速重路由技术,提高了标签交换路 由器的稳定性。


图1为现有技术简明保护方式示意图2为现有技术PLR被保护时快速重路由示意图3为现有技术层MP被保护时快速重路由示意图4为本发明实施例一节点保护时故障链路上游节点处理实例图5为本发明实施例 一节点保护时故障链路下游节点处理实例图6为本发明实施例二链路保护实例图一;
图7为本发明实施例二链路保护实例图二;
图8为本发明实施例三模块示意图9为本发明实施例四模块示意图。
具体实施例方式
下面结合附图对本发明实施例所提出的技术方案进行详细说明。 本发明实施例通过改变节点对PathErr消息和被保护隧道Path消息的处理 流程,实现了嵌套保护情形下,相邻两条链路同时故障的处理。
本发明实施例所述节点对接收到的PathErr消息和被保护隧道Path消息的 .处理方法包括
1 )对PathErr消息的处理流程当某个节点收到一个带有错误码"隧道 被本地保护"的PathErr消息时,检查自己是不是一条节点保护的旁路隧道的 PLR。如果是,则再检查这种旁路隧道出接口的合法性,即旁路隧道的出接 口是否在数据流经过的路径上,如果旁路隧道的出接口不在数据流经过的路 径上,即旁路隧道的出接口不合法,如果旁路隧道的出接口在数据流经过的 路径上则旁路隧道的出接口合法。如果旁路隧道的出接口不合法解除该旁路 隧道的绑定,否则保留该绑定;如果不是PLR,则不执行此判断过程。
92)对被保护隧道Path消息的处理流程当某个节点第一次收到从某个旁 路隧道过来的被保护隧道的Path消息时,检查被保护隧道是否经过这条旁路 隧道的头节点(例如利用保存在本地Path状态中的路径记录对象RRO)。如 果不经过,则丢弃该Path消息,否则接受该Path消息。当某个节点作为MP, 收到一个从普通路径(非旁路隧道)过来的Path消息时,检查当前正在使用 的这条旁路隧道的头节点是否在这个Path消息携带的RRO中。如果在,则这 个Path消息只是上游被绕过的节点产生的一个刷新消息,因此可以被丢弃。 如果不在,说明上游发生了另一次快速重路由,导致当前使用的旁路隧道的 头节点被绕过,所以这个新的Path消息就应该被接受,并更新PSB(路径状 态块)中的RRO,同时去掉本节点是被保护隧道的MP的标志位。
下面以具体实施例对本发明所述方法进行详细介绍。
实施例一链路故障上游节点处理流程上游节点改变PathErr消息处理 流程,及时和旁^各隧道解除绑定;
如图4所示,图4中虚线表示路径消息发送方向,R1到R4为一条被保护隧 道,主隧道经过路径R1、 R2、 R3、 R4, R1通过旁路隧道T1 (路径R1 、 R3)为下一跳节点R2提供节点保护。R2通过旁路隧道T2 (路径R2、 R4)为 下一跳节点R3提供节点保护。当链路R2-R3失效时,具体操作过程包括如下 步骤
步骤1:当链路R2-R3失效时,R2往上游发送一个错误码为"通知"、错 误值为"隧道被本地保护,,的PathErr消息到R1;
步骤2: R1接收到所述消息,判断自身是不是一条节点保护的旁路隧道 的PLR,如果R1为节点保护旁路隧道的PLR,则R1重新评估被保护隧道和旁 路隧道的绑定关系;如果R1不是被保护隧道的头节点,不执行所述评估操 作,直接将所述消息转发给上游节点直道节点保护旁路隧道的PLR,;
即如果R1为路径上的下一跳节点提供节点保护时,R1检查该旁路隧道出接口的合法性。
步骤3:如果所述R1检查到下一个节点R2正在进行快速重路由切换,已 经从旁路T2绕过了当前节点R1上的旁路隧道T1的出接口 R3,则删除T1与主 隧道的绑定关系,并更新RRO中的标志位,即删除R1作为PLR的标志位;
步骤4: R1查找另外一条在新环境下合适的旁路隧道,如果找到,可以 立即形成绑定关系,为链路R1-R2提供保护。在链路R1-R2失效时,流量可以 从新的旁^各隧道上通过。
上述过程中通过修改故障链路上游节点的PathErr消息处理流程,使得上 游节点可以(只要存在另一条合适的旁路隧道)立即找到正确的绑定关系, 为上游链路提供保护,避免等待绑定关系重估计定时器或是收到下游更新后 的RRO触发期间,上游链路故障却得不到正确的保护问题的出现。
上述操作为当出现一条链路故障时的故障链路上游节点的处理过程,若 与上述故障链路的相邻链路同时发生故障,其故障链路的上游节点的操作可 以采用上述的方法,故障链路下游节点的操作如下所述下游节点接收经过 旁路隧道的被保护隧道的Path消息后,检查被保护隧道是否经过这条旁路隧 道的头节点,如果经过就继续处理这个Path消息,否则作为非法Path消息丢 弃。
如图5所示,虚线表示路径消息发送方向,R1到R4为一条被保护隧道, 主隧道经过路径R1、 R2、 R3、 R4, R1通过旁路隧道T1 (路径R1 、 R3)为 下一跳节点R2提供节点保护。R2通过旁路隧道T2 (路径R2、 R4)为下一跳 节点R3提供节点保护。具体操作过程如下
首先,当链路R1-R2失效时,R1进行快速重路由,流量切换到T1,数据 将不再经过R2。此过程中,链路R1-R2的上游节点的操作同上述图4的说明部 分。
当R1进行快速重路由切换,.R1发送被保护隧道的Path刷新消息给R3,然后从R3发给R4。这样R4的Path状态中的RRO就变成了(R1, R3, R4};
之后,如果链路R2-R3失效,R2会试图进行快速重路由切换,R2通过旁 路隧道T2发送被保护隧道的Path消息给R4, R4检查被保护隧道是否经过所述 旁路隧道T2的头节点R2,由于R2不在R4的RRO中,则R4不再接收从R2发送 过来的Path消息,丢弃这个Path消息。
上述过程为链路R1-R2先发生失效,链路R2-R3后发生失效的处理过程, 当链路R2-R3先发生失效,链路R1-R2后发生失效时,处理过程如下
仍如如图5所示,虚线表示路径消息发送方向,R1到R4为一条被保护隧 道,主隧道经过路径R1、 R2、 R3、 R4, R1通过旁路隧道T1 (路径R1、 R3)为下一跳节点R2提供节点保护。R2通过旁路隧道T2 (路径R2、 R4)为 下 一跳节点R3提供节点保护。
首先,当链路R2-R3失效时,R2进行快速重路由切换到T2,数据将不再 经过R3。 R2会通过T2发送被保护隧道的Path消息给R4,此时R4会为本节点 填加MP标志位。同上游处理流程中所述,R2会向上游节点发送PathErr消 息,上游节点R1在收到从R2发过来的PathErr消息后,*会试图解除和T1的绑 定关系。若链路R1-R2在R1收到从R2发过来的PathEjT消息之前失效。由于 R1和T1的绑定关系仍然有效,这样R1就会通过T1发一个被保护隧道的Path 消息,R3收到这个Path消息后将发给R4—个被保护隧道的Path刷新消息,由 于链路R3-R4是非旁路隧道,因此R4会接收R3发送过来的被保护隧道的Path 刷新消息。之后R4判断当前正在使用的旁路隧道T2的头节点R2是否在这个 Path消息携带的RRO中,因为不在该RRO中,所以不接受R2发送的Path消 息,并更新本地Path状态中的RRO,同时删除本节点做为MP的标志位,以后 从T2收到的被保护隧道的Path消息都会被丢弃。
上述过程通过改变下游节点MP接收从旁路隧道传送的被保护隧道的Path 消息的判断标准,当被保护路径不经过所述接收Path消息的旁路隧道的头节点时,则丟弃所述Path消息。从而保证控制消息和流量走相同的路径,避免
所述节点处理错误的控制消息而影响正常的流量转发。 实施例二,链路嵌套保护时的处理过程
上述实施例一所述的方法同样适用于链路嵌套保护的情形,操作原理相
同,下面以具体实例进行il明。
如图6所示,虚线表示路径消息发送方向,R2是链路保护的旁路隧道T2 的头节点,同时R2被旁路隧道T1节点保护。当链路R2-R3失效,R2经过T2发 送一个Path消息给R3。同时R2也会发送一个PathErr消息给R1,用来通知快 速重路由切换。R1会重新评估被保护隧道和旁路隧道T1的绑定关系,并且发 现R3仍然可以作为MP。因此这种绑定关系不会被解除。这时如果链路R1-R2 失效,R3收到一个从T1发过来的Path消息,既然这个Path消息经过的旁路隧 道的头节点(R1)在R3的本地Path状态的RRO中,这个Path消息就应该被 接受,并将R3的Path状态中的RRO更新为《R1, R3}。后续,如果收到R2经 过T2发过来的Path消息时,因为R2不在Path状态的RRO中,这个消息将被丢 弃。因此,最后的路径就是(R1, R3}。
又一实例如图7所示,该实例仅与图6所述实例的拓朴不同,具体链路保 护以及故障后的处理方式相同,具体方法此处不再赘述。
本发明实施例三提供一种标签交换路由器,如图8所示,其至少设置有 判断模块,用于在接收到PathErr消息后,判断本节点是否是链路保护或
节点保护的旁路隧道的PLR;
路径错误消息处理模块,用于接收所述判断模块的判断结果,当本节点
是链路保护或节点保护的旁路隧道的PLR时,在接收到PathErr消息后检查所
述旁路隧道的合法性,即检查旁路隧道的出接口是否在数据流经过的路径
上;
13绑定关系解除模块,用于接收所述路径错误消息处理模块的处理结果, 在所述链路故障消息处理模块检查到所述旁路隧道的出接口不合法,即不在 数据流经过的路径上时解除所述旁路隧道的绑定关系。
本实施例所述标签交换路由器为故障链路的上游节点,其通过改变
PathErr消息处理流程,及时解除与旁路隧道的绑定,以便重新建立新的合适 的绑定关系,实现了在下游PLR被嵌套保护时,下游链路先发生链路故障的 处理。
本发明实施例四提供一种标签交换路由器,如图9所示,其设置有
路径消息判断模块,用于在接收到路径消息后,判断该路径消息是否是 从旁路隧道接收的;
第一判断模块,用于接收路径消息判断模块的判断结果,若判断结果为 从旁路隧道接收到所述路径消息,则该第 一判断模块判断被保护隧道是否经 过所述旁路隧道的头节点;
第二判断模块,用于接收路径消息判断模块的判断结果,若判断结果为 从非旁路隧道的普通路径接收到所述路径消息,则该第二判断模块判断当前 使用的旁路隧道的头节点是否在所述普通路径发送的路径消息的路径记录对 象中;
路径消息处理模块,用于根据所述第 一判断模块及第二判断模块的判断 结果,在判断所述被保护隧道不经过所述旁路隧道的头节点,或当前使用的 旁路隧道的头节点不在所述普通路径发送的路径消息的路径记录对象中时, 则丢弃从所述旁路隧道发送的路径消息。
本实施例所述标签交换路由器为故障链路的下游节点,其通过改变Path 消息的判断标准,丟弃不合法的Path消息,实现了下游PLR被节点保护时, 出现与该PLR相邻双链路同时(或时间间隔极短)故障,或与所述PLR相邻 上游链路先故障的处理。由于一个节点既可以作为一个故障链路的上游节点,同时也可以作为另 一故障链路的下游节点,因此上述各模块可以同时设置在一个标签交换路由 器上。
综上所述,本发明实施例有效解决了嵌套保护情形下,相邻双链路故障
的问题,实现了 PLR或MP被保护时,该节点相邻两条链路同时(间隔时间极
短)故障的情况的处理。完善了快速重路由技术,提高了标签交换路由器的 稳定性。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不 局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可 轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明 的保护范围应该以权利要求的保护范围为准。
权利要求
1、一种快速重路由方法,其特征在于,所述方法包括如下处理过程下游融合节点接收到路径消息后,判断是否从旁路隧道接收所述路径消息,若是,则判断被保护隧道是否经过以本节点为融合节点的旁路隧道的头节点,若不经过则丢弃该路径消息,否则接收该路径消息;若是从非旁路隧道的普通路径接收的所述路径消息,则判断当前正在使用的旁路隧道的头节点是否在从该普通路径收到的路径消息的路径记录对象中,若不在,则接收所述路径消息;否则丢弃所述从普通路径接收的路径消息;所述下游融合节点根据上述对路径消息的接收情况更新路径记录对象。
2、 如权利要求1所述的方法,其特征在于,所述方法为 在快速重路由保护条件下,发生链路故障时,该故障链路的本地保护节点向上游节点发送路径错误消息,并向下游节点发送路径消息。
3、 如权利要求1所述的方法,其特征在于,所述方法还包括上游的本地保护节点接收到所述路径错误消息后,检查旁路隧道出接口 是否在数据流经过的路径上,如果出接口不在数据流经过的路径上,则解除 该旁路隧道的绑定,否则保留该绑定。
4、 如权利要求3所述的方法,其特征在于,所述方法还包括所述上游 节点若不是当前被保护隧道的头节点,则继续向上游转发所述路径错误消 息,直到所述被保护隧道头节点。
5、 如权利要求3所述的方法,其特征在于,所述方法还包括 所述上游的本地保护节点在解除所述旁路隧道的绑定后,查找另外一条合适的旁路隧道。
6、 如权利要求1至5中任一项所述的方法,其特征在于,所述判断被保护 隧道是否经过以本节点为融合节点的旁路隧道的头节点的方法包括通过检查所述旁路隧道的头节点是否在所述下游融合节点的本地路径状 态的路径记录对象中。
7、 如权利要求1所述的方法,其特征在于,所述下游融合节点从非旁路 隧道的普通路径接收的所述路径消息,且确定接收所述路径消息后,所述方法还包括所述下游融合节点删除本节点作为融合节点的标志位。
8、 一种标签交换路由器,其特征在于,包括判断模块,用于在接收到路径错误消息后,判断本节点是否是节点保护 的旁路隧道的本地保护节点;路径错误消息处理模块,用于接收所述判断模块的判断结果,当本节点 是节点保护的旁路隧道的本地保护节点时,在接收到路径错误消息后检查所 述旁路隧道的合法性;绑定关系解除模块,用于接收所述路径错误消息处理模块的处理结果, 在检查到所述旁路隧道的出接口不合法时解除所述旁路隧道的绑定。
9、 一种标签交换路由器,其特征在于,包括路径消息判断模块,用于在接收到路径消息后,判断该路径消息是否是 从旁路隧道接收的;第一判断模块,用于接收路径消息判断模块的判断结果,若判断结果为 从旁路隧道接收到所述路径消息,则该第 一判断模块判断被保护隧道是否经 过所述旁路隧道的头节点;第二判断模块,用于接收路径消息判断模块的判断结果,若判断结果为 从非旁路隧道的普通路径接收到所述路径消息,则该第二判断模块判断当前 使用的旁路隧道的头节点是否在所述普通路径发送的路径消息的路径记录对 象中;路径消息处理模块,用于根据所述第 一判断模块及第二判断模块的判断结果,在判断所述被保护隧道不经过所述旁路隧道的头节点,或当前使用的 旁路隧道的头节点不在所述普通路径发送的路径消息的路径记录对象中时, 丢弃从所述旁路隧道发送的路径消息。
10、如权利要求9所述的标签交换路由器,其特征在于,还包括判断模块,用于在接收到路径错误消息后,判断本节点是否是节点保护的旁路隧道的本地保护节点;路径错误消息处理模块,用于接收所述判断模块的判断结果,当本节点 是节点保护的旁路隧道的本地保护节点时,在接收到路径错误消息后检查所 述旁路隧道的合法性;绑定关系解除模块,用于接收所述路径错误消息处理模块的处理结果, 在检查到所述旁路隧道的出接口不合法时解除所述旁路隧道的绑定。
全文摘要
本发明涉及通信技术领域一种快速重路由方法及标签交换路由器。标签交换路由器包括路径消息判断模块、第一判断模块、第二判断模块及路径消息处理模块,用于判断接收的路径消息是否从旁路隧道接收的,若是,则判断被保护隧道是否经过以本节点为融合节点的旁路隧道的头节点,若不经过则丢弃该路径消息,否则接收该路径消息;若是从非旁路隧道的普通路径接收的所述路径消息,则判断当前正在使用的旁路隧道的头节点是否在从该普通路径收到的路径消息的路径记录对象中,若不在,则接收所述路径消息;否则丢弃所述从普通路径接收的路径消息。本发明通过改变节点对路径错误消息以及路径消息的处理流程,有效解决了嵌套保护下相邻双链路故障的处理问题。
文档编号H04L12/46GK101431466SQ20071017713
公开日2009年5月13日 申请日期2007年11月9日 优先权日2007年11月9日
发明者阿密特·库默 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1