路由安装、发布方法和设备的制作方法

文档序号:7687926阅读:92来源:国知局
专利名称:路由安装、发布方法和设备的制作方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种路由安装、发布的方法和设备。
背景技术
路由是将信息从源端通过网络传到目的端的行为,它通常包括两个基本动
作确定最佳路径和数据交换。Metric是路由算法用以确定到达目的地的最佳 路径的计量标准,如路径长度。为了帮助选择路径,路由算法初始化并维护包 含路径信息的路由表,其中,路径信息根据使用的路由算法不同而不同。对路 由器告知目的/下一跳地址的最佳方式是把分组发送给代表"下一跳"的路由 器,当路由器收到一个分组,它就检查其目标地址,尝试将此地址与其"下一 跳"相联系。路由表包括多种信息,如距离信息、跳数信息、"下一跳,,地址 信息等。Metric根据所用的路由算法不同而不同,路由表比较Metric以确定最 佳路径。这样,路由器彼此通信,通过交换路由信息维护其路由表,路由更新 信息通常包含全部或部分路由表,通过分析来自其他路由器的路由更新信息以 建立网络拓朴图。路由器间发送信息的另 一个例子是发送链接状态广播信息, 路由器通知其他发送了该广播信息的路由器的链接状态,该链接状态信息用于 建立完整的拓朴图,能使路由器可以确定最佳路径。
多归属(Multi-homing)是指为了连接生存性或负载平衡,在端用户与网 络之间建立多于一条链路(属于同一运营商或不同运营商)的链路群;流量工
程(Traffic Engineering )实际上是一套工具和方法,无论是在网络设备和传输 线路正常还是失效的情况下,都能从给定的基础设施中提取最佳服务,它需要 对已安装的资源进行优化。而随着多归属网络和流量工程的广泛部署,因特网
(Internet) ^各由数量增长迅速,而转发信息库(Forwarding Information Base, FIB)容量有限,所以需要有更大容量的路由表存储芯片支持。

发明内容
为了充分利用现有的FIB,本发明实施例提供以下技术方案本发明实施例提供了一种路由安装方法,收到路由更新才艮文后,节点设备 获取所述路由更新报文中路由的类型,当所述路由为最佳路由时,根据路由类
型确定是否进行路由安装。
本发明实施例还提供了 一种通信设备,包括
路由类型判断模块,用于根据收到的路由更新报文判断其中路由的类型; 最佳路由判断模块,用于判断所述3各由是否为最佳路由; 安装模块,在所述最佳路由判断模块的判断结果为所述路由为最佳路由 时,用于根据所述路由类型判断模块确定的路由类型确定是否安装所述路由。 本发明实施例还提供了另外一种通信设备,包括 策略模块,用于存储路由分类策略;
分类模块,用于根据所述策略模块中保存的路由分类策略,对所要发布的 路由进行分类;
修改模块,用于根据所述分类模块的路由分类结果,在路由更新报文中进 行标记路由类型;
发布模块,用于将所述修改模块标记后的路由更新报文发布出去。
本发明实施例另外还提供了 一种路由发布的方法,始发节点根据预设的路 由分类策略,对所要发布的路由进行分类,根据路由分类结果,在^各由更新报 文中标记路由类型,并通过路由更新报文将所述路由发布出去。
通过利用本发明实施例所提供的方案,不需要修改边界网关协议(BGP , Border Gateway Protocol)邻居部署以及相应策略,通过对BGP协议进行很小 的改动,实现了 FIB分布式存储的自动化,避免大量人工配置工作,解决了路 由表快速增长导致路由器FIB太大的问题,充分利用了现有的FIB。


图1是本发明路由安装的一个实施例的流程示意图2是本发明根据路由类别进行路由安装的一个实施例示意图3是本发明判断节点设备是否为某路由的聚合节点的实施例示意图4是使用本发明路由安装方法实施例所提供的技术方案后的一个数据转发示意图5是本发明所提供的一种通信设备实施例的结构示意图; 图6是本发明所提供的一种通信设备实施例中安装模块的组成示意图; 图7是本发明所提供的另外一种通信设备实施例的结构示意图; 图8是本发明所提供的一种通信设备实施例中修改模块的组成示意图。
具体实施例方式
下面,结合附图对本发明实施例进行详细描述。
在本发明实施例中,路由更新报文可以是边界网关协议BGP路由更新报 文,当然,也可以是其他可以实现类似功能的其他报文。所涉及的路由均认为 属于最佳路由,可以安装到^各由信息库(Route Information Base, RIB)或者转 发信息库FIB中。
始发节点RA向其BGP邻居节点RB发送BGP ^各由更新净艮文时,对发布的 路由进行分类并在BGP路由更新才艮文中进行类别标记
第一类路由,所有的BGP路由设备会将该类路由安装到FIB中; 第二类路由,特定的BGP路由设备才会将该类路由安装到FIB中。 具体地,可以在BGP路由更新报文的字段中增加一个路由类型字段,标 记该路由的类型是第一类路由还是第二类路由,比如以"1"来代表第一类路 由,以"2"来代表第二类路由。可以由始发节点根据预设的策略来确定将该 路由分为第一类路由还是第二类路由,并在路由类型字段中相应地进行标记。 BGP邻居节点在收到路由更新报文后,可以直接根据路由类型字段中的标记 来判断路由的类型。
针对第二类路由,始发节点还可以在BGP路由更新报文中增加一个路由 始发者属性字段标记发布该路由的节点,比如,在该路由始发者属性字段中使 用RA的 一个在网络中可路由的接口 IP地址来标记该始发节点。需要将该路由 安装到FIB的BGP路由设备,会安装该字段中的内容,作为该路由的下一跳 next-hop使用。BGP路由设备接收到该BGP路由更新报文后,如果没有将该 路由安装到FIB中,那么该BGP路由设备在向其他BGP邻居通告该路由时, 该路由的路由类型字段以及路由始发者属性字段都不能进行修改。在这里,始发节点RA可以是始发路由器originator,当然也可以为其他具 备路由功能的设备。BGP邻居节点RB可以是BGP邻居路由器,当然也可以 为其他具备路由功能的i殳备。
如图l所示,图1中示出了一个路由安装的实施例的流程。在收到RA发 来的BGP路由更新后(101 ), Rs会判断该BGP路由更新报文中的路由是否 为最佳路由(102),如果不是最佳路由,则流程结束;如果是最佳路由,还要 判断路由类型(103),根据路由类型确定是否进行路由安装(104)。
当然,判断路由类型(103 )和是否为最佳^^由(102)之间并无先后的顺 序,可以同时,也可以不同时。
在如图2所示的根据路由类别进行路由安装的一个实施例流程中,在对最 佳路由分路由类型确定是否安装时,会判断路由类型(201),然后根据不同的 路由类型进行不同策略的安装
1. 对于第一类路由,RB会将该路由安装到FIB中(204);
2. 对于第二类路由,需要判断聚合节点RB是否为该路由的聚合节点
(202),如果RB不是该路由对应的聚合节点,则RB不会将该路由安 装到FIB中(203 );如果rb是该路由对应的聚合节点,则Rb需要将 该路由安装到FIB中(204),同时,还要将路由更新报文中的始发节 点作为该路由的下一跳安装到FIB中。 在如图3所示的判断聚合节点的实施例流程中,判断聚合节点Rb是否是 某路由的对应聚合节点(301),依据以下原则
2.1如果该路由的前缀a在RB负责的超级前缀所覆盖范围内,比如该 Rs为负责超级前缀100.0.0.0/8的聚合节点,若a为100.1.0.0/16, 则Rs是该路由对应的聚合节点(303 ); 2.2如果该路由的前缀a不在RB负责的超级前缀所覆盖范围内,比 如该RB为负责超级前缀100.0.0.0/8的聚合节点,若a为 200.1.0.0/16,则RB不是该路由对应的聚合节点(302)。 所谓聚合节点,就是在网络中负责发布某个超级前缀的^^由的节点,比如,负责发布超级前缀为100.0.0.0/8的路由的节点就可以称为100.0.0.0/8的聚合节 点,同时,聚合节点还负责安装该超级前缀所覆盖的详细前缀的路由,比如 100.0.0.0/8的聚合节点便负责安装100.1.0.0/16、 100.2.0.0/16等等这样的前缀 的路由。
第二类路由只需要在相应的聚合节点的FIB上安装,所以到达这些路由对 应的目的网络的数据包,首先会依据超级前缀的路由,到达对应的发布该超级 前缀的聚合节点,该聚合节点然后通过隧道方式将数据包转发到目的网络。
在聚合节点进行超级前缀路由发布时,可以4吏用内部网关协议(Interior Gateway Protocol, IGP )或者外部网关协议(Exterior Gateway Protocol, EGP ) 协议。
可以预先指定网络内哪些设备可以作为聚合节点、这些聚合节点各自负责 的超级前缀等等,聚合节点的数量也可以不限。另外, 一个聚合节点可以同时 负责发布多个超级前缀的路由信息,而一个超级前缀的路由信息也可以由多个 聚合节点负责发布,这些聚合节点可以彼此备份工作。
如图4所示,Rl为始发路由器,R2、 R5为BGP邻居路由器,R3为超 级前缀为100.0.0.0/8的聚合节点,R4为超级前缀200.0.0.0/8的聚合节点。在 进行完相应的路由安装以后,当节点R5接收到目的地址为200丄1.1的数据包 时,R5会查找其FIB,在其FIB中应保存有聚合节点R4发布的超级前缀 200.0.0.0/8的路由,匹配成功后,R5会将数据包转发给R4;如果匹配不成功, 则可以丢弃该凄t据包。
聚合节点R4在收到该数据包后,查找FIB中匹配的路由,在其FIB中应 保存有200.0.0.0/8所覆盖的详细前缀的路由,如果有匹配的路由,则按照该匹 配的路由进行转发,如果没有匹配,则可以将数据包丢弃。比如最佳匹配路由 为200.1.0.0/16的路由,对应的nexthop地址为Rl的IP地址,则R4会将数据 包进行隧道封装然后转发给Rl,使用的隧道封装方式可以是通用路由封装 (Generic Routing Encapsulation , GRE ) 、 IP-in-IP 、 多协议标签交换 (Multi-Protocol Label Switching, MPLS)等等。若采用GRE或IP-in-IP等IP封装,封装后的数据包的目的IP地址就是该路由的nexthop地址;若采用MPLS 封装,MPSL隧道对应的目的地就是该路由的nexthop地址。
封装后的数据包经R2被转发到Rl,其中,R2在收到转发过来的IP封 装的数据包后,根据R2的FIB进行转发到R1;如果收到MPLS包,贝'J根据 MPLS转发表转发到Rl。
Rl收到封装后的数据包后,会对数据包进行解封装,并在其FIB中查找 与该目的IP地址200.1.1.1匹配的路由,将该解封装后的数据包转发给目的地。
在本发明实施例中,不需要修改BGP邻居部署以及相应策略,通过对 BGP协议以及路由器软件进行4艮小的改动,实现FIB分布式存储的自动化, 避免大量人工配置工作。通过本发明实施例,FIB实现了分布式部署,解决了 路由表快速增长导致路由器FIB太大的问题。
本发明实施例还提供了 一种路由发布的方法,始发节点在向其BGP邻居 节点发送路由更新报文(比如,BGP路由更新报文)时,根据预设的路由分 类策略,对发布的路由进行分类并在BGP路由更新报文中进行类别标记,比 如采取以下策略
第一类路由,所有的BGP路由设备会将该路由安装到FIB中,比如可以 设定某个路由,如果其前缀在预设的范围之内,则列为第一类路由;
第二类路由,特定的BGP路由设备才会将该路由安装到FIB,比如可以 设定某个路由,如果其前缀在预设的范围之内,则列为第二类路由。
具体地,可以在BGP路由更新报文的字段中增加一个路由类型字段,标 记该路由的类型是第一类路由还是第二类路由,比如以"1"来代表第一类路 由,以"2"来代表第二类路由。可以由始发节点#4居预设的策略来确定将该 路由分为第一类路由还是第二类路由,并在路由类型字段中相应地进行标记。 BGP邻居节点在收到路由更新报文后,可以直接根据路由类型字段中的标记 来判断^^由的类型。
针对第二类路由,始发节点还可以在BGP路由更新报文中增加一个路由 始发者属性字段标记发布该路由的节点,比如,使用始发节点的一个在网络中可^各由的4矣口 IPi也址。
在本发明实施例中,不需要修改BGP邻居部署以及相应策略,通过对
BGP协议以及路由器软件进行很小的改动,在发布路由的时候,对路由进行 分类,并在路由更新报文中标注出路由类型,BGP邻居在收到该路由更新报 文后,可以根据路由类型分别采取不同的路由安装策略,实现了 FIB分布式存 储的自动化,避免大量人工配置工作,解决了路由表快速增长导致路由器FIB 太大的问题。
本发明实施例还提供了一种通信设备,如图5所示,包括^各由类型判断才莫 块501,用于根据收到的路由更新报文判断其中路由的类型;最佳路由判断模 块502,用于判断路由是否为最佳路由;安装模块503,在最佳路由判断模块 502的判断结果为路由为最佳路由时,用于根据路由类型判断^^莫块501所确定 的路由类型确定是否安装^^由。
为了描述的方便,下面所说的路由均是指最佳^各由。
路由的类型以及安装规则如下
第一类路由,所有的BGP路由设备会将该路由安装到FIB中; 第二类路由,特定的BGP路由设备才会将该路由安装到FIB。所谓的特
定BGP路由设备是指,该设备是该路由的聚合节点,在这个时候才将路由安
装到FIB。
如图6所示,在路由类型判断模块501确定某个路由为第二类路由时,安 装模块503可以具体包括聚合节点判断单元5031,用于判断设备本身是否是 该路由的聚合节点;
并且,还可以包括第一安装单元5032,在聚合节点判断单元5031确定本 身便是该路由的聚合节点时,用于将该路由安装到转发信息库FIB中。另夕卜, 对于第二类路由,且设备本身也是该路由的聚合节点,则第一安装单元5032 还会将路由更新报文中的始发节点作为该路由的下一跳安装到FIB中。
在路由类型判断模块501确定路由为第一类路由时,安装模块503可以具 体包括第二安装单元5033,用于将路由安装到FIB中。在本发明实施例中,不需要修改BGP邻居部署以及相应策略,通过对
BGP协议以及路由器软件进行很小的改动,对路由进行分类,实现FIB分布 式存储的自动化,避免大量人工配置工作。通过本发明实施例,FIB实现了分 布式部署,解决了路由表快速增长导致路由器FIB太大的问题。
另外,本发明还提供了另外一种通信设备, 一般可以作为始发节点,尤其 是始发路由器,如图7所示,该通信设备包括
策略模块701,用于存储路由分类策略;
分类模块702,用于根据策略模块701中保存的路由分类策略,对所要发 布的^各由进行分类;
修改模块703,用于根据分类模块702的路由分类结果,在路由更新报文 中进行标记路由类型;
发布模块704,用于将修改模块703标记后的^各由更新报文发布出去。
如图8所示,在所述分类模块702确定所述路由为第二类路由时,修改模 块703还可以包括信息修改单元7031,用于在路由更新报文中增加设备本身 的信息,比如,该设备的一个在网络中可路由的接口 IP地址。
而这个路由更新报文可以是BGP路由更新报文,也可以是其他可以实现 类似功能的其他报文。
在本发明实施例中,不需要修改BGP邻居部署以及相应策略,通过对 BGP协议以及路由器软件进行很小的改动,在发布路由的时候,对路由进行 分类,并在路由更新报文中标注出路由类型,BGP邻居在收到该路由更新报 文后,可以根据路由类型分别采取不同的路由安装策略,实现了 FIB分布式存 储的自动化,避免大量人工配置工作,解决了路由表快速增长导致路由器FIB 太大的问题。
同时,本发明实施例还提供了一种计算机可读介质,本发明实施例的计算 机可读介质可以是包含、存储、传达、传播或者传输计算机程序的介质,所述 计算机程序为使用指令以运行本发明实施例所提供的方法、系统装置、系统或 者设备的程序,或者是与该指令有关的程序。该计算机可读介质可以是电子、磁、电磁、光学、红外或者半导体的系统、装置、i殳备、传4番介质或者计算机 存储器。
在本发明实施例中,该计算机程序中在运行时,可以实现
收到路由更新报文后,根据该路由更新报文判断其中路由的类型,当该路 由为最佳路由时,根据路由类型确定是否进行路由安装。
在该路由属于第二类路由时,如果设备本身不是该路由的聚合节点,则不
将该路由安装到转发信息库FIB中;
如果该设备是所述路由的聚合节点,则将该路由安装到FIB中。 如果所述路由属于第一类路由,则将该路由安装到FIB中,而无需判断是
否为聚合节点。
在该路由属于第二类路由时,路由更新报文中还带有始发节点的信息,比 如始发节点的一个在网络中可路由的接口 IP地址,并将其作为该路由的下一 跳安装到FIB中。
判断是否为所述路由的聚合节点,具体为
判断该路由更新报文中的路由的前缀是否在其负责的超级前缀所覆盖范 围内,如果该路由更新报文中的路由的前缀在其负责的超级前缀所覆盖范围 内,则该设备是该路由的聚合节点;如果该路由更新报文中的路由的前缀不在 其负责的超级前缀所覆盖范围内,则该设备不是该路由的聚合节点。
判断该路由的类型具体为根据该路由更新报文中的路由类型属性字段判断。
在本发明其他的实施例中,该计算机程序中在运行时,可以实现 根据预设的路由分类策略,对所要发布的路由进行分类,根据路由分类结 果,在路由更新报文(比如,BGP路由更新报文)中标记路由类型,并通过 路由更新报文将所述路由发布出去。
当路由分类结果为所述路由属于第二类路由时,在所述路由更新报文中 增加始发节点的信息,比如始发节点的一个在网络中可路由的接口 IP地址。
在本发明实施例中,不需要修改BGP邻居部署以及相应策略,通过对BGP协议以及路由器软件进行很小的改动,在发布路由的时候,对路由进行 分类,并在路由更新报文中标注出路由类型,BGP邻居在收到该路由更新报 文后,可以根据路由类型分别采取不同的路由安装策略,实现了 FIB分布式存 储的自动化,避免大量人工配置工作,解决了路由表快速增长导致路由器FIB 太大的问题。
以上所述^f叉是本发明的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰, 这些改进和润饰也应^L为本发明的保护范围。
权利要求
1、一种路由安装方法,其特征在于,收到路由更新报文后,节点设备获取所述路由更新报文中路由的类型,当所述路由为最佳路由时,根据路由类型确定是否进行路由安装。
2、 如权利要求1所述的方法,其特征在于,在所述路由属于第二类路由时如果所述节点设备不是所述路由的聚合节点,则不将所述路由安装到转发 信息库FIB中;如果所述节点设备是所述路由的聚合节点,则将所述路由安装到FIB中。
3、 如权利要求l所述的方法,其特征在于,所述节点设备根据收到的路由更新报文判断路由类型,如果所述路由属于 第一类路由,则将所述路由安装到FIB中。
4、 如权利要求l所述的方法,其特征在于,在所述路由属于第二类路由时,所述路由更新报文中还带有始发节点的信台
5、 如权利要求2所述的方法,其特征在于,所述节点设备判断是否为所 述路由的聚合节点,具体为所述节点设备判断所述路由更新报文中的路由的前缀是否在其负责的超 级前缀所覆盖范围内,如果所述路由更新报文中的路由的前缀在其负责的超级 前缀所覆盖范围内,则所述节点设备是所述路由的聚合节点;如果所述路由更 新报文中的路由的前缀不在其负责的超级前缀所覆盖范围内,则所述节点设备 不是所述路由的聚合节点。
6、 如权利要求l所述的方法,其特征在于,判断所述路由的类型具体为根据所述路由更新报文中的路由类型字段判断。
7、 如权利要求1所述的方法,其特征在于,所述的路由更新净艮文为边界 网关协议BGP路由更新才艮文。
8、 如权利要求4所述的方法,其特征在于,所述始发节点的信息为所述始发节点的一个在网络中可路由的接口 IP地址。
9、 如权利要求8所述的方法,其特征在于,如果所述节点设备是所述路由的聚合节点,则将所述IP地址作为所述路由的下一跳安装到FIB中。
10、 一种通信设备,其特征在于,包括路由类型判断模块,用于根据收到的路由更新报文判断其中路由的类型; 最佳路由判断模块,用于判断所述路由是否为最佳路由; 安装模块,在所述最佳路由判断模块的判断结果为所述路由为最佳路由 时,用于根据所述路由类型判断模块确定的路由类型确定是否安装所述路由。
11、 如权利要求10所述的通信设备,其特征在于,在所述路由类型判断 模块确定所述路由为第二类路由时,所述安装模块包括聚合节点判断单元,用于判断所述通信设备是否为所述路由的聚合节点; 第 一安装单元,在所述聚合节点判断单元确定所述通信设备是所述路由的 聚合节点时,用于将所述路由安装到转发信息库FIB中。
12、 如权利要求11所述的通信设备,其特征在于,在所述聚合节点判断 单元确定所述通信设备是所述路由的聚合节点时,所述的第一安装单元还用于 将所述路由更新报文中的始发节点作为所述路由的下一跳安装到所述FIB中。
13、 如权利要求10所述的通信设备,其特征在于,在所述路由类型判断 模块确定所述路由为第一类路由时,所述安装模块包括第二安装单元,用于将所述路由安装到FIB中。
14、 一种通信设备,其特征在于,包括 策略模块,用于存储路由分类策略;分类模块,用于根据所述策略模块中保存的路由分类策略,对所要发布的 路由进行分类;修改模块,用于根据所述分类模块的路由分类结果,在路由更新报文中进 行标记路由类型;发布模块,用于将所述修改模块标记后的路由更新报文发布出去。
15、 如权利要求14所述的通信设备,其特征在于,在所述分类模块确定所述路由为第二类路由时,所述修改模块还包括信息修改单元,用于在所述路由更新报文中增加所述通信设备的信息。
16、 如权利要求15所述的通信设备,其特征在于,所述信息为所述通 信设备的一个在网络中可路由的接口 IP地址。
17、 一种路由发布的方法,其特征在于,始发节点根据预设的路由分类策略,对所要发布的路由进行分类,根据路 由分类结果,在路由更新报文中标记路由类型,并通过路由更新报文将所述路 由发布出去。
18、 如权利要求17所述的方法,其特征在于,所述路由更新才艮文为边界 网关协议BGP路由更新净艮文。
19、 如权利要求17所述的方法,其特征在于,当路由分类结果为所述路由属于第二类路由时,在所述路由更新报文中增 加所述始发节点的信息。
20、 如权利要求18所述的方法,其特征在于,所述信息为所述始发节 点的一个在网络中可路由的接口 IP地址。
全文摘要
本发明实施例公开了一种路由安装、发布的方法和设备,通过对路由进行分类,根据路由类型分别进行路由安装,实现了FIB分布式存储的自动化,避免大量人工配置工作,解决了路由表快速增长导致路由器FIB太大的问题。
文档编号H04L12/56GK101534239SQ20081006582
公开日2009年9月16日 申请日期2008年3月13日 优先权日2008年3月13日
发明者徐小虎 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1