《网络处理器及其路由查找方法.pdf》由会员分享,可在线阅读,更多相关《网络处理器及其路由查找方法.pdf(7页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103973571 A (43)申请公布日 2014.08.06 CN 103973571 A (21)申请号 201310046118.3 (22)申请日 2013.02.05 H04L 12/741(2013.01) (71)申请人 中兴通讯股份有限公司 地址 518057 广东省深圳市南山区高新技术 产业园科技南路中兴通讯大厦法务部 (72)发明人 闫学涛 王卓 (74)专利代理机构 深圳市世纪恒程知识产权代 理事务所 44287 代理人 胡海国 (54) 发明名称 网络处理器及其路由查找方法 (57) 摘要 本发明公开一种网络处理器及其路由查找方 法, 该网络。
2、处理器包括微码模块、 计数器模块及 TCAM 模块, 其中 : 计数器模块用于对路由信息被 查找的次数进行计数 ; 微码模块用于接收路由查 找请求, 并根据路由查找请求判断待路由信息被 查找的次数是否大于预设次数, 是则从 TCAM 中查 找相应的路由信息 ; 否则从 DRAM 中查找相应的路 由信息, 且当路由信息被查找的次数等于预设次 数时, 将从 DRAM 中查找到的路由信息缓存至所述 TCAM模块中 ; 所述TCAM模块用于缓存达到预设次 数的路由信息。 本发明利用网络处理器的低价格、 高灵活性特点, 不但可以降低路由查找的时间, 实 现路由查找的高效率, 而且还降低了系统成本。 (5。
3、1)Int.Cl. 权利要求书 1 页 说明书 4 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书4页 附图1页 (10)申请公布号 CN 103973571 A CN 103973571 A 1/1 页 2 1. 一种网络处理器, 其特征在于, 包括微码模块、 计数器模块及 TCAM 模块, 其中 : 所述 计数器模块用于对路由信息被查找的次数进行计数 ; 所述微码模块用于接收路由查找请 求, 并根据路由查找请求判断待路由信息被查找的次数是否大于预设次数, 是则从 TCAM 中 查找相应的路由信息 ; 否则从 DRAM 中查找相应的路由信。
4、息, 且当所述路由信息被查找的次 数等于预设次数时, 将从 DRAM 中查找到的路由信息缓存至所述 TCAM 模块中 ; 所述 TCAM 模 块用于缓存达到预设次数的路由信息。 2. 根据权利要求 1 所述的网络处理器, 其特征在于, 还包括 : TCAM 表项模块, 用于记录 路由信息被查找的次数 ; 所述微码模块还用于 : 对 TCAM 表项模块进行初始化, 并对 TCAM 表 项模块中记录的次数进行排序处理 ; 在接收到路由查找请求后, 查询 TCAM 表项模块以获得 待路由信息被查找的次数。 3. 根据权利要求 2 所述的网络处理器, 其特征在于, 所述微码模块还用于 : 接收到路由 。
5、信息删除请求后, 将TCAM模块中缓存的相应的路由信息删除, 同时删除TCAM表项模块中相 应的路由信息的记录。 4. 根据权利要求 2 所述的网络处理器, 其特征在于, 所述微码模块用于周期性地对 TCAM 表项模块进行初始化。 5. 一种网络处理器的路由查找方法, 其特征在于, 包括以下步骤 : 接收路由查找请求 ; 根据路由查找请求, 判断待路由信息被查找的次数是否大于预设次数 ; 是则从 TCAM 中查找相应的路由信息, 并对该路由信息被查找的次数进行计数 ; 否则从 DRAM 中查找相应的路由信息, 且当所述路由信息被查找的次数等于预设次数 时, 将从 DRAM 中查找到的路由信息缓。
6、存, 并对该路由信息被查找的次数进行计数。 6. 根据权利要求 5 所述的路由查找方法, 其特征在于, 所述对路由信息被查找的次数 进行计数之后还包括 : 记录路由信息被查找的次数。 7. 根据权利要求 6 所述的路由查找方法, 其特征在于, 还包括 : 对网络处理器中记录的路由信息被查找的次数进行重新排序。 8. 根据权利要求 6 所述的路由查找方法, 其特征在于, 所述根据路由查找请求, 判断待 路由信息被查找的次数是否大于预设次数包括 : 根据路由查找请求, 查询网络处理器中记录的路由信息被查找的次数, 以获取待路由 信息被查找的次数 ; 判断所获取的待路由信息被查找的次数是否大于预设次。
7、数。 9. 根据权利要求 6 所述的路由查找方法, 其特征在于, 还包括 : 接收到删除请求后, 将 TCAM 模块中缓存的相应的路由信息删除, 同时删除相应的路由 信息被查找的次数的记录。 10. 根据权利要求 6 所述的路由查找方法, 其特征在于, 还包括 : 周期性地对网络处理器中记录的路由信息被查找的次数进行重新排序。 权 利 要 求 书 CN 103973571 A 2 1/4 页 3 网络处理器及其路由查找方法 技术领域 0001 本发明涉及网络技术领域, 尤其涉及一种网络处理器及其路由查找方法。 背景技术 0002 当前随着网络带宽的不断增加, 要求核心路由器每秒能够转发几百万乃。
8、至上千万 个以上的分组。分组转发的重要一步就是查找路由表, 因此快速的路由查找是实现高速分 组转发的关键。 0003 目前可编程网络交换设备, 对路由表的查找主要包括两种 : 第一种、 通过检索 DRAM(Dynamic Random Access Memory, 动态随机存取存储器) 中的路由表项来实现查找 的 ; 第二种、 基于硬件的 TCAM(Ternary Content Addressable Memory, 三态内容寻址存储 器) 查找检索路由表来实现查找的。 0004 第一种是通过将普通 IP 地址拆分, 各部分分别检索来提高检索效率, 虽然其相对 于普通的最长匹配方法提高了效率。
9、, 但是由于该方法检索的路由表项始终是存放在相对低 速的 DRAM 上, 所以随着转发流量的增加, DRAM 的查找方法已经无法满足更高要求的转发。 第二种的检索效率虽然比第一种的检索效率高, 但是 TCAM 更为昂贵, 而且容量相对较小, 而且 TCAM 使用并行匹配比较方式, 功耗较大。 发明内容 0005 本发明的主要目的是提供一种网络处理器, 旨在提高路由查找效率, 同时还降低 了系统成本。 0006 本发明提供了一种网络处理器, 包括微码模块、 计数器模块及 TCAM 模块, 其中 : 所 述计数器模块用于对路由信息被查找的次数进行计数 ; 所述微码模块用于接收路由查找请 求, 并根。
10、据路由查找请求判断待路由信息被查找的次数是否大于预设次数, 是则从 TCAM 中 查找相应的路由信息 ; 否则从 DRAM 中查找相应的路由信息, 且当所述路由信息被查找的次 数等于预设次数时, 将从 DRAM 中查找到的路由信息缓存至所述 TCAM 模块中 ; 所述 TCAM 模 块用于缓存达到预设次数的路由信息。 0007 优选地, 还包括 : TCAM 表项模块, 用于记录路由信息被查找的次数 ; 所述微码模块 还用于 : 对 TCAM 表项模块进行初始化, 并对 TCAM 表项模块中记录的次数进行排序处理 ; 在 接收到路由查找请求后, 查询 TCAM 表项模块以获得待路由信息被查找的。
11、次数。 0008 优选地, 所述微码模块还用于 : 接收到路由信息删除请求后, 将 TCAM 模块中缓存 的相应的路由信息删除, 同时删除 TCAM 表项模块中相应的路由信息的记录。 0009 优选地, 所述微码模块用于周期性地对 TCAM 表项模块进行初始化。 0010 本发明还提供了一种网络处理器的路由查找方法, 包括以下步骤 : 0011 接收路由查找请求 ; 0012 根据路由查找请求, 判断待路由信息被查找的次数是否大于预设次数 ; 0013 是则从 TCAM 中查找相应的路由信息, 并对该路由信息被查找的次数进行计数 ; 说 明 书 CN 103973571 A 3 2/4 页 4。
12、 0014 否则从 DRAM 中查找相应的路由信息, 且当所述路由信息被查找的次数等于预设 次数时, 将从 DRAM 中查找到的路由信息缓存, 并对该路由信息被查找的次数进行计数。 0015 优选地, 所述对路由信息被查找的次数进行计数之后还包括 : 0016 记录路由信息被查找的次数。 0017 优选地, 所述路由查找方法还包括 : 0018 对网络处理器中记录的路由信息被查找的次数进行重新排序。 0019 优选地, 所述根据路由查找请求, 判断待路由信息被查找的次数是否大于预设次 数包括 : 0020 根据路由查找请求, 查询网络处理器中记录的路由信息被查找的次数, 以获取待 路由信息被查。
13、找的次数 ; 0021 判断所获取的待路由信息被查找的次数是否大于预设次数。 0022 优选地, 还包括 : 0023 接收到删除请求后, 将 TCAM 模块中缓存的相应的路由信息删除, 同时删除相应的 路由信息被查找的次数的记录。 0024 优选地, 所述路由查找方法还包括 : 0025 周期性地对网络处理器中记录的路由信息被查找的次数进行重新排序。 0026 本发明实施例利用网络处理器的低价格、 高灵活性特点, 利用其内部的 TCAM 模块 缓存被路由查找的次数达到预设次数的路由信息, 微码模块进行路由查找时, 当待路由信 息被查找的次数大于预设次数时, 从 TCAM 模块中获取具体的路由。
14、信息 ; 当待路由信息被查 找的次数小于或等于预设次数时, 从 DRAM 模块中获取具体的路由信息。如此可以降低路由 查找的时间, 实现路由查找的高效率, 而且还降低了系统成本。 附图说明 0027 图 1 是本发明网络处理器较佳实施例的功能模块示意图 ; 0028 图 2 是本发明网络处理器的路由查找方法较佳实施例的流程示意图。 0029 本发明目的的实现、 功能特点及优点将结合实施例, 参照附图做进一步说明。 具体实施方式 0030 以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解, 此 处所描述的具体实施例仅仅用以解释本发明, 并不用于限定本发明。 0031 为了解决用。
15、DRAM查找效率低, 而用TCAM价格昂贵的难题, 本发明利用网络处理器 内部的 TCAM 缓存部分路由信息, 以降低路由检索的时间, 实现高效率路由查找, 而且不需 要额外设置外设来增大 TCAM 容量, 因而降低了系统成本。 0032 参照图 1, 本发明实施例提出的一种网络处理器, 包括微码模块 101、 计数器模块 102、 TCAM 模块 103 及 TCAM 表项模块 104, 其中 : 所述计数器模块 102 用于对路由信息被查 找的次数进行计数 ; 所述 TCAM 表项模块 104 记录路由信息及其被查找的次数。所述微码模 块 101 用于接收路由查找请求, 并根据路由查找请求。
16、判断待路由信息被查找的次数是否大 于预设次数, 是则从 TCAM 中查找相应的路由信息 ; 否则从 DRAM 中查找相应的路由信息, 且 当所述路由信息被查找的次数等于预设次数时, 将从 DRAM 中查找到的路由信息缓存至所 说 明 书 CN 103973571 A 4 3/4 页 5 述 TCAM 模块 103 中 ; 所述 TCAM 模块 103 用于缓存达到预设次数的路由信息。 0033 具体地, 上述计数器模块 102 可以使用软件计数器实现, 也可以使用硬件计数器 实现。微码模块 101 主要用于网络处理器的路由查找, 以便于将接收到的信息进行分组转 发。 当网络处理器接收到需要转发。
17、的信息后, 则会触发路由查找请求, 以便根据所查找的路 由信息将转发的信息发送至目的地。该路由查找请求中包括需要路由的信息, 例如路由条 目A。 而微码模块101接收到路由查找请求后, 则判断该路由条目A被查找的次数是否大于 预设次数, 是则从 TCAM 中查找路由条目 A 的路由信息 ; 否则从 DRAM 中查找路由条目 A 的路 由信息。最后计数器模块 102 再对路由信息被查找的次数进行计数, 并记录在 TCAM 表项模 块 104 中。例如, 原先路由条目 A 被查找的次数为 M 次, 则微码模块 101 根据路由查找请求 进行路由条目 A 的路由查找后, 其被查找的次数为 M+1 次。
18、。TCAM 表项模块 104 可以为一数 据结构, 如下表 1 所示 : 0034 表 1 0035 路由信息被查找的次数 条目 A1M1 条目 A2M2 条目 A3M3 条目 A4M4 0036 该 TCAM 表项模块 104 中所记录的路由信息被查找的次数, 用于微码模块 101 在进 行路由查找路由条目A时, 可以先查找该TCAM表项模块104中该路由条目A被查找的次数, 若该次数大于预设次数 M 时, 则直接从 TCAM 模块 103 中查找路由条目 A 的具体路由信息 ; 若该次数小于或等于预设次数 M 时, 则直接从 DRAM 中查找路由条目 A 的具体路由信息, 而 且当该次数等。
19、于预设次数 M 时, 将从 DRAM 中查找的具体路由信息缓存至 TCAM 模块 103 中。 最后再通过计数器模块 102 对路由条目 A 被查找的次数进行计数, 即在原来的次数上再加 1, 并存储至 TCAM 表项模块 104 中。 0037 上述微码模块 101 还用于 : 对 TCAM 表项模块 104 进行初始化, 并对 TCAM 表项模块 中记录的次数进行排序处理。该 TCAM 表项模块 104 的初始化, 可以在网络处理器开启时进 行, 也可以在网络处理器工作中周期性地进行。上述排序可以仅对路由条目的前缀长度进 行降序排序。 0038 上述微码模块 101 还用于 : 接收路由信。
20、息的删除请求后, 将 TCAM 模块 103 中缓存 的相应的路由信息删除, 同时删除 TCAM 表项模块 104 中相应的路由信息的记录, 。 0039 本发明实施例利用网络处理器的低价格、 高灵活性特点, 利用其内部的 TCAM 模块 缓存被路由查找的次数达到预设次数的路由信息, 微码模块进行路由查找时, 当待路由信 息被查找的次数大于预设次数时, 从 TCAM 模块中获取具体的路由信息 ; 当待路由信息被查 找的次数小于或等于预设次数时, 从 DRAM 模块中获取具体的路由信息。如此可以降低路由 查找的时间, 实现路由查找的高效率, 而且还降低了系统成本。 说 明 书 CN 103973。
21、571 A 5 4/4 页 6 0040 参照图2, 提出本发明网络处理器的路由查找方法一实施例。 本发明网络处理器的 路由查找方法可包括以下步骤 : 0041 步骤 S101、 接收路由查找请求 ; 0042 该路由查找请求中包括需要路由的信息, 例如路由条目 A 或者其他标识路由的信 息。 当网络处理器接收到需要转发的消息后, 则会触发路由查找请求, 以便根据所查找的路 由信息将转发的信息发送至目的地。 0043 步骤 S102、 根据路由查找请求, 判断待路由信息被查找的次数是否大于预设次数 ; 是则转入步骤 S103 ; 否则转入步骤 S104 ; 0044 该预设次数可以根据具体情况。
22、而设置。网络处理器中将设置一 TCAM 表项模块, 用 于记录路由信息被查找的次数。当接收到路由查找请求时, 则查询 TCAM 表项模块中待路由 信息被查找的次数, 并将其与预设次数进行比较。 0045 步骤 S103、 从 TCAM 中查找相应的路由信息, 并对该路由信息被查找的次数进行计 数 ; 0046 由于 TCAM 模块中缓存路由信息被查找的次数达到预设次数的路由信息, 所以待 路由信息被查找的次数大于预设次数时, 则从 TCAM 模块中查找相应的路由信息, 然后将其 被查找的次数加 1 后, 存储至 TCAM 表项模块中。 0047 步骤 S104、 从 DRAM 中查找相应的路由。
23、信息, 且当所述路由信息被查找的次数等 于预设次数时, 将从 DRAM 中查找到的路由信息缓存, 并对该路由信息被查找的次数进行计 数。 0048 当待路由信息被查找的次数小于或等于预设次数时, 则从 DRAM 中查找相应的路 由信息, 然后将其被查找的次数加 1 后, 存储至 TCAM 表项模块中。另外, 当待路由信息被查 找的次数等于预设次数时, 则将从 DRAM 中查找到的路由信息缓存。 0049 在网络处理器开启时进行初始化, 对所记录的路由信息被查找的次数进行重新排 序。或者网络处理器工作中周期性地进行。上述排序可以仅对路由条目的前缀长度进行降 序排序。 0050 上述路由查找方法还。
24、包括 : 接收到删除请求后, 将 TCAM 模块中缓存的相应的路由 信息删除, 同时删除相应的路由信息被查找的次数的记录, 以避免发生实际路由信息已经 不存在, 却在 TCAM 中索引到相关的路由信息。 0051 本发明实施例利用网络处理器的低价格、 高灵活性特点, 利用其内部的 TCAM 模块 缓存被路由查找的次数达到预设次数的路由信息, 微码模块进行路由查找时, 当待路由信 息被查找的次数大于预设次数时, 从 TCAM 模块中获取具体的路由信息 ; 当待路由信息被查 找的次数小于或等于预设次数时, 从 DRAM 模块中获取具体的路由信息。如此可以降低路由 查找的时间, 实现路由查找的高效率, 而且还降低了系统成本。 0052 以上所述仅为本发明的优选实施例, 并非因此限制其专利范围, 凡是利用本发明 说明书及附图内容所作的等效结构或等效流程变换, 直接或间接运用在其他相关的技术领 域, 均同理包括在本发明的专利保护范围内。 说 明 书 CN 103973571 A 6 1/1 页 7 图 1 图 2 说 明 书 附 图 CN 103973571 A 7 。