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 PDFInfo
- 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
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
技术领域 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
图3为本发明路由表调整方法具体实施例一的流程图;FIG. 3 is a flow chart of
图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
图6为本发明路由表调整装置具体实施例二的结构示意图;6 is a schematic structural diagram of
图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
路由表调整方法实施例一
如图3所示为本发明路由表调整方法具体实施例一的流程图,本实施例的路由表调整方法是在基于布隆过滤器技术的路由技术中,对路由表进行调整的方法。基于布隆过滤器的路由技术,按照路由前缀匹配值的长度将其划分为多个不相交的路由前缀匹配值的集合,为每个路由前缀匹配值的集合在路由表中独立分配一块空间,即将路由表划分为多个独立的路由子表,每个路由子表又一一对应一个布隆过滤器,路由子表中的路由前缀匹配值均通过hash运算,将其长度信息写入布隆过滤器中,以便在一个布隆过滤器中查询到待查找路由前缀的长度,而后进一步在对应的路由子表中具体查询该路由前缀的匹配值,这是基于布隆过滤器的路由技术的基本原理。布隆过滤器的本质是一个矢量组,存放在一个大的数组里面,建立布隆过滤器的时候会通过把路由前缀匹配值进行hash运算,使用hash的地址将布隆过滤器中对应的比特位设置为1,当使用几个hash函数时,对每一个路由前缀匹配值进行运算都可以得到一个矢量,也就是布隆过滤器的几个比特位均为1。布隆过滤器的数组需要足够大,否则就会出现多个路由器前缀匹配值hash运算后使同样的比特位为1,那么在进行ip路由前缀查询时,就会出现误判。所以布隆过滤器的长度,也就是布隆过滤器比特位的个数,需要足够多。布隆过滤器的长度应与路由子表的容量相对应,以尽量减少误判的可能。本实施例的针对其路由表的调整方法包括:FIG. 3 is a flow chart of
步骤101、接收一路由前缀匹配值;
步骤102、当监测到与该路由前缀匹配值的长度对应的路由子表的存储量已达到设定的门限值时,根据该路由子表的容量建立该路由子表的增生布隆过滤器以及增生路由子表,该路由子表记为原路由子表,该路由子表的布隆过滤器记为原布隆过滤器;
上述步骤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
在上述步骤102中,根据原路由子表的容量,建立原路由子表的增生布隆过滤器的步骤可以具体为:根据原路由子表的容量,建立长度与原路由子表的原布隆过滤器长度相等,即比特位数相等的增生布隆过滤器,原布隆过滤器的长度与原路由子表的容量相对应,一般是路由子表的容量成正比。该技术方案中,建立长度等于原布隆过滤器的增生布隆过滤器,还可以便于后续合并原布隆过滤器和增生布隆过滤器的操作。在步骤102中,根据原路由子表的容量建立增生路由子表的步骤可以具体为:根据原路由子表的容量,建立容量与原路由子表的容量相等的增生路由子表,即在内存中分配一与原路由子表同样大小的存储空间作为增生路由子表。In the
在步骤102中,可进一步在建立增生路由子表后,保存增生路由子表的起始地址,以便查找到路由子表的位置。在本实施例所针对的路由表存储架构中,如图2所示,当共享内存时,路由子表的起始地址可以进一步存储在段地址寄存器中,当有多个外联存储空间或者内嵌随机存储器(RAM)时,路由子表可以对应于路由子表号,使用段地址寄存器和路由子表号均可更便捷的查找到路由子表的位置。因此,增生路由子表起始地址的保存可具体为保存到段地址寄存器中。In
在建立增生路由子表之后,可以进一步执行下述步骤,如图3所示:After the augmented routing sub-table is established, the following steps can be further performed, as shown in Figure 3:
步骤103、保存该接收到的路由前缀匹配值。
在上述步骤103中,接收到路由前缀匹配值的保存具体是保存到路由子表中,并将路由前缀匹配值的长度信息写入布隆过滤器中。在本实施例中,较佳的是将新接收到的路由前缀匹配值保存到新建的增生路由子表中,并将其长度信息写入增生布隆过滤器中,以充实增生路由子表中的内容,逐渐使原路由子表与增生路由子表的存储量趋于相等。In the
本实施例技术方案的优势在于:实现了动态路由表扩展的方法,与现有技术相比,路由表的扩张开销小,调整方法便捷。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.
路由表调整方法实施例二
如图4所示为本发明路由表调整方法具体实施例二的流程图,本实施例是以上述实施例一的技术方案为基础的,在上述步骤102建立增生布隆过滤器及增生路由子表之后,可进一步执行路由表的收缩步骤,具体包括下述步骤:As shown in Figure 4, it is the flow chart of the
步骤301、监测到该路由子表和/或该路由子表的增生路由子表的存储量减少到设定门限值时,执行步骤302;
步骤302、合并该路由子表的布隆过滤器和该增生布隆过滤器,并合并该路由子表和该增生路由子表。
在上述步骤301中,路由子表或增生路由子表存储量下限值的设定可根据具体情况而定,还需要根据路由子表合并的方式确定。例如需保证一个原路由子表的空间可容纳原路由子表和增生路由子表中存储的路由前缀匹配值。In the
在上述步骤302中,合并路由子表的布隆过滤器和增生布隆过滤器的步骤具体可以为:对路由子表布隆过滤器和该增生布隆过滤器的位向量数组执行“或”操作,将其结果作为原布隆过滤器,然后释放,即删除增生布隆过滤器;合并该路由子表和该增生路由子表的步骤具体可以为:将增生路由子表中的路由前缀匹配值添加到原路由子表的路由前缀匹配值的后续存储空间中。进一步的,在合并该路由子表和增生路由子表之后,还可以包括:从段地址寄存器中删除该增生路由子表的起始地址。In the
本实施例技术方案的优势在于:当增生路由子表中的路由前缀匹配值数量减少到设定门限值以下时,可进一步执行收缩操作,对路由表进行维护,以节约存储空间和提高路由查询速度。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.
路由表调整装置实施例一
如图5所示为本发明路由表调整装置具体实施例一的结构示意图,该装置包括:As shown in Figure 5, it is a schematic structural diagram of a
接收模块1,用于接收路由前缀匹配值;创建模块2,用于监测到与该路由前缀匹配值的长度对应的路由子表的存储量已达到设定的门限值时,根据该路由子表的容量建立该路由子表的增生布隆过滤器以及增生路由子表。The receiving
本实施例的路由表调整装置可采用本发明路由表调整方法实施例一的技术方案,实现了动态路由表扩展的方法,与现有技术相比,路由表的扩张开销小,调整便捷。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.
路由表调整装置实施例二
如图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
本实施例的路由表调整装置可采用本发明路由表调整方法实施例二的技术方案,当增生路由子表中的路由前缀匹配值数量减少到设定门限值以下时,可进一步执行收缩操作,对路由表进行维护,以节约存储空间和提高路由查询速度。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地址;
步骤202、根据待查询的IP地址,通过在布隆过滤器及增生布隆过滤器中查询,取得待查询IP地址对应的路由前缀的长度;
步骤203、根据路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。
在上述步骤202和203的执行过程中,根据最长路由前缀匹配原则,通常在获取到的IP地址对应的多个路由前缀长度中选择从最长的路由前缀长度,在查询正确时,再查询较短的路由前缀长度,反复执行步骤202、203,直到查询出正确的结果During the execution of the
在上述步骤203中,根据路由前缀的长度,在对应的路由子表中获取待查询IP地址的路由路径具体可以通过执行下述步骤来实现:In the
步骤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
本实施例的路由查询装置可采用本发明路由查询方法任一实施例的技术方案,因而可以采用快捷、开销小的路由表调整方法,且路由查询在较小的路由子表中进行,或者通过采用其他存储介质实现在路由子表和增生路由子表中同时查询,所以也能够相应的提高查询速度。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
本实施例可适应于应用本发明路由表调整方法和路由查询方法的实施例,当其内容扩充时,可快捷、开销小的进行调整。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)
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)
| 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)
| 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 |
-
2007
- 2007-11-02 CN CN200710176765.0A patent/CN100531102C/en not_active Expired - Fee Related
Non-Patent Citations (2)
| Title |
|---|
| 基于Bloom滤波器的缓存机制快速路由查找算法. 张瑞,刘仓明,姜金平,宋伟,王文鼐.北京邮电大学学报,第27卷. 2004 * |
| 基于快速搜索树的路由查表算法. 谭兴晔,张勇,雷振明.计算机应用研究,第7期. 2005 * |
Cited By (2)
| 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 |