专利名称:转发报文方法和分布式三层网络设备的制作方法
技术领域:
本发明涉及网络通信技术领域,尤其涉及一种用于分布式三层 网络,没备的转发才艮文方法和一种分布式三层网络i殳备。
背景技术:
随着网络的高速发展,大容量、高密度端口的分布式三层交换斗几在局i或网和i成i或网的应用越来越广。分布式三层交換^;l一^殳由枳i框、背板、多引擎板(MEC板)和多种类型的线卡构成。其中,多引擎板包括主控CPU和CrossBar交换结构,4艮据需要可以配置多种类型的CPU,完成网管、协议处理和内部通信等功能;背板是各 滋4rtf aa ,t ^v: 乂* 夂必k aa :名乂+山j》々. ^i;工^■ ^ 乂*胡4去# ffl集成电i 各(Application Specific Integrated Circuit,简称、ASIC )芯片完成高速转发功能,并提供高密度的端口完成数据接收和转发功能。对于分布式三层交换机来说,路由引擎和转发引擎分离,全局 路由表和局部转发表分离,多引擎板完成协议处理和计算,各线卡 独立完成数据转发,^旦由于不同类型的线卡^f吏用不同的ASIC芯片, 使得路由转发表的大小不尽相同,而ASIC芯片使用的路由添加算 法也会影响最终添加成功的路由条目数量。路由转发表比较小或者 由于路由转发表算法本身的限制,会使得线卡上的路由转发表很快 加满或者发生位置上的冲突导致路由条目无法添加成功。在实现本发明过程中,发明人发现有些线卡的路由转发表容量 较小,这样线卡转发数据报文时可能导致某些报文一直无法匹配,从而导致数据报文只能通过线卡上的CPU进行软转发,造成转发緩慢,丢包严重。 发明内容考虑到上述问题而做出本发明,为此,本发明的主要目的是提 出一种用于分布式三层网络设备的转发报文方法和一种分布式三层 网络设备,以解决分布式网络中较小容量转发表的线卡转发报文受 限制的问题。在本发明的实施例中,提供了一种用于分布式三层网络设备 的转发才艮文方法,包括步骤一,确定分布式三层网络i殳备的多个线卡中的最大性能线卡;步骤二,检测到一个线卡的转发表添加路由 时产生故障导致不能转发报文;步骤三,通过最大性能线卡转发报 文。步骤二具体包括根据转发表添加if各由时产生故障的转发表状 态记录信息,判断路由的路由类型;步骤三具体包括如果路由类 型是精确匹配路由,则将精确匹配路由的主才几所属直连网,史的路由 下 一跳地址修改为最大性能线卡的地址;以及如果路由类型是最长 前缀匹配3各由,则在线卡上保留一条缺省3各由,并将击夬省^各由的下 一跳地址修改为最大性能线卡的地址。优选的,步骤三包括如果一个线卡本身就是一个最大性能线 卡,则选择任意一个最大性能线卡转发报文。优选的,最大性能线卡为多个,步骤三包括选"t奪一个最大性 能线卡;以及通过选择的最大性能线卡转发报文。优选的,最大性能线卡为多个,还包括预先配置每个线卡对 应多个最大性能线卡中的一个;步骤三包括通过一个线卡所配置 的最大性能线卡转发^J艮文。优选的,最大性能线卡为多个,还包括如果一个最大性能线 卡下线,则选择下线的最大性能线卡所对应的线卡对应一个在线的 最大性能线卡;以及如果下线的最大性能线卡重新上线,则配置下 线的最大性能线卡原先所对应的线卡解除与当前最大性能线卡的对 应,并重新对应到重新上线的最大性能线卡。在本发明的实施例中,还提供了一种分布式三层网络i殳备,包 括背板、多引擎板和线卡,该网络设备还包括最大性能线卡确定 单元,用于确定三层分布式网络设备的多个线卡中的最大性能线卡; 故障检测单元,用于检测到一个线卡的转发表添加路由时产生故障 导致不能转发报文;转发单元,通过最大性能线卡转发^^文。优选的,故障检测单元具体包括判断单元,用于根据转发表 添加路由时产生故障的转发表状态记录信息,判断路由的路由类型, 其中,路由类型包括精确匹配路由以及最长前缀匹配路由;转发 单元具体包括主机路由转发单元,用于对于精确匹配路由,将精 确匹配路由的主机所属直连网段的路由下一跳地址修改为最大性能 线卡的地址;以及子网路由转发单元,用于对于最长前缀匹配^各由, 在线卡上保留 一条缺省路由,并将缺省^各由的下一跳地址》爹改为最 大性能线卡的地址。优选的,最大性能线卡为多个,转发单元包括多个最大性能 线卡转发单元,用于选择一个最大性能线卡,通过选择的最大性能 线卡转发"^艮文,或用于预先配置每个线卡对应多个最大性能线卡中 的一个,通过一个线卡所配置的最大性能线卡转发报文。优选的,最大性能线卡为多个,转发单元还包括切换单元, 用于当一个最大性能线卡下线,则选"^下线的最大性能线卡所对应 的线卡对应一个在线的最大性能线卡,当下线的最大性能线卡重新 上线,则配置下线的最大性能线卡原先所对应的线卡解除与当前最 大性能线卡的对应,并重新对应到重新上线的最大性能线卡。本发明上述实施例的用于分布式三层网络设备的转发报文方法 和分布式三层网络设备,通过将路由转发表容量较小线卡转发的数 据报文使用最大性能线卡的路由表转发,保证整个三层网络设备始 终稳定地按照最大性能线卡的路由表转发数据,提高了分布式三层 系统的4吏用步文率和稳、定性。
此处所说明的附图用来4是供对本发明的进一步理解,构成本申 请的一部分,本发明的示意性实施例及其说明用于解释本发明,并 不构成对本发明的不当限定。在附图中图1示出了根据本发明实施例的转发报文方法流程图;图2示出了根据本发明实施例的路由类型判断流程图。
具体实施方式
下面参考附图,详细i兌明本发明的具体实施方式
。如图l所示,才艮据本发明的实施例提出了一种用于分布式三层 网络设备的转发报文方法,包括以下步骤步骤S102,确定分布式三层网络设备的多个线卡中的最大性能线卡;步骤S104,检测到一个线卡的转发表添加路由时产生故障导致 不能转发报文;步骤S106,通过最大性能线卡转发报文。本发明适用于使用各种第三层协议的分布式网络设备,包括分 布式三层交换才几和^各由器。该实施例的转发报文方法通过将路由转发表容量较'J 、线卡的数 据报文使用最大性能线卡的路由表转发,保证了整个三层网络设备 始终稳定地按照最大性能线卡的路由表转发数据,提高了系统的稳 定性。如图2所示,添加^各由时进^^各由才企测,增力口一个3各由才企测4吏 能开关,如果该路由检测使能,根据添加路由时转发表状态记录信 息,判断单播路由的路由类型,其中,路由类型包括精确匹配路 由(主枳各由)以及最长前缀匹配路由(子网路由)。如果精确匹配路由在添加路由时发生沖突或者表满,则记录发 生沖突的三层接口 ,并将精确匹配路由的主机所属直连网段的路由 下一跳地址》务改为最大性能线卡的地址。这样如前所述匹配不到主 机路由的数据报文不会沖击线卡的CPU,而是匹配到这个接口的直 连网段到达另 一个有更大性能主机路由表项的线卡,由这个线卡进 行二次路由查找完成数据的转发,从而实现系统以最大性能线卡的 主机路由表转发数据。如果最长前缀匹配3各由在添加if各由时发生沖突或者表满,记录 子网-各由冲突标记,在该线卡上保留一条缺省^各由,将该在夹省路由 的下一跳地址修改为最大性能线卡的地址。这样匹配不到子网路由 的数据报文将经过缺省路由到达最大性能线卡,由该最大性能线卡进^f亍二次查找完成lt据的转发,乂人而实现系统以最大性能线卡的最 长前缀匹配路由表完成转发。下面给出冲艮据本发明方法的实例。
一个三层交换冲几的三层4妄口配置了i也址为100.1.1.1/16,那么它的直连网,殳路由为100.1.0.0/16, 下一淵匕指向本4妄口。这个网,殳的主才几地址在100丄0.1 100丄255.254 范围内,最大需要学习65023个主机路由,如果此时线卡的主机路 由表满或者发生冲突而导致主机路由无法添加成功,那么将直连路 由100.1.0.0/16下一跳出接口修改为指向最大性能线卡;如果子网路 由添加时发生表满或者沖突,那么将预留的缺省路由下一跳出接口 修改为指向最大性能线卡。优选的,如果一个线卡本身就是一个最大性能线卡,则选择任 意一个最大性能线卡转发^^艮文。优选的,最大性能线卡为多个,则系统为每个线卡自动选择多 个最大性能线卡中的任意一个并通过选择的最大性能线卡转发报 文;或者预先配置每个线卡对应多个最大性能线卡中的一个,通过 一个线卡所配置的最大性能线卡转发报文。优选的,最大性能线卡为多个,还包括如果一个最大性能线 卡下线,则选择下线的最大性能线卡所对应的线卡对应一个在线的 最大性能线卡;如果下线的最大性能线卡重新上线,则配置下线的 最大性能线卡原先所对应的线卡解除与当前最大性能线卡的对应, 并重新对应到重新上线的最大性能线卡。在切换时经过预定时间再进行切换,分布式系统需要这段时间 完成对重新上线的线卡同步所有的需要信息,这段时间内等待重新 上线的最大性能线卡获得了所有的转发信息,这样切换之后可以保 证用户的业务不会发生中断。运用这样的方法,保i正每个在线线卡都对应 一个最大性能线卡, 当 一个最大性能线卡下线时会自动切换到另外一个可用的最大性能线卡上;在这个过程中还采用了延时切换机制,保证整个分布式三 层系统始终稳定地按照最大性能线卡的路由表转发数据。通过运用该实施例,4吏每个在线线卡都对应一个最大性能线卡, 并将路由转发表容量较小线卡转发的数据报文使用最大性能线卡的 路由表转发,保证整个三层网络设备始终稳定地按照最大性能线卡 的路由表转发数据,提高了分布式三层系统的使用效率和稳定性。在本发明的实施例中,还提供了一种分布式三层网络设备,包 括背板、多引擎板和线卡,该网络设备还包括最大性能线卡确定 单元,用于确定三层分布式网络设备的多个线卡中的最大性能线卡; 故障检测单元,用于检测到一个线卡的转发表添加路由时产生故障 导致不能转发报文;转发单元,通过最大性能线卡转发报文。优选的,故障检测单元具体包括判断单元,用于根据转发表 添加路由时产生故障的转发表状态记录信息,判断路由的路由类型, 其中,路由类型包括精确匹配路由以及最长前缀匹配路由;转发 单元具体包括主机路由转发单元,用于对于精确匹配路由,将精 确匹配路由的主机所属直连网段的路由下一跳地址修改为最大性能 线卡的地址;以及子网路由转发单元,用于对于最长前缀匹配路由, 在线卡上保留 一条缺省路由,并将缺省路由的下一跳地址修改为最 大性能线卡的地址。优选的,最大性能线卡为多个,转发单元包括多个最大性能 线卡转发单元,用于选择一个最大性能线卡,通过选择的最大性能 线卡转发报文,或用于预先配置每个线卡对应多个最大性能线卡中 的一个,通过一个线卡所配置的最大性能线卡转发报文。优选的,最大性能线卡为多个,转发单元还包括切换单元, 用于当一个最大性能线卡下线,则选择下线的最大性能线卡所对应 的线卡对应一个在线的最大性能线卡,当下线的最大性能线卡重新 上线,则配置下线的最大性能线卡原先所对应的线卡解除与当前最 大性能线卡的对应,并重新对应到重新上线的最大性能线卡。本发明上述实施例的用于分布式三层网络设备的转发报文方法 和分布式三层网络设备,通过使每个在线线卡都对应一个最大性能 线卡,并将路由转发表容量较小线卡转发的数据报文使用最大性能 线卡的路由表转发,保证整个三层网络i殳备始终稳定地按照最大性 能线卡的路由表转发数据,提高了分布式三层系统的使用效率和稳 定性。显然,本领域的技术人员应该明白,上述的本发明的各模块单 元或各步骤可以用通用的计算装置来实现,它们可以集中在单个的 计算装置上,或者分布在多个计算装置所组成的网络上,可选地, 它们可以用计算装置可执行的程序代码来实现,从而,可以将它们 存储在存储装置中由计算装置来执行,或者将它们分别制作成各个 集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电 路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的4呆护范围之内。
权利要求
1.一种用于分布式三层网络设备的转发报文方法,其特征在于,包括以下步骤步骤一,确定所述分布式三层网络设备的多个线卡中的最大性能线卡;步骤二,检测到一个所述线卡的转发表添加路由时产生故障导致不能转发报文;步骤三,通过所述最大性能线卡转发所述报文。
2. 根据权利要求1所述的转发报文方法,其特征在于,所述步骤二具体包括根据所述转发表添加所述路由时产 生故障的转发表状态记录信息,判断所述路由的路由类型;所述步骤三具体包括如果所述路由类型是精确匹配路由,则将所述精确匹 配路由的主才几所属直连网,殳的路由下 一跳地址〗奮改为所 述最大性能线卡的地址;以及如果所述3各由类型是最长前缀匹配路由,则在所述线 卡上保留 一条缺省路由,并将所述缺省^各由的下一跳地址 修改为所述最大性能线卡的地址。
3. 根据权利要求1所述的转发报文方法,其特征在于,所述步骤 三包括如果所述一个线卡本身就是一个所述最大性能线卡, 则选择所述最大性能线卡中的一个转发所述报文。
4. 根据权利要求1所述的转发报文方法,其特征在于,所述最大 性能线卡为多个,所述步骤三包括选择一个所述最大性能线卡;以及 通过选择的所述最大性能线卡转发所述报文。
5. 根据权利要求1所述的转发报文方法,其特征在于,所述最大 性能线卡为多个,还包括预先配置每个所述线卡对应所述多 个最大性能线卡中的一个;所述步骤三包括通过所述一个线卡所配置的所述最大性 能线卡转发所述"t艮文。
6. 根据权利要求4或5所述的转发才艮文方法,其特征在于,所述 最大性能线卡为多个,还包括如果一个所述最大性能线卡下线,则选4奪所述下线的最大 性能线卡所对应的线卡对应一个在线的所述最大性能线卡;以 及如果所述下线的最大性能线卡重新上线,则配置所述下线 的最大性能线卡原先所对应的线卡解除与当前最大性能线卡 的对应,并重新对应到所述重新上线的最大性能线卡。
7. —种分布式三层网络设备,包括背板、多引擎板和线卡,其特 征在于,所述网络-没备还包括最大性能线卡确定单元,用于确定所述三层分布式网络i殳 备的多个线卡中的最大性能线卡;故障检测单元,用于检测到一个所述线卡的转发表添加路 由时产生故障导致不能转发报文;转发单元,通过所述最大性能线卡转发所述报文。
8. 根据权利要求7所述的网络设备,其特4正在于,所述故障4企测单元具体包括判断单元,用于根据所述转发表添加所述路由时产生 故障的转发表状态记录信息,判断所述路由的路由类型, 其中,所述路由类型包括精确匹配路由以及最长前缀匹 酉己^各由;所述转发单元具体包括主机路由转发单元,用于对于所述精确匹配路由,将 所述精确匹配路由的主机所属直连网l殳的路由下一跳地 址修改为所述最大性能线卡的地址;以及子网路由转发单元,用于对于所述最长前缀匹配鴻^ 由,在所述线卡上保留一条缺省路由,并将所述缺省路由 的下一i!兆地址^修改为所述最大性能线卡的地址。
9. 根据权利要求7所述的网络设备,其特征在于,所述最大性能 线卡为多个,所述转发单元包括多个最大性能线卡转发单元,用于选择一个所述最大性能 线卡,通过选择的所述最大性能线卡转发所述报文,或用于预 先配置每个所述线卡对应所述多个最大性能线卡中的一个,通 过所述一个线卡所配置的所述最大性能线卡转发所述报文。
10. 根据权利要求8或9所述的网络设备,其特征在于,所述最大 性能线卡为多个,所述转发单元还包括切换单元,用于当一个所述最大性能线卡下线,则选择所 述下线的最大性能线卡所对应的线卡对应 一 个在线的所述最 大性能线卡,当所述下线的最大性能线卡重新上线,则配置所 述下线的最大性能线卡原先所对应的线卡解除与当前最大性 能线卡的对应,并重新对应到所述重新上线的最大性能线卡。
全文摘要
本发明提供一种用于分布式三层网络设备的转发报文方法,包括步骤一,确定分布式三层网络设备的多个线卡中的最大性能线卡;步骤二,检测到一个线卡的转发表添加路由时产生故障导致不能转发报文;步骤三,通过最大性能线卡转发报文。本发明还提供了一种分布式三层网络设备。通过本发明的技术方案,将路由转发表容量较小线卡转发的数据报文使用最大性能线卡的路由表转发,保证整个三层网络设备始终稳定地按照最大性能线卡的路由表转发数据,提高了分布式三层系统的使用效率和稳定性。
文档编号H04L12/02GK101252521SQ20081008750
公开日2008年8月27日 申请日期2008年3月19日 优先权日2008年3月19日
发明者刘兴铨, 纪小利, 昊 金, 钱霄鸿 申请人:中兴通讯股份有限公司