基于分布式架构的路由方法和系统的制作方法

文档序号:7815304阅读:287来源:国知局
基于分布式架构的路由方法和系统的制作方法
【专利摘要】本发明实施例提供了一种基于分布式架构的路由方法和系统,所述分布式架构包括一个或多个同步客户端SyncClient,所述方法包括:获取路由配置信息;采用所述路由配置信息生成第一路由信息库RIB;所述第一路由信息库RIB包括第一转发信息库FIB;当接收到一个或多个同步客户端SyncClient发送的注册信息时,向所述一个或多个同步客户端SyncClient同步所述第一转发信息库FIB;依据所述第一转发信息库FIB生成第一本地转发表LocalFIB。本发明可以提高转发效率,降低路由配置的复杂度,并减少人工配置。
【专利说明】基于分布式架构的路由方法和系统

【技术领域】
[0001] 本发明涉及电信【技术领域】,特别是涉及一种基于分布式架构的路由方法和一种基 于分布式架构的路由系统。

【背景技术】
[0002] 随着互联网的兴起,越来越多的人使用IP(Internet Protocol,网络之间互连的 协议)网络,因此,移动运营商对于IP网络的可靠性提出了越来越高的要求。
[0003] 目前,支撑IP网络的电信级设备均采用基于IP技术的分布式架构,与传统的IP 网络节点相比,分布式架构除了拥有多个网络接口外,还可能具有多个业务单板,因此,完 成业务处理节点,接口处理节点等与网元间设备的通信可以有以下两种方案:
[0004] 方案一,参照图1,示出了目前路由通信解决方案一的结构示意图。具体地,网元的 各个接口板上实现网络地址转换NAT(Network Address Translation,网络地址转换)功 能;网元内部处理节点与外部网元通信时,通过接口板的NAT功能;
[0005] 当内部处理节点向外部网元传输数据时,先将数据包传输到支持NAT功能的接口 处理节点上,接口处理节点检查数据包的报头,获取该数据包的源IP信息,并从NAT映射 表中找到与该源IP信息匹配的转换条目,用所选用的外部地址替换内部地址,并转发数据 包。
[0006] 当外部网元对网元内部业务处理节点进行应答时,数据包被送到接口处理节点 上,接口处理节点收到目的地址为该网元对外的IP地址后,将用该IP地址通过NAT映射表 查找到内部地址,然后将数据包的目的地址替换成内部地址,并将数据包转发到内部业务 处理节点。
[0007] 方案二,参照图2,示出了目前路由通信解决方案二的结构示意图。网元内各处理 节点分别做为独立路由实体,配置各自的路由。网元内接口处理节点、业务处理节点等分别 配置外部IP地址,在每个节点上分别配置对外网元的路由,或是在各个处理节点上启动动 态路由协议。
[0008] 然而,方案一和方案二都存在缺点,方案一的缺点在于:NAT转换需要对每个进出 路由器的IP报文进行IP地址检查,并且需要对转换的IP报文的IP地址、端口进行转换, 不可避免地导致IP报文转发效率降低。方案二的缺点在于:将网元内部各个节点做为独立 路由实体,需在每个节点上配置路由信息,配置条目数较多,对于小型组网来说是可以接受 的,但对于大型组网来说是其弊端。如果在各个节点上启动动态路由协议,对于网元实现而 言,需要由专业人员人工配置,复杂度高。
[0009] 因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提供一种基于分 布式架构的路由方法和系统,用以提高转发效率,降低路由配置的复杂度,并减少人工配 置。


【发明内容】

[0010] 本发明实施例所要解决的技术问题是提供一种基于分布式架构的路由方法,用以 提高转发效率,降低路由配置的复杂度,并减少人工配置。
[0011] 相应的,本发明实施例还提供了一种基于分布式架构的路由系统,用以保证上述 方法的实现及应用。
[0012] 为了解决上述问题,本发明公开了一种基于分布式架构的路由方法,所述分布式 架构包括一个或多个同步客户端SyncClient,所述方法包括:
[0013] 获取路由配置信息;
[0014] 采用所述路由配置信息生成第一路由信息库RIB ;所述第一路由信息库RIB包括 第一转发信息库FIB ;
[0015] 当接收到一个或多个同步客户端SyncClient发送的注册信息时,向所述一个或 多个同步客户端SyncClient同步所述第一转发信息库FIB ;
[0016] 依据所述第一转发信息库FIB生成第一本地转发表LocalFIB。
[0017] 优选地,所述方法还包括:
[0018] 当接收到数据变更消息时,对所述第一路由信息库RIB进行更新,生成第二路由 信息库RIB ;所述第二路由信息库RIB包括第二转发信息库FIB ;
[0019] 向所述一个或多个同步客户端SyncClient同步所述第二转发信息库FIB ;
[0020] 依据所述第二转发信息库FIB对所述第一本地转发表LocalFIB进行更新,生成第 二本地转发表LocalFIB。
[0021] 优选地,所述当接收到一个或多个同步客户端SyncClient发送的注册信息时,向 所述一个或多个同步客户端同步所述第一转发信息库FIB的步骤包括:
[0022] 接收所述同步客户端SyncClient发送的注册消息;
[0023] 依据所述注册消息获取第一转发信息库FIB ;
[0024] 向所述同步客户端SyncClient发送第一路由同步消息;所述第一路由同步消息 携带有所述第一转发信息库FIB ;
[0025] 接收所述同步客户端SyncClient针对所述第一路由同步消息返回的第一路由同 步确认消息。
[0026] 优选地,所述第一转发信息库FIB包括一个或多个路由条目,所述一个或多个路 由条目具有目的地址、下一跳地址、接口地址和路由类型,所述路由类型包括直连路由和非 直连路由,所述非直连路由包括静态路由,和/或,动态路由,
[0027] 所述依据所述第一转发信息库FIB生成第一本地转发表LocalFIB的步骤包括:
[0028] 依次获取所述第一转发信息库FIB中的路由条目;
[0029] 判断所述路由条目的路由类型;
[0030] 若所述路由条目的路由类型为直连路由,存储所述路由条目至第一本地转发表 LocalFIB 中;
[0031] 若所述路由条目的路由类型为非直连路由,获取所述路由条目的接口地址;
[0032] 采用所述接口地址与所述第一转发信息库FIB中路由类型为直连路由的路由条 目的接口地址匹配是否一致;
[0033] 若不一致,则匹配失败,将所述路由条目置为不可用路由条目;
[0034] 若一致,则匹配成功,判断所述路由条目的接口地址是否匹配预设IP地址;所述 预设IP地址与同步所述第一转发信息库FIB的同步客户端SyncClient匹配;
[0035] 若匹配,则存储所述路由条目至第一本地转发表LocalFIB中;
[0036] 若不匹配,则采用所述匹配成功的直连路由的路由条目的下一跳地址替换所述路 由条目的下一跳地址,生成第一新路由条目,存储所述第一新路由条目至第一本地转发表 LocalFIB 中。
[0037] 优选地,所述数据变更消息包括数据库发送的数据变更消息,所述当接收到数据 变更消息时,对所述第一路由信息库RIB进行更新,生成第二路由信息库RIB的步骤包括:
[0038] 当接收到数据变更消息时,生成一个或多个变更路由条目;
[0039] 采用所述一个或多个变更路由条目更新所述第一路由信息库RIB中对应的路由 条目,生成第二路由信息库RIB。
[0040] 优选地,所述分布式架构还包括同步服务器SyncServer,所述向所述一个或多个 同步客户端SyncClient同步所述第二转发信息库FIB的步骤包括:
[0041] 当第二路由信息库RIB生成后,触发同步服务器SyncServer向所述一个或多个同 步客户端SyncClient发送第二路由同步消息;所述第二路由同步消息携带有第二转发信 息库FIB ;
[0042] 接收所述一个或多个同步客户端SyncClient针对所述第二路由同步消息返回的 第二路由同步确认消息。
[0043] 优选地,所述路由类型为直连路由的路由条目还包括状态字段,所述状态字段包 括表征接口地址正常的第一状态字段,所述第二路由同步消息包括增加消息,所述依据所 述第二转发信息库FIB对所述第一本地转发表LocalFIB进行更新,生成第二本地转发表 LocalFIB的步骤包括:
[0044] 当同步客户端SyncClient接收到增加消息时,将所述增加消息存储在所述第一 本地转发表LocalFIB中;
[0045] 依据所述增加消息,获取所述路由类型为直连路由的路由条目的接口地址;
[0046] 采用所述接口地址与所述不可用路由条目的接口地址匹配是否一致;
[0047] 若不一致,则匹配失败,执行判断是否存在不可用路由条目的步骤;
[0048] 若一致,则匹配成功,将所述不可用路由条目置为可用路由条目;判断所述路由类 型为直连路由的路由条目的接口地址是否匹配预设IP地址;所述预设IP地址与同步所述 第二转发信息库FIB的同步客户端SyncClient匹配;
[0049] 若匹配,则存储所述路由类型为直连路由的路由条目至第二本地转发表LocalFIB 中;
[0050] 若不匹配,则采用所述匹配成功的直连路由的路由条目的下一跳地址替换所述路 由条目的下一跳地址,生成第二新路由条目,存储所述第二新路由条目至第二本地转发表 LocalFIB 中;
[0051] 判断是否存在不可用路由条目;
[0052] 若存在,则执行所述采用所述接口地址与所述不可用路由条目的接口地址匹配是 否一致的步骤;
[0053] 若不存在,则完成所述第二本地转发表LocalFIB。
[0054] 优选地,所述状态字段还包括表征接口地址故障的第二状态字段,所述第二路由 同步消息包括删除消息,依据所述第二转发信息库FIB对所述第一本地转发表LocalFIB进 行更新,生成第二本地转发表LocalFIB的步骤包括:
[0055] 依据所述删除消息,更新所述节点模块的第二转发信息库FIB ;
[0056] 触发删除所述第一本地转发表LocalFIB的路由条目;
[0057] 判断所述触发删除的路由条目的路由类型;
[0058] 若所述路由条目的路由类型为直连路由,则获取所述路由条目的接口地址;
[0059] 采用所述接口地址与所述第一转发信息库FIB中路由类型为非直连路由的路由 条目的接口地址匹配是否一致;
[0060] 若一致,则匹配成功,将所述路由类型为非直连路由的路由条目置为不可用路由 条目;
[0061] 删除所述第一本地转发表LocalFIB中的不可用路由条目;
[0062] 判断是否存在未匹配的路由条目,所述路由条目的路由类型包括非直连路由;若 存在,则执行采用所述接口地址与所述第一转发信息库FIB中路由类型为非直连路由的路 由条目的接口地址匹配是否一致的子步骤,若不存在,则删除完成。
[0063] 优选地,所述路由配置信息包括接口地址配置信息,和/或,静态路由配置信息, 和/或,动态路由配置信息。
[0064] 依据本发明的实施例,还公开了一种基于分布式架构的路由系统,所述分布式架 构包括一个或多个同步客户端SyncClient,所述系统包括:
[0065] 路由配置信息获取模块,用于获取路由配置信息;
[0066] 第一路由信息库生成模块,用于采用所述路由配置信息生成第一路由信息库RIB ; 所述第一路由信息库RIB包括第一转发信息库FIB ;
[0067] 第一转发信息库同步模块,用于在接收到一个或多个同步客户端SyncClient发 送的注册信息时,向所述一个或多个同步客户端SyncClient同步所述第一转发信息库 FIB ;
[0068] 第一本地转发表生成模块,用于依据所述第一转发信息库FIB生成第一本地转发 表 LocalFIB。
[0069] 优选地,所述系统还包括:
[0070] 第一路由信息库更新模块,用于在接收到数据变更消息时,对所述第一路由信息 库RIB进行更新,生成第二路由信息库RIB ;所述第二路由信息库RIB包括第二转发信息库 FIB ;
[0071] 第二转发信息库同步模块,用于向所述一个或多个同步客户端SyncClient同步 所述第二转发信息库FIB ;
[0072] 第二本地转发表生成模块,用于依据所述第二转发信息库FIB对所述第一本地转 发表LocalFIB进行更新,生成第二本地转发表LocalFIB。
[0073] 优选地,所述第一转发信息库同步模块包括:
[0074] 注册消息接收子模块,用于接收所述同步客户端SyncClient发送的注册消息;
[0075] 第一转发信息库获取子模块,用于依据所述注册消息获取第一转发信息库FIB ;
[0076] 第一路由同步消息发送子模块,用于向所述同步客户端SyncClient发送第一路 由同步消息;所述第一路由同步消息携带有所述第一转发信息库FIB ;
[0077] 第一路由同步确认消息接收子模块,用于接收所述同步客户端SyncClient针对 所述第一路由同步消息返回的第一路由同步确认消息。
[0078] 优选地,所述第一转发信息库FIB可以包括一个或多个路由条目,所述一个或多 个路由条目可以具有目的地址、下一跳地址、接口地址和路由类型,所述路由类型可以包括 直连路由和非直连路由,所述非直连路由可以包括静态路由,和/或,动态路由,
[0079] 所述第一本地转发表生成模块包括:
[0080] 路由条目获取子模块,用于依次获取所述第一转发信息库FIB中的路由条目;
[0081] 路由类型判断子模块,用于判断所述路由条目的路由类型;
[0082] 路由条目存储子模块,用于在所述路由条目的路由类型为直连路由,存储所述路 由条目至第一本地转发表LocalFIB中;
[0083] 第一接口地址获取子模块,用于在所述路由条目的路由类型为非直连路由,获取 所述路由条目的接口地址;
[0084] 第一匹配子模块,用于采用所述接口地址与所述第一转发信息库FIB中路由类型 为直连路由的路由条目的接口地址匹配是否一致;
[0085] 不可用路由条目子模块,用于在接口地址不一致,匹配失败时,将所述路由条目置 为不可用路由条目;
[0086] 第一预设IP地址判断子模块,用于在接口地址一致,匹配成功时,判断所述路由 条目的接口地址是否匹配预设IP地址;所述预设IP地址与同步所述第一转发信息库FIB 的同步客户端SyncClient匹配;
[0087] 第一属于判定子模块,用于在接口地址匹配预设IP地址时,存储所述路由条目至 第一本地转发表LocalFIB中;
[0088] 第一不属于判定子模块,用于在接口地址不匹配预设IP地址时,采用所述直连路 由的路由条目的下一跳地址替换所述路由条目的下一跳地址后,存储所述路由条目至第一 本地转发表LocalFIB中。
[0089] 优选地,所述数据变更消息可以包括数据库发送的数据变更消息,所述第一路由 信息库更新模块包括:
[0090] 变更路由条目生成子模块,用于在接收到数据变更消息时,生成一个或多个变更 路由条目;
[0091] 第二路由信息库生成子模块,用于采用所述一个或多个变更路由条目更新所述第 一路由信息库RIB中对应的路由条目,生成第二路由信息库RIB。
[0092] 优选地,所述分布式架构还包括同步服务器SyncServer,所述第二转发信息库同 步模块包括:
[0093] 第二路由同步消息发送子模块,用于在第二路由信息库RIB生成后,触发同步服 务器SyncServer向所述一个或多个同步客户端SyncClient发送第二路由同步消息;所述 第二路由同步消息携带有第二转发信息库FIB ;
[0094] 第二路由同步确认消息接收子模块,用于接收所述一个或多个同步客户端 SyncCl ient针对所述第二路由同步消息返回的第二路由同步确认消息。
[0095] 优选地,所述路由类型为直连路由的路由条目还可以包括状态字段,所述状态字 段可以包括表征接口地址正常的第一状态字段,所述第二路由同步消息可以包括增加消 息,所述第二本地转发表生成模块包括:
[0096] 增加消息存储子模块,用于在同步客户端SyncClient接收到增加消息时,将所述 增加消息存储在所述第一本地转发表LocalFIB中;
[0097] 第二接口地址获取子模块,用于依据所述增加消息,获取所述路由类型为直连路 由的路由条目的接口地址;
[0098] 第二匹配子模块,用于采用所述接口地址与所述不可用路由条目的接口地址匹配 是否一致;
[0099] 跳转子模块,用于在接口地址不一致,匹配失败时,执行判断是否存在不可用路由 条目的步骤;
[0100] 第二预设IP地址判断子模块,用于在接口地址一致,匹配成功时,判断所述路由 类型为直连路由的路由条目的接口地址是否匹配预设IP地址;所述预设IP地址与同步所 述第二转发信息库FIB的同步客户端SyncClient匹配;
[0101] 第二属于判定子模块,用于在接口地址匹配预设IP地址时,存储所述路由类型为 直连路由的路由条目至第二本地转发表LocalFIB中;
[0102] 第二不属于判定子模块,用于在接口地址不匹配预设IP地址时,采用所述直连路 由的路由条目的下一跳地址替换所述路由条目的下一跳地址后,存储所述路由条目至第二 本地转发表LocalFIB中;
[0103] 不可用路由条目存在判断子模块,用于判断是否存在不可用路由条目;
[0104] 存在判定子模块,用于在存在不可用路由条目时,执行所述采用所述接口地址与 所述不可用路由条目的接口地址匹配是否一致的步骤;
[0105] 不存在判定子模块,用于在不存在不可用路由条目时,完成所述第二本地转发表 LocalFIB。
[0106] 优选地,所述状态字段还包括表征接口地址故障的第二状态字段,所述第二本地 转发表生成模块包括:
[0107] 第二转发信息库更新子模块,用于依据所述删除消息,更新所述节点模块的第二 转发信息库FIB ;
[0108] 路由条目触发删除子模块,用于触发删除所述第一本地转发表LocalFIB的路由 条目;
[0109] 路由类型判断子模块,用于判断所述触发删除的路由条目的路由类型;
[0110] 直连路由判定子模块,用于在判定所述路由条目的路由类型为直连路由,获取所 述路由条目的接口地址;
[0111] 第三匹配子模块,用于采用所述接口地址与所述第一转发表FIB中路由类型为非 直连路由的路由条目的接口地址匹配是否一致;
[0112] 匹配成功子模块,用于在接口地址一致,匹配成功时,将所述路由类型为非直连路 由的路由条目置为不可用路由条目;
[0113] 不可用路由条目删除子模块,用于删除所述第一本地转发表中的不可用路由条 目;
[0114] 未匹配的路由条目存在判断子模块,用于判断是否存在未匹配的路由条目,所述 路由条目的路由类型包括非直连路由;
[0115] 路由条目存在子模块,用于在判定存在未匹配的路由条目时,执行采用所述接口 地址与所述第一转发表FIB中路由类型为非直连路由的路由条目的接口地址匹配是否一 致的子步骤,
[0116] 路由条目不存在子模块,用于在判定不存在未匹配的路由条目时,删除完成。
[0117] 优选地,所述路由配置信息包括接口地址配置信息,和/或,静态路由配置信息, 和/或,动态路由配置信息。
[0118] 与现有技术相比,本发明实施例包括以下优点:
[0119] 本发明通过将第一转发信息库FIB同步至各被控节点,生成第一本地转发表 LocalFIB,采用第一本地转发表LocalFIB转发报文,可以避免网络地址转换,从而提高转 发效率,并且,在被控节点上配置必要的路由后,其他被控节点可以依据第一转发信息库 FIB自动生成第一本地转发表LocalFIB,因此可以减少人工配置,降低路由配置的复杂度。
[0120] 进一步地,本发明通过融合检测机制,将正常或故障消息发送给主控节点,触发路 由条目的增加或删除,可以及时更新第一本地转发表LocalFIB,从而可以减少节点故障或 接口故障对业务的影响,便故障处理简单化,将各个功能模块化,可以在分布式架构下灵活 部署。
[0121] 更进一步地,本发明通过数据库发送数据变更消息,对第一路由信息库RIB进行 更新,从而更新生成第二转发信息库FIB,并且,主动将第二转发信息库FIB同步至被控节 点,可以及时更新被控节点的第一本地转发表LocalFIB,从而可以减少节点故障或接口故 障对业务的影响,提高更新速度,缩短更新时间,降低延迟。

【专利附图】

【附图说明】
[0122] 图1示出了目前路由通信解决方案一的结构示意图;
[0123] 图2示出了目前路由通信解决方案二的结构示意图;
[0124] 图3示出了本发明一种基于分布式架构的路由方法实施例1的步骤流程图;
[0125] 图4示出了本发明一种基于分布式架构的路由方法路由同步过程的流程示意图;
[0126] 图5示出了本发明一种基于分布式架构的路由方法生成第一本地转发表的流程 示意图;
[0127] 图6示出了本发明一种基于分布式架构的路由方法实际应用的结构示意图;
[0128] 图7示出了本发明一种基于分布式架构的路由方法实施例2的步骤流程图;
[0129] 图8示出了本发明一种基于分布式架构的路由方法同步第二转发信息库的流程 示意图;
[0130] 图9示出了本发明一种基于分布式架构的路由方法增加路由条目的流程示意图;
[0131] 图10示出了本发明一种基于分布式架构的路由方法删除路由条目的流程示意 图;
[0132] 图11示出了本发明一种基于分布式架构的路由系统实施例的结构框图。

【具体实施方式】
[0133] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0134] 本发明实施例的核心构思之一在于,在基于IP (Internet Protocol,网络之间互 连的协议)技术分布式架构下采用内部路由机制,生成网元内各节点到内部节点以及外部 网元的第一转发信息库FIB,从而在各被控节点中同步第一转发信息库FIB,并生成第一本 地转发表LocalFIB,采用第一本地转发表LocalFIB转发报文,使得被控节点可以灵活部 署,将整个网元作为一个路由实体,减少了操作台界面上路由条目配置。
[0135] 参照图3,示出了本发明一种基于分布式架构的路由方法实施例1的步骤流程图, 所述分布式架构可以包括一个或多个同步客户端SyncClient,具体可以包括如下步骤:
[0136] 步骤301,获取路由配置信息;
[0137] 在具体应用中,路由配置信息可以是预先设置好的,可以包括对外的路由配置信 息、对内的路由配置信息。
[0138] 在本发明实施例的一种优选示例中,所述路由配置信息可以包括接口地址配置信 息,和/或,静态路由配置信息,和/或,动态路由配置信息。
[0139] 在具体实现中,接口地址配置信息和静态路由配置信息可以存储在数据库中,动 态路由配置信息可以由路由协议获取。
[0140] 接口地址配置信息可以反映网元内部拓扑结构。
[0141] 静态路由配置信息可以是指由用户或网络管理员手工配置的路由信息。当网络的 拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由 配置信息。静态路由配置信息在缺省情况下是私有的,不会传递给其他的路由器,当然,网 管员也可以设置成共享的。静态路由一般适用于比较简单的网络环境,在这样的环境中,网 络管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由配置信息。
[0142] 动态路由配置信息可以是通过相互连接的路由器之间交换彼此信息,然后按照一 定的算法自动优化出来的,动态路由配置信息可以在一定时间间隙里不断更新,以适应不 断变化的网络,随时获得最优的寻路效果。
[0143] 步骤302,采用所述路由配置信息生成第一路由信息库RIB ;所述第一路由信息库 RIB包括第一转发信息库FIB ;
[0144] 在具体实现中,第一路由信息库RIB (Routing Information Base)可以是一个电 子表格(文件)或类数据库。
[0145] 例如,一种第一路由信息库RIB路由生成规则的示例如下:
[0146] 第一路由信息库RIB可以包括:直连路由、静态路由、动态路由等三种路由类型。
[0147] 直连路由:可以根据来自数据库的接口地址配置信息生成反映网元内部拓扑结构 的路由信息。生成的路由条目如下表1所示,插入到第一路由信息库RIB中:

【权利要求】
1. 一种基于分布式架构的路由方法,其特征在于,所述分布式架构包括一个或多个同 步客户端SyncClient,所述方法包括: 获取路由配置信息; 采用所述路由配置信息生成第一路由信息库RIB ;所述第一路由信息库RIB包括第一 转发信息库FIB ; 当接收到一个或多个同步客户端SyncClient发送的注册信息时,向所述一个或多个 同步客户端SyncClient同步所述第一转发信息库FIB ; 依据所述第一转发信息库FIB生成第一本地转发表LocalFIB。
2. 根据权利要求1所述的方法,其特征在于,还包括: 当接收到数据变更消息时,对所述第一路由信息库RIB进行更新,生成第二路由信息 库RIB ;所述第二路由信息库RIB包括第二转发信息库FIB ; 向所述一个或多个同步客户端SyncClient同步所述第二转发信息库FIB ; 依据所述第二转发信息库FIB对所述第一本地转发表LocalFIB进行更新,生成第二本 地转发表LocalFIB。
3. 根据权利要求1所述的方法,其特征在于,所述当接收到一个或多个同步客户端 SyncClient发送的注册信息时,向所述一个或多个同步客户端同步所述第一转发信息库 FIB的步骤包括: 接收所述同步客户端SyncClient发送的注册消息; 依据所述注册消息获取第一转发信息库FIB ; 向所述同步客户端SyncClient发送第一路由同步消息;所述第一路由同步消息携带 有所述第一转发信息库FIB ; 接收所述同步客户端SyncClient针对所述第一路由同步消息返回的第一路由同步确 认消息。
4. 根据权利要求1或3所述的方法,其特征在于,所述第一转发信息库FIB包括一个 或多个路由条目,所述一个或多个路由条目具有目的地址、下一跳地址、接口地址和路由类 型,所述路由类型包括直连路由和非直连路由,所述非直连路由包括静态路由,和/或,动 态路由, 所述依据所述第一转发信息库FIB生成第一本地转发表LocalFIB的步骤包括: 依次获取所述第一转发信息库FIB中的路由条目; 判断所述路由条目的路由类型; 若所述路由条目的路由类型为直连路由,存储所述路由条目至第一本地转发表 LocalFIB 中; 若所述路由条目的路由类型为非直连路由,获取所述路由条目的接口地址; 采用所述接口地址与所述第一转发信息库FIB中路由类型为直连路由的路由条目的 接口地址匹配是否一致; 若不一致,则匹配失败,将所述路由条目置为不可用路由条目; 若一致,则匹配成功,判断所述路由条目的接口地址是否匹配预设IP地址;所述预设 IP地址与同步所述第一转发信息库FIB的同步客户端SyncClient匹配; 若匹配,则存储所述路由条目至第一本地转发表LocalFIB中; 若不匹配,则采用所述匹配成功的直连路由的路由条目的下一跳地址替换所述路由 条目的下一跳地址,生成第一新路由条目,存储所述第一新路由条目至第一本地转发表 LocalFIB 中。
5. 根据权利要求2所述的方法,其特征在于,所述数据变更消息包括数据库发送的数 据变更消息,所述当接收到数据变更消息时,对所述第一路由信息库RIB进行更新,生成第 二路由信息库RIB的步骤包括: 当接收到数据变更消息时,生成一个或多个变更路由条目; 采用所述一个或多个变更路由条目更新所述第一路由信息库RIB中对应的路由条目, 生成第二路由信息库RIB。
6. 根据权利要求2或5所述的方法,其特征在于,所述分布式架构还包括同步服务器 SyncServer,所述向所述一个或多个同步客户端SyncClient同步所述第二转发信息库FIB 的步骤包括: 当第二路由信息库RIB生成后,触发同步服务器SyncServer向所述一个或多个同步客 户端SyncClient发送第二路由同步消息;所述第二路由同步消息携带有第二转发信息库 FIB ; 接收所述一个或多个同步客户端SyncClient针对所述第二路由同步消息返回的第二 路由同步确认消息。
7. 根据权利要求6所述的方法,其特征在于,所述路由类型为直连路由的路由条目还 包括状态字段,所述状态字段包括表征接口地址正常的第一状态字段,所述第二路由同步 消息包括增加消息,所述依据所述第二转发信息库FIB对所述第一本地转发表LocalFIB进 行更新,生成第二本地转发表LocalFIB的步骤包括: 当同步客户端SyncClient接收到增加消息时,将所述增加消息存储在所述第一本地 转发表LocalFIB中; 依据所述增加消息,获取所述路由类型为直连路由的路由条目的接口地址; 采用所述接口地址与所述不可用路由条目的接口地址匹配是否一致; 若不一致,则匹配失败,执行判断是否存在不可用路由条目的步骤; 若一致,则匹配成功,将所述不可用路由条目置为可用路由条目;判断所述路由类型为 直连路由的路由条目的接口地址是否匹配预设IP地址;所述预设IP地址与同步所述第二 转发信息库FIB的同步客户端SyncClient匹配; 若匹配,则存储所述路由类型为直连路由的路由条目至第二本地转发表LocalFIB中; 若不匹配,则采用所述匹配成功的直连路由的路由条目的下一跳地址替换所述路由 条目的下一跳地址,生成第二新路由条目,存储所述第二新路由条目至第二本地转发表 LocalFIB 中; 判断是否存在不可用路由条目; 若存在,则执行所述采用所述接口地址与所述不可用路由条目的接口地址匹配是否一 致的步骤; 若不存在,则完成所述第二本地转发表LocalFIB。
8. 根据权利要求6所述的方法,其特征在于,所述状态字段还包括表征接口地址故障 的第二状态字段,所述第二路由同步消息包括删除消息,依据所述第二转发信息库FIB对 所述第一本地转发表LocalFIB进行更新,生成第二本地转发表LocalFIB的步骤包括: 依据所述删除消息,更新所述节点模块的第二转发信息库FIB ; 触发删除所述第一本地转发表LocalFIB的路由条目; 判断所述触发删除的路由条目的路由类型; 若所述路由条目的路由类型为直连路由,则获取所述路由条目的接口地址; 采用所述接口地址与所述第一转发信息库FIB中路由类型为非直连路由的路由条目 的接口地址匹配是否一致; 若一致,则匹配成功,将所述路由类型为非直连路由的路由条目置为不可用路由条 目; 删除所述第一本地转发表LocalFIB中的不可用路由条目; 判断是否存在未匹配的路由条目,所述路由条目的路由类型包括非直连路由;若存在, 则执行采用所述接口地址与所述第一转发信息库FIB中路由类型为非直连路由的路由条 目的接口地址匹配是否一致的子步骤,若不存在,则删除完成。
9. 根据权利要求1所述的方法,其特征在于,所述路由配置信息包括接口地址配置信 息,和/或,静态路由配置信息,和/或,动态路由配置信息。
10. -种基于分布式架构的路由系统,其特征在于,所述分布式架构包括一个或多个同 步客户端SyncClient,所述系统包括: 路由配置信息获取模块,用于获取路由配置信息; 第一路由信息库生成模块,用于采用所述路由配置信息生成第一路由信息库RIB;所 述第一路由信息库RIB包括第一转发信息库FIB ; 第一转发信息库同步模块,用于在接收到一个或多个同步客户端SyncClient发送的 注册信息时,向所述一个或多个同步客户端SyncClient同步所述第一转发信息库FIB ; 第一本地转发表生成模块,用于依据所述第一转发信息库FIB生成第一本地转发表 LocalFIB。
【文档编号】H04L12/715GK104253748SQ201410496011
【公开日】2014年12月31日 申请日期:2014年9月24日 优先权日:2014年9月24日
【发明者】张骞丹 申请人:大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1