一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种路由表项存储方法、查找方法及装置与流程

2022-02-22 03:16:25 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种路由表项存储方法、查找方法及装置。


背景技术:

2.在一种网络场景中,对于网络中的网络设备(例如,路由设备等)而言,通常包括中央处理器(central processing unit,cpu)、转发芯片(例如,网络处理器(network processors,np)芯片等)、三态内容寻址存储器(ternary content addressable memory,tcam)芯片和随机存取存储器(random access memory,ram)芯片。
3.针对需要存储的路由表项,cpu会按照掩码长度从长到短的顺序,将需要存储的路由表项中包括的第一表项(包括有ip地址及其对应的掩码长度)存储到tcam芯片中,将需要存储的路由表项中包括的第二表项(包括有前述ip地址对应的下一跳信息)存储到ram芯片中。在这里,掩码长度越长,存储其对应的第一表项的存储单元的地址越小,并且,存储同一路由表项中的第一表项的存储单元的地址标识与存储第二表的存储单元的地址标识相同。
4.在上述这种路由表项的存储方式下,转发芯片在接收到某条数据报文时,会向tcam芯片发送携带有该条数据报文中携带的目的ip地址的查找请求,由tcam芯片在本地存储的第一表项中,查找与该目的ip地址相匹配的第一表项,并在查找到的第一表项为多条时,向转发芯片返回携带有存储查找到的第一表项的存储单元的地址中的最小地址的地址标识的查找响应,以便转发芯片基于查找响应中携带的地址标识,从ram芯片获取对应的第二表项,并根据获取到的第二表项转发该条数据报文。
5.但是,在上述这种路由表项的存储方式下,一旦需要新增路由表项,可能会出现因需要新增的掩码长度较长,需要先搬移相关第一表项和第二表项再存储需要新增的第一表项和第二表项的现象,使得新增路由表项的存储耗时较长,从而导致存储效率较低,并且,还可能影响新增路由表项的查找效率。


技术实现要素:

6.为克服相关技术中存在的问题,本技术提供了一种路由表项存储方法、查找方法及装置。
7.根据本技术实施例的第一方面,提供一种路由表项存储方法,所述方法应用于网络设备中的cpu,所述方法包括:
8.在需要存储目标路由表项时,将所述目标路由表项中包括的第一表项存储到所述网络设备中的tcam芯片中的第一空闲存储单元中,其中,所述第一表项中包括有目标ip地址及其对应的掩码长度,且所述第一空闲存储单元的地址与所述tcam芯片中已占用的存储单元的地址是连续的;
9.将所述目标路由表项中包括的第二表项存储到ram芯片中的第二空闲存储单元中,其中,所述第二表项中包括有所述目标ip地址对应的下一跳信息,且所述第二空闲存储单元的地址标识与所述第一空闲存储单元的地址标识相同。
10.根据本技术实施例的第二方面,提供一种基于上述的路由表项存储方法的路由表项查找方法,所述方法应用于网络设备中的tcam芯片,所述方法包括:
11.接收所述网络设备中的转发芯片发送的查找请求,其中,所述查找请求为所述转发芯片在接收到目的ip地址为所述目标ip地址的数据报文时发送的,且所述查找请求中携带有所述目标ip地址;
12.在本地存储的第一表项中,查找与所述目标ip地址相匹配的第一表项;
13.在查找到的第一表项为多条时,从查找到的第一表项中选择包括的掩码长度满足预设条件的第一表项;
14.向所述转发芯片发送携带有存储选择出的第一表项的存储单元的地址标识的查找响应,以使所述转发芯片基于所述地址标识,从ram芯片获取对应的第二表项,并根据获取到的第二表项转发所述数据报文。
15.根据本技术实施例的第三方面,提供一种路由表项存储装置,所述装置应用于网络设备中的cpu,所述装置包括:
16.第一存储模块,用于在需要存储目标路由表项时,将所述目标路由表项中包括的第一表项存储到所述网络设备中的tcam芯片中的第一空闲存储单元中,其中,所述第一表项中包括有目标ip地址及其对应的掩码长度,且所述第一空闲存储单元的地址与所述tcam芯片中已占用的存储单元的地址是连续的;
17.第二存储模块,用于将所述目标路由表项中包括的第二表项存储到ram芯片中的第二空闲存储单元中,其中,所述第二表项中包括有所述目标ip地址对应的下一跳信息,且所述第二空闲存储单元的地址标识与所述第一空闲存储单元的地址标识相同。
18.根据本技术实施例的第四方面,提供一种基于上述的路由表项存储装置的路由表项查找装置,所述装置应用于网络设备中的tcam芯片,所述装置包括:
19.接收模块,用于接收所述网络设备中的转发芯片发送的查找请求,其中,所述查找请求为所述转发芯片在接收到目的ip地址为所述目标ip地址的数据报文时发送的,且所述查找请求中携带有所述目标ip地址;
20.查找模块,用于在本地存储的第一表项中,查找与所述目标ip地址相匹配的第一表项;
21.选择模块,用于在查找到的第一表项为多条时,从查找到的第一表项中选择包括的掩码长度满足预设条件的第一表项;
22.发送模块,用于向所述转发芯片发送携带有存储选择出的第一表项的存储单元的地址标识的查找响应,以使所述转发芯片基于所述地址标识,从ram芯片获取对应的第二表项,并根据获取到的第二表项转发所述数据报文。
23.本技术的实施例提供的技术方案可以包括以下有益效果:
24.在本技术实施例中,网络设备中的cpu在需要存储路由表项时,不再按照掩码长度从长到短的顺序进行存储,而是直接将相关目标路由表项中包括的第一表项存储到该网络设备中的tcam芯片中的第一空闲存储单元中,其中,第一空闲存储单元的地址与tcam芯片中已占用的存储单元的地址是连续的;将路由表项中包括的第二表项存储到ram芯片中的第二空闲存储单元中,其中,第二空闲存储单元的地址标识与第一空闲存储单元的地址标识相同。这样一来,在需要新增路由表项时,无需进行相关搬移操作,直接对相应的第一表
项和第二表项进行存储即可,大大缩短了整个路由表项的存储时间,提高了存储效率。
25.相应地,在上述这种路由表项的存储方式下,该网络设备中的tcam芯片一旦接收到该网络设备中的转发芯片发送的携带有目标ip地址的查找请求,会在查找到与目标ip地址相匹配的第一表项为多条时,不再比较存储这些第一表项的地址大小,而是比较掩码长度,从而向转发芯片发送携带有存储符合要求的第一表项的地址标识的查找响应,以便于转发芯片基于地址标识,从ram芯片获取对应的第二表项,并根据获取到的第二表项转发数据报文。
26.可见,通过提供了全新的适用于上述路由表项的存储方式的路由表项的查找方案,在一定程度上提高了路由表项的查找效率。
27.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
28.此处的附图被并入说明书中并构成本技术的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
29.图1为本技术实施例提供的一种路由表项存储方法的流程示意图;
30.图2为本技术实施例提供的tcam芯片中已存储的第一表项的结构示意图之一;
31.图3为本技术实施例提供的ram芯片中已存储的第二表项的结构示意图之一;
32.图4为本技术实施例提供的tcam芯片中已存储的第一表项的结构示意图之二;
33.图5为本技术实施例提供的ram芯片中已存储的第二表项的结构示意图之二;
34.图6为本技术实施例提供的一种路由表项查找方法的流程示意图;
35.图7为本技术实施例提供的一种路由表项存储装置的结构示意图;
36.图8为本技术实施例提供的一种路由表项查找装置的结构示意图。
具体实施方式
37.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
38.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
39.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
40.接下来对本技术实施例进行详细说明。
41.本技术实施例提供了一种路由表项存储方法,该方法应用于网络设备中的cpu,如图1所示,该方法可以包括如下步骤:
42.s11、在需要存储目标路由表项时,将目标路由表项中包括的第一表项存储到网络设备中的tcam芯片中的第一空闲存储单元中。
43.在本步骤中,第一表项中包括有目标ip地址及其对应的掩码长度,且第一空闲存储单元的地址与tcam芯片中已占用的存储单元的地址是连续的。
44.s12、将目标路由表项中包括的第二表项存储到ram芯片中的第二空闲存储单元中。
45.在本步骤中,第二表项中包括有目标ip地址对应的下一跳信息,且第二空闲存储单元的地址标识与第一空闲存储单元的地址标识相同。
46.例如,对于某网络设备而言,假设该网络设备中的tcam芯片已存储的第一表项如图2所示,该网络设备中的ram芯片已存储的第二表项如图3所示。假设cpu需要存储新的路由表项1,执行完上述步骤s11~s12之后,该网络设备中的tcam芯片当前存储的第一表项可以如图4所示,该网络设备中的ram芯片当前存储的第二表项可以如图5所示。
47.也就是说,在本技术实施例中,网络设备中的cpu在需要存储路由表项时,不再按照掩码长度从长到短的顺序进行存储,而是直接将相关目标路由表项中包括的第一表项存储到该网络设备中的tcam芯片中的第一空闲存储单元中,其中,第一空闲存储单元的地址与tcam芯片中已占用的存储单元的地址是连续的;将路由表项中包括的第二表项存储到ram芯片中的第二空闲存储单元中,其中,第二空闲存储单元的地址标识与第一空闲存储单元的地址标识相同。这样一来,在需要存储的路由表项为新增的路由表项时,无需进行相关搬移操作,直接对相应的第一表项和第二表项进行存储即可,大大缩短了整个路由表项的存储时间,提高了存储效率。
48.本技术实施例还提供了一种基于上述路由表项存储方法的路由表项查找方法,该方法应用于网络设备中的tcam芯片,如图6所示,该方法可以包括如下步骤:
49.s61、接收网络设备中的转发芯片发送的查找请求。
50.在本步骤中,上述转发芯片可以是np芯片,也可以是专用集成电路(application specific integrated circuit)芯片,当然,还可以是其他类型的芯片,在此不再一一列举。
51.另外,在本步骤中,上述查找请求为转发芯片在接收到目的ip地址为目标ip地址的数据报文时发送的,且查找请求中携带有目标ip地址。
52.s62、在本地存储的第一表项中,查找与目标ip地址相匹配的第一表项。
53.s63、在查找到的第一表项为多条时,从查找到的第一表项中选择包括的掩码长度满足预设条件的第一表项。
54.s64、向转发芯片发送携带有存储选择出的第一表项的存储单元的地址标识的查找响应,以使转发芯片基于地址标识,从ram芯片获取对应的第二表项,并根据获取到的第二表项转发数据报文。
55.需要说明的是,在上述步骤s53中,tcam芯片在从查找到的第一表项中选择包括的掩码长度满足预设条件的第一表项时,具体可以从查找到的第一表项中选择包括的掩码长度最长的第一表项。
56.例如,假设对于网络设备1而言,网络设备1中的np芯片在某个时刻接收到携带有目的ip地址为10.1.1.0的数据报文1。之后,该np芯片向网络设备1中的tcam芯片发送携带有10.1.1.0的查找请求。
57.该tcam芯片接收到该查找请求后,在本地存储的第一表项中,查找与10.1.1.0相匹配的第一表项。
58.假设查找到4条与之相匹配的第一表项,分别为10.1.1.0/24、10.1.1.0/16、10.1.1.0/8和10.1.1.0/28。那么,该tcam芯片从这些第一表项中选择掩码长度最长的第一表项,即,选择出10.1.1.0/28这一条表项。
59.接下来,该tcam芯片向该转发芯片发送携带有存储10.1.1.0/28的存储单元的地址标识(例如,地址标识1)的查找响应。
60.最后,该转发芯片接收到该查找响应之后,基于该查找响应中携带的地址标识1,从网络设备1中的ram芯片获取地址标识1对应的第二表项(包括有10.1.1.0的下一跳信息,例如包括10.1.1.0的下一跳ip地址、出接口等信息),并根据获取到的第二表项转发数据报文。
61.由以上方案可以看出,在上述路由表项的存储方式下,网络设备中的tcam芯片一旦接收到该网络设备中的转发芯片发送的携带有目标ip地址的查找请求,会在查找到与目标ip地址相匹配的第一表项为多条时,不再比较存储这些第一表项的地址大小,而是比较掩码长度,从而向转发芯片发送携带有存储符合要求的第一表项的地址标识的查找响应,以便于转发芯片基于地址标识,从ram芯片获取对应的第二表项,并根据获取到的第二表项转发数据报文。
62.由此,通过提供了全新的适用于上述路由表项的存储方式的路由表项的查找方案,在一定程度上提高了路由表项的查找效率。
63.基于同一发明构思,本技术还提供了一种路由表项存储装置,所述装置应用于网络设备中的cpu,其结构示意图如图7所示,具体包括:
64.第一存储模块71,用于在需要存储目标路由表项时,将所述目标路由表项中包括的第一表项存储到所述网络设备中的三态内容寻址存储器tcam芯片中的第一空闲存储单元中,其中,所述第一表项中包括有目标ip地址及其对应的掩码长度,且所述第一空闲存储单元的地址与所述tcam芯片中已占用的存储单元的地址是连续的;
65.第二存储模块72,用于将所述目标路由表项中包括的第二表项存储到随机存取存储器ram芯片中的第二空闲存储单元中,其中,所述第二表项中包括有所述目标ip地址对应的下一跳信息,且所述第二空闲存储单元的地址标识与所述第一空闲存储单元的地址标识相同。
66.需要说明的是,在本技术实施例中,在网络设备中的cpu需要存储路由表项时,不再按照掩码长度从长到短的顺序进行存储,而是直接将相关目标路由表项中包括的第一表项存储到该网络设备中的tcam芯片中的第一空闲存储单元中,其中,第一空闲存储单元的地址与tcam芯片中已占用的存储单元的地址是连续的;将路由表项中包括的第二表项存储到ram芯片中的第二空闲存储单元中,其中,第二空闲存储单元的地址标识与第一空闲存储单元的地址标识相同。这样一来,在cpu需要新增路由表项时,无需进行相关搬移操作,直接对相应的第一表项和第二表项进行存储即可,大大缩短了整个路由表项的存储时间,提高
了存储效率。
67.本技术还提供了一种基于上述路由表项存储装置的路由表项查找装置,所述装置应用于tcam芯片,其结构示意图如图8所示,具体包括:
68.接收模块81,用于接收所述网络设备中的转发芯片发送的查找请求,其中,所述查找请求为所述转发芯片在接收到目的ip地址为所述目标ip地址的数据报文时发送的,且所述查找请求中携带有所述目标ip地址;
69.查找模块82,用于在本地存储的第一表项中,查找与所述目标ip地址相匹配的第一表项;
70.选择模块83,用于在查找到的第一表项为多条时,从查找到的第一表项中选择包括的掩码长度满足预设条件的第一表项;
71.发送模块84,用于向所述转发芯片发送携带有存储选择出的第一表项的存储单元的地址标识的查找响应,以使所述转发芯片基于所述地址标识,从随机存取存储器ram芯片获取对应的第二表项,并根据获取到的第二表项转发所述数据报文。
72.优选地,所述选择模块83,具体用于:
73.从查找到的第一表项中选择包括的掩码长度最长的第一表项。
74.优选地,所述转发芯片为np芯片。
75.优选地,所述转发芯片为asic芯片。
76.由以上技术方案可以看出,在基于上述路由表项的存储装置提供的路由表项的存储方式下,网络设备中的tcam芯片一旦接收到该网络设备中的转发芯片发送的携带有目标ip地址的查找请求,会在查找到与目标ip地址相匹配的第一表项为多条时,不再比较存储这些第一表项的地址大小,而是比较掩码长度,从而向转发芯片发送携带有存储符合要求的第一表项的地址标识的查找响应,以便于转发芯片基于地址标识,从ram芯片获取对应的第二表项,并根据获取到的第二表项转发数据报文。
77.由此,通过提供了全新的适用于上述路由表项的存储装置的路由表项的查找装置,在一定程度上提高了路由表项的查找效率。
78.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献