互联网路由方法及网络转发设备的制作方法

文档序号:7555380阅读:136来源:国知局
专利名称:互联网路由方法及网络转发设备的制作方法
技术领域
本发明涉及互联网技术领域,尤其涉及互联网路由技术,具体地说,是涉及一种互联网路由方法。
背景技术
随着接入互联网的网络的增多,以及多宿主、流量工程等技术的广泛使用,全球路由表正在快速增长,这将增加高性能路由转发硬件带来内存和计算力开销。尤其是IPv4地址即将耗尽,IPv6大地址空间的逐渐部署,路由表膨胀的问题会更加严重。虽然有许多方案被提出,其中有一类方案是在互联网上使用自治系统(Autonomous System,简称AS)号路由方法,该方法的特点是在数据包头部携带AS编号信息,网络转发设备根据数据包头部AS编号信息选择下一跳,转发数据包。但是完全基于AS号的路由方法降低了流量工程策略表达的粒度。无法像现在基于IP地址前缀匹配的那样灵活地实施流量工程。因此,亟需一种互联网路由方法来解决上述问题。

发明内容
本发明所要解决的技术问题之一是需要提供一种能够缩减位于互联网核心区域AS内的路由器转发表表项数量的互联网路由方法。为了解决上述技术问题,本发明提供了一种互联网路由方法,其特征在于,包括:建立网络转发设备的IP地址前缀到AS号的映射表;基于所述映射表和所述网络转发设备的转发表生成聚合转发表,所述聚合转发表包括关于IP地址前缀的表项和AS号的表项;在所述网络转发设备接收到数据包时,根据所述数据包头部从所述聚合转发表中来查找该数据包对应的下一跳来转发所述数据包。在一个实施例中,基于所述网络转发设备运行的BGP路由表来建立该网络转发设备的IP地址前缀到AS号的映射表。在一个实施例中,在基于所述映射表和所述网络转发设备的转发表生成聚合转发表的步骤中,进一步包括,步骤21,从所述映射表中选择满足设定条件的AS号以得到AS集合,其中,所述设定条件为宣告IP地址前缀数量大于等于设定值的AS号;步骤22,根据AS集合和所述网络转发设备的转发表,初步计算生成聚合转发表;步骤23,检查生成的聚合转发表是否与所述网络转发设备的转发表的转发结果一致。在一个实施例中,在所述步骤22中,进一步包括,对于AS集合中的每个AS号,判断AS号宣告的所有IP地址前缀在所述网络转发设备的转发表中是否对应相同的下一跳,其中,若判断结果为是,则将关于该AS号和该下一跳的聚合表项插入到聚合转发表中,并将该AS号宣告的所有IP地址前缀添加到被聚合掉的前缀集合中;否则,将该AS号宣告的所有IP地址前缀在所述网络转发设备的转发表中对应的表项插入到聚合转发表中;对于所有在所述网络转发设备的转发表中的所有IP地址前缀和下一跳,如果该IP地址前缀未在聚合转发表和被聚合掉的前缀集合中出现,则把关于该IP地址前缀和该下一跳的表项添加到聚合转发表中。在一个实施例中,在所述步骤S23中,进一步包括:将所述网络转发设备的转发表中存在于所述聚合转发表中的所有IP地址前缀设定在第一集合中,将其他不存在于所述聚合转发表中的所有IP地址前缀设定在第二集合中;对于所述第一集合中的每个IP地址前缀,判断是否能从所述第二集合中查找到一 IP地址前缀,使得第一集合中的IP地址前缀包含所查找到的IP地址前缀,若判断结果为是,则判断是否能在所述聚合转发表中消除该第一集合中的IP地址前缀。在一个实施例中,通过以下步骤来判断是否能在所述聚合转发表中消除该第一集合中的IP地址前缀,从所述映射表查找到对应该第一集合中的IP地址前缀的AS号,判断该AS号宣告的所有IP地址前缀在所述网络转发设备的转发表中是否对应相同的下一跳,其中,若判断结果为是,则将关于该AS号和该下一跳的聚合表项插入到聚合路由表中以消除该第一集合中的IP地址前缀,否则,从所述映射表查找到对应从所述第二集合中查找到一 IP地址前缀的AS号,并将该AS号宣告的所有IP地址前缀在所述网络转发设备的转发表中对应的表项都插入到所述聚合转发表中。在一个实施例中,在根据所述数据包头部从所述聚合转发表中来查找该数据包对应的下一跳来转发所述数据包的步骤中,判断所述数据包头部是否存在对应AS号的IP选项,其中,若不存在,则从所述聚合转发表中查找与所述数据包的IP地址匹配的IP地址前缀的表项,若查找到匹配的表项,则将所述数据包转发到与所述表项对应的下一跳,否则,从所述映射表中查找到与所述数据包的IP地址对应的AS号,并将所述数据包转发到与AS号对应的下一跳;若存在,则从所述聚合转发表中查找与所述数据包的IP选项匹配的AS号表项,若查找到匹配的表项,则将所述数据包转发到与所述表项对应的下一跳,否则,从所述聚合转发表中查找到与所述数据包的IP地址匹配的IP前缀的表项,并将所述数据包转发到与该匹配表项对应的下一跳。在一个实施例中,在所述网络转发设备更新路由表时,则重新建立网络转发设备的IP地址前缀到AS号的映射表,并基于所述映射表和所述网络转发设备的转发表重新生成聚合转发表,所述聚合转发表包括关于IP地址前缀的表项和AS号的表项。在一个实施例中,若第一自治系统与第二自治系统相邻,当数据包到达第一自治系统的边界,即将转发进入第二自治系统边界时,将第一自治系统的边界网络转发设备配置成不需要移出所述数据包的AS号的IP选项。根据本发明的另一方面,还提供了一种网络转发设备,在其内部部署了上述的互联网路由方法。与现有技术相比,本发明的一个或多个实施例可以具有如下优点:本发明方法由于在转发表中引入了 AS号,把转发表中来自同一个AS宣告的IP地址前缀表项聚合成AS号的表项。增强了 IP地址前缀表项的聚合性,同时也因为流量工程需要而保留一部分IP前缀。所以在增强IP聚合性同时,也满足流量工程需要,从而达到不影响流量工程的AS号路由。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:图1是根据本发明实施例的互联网路由方法的流程示意图。
具体实施例方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明实施例适用于IPv6和IPv4的互联网,根据本发明实施例的方法可以缩减位于互联网核心区域AS内的路由器转发表表项数量。本实施例易于局部部署于运行边界网关协议(Border Gateway Protocol,简称BGP路由协议)的网络转发设备。需要说明的是,在本发明实施例中,以路由器作为网络转发设备为例进行说明。图1是根据本发明实施例的互联网路由方法的流程示意图。下面参考图1,详细说明本实施例的各个步骤。步骤S110,建立网络转发设备的IP地址前缀到AS号的映射表M。具体地,以R来表示路由器。在R上建立一个IP地址前缀到AS号的映射表,该映射表表明了 IP地址前缀和宣告该IP地址前缀的AS号之间的对应关系。需要说明的是,互联网域间路由运行BGP协议。其中,某个局域网络A自身拥有的IP地址前缀通过某个AS BGP路由器宣告,如果是A自身首次宣告出去,则该IP和A的AS号对应,如果是通过A的某个相邻AS首次宣告出去,则对应该邻居AS号优选地,该映射表可以基于设备R运行的BGP路由表来建立。这是因为BGP路由表每条路由具有AS_PATH属性,其中记载了该条前缀从宣告它的AS到本地AS经过的传播路径。例如下面是一部分路由表。其中前缀3.0.0.0的AS_PATH属性是1615084343257123980。按照BGP协议的定义,其中最右边的AS号80即是宣告该IP的AS,建立从3.0.0.0到AS80
的映射条目。NetworkNext HopMetric LocPrf Weight Path
0.0.0.0138.18.21.2O 13 668 i
* 3.0.0.0217.75.96.60O 16150 8434 3257 1239 80 i步骤S120,基于映射表M和网络转发设备的转发表(以下可称为原转发表F)生成聚合转发表G,聚合转发表G包括关于IP地址前缀的表项和AS号的表项。具体地,本步骤包括以下子步骤。子步骤S1201,从映射表M中选择满足设定条件的AS号以获得AS集合。具体地,R根据需要选择要聚合的AS号,在本方法实施例中,优选地,设定条件为宣告IP地址前缀数量大于等于设定值的IP地址前缀所对应的AS号,然后,将选择的AS号组成的AS集合设定为是D。子步骤S1202,根据AS集合D和原转发表F,初步计算生成聚合转发表G。具体地,对于D中的每个AS号,判断AS号宣告的所有IP地址前缀在原转发表F中是否对应相同的下一跳h,若判断结果为是,则将关于该AS号和该下一跳的聚合表项插入到聚合转发表中,即在聚合转发表中插入聚合表项〈AS,h>,同时将该AS号宣告的所有IP地址前缀添加到被聚合掉的前缀集合U中。否则,把该AS宣告的所有IP地址前缀在原转发表中对应的表项插入到聚合路由表中。需要说明的是,下一跳是本地路由器转发数据包给下一个路由器时,在本地路由器对应的接口。比如路由器A有两个接口 Al和A2,Al接口连接路由器B,A2接口连接路由器C。路由器B连接主机H1,路由器C连接主机H2。路由器A收到目的地址是主机Hl的数据包,就要转发给路由器B,此时路由器A的转发表中对应于主机Hl的下一跳就是Al。最后,对于所有在原路由表F中的IP地址如缀P和下一跳F (P),如果P不在G和U中,则把〈P,F (p)>添加到G中(该步骤为了弥补G和F的一致)。这是因为,在原转发表中、不满足条件“如果该AS宣告的所有IP地址前缀在原转发表中对应相同的下一跳h”的IP地址前缀对应的转发表项不能被聚合,执行该步骤将它们全部插入到聚合转发表中,是为了保持和原转发表一致性。例如,请参考下面两个表。其中,表I是原转发表,这里假设前缀2.2.0.0/16和前缀3.3.0.0/16对应AS1,前缀4.4.0.0/16和前缀5.5.0.0/16对应AS2。则根据上述步骤,生成聚合转发表为表2。表I
权利要求
1.一种互联网路由方法,其特征在于,包括: 建立网络转发设备的IP地址前缀到AS号的映射表; 基于所述映射表和所述网络转发设备的转发表生成聚合转发表,所述聚合转发表包括关于IP地址前缀的表项和AS号的表项; 在所述网络转发设备接收到数据包时,根据所述数据包头部从所述聚合转发表中来查找该数据包对应的下一跳来转发所述数据包。
2.根据权利要求1所述的方法,其特征在于, 基于所述网络转发设备运行的BGP路由表来建立该网络转发设备的IP地址前缀到AS号的映射表。
3.根据权利要求1所述的方法,其特征在于,在基于所述映射表和所述网络转发设备的转发表生成聚合转发表的步骤中,进一步包括, 步骤21,从所述映射表中选择满足设定条件的AS号以得到AS集合,其中,所述设定条件为宣告IP地址前缀数量大于等于设定值的AS号; 步骤22,根据AS集合和所述网络转发设备的转发表,初步计算生成聚合转发表; 步骤23,检查生成的聚合转发 表是否与所述网络转发设备的转发表的转发结果一致。
4.根据权利要求3所述的方法,其特征在于,在所述步骤22中,进一步包括, 对于AS集合中的每个AS号,判断AS号宣告的所有IP地址前缀在所述网络转发设备的转发表中是否对应相同的下一跳,其中, 若判断结果为是,则将关于该AS号和该下一跳的聚合表项插入到聚合转发表中,并将该AS号宣告的所有IP地址前缀添加到被聚合掉的前缀集合中;否则,将该AS号宣告的所有IP地址前缀在所述网络转发设备的转发表中对应的表项插入到聚合转发表中; 对于所有在所述网络转发设备的转发表中的所有IP地址前缀和下一跳,如果该IP地址前缀未在聚合转发表和被聚合掉的前缀集合中出现,则把关于该IP地址前缀和该下一跳的表项添加到聚合转发表中。
5.根据权利要求3所述的方法,其特征在于,在所述步骤S23中,进一步包括: 将所述网络转发设备的转发表中存在于所述聚合转发表中的所有IP地址前缀设定在第一集合中,将其他不存在于所述聚合转发表中的所有IP地址前缀设定在第二集合中;对于所述第一集合中的每个IP地址前缀,判断是否能从所述第二集合中查找到一 IP地址前缀,使得第一集合中的IP地址前缀包含所查找到的IP地址前缀,若判断结果为是,则判断是否能在所述聚合转发表中消除该第一集合中的IP地址前缀。
6.根据权利要求5所述的方法,其特征在于,通过以下步骤来判断是否能在所述聚合转发表中消除该第一集合中的IP地址前缀, 从所述映射表查找到对应该第一集合中的IP地址前缀的AS号,判断该AS号宣告的所有IP地址前缀在所述网络转发设备的转发表中是否对应相同的下一跳,其中, 若判断结果为是,则将关于该AS号和该下一跳的聚合表项插入到聚合路由表中以消除该第一集合中的IP地址前缀,否则,从所述映射表查找到对应从所述第二集合中查找到一 IP地址前缀的AS号,并将该AS号宣告的所有IP地址前缀在所述网络转发设备的转发表中对应的表项都插入到所述聚合转发表中。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在根据所述数据包头部从所述聚合转发表中来查找该数据包对应的下一跳来转发所述数据包的步骤中, 判断所述数据包头部是否存在对应AS号的IP选项,其中, 若不存在,则从所述聚合转发表中查找与所述数据包的IP地址匹配的IP地址前缀的表项,若查找到匹配的表项,则将所述数据包转发到与所述表项对应的下一跳,否则,从所述映射表中查找到与所述数据包的IP地址对应的AS号,并将所述数据包转发到与AS号对应的下一跳; 若存在,则从所述聚合转发表中查找与所述数据包的IP选项匹配的AS号表项,若查找到匹配的表项,则将所述数据包转发到与所述表项对应的下一跳,否则,从所述聚合转发表中查找到与所述数据包的IP地址匹配的IP前缀的表项,并将所述数据包转发到与该匹配表项对应的下一跳。
8.根据权利要求1所述的方法,其特征在于, 在所述网络转发设备更新路由表时,则重新建立网络转发设备的IP地址前缀到AS号的映射表,并基于所述映射表和所述网络转发设备的转发表重新生成聚合转发表,所述聚合转发表包括关于IP地址前缀的表项和AS号的表项。
9.根据权利要求8所述的方法,其特征在于, 若第一自治系统与第二自治系统相邻,当数据包到达第一自治系统的边界,即将转发进入第二自治系统边界时,将第一自治系统的边界网络转发设备配置成不需要移出所述数据包的AS号的IP选项。
10.一种网络 转发设备,其特征在于,在其内部部署了根据权利要求1至9中任一项所述的互联网路由方法。
全文摘要
本发明公开了一种互联网路由方法,该方法包括建立网络转发设备的IP地址前缀到AS号的映射表;基于所述映射表和所述网络转发设备的转发表生成聚合转发表,所述聚合转发表包括关于IP地址前缀的表项和AS号的表项;在所述网络转发设备接收到数据包时,根据所述数据包头部从所述聚合转发表中来查找该数据包对应的下一跳来转发所述数据包。本发明方法由于在转发表中引入了AS号,把转发表中来自同一个AS宣告的IP地址前缀表项聚合成AS号的表项。增强了IP地址前缀表项的聚合性,同时也因为流量工程需要而保留一部分IP前缀。所以在增强IP聚合性同时,也满足流量工程需要,从而达到不影响流量工程的AS号路由。
文档编号H04L12/741GK103179038SQ20131013919
公开日2013年6月26日 申请日期2013年4月19日 优先权日2013年4月19日
发明者毕军, 王旸旸 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1