CN100531102C - Route table adjustment method, route query method and device and route table storage device - Google Patents

Route table adjustment method, route query method and device and route table storage device Download PDF

Info

Publication number
CN100531102C
CN100531102C CN200710176765.0A CN200710176765A CN100531102C CN 100531102 C CN100531102 C CN 100531102C CN 200710176765 A CN200710176765 A CN 200710176765A CN 100531102 C CN100531102 C CN 100531102C
Authority
CN
China
Prior art keywords
route
sublist
routing
hyperplasia
bloom filter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200710176765.0A
Other languages
Chinese (zh)
Other versions
CN101150483A (en
Inventor
原嵩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN200710176765.0A priority Critical patent/CN100531102C/en
Publication of CN101150483A publication Critical patent/CN101150483A/en
Application granted granted Critical
Publication of CN100531102C publication Critical patent/CN100531102C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及路由表调整方法、路由查询方法和装置及路由表存储装置,该路由表调整方法包括:接收路由前缀;当监测到路由子表的存储量已达到门限值时,根据所述路由子表的容量建立该路由子表的增生布隆过滤器以及增生路由子表。该路由查询方法包括:获取待查询的IP地址;根据待查询的IP地址,通过在布隆过滤器及增生布隆过滤器中查询,取得待查询IP地址对应的路由前缀的长度;根据路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。该路由表调整装置和路由查询装置分别包括执行上述方法的功能模块,该路由表存储装置包括存储路由子表和布隆过滤器的模块。本发明的技术方案能够实现以较小开销快捷的调整路由表。

The present invention relates to a routing table adjustment method, a routing query method and device, and a routing table storage device. The routing table adjustment method includes: receiving a routing prefix; The capacity of the subtable establishes the augmented Bloom filter of the routing subtable and the augmenting routing subtable. The routing query method includes: obtaining an IP address to be queried; according to the IP address to be queried, by querying in a Bloom filter and an accretive Bloom filter, obtaining the length of the routing prefix corresponding to the IP address to be queried; Length, obtain the routing path of the IP address to be queried in the corresponding routing subtable. The routing table adjustment device and the routing query device respectively include functional modules for executing the above method, and the routing table storage device includes a module for storing routing sub-tables and Bloom filters. The technical scheme of the invention can realize the quick adjustment of the routing table with a small cost.

Description

路由表调整方法、路由查询方法和装置及路由表存储装置 Routing table adjustment method, routing query method and device, and routing table storage device

技术领域 technical field

本发明属于通信技术领域,尤其涉及通信领域中的一种路由表调整方法、路由查询方法和装置及路由表存储装置。The invention belongs to the technical field of communication, and in particular relates to a routing table adjustment method, a routing query method and device, and a routing table storage device in the communication field.

背景技术 Background technique

在现有通信网络技术中,路由技术无疑是倍受关注的技术之一。通信领域的许多发展都需要相应提高对路由技术的要求。例如近几年,随着企业全球化的倾向,很多企业在世界不同的地点发展了更多的分支结构,所以很多企业趋向于利用因特网来替代它们私有的数据网络,这种利用因特网来传输私有信息而形成的逻辑网络就称为虚拟私用网(Virtual Private Network,以下简称VPN)。目前VPN的应用越来越广泛,而人们对于安全、方便的数据通讯手段的需求也日趋增加。随着VPN的广泛应用,以往只有接入端路由转发设备才需要支持VPN路由,但现在,很多中、高端路由转发设备直接连接到最终用户,也需要支持VPN路由。因此,对路由技术的要求越来越高。另一方面,传输媒质的传输速率在迅速增长,路由设备处理的报文数量迅速增长,例如:支持100G光缆端口的路由转发设备通常需要每秒钟查找150M次最大路由前缀,支持150G光缆端口的路由转发设备通常需要每秒钟查找250M次路由前缀,这也需要路由设备提供更强的查询能力,也就是更强的最大路由前缀查找能力,高速查找技术正是业界面临的难题之一。Among the existing communication network technologies, the routing technology is undoubtedly one of the most concerned technologies. Many developments in the field of communication require a corresponding increase in the requirements for routing technology. For example, in recent years, with the trend of corporate globalization, many companies have developed more branch structures in different parts of the world, so many companies tend to use the Internet to replace their private data networks. The logical network formed by the information is called a virtual private network (Virtual Private Network, hereinafter referred to as VPN). At present, the application of VPN is more and more extensive, and people's demand for safe and convenient data communication means is also increasing day by day. With the wide application of VPN, in the past, only the routing and forwarding equipment at the access end needed to support VPN routing, but now, many middle and high-end routing and forwarding equipment directly connected to end users also need to support VPN routing. Therefore, the requirements for routing technology are getting higher and higher. On the other hand, the transmission rate of the transmission medium is increasing rapidly, and the number of packets processed by the routing equipment is increasing rapidly. For example, the routing and forwarding equipment supporting 100G Routing and forwarding devices usually need to look up 250M routing prefixes per second, which also requires routing devices to provide stronger query capabilities, that is, stronger maximum routing prefix lookup capabilities. High-speed lookup technology is one of the challenges facing the industry.

高速查找技术中的两个关键因素是:查找速率和更新速率。查找速率提供更大的路由容量,更新速率提供更稳定的网络,也就是加快网络收敛速度,这正是本发明需要解决的技术问题。路由查询技术是通过网络传输数据包过程中的一个普遍步骤,路由系统必须为每一个接收到的IP数据包,在其路由表中寻找IP数据包中目的端地址的最大路由前缀,再依照相对应的路由路径传送该数据包。为改善路由查询操作的查询速度、查询开销等因素,人们采用了各种各样的路由查找系统,其中一种方法是采用布隆过滤器(以下称Bloom Filter)技术。Bloom Filter技术,是计算机科学家“Burton Bloom”在1970年提出的一套数据集合表示方法,这种方法可以非常显著和有效的压缩一个数据集合的信息,在信息检索方面被广泛应用。Bloom Filter技术应用在路由技术中,首先按照路由前缀匹配值的长度把路由表分成若干个路由子集,然后为每个路由子集分别建立一布隆过滤器,即Bloom Filter,以及与该过滤器相对应的路由子表,在共享内存的方式下,各Bloom Filer分别与一个内存的起始地址相对应。路由子表实际上就是原有路由表的一部分,是逻辑上形成的路由子表。图1A为基于布隆过滤器技术进行路由查询的流程示意图,图1B为相关的路由表架构示意图,其基本步骤如下:Two key factors in high-speed lookup technology are: lookup rate and update rate. The search rate provides greater routing capacity, and the update rate provides a more stable network, that is, speeds up network convergence, which is exactly the technical problem to be solved by the present invention. Routing query technology is a common step in the process of transmitting data packets through the network. For each received IP data packet, the routing system must find the largest routing prefix of the destination address in the IP data packet in its routing table, and then follow the corresponding The corresponding routing path transmits the data packet. In order to improve factors such as query speed and query overhead of routing query operations, various routing lookup systems have been adopted, one of which is to use Bloom filter (hereinafter referred to as Bloom Filter) technology. Bloom Filter technology is a set of data set representation methods proposed by computer scientist "Burton Bloom" in 1970. This method can significantly and effectively compress the information of a data set, and is widely used in information retrieval. The Bloom Filter technology is applied in the routing technology. First, the routing table is divided into several routing subsets according to the length of the routing prefix matching value, and then a Bloom filter is established for each routing subset, that is, the Bloom Filter, and the filtering In the shared memory mode, each Bloom Filer corresponds to the start address of a memory respectively. The routing sub-table is actually a part of the original routing table, and is a logically formed routing sub-table. Figure 1A is a schematic diagram of a routing query based on Bloom filter technology, and Figure 1B is a schematic diagram of a related routing table architecture, and the basic steps are as follows:

步骤a1、获取待查询的IP地址;Step a1, obtaining the IP address to be queried;

步骤a2、根据待查询的IP地址,利用Bloom Filter技术,通过查询各个过滤器,即filter0、filter1、filter2和filter3等,取得待查询IP地址对应的最大路由前缀的长度,此处可能匹配到多个路由前缀的长度,按照最长匹配的原则,选择最大路由前缀的长度;Step a2. According to the IP address to be queried, use Bloom Filter technology to query each filter, namely filter0, filter1, filter2 and filter3, etc., to obtain the length of the maximum routing prefix corresponding to the IP address to be queried. There may be many matches here. The length of the routing prefix, according to the principle of the longest match, select the length of the largest routing prefix;

步骤a3、取IP地址前面的相应长度字节作为最大路由前缀值,该相对长度就是最大路由前缀长度;Step a3, get the corresponding length byte in front of the IP address as the maximum routing prefix value, and this relative length is the maximum routing prefix length;

步骤a4、对最大路由前缀值作哈希(hash)运算,获取对应的路由表项的物理地址,从而最终查询到路由路径,即在对应的前缀长度表中查询对应ip地址的索引,为了正确,还需要比较实际存储的路由前缀值(key)与查询的key是否正确,验证正确时才将其作为查询结果,验证不正确时,则返回至步骤a2中,选择较短的路由前缀长度,而后再执行步骤a3,直到查询出正确的结果。Step a4, perform a hash (hash) operation on the maximum routing prefix value to obtain the physical address of the corresponding routing table entry, so as to finally query the routing path, that is, query the index of the corresponding ip address in the corresponding prefix length table, in order to correctly , it is also necessary to compare the actual stored routing prefix value (key) with the query key, and use it as the query result when the verification is correct. If the verification is incorrect, return to step a2 and select a shorter routing prefix length. Then execute step a3 until the correct result is found.

在上述步骤a2中,由于相同路由的前缀配置会有很多,通过hash运算一个值来确定一个地址,配置路由表的时候就把相应路由存放在该地址处。In the above step a2, since there are many prefix configurations for the same route, an address is determined by hashing a value, and the corresponding route is stored at the address when configuring the routing table.

路由数据的合理存储和维护技术是实现高效、可靠路由的重要前提。当采用上述布隆过滤器技术时,可以建立一个hash表的占用内存较小的矢量表,即布隆过滤器,来对应占用较大内存空间的实际前缀表项。Rational storage and maintenance technology of routing data is an important prerequisite for efficient and reliable routing. When the above-mentioned Bloom filter technology is used, a vector table of a hash table occupying less memory, that is, a Bloom filter, can be established to correspond to the actual prefix entry occupying a large memory space.

但是发明人在进行本发明的研究过程中发现基于布隆过滤器技术的路由表存储维护技术中至少存在下述问题:由于预先很难估计各个路由子集的规模,只能假定其大小而预先分配一定的存储空间给某一长度前缀的路由子表,但是路由表项的数量在实际的网络中会频繁的增减震荡,当某个长度前缀的路由子集内数值剧增的时候,必须释放旧的布隆过滤器和对应的路由子表,而后重新构建容量更大的布隆过滤器和对应的路由子表,无疑,这种操作开销是巨大的。However, the inventor finds that the routing table storage and maintenance technology based on Bloom filter technology has at least the following problems in the process of carrying out the research of the present invention: because it is difficult to estimate the size of each routing subset in advance, it can only be assumed in advance. Allocate a certain amount of storage space to the routing sub-table with a prefix of a certain length, but the number of routing table entries will frequently increase and decrease in the actual network. Release the old Bloom filter and the corresponding routing sub-table, and then rebuild a larger-capacity Bloom filter and the corresponding routing sub-table. Undoubtedly, this operation overhead is huge.

发明内容 Contents of the invention

本发明实施例提供一种路由表调整方法和装置,克服现有基于布隆过滤器的路由技术中,路由表的调整方案复杂、调整开销大的问题,从而以实现路由子表存储量增减时,迅速对路由表进行维护,并且实现以较小的操作开销调整路由表。The embodiment of the present invention provides a routing table adjustment method and device, which overcomes the problems of complex routing table adjustment schemes and high adjustment costs in the existing Bloom filter-based routing technology, so as to increase or decrease the storage capacity of routing sub-tables When , the routing table is quickly maintained, and the routing table can be adjusted with a small operation cost.

本发明实施例还提供一种路由查询方法和装置,适应于采用本发明路由表调整方法进行扩展的路由表,因而可以采用快捷、开销小的路由表调整方法,且路由查询在较小的路由子表中进行,也能够相应的提高查询速度。The embodiment of the present invention also provides a routing query method and device, which is suitable for the routing table expanded by the routing table adjustment method of the present invention, so that a fast and low-cost routing table adjustment method can be used, and the routing query can be performed on smaller routes. Performing it in a sub-table can also increase the query speed accordingly.

本发明实施例又提供一种路由表存储装置,适应于采用本发明路由表调整方法实施例进行调整,其可采用快捷、开销小的路由表调整方法。The embodiment of the present invention further provides a routing table storage device, which is suitable for adjustment by adopting the embodiment of the routing table adjustment method of the present invention, which can adopt a routing table adjustment method that is fast and has low cost.

本发明的一些实施例提供了一种路由表调整方法,包括如下步骤:Some embodiments of the present invention provide a routing table adjustment method, including the following steps:

接收路由前缀匹配值;Receive route prefix matching value;

当监测到与该路由前缀匹配值的长度对应的路由子表的存储量已达到设定的门限值时,根据该路由子表的容量和所述路由子表的布隆过滤器的长度建立该路由子表的增生布隆过滤器,以及根据所述路由子表的容量建立增生路由子表。When it is detected that the storage amount of the routing sub-table corresponding to the length of the routing prefix matching value has reached the set threshold value, the routing sub-table is established according to the capacity of the routing sub-table and the length of the Bloom filter of the routing sub-table. The augmented Bloom filter of the routing sub-table, and the establishment of the augmented routing sub-table according to the capacity of the routing sub-table.

本发明的又一些实施例提供了一种路由表调整装置,包括:Still other embodiments of the present invention provide a routing table adjustment device, including:

接收模块,用于接收路由前缀匹配值;A receiving module, configured to receive a routing prefix matching value;

创建模块,用于监测到与该路由前缀匹配值的长度对应的路由子表的存储量已达到设定的门限值时,根据该路由子表的容量和所述路由子表的布隆过滤器的长度建立该路由子表的增生布隆过滤器,以及根据所述路由子表的容量建立增生路由子表。Create a module for detecting that the storage amount of the routing sub-table corresponding to the length of the routing prefix matching value has reached the set threshold value, according to the capacity of the routing sub-table and the Bloom filter of the routing sub-table The length of the routing sub-table is used to establish the augmented Bloom filter of the routing sub-table, and the augmented routing sub-table is established according to the capacity of the routing sub-table.

由以上技术方案可知,本发明路由表调整方法和装置的实施例,当路由子表存储量增加至设定值时,采用对应原布隆过滤器和路由子表建立增生布隆过滤器和增生路由子表的技术手段,克服了现有技术中在扩展路由表时需要重建布隆过滤器和路由子表,而扩展开销大的技术问题。因此,本发明路由表调整方法和调整装置的扩展开销小,且扩展操作快捷。It can be seen from the above technical solutions that in the embodiment of the routing table adjustment method and device of the present invention, when the storage capacity of the routing sub-table increases to the set value, the corresponding original Bloom filter and routing sub-table are used to establish the accretion Bloom filter and the accretion The technical means of the routing sub-table overcomes the technical problem in the prior art that the Bloom filter and the routing sub-table need to be rebuilt when the routing table is expanded, and the expansion cost is high. Therefore, the expansion cost of the routing table adjustment method and the adjustment device of the present invention is small, and the expansion operation is quick.

本发明的再一些实施例提供了一种路由查询方法,包括:Still other embodiments of the present invention provide a routing query method, including:

获取待查询的IP地址;Obtain the IP address to be queried;

根据待查询的IP地址,通过在布隆过滤器及其增生的布隆过滤器中查询,取得待查询IP地址对应的路由前缀长度;According to the IP address to be queried, the routing prefix length corresponding to the IP address to be queried is obtained by querying in the Bloom filter and its accretive Bloom filter;

根据查询到的该路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。According to the queried length of the routing prefix, the routing path of the IP address to be queried is obtained in the corresponding routing sub-table.

本发明的另一些实施例提供了一种路由查询装置,包括:Other embodiments of the present invention provide a routing query device, including:

获取模块,用于获得待查询的IP地址;Obtaining a module for obtaining an IP address to be queried;

第一查询模块,用于根据待查询的IP地址,通过在布隆过滤器及其增生的布隆过滤器中查询,取得待查询IP地址对应的最大路由前缀的长度;The first query module is used to obtain the length of the maximum routing prefix corresponding to the IP address to be queried by querying in the Bloom filter and the proliferated Bloom filter according to the IP address to be queried;

第二查询模块,用于根据最大路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。The second query module is configured to obtain the routing path of the IP address to be queried in the corresponding routing sub-table according to the maximum routing prefix length.

由上述技术方案可知,本发明路由查询方法和装置能够在查询原有的布隆过滤器时,同时查询增生的布隆过滤器,适应于采用本发明路由表调整方法进行扩展的路由表,因而可以采用快捷、开销小的路由表调整方法,且路由查询在较小的路由子表中进行,也能够相应的提高查询速度。It can be seen from the above technical solution that the routing query method and device of the present invention can query the proliferating Bloom filter at the same time when querying the original Bloom filter, which is suitable for the routing table expanded by the routing table adjustment method of the present invention, thus A fast and low-cost routing table adjustment method can be used, and the routing query is performed in a smaller routing sub-table, which can also increase the query speed accordingly.

本发明的又一些实施例提供了一种路由表存储装置,包括:Still other embodiments of the present invention provide a routing table storage device, including:

路由表块,用于存储路由前缀匹配值,包括两个以上用于存储设定长度路由前缀匹配值的路由子表单元,以及一个以上用于存储与路由子表单元中路由前缀匹配值长度相等的路由前缀匹配值的增生路由子表单元;The routing table block is used to store the routing prefix matching value, including more than two routing sub-table units for storing the routing prefix matching value of the set length, and more than one routing sub-table unit for storing the same length as the routing prefix matching value in the routing sub-table unit The augmented routing subtable unit of the routing prefix matching value;

段地址寄存器,用于存储路由子表单元的起始地址;The segment address register is used to store the starting address of the routing subtable unit;

第三模块,包括两个以上布隆过滤器,与路由子表单元一一对应相连,用于存储路由子表单元中路由前缀匹配值的长度信息,以及一个以上增生布隆过滤器,与增生路由子表单元一一对应相连,用于存储增生路由子表单元中路由前缀匹配值的长度信息。The third module includes more than two Bloom filters, which are connected to the routing sub-table unit in one-to-one correspondence, and are used to store the length information of the routing prefix matching value in the routing sub-table unit, and more than one accretive Bloom filter, and the accretion The routing sub-table units are connected in one-to-one correspondence, and are used to store the length information of the routing prefix matching value in the augmented routing sub-table unit.

由上述技术方案可知,该路由表存储装置包括路由子表单元和增生路由子表单元,用于存储同样长度的路由前缀匹配值,还包括布隆过滤器和增生布隆过滤器,与路由子表单元和增生路由子表单元相互对应,能够适应于采用本发明路由表调整方法实施例的技术方案,当路由子表单元的内容扩充时,路由子表单元和布隆过滤器不必重新生成,因而其调整的方法快捷、开销小。It can be seen from the above technical solution that the routing table storage device includes a routing subtable unit and an augmented routing subtable unit for storing routing prefix matching values of the same length. The table unit and the proliferating routing sub-table unit correspond to each other, and can be adapted to adopt the technical scheme of the routing table adjustment method embodiment of the present invention. When the content of the routing sub-table unit expands, the routing sub-table unit and the Bloom filter do not need to be regenerated, thus The adjustment method is fast and the cost is small.

下面通过具体实施例并结合附图对本发明做进一步的详细描述。The present invention will be described in further detail below through specific embodiments and in conjunction with the accompanying drawings.

附图说明 Description of drawings

图1A为现有技术中路由查询方法流程;Fig. 1A is the process flow of the route query method in the prior art;

图1B为现有技术中路由查询方法流程示意图;FIG. 1B is a schematic flow diagram of a route query method in the prior art;

图2为本发明路由表调整方法具体实施例一中的路由表结构示意图;2 is a schematic structural diagram of the routing table in Embodiment 1 of the routing table adjustment method of the present invention;

图3为本发明路由表调整方法具体实施例一的流程图;FIG. 3 is a flow chart of Embodiment 1 of the routing table adjustment method of the present invention;

图4为本发明路由表调整方法具体实施例二的流程图;FIG. 4 is a flowchart of a second embodiment of the routing table adjustment method of the present invention;

图5为本发明路由表调整装置具体实施例一的结构示意图;FIG. 5 is a schematic structural diagram of Embodiment 1 of the routing table adjustment device of the present invention;

图6为本发明路由表调整装置具体实施例二的结构示意图;6 is a schematic structural diagram of Embodiment 2 of the routing table adjustment device of the present invention;

图7为本发明路由查询方法具体实施例的流程图;7 is a flowchart of a specific embodiment of the route query method of the present invention;

图8为本发明路由查询装置具体实施例的结构示意图;FIG. 8 is a schematic structural diagram of a specific embodiment of the routing query device of the present invention;

图9为本发明路由表存储装置具体实施例的结构示意图Fig. 9 is a schematic structural diagram of a specific embodiment of the routing table storage device of the present invention

具体实施方式 Detailed ways

路由表调整方法实施例一Embodiment 1 of Routing Table Adjustment Method

如图3所示为本发明路由表调整方法具体实施例一的流程图,本实施例的路由表调整方法是在基于布隆过滤器技术的路由技术中,对路由表进行调整的方法。基于布隆过滤器的路由技术,按照路由前缀匹配值的长度将其划分为多个不相交的路由前缀匹配值的集合,为每个路由前缀匹配值的集合在路由表中独立分配一块空间,即将路由表划分为多个独立的路由子表,每个路由子表又一一对应一个布隆过滤器,路由子表中的路由前缀匹配值均通过hash运算,将其长度信息写入布隆过滤器中,以便在一个布隆过滤器中查询到待查找路由前缀的长度,而后进一步在对应的路由子表中具体查询该路由前缀的匹配值,这是基于布隆过滤器的路由技术的基本原理。布隆过滤器的本质是一个矢量组,存放在一个大的数组里面,建立布隆过滤器的时候会通过把路由前缀匹配值进行hash运算,使用hash的地址将布隆过滤器中对应的比特位设置为1,当使用几个hash函数时,对每一个路由前缀匹配值进行运算都可以得到一个矢量,也就是布隆过滤器的几个比特位均为1。布隆过滤器的数组需要足够大,否则就会出现多个路由器前缀匹配值hash运算后使同样的比特位为1,那么在进行ip路由前缀查询时,就会出现误判。所以布隆过滤器的长度,也就是布隆过滤器比特位的个数,需要足够多。布隆过滤器的长度应与路由子表的容量相对应,以尽量减少误判的可能。本实施例的针对其路由表的调整方法包括:FIG. 3 is a flow chart of Embodiment 1 of the routing table adjustment method of the present invention. The routing table adjustment method of this embodiment is a method for adjusting the routing table in the routing technology based on Bloom filter technology. Based on the Bloom filter routing technology, it is divided into multiple disjoint sets of routing prefix matching values according to the length of the routing prefix matching value, and a space is allocated independently in the routing table for each set of routing prefix matching values. That is to say, the routing table is divided into multiple independent routing sub-tables, and each routing sub-table corresponds to a Bloom filter one by one. The routing prefix matching values in the routing sub-table are hashed, and the length information is written into Bloom In the filter, in order to query the length of the routing prefix to be found in a Bloom filter, and then further query the matching value of the routing prefix in the corresponding routing subtable, this is based on the routing technology of the Bloom filter Fundamental. The essence of the Bloom filter is a vector group, which is stored in a large array. When the Bloom filter is established, the matching value of the routing prefix will be hashed, and the address of the hash will be used to convert the corresponding bits in the Bloom filter. If the bit is set to 1, when several hash functions are used, a vector can be obtained by performing an operation on each routing prefix matching value, that is, several bits of the Bloom filter are all 1. The array of the Bloom filter needs to be large enough, otherwise there will be multiple router prefix matching value hash operations and the same bit will be 1, then when the ip routing prefix query is performed, a misjudgment will occur. Therefore, the length of the Bloom filter, that is, the number of bits of the Bloom filter, needs to be large enough. The length of the Bloom filter should correspond to the capacity of the routing subtable to minimize the possibility of misjudgment. The adjustment method for its routing table in this embodiment includes:

步骤101、接收一路由前缀匹配值;Step 101, receiving a routing prefix matching value;

步骤102、当监测到与该路由前缀匹配值的长度对应的路由子表的存储量已达到设定的门限值时,根据该路由子表的容量建立该路由子表的增生布隆过滤器以及增生路由子表,该路由子表记为原路由子表,该路由子表的布隆过滤器记为原布隆过滤器;Step 102, when it is detected that the storage capacity of the routing sub-table corresponding to the length of the routing prefix matching value has reached the set threshold value, an accretive Bloom filter of the routing sub-table is established according to the capacity of the routing sub-table And the augmented routing sub-table, the routing sub-table is marked as the original routing sub-table, and the Bloom filter of the routing sub-table is recorded as the original Bloom filter;

上述步骤102中原路由子表的存储量达到设定门限值的情况可以为该路由子表的存储空间已满,或为保证查询速度而为路由子表存储量设定的最大存储限值,通常发生在某路由子表大规模扩张的时候;调整后的路由表结构如图2所示,其中,原路由子表t0~t3与原布隆过滤器bf0~bf3可以通过段地址寄存器Seg ptr0~Seg ptr3一一对应,段地址寄存器Seg ptr0~Segptr3分别用于存储各原路由子表t0~t3在内存中的首地址。如图2所示,当原路由子表t2的存储量达到设定门限值时,则根据原路由子表t2的容量建立其增生布隆过滤器bf2′,并建立增生路由子表t2′,并且,当使用段地址寄存器存储路由子表的首地址时,还需要在段地址寄存器Seg ptr4中保存增生路由子表bf2′的首地址。In the above-mentioned step 102, when the storage capacity of the original routing sub-table reaches the set threshold value, it may be that the storage space of the routing sub-table is full, or the maximum storage limit set for the routing sub-table storage capacity in order to ensure the query speed, It usually occurs when a routing subtable expands on a large scale; the adjusted routing table structure is shown in Figure 2, where the original routing subtable t0~t3 and the original Bloom filters bf0~bf3 can pass through the segment address register Seg ptr0 ~Seg ptr3 correspond one-to-one, segment address registers Seg ptr0~Segptr3 are respectively used to store the first address of each original routing subtable t0~t3 in memory. As shown in Figure 2, when the storage capacity of the original routing sub-table t2 reaches the set threshold value, an accretive Bloom filter bf2' is established according to the capacity of the original routing sub-table t2, and an accretive routing sub-table t2' is established , and, when using the segment address register to store the first address of the routing subtable, it is also necessary to save the first address of the augmented routing subtable bf2' in the segment address register Seg ptr4.

在上述步骤102中,根据原路由子表的容量,建立原路由子表的增生布隆过滤器的步骤可以具体为:根据原路由子表的容量,建立长度与原路由子表的原布隆过滤器长度相等,即比特位数相等的增生布隆过滤器,原布隆过滤器的长度与原路由子表的容量相对应,一般是路由子表的容量成正比。该技术方案中,建立长度等于原布隆过滤器的增生布隆过滤器,还可以便于后续合并原布隆过滤器和增生布隆过滤器的操作。在步骤102中,根据原路由子表的容量建立增生路由子表的步骤可以具体为:根据原路由子表的容量,建立容量与原路由子表的容量相等的增生路由子表,即在内存中分配一与原路由子表同样大小的存储空间作为增生路由子表。In the above step 102, according to the capacity of the original routing sub-table, the step of establishing the accretion Bloom filter of the original routing sub-table can be specifically: according to the capacity of the original routing sub-table, establishing the original Bloom filter whose length is the same as that of the original routing sub-table The filter lengths are equal, that is, the accretionary Bloom filter with the same number of bits. The length of the original Bloom filter corresponds to the capacity of the original routing subtable, which is generally proportional to the capacity of the routing subtable. In this technical solution, establishing an accretionary Bloom filter whose length is equal to that of the original Bloom filter can also facilitate the subsequent operation of merging the original Bloom filter and the accretionary Bloom filter. In step 102, the step of establishing the augmented routing sub-table according to the capacity of the original routing sub-table can be specifically: according to the capacity of the original routing sub-table, an augmented routing sub-table with a capacity equal to the capacity of the original routing sub-table is established, that is, in memory Allocate a storage space with the same size as the original routing sub-table as the augmented routing sub-table.

在步骤102中,可进一步在建立增生路由子表后,保存增生路由子表的起始地址,以便查找到路由子表的位置。在本实施例所针对的路由表存储架构中,如图2所示,当共享内存时,路由子表的起始地址可以进一步存储在段地址寄存器中,当有多个外联存储空间或者内嵌随机存储器(RAM)时,路由子表可以对应于路由子表号,使用段地址寄存器和路由子表号均可更便捷的查找到路由子表的位置。因此,增生路由子表起始地址的保存可具体为保存到段地址寄存器中。In step 102, after the augmented routing sub-table is established, the starting address of the augmented routing sub-table can be saved so as to find the location of the routing sub-table. In the routing table storage architecture targeted by this embodiment, as shown in Figure 2, when the memory is shared, the starting address of the routing sub-table can be further stored in the segment address register. When the random access memory (RAM) is embedded, the routing sub-table may correspond to the routing sub-table number, and the location of the routing sub-table can be found more conveniently by using the segment address register and the routing sub-table number. Therefore, the storage of the start address of the augmented routing sub-table may be specifically stored in a segment address register.

在建立增生路由子表之后,可以进一步执行下述步骤,如图3所示:After the augmented routing sub-table is established, the following steps can be further performed, as shown in Figure 3:

步骤103、保存该接收到的路由前缀匹配值。Step 103, saving the received routing prefix matching value.

在上述步骤103中,接收到路由前缀匹配值的保存具体是保存到路由子表中,并将路由前缀匹配值的长度信息写入布隆过滤器中。在本实施例中,较佳的是将新接收到的路由前缀匹配值保存到新建的增生路由子表中,并将其长度信息写入增生布隆过滤器中,以充实增生路由子表中的内容,逐渐使原路由子表与增生路由子表的存储量趋于相等。In the above step 103, the received route prefix matching value is stored in the routing sub-table, and the length information of the routing prefix matching value is written into the Bloom filter. In this embodiment, it is preferable to save the newly received routing prefix matching value into the newly-created augmented routing sub-table, and write its length information into the augmented Bloom filter to enrich the augmented routing sub-table Gradually make the storage capacity of the original routing sub-table and the augmented routing sub-table tend to be equal.

本实施例技术方案的优势在于:实现了动态路由表扩展的方法,与现有技术相比,路由表的扩张开销小,调整方法便捷。The technical solution of this embodiment has the advantage of realizing the method of expanding the dynamic routing table. Compared with the prior art, the expansion cost of the routing table is small, and the adjustment method is convenient.

路由表调整方法实施例二Embodiment 2 of Routing Table Adjustment Method

如图4所示为本发明路由表调整方法具体实施例二的流程图,本实施例是以上述实施例一的技术方案为基础的,在上述步骤102建立增生布隆过滤器及增生路由子表之后,可进一步执行路由表的收缩步骤,具体包括下述步骤:As shown in Figure 4, it is the flow chart of the specific embodiment 2 of the routing table adjustment method of the present invention. This embodiment is based on the technical solution of the above-mentioned embodiment 1. In the above-mentioned step 102, a proliferating Bloom filter and a proliferating router are established. After the table, the shrinking step of the routing table can be further performed, which specifically includes the following steps:

步骤301、监测到该路由子表和/或该路由子表的增生路由子表的存储量减少到设定门限值时,执行步骤302;Step 301, when it is detected that the storage capacity of the routing sub-table and/or the augmented routing sub-table of the routing sub-table is reduced to a set threshold value, step 302 is executed;

步骤302、合并该路由子表的布隆过滤器和该增生布隆过滤器,并合并该路由子表和该增生路由子表。Step 302, merging the Bloom filter of the routing sub-table and the augmented Bloom filter, and merging the routing sub-table and the augmented routing sub-table.

在上述步骤301中,路由子表或增生路由子表存储量下限值的设定可根据具体情况而定,还需要根据路由子表合并的方式确定。例如需保证一个原路由子表的空间可容纳原路由子表和增生路由子表中存储的路由前缀匹配值。In the above step 301, the setting of the lower limit of the storage capacity of the routing sub-table or the augmented routing sub-table can be determined according to specific circumstances, and also needs to be determined according to the way of merging the routing sub-tables. For example, it is necessary to ensure that the space of an original routing sub-table can accommodate the routing prefix matching values stored in the original routing sub-table and the augmented routing sub-table.

在上述步骤302中,合并路由子表的布隆过滤器和增生布隆过滤器的步骤具体可以为:对路由子表布隆过滤器和该增生布隆过滤器的位向量数组执行“或”操作,将其结果作为原布隆过滤器,然后释放,即删除增生布隆过滤器;合并该路由子表和该增生路由子表的步骤具体可以为:将增生路由子表中的路由前缀匹配值添加到原路由子表的路由前缀匹配值的后续存储空间中。进一步的,在合并该路由子表和增生路由子表之后,还可以包括:从段地址寄存器中删除该增生路由子表的起始地址。In the above step 302, the step of merging the Bloom filter of the routing subtable and the accretionary Bloom filter may specifically be: perform "OR" on the routing subtable Bloom filter and the bit vector array of the accretionary Bloom filter operation, use the result as the original Bloom filter, and then release it, that is, delete the augmented Bloom filter; the steps of merging the routing subtable and the augmented routing subtable can be as follows: match the route prefixes in the augmented routing subtable The value is added to the subsequent storage space of the routing prefix matching value of the original routing subtable. Further, after merging the routing sub-table and the augmented routing sub-table, it may further include: deleting the start address of the augmented routing sub-table from the segment address register.

本实施例技术方案的优势在于:当增生路由子表中的路由前缀匹配值数量减少到设定门限值以下时,可进一步执行收缩操作,对路由表进行维护,以节约存储空间和提高路由查询速度。The advantage of the technical solution of this embodiment is that: when the number of routing prefix matching values in the augmented routing sub-table is reduced below the set threshold value, the shrinking operation can be further performed to maintain the routing table, so as to save storage space and improve routing performance. Query speed.

路由表调整装置实施例一Embodiment 1 of routing table adjustment device

如图5所示为本发明路由表调整装置具体实施例一的结构示意图,该装置包括:As shown in Figure 5, it is a schematic structural diagram of a specific embodiment 1 of the routing table adjustment device of the present invention, and the device includes:

接收模块1,用于接收路由前缀匹配值;创建模块2,用于监测到与该路由前缀匹配值的长度对应的路由子表的存储量已达到设定的门限值时,根据该路由子表的容量建立该路由子表的增生布隆过滤器以及增生路由子表。The receiving module 1 is used to receive the routing prefix matching value; the creating module 2 is used to detect that when the storage capacity of the routing sub-table corresponding to the length of the routing prefix matching value has reached the set threshold value, according to the routing sub-table The capacity of the table establishes the augmented Bloom filter of the routing sub-table and the augmenting routing sub-table.

本实施例的路由表调整装置可采用本发明路由表调整方法实施例一的技术方案,实现了动态路由表扩展的方法,与现有技术相比,路由表的扩张开销小,调整便捷。The routing table adjustment device of this embodiment can adopt the technical solution of the first embodiment of the routing table adjustment method of the present invention to realize the method of dynamic routing table expansion. Compared with the prior art, the expansion cost of the routing table is small and the adjustment is convenient.

路由表调整装置实施例二Embodiment 2 of routing table adjustment device

如图6所示为本发明路由表调整装置具体实施例二的结构示意图,本实施例在上述路由表调整装置实施例一的基础上还包括:As shown in Figure 6, it is a schematic structural diagram of a second embodiment of the routing table adjustment device of the present invention. This embodiment further includes:

合并模块4,用于监测到路由子表和/或路由子表的增生路由子表的存储量减少到设定门限值时,合并路由子表的布隆过滤器和增生布隆过滤器,并合并路由子表和增生路由子表。The merging module 4 is used for merging the Bloom filter and the proliferation Bloom filter of the routing subtable when detecting that the storage capacity of the routing subtable and/or the accretion routing subtable of the routing subtable is reduced to a set threshold value, And merge the routing sub-table and the augmented routing sub-table.

本实施例的路由表调整装置可采用本发明路由表调整方法实施例二的技术方案,当增生路由子表中的路由前缀匹配值数量减少到设定门限值以下时,可进一步执行收缩操作,对路由表进行维护,以节约存储空间和提高路由查询速度。The routing table adjustment device of this embodiment can adopt the technical solution of the second embodiment of the routing table adjustment method of the present invention, and when the number of routing prefix matching values in the augmented routing sub-table is reduced below the set threshold value, the shrinking operation can be further performed , to maintain the routing table to save storage space and improve routing query speed.

路由查询方法实施例Example of routing query method

如图7所示为本发明路由查询方法具体实施例的流程图,本实施例的路由查询方法依据本发明路由表调整方法中所针对的路由表进行路由查询,该路由表的结构如图2所示,包括如下步骤:As shown in Figure 7, it is a flow chart of a specific embodiment of the routing query method of the present invention. The routing query method of the present embodiment performs routing query according to the routing table targeted in the routing table adjustment method of the present invention. The structure of the routing table is shown in Figure 2 shown, including the following steps:

步骤201、获取待查询的IP地址;Step 201, obtaining the IP address to be queried;

步骤202、根据待查询的IP地址,通过在布隆过滤器及增生布隆过滤器中查询,取得待查询IP地址对应的路由前缀的长度;Step 202, according to the IP address to be queried, the length of the routing prefix corresponding to the IP address to be queried is obtained by querying in the Bloom filter and the accretive Bloom filter;

步骤203、根据路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。Step 203, according to the routing prefix length, obtain the routing path of the IP address to be queried in the corresponding routing sub-table.

在上述步骤202和203的执行过程中,根据最长路由前缀匹配原则,通常在获取到的IP地址对应的多个路由前缀长度中选择从最长的路由前缀长度,在查询正确时,再查询较短的路由前缀长度,反复执行步骤202、203,直到查询出正确的结果During the execution of the above steps 202 and 203, according to the longest routing prefix matching principle, usually select the longest routing prefix length from the multiple routing prefix lengths corresponding to the obtained IP address, and then query Shorter routing prefix length, repeat steps 202 and 203 until the correct result is found

在上述步骤203中,根据路由前缀的长度,在对应的路由子表中获取待查询IP地址的路由路径具体可以通过执行下述步骤来实现:In the above step 203, according to the length of the routing prefix, obtaining the routing path of the IP address to be queried in the corresponding routing sub-table can specifically be achieved by performing the following steps:

步骤2031、根据获取的路由前缀的长度,在段地址寄存器中查询对应的路由子表的起始地址;Step 2031, according to the length of the obtained routing prefix, query the starting address of the corresponding routing subtable in the segment address register;

步骤2032、通过哈希运算获取对应的路由子表的表内地址;Step 2032, obtain the in-table address of the corresponding routing sub-table through hash operation;

步骤2033、根据获取的路由子表的起始地址和表内地址,获取对应的路由表中的对应物理地址;Step 2033, obtain the corresponding physical address in the corresponding routing table according to the obtained initial address of the routing sub-table and the address in the table;

步骤2034、根据路由表中的物理地址获取待查询IP地址的路由路径。Step 2034, obtain the routing path of the IP address to be queried according to the physical address in the routing table.

本实施例的技术方案能够有效基于本发明路由表调整方法所调整的路由表进行路由查询,因而可以采用快捷、开销小的路由表调整方法,且路由查询在较小的路由子表中进行,也能够相应的提高查询速度。The technical solution of this embodiment can effectively perform routing query based on the routing table adjusted by the routing table adjustment method of the present invention, so a fast and low-cost routing table adjustment method can be used, and the routing query is performed in a smaller routing sub-table. It can also increase the query speed accordingly.

路由查询装置实施例Embodiment of routing query device

如图8所示为本发明路由查询装置具体实施例的结构示意图,该装置包括:As shown in Figure 8, it is a schematic structural diagram of a specific embodiment of the routing query device of the present invention, and the device includes:

获取模块11,用于获取待查询的IP地址;第一查询模块12,用于根据待查询的IP地址,通过在布隆过滤器及增生布隆过滤器中查询,取得待查询IP地址对应的路由前缀的长度;第二查询模块13,用于根据路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。The obtaining module 11 is used to obtain the IP address to be queried; the first query module 12 is used to obtain the IP address corresponding to the queried IP address by querying in the Bloom filter and the accretion Bloom filter according to the IP address to be queried. The length of the routing prefix; the second query module 13 is configured to obtain the routing path of the IP address to be queried in the corresponding routing sub-table according to the length of the routing prefix.

本实施例的路由查询装置可采用本发明路由查询方法任一实施例的技术方案,因而可以采用快捷、开销小的路由表调整方法,且路由查询在较小的路由子表中进行,或者通过采用其他存储介质实现在路由子表和增生路由子表中同时查询,所以也能够相应的提高查询速度。The routing query device of this embodiment can adopt the technical solution of any embodiment of the routing query method of the present invention, so a fast and low-cost routing table adjustment method can be used, and the routing query is carried out in a smaller routing sub-table, or through Other storage media are used to realize simultaneous query in the routing sub-table and the augmented routing sub-table, so the query speed can be correspondingly improved.

路由表存储装置实施例Embodiment of routing table storage device

如图9所示为本发明路由表存储装置具体实施例的结构示意图,该装置包括:FIG. 9 is a schematic structural diagram of a specific embodiment of the routing table storage device of the present invention, and the device includes:

路由表模块100,即第一模块,用于存储路由前缀匹配值,包括两个以上用于存储设定长度路由前缀匹配值的路由子表单元1001,即第一单元,以及一个以上用于存储与路由子表单元1001中路由前缀匹配值长度相等的路由前缀匹配值的增生路由子表单元1002,即第二单元;段地址寄存器200,即第二模块,用于存储路由子表单元1001和增生路由子表单元1002的起始地址;过滤器模块300,包括两个以上布隆过滤器3001,即第三单元,与路由子表单元1001一一对应相连,用于存储路由子表单元1001中路由前缀匹配值的长度信息,以及一个以上增生布隆过滤器3002,即第四单元,与增生路由子表单元1002一一对应相连,用于存储增生路由子表单元1002中路由前缀匹配值的长度信息。The routing table module 100, namely the first module, is used to store the matching value of the routing prefix, including more than two routing sub-table units 1001 for storing the matching value of the routing prefix of the set length, namely the first unit, and more than one for storing The augmentation routing subtable unit 1002 of the routing prefix matching value equal to the routing prefix matching value length in the routing subtable unit 1001, i.e. the second unit; the segment address register 200, i.e. the second module, is used to store the routing subtable unit 1001 and The initial address of the augmented routing subtable unit 1002; the filter module 300 includes more than two Bloom filters 3001, i.e. the third unit, which is connected to the routing subtable unit 1001 in one-to-one correspondence, and is used to store the routing subtable unit 1001 The length information of the routing prefix matching value in the middle, and more than one augmentation Bloom filter 3002, that is, the fourth unit, is connected to the augmentation routing subtable unit 1002 in one-to-one correspondence, and is used to store the routing prefix matching value in the augmentation routing subtable unit 1002 length information.

本实施例可适应于应用本发明路由表调整方法和路由查询方法的实施例,当其内容扩充时,可快捷、开销小的进行调整。This embodiment can be adapted to the embodiments of the routing table adjustment method and the routing query method of the present invention, and when the content is expanded, it can be adjusted quickly and with low cost.

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps for realizing the above-mentioned method embodiments can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the It includes the steps of the above method embodiments; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk and other various media that can store program codes.

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still be Modifications are made to the technical solutions described in the foregoing embodiments, or equivalent replacements are made to some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the various embodiments of the present invention.

Claims (15)

1, a kind of route table adjustment method comprises:
Receive the route prefix matching value;
When the memory space that monitors the route sublist corresponding with the length of described route prefix matching value has reached the threshold value of setting, set up the hyperplasia Bloom filter of described route sublist according to the length of the Bloom filter of the capacity of described route sublist and described route sublist, and set up hyperplasia route sublist according to the capacity of described route sublist.
2, route table adjustment method according to claim 1, it is characterized in that, the hyperplasia Bloom filter of setting up described route sublist according to the length of the Bloom filter of the capacity of described route sublist and described route sublist is specially: according to the capacity of described route sublist, set up the hyperplasia Bloom filter of equal in length of the Bloom filter of length and described route sublist.
3, route table adjustment method according to claim 1, it is characterized in that, setting up hyperplasia route sublist according to the capacity of described route sublist is specially: according to the capacity of described route sublist, set up the hyperplasia route sublist that capacity equates with the capacity of described route sublist.
4, route table adjustment method according to claim 1 is characterized in that, after setting up described hyperplasia route sublist, also comprises: the initial address of described hyperplasia route sublist is kept in the segment address register.
5, route table adjustment method according to claim 1, it is characterized in that, after setting up described hyperplasia route sublist, also comprise: the described route prefix matching value that receives is kept in the described hyperplasia route sublist, and the length information of the described route prefix matching value that receives is write in the described hyperplasia Bloom filter.
6, route table adjustment method according to claim 1 is characterized in that, after the hyperplasia Bloom filter of setting up described route sublist and hyperplasia route sublist, this method also comprises:
The memory space that monitors the hyperplasia route sublist of described route sublist and/or described route sublist reduces to when setting threshold value, merge the Bloom filter and the described hyperplasia Bloom filter of described route sublist, and merge described route sublist and described hyperplasia route sublist.
7, route table adjustment method according to claim 6, it is characterized in that, the Bloom filter and the described hyperplasia Bloom filter that merge described route sublist are specially: Bloom filter and described hyperplasia Bloom filter to described route sublist are carried out OR operation, with the Bloom filter of result, and delete described hyperplasia Bloom filter as described route sublist.
8, route table adjustment method according to claim 6, it is characterized in that, merge described route sublist and described hyperplasia route sublist is specially: the route prefix Configuration Values in the described hyperplasia route sublist is added in the follow-up memory space of the route prefix Configuration Values in the described route sublist.
9, route table adjustment method according to claim 8 is characterized in that, after merging described route sublist and described hyperplasia route sublist, also comprises: the initial address of the described hyperplasia route sublist of deletion from segment address register.
10, a kind of routing table adjusting device is characterized in that, comprising:
Receiver module is used to receive the route prefix matching value;
Creation module, when the memory space that is used to monitor the route sublist corresponding with the length of described route prefix matching value has reached the threshold value of setting, set up the hyperplasia Bloom filter of described route sublist according to the length of the Bloom filter of the capacity of described route sublist and described route sublist, and set up hyperplasia route sublist according to the capacity of described route sublist.
11, routing table adjusting device according to claim 10 is characterized in that, also comprises:
Merge module, the memory space that is used to monitor the hyperplasia route sublist of described route sublist and/or described route sublist reduces to when setting threshold value, merge the Bloom filter and the described hyperplasia Bloom filter of described route sublist, and merge described route sublist and described hyperplasia route sublist.
12, a kind of method for searching route according to the arbitrary described route table adjustment method of claim 1-9 is characterized in that, comprising:
Obtain IP address to be checked;
According to IP address to be checked,, obtain the route prefix length of IP to be checked address correspondence by in Bloom filter and hyperplasia Bloom filter, inquiring about;
According to the described route prefix length that inquires, in the route sublist of correspondence, obtain the routed path of IP to be checked address.
13, method for searching route according to claim 12 is characterized in that, according to route prefix length, the routed path that obtains IP to be checked address in the route sublist of correspondence is specially:
According to the route prefix length of obtaining, the initial address of the route sublist of inquiry correspondence in the segment address register of correspondence;
Obtain address in the table of corresponding route sublist by Hash operation;
Initial address and Biao Nei address according to the route sublist of obtaining obtain the corresponding physical address in routing table;
Obtain the routed path of IP to be checked address according to the physical address in the routing table.
14, a kind of routing inquiring device according to the arbitrary described route table adjustment method of claim 1-9 is characterized in that, comprising:
Acquisition module is used to obtain IP address to be checked;
First enquiry module is used for according to IP address to be checked, by inquiring about in the Bloom filter of Bloom filter and hyperplasia thereof, obtains the length of the route prefix of IP to be checked address correspondence;
Second enquiry module is used for according to route prefix length, obtains the routed path of IP to be checked address in the route sublist of correspondence.
15, a kind of route table storage device, it is characterized in that, comprise: router table means, be used to store the route prefix matching value, comprise the route sublist unit that is used to store preseting length route prefix matching value more than two, and be used for storing the hyperplasia route sublist unit with the route prefix matching value of described route sublist unit route prefix matching value equal in length more than one;
Segment address register, the initial address that is used to store described route sublist unit;
Filter module, comprise two above Bloom filters, link to each other with described route sublist unit is corresponding one by one, be used for storing the length information of described route sublist unit route prefix matching value, and above hyperplasia Bloom filter, link to each other with described hyperplasia route sublist unit is corresponding one by one, be used for storing the length information of described hyperplasia route sublist unit route prefix matching value.
CN200710176765.0A 2007-11-02 2007-11-02 Route table adjustment method, route query method and device and route table storage device Expired - Fee Related CN100531102C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710176765.0A CN100531102C (en) 2007-11-02 2007-11-02 Route table adjustment method, route query method and device and route table storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710176765.0A CN100531102C (en) 2007-11-02 2007-11-02 Route table adjustment method, route query method and device and route table storage device

Publications (2)

Publication Number Publication Date
CN101150483A CN101150483A (en) 2008-03-26
CN100531102C true CN100531102C (en) 2009-08-19

Family

ID=39250835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710176765.0A Expired - Fee Related CN100531102C (en) 2007-11-02 2007-11-02 Route table adjustment method, route query method and device and route table storage device

Country Status (1)

Country Link
CN (1) CN100531102C (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603414A (en) * 2016-11-17 2017-04-26 上海红阵信息科技有限公司 Routing table fast comparing method

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892780B2 (en) 2007-03-08 2014-11-18 Oracle International Corporation Management of shared storage I/O resources
WO2010022767A1 (en) * 2008-08-26 2010-03-04 Telefonaktiebolaget Lm Ericsson (Publ) Packet forwarding in a network
US8868831B2 (en) 2009-09-14 2014-10-21 Oracle International Corporation Caching data between a database server and a storage system
US10430338B2 (en) 2008-09-19 2019-10-01 Oracle International Corporation Selectively reading data from cache and primary storage based on whether cache is overloaded
JP5484470B2 (en) 2008-09-19 2014-05-07 オラクル・インターナショナル・コーポレイション Hash join using collaborative parallel filtering in intelligent storage with offloaded Bloom filter
CN101901248B (en) * 2010-04-07 2012-08-15 北京星网锐捷网络技术有限公司 Method and device for creating and updating Bloom filter and searching elements
CN101841483B (en) * 2010-05-06 2013-06-19 北京星网锐捷网络技术有限公司 Hardware routing table management method and device and communication equipment
CN101923568B (en) * 2010-06-23 2013-06-19 北京星网锐捷网络技术有限公司 Method for increasing and canceling elements of Bloom filter and Bloom filter
US8458511B2 (en) 2010-09-17 2013-06-04 Oracle International Corporation Fault isolation using code paths
CN102271087B (en) * 2011-07-27 2017-09-29 中兴通讯股份有限公司 A kind of method for searching route and device
CN102333036B (en) * 2011-10-17 2015-06-03 中兴通讯股份有限公司 Method and system for realizing high-speed routing lookup
US8886827B2 (en) * 2012-02-13 2014-11-11 Juniper Networks, Inc. Flow cache mechanism for performing packet flow lookups in a network device
US9819637B2 (en) * 2013-02-27 2017-11-14 Marvell World Trade Ltd. Efficient longest prefix matching techniques for network devices
US10489365B2 (en) 2013-03-14 2019-11-26 Oracle International Corporation Predicate offload of large objects
US10642837B2 (en) 2013-03-15 2020-05-05 Oracle International Corporation Relocating derived cache during data rebalance to maintain application performance
US10528590B2 (en) 2014-09-26 2020-01-07 Oracle International Corporation Optimizing a query with extrema function using in-memory data summaries on the storage server
US9798655B2 (en) 2013-09-20 2017-10-24 Oracle International Corporation Managing a cache on storage devices supporting compression
US10229161B2 (en) 2013-09-20 2019-03-12 Oracle International Corporation Automatic caching of scan and random access data in computing systems
CN105095393B (en) * 2015-06-30 2018-11-16 努比亚技术有限公司 A kind of date storage method and device
US10331573B2 (en) 2016-11-04 2019-06-25 Oracle International Corporation Detection of avoidable cache thrashing for OLTP and DW workloads
CN106850541B (en) * 2016-12-13 2020-11-06 华为技术有限公司 A method and device for determining the address of a node in the Internet of Things
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US11200234B2 (en) 2019-06-14 2021-12-14 Oracle International Corporation Non-disruptive dynamic ad-hoc database catalog services
US10990596B2 (en) 2019-06-14 2021-04-27 Oracle International Corporation Non-disruptive referencing of special purpose operators for database management systems
CN110781392B (en) * 2019-10-22 2022-08-12 深圳墨世科技有限公司 Dynamically scalable filtering method and device, computer equipment and storage medium
CN112035413B (en) * 2020-09-03 2024-02-20 杭州海康威视系统技术有限公司 Metadata information query method, device and storage medium
CN112637077B (en) * 2020-12-28 2023-02-28 杭州迪普科技股份有限公司 Dynamic route configuration method and device
US20230221864A1 (en) * 2022-01-10 2023-07-13 Vmware, Inc. Efficient inline block-level deduplication using a bloom filter and a small in-memory deduplication hash table

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于Bloom滤波器的缓存机制快速路由查找算法. 张瑞,刘仓明,姜金平,宋伟,王文鼐.北京邮电大学学报,第27卷. 2004 *
基于快速搜索树的路由查表算法. 谭兴晔,张勇,雷振明.计算机应用研究,第7期. 2005 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603414A (en) * 2016-11-17 2017-04-26 上海红阵信息科技有限公司 Routing table fast comparing method
CN106603414B (en) * 2016-11-17 2020-04-10 珠海高凌信息科技股份有限公司 Routing table fast comparison method

Also Published As

Publication number Publication date
CN101150483A (en) 2008-03-26

Similar Documents

Publication Publication Date Title
CN100531102C (en) Route table adjustment method, route query method and device and route table storage device
EP2793436B1 (en) Content router forwarding plane architecture
US10445380B2 (en) System and method for direct storage access in a content-centric network
Kim et al. Revisiting route caching: The world should be flat
US8924687B1 (en) Scalable hash tables
EP2562978B1 (en) Content router of a content centric network
US9537771B2 (en) Exact match hash lookup databases in network switch devices
CN102971732B (en) The system architecture of the integrated classification query processing of key/value storer
TWI661698B (en) Method and device for forwarding Ethernet packet
CN103248582B (en) For performing the stream buffer mechanism that packet stream is searched in a network device
CN103428093B (en) Route prefix storing, matching and updating method and device based on names
US9600591B2 (en) Method and apparatus for URL address search in URL list
CN113519144B (en) Exact match and Ternary Content Addressable Memory (TCAM) hybrid lookup for network devices
KR20120078535A (en) Sas expander connection routing techniques
US20180270153A1 (en) Increasing entropy across routing table segments
CN108306835A (en) A kind of the input-buffer structure and data forwarding method of Ethernet switch
CN103019884A (en) Memory page de-weight method and memory page de-weight device based on virtual machine snapshot
CN103595637A (en) Method for utilizing content-centric network nodes to process data based on tree and hash table
US20150256601A1 (en) System and method for efficient content caching in a streaming storage
TW200406107A (en) Determining routing information for an information packet in accordance with a destination address and a device address
CN103973571A (en) Network processor and routing searching method
CN100388725C (en) A method for refreshing hardware entries
CN104301227B (en) High-speed low-power-consumption IP route table lookup method based on TCAM
EP2523399A1 (en) Method and device for realizing flexible qinq
CN100459609C (en) Media Access Control Address Learning Method for Digital Subscriber Line Access Multiplexer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090819