Satellite-borne high-speed hybrid hash routing lookup method and satellite-borne high-speed hybrid hash routing lookup system
By introducing a hybrid hash routing search method in the satellite-borne system, and using multi-hash bucket parallel storage and multi-hash algorithm, the problems of slow routing search speed and single forwarding method in the existing technology are solved, and high-speed and accurate routing search is achieved, which is suitable for multi-user access and high switching rates of satellite-borne communication scenarios.
Patent Information
- Application Number
- CN202411932133.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2044-12-26
AI Technical Summary
The routing search method in the existing satellite-based system has a low table lookup rate and a single forwarding method, which limits the large-capacity service transmission of multi-beams and multiple users, and has the possibility of forwarding exceptions during the multi-type message transmission.
A satellite-based high-speed hybrid hash routing search method is proposed, and efficient search of multi-channel IP packet data streams is realized through search index preprocessing and hybrid hash routing search model. This method includes classification tables and multiple IP hash tables. It uses multi-hash bucket parallel storage and multihash algorithm, and cooperates with table lookup preprocessing and classification table simple query, which improves the routing search success rate and table lookup throughput rate.
It significantly improves the table lookup throughput rate and routing search success rate, reduces the probability of hash conflicts, and improves query accuracy. It is suitable for scenarios with multi-user access requirements for broadband communication satellites and high satellite-mounted switching rates.
Smart Images

Figure HDA0005210603560000011 
Figure HDA0005210603560000012 
Figure HDA0005210603560000021
Abstract
Description
Technical Field
[0001] The invention provides a satellite-borne high-speed hybrid hash routing search method for realizing high-speed IP routing search of satellite-borne products. Background Art
[0002] With the rapid development of broadband communication satellites, onboard routing and switching equipment is faced with more user access demands, higher switching rate requirements, and more complex routing and forwarding method requirements. Especially for flexible processing payloads, the routing search capability of onboard equipment is the basis for the scale and performance of flexible processing payloads.
[0003] The routing lookup method in the existing satellite system has a relatively low table lookup rate and a relatively single forwarding method. In the actual application of satellites, it limits the transmission of multi-beam multi-user large-capacity services and there is a possibility of forwarding anomalies during the transmission of multiple types of messages. Summary of the invention
[0004] In combination with the actual use requirements of existing satellites, the present invention proposes a satellite-borne high-speed hybrid hash routing search method.
[0005] To this end, the present invention provides a satellite-based high-speed hybrid hash routing search method comprising the following steps:
[0006] Step 1, search index preprocessing: including arbitrating and combining the multi-channel IP message data stream into two paths, the two paths are respectively the table search index A and the table search index B;
[0007] Step 2, hybrid hash routing search: including searching the two-way table lookup index A and the table lookup index B in the hybrid hash routing search model respectively;
[0008] The hybrid hash routing lookup model includes a classification table and multiple IP hash tables; the classification table uses <input port number, message type> as a table item index, and the table item structure includes a table item valid indication and an output port; the IP hash table uses the compression of the IP address as a table item index, and the table item structure includes a table item valid indication 1 bit, a source subnet mask 32 bits, a source IP address 32 bits, a destination subnet mask 32 bits, a destination IP address 32 bits and an output port 32 bits; and the table item indexes of each IP hash table are different;
[0009] The method for searching each route includes: inputting the table search index A (or table search index B) into the hybrid hash routing search model, first searching the classification table according to <input port number U0, message type T0>, if the index hits, outputting the output port information and generating a table search result; if it does not hit, performing an IP hash table search, the IP hash table search includes:
[0010] Step 1, respectively use two different hash functions to calculate the destination IP address of each IP hash table to obtain the corresponding address index value, and use more than two hash buckets to store multiple IP hash table items in parallel according to the obtained address index value; the parallel storage includes:
[0011] Step 1.1, according to the entry index of each IP hash table, read the valid indication of the corresponding entry of each hash bucket, and judge the valid indication of the entry from low to high according to the length of the IP hash table entry index;
[0012] Step 1.2, if the indication bit is invalid, the table entry is written to the corresponding address; if the indication bit is valid, the high-order address is read in sequence;
[0013] If an invalid indication is found and written, the storage process is considered complete. If all table entries are valid, the storage fails and the table lookup result is discarded;
[0014] Step 2, use two different hash functions to perform hash operations on the IP address of the lookup index A (or lookup index B), and each hash operation obtains the corresponding address index value;
[0015] Step 3, using the two address index values obtained in Step 2 to perform parallel searches on the entry indexes of multiple IP hash tables to obtain the search result of the table search index A (or table search index B); the parallel search includes:
[0016] Step 3.1, according to the entry index of the IP hash table, read the valid indication and entry content of each hash bucket corresponding to the entry;
[0017] Step 3.2, compare the table entry content with the destination IP address, and the table entry that matches is recorded as a hit table entry;
[0018] Step 3.3, perform AND operation on the valid indication and the hit table entry to obtain the search result;
[0019] Step 3.4, sort the search results in descending order according to the index length of the IP hash table entry, interpret the search results from low to high, and output the low-order search results first. If the search results are all 0, the search fails.
[0020] An optional solution is that the number of the IP hash tables is an integer multiple of 4; and the table entry indexes of the multiple IP hash tables are four categories, and the four categories of table entry indexes are 8-bit index A, 13-bit index B, 13-bit index C and 13-bit index D respectively.
[0021] An alternative solution is to use 2-10 hash buckets for parallel storage and search.
[0022] An optional solution is to select one path from the lookup index A and the lookup index B as the table entry configuration C in Step 1, use the table entry configuration C to dynamically update the table entry, and during the configuration process, the table entry configuration C takes precedence over the selected lookup index A or the lookup index B.
[0023] An optional solution is that the two different hash functions are a CRC-16 hash function and a CRC-CCITT hash function.
[0024] An optional solution is to truncate the high-bit address index value into a low-bit address index value in Step 2; and use the two low-bit address index values obtained in Step 2 to perform parallel searches on the entry indexes of multiple IP hash tables in Step 3.
[0025] An optional solution is that the classification table uses <input port number 5 bits, message type 5 bits> as a table entry index, and the table entry structure includes a table entry validity indication 1 bit and an output port 35 bits.
[0026] The present invention also provides a corresponding satellite-borne high-speed hybrid hash routing search system, which includes a search index preprocessing module and a hybrid hash routing search module; the search index preprocessing module is used to execute the above step 1; the hybrid hash routing search module is used to execute the above step 2.
[0027] Aiming at the characteristics of broadband communication satellite multi-user access requirements, high onboard exchange rate and complex forwarding mode, the present invention provides an onboard high-speed hybrid hash routing search method, which improves the routing search success rate and significantly improves the table lookup throughput rate on the basis of saving hardware storage resources.
[0028] The present invention reduces the probability of hash conflicts while maintaining the efficient search time complexity O(1) through segmented parallel search of IP routing tables, parallel search of multiple hash buckets and multi-hash algorithms, in conjunction with table lookup preprocessing and a simple query method for classified tables. It improves the probability of successful storage of hash table items while saving hardware storage resources, and significantly improves query accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Figure 1 This is a flow chart of the hybrid hash routing lookup of the present invention.
[0030] Figure 2 It is a schematic diagram of the IP address segmentation principle of the present invention.
[0031] Figure 3 Schematic diagram of the principle of satellite-borne high-speed hybrid hash routing search in an embodiment of the present invention.
[0032] Figure 4 FIG. 1 is a functional diagram of a dual-port BRAM in an embodiment of the present invention.
[0033] Figure 5 Schematic diagram of the structure of a hybrid hash routing lookup model in an embodiment of the present invention. DETAILED DESCRIPTION
[0034] Unless otherwise specified, the scientific and technical terms used herein are understood according to those of ordinary skill in the relevant art.
[0035] In a specific solution, the present invention can be implemented based on existing hardware such as FPDA, and the hardware implementation of the entire solution is completed by coordinating memory, communication interface and bus, and upper-layer CPU configuration management. In a specific solution, a classification table and an IP hash table are constructed, and different table item search indexes and table item contents are divided for different types of routing table items. The hardware structure of the hybrid hash search circuit is selected according to the number of table items, bit width and index address length and in combination with hardware resource constraints.
[0036] The following is a further detailed description of a satellite-based high-speed hybrid hash routing lookup method provided in an embodiment of the present application in conjunction with the accompanying drawings.
[0037] Example:
[0038] Based on the solution of the present invention, the hash routing search method of this embodiment specifically includes the following steps:
[0039] Step 1: Lookup index preprocessing: Combine Figure 1 As shown, the keywords <source IP address S0, source IP address mask M0, destination IP address D0, destination IP address mask N0, inbound port number U0, priority P0, message type T0> are extracted from the IP message data (IP lookup index flow) entering the forwarding engine to form a multi-channel IP lookup index flow, and the multi-channel table lookup data is divided, wherein half of the number of channels corresponds to the table lookup index A, and the other half of the number of channels corresponds to the table lookup index B;
[0040] Step 2, then input the two-way table lookup index into the hybrid hash lookup model to perform table item lookup, and obtain the corresponding lookup results (table lookup results A and B) respectively; after obtaining the table lookup results, return the table lookup results to the corresponding channel according to the inbound port number U0 in the IP lookup index flow and form an IP lookup result flow: see Figure 1 As shown;
[0041] Based on the solution of the present invention, the classification table of this embodiment uses <input port number 5 bits, message type 5 bits> as the table entry index, and the table entry structure includes a table entry valid indication 1 bit and an output port 35 bits;
[0042] The hybrid hash routing lookup model of this embodiment includes a classification table and four IP hash tables; the table item indexes of the four IP hash tables are 8-bit index A, 13-bit index B, 13-bit index C and 13-bit index D respectively;
[0043] In another scheme, the number of IP hash tables in the hybrid hash routing lookup model of the present invention is a multiple of 4. Taking 8 IP hash tables as an example, the method for obtaining the corresponding table entry index is: combining Figure 2 As shown, the IP address is segmented according to the high 8 bits, high 16 bits, high 24 bits and high 32 bits, and table entries are established for the four types of IP addresses, high 8 bits, high 16 bits, high 24 bits and high 32 bits, respectively, and two different hash functions (also called hash algorithms HASH(k)) are used to generate two groups of IP address indexes, such as using the CRC-16 function: G(x)=X 16 +X 15 +X 2 +1 and CRC-CCITT function: H(x)=X 16 +X 12 +X 5 +1 generates two groups of IP address indexes; obtain 8-bit index A1 / A2 (not hashed, directly use 8 bits of IP address), 13-bit index B1 / B2, 13-bit index C1 / C2, 13-bit index D1 / D2 respectively; thus, the table indexes of the 8 IP hash tables are 8-bit index A1, 8-bit index A2, 13-bit index B1, 13-bit index B2, 13-bit index C1, 13-bit index C2, 13-bit index D1 and 13-bit index D2 respectively;
[0044] For each path search method, see Figure 3 As shown, first search the classification table according to <input port number U0, message type T0>, if the index hits, the port is output and the table lookup result is generated, if not, the IP hash table is searched;
[0045] In Step 1 of this embodiment, the multiplexing table entry index A is used as the table entry configuration C for table entry configuration update, such as Figure 4 As shown, the hybrid hash routing lookup model of this embodiment is implemented using dual-port RAM hardware resources. In addition to the two-way table lookup index, the table item configuration management interface completes the dynamic update of the table item. Considering the reasonable allocation of resources, one interface of the RAM reuses the table lookup index A and the table item configuration C, and during use, it is ensured that the table item configuration C priority P(C)> the table lookup index A priority P(A);
[0046] At the same time, this embodiment uses 5 hash buckets to store 4 IP hash table structures in parallel. For details, see Figure 5 As shown;
[0047] The two different hash functions used in this embodiment are CRC-16 hash function and CRC-CCITT hash function to perform hash operation on the IP address of table lookup index A (or table lookup index B) to obtain the corresponding address index value; the address index value obtained in this embodiment is 16 bits, and the lower 13 bits of the generated 16-bit index value are intercepted as the corresponding address index; in Step 3, the two lower-bit address index values obtained in Step 2 are used to perform parallel searches on the table entry indexes of multiple IP hash tables;
[0048] In Step 3 of this embodiment, four table item indexes are used to search the corresponding table items in parallel, and the table item content in the corresponding address bit of the table item is searched using the index, and the table item content is compared with the search input content to see if they are consistent. If they are consistent, the search results such as the output port in the table item are output; if they are inconsistent, the table item miss result is output and other tables are searched;
[0049] The search results for each entry are output in descending order of IP address length (index D->C->B->A). If all search results are 0, the search fails.
[0050] Although the present invention has been disclosed as above in the form of a preferred embodiment, it is not intended to limit the present invention. Any person skilled in the art may make possible changes and modifications to the technical solution of the present invention by using the methods and technical contents disclosed above without departing from the spirit and scope of the present invention. Therefore, any simple modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solution of the present invention shall fall within the protection scope of the technical solution of the present invention.
Claims
1. A high-speed hybrid hash routing search method on board, characterized in that: The steps include: Step 1, search index preprocessing: including arbitrating and combining the multi-channel IP message data stream into two paths, the two paths are respectively the table search index A and the table search index B; Step 2, hybrid hash routing search: including searching the two-way table lookup index A and the table lookup index B in the hybrid hash routing search model respectively; The hybrid hash routing lookup model includes a classification table and multiple IP hash tables; the classification table uses <input port number, message type> as a table item index, and the table item structure includes a table item valid indication and an output port; the IP hash table uses the compression of the IP address as a table item index, and the table item structure includes a table item valid indication 1 bit, a source subnet mask 32 bits, a source IP address 32 bits, a destination subnet mask 32 bits, a destination IP address 32 bits and an output port 32 bits; and the table item indexes of each IP hash table are different; The method for searching each route includes: inputting the table lookup index A or the table lookup index B into the hybrid hash routing search model, first searching the classification table according to <input port number U0, message type T0>, if the index hits, outputting the output port information and generating a table lookup result; if it does not hit, performing an IP hash table search, the IP hash table search includes: Step 1, respectively use two different hash functions to calculate the destination IP address of each IP hash table to obtain the corresponding address index value, and use more than two hash buckets to store multiple IP hash table items in parallel according to the obtained address index value; the parallel storage includes: Step 1.1, according to the entry index of each IP hash table, read the valid indication of the corresponding entry of each hash bucket, and judge the valid indication of the entry from low to high according to the length of the IP hash table entry index; Step 1.2, if the indication bit is invalid, the table entry is written to the corresponding address; if the indication bit is valid, the high-order address is read in sequence; If an invalid indication is found and written, the storage process is considered complete. If all table entries are valid, the storage fails and the table lookup result is discarded; Step 2, use two different hash functions to perform hash operations on the IP address of the lookup index A or the lookup index B, and each hash operation obtains the corresponding address index value; Step 3, using the two address index values obtained in Step 2 to perform parallel searches on the entry indexes of multiple IP hash tables to obtain the search results of the table lookup index A or the table lookup index B; the parallel search includes: Step 3.1, according to the entry index of the IP hash table, read the valid indication and entry content of each hash bucket corresponding to the entry; Step 3.2, compare the table entry content with the destination IP address, and the table entry that matches is recorded as a hit table entry; Step 3.3, perform AND operation on the valid indication and the hit table entry to obtain the search result; Step 3.4, sort the search results in descending order according to the index length of the IP hash table entry, interpret the search results from low to high, and output the low-order search results first. If the search results are all 0, the search fails.
2. The satellite-borne high-speed hybrid hash routing search method according to claim 1, characterized in that: The number of the IP hash tables is an integer multiple of 4; and the table entry indexes of the multiple IP hash tables are four categories, and the four categories of table entry indexes are 8-bit index A, 13-bit index B, 13-bit index C and 13-bit index D respectively.
3. The satellite-borne high-speed hybrid hash routing search method according to claim 1, characterized in that: Use 2-10 hash buckets for parallel storage and search.
4. The satellite-borne high-speed hybrid hash routing search method according to claim 1, characterized in that: In Step 1, one path is selected from the table lookup index A and the table lookup index B as the table item configuration C, and the table item configuration C is used to dynamically update the table item, and the table item configuration C takes precedence over the selected table lookup index A or table lookup index B during the configuration process.
5. The satellite-borne high-speed hybrid hash routing search method according to claim 1, characterized in that: The two different hash functions are a CRC-16 hash function and a CRC-CCITT hash function.
6. The satellite-borne high-speed hybrid hash routing search method according to claim 1, characterized in that: In Step 2, the high-bit address index value is truncated into a low-bit address index value; in Step 3, the two low-bit address index values obtained in Step 2 are used to perform parallel searches on the entry indexes of multiple IP hash tables.
7. The satellite-borne high-speed hybrid hash routing search method according to claim 1, characterized in that: The classification table uses <input port number 5 bits, message type 5 bits> as the table entry index, and the table entry structure includes a table entry valid indication 1 bit and an output port 35 bits.
8. A high-speed hybrid hash routing lookup system on board, characterized in that: The system includes a search index preprocessing module and a hybrid hash routing search module; The search index preprocessing module is used to execute step 1 described in claim 1; the hybrid hash routing search module is used to execute step 2 described in claim 1.
Citation Information
Patent Citations
Route prefix storing, matching and updating method and device based on names
CN103428093A
Storage method, searching method, storage device and searching device for simultaneously supporting Hash search and route search
CN106302172A
Satellite-borne fast routing searching system combining longest prefix matching and precise matching
CN106549872A
Addressing and routing method suitable for global low-orbit satellite constellation
CN109547096A
Fast routing lookup method and system using Hash algorithm
CN118337701A