建立路由表的方法和装置及报文转发方法和装置的制作方法

文档序号:7759995阅读:157来源:国知局
专利名称:建立路由表的方法和装置及报文转发方法和装置的制作方法
技术领域
本发明实施例涉及通信技术,尤其涉及建立路由表的方法和装置及报文转发方法 和装置。
背景技术
多协议标签交换(Multi-ProtocolLabel Switching,简称MPLS)是一种特殊的 转发机制,它为进入网络中的IP报文分配标签,标签作为IP包头在网络中的替代品而存 在,在MPLS网络内部,在报文所经过的路径通过交换标签(而不是解析IP包头)来实现转 发;当报文要退出MPLS网络时,报文被解开标签封装,继续按照IP包的路由方式到达目的 地。采用MPLS技术,仅需读取报文的标签,无须读取每个报文的报文头以及IP地址位等信 息,因此大大提升了报文传输速度。为了使路由设备能够支持IP转发和MPLS转发,目前,路由设备建立路由表的方 法是首先建立IP路由表;当针对IP路由表中的每一个IP路由添加对应的MPLS转发路 径时,生成MPLS转发等价类映射到标签 转发下一跳(Forwarding Equivalence Class To Next Hop Label Forwarding Entry,简称FTN)表,IP 路由表和 MPLS FTN表是相互独立的 两张表。目前,基于建立的路由表进行报文转发的过程包括路由设备接收到报文后,首先 在MPLS FTN表中查找与该报文匹配的路由,如果查找到,则进行MPLS报文转发处理;否则, 在IP路由表中查找与该报文匹配的路由,如果在IP路由表中查找到,则进行IP报文转发 处理,否则,丢弃接收到的报文。由以上描述可以看出,在现有技术中,路由设备建立路由表时必须建立IP路由表 和MPLS FTN表共两张表,在目前路由数量众多的情况下,往往会对内存产生很大的消耗,大 大浪费了存储资源。举例来说,当路由设备采用分布式结构时,路由设备包括主控卡和多个 线卡,主控卡针对每一个线卡生成并保存IP路由表和MPLS FTN表,并且,主控卡将IP路由 表和MPLS FTN表下发到对应的线卡,这样,针对每一个线卡,都需要在主控卡上保存IP路 由表和MPLS FTN表以及在该线卡上保存IP路由表和MPLS FTN表,共4张表,如果有10个 线卡,路由设备上就需要保存40张表,从而大大消耗了内存,浪费了存储资源。并且,采用现有技术中的报文转发方法,如果报文需要匹配到IP路由表中的路由 或者匹配不到路由时,由于需要首先查找MPLS FTN表然后再查找IP路由表,查表次数为2 次,并且需要从2张表的众多表项中进行查找,因此,大大增加了查找次数,降低了查找效 率。

发明内容
本发明实施例提供建立路由表的方法和装置,能够节约存储资源。本发明实施例还提供报文转发方法和装置,能够提高查找效率。本发明实施例提供的建立路由表的方法,包括
设置共有路由表,在所述共有路由表中保存IP路由,并为所述IP路由添加IP标 识;当生成多协议标签交换MPLS路由后,删除所述共有路由表中所述MPLS路由对应的IP路由及其IP标识;将所述MPLS路由保存到所述共有路由表中,并为所述MPLS路由添加MPLS标识。本发明实施例提供的建立路由表的装置,包括设置模块,用于设置共有路由表,在所述共有路由表中保存IP路由,并为所述IP 路由添加IP标识;第一删除模块,用于当生成MPLS路由后,删除所述共有路由表中所述MPLS路由对 应的IP路由及其IP标识;第一添加模块,用于将所述MPLS路由保存到所述共有路由表中,并为所述MPLS路 由添加MPLS标识。本发明实施例提供的报文转发方法,包括本发明实施例提供的建立路由表的方 法,以及,接收到报文后,在所述共有路由表中查找与所述报文匹配的路由,在查找到后,如 果查找到的路由具有IP标识,则对所述报文进行IP转发,如果查找到的路由具有MPLS标 识,则对所述报文进行MPLS转发。本发明实施例提供的报文转发装置,包括本发明实施例提供的建立路由表的装 置,以及接收模块,用于接收报文;查找模块,用于在所述共有路由表中查找与所述报文匹配的路由;IP转发模块,用于在所述查找模块查找到的路由具有IP标识时,对所述报文进行 IP转发;MPLS转发模块,用于在所述查找模块查找到的路由具有MPLS标识时,对所述报文 进行MPLS转发。本发明实施例提出的建立路由表的方法和装置,无需建立IP路由表和MPLS FTN 表两张表,而只需要建立一张共有路由表,由于对于一个报文,如果路由表中存在可匹配的 MPLS路由,那么,就不会使用该MPLS路由对应的IP路由,因此,本发明实施例在将MPLS路 由保存到共有路由表中时删除了该MPLS路由对应的IP路由,并为保存的MPLS路由添加 MPLS标识,以便后续报文匹配时能够确定匹配到的路由是MPLS路由。可见,对于存在对应 关系的MPLS路由和IP路由,同一时间在共有路由表中只会保存其中一个,因此,本发明实 施例仅通过一张表保存了每一个存在对应关系的MPLS路由和IP路由中的一个,从而大大 节约了存储资源,降低了对内存的消耗。本发明实施例提出的报文转发方法和装置,由于分别采用了本发明实施例提出的 建立路由表的方法和装置,因此,共有路由表中需要保存的路由数量大大减少,在这些路由 中查找与报文匹配的路由,就能够大大减少查找的次数,从而大大提高了查找效率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。图1是本发明实施例中建立路由表的基本流程图;图2是本发明实施例中进行报文转发的基本流程图;图3是本发明一个优选实施例中建立路由表并进行报文转发的流程图;
图4是本发明实施例中建立路由表的装置的一种结构示意图;图5是本发明实施例中建立路由表的装置的另一种结构示意图;图6是本发明实施例中报文转发装置的一种结构示意图;图7是本发明实施例中报文转发装置的另一种结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提出了一种建立路由表的方法,参见图1,该方法包括步骤101 设置共有路由表,在共有路由表中保存IP路由,并为该IP路由添加IP 标识。步骤102 当生成MPLS路由后,将该MPLS路由保存到共有路由表中,并为该MPLS 路由添加MPLS标识。步骤103 删除共有路由表中所述MPLS路由对应的IP路由及其IP标识。可见,本发明实施例提出的建立路由表的方法,无需建立IP路由表和MPLS FTN 表两张表,而只需要建立一张共有路由表,由于对于一个报文,如果路由表中存在可匹配的 MPLS路由,那么,就不会使用该MPLS路由对应的IP路由,因此,本发明实施例在将MPLS路 由保存到共有路由表中时删除了该MPLS路由对应的IP路由,并为保存的MPLS路由添加 MPLS标识,以便后续报文匹配时能够确定匹配到的路由是MPLS路由。可见,对于存在对应 关系的MPLS路由和IP路由,同一时间在共有路由表中只会保存其中一个,因此,本发明实 施例仅通过一张表保存了每一个存在对应关系的MPLS路由和IP路由中的一个,从而大大 节约了存储资源,降低了对内存的消耗。本发明实施例还提出了一种报文转发方法,参见图2,该方法包括步骤201 设置共有路由表,在共有路由表中保存IP路由,并为该IP路由添加IP 标识。步骤202 当生成MPLS路由后,将该MPLS路由保存到共有路由表中,并为该MPLS 路由添加MPLS标识。步骤203 删除共有路由表中所述MPLS路由对应的IP路由及其IP标识。步骤204 接收到报文后,在所述共有路由表中查找与所述报文匹配的路由。步骤205 在查找到后,判断查找到的路由具有IP标识还是MPLS标识,如果是IP 标识,执行步骤206,如果是MPLS标识,执行步骤207。
步骤206 对报文进行IP转发,结束当前流程。步骤207 对报文进行MPLS转发。可见,本发明实施例提出的报文转发方法,由于采用了本发明实施例提出的建立路由表的方法,因此,共有路由表中需要保存的路由数量大大减少,在这些路由中查找与报 文匹配的路由,就能够大大减少查找的次数,从而大大提高了查找效率。参见图3,在本发明一个优选实施例中,建立路由表并利用该路由表进行报文转发 的过程包括步骤301 在路由设备中设置共有路由表。步骤302 路由设备在共有路由表中保存所有IP路由,并为每一个IP路由添加IP 标识。正如本领域技术人员熟知的,IP路由中可以包括路由前缀(比如目的IP地址)、 网关信息、接口及跃点数。每一条IP路由都具有IP标识,该IP标识用于表示该路由是IP路由。步骤303 当需要进行MPLS转发时,路由设备针对每一个路由前缀生成MPLS路由。这里,路由前缀可以是目的IP地址。步骤304 路由设备在共有路由表中查找与生成的MPLS路由对应的IP路由。这里,与生成的MPLS路由对应的IP路由可以是与所述MPLS路由具有相同路由 前缀(比如目的IP地址)的IP路由。步骤305 路由设备删除所查找到的IP路由及其IP标识。步骤306 路由设备将生成的MPLS路由保存到共有路由表中。步骤307 路由设备为保存的MPLS路由添加MPLS标识。
这里,MPLS标识用于表示该路由是MPLS路由。步骤308 当需要从MPLS转发恢复IP转发时,路由设备删除共有路由表中的MPLS 路由及其MPLS标识。步骤309 路由设备将该删除的MPLS路由对应的IP路由保存到共有路由表中,并 为该IP路由添加IP标识。删除的MPLS路由对应的IP路由可以根据路由设备保存的该IP路由来获得,也可 以根据删除的MPLS路由来生成。比如,在生成时,由于MPLS路由与其对应的IP路由所包 括的内容基本相同,因此,只需要对需删除的MPLS路由进行适用于IP路由的修改(如路由 属性的修改)就可以得到对应的IP路由。利用上述步骤303至步骤307的实现过程,每一个MPLS路由生成时(即需要进行 MPLS转发时)都会被保存到共有路由表中,并被添加MPLS标识,并且,相应的IP路由及其 IP标识就会被删除,使得在进行MPLS转发时,不会被使用的IP路由不会被保存在共有路由 表中。利用上述步骤308至步骤309的实现过程,每一个MPLS路由需要删除时(即不需要 进行MPLS转发改为IP转发时),都会从共有路由表中删除该MPLS路由及其MPLS标识,并 且,相应的IP路由及其IP标识就会被保存到共有路由表中,使得在进行IP转发时,不会被 使用的MPLS路由不会被保存在共有路由表中。至此,则完成了本发明实施例中建立路由表的过程。
为了基于上述本发明实施例建立的路由表进一步实现报文转发,在执行完上述步 骤后,还可以进一步执行如下步骤310至步骤315的过程。步骤310 路由设备接收到报文。步骤311 路由设备在共有路由表中查找与报文匹配的路由,如果未查找到,执行 步骤312,如果查找到,执行步骤313。本步骤中,路由设备在共有路由表 中查找与报文匹配的路由的过程可以是在共 有路由表中查找与从报文中提取的路由前缀相同的路由前缀。其中,路由前缀可以是目的 IP地址。步骤312 丢弃接收到的报文,结束当前流程。步骤313 判断查找到的路由具有IP标识还是MPLS标识,如果是IP标识,则执行 步骤314,如果是MPLS标识,则执行步骤315。步骤314 路由设备对报文进行IP转发,结束当前流程。步骤315 路由设备对报文进行MPLS转发。需要说明的是,上述图3所示流程是本发明建立路由表并基于该路由表进行报文 转发的一种优选的实现流程,在本发明方法的实际实现中,可以根据需要选择其中的任意 步骤来实现,并且各个步骤的顺序也可以根据需要进行调整。比如,步骤303至步骤307的 实现过程与步骤308至步骤309的实现过程并无严格固定的先后顺序,该两种实现过程是 动态和实时进行的。再如,步骤304处,MPLS路由对应的IP路由可以不是与MPLS路由具 有相同路由前缀的IP路由,而是与MPLS路由具有相同网关信息的IP路由等。本发明实施例还提出了一种建立路由表的装置,参见图4,包括设置模块401,用于设置共有路由表,在所述共有路由表中保存IP路由,并为所述 IP路由添加IP标识;第一删除模块402,用于当生成MPLS路由后,删除所述共有路由表中所述MPLS路 由对应的IP路由及其IP标识;第一添加模块403,用于将所述MPLS路由保存到所述共有路由表中,并为所述 MPLS路由添加MPLS标识。参见图5,在本发明实施例提出的建立路由表的装置的一种优选结构中进一步包 括第二删除模块501,用于删除所述共有路由表中的所述MPLS路由及其MPLS标识;第二添加模块502,用于将所述MPLS路由对应的IP路由保存到所述共有路由表 中,并为所述IP路由添加IP标识。本发明实施例还提出了一种报文转发装置,参见图6,该装置包括本发明实施例 提出的任意一种建立路由表的装置601,以及接收模块602,用于接收报文;查找模块603,用于在所述建立路由表的装置601设置的共有路由表中查找与所 述报文匹配的路由;IP转发模块604,用于在所述查找模块查找到的路由具有IP标识时,对所述报文 进行IP转发;MPLS转发模块605,用于在所述查找模块查找到的路由具有MPLS标识时,对所述报文进行MPLS转发。 参见图7,在本发明实施例提出的报文转发装置的一种优选结构中,查找模块603 包括第一查找子模块701,用于在所述共有路由表中查找与从所述报文中提取的路由前缀 相同的路由前缀。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者 光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
一种建立路由表的方法,其特征在于,包括设置共有路由表,在所述共有路由表中保存IP路由,并为所述IP路由添加IP标识;当生成多协议标签交换MPLS路由后,删除所述共有路由表中所述MPLS路由对应的IP路由及其IP标识;将所述MPLS路由保存到所述共有路由表中,并为所述MPLS路由添加MPLS标识。
2.根据权利要求1所述的建立路由表的方法,其特征在于,该方法进一步包括删除所述共有路由表中的所述MPLS路由及其MPLS标识,并将所述MPLS路由对应的IP 路由保存到所述共有路由表中,并为所述IP路由添加IP标识。
3.根据权利要求1或2所述的建立路由表的方法,其特征在于,所述MPLS路由对应的 IP路由为与所述MPLS路由具有相同路由前缀的IP路由。
4.根据权利要求3所述的建立路由表的方法,其特征在于,所述路由前缀为目的IP地址。
5.一种建立路由表的装置,其特征在于,包括设置模块,用于设置共有路由表,在所述共有路由表中保存IP路由,并为所述IP路由 添加IP标识;第一删除模块,用于当生成MPLS路由后,删除所述共有路由表中所述MPLS路由对应的 IP路由及其IP标识;第一添加模块,用于将所述MPLS路由保存到所述共有路由表中,并为所述MPLS路由添 加MPLS标识。
6.根据权利要求5所述的建立路由表的装置,其特征在于,进一步包括第二删除模块,用于删除所述共有路由表中的所述MPLS路由及其MPLS标识; 第二添加模块,用于将所述MPLS路由对应的IP路由保存到所述共有路由表中,并为所 述IP路由添加IP标识。
7.一种报文转发方法,其特征在于,包括如权利要求1 4任一所述的建立路由表的 方法,以及,接收到报文后,在所述共有路由表中查找与所述报文匹配的路由,在查找到后,如果查 找到的路由具有IP标识,则对所述报文进行IP转发,如果查找到的路由具有MPLS标识,则 对所述报文进行MPLS转发。
8.根据权利要求7所述的报文转发方法,其特征在于,所述在所述共有路由表中查找 与所述报文匹配的路由包括在所述共有路由表中查找与从所述报文中提取的路由前缀相同的路由前缀。
9.一种报文转发装置,其特征在于,包括如权利要求5 6任一所述的建立路由表的装 置,以及接收模块,用于接收报文;查找模块,用于在所述共有路由表中查找与所述报文匹配的路由;IP转发模块,用于在所述查找模块查找到的路由具有IP标识时,对所述报文进行IP转发;MPLS转发模块,用于在所述查找模块查找到的路由具有MPLS标识时,对所述报文进行 MPLS转发。
10.根据权利要求9所述的报文转发装置,其特征在于,所述查找模块包括第一查找子 模块,用于在所述共有路由表中查找与从所述报文中提取的路由前缀相同的路由前缀。
全文摘要
本发明提供了建立路由表的方法和装置及报文转发方法和装置。建立路由表的方法包括设置共有路由表,在所述共有路由表中保存IP路由,并为所述IP路由添加IP标识;当生成多协议标签交换(MPLS)路由后,删除所述共有路由表中所述MPLS路由对应的IP路由及其IP标识;将所述MPLS路由保存到所述共有路由表中,并为所述MPLS路由添加MPLS标识。本发明能够节约存储资源及提高查找效率。
文档编号H04L29/06GK101938424SQ20101028464
公开日2011年1月5日 申请日期2010年9月15日 优先权日2010年9月15日
发明者陈武溢 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1