一种路由切换的方法和装置 【技术领域】
本发明涉及网络通信技术, 特别涉及一种路由切换的方法和装置。背景技术 在网络通信技术中, 如果网络设备维护了到达目的地的多条等价路由, 则该网络 设备会将发送至目的地的流量平分为对应等价路由数目的份数。如图 1 所示, 路由设备 S 维护了到达目的地 D1 的三条等价路由, 分别为 : 下一跳为路由设备 I 的路由、 下一跳为路由 设备 J 的路由、 以及下一跳为路由设备 K 的路由。如果路由设备 S 需要向目的地 D1 转发流 量, 则如图 1 所示, 路由设备 S 会将流量平均分为 3 份, 分别通过上述三条等价路由转发。
在上述流量转发过程中, 如果三条等价路由中有一条失效, 比如图 1 中由于路由 设备 S 和路由设备 K 之间的链路发生故障而导致下一跳为路由设备 K 的路由失效, 则此时 经由该失效路由的流量就无法到达目的地 D1, 即出现流量中断。该流量中断会一直持续到 路由设备 S 根据上层设备 ( 简称上层 ) 发送的路由更新信息更新到达目的地 D1 的等价路
由为止。 这里, 路由更新信息是上层在感知到网络故障后, 重新根据当前有效的网络拓扑结 构计算出到达目的地 D1 的等价路由之后发送的。可以看出, 此时的流量中断时间为探测路 由失效的时间、 上层重新计算路由的时间和下刷该重新计算的路由的时间之和, 其一般比 较长, 不能满足现有网络的需求。
为了缩短流量中断时间, 现有技术提供了 IP 快速重路由 (FRR) 方案。该方案的基 本原理时 : 提前计算备份路由, 一旦探测到路由失效立即启用备份路由替换失效路由进行 流量转发, 使得流量中断时间缩短为探测路由失效的时间和采用备份路由替换失效路由的 时间之和, 这相比于上述方案, 缩短了流量中断时间。 仍以图 1 所示的组网为例对该 IP FRR 方案进行详细描述。
步骤 1, 路由设备 S 形成针对目的地 D1 的路由信息。
本步骤主要发生在路由设备 S 学习到到达目的地 D1 的等价路由之后执行的, 其中 该路由信息具体包含目的地 D1 分别与到达该目的地 D1 的互为主备关系的路由之间的对应 关系。 这里, 主用路由和备用路由是路由设备 S 学习到到达目的地 D1 的路由后根据 IP FRR 算法从该学习的等价路由中确定出的。以图 1 所示, 若路由设备 S 学习到到达目的地 D1 对 应的等价路由有三条, 分别为 : 下一跳为路由设备 I 的路由、 下一跳为路由设备 J 的路由、 以 及下一跳为路由设备 K 的路由, 假如路由设备 S 根据 IP FRR 算法确定出下一跳为路由设备 J 的路由为备份路由, 其他两个为主用路由, 则形成的路由信息如图 2a 所示。
步骤 2, 路由设备 S 在向目的地 D1 转发流量时, 将该流量平分为两份, 分别通过图 2a 所述的两个主用路由转发, 而备用路由不参与实际转发。
步骤 3, 在步骤 2 的流量转发过程中, 若有主用路由出现失效, 比如下一跳为路由 设备 K 的主用路由失效, 则启用图 2a 所示的备用路由替代该失效的主用路由转发该失效路 由的流量, 具体参见图 2b 所示。
可以看出, 在 IP FRR 方案中, 如果主用路由失效, 直接将该失效主用路由的流量切换至备份路由, 这减少了流量中断的时间。
步骤 4, 在步骤 3 的流量转发过程中, 路由设备 S 学习到上层下刷的路由更新信息 时, 重新根据该路由更新信息确定到达目的地的主用路由和备份路由。
在本步骤中, 由于下一跳为路由设备 K 的路由出现故障, 因此, 路由设备 S 新学习 到的路由更新信息中不会包括下一跳为路由设备 K 的路由, 而是仅包含下一跳为路由设备 I 和 J 的路由, 基于此, 本步骤中, 路由设备 S 可根据 IP FRR 算法从下一跳为路由设备 I 和 J 的路由中确定出主用路由和备用路由, 这里假如确定出下一跳为路由设备 J 的路由为备 份路由, 如此, 上述图 2a 更改为图 2c。之后, 路由设备 S 将向目的地 D1 转发的流量集中通 过下一跳路由设备 I 转发。
上述 IP FRR 方案虽然能够缩短流量中断的时间, 但是, 这种方案需要提前预留出 一条作为主用路由备份的备份路由, 该备份路由在主用路由正常时不用于实际转发, 这对 网络资源来说显然是一种严重的浪费 ; 并且, 本领域技术人员知道, 在网络中采用备份路由 时通常会出现环路, 如果要实现全网无环路, 则需要及其复杂的运算, 这大大提高了 IP FRR 方案实现的复杂度。 发明内容 本发明提供了一种路由切换方法和装置, 以实现在缩短流量中断时间时避免由于 现有 IP FRR 方案而导致的网络资源浪费等问题。
本发明提供的技术方案包括 :
一种路由切换方法, 包括 :
在网络设备通过到达目的地的 N 条等价路由转发流量时, 如果其中 M 条路由失效, 则针对每条失效路由, 从 N-M 条未失效路由中确定出用于替代该失效路由的替代路由, 将 该失效路由修改为该替代路由, 以使该失效路由的流量切换至该替代路由上 ;
其中, 所述 N、 M 为正整数, N 大于等于 2, M 大于等于 1 且小于 N。
一种路由切换装置, 包括 :
转发单元, 用于通过到达目的地的 N 条等价路由向所述目的地转发流量 ;
确定单元, 用于在所述转发单元转发流量的过程中, 如果其中 M 条路由失效, 则针 对每条失效路由, 从 N-M 条未失效的路由中确定出用于替代该失效路由的替代路由 ;
切换单元, 用于将每条失效路由修改为所述确定单元确定的用于替代该失效路由 的替代路由, 以使该失效路由转发的流量切换至该替代路由上 ;
其中, 所述 N、 M 为正整数, N 大于等于 2, M 大于等于 1 且小于 N。
由以上技术方案可以看出, 本发明在流量转发过程中, 如果有路由失效, 则直接用 原有路由中未失效路由替代该失效路由转发流量, 使流量中断时间缩短为探测路由失效的 时间和采用有效路由替换失效路由的时间之和 ; 并且, 由于这种方法不需要备份路径, 而是 直接用原有用于转发流量的未失效路由替代失效路由, 显然不会出现 IP FRR 方案中由于提 前预留备份路由而导致的计算复杂度加大、 网络资源浪费等问题。
附图说明
图 1 为现有路由切换的组网示意图 ;图 2a 至 2c 为现有 IP FRR 方案中进行流量转发时的路由示意图 ; 图 3 为本发明实施例一提供的流程图 ; 图 4a 至 4c 为本发明实施例一实现流量转发时所采用的路由示意图 ; 图 5 为本发明实施例二提供的流程图 ; 图 6a 至 6e 为本发明实施例二实现流量转发时所采用的路由示意图 ; 图 7 为本发明实施例提供的装置结构图。具体实施方式
本发明实施例提供的方法主要包括 : 在网络设备通过到目的地的 N 条等价路由转 发流量时, 如果其中 M 条路由失效, 则针对每条失效路由, 从 N-M 条未失效的路由中确定出 用于替代该失效路由的替代路由, 将该失效路由修改为该替代路由, 以使该失效路由转发 的流量切换至该替代路由上。也就是说, 本发明在流量转发过程中, 如果有路由失效, 则直 接用原有路由中未失效路由替代该失效路由转发流量, 这显然能够缩短流量中断时间 ; 并 且, 由于这种方法不需要备份路径, 而是直接用原有用于转发流量的未失效路由替代失效 路由, 显然不会出现 IP FRR 方案中由于提前预留备份路由而导致的计算复杂度加大、 网络 资源浪费等问题。 在上述方法中, N、 M 为正整数, 其中, N 大于等于 2, M 大于等于 1 且小于 N。
在上述方法中, 网络设备具体实现时可为路由设备或者为具有路由功能的交换设 备等。为了使本发明的目的、 技术方案和优点更加清楚, 下面以网络设备为路由设备为例, 结合附图和具体实施例对本发明进行详细描述。
实施例一 :
参见图 3, 图 3 为本发明实施例提供的实施例一的流程图。该流程以上述提及的 N 和 M 分别为 3 和 1 为例, 其他情况实现原理类似。如此, 基于图 1 所示的组网, 如图 3 所示, 该流程可包括以下步骤 :
步骤 301, 路由设备 S 形成针对目的地 D1 的等价路由信息。
本步骤 301 是在路由设备 S 初始学习到到达目的地 D1 的路由后执行的。其中, 该 等价路由信息具体可为路由表中关于 D1 的相关路由表项, 可包括目的地 D1 和各个等价路 由之间的对应关系。比如, 图 1 中, 路由设备 S 学习到到达目的地 D1 的路由中存在三条等 价路由, 分别为 : 下一跳为路由设备 I 的路由, 下一跳为路由设备 J 的路由, 以及下一跳为路 由设备 K 的路由, 如此, 本步骤 301 形成的等价路由信息具体可如图 4a 所示。
步骤 302, 路由设备 S 在向目的地 D1 转发流量时, 将该流量平均分为 3 份, 分别通 过图 4a 所示的三条等价路由转发。
也就是说, 图 4a 所示的三条等价路由分别转发发送至目的地 D1 总流量的 1/3。
步骤 303, 如果在步骤 302 的流量转发过程中, 下一跳为路由设备 K 的路由失效, 则 执行下述步骤 304。
步骤 304, 从当前未失效的路由中确定出用于替代该失效路由的替代路由, 将图 4a 中设置了该失效路由的表项修改为该替代路由。
本实施例中, 如果失效路由的个数, 以及剩余的未失效路由的个数相同, 且大于等 于 2, 则本步骤 304 在执行上述确定操作时, 可按照负载均衡原则确定失效路由的替代路
由, 以避免将所有失效路由的流量后续都切换至某一条未失效的路由上。 比如, 如果目的地 D1 对应的等价路由为 4 条, 记为 : 路由 1 至 4, , 若在流量转发过程中其中两条路由比如路 由 1 和 2 失效, 则可将剩余的两条未失效路由即路由 3 和路由 4 分别替代该两条失效路由, 而不是仅利用一个未失效路由同时替代该两条失效路由, 这能进一步保证流量转发的可靠 性。 当然, 如果失效路由的个数和未失效路由的个数不相同, 比如失效路由的数目大于未失 效路由的数目, 或者失效路由的数目小于未失效路由的数目, 则可任意从未失效路由中选 择各个失效路由的替代路由, 或者按照轮询方式从未失效路由中选择各个失效路由的替代 路由, 这里并不具体限定。 其中, 按照轮询方式从未失效路由中选择失效路由的替代路由具 体为 : 按照顺序轮询未失效路由, 并将轮询到的路由依次确定为各个失效路由的替代路由, 如果在轮询完未失效路由后还有失效路由未确定出对应的替代路由, 则重新再轮询, 直至 所有失效路由都能确定出对应的替代路由为止。比如, 到达目的地 D1 的路由存在 5 条, 记 为: 路由 1 至 5, 若在流量转发过程中 3 条路由比如路由 1 至 3 失效, 则按照顺序轮询剩余 的两条未失效路由, 将先轮询到的路由即路由 4 确定为失效路由 1 的替代路由, 将后轮询到 的路由即路由 5 确定失效路由 2 的替代路由, 之后重新再按照顺序轮询未失效路由, 将先轮 询到的路由即路由 4 确定为失效路由 3 的替代路由。 本实施例中, 在图 4a 中, 存在三条等价路由, 而其中一条路由即下一跳为路由设 备 K 的路由失效, 其他两条路由未失效, 如此, 执行到本步骤 304 时, 可按照上述失效路由的 个数和未失效路由的个数不相同时的方式为该下一跳为路由设备 K 的路由选择替代路由, 假如选择下一跳为路由设备 I 的路由替代该失效路由, 则可将设置了该失效路由的表项修 改为下一跳为路由设备 I 的路由, 具体可如图 4b 所示。
需要说明的是, 本步骤 304 可在路由设备 S 未学习到上层下刷的路由更新消息时 执行的, 其目的就是为了缩短由于失效路由而导致流量中断的时间, 这是因为 : 一方面, 失 效路由、 以及目的地和失效路由之间的对应关系只能在学习到上层发送的路由更新消息后 才可删除, 而此时还未接收到路由更新消息, 因此不能直接删除失效路由, 也不能删除目的 地和失效路由之间的对应关系, 可以看出, 如果不执行上述步骤 304, 就会导致流量中断持 续到路由设备 S 学习到路由更新消息, 这段时间一般比较长 ; 另一方面, 虽然在路由失效 时, 可以置路由反刷标记, 即直接由路由设备 S 中的用于管理路由的模块将路由失效的信 息通知给上层, 以使上层尽快下刷路由更新消息, 但是, 路由更新消息的下刷是在上层根据 正常的网络拓扑结构重新计算出路由后执行的, 而通常上层计算路由的时间比较长, 并且, 即使路由设备 S 接收到路由更新消息后, 如果路由设备 S 上存在多个目的地对应该失效路 由时, 还需要逐一删除该失效路由, 以及该失效路由与各个目的之间的对应关系, 这都需要 比较长的时间。 基于上述两个方面的分析, 本实施例为了提高路由切换速度, 不再依赖于路 由更新消息, 而是直接执行步骤 304, 以使未失效路由替代失效路由转发流量, 具体见下述 步骤 305。
步骤 305, 通过目的地 D1 当前对应的各个等价路由向目的地 D1 转发流量。
从图 4b 可以看出, 目的地 D1 依然对应三个表项, 只不过其中两个表项设置了下一 跳为路由设备 I 的路由, 另一个表项设置了下一跳为路由设备 J 的路由, 如此, 执行到本步 骤 305 时, 依然将转发至目的地的流量平均分为 3 份, 分别由图 4b 所示的三个表项中的路 由转发。 可以看出, 执行到本步骤 305 时, 下一跳为路由设备 J 的路由转发流量保持不变, 仍
然转发发送至目的地 D1 总流量的 1/3, 而下一跳为路由设备 I 的路由则需要转发发送至目 的地 D1 总流量的 2/3, 即在原来转发 1/3 流量的基础上增加了原本由失效路由转发的 1/3 流量。
可以看出, 本实施例在路由失效时, 直接将失效路由的流量切换至当前采用的未 失效路由, 不依赖于路由更新消息, 使得流量中断时间缩短为探测路由失效的时间和采用 未失效路由替代失效路由的时间 ( 该时间比较短, 基本可以忽略 ) 之和。并且, 由于本实施 例不需要备份路径, 而是直接用原有用于转发流量的未失效路由替代失效路由, 显然不会 出现 IP FRR 方案中由于提前预留备份路由而导致的计算复杂度加大、 网络资源浪费等问 题。
步骤 306, 在步骤 305 的流量转发过程中, 如果路由设备 S 学习到上层下刷的路由 更新消息, 则删除图 4b 中被修改的表项, 并删除目的地 D1 和该表项之间的对应关系。
也就是说, 步骤 305 利用未失效路由替代失效路由转发流量只是暂时的, 其只会 持续到路由设备 S 学习到路由更新消息。
在步骤 304 中, 为便于识别修改的表项, 可在完成表项修改后, 对该被修改的表项 作一修改标记。比如, 步骤 304 中对图 4b 所示的第三个表项进行了修改, 可在该图 4b 所示 的第三个表项做一个修改标记 ( 图 4b 未示出 )。如此, 执行到本步骤 306 时, 可直接删除具 有修改标记的表项, 并相应删除该表项和目的地 D1 之间的对应关系, 具体见图 4c 所示。此 时, 图 4c 所示的路由信息仅包含目的地 D1 与两条等价路由即下一跳分别为路由设备 I 和 J 之间的对应关系。 步骤 307, 路由设备 S 将转发至目的地 D1 的流量平分为两份, 分别通过图 4c 所示 的两条等价路由转发。
也就是说, 图 4c 所示的两条等价路由分别转发发送至目的地 D1 总流量的 1/2。 在 该流量转发过程中, 如果还有路由出现失效, 则按照上述步骤 303 中的操作执行。
至此, 实现了本发明实施例一所提供的方法流程。
在组网中, 路由资源是有限的, 其可能会存在这种情况 : 到达不同目的地的等价路 由是完全相同的。仍以图 1 为例, 可以看出, 路由设备 S 到达目的地 D1 和 D2 的等价路由是 相同的, 分别为 : 下一跳为路由设备 I 的路由、 下一跳为路由设备 J 的路由和下一跳为路由 设备 K 的路由, 基于此, 本实施例可使这两个目的地共用路由, 具体实现时可将该共用的路 由放置在虚拟下一跳 (VN) 中, 并使这两个目的地分别对应该 VN, 具体参见实施例二描述。
实施例二 :
参见图 5, 图 5 为本发明实施例提供的第二流程图。该流程以上述提及的 N 和 M 分 别为 3 和 1 为例, 其他情况实现原理类似。如此, 基于图 1 所示的组网, 如图 5 所示, 该流程 可包括以下步骤 :
步骤 501, 路由设备 S 学习到到达目的地 D1 的等价路由后, 判断当前是否存在仅包 含该等价路由的 VN, 如果否, 则执行步骤 502 ; 如果是, 则执行步骤 503。
这里, 假如学习到的等价路由分别为 : 下一跳分别为路由设备 I、 I 和 K 的路由, 则 步骤 501 中的判断为 : 路由设备 S 判断当前是否存在仅包含下一跳分别为路由设备 I、 I和 K 的路由的 VN。
步骤 502, 创建包含该等价路由的 VN, 并使目的地 D1 指向该创建的 VN。 之后, 执行
步骤 504。
如上所述, 假如学习到的等价路由分别为 : 下一跳分别为路由设备 I、 J 和 K 的路 由, 则创建的 VN 中包含了下一跳为路由设备 I、 J 和 K 的路由, 其中, 该三条等价路由分别设 置在该创建的 VN 所包含的三个表项中, 之后, 使目的地 D1 指向该创建的 VN, 即建立了目的 地 D1 和该创建的 VN 之间的对应关系, 具体可如图 6a 所示。
步骤 503, 将目的地 D1 指向该存在的 VN。之后执行步骤 504。
比如, 在执行本步骤 501 之前, 若目的地 D2 指向的 VN 为步骤 501 判断出的 VN, 则 执行到本步骤 503 时, 直接将目的地 D1 指向该 VN, 即建立了目的地 D1 和该存在的 VN 之间 的对应关系, 具体参见图 6b 所示。
以上步骤 501 至步骤 503 为对到达目的地 D1 的路由信息进行的初始化操作。以 下以图 6b 所示的路由为例进行描述, 图 6a 的实现原理类似。
步骤 504, 路由设备 S 在向目的地 D1 转发流量时, 将该流量平均分为 3 份, 分别通 过图 6b 所示的三条等价路由转发。
也就是说, 图 6b 所示的三条等价路由分别转发发送至目的地 D1 总流量的 1/3。
步骤 505, 如果在步骤 501 的流量转发过程中, 图 6b 所示的下一跳为路由设备 K 的 路由失效, 则执行下述步骤 506。
步骤 506, 从当前未失效的路由中确定出用于替代该失效路由的替代路由, 将图 6b 中设置了该失效路由的表项修改为该替代路由。
这里, 步骤 506 中确定替代路由的具体操作可与步骤 304 类似, 这里不再赘述。
至于步骤 506 中的修改操作, 以确定出的路由为下一跳为路由设备 I 的路由为例, 则将原来设置了下一跳为路由设备 K 的路由 ( 失效路由 ) 的表项修改为下一跳为路由设备 I 的路由, 具体如图 6c 所示。
需要说明的是, 虽然 VN 中的表项可以由用户随时修改, 并非要求在学习到路由更 新消息时进行更改, 但是, 在步骤 506 中仍然不直接删除目的地 D1 对应的 VN 中的失效路 由, 理由为 : 如果在步骤 506 中直接删除 VN 中的失效路由, 则会导致同时存在多个相同 VN 的可能, 不符合 VN 的规范, 比如, 在执行步骤 506 之前, 其他目的地比如目的地 D3 对应的 VN 中包含两条等价路由, 分别为下一跳为路由设备 I 和下一跳为路由设备 J 的路由, 而执行到 步骤 506 时, 若直接删除目的地 D1 对应的 VN 中的失效路由即下一跳为路由设备 K 的路由, 则该 VN 中就与目的地 D3 对应的 VN 相同, 这不符合 VN 的规范, 因此, 为满足 VN 规范, 先临 时执行上述步骤 506。
步骤 507, 通过目的地 D1 当前对应的 VN 包含的等价路由向目的地 D1 转发流量。
目的地 D1 当前对应的 VN 如图 6c 所示, 从图 6c 可以看出, 目的地 D1 对应的 VN 中依然包含三个表项, 只不过其中两个表项设置了下一跳为路由设备 I 的路由, 另一个表 项设置了下一跳为路由设备 J 的路由, 如此, 执行到本步骤 507 时, 依然将转发至目的地的 流量平均分为 3 份, 分别由图 6c 所示的三个表项中的路由转发。可以看出, 执行到本步骤 507 时, 下一跳为路由设备 J 的路由转发流量保持不变, 仍然转发发送至目的地 D1 总流量的 1/3, 而下一跳为路由设备 I 的路由则需要转发发送至目的地 D1 总流量的 2/3, 即在原来转 1/3 流量的基础上增加了原本由失效路由转发的 1/3 流量。
步骤 508, 在步骤 507 的流量转发过程中, 如果接收到上层下发的路由更新消息,则判断当前存在的其他 VN 中是否存在仅包含图 6b 所示的未失效路由的 VN, 如果是, 执行步 骤 509, 如果否, 执行步骤 510。
从图 6b 中可以看出, 未失效路由为 : 下一跳分别为路由设备 I 和 J 的路由, 如此, 本步骤 508 中的判断为 : 判断当前存在的其他 VN 中是否存在仅包含下一跳为路由设备 I 和 J 的路由的 VN。
步骤 509, 使指向图 6b 所示 VN( 记为 VN1) 的目的地即目的地 D1 和 D2 指向该存在 的 VN( 记为 VN2), 并删除该 VN1。之后执行步骤 511。
假如除了目的地 D1 和 D2 之外的其他目的地指向的 VN2 为步骤 508 判断出的 VN, 则执行到本步骤 509 时, 建立目的地 D1 和 D2 与 VN2 之间的对应关系, 之后删除目的地原先 指向的 VN1, 具体参见图 6d。
需要说明的是, 如果原本指向图 6b 所示 VN( 记为 VN1) 的目的地只有一个目的地 即目的地 D1, 则执行到本步骤 509 时, 使 D1 指向步骤 508 判断出的 VN, 并删除该 VN1。
步骤 510, 删除 VN1 中被修改的表项。
在步骤 506 中, 为便于识别修改的表项, 可在完成表项修改后, 对该被修改的表项 作一修改标记。比如, 步骤 506 中对图 6c 所示的第三个表项进行了修改, 可在该图 6c 所示 的第三个表项做一个修改标记 ( 图 6c 未示出 )。如此, 执行到本步骤 510 时, 可直接删除该 具有修改标记的表项, 具体见图 6e 所示。此时, 图 6e 所示的 VN 仅包含两个表项, 分别设置 了下一跳为路由设备 I 的路由和下一跳为路由设备 J 的路由。 可以看出, 本步骤 510 并不删除目的地 D1 和 VN 之间的对应关系, 而是直接更新 VN 中的内容, 提高了路由切换效率。
步骤 511, 路由设备 S 将转发至目的地 D1 的流量平分为两份, 分别通过图 6d 或 6e 所示的 VN 中的两条等价路由转发。
也就是说, 图 6d 或 6e 所示的 VN 中的两条等价路由分别转发发送至目的地 D1 总 流量的 1/2。在该流量转发过程中, 如果还有路由出现失效, 则按照上述步骤 505 中的操作 执行。
至此, 通过上面描述实现了本发明实施例二所示的流程。
以上对本发明实施例提供的方法进行了描述, 下面对本发明实施例提供的装置进 行描述。
参见图 7, 图 7 为本发明实施例提供的装置结构图。如图 7 所示, 该装置包括 :
转发单元 701, 用于通过到达目的地的 N 条等价路由向所述目的地转发流量 ;
确定单元 702, 用于在转发单元 701 转发流量的过程中, 如果其中 M 条路由失效, 则 针对每条失效路由, 从 N-M 条未失效的路由中确定出用于替代该失效路由的替代路由 ;
切换单元 703, 用于将每条失效路由修改为确定单元 702 确定的用于替代该失效 路由的替代路由, 以使该失效路由转发的流量切换至该替代路由上 ;
其中, 所述 N、 M 为正整数, N 大于等于 2, M 大于等于 1 且小于 N。
本发明实施例中的装置在具体实现时可包括 : 第一存储单元 704 和第一处理单元 705, 其中,
第一存储单元 704, 用于存储所述目的地对应的 N 个表项, 其中, 所述 N 条等价路由 分别设置在所述 N 个表项中 ; 基于此, 切换单元 703 用于将第一存储单元 704 存储的设置了
失效路由的表项修改为用于替代该失效路由的替代路由 ;
第一处理单元 705, 用于在切换单元 703 执行流量转发的过程中, 如果接收到上层 下刷的路由更新信息, 则删除第一存储单元 704 存储的所述目的地对应的被修改的表项, 之后利用所述目的地当前对应的表项中的等价路由向所述目的地转发流量 ; 其中, 所述路 由更新信息是由上层设备感知路由失效后, 重新计算出到达所述目的地的等价路由后所发 送的。
优选地, 作为本发明实施例的一种扩展, 如图 7 所示, 该装置还可包括 : 第二存储 单元 706 和第二处理单元 707。
其中, 第二存储单元 706, 用于存储所述目的地对应的虚拟下一跳 VN, 其中, 所述 N 条等价路由分别设置在所述 VN 包含的 N 个表项中 ; 基于此, 切换单元 703 用于将第二存储 单元 706 设置了失效路由的表项修改为用于替代该失效路由的替代路由。
第二处理单元 707, 用于在切换单元 703 执行流量转发过程中, 如果接收到上层设 备发送的路由更新信息时, 判断第二存储单元 706 当前存在的其他 VN 中是否存在仅包含所 述 N-M 条未失效路由的 VN, 如果否, 则删除所述目的地对应的 VN 中被修改的表项, 如果是, 删除所述目的地原先对应的 VN, 并将所述目的地与当前存在的其他 VN 对应, 之后通过所述 目的地当前对应的 VN 中的等价路由向所述目的地转发流量, 其中, 所述路由更新信息是由 上层设备感知路由失效时, 重新计算出到达所述目的地的等价路由所发送的。 由以上技术方案可以看出, 本发明提供的方法具备以下优点 :
1), 在路由失效时, 直接将失效路由转发的流量切换至未失效路由转发, 使得流量 中断时间缩短为探测路由失效的时间和采用未失效路由替代失效路由的时间 ( 该时间比 较短, 基本可以忽略 ) 之和, 这实现了路由的快速切换, 大大缩短流量的中断时间。
2), 相对于 IP FRR 技术, 由于不需要提前计算备份路由, 因此, 节约了网络资源, 并 且, 不需要复杂的无环备用路由计算, 实现简单, 性价比高。
以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内, 所做的任何修改、 等同替换、 改进等, 均应包含在本发明保护的范围之内。