WO2016184029A1 - Procédés et appareils de stockage et de recherche prenant en charge une recherche de hachage et une recherche de routage, et support d'informations - Google Patents

Procédés et appareils de stockage et de recherche prenant en charge une recherche de hachage et une recherche de routage, et support d'informations Download PDF

Info

Publication number
WO2016184029A1
WO2016184029A1 PCT/CN2015/092392 CN2015092392W WO2016184029A1 WO 2016184029 A1 WO2016184029 A1 WO 2016184029A1 CN 2015092392 W CN2015092392 W CN 2015092392W WO 2016184029 A1 WO2016184029 A1 WO 2016184029A1
Authority
WO
WIPO (PCT)
Prior art keywords
hash
searched
search
route
sub
Prior art date
Application number
PCT/CN2015/092392
Other languages
English (en)
Chinese (zh)
Inventor
程晨
Original Assignee
深圳市中兴微电子技术有限公司
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 深圳市中兴微电子技术有限公司 filed Critical 深圳市中兴微电子技术有限公司
Publication of WO2016184029A1 publication Critical patent/WO2016184029A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Definitions

  • the present invention relates to network switching technologies, and in particular, to a storage, searching method and apparatus, and a storage medium that simultaneously support hash lookup and route lookup.
  • the core routers used for backbone network interconnection have an interface speed of 200 Gbps.
  • the main task of the network processor is to classify and forward the packets according to the keywords of the data packets.
  • the search for these keywords (key values) is attributed to three main search methods: hash search and route lookup. And stream classification lookup.
  • the stream classification search is implemented by tri-state content addressable memory (TCAM) because the key length is variable and there is a mask search.
  • TCAM tri-state content addressable memory
  • the hash search is fixed due to the key length.
  • no mask can be implemented by a separate hash lookup module; route lookup because of the need for the longest mask matching, also need to use a separate route lookup module to achieve, usually route lookup can rely on TCAM to achieve.
  • hash entries and routing entries that each router needs to process are also rapidly expanding.
  • the hash entries and routing tables that the router needs to process The number of items is also different. In some scenarios, only a small number of hash tables are required, but a large number of routing tables are required. In other scenarios, a large number of hash entries are required and only a small number of routing entries are required. Some scenarios also require a large number of hash tables. And routing table entries.
  • the embodiment of the present invention provides a storage and searching method and device for supporting hash searching and route searching, and a storage medium, which can be configured to flexibly adjust the capacity ratio of the hash table and the routing table to satisfy more. The need for multiple application scenarios.
  • a plurality of hash table entry storage units and a plurality of routing table entry storage units are planned; each hash sub-table corresponds to a hash table entry storage unit, and the information to be stored of each level node of the multi-level route search corresponds to a routing entry storage unit;
  • the information to be stored in each hash sub-table is stored in the corresponding hash table entry storage unit, and the information to be stored in each level node of the multi-level route search is stored in the corresponding routing entry storage unit.
  • the multiple hash entry storage units and the multiple routing entry storage units are planned, including:
  • the method for searching for a hash search and a route lookup is provided by the embodiment of the present invention.
  • the hash table of the hash search is split into M hash sub-tables, M ⁇ 1; the search method includes:
  • the hash values to be searched for in the hash search are sequentially hashed by using the hash sub-tables split by the hash table, and at the same time, the multi-level route search is performed on the key values to be searched when the route is searched. .
  • the key values to be searched for in the hash search are sequentially hashed by using the hash sub-tables split by the hash table, including:
  • the multi-level route search is performed on the key value to be searched when the route is searched, including:
  • a multi-bit Trie tree route lookup is performed on the key value to be searched for when the route is searched.
  • the key value to be searched when receiving the hash search and the key value to be searched when the route is searched include: P key values to be searched when receiving the hash search and Q keys to be searched when the route is searched a value, P and/or Q is a natural number greater than one;
  • the hash value to be searched for in the hash search is sequentially hashed by using each hash sub-table split by the hash table, including: searching for the hash sequentially by using the corresponding hash sub-table The first key value to the Pth key value to be searched for hash search;
  • the multi-level route search for the key value to be searched for when the route is searched includes: searching for a route of a corresponding level from the first key value to the Qth key value to be searched for when the route is searched.
  • the storage device that supports the hash search and the route search is provided by the embodiment of the present invention, including: a split module, an acquisition module, and a planning module;
  • Splitting the module configured to split the pre-acquired hash table into multiple hash sub-tables
  • the obtaining module is configured to obtain information to be stored in each hash sub-list and information to be stored in each level node of the multi-level route search;
  • a planning module configured to allocate a plurality of hash table entry storage units and a plurality of routing table entry storage units; each of the hash sub-tables corresponds to a hash table entry storage unit, and each level of the multi-level route search The information to be stored of the node corresponds to a routing entry storage unit; each hash table entry storage unit is configured to store information to be stored in the corresponding hash sub-table, and each routing entry storage unit is configured to store multi-level routing search The information to be stored of the corresponding level node.
  • the planning module is further configured to determine, according to the data size of the information to be stored in each hash sub-table, the storage capacity of the corresponding hash table entry storage unit, and further configured to search for the corresponding location according to the multi-level route
  • the data size of the information to be stored at each level of the node determines the storage capacity of the corresponding routing entry storage unit.
  • the search device for supporting the hash search and the route search is provided by the embodiment of the present invention.
  • the hash table of the hash search is split into M hash sub-tables, M ⁇ 1; the device includes: a first receiving module and First lookup module; wherein
  • a first receiving module configured to receive a key value to be searched when the hash is searched and a key value to be searched when the route is searched;
  • a first search module configured to perform hash search on each of the hash sub-tables split by the hash table in sequence for the key value to be searched when the hash is searched; and configured to search for the hash
  • the key values to be searched are sequentially hashed by using the hash sub-tables split by the hash table, and the multi-level route search is performed on the key values to be searched when the route is searched.
  • the first search module is further configured to perform hash calculation on the key value to be searched during the hash search by using at least one hash function corresponding to the jth hash sub-table, and the initial value of j is Searching for each of the hash values obtained by the hash calculation in the j-th hash sub-table; determining whether the search result of the j-th hash sub-table exists and waiting for the hash search The hashed entry matching the searched key value, if it exists, will be looked up with the hash lookup The hash table matching key value is used as the hash search result, and the current hash search process is ended. Otherwise, it is judged whether the current j value is equal to M. If yes, the current hash search fails, otherwise, the value of j is Add 1 to continue the above process.
  • the first searching module is further configured to perform a multi-bit Trie tree route search on the key value to be searched when the route is searched.
  • the first receiving module is configured to receive P key values to be searched when the hash is searched and Q key values to be searched when the route is searched, and P and/or Q are natural numbers greater than 1;
  • the first search module is configured to perform a hash search on the first key value to the Pth key value to be searched during the hash search by using a corresponding hash sub-table, and configured to search for the route.
  • the route search of the corresponding level is performed.
  • the storage medium provided by the embodiment of the present invention stores a computer program for performing the foregoing storage and search methods for supporting hash search and route lookup.
  • the storage, searching method and device, and storage medium for supporting hash search and route lookup provided by the embodiments of the present invention respectively allocate respective storage units for hash search and route lookup according to requirements, and can simultaneously support hash search and route lookup.
  • the limited storage capacity of the router can be multiplexed to meet the different application requirements of the router for the hash table and the routing entry, and the configuration can flexibly adjust the capacity ratio of the hash table and the routing table, and reduce the router. Production costs to meet the needs of more application scenarios.
  • FIG. 1 is a flowchart of a storage method supporting both hash search and route lookup according to an embodiment of the present invention
  • FIG. 2 is a first flowchart of a method for searching for a hash search and a route lookup according to an embodiment of the present invention
  • FIG. 3 is a second flowchart of a method for searching for a hash search and a route lookup according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a storage device supporting a hash search and a route lookup according to an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram of a device for searching for a hash search and a route lookup according to an embodiment of the present invention
  • FIG. 6 is a flowchart of a first embodiment of a storage method for simultaneously supporting hash lookup and route lookup according to the present invention
  • FIG. 7 is a flowchart of a second embodiment of a storage method for simultaneously supporting hash lookup and route lookup according to the present invention.
  • FIG. 8 is a flowchart of a first embodiment of a search method for simultaneously supporting hash lookup and route lookup according to the present invention
  • FIG. 9 is a flowchart of a second embodiment of a search method for simultaneously supporting hash lookup and route lookup according to the present invention.
  • FIG. 10 is a flowchart of a hash search in a second embodiment of a search method for simultaneously supporting hash lookup and route lookup according to the present invention
  • 11 is a flowchart of route lookup in an embodiment of a search method for simultaneously supporting hash lookup and route lookup according to the present invention
  • FIG. 12 is a flow chart showing a parallel search and route lookup in parallel in a first embodiment and a second embodiment of a search method for supporting hash lookup and route lookup according to the present invention
  • FIG. 13 is a flowchart of a third embodiment of a search method for simultaneously supporting hash lookup and route lookup according to the present invention.
  • FIG. 14 is a structural block diagram of a parallel lookup in a third embodiment of a search method for simultaneously supporting hash lookup and route lookup according to the present invention.
  • FIG. 1 is a flowchart of a storage method for supporting hash search and route lookup according to an embodiment of the present invention. As shown in FIG. 1 , the method includes:
  • Step 100 Split the pre-acquired hash table into multiple hash sub-tables.
  • each hash sub-table corresponds to at least one hash function
  • the acquisition of the hash table has various existing implementation schemes, which will not be described in detail herein.
  • the hash table may be split into multiple hash sub-tables according to different storage locations included in the hash table; here, the storage location in the hash table represents the storage address of the corresponding key value;
  • the data capacity divided into multiple hash sub-tables may be the same or different.
  • Step 101 Acquire information to be stored of each hash sub-list and information to be stored of each level node of the multi-level route search.
  • each hash sub-table includes a key value composed of keywords of a fixed length.
  • multiple levels of route lookup processes need to be performed in sequence. After the current route search process ends, the next level of route lookup can be performed.
  • Step 102 Plan a plurality of hash entry storage units and a plurality of routing entry storage units; each hash sub-table corresponds to a hash entry storage unit, and each multi-level route looks for each level of the node to be processed.
  • the storage information corresponds to a routing entry storage unit.
  • the storage capacity of the corresponding hash table entry storage unit may be planned according to the data size of the information to be stored in each hash sub-table; or the corresponding each-level node to be stored may be searched according to the multi-level route.
  • the data size of the information determines the storage capacity of the corresponding routing entry storage unit.
  • Step 103 Store the information to be stored in each hash sub-table into the corresponding hash table item storage list.
  • the information to be stored in each level node of the multi-level route search is stored in the corresponding routing table entry storage unit.
  • the following describes the search method for supporting hash search and route lookup in the embodiment of the present invention in two cases.
  • the number of keys to be searched for when searching for hashes and the number of key values to be searched for when searching for routes are one.
  • FIG. 2 is a first flowchart of a method for searching for a hash search and a route lookup according to an embodiment of the present invention. As shown in FIG. 2, the method includes:
  • Step 200 Receive one key value to be searched when the hash is searched and one key value to be searched when the route is searched.
  • the key value refers to a keyword
  • the hash table of the hash search is split into M hash sub-tables, M ⁇ 1, and each hash sub-table corresponds to at least one hash function.
  • the router may receive the key value to be searched from the client or the server.
  • Step 201 Perform hash search on each hash sub-table split by the hash table in the key value to be searched in the hash search, and simultaneously perform more key values to be searched when the route is searched. Level route lookup.
  • the hash values to be searched for in the hash search are sequentially hashed by using the hash table split by the hash table.
  • the following methods may be used:
  • Method 1 Searching for each of the hash sub-tables split by the hash table by using the hash value to be searched for in the hash search, including:
  • Step A1 performing hash calculation on the key value to be searched during the hash search by using at least one hash function corresponding to the jth hash sub-table, and the initial value of j is 1; each obtained according to the hash calculation The hash value is searched in the jth hash subtable;
  • Step B1 determining whether the hash of the j-th hash sub-table exists and the hash The hash table item matching the key value to be searched when searching, if present, the hash table item matching the key value to be searched at the hash search is used as a hash search result, and the current hash search is ended. Flow, otherwise, perform step C1;
  • Step C1 It is judged whether the current j value is equal to M, and if so, the current hash search fails, otherwise, the value of j is incremented by 1, and the process returns to step A1.
  • Method 2 performing a hash search on each of the hash sub-tables split by the hash table in the key value to be searched for in the hash search, including:
  • Step A2 performing hash calculation on the key value to be searched during the hash search by using at least one hash function corresponding to the jth hash sub-table, and the initial value of j is 1; each obtained according to the hash calculation The hash value is searched in the jth hash subtable;
  • Step B2 determining whether there is a hash table item matching the key value to be searched when the hash search is found in the search result of the j-th hash sub-table, and if yes, waiting for the hash search
  • the searched key-value matching hash table entry is used as the hash search result of the j-th hash sub-table, and step C2 is performed, otherwise, the hash search result of the j-th hash sub-list is not, and step C2 is performed;
  • Step C2 It is judged whether the current j value is equal to M. If yes, the hash search results of the respective hash sub-tables are summarized into the current hash search result; otherwise, the value of j is incremented by 1, and the process returns to step A2.
  • the hash search result of each hash sub-table obtained in step C2 is a plurality of hash entries matching the key values to be searched at the hash search, then in the plurality of hash entries If the hash table matching the key value to be searched is selected, one hash table item is selected as the hash search result; if the hash search result of each hash sub-table obtained in step C2 is 1
  • the hash table entry matching the key value to be searched when the hash is searched, the hash table entry matching the key value to be searched at the hash search is the current hash search result.
  • performing multi-level route lookup on the key value to be searched during the route lookup includes: performing multi-bit Trie tree route lookup on the key value to be searched when the route is searched.
  • FIG. 3 is a second flowchart of a method for searching for a hash search and a route lookup according to an embodiment of the present invention. As shown in FIG. 3, the process includes:
  • Step 300 Receive P key values to be searched when the hash is searched and Q key values to be searched when the route is searched, and P and/or Q are natural numbers greater than 1.
  • the hash table of the hash search is split into M hash sub-tables, M ⁇ 1, and each hash sub-table corresponds to at least one hash function.
  • the router may receive the key value to be searched from the client or the server.
  • Step 301 Perform hash search on each of the P sub-keys to be searched for by the hash table in the hash search, and at the same time, Q to be searched for the route search.
  • the key value performs multi-level route lookup.
  • hashing the P key values to be searched for in the hash search by using each hash sub-list includes: using the corresponding hash sub-table to sequentially search for the hash when searching The first key value to the Pth key value are hashed.
  • the route search for each of the Q key values to be searched for in the route search includes: searching for the first key value to the Qth key value to be searched in the route search. Level route lookup.
  • the storage device includes a split module 400, an obtaining module 401, and a planning module 402.
  • the splitting module 400 is configured to split the pre-acquired hash table into a plurality of hash sub-tables, each hash sub-table corresponding to at least one hash function.
  • the obtaining module 401 is configured to obtain information to be stored of each hash sub-list and information to be stored of each level node of the multi-level route search.
  • the planning module 402 is configured to allocate multiple hash table entry storage units and multiple routing table entries.
  • a storage unit each hash sub-table corresponds to a hash table entry storage unit, and the information to be stored of each level node of the multi-level route search corresponds to one routing table entry storage unit; each hash table entry storage unit is used for storage
  • Corresponding hash table information to be stored, each routing table entry storage unit is configured to store information to be stored of the corresponding level node of the multi-level route lookup.
  • the planning module 402 is further configured to determine, according to the data size of the information to be stored in each hash sub-table, the storage capacity of the corresponding hash entry storage unit, and further configured to search each of the corresponding ones according to the multi-level routing
  • the data size of the information to be stored at the level node determines the storage capacity of the corresponding routing entry storage unit.
  • the splitting module 400, the obtaining module 401, and the planning module 402 can all be processed by a central processing unit (CPU), a microprocessor (Micro Processor Unit, MPU), and a digital signal processing located in a router. (Digital Signal Processor, DSP), or Field Programmable Gate Array (FPGA) implementation.
  • CPU central processing unit
  • MPU Micro Processor Unit
  • DSP Digital Signal Processor
  • FPGA Field Programmable Gate Array
  • FIG. 5 is a schematic structural diagram of a device for a search device that supports a hash search and a route lookup according to an embodiment of the present invention.
  • the search device includes: a first receiving module 500 and a first search module 501;
  • the number of keys to be searched for when searching for hashes and the number of key values to be searched for when searching for routes are one.
  • the first receiving module 500 is configured to receive a key value to be searched when the hash is searched and a key value to be searched when the route is searched.
  • the first search module 501 is configured to perform hash search on each of the hash sub-tables split by the hash table by using the hash value to be searched in the hash search, and configured to search for the hash
  • a multi-level route search is performed on the key value to be searched when the route is searched.
  • the place The hash table of the hash search is split into M hash sub-tables, M ⁇ 1, and each hash sub-table corresponds to at least one hash function.
  • the first implementation of the first lookup module 501 is the first implementation of the first lookup module 501:
  • the first searching module 501 is specifically configured to perform the following steps:
  • Step A3 performing hash calculation on the key value to be searched when the hash search is performed by using at least one hash function corresponding to the jth hash sub-table, and the initial value of j is 1; each obtained according to the hash calculation The hash value is searched in the jth hash subtable;
  • Step B3 determining whether there is a hash table item matching the key value to be searched when the hash search is found in the search result of the j-th hash sub-table, and if yes, waiting for the hash search Find the hash table matching the key value as the hash search result, and end the hash search process, otherwise, perform step C3;
  • Step C3 It is judged whether the current j value is equal to M, and if so, the current hash search fails, otherwise, the value of j is incremented by 1, and the process returns to step A3.
  • the first searching module 501 is specifically configured to perform the following steps:
  • Step A4 performing hash calculation on the key value to be searched when the hash search is performed by using at least one hash function corresponding to the jth hash sub-table, and the initial value of j is 1; each obtained according to the hash calculation The hash value is searched in the jth hash subtable;
  • Step B4 determining whether there is a hash table item matching the key value to be searched when the hash search is found in the search result of the j-th hash sub-table, and if yes, waiting for the hash search
  • the searched key-value matching hash table item is used as the hash search result of the j-th hash sub-table, and step C4 is performed, otherwise, the j-th hash sub-table hash search result is none, and step C4 is performed;
  • Step C4 It is judged whether the current j value is equal to M. If yes, the hash search results of the respective hash sub-tables are summarized into the current hash search result, otherwise, the value of j is incremented by 1, and the process returns to step A4.
  • the number of key values to be searched for when the hash is searched is greater than 1, and/or the number of key values to be searched for when the route is searched is greater than one.
  • the first receiving module 500 is configured to receive P key values to be searched when the hash is searched and Q key values to be searched when the route is searched, and P and/or Q are natural numbers greater than 1;
  • the first search module 501 is configured to wait for the hash search.
  • the searched P key values are sequentially hashed by using the hash sub-tables split by the hash table, and configured to sequentially use the hashes for the P key values to be searched for when the hash search is performed.
  • Each hash sub-table split into a table performs hash search, and performs multi-level route search on the Q key values to be searched when the route is searched; and uses P key values to be searched when the hash is searched
  • Performing a hash search on each of the hash sub-tables includes: performing hash search on the first key value to the P-th key value to be searched for when the hash search is performed by using the corresponding hash sub-table;
  • Each of the Q key values to be searched for each level of route search includes: performing a route search of the corresponding level from the first key value to the Qth key value to be searched for when the route is searched.
  • the hash table of the hash search is split into M hash sub-tables, M ⁇ 1, and each hash sub-table corresponds to at least one hash function.
  • the first receiving module 500 and the first searching module 501 may each be a Central Processing Unit (CPU), a Micro Processor Unit (MPU), and a digital signal processor located in the router. (Digital Signal Processor, DSP), or Field Programmable Gate Array (FPGA) implementation.
  • CPU Central Processing Unit
  • MPU Micro Processor Unit
  • DSP Digital Signal Processor
  • FPGA Field Programmable Gate Array
  • the apparatus for tracking the service signaling may also be stored in a computer readable storage medium if it is implemented in the form of a software function module and sold or used as a separate product.
  • the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product stored in a storage medium, including a plurality of instructions. Enabling a computer device (which may be a personal computer, server, or network device, etc.) to perform the methods of various embodiments of the present invention All or part of it.
  • the foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
  • program codes such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
  • an embodiment of the present invention further provides a computer storage medium, wherein a computer program is stored, and the computer program is used to execute a storage and search method for supporting hash search and route lookup in the embodiment of the present invention.
  • FIG. 6 is a flow chart of a first embodiment of a storage method for simultaneously supporting hash lookup and route lookup according to the present invention. As shown in Figure 6, the process includes:
  • Step 600 Acquire a hash table, and split the obtained hash table into multiple hash sub-tables.
  • each hash sub-table corresponds to at least one hash function
  • the hash function may be a CRC function or other functions; when the hash function uses the CRC function, the hash functions corresponding to the hash sub-tables are Different CRC polynomials can be used.
  • Step 601 Acquire information to be stored of each hash sub-list and information to be stored of each level node of the multi-bit Trie tree route search.
  • the information to be stored in each hash sub-table includes a hash key value composed of keywords of a fixed length; the information to be stored of each level node of the multi-bit Trie tree route search includes corresponding nodes of the level.
  • the prefix, and the child node pointer of each node of the level, the child node pointer points to the physical address of each child node with a parent-child relationship.
  • each level node is compared with the upper level node, and the prefix length of the information to be stored corresponding to the level node is greater than the upper level node, that is, The shorter the prefix length of the information to be stored, the closer the node corresponding to the information to be stored is to the top of the tree.
  • Step 602 Plan a plurality of hash table entry storage units and a plurality of routing table entry storage units; each hash sub-table corresponds to a hash table entry storage unit, and each multi-bit Trie tree route search finds each level node The information to be stored corresponds to a routing entry storage unit.
  • the first hash entry storage unit to the Mth hash entry storage unit and the first routing entry storage unit to the Lth routing entry may be planned in physical memory or other storage.
  • the storage unit, L is the number of stages of the multi-bit Trie tree route lookup, and the number of levels of the multi-bit Trie tree route lookup refers to the number of stages of the multi-bit Trie tree route lookup.
  • each hash table entry storage unit/routing table entry storage unit may be a virtual logical storage area, and each hash table entry storage unit is configured to store information to be stored in the hash sub-list, and each routing entry storage unit Information to be stored for storing each level of the multi-bit Trie tree route lookup.
  • the number of hash sub-tables generated by the step 600 splitting may be the same as or different from the number of levels of the multi-bit Trie tree route search.
  • the storage capacity of the corresponding hash table entry storage unit may be planned according to the data size of the information to be stored in each hash sub-table; or the corresponding multi-bit Trie tree route may also be used to search for the corresponding each level node.
  • the data size of the information to be stored is determined, and the storage capacity of the corresponding routing entry storage unit is determined.
  • the corresponding hash table entry storage may be set according to the capacity ratio of the hash table entry and the routing entry that the router needs to process. The unit and the routing entry storage unit can better adapt to the corresponding application requirements of the router.
  • the M hash sub-tables are sorted into the first hash sub-table according to the data of the information to be stored in each hash sub-table.
  • M hash sub-tables if the mth hash table entry storage unit is used to store the information to be stored of the Mth hash sub-table (m takes 1 to M), then the first hash entry storage unit to the Mth.
  • the storage capacity of the hash table entry storage units is arranged from small to large; for the same reason, if the kth routing table entry storage unit is used to store the information to be stored of the kth node of the multi-bit Trie tree route lookup ( k takes 1 to L), and the storage capacity of the first routing entry storage unit to the Lth routing entry storage unit is arranged from small to large.
  • the physical memory register can access all the multiple hash table entry storage units and multiple routing table entry storage units, so that multiple hash entries are planned on the physical memory.
  • the register may be used to dynamically adjust each of the hash table entry storage unit and each routing entry storage unit.
  • the dynamic adjustment process is: adjusting each according to actual conditions.
  • the hash table entry storage unit corresponding to the hash sub-table and adjust the routing table entry storage unit corresponding to the to-be-stored information of each level node of the multi-bit Trie tree route search, no matter what dynamic adjustment is made, two different The information to be stored in the hash sub-table is not in the same hash table entry storage unit, and the information to be stored in the different two-level nodes of the multi-bit Trie tree route search is not in the same routing table entry storage unit.
  • each hash entry storage unit/routing entry storage unit has an independent address access bus and a separate data bus.
  • the address Access to the bus and data bus are reusable.
  • the address access bus and data bus between them cannot be reused.
  • Step 603 The information to be stored in each hash sub-table is stored in the corresponding hash table entry storage unit, and the information to be stored in each level node of the multi-bit Trie tree route search is stored in the corresponding routing entry storage unit. .
  • each hash sub-table has a one-to-one correspondence with each hash table entry storage unit, that is, the information to be stored of each hash sub-table can only be stored in one hash table entry storage unit, and each hash table entry The storage unit can only store the information to be stored in one hash sub-table; similarly, the information to be stored of the nodes of the multi-bit Trie tree route search has a one-to-one correspondence with the storage unit of each routing table item, that is, the multi-bit Trie tree
  • the information to be stored at each level of the route lookup can be stored in only one routing entry storage unit, and each routing entry storage unit can only store the information to be stored in the primary node of the multi-level route lookup.
  • FIG. 7 is a second embodiment of a storage method for simultaneously supporting hash lookup and route lookup according to the present invention
  • the flow chart is shown in Figure 7. The process includes:
  • Step 700 Obtain a hash table, and split the obtained hash table into M hash sub-tables.
  • Each hash sub-table corresponds to N hash functions, and both M and N are greater than or equal to 1.
  • Step 701 The first hash sub-table is used as the current target hash sub-table; the information to be stored of each hash sub-list and the information to be stored of each level node of the multi-bit Trie tree route search are obtained.
  • Step 702 Plan a plurality of hash table entry storage units and a plurality of routing table entry storage units; each hash sub-table corresponds to a hash table entry storage unit, and each multi-bit Trie tree route search finds each level node The information to be stored corresponds to a routing entry storage unit.
  • Step 703 Store the to-be-stored information of each level node of the multi-bit Trie tree route search into the corresponding routing table entry storage unit.
  • the N hash functions corresponding to the current target hash sub-table are used to calculate the address of the information to be stored in the current target hash sub-table, and the vacancy is searched in the corresponding hash entry storage unit according to the calculated address. If found, the information to be stored in the current target hash sub-table is stored in the slot; if not found, step 704 is performed.
  • Step 704 Determine whether the current target hash sub-table is the Mth hash sub-table. If yes, go to step 705. Otherwise, update the current target hash sub-table to the next hash sub-table of the current target hash sub-table, and return. Go to step 703.
  • the current target hash subtable is updated to the next hash subtable of the current target hash subtable
  • the current target hash subtable is updated. For the third hash subtable.
  • Step 705 Determine whether the update number of the hash function of the current target hash sub-table is greater than a preset threshold. If yes, update the target hash sub-table of the current target to the previous hash sub-table of the current target hash sub-table, and re-execute In this step, otherwise, all the N hash functions corresponding to the current target hash sub-table are updated, and the process returns to step 703.
  • the current target hash subtable For example, updating the target hash subtable of the current target to the current target hash subtable A hash subtable, if the current target hash subtable is the fourth hash subtable, the current target hash subtable is updated to the third hash subtable.
  • steps 700 to 705 are substantially identical to steps 600 to 603, and the difference is in the update of the hash function and the storage process of the information to be stored in each hash subtable.
  • the key value to be searched in a hash search is found in any one of the hash sub-tables. Matching hash entries will not find matching hash entries in other hash subtables.
  • FIG. 8 is a flowchart of a first embodiment of a search method for simultaneously supporting hash lookup and route lookup according to the present invention. As shown in Figure 8, the process includes:
  • Step 800 Simultaneously receive the key value to be searched when the hash is searched and the key value to be searched when the route is searched.
  • the hash table of the hash lookup is split into M hash subtables, M ⁇ 1, and each hash subtable corresponds to at least one hash function.
  • the implementation method of the split M sub-tables is the same as the implementation method of the M hash sub-tables split in the storage method of the embodiment of the present invention, and the hash function corresponding to each hash sub-table and In the storage method of the embodiment of the present invention, the hash function corresponding to each hash sub-table is the same.
  • Step 801 According to the first method, the hash values to be searched for the hash search are sequentially hashed by using the M hash sub-tables split by the hash table, and at the same time, the route is searched for.
  • the searched key value performs a multi-bit Trie tree route lookup.
  • the hash values to be searched for the hash search are sequentially hashed by using the M hash sub-tables split by the hash table, including:
  • Step A1 performing a j-th level hash calculation, that is, using at least one hash function corresponding to the j-th hash sub-table to perform hash calculation on the key value to be searched during the hash search, and the initial value of j is 1;
  • the respective hash values (ie, corresponding addresses) calculated according to the hash are searched in the j-th hash sub-table.
  • Step B1 performing a j-th hash search, that is, determining a search result of the j-th hash sub-table Whether there is a hash table item matching the key value to be searched when the hash is searched, and if present, the j-th level hash search result is used as the final hash search result, and the j-th stage hash search result is A hash table entry matching the key value to be searched at the hash search, and ending the hash search process. Otherwise, step C1 is performed.
  • step B1 when each hash value (ie, corresponding address) obtained according to the hash calculation is searched in the j-th hash sub-table, each address obtained according to the hash is calculated at the jth The hash table is searched to obtain the corresponding hash table entry (ie, the hash key value).
  • Step C1 It is judged whether the current j value is equal to M, and if so, the current hash search fails, otherwise, the value of j is incremented by 1, and the process returns to step A1.
  • step 801 performing multi-bit Trie tree route lookup for the key value to be searched during the route lookup includes:
  • Step a1 Performing, according to the storage information of the first-level node of the multi-bit Trie tree route search, the first-level route search for the key value to be searched when the route is searched, and obtaining the first-level route search result;
  • Step b2 performing, according to the k-th route search result and the storage information of the k+1th node of the multi-bit Trie tree route search, performing the k+1th route search on the key value to be searched when the route is searched, The k+1th route search result is obtained, and the initial value of k is 1;
  • Step c2 determining whether k is equal to L-1, where L is the number of levels of the multi-bit Trie tree route search; if k is equal to L-1, the obtained L-level route search result is obtained by using the longest prefix matching principle. The final route lookup result.
  • Step 802 Output a hash search result and a route search result.
  • FIG. 9 is a second embodiment of a search method for simultaneously supporting hash lookup and route lookup according to the present invention Flow chart. As shown in Figure 9, the process includes:
  • the step 900 to the step 902 are substantially the same as the step 800 to the step 802. The difference is that, in the step 901, the key value to be searched for the hash search is sequentially split by the hash table according to the second method. M hash subtables for hash lookup.
  • the hash values to be searched for in the hash search are sequentially hashed by using the M hash sub-tables split by the hash table, including:
  • Step A2 performing a j-th level hash calculation, that is, using at least one hash function corresponding to the j-th hash sub-table to perform hash calculation on the key value to be searched during the hash search, and the initial value of j is 1; Searching, according to the hash calculation, each hash value in the j-th hash sub-table;
  • Step B2 performing a j-th level hash search, that is, determining whether there is a hash table item matching the key value to be searched when the hash search is found in the search result of the j-th hash sub-table, and if yes, The hash table item matching the key value to be searched at the hash search is used as the j-th level hash search result, and step C2 is performed, otherwise, the j-th stage hash search result is not, and step C2 is performed;
  • Step C2 It is judged whether the current j value is equal to M. If yes, the hash search results of the respective hash sub-tables are summarized into the current hash search result; otherwise, the value of j is incremented by 1, and the process returns to step A2.
  • the hash search/route lookup adopts a serial search mode, that is, both are adopted. Multi-level search process.
  • FIG. 10 is a flowchart of a hash search in a second embodiment of a search method for simultaneously supporting hash lookup and route lookup according to the present invention.
  • a multi-level serial search is used when performing hash search. The process, only after the hash search of the level is finished, the next level of hash search is performed until the M-th level hash search process ends; when the j-th stage hash search is performed, the j-th stage hash calculation is performed, according to The result of the j-th level hash calculation is hashed in the j-th hash sub-table to obtain the j-th level hash search result; the M-th stage hash search result is the final hash search result.
  • FIG. 11 is a schematic diagram of an embodiment of a search method for simultaneously supporting hash lookup and route lookup according to the present invention.
  • the embodiment of the present invention adopts a multi-level serial search process when performing route lookup; and performs multi-bit Trie tree routing on the key values to be searched for when the route is searched.
  • route comparison of the corresponding level that is, each key value in the storage information of the corresponding level node of the route search and the multi-bit Trie tree route search is matched according to the prefix. The principle is compared, and the corresponding level route search result is obtained.
  • both the hash search and the route lookup adopt a multi-level search mode.
  • it is necessary to find the storage information of each level of hash search/route lookup that is, The memory requirements of the above two lookup methods, hash lookup and route lookup, are very close. If the information to be stored of each hash sub-table and the information to be stored of each level node of the multi-bit Trie tree route search are pre-stored, respectively, the corresponding storage space is allocated for each level of hash search/route lookup, respectively.
  • these two completely different lookup methods are combined under hierarchical lookup logic, reducing the extra memory overhead.
  • FIG. 12 is a flow chart of parallel search and route lookup in the first embodiment and the second embodiment of the present invention, which simultaneously supports hash search and route lookup.
  • the number of levels of the hash search is the same as the number of the route search, and both are M.
  • the first storage area to the Mth are planned when the information to be stored of each hash sub-table and the information to be stored of each level node of the multi-bit Trie tree route search are stored in advance.
  • a storage area sorting the M hash sub-tables generated by the split into the first hash sub-table to the M-th hash sub-table according to the data of the information to be stored in each hash sub-table;
  • the hash table entry storage unit is configured to store the information to be stored of the Mth hash sub-table (m takes 1 to M), and the storage of the first hash entry storage unit to the Mth hash entry storage unit
  • the capacity is arranged from small to large; for the same reason, if the mth routing table entry storage unit is used to store the information to be stored of the mth node of the multi-bit Trie tree route lookup (m takes 1 to M), then The storage capacity of a routing table entry storage unit to the Mth routing entry storage unit is small.
  • the mth hash entry storage unit and the mth routing entry storage unit are located in the mth storage area; it can be seen that the first storage area to the Mth storage area can be arranged from small to large, thereby being reasonable Use storage space.
  • FIG. 13 is a flowchart of a third embodiment of a search method for simultaneously supporting hash lookup and route lookup according to the present invention. As shown in Figure 13, the process includes:
  • Step 1000 Receive two key values to be searched when the hash is searched and two key values to be searched when the route is searched.
  • the hash table of the hash search is split into M hash sub-tables, M ⁇ 1, and each hash sub-table corresponds to at least one hash function.
  • the implementation method of the split M sub-tables is the same as the implementation method of the M hash sub-tables split in the storage method of the embodiment of the present invention, and the hash function corresponding to each hash sub-table and In the storage method of the embodiment of the present invention, the hash function corresponding to each hash sub-table is the same.
  • Step 1001 Perform hash search on each of the two hash keys to be searched for in the hash search by using the hash table split by the hash table, and at the same time, two to be searched for the route search.
  • the key value performs a multi-bit Trie tree route lookup.
  • performing hash search by using each hash sub-table for the two key values to be searched during the hash search includes: using the corresponding hash sub-table for the first key value to be searched when the hash search is performed Performing a hash search, after obtaining the hash search result of the first key value of the corresponding hash sub-table to be searched, and using the corresponding hash sub-table for the second key value to be searched during the hash search Performing a hash search, and obtaining a hash search result of the second key value to be searched for the corresponding hash sub-table, and hashing the two key values to be searched for when the hash search is performed by using the corresponding hash sub-table
  • the process of searching ends, and at this time, the next hash table can be used to hash the two key values to be searched during the hash search.
  • the hash search process of the first key value is completed first, and the hash search process of the second key value is paused (can be regarded as a delay) Processing), after the hash search process of the first key value is finished, the hash search of the second key value is performed.
  • the first embodiment of the search method for supporting hash search and route lookup in the present invention is implemented by using the corresponding hash sub-table for hash search for each key value to be searched during the hash search. This has been explained in the second embodiment and will not be described again here.
  • each level of searching includes: performing multi-bit Trie tree route lookup on the first key value to be searched when the route is searched The corresponding level of the search, after obtaining the route search result of the first key value to be searched for by the route lookup, and then performing the search for the corresponding level of the multi-bit Trie tree route search for the second key value to be searched for the route lookup
  • the search process of the multi-bit Trie tree route search corresponding level is completed for the two key values to be searched during the route lookup.
  • the multi-bit Trie tree route can be searched for the next level of the search for the two key values to be searched at the route lookup. That is, when performing the multi-bit Trie tree route lookup for each level of the two key values to be searched for in the route lookup, the route search process of the first key value to be found when the route lookup is completed is completed first. At the same time, the route search process of the first key value to be searched at the time of the route lookup is suspended (it can be regarded as a delay process), and after the route search process of the first key value to be searched at the route search is completed, Then, the route search of the second key value to be searched when the route search is performed is performed.
  • each hash value to be searched for hash search is hashed by using each hash sub-table, or a multi-bit Trie tree route search is performed for each key value to be searched for when the route is searched.
  • the serial implementation is adopted. There is no two hash search instructions to access the same hash table entry storage unit, and there are no two route lookup instructions accessing the same routing entry storage unit. This will avoid the occurrence of a lookup conflict.
  • Step 1002 Output a hash search result of each key value to be searched when the hash is searched, and a route search result of each key value to be searched when the route is searched.
  • FIG. 14 is a structural block diagram of a parallel lookup in a third embodiment of a search method for simultaneously supporting hash lookup and route lookup according to the present invention.
  • the number of levels of hash lookup is the same as the number of ranks of route lookups.
  • M when the information to be stored of each hash sub-table and the information to be stored of each level node of the multi-bit Trie tree route search are pre-stored, the first storage area to the Mth storage area are planned; the generated M is split.
  • the hash sub-table is the first hash sub-table to the M-th hash sub-table, and the m-th hash table entry storage unit is used to store the information to be stored of the M-th hash sub-table (m takes 1 to M);
  • the mth routing entry storage unit is configured to store the to-be-stored information of the m-th node of the multi-bit Trie tree route lookup (m takes 1 to M), the mth hash entry storage unit and the mth
  • the routing entry storage unit is located in the mth storage area.
  • the third embodiment of the search method supporting both hash search and route lookup according to the present invention performs hash search and route lookup in parallel;
  • Each level of hash lookup/route lookup, according to the corresponding storage structure, can access the same storage area, thus reducing the extra memory overhead.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

L'invention concerne un procédé de stockage prenant en charge une recherche de hachage et une recherche de routage, simultanément. Le procédé consiste : à diviser une table de hachage pré-acquise en une pluralité de sous-tables de hachage (100) ; à acquérir des informations à stocker concernant chaque sous-table de hachage, et des informations à stocker concernant chaque étage de nœud de recherche de routage à étages multiples (101) ; à planifier une pluralité d'unités de stockage d'entrée de hachage et une pluralité d'unités de stockage d'entrée de routage, chaque sous-table de hachage correspondant à une unité de stockage d'entrée de hachage, et les informations à stocker concernant chaque étage de nœud de recherche de routage à étages multiples correspondant à une unité de stockage d'entrée de routage (102) ; et stocker les informations à stocker concernant chaque sous-table de hachage dans l'unité de stockage d'entrée de hachage correspondante, et stocker les informations à stocker concernant chaque étage de nœud de recherche de routage à étages multiples dans l'unité de stockage d'entrée de routage correspondante (103). L'invention concerne également un appareil de stockage, un procédé de recherche et un appareil de recherche prenant en charge une recherche de hachage et une recherche de routage, simultanément, ainsi qu'un support d'informations.
PCT/CN2015/092392 2015-05-18 2015-10-21 Procédés et appareils de stockage et de recherche prenant en charge une recherche de hachage et une recherche de routage, et support d'informations WO2016184029A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510252724.XA CN106302172A (zh) 2015-05-18 2015-05-18 同时支持哈希查找和路由查找的存储、查找方法和装置
CN201510252724.X 2015-05-18

Publications (1)

Publication Number Publication Date
WO2016184029A1 true WO2016184029A1 (fr) 2016-11-24

Family

ID=57319232

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/092392 WO2016184029A1 (fr) 2015-05-18 2015-10-21 Procédés et appareils de stockage et de recherche prenant en charge une recherche de hachage et une recherche de routage, et support d'informations

Country Status (2)

Country Link
CN (1) CN106302172A (fr)
WO (1) WO2016184029A1 (fr)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558423A (zh) * 2018-10-31 2019-04-02 深圳壹账通智能科技有限公司 一种基于键值对的数据查找方法、装置及设备
CN112750040A (zh) * 2021-01-13 2021-05-04 国泰君安证券股份有限公司 应用于内存交易系统实现线程安全的数据处理方法、系统、应用、装置、处理器及存储介质
CN113126888A (zh) * 2020-01-15 2021-07-16 伊姆西Ip控股有限责任公司 用于存储管理的方法、设备和计算机程序产品
CN113726660A (zh) * 2021-08-27 2021-11-30 西安微电子技术研究所 一种基于完美哈希算法的路由查找器和方法
CN114884877A (zh) * 2022-06-14 2022-08-09 电子科技大学 一种哈希表和HOT相结合的IPv6路由查找方法
WO2023179433A1 (fr) * 2022-03-23 2023-09-28 阿里巴巴(中国)有限公司 Procédé et appareil de stockage de table de flux, procédé et appareil de transfert de message, dispositif informatique et support

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947762A (zh) * 2017-08-16 2019-06-28 深圳市中兴微电子技术有限公司 一种哈希表管理方法及装置、计算机可读存储介质
CN110968267B (zh) * 2019-11-15 2024-05-31 北京乐我无限科技有限责任公司 数据管理方法、装置、服务器及系统
CN111460510B (zh) * 2020-04-17 2022-04-12 支付宝(杭州)信息技术有限公司 基于隐私保护确定相同业务数据的方法及装置
CN112367351A (zh) * 2020-09-29 2021-02-12 上海商泰汽车信息系统有限公司 用于多设备的文件共享方法及装置、目标服务器、客户端
CN113946152A (zh) * 2021-11-22 2022-01-18 中国重汽集团济南动力有限公司 一种全局路径规划方法、系统及低速商用无人车

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195853A (zh) * 2010-03-09 2011-09-21 杭州华三通信技术有限公司 一种保存位图的方法和装置
CN102194002A (zh) * 2011-05-25 2011-09-21 中兴通讯股份有限公司 哈希表的表项添加、删除、查找方法及哈希表存储装置
CN102930004A (zh) * 2012-10-29 2013-02-13 华为技术有限公司 哈希值存储方法、装置及芯片
US20150098470A1 (en) * 2013-10-04 2015-04-09 Broadcom Corporation Hierarchical hashing for longest prefix matching

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1173531C (zh) * 2003-01-17 2004-10-27 清华大学 同时支持路由查找、ip包分类、arp查找的方法及查找系统
CN1787477A (zh) * 2004-12-09 2006-06-14 北京三星通信技术研究有限公司 IPv6路由表的查找方法
CN101094179A (zh) * 2007-07-16 2007-12-26 中兴通讯股份有限公司 一种多级索引路由查找方法及装置
CN101604337B (zh) * 2009-07-13 2011-08-24 中兴通讯股份有限公司 一种哈希表项存储、查找装置及方法
CN101692651B (zh) * 2009-09-27 2014-12-31 中兴通讯股份有限公司 一种哈希查找表的方法和装置
CN104426774A (zh) * 2013-09-03 2015-03-18 中兴通讯股份有限公司 一种同时支持IPv4和IPv6的高速路由查找方法及装置
CN105791132B (zh) * 2014-12-17 2019-08-06 深圳市中兴微电子技术有限公司 一种基于多路搜索树路由查找的表项更新方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195853A (zh) * 2010-03-09 2011-09-21 杭州华三通信技术有限公司 一种保存位图的方法和装置
CN102194002A (zh) * 2011-05-25 2011-09-21 中兴通讯股份有限公司 哈希表的表项添加、删除、查找方法及哈希表存储装置
CN102930004A (zh) * 2012-10-29 2013-02-13 华为技术有限公司 哈希值存储方法、装置及芯片
US20150098470A1 (en) * 2013-10-04 2015-04-09 Broadcom Corporation Hierarchical hashing for longest prefix matching

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558423A (zh) * 2018-10-31 2019-04-02 深圳壹账通智能科技有限公司 一种基于键值对的数据查找方法、装置及设备
CN113126888A (zh) * 2020-01-15 2021-07-16 伊姆西Ip控股有限责任公司 用于存储管理的方法、设备和计算机程序产品
CN113126888B (zh) * 2020-01-15 2024-04-19 伊姆西Ip控股有限责任公司 用于存储管理的方法、设备和计算机程序产品
CN112750040A (zh) * 2021-01-13 2021-05-04 国泰君安证券股份有限公司 应用于内存交易系统实现线程安全的数据处理方法、系统、应用、装置、处理器及存储介质
CN112750040B (zh) * 2021-01-13 2023-07-14 国泰君安证券股份有限公司 应用于内存交易系统实现线程安全的数据处理方法、系统、应用、装置、处理器及存储介质
CN113726660A (zh) * 2021-08-27 2021-11-30 西安微电子技术研究所 一种基于完美哈希算法的路由查找器和方法
CN113726660B (zh) * 2021-08-27 2022-11-15 西安微电子技术研究所 一种基于完美哈希算法的路由查找器和方法
WO2023179433A1 (fr) * 2022-03-23 2023-09-28 阿里巴巴(中国)有限公司 Procédé et appareil de stockage de table de flux, procédé et appareil de transfert de message, dispositif informatique et support
CN114884877A (zh) * 2022-06-14 2022-08-09 电子科技大学 一种哈希表和HOT相结合的IPv6路由查找方法
CN114884877B (zh) * 2022-06-14 2023-02-03 电子科技大学 一种哈希表和HOT相结合的IPv6路由查找方法

Also Published As

Publication number Publication date
CN106302172A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
WO2016184029A1 (fr) Procédés et appareils de stockage et de recherche prenant en charge une recherche de hachage et une recherche de routage, et support d'informations
US10257092B2 (en) CCN routing using hardware-assisted hash tables
US9269411B2 (en) Organizing data in a hybrid memory for search operations
US7418505B2 (en) IP address lookup using either a hashing table or multiple hash functions
US8260799B2 (en) Method and apparatus for creating pattern matching state machine and identifying pattern
WO2015127721A1 (fr) Procédé et appareil de mise en correspondance de de données et support de stockage informatique
US10164884B2 (en) Search apparatus, search configuration method, and search method
WO2016201930A1 (fr) Procédé et dispositif de classification de trafic, et support de stockage
CN106789859B (zh) 报文匹配方法及装置
CN111868710A (zh) 搜索大规模非结构化数据的随机提取森林索引结构
CN112565090B (zh) 一种高速转发方法及装置
US10771386B2 (en) IP routing search
US20080133494A1 (en) Method and apparatus for searching forwarding table
CN101500012B (zh) 一种报文分类方法和系统
KR100999408B1 (ko) 해시트리를 이용한 url 검색방법
CN106302178B (zh) 一种路由查询方法及装置
CN112187743A (zh) 一种基于ip地址最长前缀的网络策略匹配方法及系统
JP5673667B2 (ja) パケット分類器、パケット分類方法、パケット分類プログラム
TW200414033A (en) Address search
JP2005242672A (ja) パターンマッチング装置および方法ならびにプログラム
CN107222401B (zh) 一种基于tcam的路由查找系统及其方法
CN118227518B (zh) 一种表项存储、查找方法、装置、网络设备及存储介质
Matoušek et al. Towards hardware architecture for memory efficient IPv4/IPv6 Lookup in 100 Gbps networks
CN107204926A (zh) 预处理cache的路由快速查找方法
JP2005242668A (ja) パターンマッチング装置および方法ならびにプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15892407

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15892407

Country of ref document: EP

Kind code of ref document: A1