A satellite-borne high-speed hybrid hash routing lookup method and system

By employing a spaceborne high-speed hybrid hash routing lookup method, which utilizes lookup index preprocessing and a hybrid hash routing lookup model, the problems of low table lookup rate and single forwarding method in existing technologies are solved, enabling efficient multi-user high-capacity service transmission and accurate forwarding of multiple types of packets.

CN119922127BActive Publication Date: 2025-11-04XIAN INSTITUE OF SPACE RADIO TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411932133.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-11-04
Estimated Expiration
2044-12-26

AI Technical Summary

Technical Problem

Existing spaceborne route lookup methods have shortcomings in terms of lookup rate and forwarding mode, which limit the transmission of high-capacity services for multi-beam, multi-user, and multi-type messages and may cause forwarding anomalies in the transmission of various message types.

Method used

A high-speed hybrid hash routing lookup method on satellite is adopted. Through lookup index preprocessing and hybrid hash routing lookup model, including a classification table and multiple IP hash tables, different hash functions are used for parallel storage and lookup. Combined with table lookup preprocessing and simple lookup of classification table, the lookup success rate and throughput are improved.

Benefits of technology

While conserving hardware storage resources, it significantly improves the success rate of route lookup and table lookup throughput, reduces the probability of hash collisions, and improves query accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119922127B_ABST
    Figure CN119922127B_ABST
Patent Text Reader

Abstract

The application discloses a kind of spaceborne high-speed hybrid hash routing lookup method and system.For improving routing lookup efficiency, pre-processing is set in the front end of core routing lookup module, and multi-channel IP message data stream arbitration is combined into two ways, routing lookup is carried out simultaneously in two ways, and finally the result of routing lookup is distributed to corresponding channel;Secondly, the hybrid hash routing lookup mode of routing lookup process is combined with segmented parallel lookup, multiple hash bucket parallel lookup and multiple hash algorithm lookup, and each result is filtered and output according to table item priority after obtaining the query result.The application combines the characteristics of hash table lookup time complexity O (1), has good query performance, effectively reduces the probability of hash conflict, greatly improves the probability of successful storage of hash table item on the basis of saving hardware storage resources, greatly improves the query accuracy, and solves the demand of high-speed IP routing lookup on satellite product.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application provides a kind of satellite-borne high-speed hybrid hash routing search method, for realizing the high-speed IP routing search of satellite-borne product. BACKGROUND

[0002] With the rapid development of broadband communication satellite, satellite-borne routing switching equipment faces more user access demand, higher switching rate requirement, more complex routing forwarding mode requirement, especially for flexible processing class load, the routing search capability of satellite-borne equipment is the basis of flexible processing class load scale and performance.

[0003] The routing search method in the existing satellite-borne system has relatively low table search rate and relatively single forwarding mode, which limits the multi-beam multi-user large capacity service transmission in satellite actual application process and has the possibility of forwarding exception in the process of multi-type message transmission. SUMMARY

[0004] In combination with the actual use demand of existing satellite, the application provides a kind of satellite-borne high-speed hybrid hash routing search method.

[0005] Therefore, the satellite-borne high-speed hybrid hash routing search method provided by the application comprises the following steps:

[0006] Step 1, index preprocessing: including arbitrating and combining the multi-channel IP message data stream into two paths, two paths are table index A and table index B respectively;

[0007] Step 2, hybrid hash routing search: including searching the two table index A and table index B in the hybrid hash routing search model respectively;

[0008] The hybrid hash routing search model comprises a classification table and a plurality of IP hash tables; the classification table takes <entry port number, message type> as table item index, and the table item structure comprises table item effective indication and exit port; the IP hash table takes the compression of IP address as table item index, and the table item structure comprises table item effective indication 1 bit, source subnet mask 32 bit, source IP address 32 bit, destination subnet mask 32 bit, destination IP address 32 bit and exit port 32 bit; and the table item indexes of each IP hash table are different;

[0009] Each search method comprises: inputting the table index A (or table index B) into the hybrid hash routing search model, first searching the classification table according to <entry port number U0, message type T0>, if the index hits, outputting the exit port information and generating the table search result; if it does not hit, IP hash table search is performed, the IP hash table search comprises:

[0010] Step1, using two different hash functions to operate on the destination IP address of each IP hash table respectively, obtaining the corresponding address index value, and using two or more hash buckets to store multiple IP hash table entries in parallel according to the obtained address index value; the parallel storage includes:

[0011] Step1.1, according to the table entry index of each IP hash table, reading the corresponding table entry indication of each hash bucket, and judging the table entry indication from low bit to high bit according to the IP hash table entry index length;

[0012] Step1.2, if the indication bit is invalid, write the table entry into the corresponding address, and if the indication bit is valid, judge the high bit address in sequence;

[0013] If an invalid indication is found and written, it is considered that the storage process is completed, and if all table entries are valid, the table lookup result is discarded due to storage failure;

[0014] Step2, using two different hash functions to hash the IP address of lookup index A (or lookup index B) respectively, and obtaining the corresponding address index value for each hash operation;

[0015] Step3, using the two address index values obtained in Step2 to perform parallel lookup on the table entry index of multiple IP hash tables, and obtaining the lookup result of lookup index A (or lookup index B); the parallel lookup includes:

[0016] Step3.1, according to the table entry index of the IP hash table, reading the valid indication and table entry content of each hash bucket corresponding table entry;

[0017] Step3.2, comparing the table entry content with the destination IP address, and recording the hit table entry as the hit table entry;

[0018] Step3.3, performing AND operation on the valid indication and the hit table entry to obtain the lookup result;

[0019] Step3.4, arranging the lookup result in descending order according to the IP hash table entry index length, and judging the lookup result from low bit to high bit, and outputting the low bit lookup result first, and if the lookup result is all 0, the lookup fails.

[0020] An optional scheme is that the number of IP hash tables is an integer multiple of 4; and the table entry index of multiple IP hash tables is four types, and the four types of table entry index are 8bit index A, 13bit index B, 13bit index C and 13bit index D.

[0021] An optional scheme is to use 2-10 hash buckets for parallel storage and lookup.

[0022] Optionally, in Step 1, one of the table index A and the table index B is selected as the table item configuration C, the table item is dynamically updated by using the table item configuration C, and the table item configuration C is prior to the selected table index A or table index B in the configuration process.

[0023] Optionally, the two different hash functions are CRC-16 hash function and CRC-CCITT hash function.

[0024] Optionally, in Step 2, the high-bit address index value is truncated to a low-bit address index value; and in Step 3, the two low-bit address index values obtained in Step 2 are used to perform parallel searching on the table item indexes of the plurality of IP hash tables.

[0025] Optionally, the classification table takes <5-bit input port number, 5-bit message type> as a table item index, and the table item structure includes 1-bit table item validity indication and 35-bit output port.

[0026] The application also provides a corresponding on-board high-speed hybrid hash routing search system, which comprises a search index preprocessing module and a hybrid hash routing search module; the search index preprocessing module is used to perform Step 1; and the hybrid hash routing search module is used to perform Step 2.

[0027] The application is targeted at the characteristics of broadband communication satellite multi-user access demand, high on-board switching rate and complex forwarding mode, and provides an on-board high-speed hybrid hash routing search method, which improves the routing search success rate on the basis of saving hardware storage resources and significantly improves the table search throughput.

[0028] The application reduces the probability of hash collision while maintaining the high-efficiency search of the hash search time complexity O(1), improves the probability of hash table item storage success on the basis of saving hardware storage resources, and significantly improves the search accuracy. BRIEF DESCRIPTION OF DRAWINGS

[0029] Figure 1 The figure is a hybrid hash routing flowchart of the application.

[0030] Figure 2 The figure is an IP address segmentation principle diagram of the application.

[0031] Figure 3 The figure is an on-board high-speed hybrid hash routing principle diagram in the embodiment of the application.

[0032] Figure 4 The figure is a dual-port BRAM function diagram in the embodiment of the application.

[0033] Figure 5 Figure 1 is a structural schematic diagram of a mixed hash routing lookup model in an embodiment of the present application. DETAILED DESCRIPTION

[0034] Unless otherwise defined, scientific and technical terms used herein are understood to have the same meaning as is commonly understood by one of ordinary skill in the art to which this application belongs.

[0035] In specific solutions, the present application can be implemented based on existing hardware such as FPDA, in cooperation with a memory, a communication interface and a bus, an upper CPU configuration management to complete hardware implementation of the entire solution. In specific solutions, a classification table and an IP hash table are constructed, different table item lookup indexes and table item contents are divided for different types of routing table items, and a hardware structure of a mixed hash lookup circuit is selected according to the number of each table item, the bit width and the index address length and in combination with hardware resource constraints.

[0036] The following further describes in detail a kind of satellite high-speed mixed hash routing lookup method provided by the embodiment of the present application in conjunction with the drawings of the specification.

[0037] Embodiment:

[0038] On the basis of the scheme of the present application, the hash routing lookup method of the embodiment specifically includes the following steps:

[0039] Step 1, table index preprocessing: in combination with Figure 1 As shown in the figure, the IP packet data (IP lookup index flow) entering the forwarding engine is extracted for the key <source IP address S0, source IP address mask M0, destination IP address D0, destination IP address mask N0, ingress port number U0, priority P0, packet type T0>, forming a multi-way IP lookup index flow, and the multi-way table data is divided, where half the number of channels corresponds to table index A, and the other half the number of channels corresponds to table index B;

[0040] Step 2, then input the two-way table index into the mixed hash lookup model for table item lookup, respectively, to obtain the corresponding lookup results (table lookup results A and B); after obtaining the table lookup results, the table lookup results are returned to the corresponding channel according to the ingress port number U0 in the IP lookup index flow and form an IP lookup result flow: see Figure 1 As shown in the figure;

[0041] Based on the scheme of the present application, the classification table of the embodiment takes <ingress port number 5bit, packet type 5bit> as the table item index, and the table item structure includes a table item validity indication 1bit and an egress port 35bit;

[0042] The mixed hash routing lookup model of the embodiment includes a classification table and four IP hash tables; the table entry indexes of the four IP hash tables are respectively 8-bit index A, 13-bit index B, 13-bit index C and 13-bit index D;

[0043] In another aspect, the number of IP hash tables in the mixed hash routing lookup model of the present application is a multiple of four, for example, eight IP hash tables, and the corresponding table entry index acquisition method is as follows: combining Figure 2 As shown in the figure, the IP address is segmented according to 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 of high 8 bits, high 16 bits, high 24 bits and high 32 bits, and two groups of IP address indexes are generated by using two different hash functions (also referred to as hash algorithm HASH(k)), such as using 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; 8-bit index A1 / A2 (not hashed, directly using IP address 8 bits), 13-bit index B1 / B2, 13-bit index C1 / C2 and 13-bit index D1 / D2 are obtained; and the table entry indexes of the eight IP hash tables are respectively 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.

[0044] Wherein, the lookup method of each path is described in detail in Figure 3 As shown in the figure, first, the classification table is looked up according to <input port number U0, message type T0>, and if the index hits, the output port is outputted and the lookup result is generated, and if the index does not hit, the IP hash table lookup is performed.

[0045] In Step 1 of the embodiment, the table entry index A is reused as the table entry configuration C for table entry configuration update, as shown in the figure. Figure 4 As shown in the figure, the mixed hash routing lookup model of the embodiment is implemented by using dual-port RAM hardware resources, and in addition to the two lookup indexes, the table entry configuration management interface completes the dynamic update of the table entry. Considering the reasonable allocation of resources, one interface of the RAM reuses the lookup index A and the table entry configuration C, and in the use process, the priority P(C) of the table entry configuration C is ensured to be higher than the priority P(A) of the lookup index A.

[0046] Meanwhile, the embodiment uses five hash buckets to perform parallel storage on the four IP hash table structures, as shown in the figure. Figure 5 ​

[0047] The two different hash functions used in this embodiment are CRC-16 hash function and CRC-CCITT hash function. The IP address of the lookup index A (or the lookup index B) is hashed 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 taken as the corresponding address index. In Step 3, the two low-bit address index values obtained in Step 2 are used to perform parallel lookup on the table entry indexes of multiple IP hash tables;

[0048] In Step 3 of this embodiment, four table entry indexes are used to perform parallel lookup on the corresponding table entries. The table entry content in the address bit corresponding to the index lookup table entry is compared with the lookup input content. If they are consistent, the lookup result such as the output port in the table entry is output. If they are inconsistent, the table entry miss result is output and other tables are looked up.

[0049] The lookup results of each table entry are output in descending order of IP address length (index D->C->B->A). If the lookup results are all 0, the lookup fails.

[0050] Although the present application has been disclosed with the above preferred embodiments, it is not intended to limit the present application, and any person skilled in the art can make possible changes and modifications to the technical solutions of the present application by using the disclosed methods and technical contents without departing from the spirit and scope of the present application. Therefore, any simple modification, equivalent change and modification made to the above embodiments according to the technical essence of the present application, which does not deviate from the technical solutions of the present application, shall fall within the protection scope of the present application.

Claims

1. A spaceborne high-speed hybrid hash routing lookup method, characterized in that, Includes the following steps: Step 1, lookup index preprocessing: This includes arbitrarily combining the multi-channel IP packet data stream into two paths, namely lookup index A and lookup index B; Step 2, Hybrid Hash Routing Lookup: This includes performing lookups on both lookup indexes A and B in the hybrid hash routing lookup model. The hybrid hash routing lookup model includes a classification table and multiple IP hash tables. The classification table uses <ingress port number, packet type> as its entry index, and the entry structure includes an entry validity indicator and an egress port. The IP hash tables use compressed IP addresses as their entry index, and the entry structure includes a 1-bit entry validity indicator, a 32-bit source subnet mask, a 32-bit source IP address, a 32-bit destination subnet mask, a 32-bit destination IP address, and a 32-bit egress port. Each IP hash table has a different entry index. The hash tables are updated using the following method: two different hash functions are used to calculate the destination IP address of each IP hash table to obtain the corresponding address index value. Based on the obtained address index value, multiple IP hash table entries are stored in parallel using two or more hash buckets. The parallel storage includes: Based on the entry index of each IP hash table, read the valid indication of the corresponding entry for 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; If the indicator bit is invalid, the entry is written to the corresponding address; if the indicator bit is valid, the high-order address bits are read in sequence. If an invalid instruction is found and written, the stored procedure is considered complete; if all entries are valid, the storage fails and is discarded. Each lookup method includes: inputting lookup index A or lookup index B into the hybrid hash routing lookup model; firstly, searching the classification table based on <ingress port number U0, packet type T0>; if the index is matched, outputting the port information and generating the lookup result; if not matched, performing an IP hash table lookup, which includes: Step 2: Use two different hash functions to perform hash operations on the IP address of lookup table index A or lookup table index B respectively, and each hash operation will yield the corresponding address index value; Step 3: Using the two address index values ​​obtained in Step 2, perform parallel searches on the table entries of multiple IP hash tables to obtain the search result of table index A or table index B; the parallel search includes: Step 3.1: Based on the entry index of the IP hash table, read the valid indication and entry content of the corresponding entry for each hash bucket; Step 3.2: Compare the contents of the table entries with the destination IP address. Entries that match are recorded as hit entries. Step 3.3: Perform a bitwise AND operation between the valid indications and the matched entries to obtain the search results; Step 3.4: Sort the search results in descending order of the IP hash table entry index length, and judge the search results from low digit to high digit. Prioritize outputting the search results of low digits. If all search results are 0, the search fails.

2. The spaceborne high-speed hybrid hash routing lookup method according to claim 1, characterized in that, The number of IP hash tables is a multiple of 4; and the table entry indexes of the multiple IP hash tables are of four types, namely 8-bit index A, 13-bit index B, 13-bit index C and 13-bit index D.

3. The spaceborne high-speed hybrid hash routing lookup method according to claim 1, characterized in that, Use 2-10 hash buckets for parallel storage and lookup.

4. The spaceborne high-speed hybrid hash routing lookup method according to claim 1, characterized in that, Choose one of the lookup indexes A and B as the table entry configuration C. Use table entry configuration C to dynamically update the table entry. During the configuration process, table entry configuration C takes precedence over the selected lookup index A or lookup index B.

5. The spaceborne high-speed hybrid hash routing lookup method according to claim 1, characterized in that, The two different hash functions are the CRC-16 hash function and the CRC-CCITT hash function.

6. The spaceborne high-speed hybrid hash routing lookup method according to claim 1, characterized in that, In Step 2, the high-bit address index value is truncated to the low-bit address index value; in Step 3, the two low-bit address index values ​​obtained in Step 2 are used to perform parallel lookups on the table entries of multiple IP hash tables.

7. The spaceborne high-speed hybrid hash routing lookup method according to claim 1, characterized in that, The classification table uses <ingress port number 5 bits, message type 5 bits> as the table entry index, and the table entry structure includes a table entry validity indicator 1 bit and an egress port 35 bits.

8. A spaceborne high-speed hybrid hash routing lookup system, characterized in that, The system includes a lookup index preprocessing module and a hybrid hash routing lookup module; The lookup index preprocessing module is used to perform step 1 of claim 1; the hybrid hash routing lookup module is used to perform step 2 of claim 1.

Citation Information

Patent Citations

  • 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