Fast routing lookup method applied to satellite-borne router

By building a heterogeneous network processing platform in the aircraft that separates the control plane and the data plane, and combining the leaf push conversion method and the ZPHF algorithm, the problem of resource consumption and power consumption limitations of the routing lookup architecture in the aircraft scenario is solved, achieving fast and efficient route lookup.

CN119363661APending Publication Date: 2025-01-24CHONGQING UNIV OF POSTS & TELECOMM

Patent Information

Application Number
CN202411468136.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-21
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

The existing routing search architecture is difficult to meet high throughput requirements under resource consumption and power consumption limitations in aircraft scenarios, especially in terms of longest prefix matching.

Method used

By building a heterogeneous network processing platform that separates the control plane and data plane, the leaf push conversion method is used to process the routing and forwarding table, the perfect hash function is constructed using the ZPHF algorithm, and the Bloom filter is used for mapping to achieve fast route lookup.

Benefits of technology

Under low resource consumption conditions, fast longest matching route search is achieved, ensuring considerable search speed, and solving the longest match problem and hash conflict problem of hash search.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119363661A_ABST
    Figure CN119363661A_ABST
Patent Text Reader

Abstract

The invention belongs to the spaceflight communication technology, and particularly relates to a fast routing lookup method applied to a spaceborne router, which comprises the following steps: constructing a heterogeneous network processing platform with a control surface and a data surface separated; generating a routing forwarding table on a control plane, and processing the routing forwarding table by adopting a leaf-push type conversion method to obtain an updated routing forwarding table; constructing a perfect hash function by adopting a ZPHF algorithm to obtain a hash mapping table; carrying out Bloom mapping by adopting a perfect hash function to obtain a Bloom filter mapping table; injecting the Hash mapping table and the Bloom filter mapping table into a data surface; when a node initiates a routing lookup request, extracting a destination IP address, querying a bit in the Bloom filter mapping table, if the bit is 1, accessing the Hash mapping table for matching, if the matching is successful, completing routing lookup, and if the matching is unsuccessful, updating the destination IP address and performing lookup again; according to the method, the considerable search speed can be guaranteed under the condition of relatively low storage consumption.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to aerospace communication technology, and in particular relates to a fast routing search method applied to a satellite-borne router. Background Art

[0002] With the rapid advancement of communication technology, the process of global integration is gradually accelerating. Information globalization has become a major trend in the development of the current era. Due to the excessive reliance on infrastructure construction and environmental factors, the ground communication system is difficult to lay, the cost is high, and the coverage is very limited. Therefore, satellite communication is introduced to achieve global coverage of the communication network. In traditional satellite networks, data forwarding mainly relies on networking based on "circuit switching", but the second-layer switching control mechanism such as ATM is complex and cannot be integrated with the ground IP network. In addition, the satellite network not only needs to be integrated with the IP network, but also the on-board traffic is increasing, the forwarding volume is large, and the business types are complex. The original data transmission method has been stretched to its limits. Introducing satellite routers for networking is an industry-recognized networking solution.

[0003] Although the TCAM routing lookup architecture, Trie routing lookup architecture, and hash routing lookup architecture commonly used on the ground can meet the onboard throughput requirements, there are significant differences between the ground scenario and the aircraft scenario. Ground router equipment is powered by the power grid and there are no strict restrictions on resource usage. In aircraft, electronic equipment is powered by chemical batteries or solar energy and has strict restrictions on resource consumption. Therefore, the ground router lookup architecture cannot be used directly in aircraft.

[0004] The commonly used TCAM routing lookup structure has a natural advantage in routing lookup due to its three-state storage method, but it is a product of resource-speed substitution. Its parallel matching structure requires huge logical resources in scenarios with multiple entries, and power consumption cannot be limited. Modeling IP addresses based on the Trie tree has high flexibility and low resource consumption, but the lookup algorithm running on the CPU requires multiple memory accesses, which is time-consuming. In addition, the CPU designed for aerospace systems has limited clock frequency and power budget. Although hash-based routing lookup can guarantee a time complexity of only O(1) and the occupied resources are controllable, it has a natural disadvantage in the longest prefix match. Therefore, it is of great value and significance to study the routing lookup architecture that can maximize the throughput under certain resource and energy consumption constraints. Summary of the invention

[0005] In order to solve the above problems and realize fast longest matching route search under the condition of low resource consumption, the present invention provides a fast route search method applied to a satellite router, which is characterized by comprising the following steps:

[0006] S1. Build a heterogeneous network processing platform with separated control plane and data plane;

[0007] S2. Perform topology discovery and calculation in the control plane to obtain a routing table, and use a leaf-push transformation method to process the routing table to obtain an updated routing table;

[0008] S3. Use the ZPHF algorithm to construct a perfect hash function based on the updated routing table to obtain a hash mapping table;

[0009] S4. Use perfect hash function to perform Bloom mapping to obtain a Bloom filter mapping table;

[0010] S5. Inject the hash mapping table and the Bloom filter mapping table into the data plane cache;

[0011] S6. When a node initiates a routing lookup request, the destination IP address is extracted from the routing request, and step S7 is executed;

[0012] S7. Query the bit in the Bloom filter mapping table according to the destination IP address. If the bit is 1, access the hash mapping table for matching. If the match is successful, the route lookup is completed. If the match is unsuccessful, update the destination IP address, that is, reduce the number of bits in the destination IP address by 1, and then re-execute step S7.

[0013] Beneficial effects of the present invention:

[0014] Compared with the existing technology, the present invention adopts the design idea of ​​separating the data plane and the control plane, that is, combining software and hardware, to avoid the large computing pressure on the CPU caused by the pure software implementation of routing lookup. At the same time, a dedicated FPGA / ASIC is used to implement the lookup operation, and a leaf-push conversion method is proposed to solve the longest match problem of hash lookup. At the same time, the ZPHF algorithm is used to construct a perfect hash to solve the hash conflict problem. The hash lookup of the present invention can ensure a considerable lookup speed under the condition of low storage consumption. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 is a flow chart of the method of the present invention;

[0016] Figure 2 This is a schematic diagram of an embodiment of the impeller-push conversion method of the present invention;

[0017] Figure 3 Find a flow chart for this invention. DETAILED DESCRIPTION

[0018] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0019] The present invention provides a fast routing search method applied to a satellite router, such as Figure 1 As shown, the following steps are included:

[0020] S1. Build a heterogeneous network processing platform with separated control plane and data plane; the control plane is implemented based on CPU and the data plane is implemented based on FPGA.

[0021] Specifically, the present invention constructs a routing lookup architecture for satellite-borne routers, which includes a heterogeneous network processing platform, which separates the control plane and the data plane, wherein the control plane is implemented based on a CPU, and the data plane is implemented based on an FPGA or an ASIC, and the heterogeneous processing platform also includes a DDR peripheral storage circuit. The control plane is used to perform operations such as topology discovery, routing resolution, and routing forwarding table update management. The control plane injects the routing forwarding table into the data plane, and the data plane performs data flow unpacking, analysis, routing lookup, packet assembly, and forwarding operations according to the routing forwarding table passed in from the upper layer.

[0022] The routing lookup architecture proposed in the present invention is mainly divided into two parts: table entry injection and table entry query, wherein the table entry injection specifically includes the contents of the subsequent steps S2-S6, and the performance query is introduced in detail in step S7.

[0023] S2. Perform topology discovery in the control plane and calculate the routing forwarding table, and use the leaf-push transformation method to process the routing forwarding table to obtain an updated routing forwarding table.

[0024] Preferably, step S2 specifically includes:

[0025] S21. The control plane runs the routing protocol to calculate the routing topology information to obtain the global topology, and generates a routing forwarding table according to the global topology.

[0026] S22. Construct a Trie tree based on the routing table: Model the routing table as a binary tree, namely a Trie tree, in which the root node does not store data, each node represents a bit, and the position of each node represents a specific prefix route; the left child in the tree represents 0, and the right child represents 1; let R(m) represent the routing table entry of node m in the Trie tree, and let the set of all leaf nodes be L.

[0027] S23. Use the leaf-push transformation method to process the Trie tree to obtain an updated Trie tree.

[0028] Specifically, in order to ensure that the time of hash search is controlled within a shorter time range as far as possible, it is necessary to improve the traditional hash routing search. It is not necessary to subdivide the number of hash tables according to the mask length. All table items are stored in a hash table, and matching and searching are performed directly in a table. However, due to the potential nested relationship between prefixes, another problem arises. A prefix may be a substring of another prefix. This nesting may cause the IP address to match multiple prefix levels. For this problem, there are both solutions that utilize marking and pre-calculation, and solutions that do not require pre-calculation. In the solution that does not require pre-calculation, the nested relationship is eliminated by specifically locating the prefix on the leaves of the binary Trie tree. However, in the existing Trie tree method of construction, some prefixes still exist in the intermediate nodes, which is not conducive to searching. For this reason, the present invention proposes a leaf-push conversion method.

[0029] Specifically, the updated Trie tree obtained by processing the Trie tree using the leaf-push transformation method includes:

[0030] S231. Expand downward from the root node of the Trie tree. When there is routing information a in the forwarding table entry R(n) of the intermediate node n, it is necessary to push the routing information a to the leaf node of the subtree of the intermediate node n. First, determine whether the number of child nodes of the intermediate node n is 2. If so, for each child node, execute step S232; if not, create a child node as a leaf node for the intermediate node n, and push the routing information a to the forwarding table entry of the leaf node, and then execute step S232 for another existing child node of the intermediate node n;

[0031] S232. Determine whether the child node is a leaf node. If so, execute step S233; if not, push routing information a to the child node, and then determine whether the number of child nodes of the child node is 2. If so, execute step S232 for each child node. If not, create a child node as a leaf node for the child node, and push the routing information a to the forwarding table entry of the leaf node, and then execute step S232 for another existing child node of the intermediate node n;

[0032] S233. Determine whether there is routing information for the leaf node. If so, the routing information remains unchanged. If not, the routing information of the intermediate node n is attached to the forwarding table entry of the leaf node.

[0033] The above process can be expressed by the following formula:

[0034] If the child node n LorRIt is not a leaf node. At this time, the routing information in the forwarding table entry R(n) of the intermediate node n is pushed, which is expressed as:

[0035] R(n LorR )←R(n)

[0036] n LorR Is the left or right child of the middle node.

[0037] If child node n' is created as a leaf node, the routing information in the forwarding table entry R(n) of the intermediate node n is pushed, which is expressed as:

[0038]

[0039] If the child node l is a leaf node and the leaf node has routing information, it remains unchanged, which can be expressed as:

[0040]

[0041] If the child node l is a leaf node, there is no routing information for the leaf node. At this time, the routing information in the forwarding table entry R(n) of the intermediate node n is pushed, which is expressed as:

[0042] R(l)←R(n)

[0043] S24. Generate an updated routing forwarding table based on the updated Trie tree.

[0044] Specifically, in one embodiment, it is assumed that the routing table is as shown in Table 1 below:

[0045] Table 1 Prefix set example

[0046]

[0047]

[0048] The Trie tree constructed according to Table 1 is as follows Figure 2 As shown in (a), the circled letters indicate that the forwarding table entry has routing information, i.e., there is a corresponding prefix route; it can be seen that the routing information exists both in the intermediate nodes and in the leaf nodes; in order to solve the problem of low matching efficiency caused by the potential nested relationship of the prefix route, the present invention adopts a leaf-push transformation method to further transform the original Trie tree, ensure that all routing information corresponds to the leaf nodes, eliminate the nested relationship, and update the Trie tree as shown in FIG. Figure 2 As shown in (b), the updated forwarding routing table generated according to the updated Trie tree is shown in Table 2.

[0049] Table 2 Update prefix set

[0050]

[0051] The leaf push conversion method proposed in the present invention is different from the previous leaf push method in implementation; because IP lookup requires the longest prefix match, this method starts the search from the longest length, which is 128 in the case of IPv6. Starting the search from the longest length can improve the efficiency of the search process because the prefix resides on the leaf. The subsequent combination of Bloom filters can greatly reduce the number of accesses to the off-chip hash table for each query.

[0052] S3. Use the ZPHF algorithm to construct a perfect hash function based on the updated routing table to obtain a hash mapping table.

[0053] Preferably, the storage bottom layer of the table entry (also called routing information) relies on a hash table for storage. Once hashing is used, hash conflicts will inevitably arise. The essence of hash conflicts is determined by the hash function and the corresponding data set. The present invention considers introducing an improved perfect hash to solve the hash conflict problem, and proposes a perfect hash construction method for scenarios such as aircraft with limited resources and low search latency, namely the ZPHF algorithm. The ZPHF algorithm is a practical version of the compressed hash and shift CHD algorithm.

[0054] Step S3 uses the ZPHF algorithm to construct a perfect hash function based on the updated routing table, including:

[0055] S31. Using each routing information in the updated routing forwarding table as a key to construct a key set; selecting a parameter pair consisting of the number of slots r and the size of the target hash table m;

[0056] S32. Initialize the number of storage keys for each slot, initialize the secondary hash function parameter of each slot to 0, and initialize the used hash value set S;

[0057] S33. For each key, use function f(x) = CityHash128 to calculate its initial hash value, perform mod-r operation on the initial hash value and map it to a slot; after all keys are calculated, count the number of stored keys in each slot;

[0058] S34. Arrange all slots in descending order according to the number of storage keys and process them in sequence.

[0059] Specifically, the specific processing process of step S34 includes:

[0060] S341. Extract all the keys stored in the current slot to construct a key subset X, extract a key from the key subset X in order, and execute step S342;

[0061] S342. According to the secondary hash function parameter d associated with the current slot, use the function g(x, d)

[0062] = MurmurHash3 calculates different secondary hash values ​​of the key from 0 to m-1, that is, calculates g(x, d) % m, where m ranges from 0 to m-1; if one or more of all the secondary hash values ​​currently generated exist in the used hash value set S, execute step S343, otherwise execute step S344;

[0063] S343. Determine whether d is greater than the threshold dmax. If so, the construction fails, the construction ends, a new parameter pair is selected, and the process returns to step S32. If not, all secondary hash values ​​generated by the current slot are cleared, and the secondary hash function parameter d=d+1 is set, and the process returns to step S342.

[0064] S344. Determine whether the key is the last key in the key subset. If so, save the current secondary hash function parameter d and execute step S345; if not, extract the next key in the key subset and re-execute step S343;

[0065] S345. Determine whether the current slot is the last slot after sorting. If so, complete the construction and save the current parameter pair; if not, select the next slot as the current slot and execute step S341.

[0066] Specifically, the ZPHF algorithm is executed multiple times to obtain multiple parameter pairs; in addition, the array D[] is used in the ZPHF algorithm to represent the slot table, and the d value corresponding to each slot is recorded. In order to satisfy the one-to-one mapping from key to integer, m must be greater than or equal to N, where N is the number of keys in the key set. The number of slots r determines the distribution and conflict probability of the key value, and its value should be as large as possible to reduce hash conflicts. Usually, the size of r can be equivalent to or even slightly larger than the number of keys to avoid too many keys being piled up in the slots; and the size of the target hash table m should be a large prime number, because the prime modulus can provide a more uniform distribution in the hash function, thereby reducing conflicts. In general, m should be greater than or equal to r, so in the present invention, the parameter r is iteratively increased from N to search for a perfect hash function with less storage, and the parameter m is also iteratively increased from N to reduce the difficulty of finding a perfect hash function for a fixed slot table. If the candidate m is equal to N, the perfect hash function at this time becomes the minimum perfect hash function MPHF. The ZPHF algorithm weighs r and m to meet the storage limitations of the aerospace hardware platform.

[0067] Specifically, the perfect hash function constructed by the ZPHF algorithm can be described as:

[0068] ZPHF(k)=g(k,D[f(key)%r])%m

[0069] Among them, f() is the function f(x)=CityHash128, g(,) is the function g(x,d)=MurmurHash3, %r represents the mod-r operation, and %m represents the mod-m operation.

[0070] Specifically, a perfect hash function constructed by selecting an optimal parameter pair from the multiple parameter pairs obtained in step S3 is used to perform mapping to obtain a hash mapping table.

[0071] S4. Use the perfect hash function to perform Bloom mapping to obtain a Bloom filter mapping table.

[0072] Specifically, the Bloom filter is actually a very long binary array and a series of random mapping functions (also called unbiased hash functions, which are hash functions that can calculate the hash values ​​of elements more evenly). The Bloom filter can be used to retrieve whether an element exists in a set. Before adding elements to the Bloom filter, the space of the Bloom filter (that is, the aforementioned binary array) is first initialized to 0, and the number of unbiased hash functions is calculated. Assume that a set is given, the number of elements in the set is n, and accordingly, the size of the binary array l is

[0073]

[0074] Among them, P is the false alarm rate, and the calculation formula for the number of unbiased hash functions k is:

[0075]

[0076] To map an element x in a set to a Bloom filter, k unbiased hash functions are used to calculate the element x, and k hash values ​​are obtained, which are then mapped to indexes between 0-1-1 of the binary array, and the corresponding positions in the binary array are set to 1.

[0077] For Bloom filters, it is necessary to use multiple different hash functions. In order to avoid the overhead of using multiple independent hash functions in actual operation, the present invention considers using double hashing technology, that is, selecting two independent perfect hash functions h from the multiple perfect hash functions constructed above. 1 With h 2 , generate k hash functions for bloom mapping according to the following formula:

[0078] h i (x)=(h 1 (x)+i×h 2 (x))mod k

[0079] Among them, h i(x) represents the i-th hash function.

[0080] S5. Inject the hash mapping table and the Bloom filter mapping table into the data plane cache.

[0081] S6. When a node initiates a route lookup request, the destination IP address is extracted from the route request and step S7 is executed.

[0082] S7. Query the bit in the Bloom filter mapping table according to the destination IP address. If the bit is 1, there may be a corresponding entry in the hash mapping table. At this time, DDR accesses the hash mapping table for matching. If the match is successful, the route lookup is completed. If the match is unsuccessful, the destination IP address is updated, that is, the number of bits in the destination IP address is reduced by 1, and then step S7 is re-executed.

[0083] Specifically, Figure 3 As shown, step S7 specifically includes:

[0084] S71. Obtain the depth w corresponding to the destination IP address in the updated Trie tree;

[0085] S72. Access the Bloom filter with the destination IP address and depth w as input. The Bloom filter is based on the destination IP address through two independent perfect hash functions h 1 With h 2 Calculate multiple hash functions to obtain hash values, take the array length modulo each hash value to obtain the array index, and determine whether all values ​​(i.e., all bits) corresponding to the array index are all 1 based on the Bloom filter mapping table. If so, it may exist, and execute step S74; otherwise, it must not exist, and execute step S73;

[0086] S73. The destination IP address remains unchanged, let w = w-1, and determine whether w is greater than or equal to 1. If so, return to step S72. If not, the table lookup fails;

[0087] S74. Access the hash mapping table with the destination IP address and depth w as input to determine whether there is an entry at the corresponding position in the hash mapping table. If so, the table lookup is successful. If not, return to step S73.

[0088] In the present invention, unless otherwise clearly stipulated and limited, the terms such as "installation", "setting", "connection", "fixation" and "rotation" should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral one; it can be a mechanical connection or an electrical connection; it can be directly connected or indirectly connected through an intermediate medium; it can be the internal connection of two elements or the interaction relationship between two elements. Unless otherwise clearly defined, ordinary technicians in this field can understand the specific meanings of the above terms in the present invention according to the specific circumstances.

[0089] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.

Claims

1. A fast route search method applied to a satellite-borne router, characterized in that: The following steps are involved: S1. Build a heterogeneous network processing platform with separated control plane and data plane; S2. Perform topology discovery and calculation in the control plane to obtain a routing table, and use a leaf-push transformation method to process the routing table to obtain an updated routing table; S3. Use the ZPHF algorithm to construct a perfect hash function based on the updated routing table to obtain a hash mapping table; S4. Use perfect hash function to perform Bloom mapping to obtain a Bloom filter mapping table; S5. Inject the hash mapping table and the Bloom filter mapping table into the data plane cache; S6. When a node initiates a routing lookup request, the destination IP address is extracted from the routing request, and step S7 is executed; S7. Query the bit in the Bloom filter mapping table according to the destination IP address. If the bit is 1, access the hash mapping table for matching. If the match is successful, the route lookup is completed. If the match is unsuccessful, update the destination IP address and then re-execute step S7.

2. A fast route search method applied to a satellite router according to claim 1, characterized in that: Step S2 specifically includes: S21. The control plane runs the routing protocol to calculate the routing topology information to obtain the global topology, and generates a routing forwarding table based on the global topology; S22. Construct a Trie tree based on the routing table: the root node does not store data, each node represents a bit, and the location of each node represents a specific prefix route; let R(m) represent the routing table entry of node m in the Trie tree; S23. Using leaf push conversion method to process Trie tree to obtain updated Trie tree; S24. Generate an updated routing forwarding table based on the updated Trie tree.

3. A fast route search method applied to a satellite router according to claim 2, characterized in that: Step S23 uses a leaf-push conversion method to process the Trie tree to obtain an updated Trie tree, including: S231. When there is routing information a in the forwarding table entry R(n) of the intermediate node n, determine whether the number of child nodes of the intermediate node n is 2. If so, execute step S232 for each child node; if not, create a child node as a leaf node for the intermediate node n, and push the routing information a to the forwarding table entry of the leaf node, and then execute step S232 for another existing child node of the intermediate node n; S232. Determine whether the child node is a leaf node. If so, execute step S233; if not, push routing information a to the child node, and then determine whether the number of child nodes of the child node is 2. If so, execute step S232 for each child node. If not, create a child node as a leaf node for the child node, and push the routing information a to the forwarding table entry of the leaf node, and then execute step S232 for another existing child node of the intermediate node n; S233. Determine whether there is routing information for the leaf node. If so, the routing information remains unchanged. If not, the routing information of the intermediate node n is attached to the forwarding table entry of the leaf node.

4. The fast route search method applied to a satellite router according to claim 1, characterized in that: Step S3 uses the ZPHF algorithm to construct a perfect hash function based on the updated routing table, including: S31. Using each routing information in the updated routing forwarding table as a key to construct a key set; selecting a parameter pair consisting of the number of slots r and the size m of the target hash table; S32. Initialize the number of storage keys for each slot, initialize the secondary hash function parameters for each slot, and initialize the used hash value set S; S33. For each key, use function f(x) = CityHash128 to calculate its initial hash value, perform mod-r operation on the initial hash value and map it to a slot; after all keys are calculated, count the number of stored keys in each slot; S34. Arrange all slots in descending order according to the number of storage keys and process them in sequence.

5. A fast route search method applied to a satellite router according to claim 4, characterized in that: The specific processing process of step S34 includes: S341. Extract all the keys stored in the current slot to construct a key subset X, extract a key from the key subset X in order, and execute step S342; S342. Calculate different secondary hash values ​​of the key from 0 to m-1 according to the secondary hash function parameter d associated with the current slot; if one or more of all the secondary hash values ​​currently generated exist in the used hash value set S, execute step S343, otherwise execute step S344; S343. Determine whether d is greater than the threshold dmax. If so, the construction fails, the construction ends, a new parameter pair is selected, and the process returns to step S32. If not, all secondary hash values ​​generated by the current slot are cleared, and the secondary hash function parameter d=d+1 is set, and the process returns to step S342. S344. Determine whether the key is the last key in the key subset. If so, save the current secondary hash function parameter d and execute step S345; if not, extract the next key in the key subset and re-execute step S343; S345. Determine whether the current slot is the last slot after sorting. If so, complete the construction and save the current parameter pair; if not, select the next slot as the current slot and execute step S341.

6. The fast route search method applied to a satellite router according to claim 1, characterized in that: In Bloom mapping, double hashing technology is used to select two independent perfect hash functions from multiple perfect hash functions constructed to generate multiple hash functions for bloom mapping, which can be expressed as: h i (x)=(h 1 (x)+i×h 2 (x))mod k Among them, h i (x) represents the i-th hash function, h 1 With h 2 represents two independent perfect hash functions, and k represents the number of hash functions to be generated.

7. The fast route search method applied to a satellite router according to claim 1, characterized in that: Step S7 specifically includes: S71. Obtain the depth w corresponding to the destination IP address in the updated Trie tree; S72. Access the Bloom filter with the destination IP address and depth w as input, calculate the array index according to the destination IP address, and determine whether all bits corresponding to the array index are 1. If so, execute step S74; if not, execute step S73; S73. The destination IP address remains unchanged, let w = w-1, and determine whether w is greater than or equal to 1. If so, return to step S72. If not, the table lookup fails; S74. Access the hash mapping table with the destination IP address and depth w as input to determine whether there is an entry at the corresponding position in the hash mapping table. If so, the table lookup is successful. If not, return to step S73.

Citation Information

Patent Citations

  • Satellite-borne fast routing searching system combining longest prefix matching and precise matching

    CN106549872A

  • Routing forwarding method for virtual private network

    CN116319555A

  • Fast routing lookup method and system using Hash algorithm

    CN118337701A

  • Binary search on tree levels for IP address lookup

    KR1020080006100A

  • Method and apparatus for generating a shape graph from a binary trie

    US20110137930A1

Cited By

  • Hierarchical session management method and device based on FPGA

    CN120281710A

  • FPGA-based hierarchical session management method and device

    CN120281710B

  • Target network construction method for software-defined target range and related equipment

    CN120811909A