Data plane transparent acceleration method and system for ICN network name parsing service
By transparently accelerating the name resolution service on the data plane of the ICN network, processing the resolution request packet and sending the control surface resolution query, the problem of high query delay of the ICN network name resolution service is solved, and lower resolution delay and higher processing capabilities are achieved.
Patent Information
- Application Number
- CN202311196015.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-15
- Publication Date
- 2025-03-18
AI Technical Summary
The query delay of the existing ICN network name resolution service is high, which affects the user experience. The prior art may lead to the loss of the requested data packet when processing the requested data packet and the query failed packet under the limit.
Transparently accelerated name resolution service on the data plane, uninstall the name resolution function in the path sent to the controller on the data package, process the resolution request packet, and use the best-solution method to send the request packet and the failed resolution packet to the control plane resolution query.
It reduces the query delay of the name resolution service, improves pipeline processing capabilities, and reduces the loss of requested data packets without affecting the ability of the name resolution service.
Smart Images

Figure CN119652992A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of name resolution, and in particular relates to a data plane transparent acceleration method and system for an ICN network name resolution service. Background Art
[0002] With the popularity of Web services and the increasing number of devices connected to the Internet, the needs of Internet users have evolved from communication between hosts to repeated information access from hosts to the network. Users are concerned about the information itself, not the storage location of the information. Information-Centric Networking (ICN) has achieved the transformation from the traditional host-centric network to the information-centric network architecture. In some ICN network architectures, the name resolution system is responsible for establishing and maintaining the mapping relationship between the information identifier and the actual physical address of the information. It is the key for ICN to obtain information and directly determines whether users can obtain the required service address. Therefore, performance indicators such as the query latency of the name resolution system greatly affect the user experience.
[0003] The low latency performance optimization of existing name resolution systems is mainly achieved by designing efficient routing methods and system node load balancing methods. For example, the Chinese invention "Method and device for distributed name resolution based on geographic location network" with publication number CN115514694A simplifies data exchange and name resolution in data networks with dynamically changing network topologies by reducing the communication overhead required to resolve the geographic location of the requested data object.
[0004] However, simple network planning and design still has certain limitations. In order to reduce the query delay of name resolution services as much as possible, the assistance of hardware acceleration cannot be underestimated. At present, the industry has widely studied the use of SDN (Software Defined Network) technology and programmable gate arrays (FPGA) to improve the performance of distributed databases, greatly reducing the access delay of databases. For example, database requests are embedded in network messages, and database services are directly implemented in FPGAs. Compared with traditional software databases, access delays can be reduced to one-tenth of the original. The present invention directly implements the name resolution function in the path of the data packet sent to the controller, processes the resolution request packet, and adopts a best-effort resolution method to accelerate the name resolution service within its capabilities.
[0005] Among the relevant technical patents, the Chinese invention "A KV storage method based on FPGA" with publication number CN116257521A proposes a KV (Key-Value) storage mode based on FPGA parallel computing, which uses the parallel computing advantages of FPGA to perform hardware acceleration on the data retrieval and data storage process in KV storage; the KV storage acceleration device is independent of the remote server, and the user sends a request that is forwarded to the KV storage acceleration device for processing via the remote server, and the KV storage device sends a request feedback that is forwarded to the user via the remote server. However, the invention does not specially handle request data packets in extreme processing situations and data packets that fail to query, which may result in the loss of request data packets. Summary of the invention
[0006] The purpose of the present invention is to overcome the defects of the prior art, reduce the query delay of the ICN network name resolution service, realize transparent acceleration of the name resolution service on the data plane, and propose a data plane transparent acceleration method and system for the ICN network name resolution service.
[0007] In order to achieve the above technical objectives, the present invention proposes a data plane transparent acceleration method for an ICN network name resolution service, the method comprising:
[0008] Step 1) For the parsing request packet, based on the comparison between its packet length and the set threshold, if it is within the processing capacity, parse the query according to the protocol format and go to step 2); otherwise, send the parsing request packet to the control plane for parsing query;
[0009] Step 2) If the resolution query is successful, it is encapsulated and output, otherwise the resolution request packet is sent to the control plane for resolution query.
[0010] Preferably, the threshold of step 1) is set comprehensively based on the current occupancy of the cache and the ability to resolve the query.
[0011] Preferably, the step 1) of parsing the query according to the protocol format specifically includes:
[0012] Extract the information identifier id, the length id_length of the information identifier, the destination address offset offset and the output port outport in the parsing request packet according to the protocol format, and store them in the header information array;
[0013] The information identification id in the header information array is used as the key for matching query and indexed in the exact matching table; if the index is successful, the actual physical address corresponding to the information identification id in the table item is parsed and added to the header information array, and the query success flag in the header information array is set to 1; otherwise, the query success flag in the header information array is set to 0.
[0014] Preferably, the exact matching table is used to maintain a hash mapping relationship between the information identifier ID and the corresponding actual physical address.
[0015] Preferably, the step 2) specifically includes:
[0016] According to the query success flag in the header information array, if it is 1, extract the actual physical address and destination address offset corresponding to the information identifier id in the header information array, modify the destination address of the data packet and set the output port outport to point to the pipeline, encapsulate the data packet into a Packet_Out message and forward it to the pipeline for output;
[0017] If it is 0, the output port output is set to point to the control plane, and the data packet is encapsulated into a Packet_In message and sent to the control plane for parsing query.
[0018] On the other hand, the present invention proposes a data plane transparent acceleration system for ICN network name resolution service, which is deployed on a hardware board. The system includes:
[0019] The data packet arbitration module is used to compare the packet length of the parsing request packet with the set threshold. If the packet length is within the processing capacity, the parsing request packet is forwarded to the data packet parsing module for parsing query; otherwise, the parsing request packet is sent to the control plane for parsing query; and is also used to comprehensively set the threshold according to the current occupancy of the data packet cache module and the parsing query capability of the data packet parsing module;
[0020] The data packet parsing module is used to extract the information identifier id, the length of the information identifier id_length, the destination address offset offset and the output port outport in the parsing request packet according to the protocol format, and store them in the header information array;
[0021] The data packet buffer module is used to store the parsing request packets corresponding to the header information array, and is also used to feedback the current occupancy status to the data packet arbitration module;
[0022] The name resolution module is used to use the information identifier id in the header information array as a key for matching query and index in the exact match table; if the index is successful, the actual physical address corresponding to the information identifier id in the table item is obtained by resolution, added to the header information array, and the query success flag in the header information array is set to 1; otherwise, the query success flag in the header information array is set to 0; and
[0023] The data packet editing module is used to extract the actual physical address and destination address offset corresponding to the information identifier id in the header information array according to the query success mark in the header information array. If it is 1, the destination address of the data packet is modified and the output port outport is set to point to the pipeline. The data packet stored in the data packet cache module is encapsulated into a Packet_Out message to the pipeline for forwarding output; if it is 0, the output port output is set to point to the control plane, and the data packet stored in the data packet cache module is encapsulated into a Packet_In message and sent to the control plane for parsing the query.
[0024] Preferably, the exact matching table is used to maintain a hash mapping relationship between the information identifier ID and the corresponding actual physical address.
[0025] Compared with the prior art, the advantages of the present invention are:
[0026] 1. The data plane transparent acceleration method of the ICN network name resolution service proposed by the present invention unloads the name resolution function in the path of the data packet sent to the controller, processes the resolution request packet, and does not affect other functions of the data plane, thereby improving the pipeline processing capability;
[0027] 2. The present invention adopts a best-effort resolution method to send request data packets where local resolution is at the limit and request data packets where local resolution fails to the control plane for resolution query, thereby reducing the resolution delay of the name resolution service without affecting the name resolution service capability. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1 The figure is a processing flow chart of the data plane transparent acceleration method of the ICN network name resolution service of the present invention;
[0029] Figure 2 The figure shows the architecture diagram of the data plane transparent acceleration system of the ICN network name resolution service of the present invention;
[0030] Figure 3 The system architecture diagram of the name resolution module is shown;
[0031] Figure 4 Shown is a functional diagram of a key-value storage system. DETAILED DESCRIPTION
[0032] The present invention provides a data plane transparent acceleration method for an ICN network name resolution service, which adopts a best effort resolution method on the data plane to reduce the resolution delay of the name resolution service without affecting the name resolution service capability. The present invention is applicable to any data plane network node with name resolution service requirements in an ICN network scenario, and unloads the name resolution function in the path sent from the data packet to the controller to process the resolution request packet. Figure 1 The processing flow chart of the method of the present invention is as follows: the data packet arbitration module processes the resolution request packet according to the threshold value fed back by the data packet cache module. If the data packet cache module can still cache the data packet, the data packet enters the data packet cache module and waits for resolution query; otherwise, the data packet is directly encapsulated into a Packet_In message and sent to the control plane for resolution query. Secondly, the data packet that successfully queries the name resolution module is encapsulated into a Packet_Out message and returned to the pipeline forwarding output; the data packet that fails to query the name resolution module is encapsulated into a Packet_In message and sent to the control plane for resolution query.
[0033] Packet_In message and Packet_Out message are messages transmitted in switches as known in the art. The Packet_In message is used to send data packets to the switch to the controller. The Packet Out message is a message sent by the controller to the switch, and contains important fields such as Data, Action, and In port. After receiving the Packet Out message, the switch will operate the Data (such as forwarding or discarding from a specified port) according to the instructions in the Action.
[0034] The technical solution of the present invention is described in detail below with reference to the accompanying drawings and embodiments.
[0035] Example 1
[0036] Embodiment 1 of the present invention proposes a data plane transparent acceleration method for an ICN network name resolution service, the method comprising:
[0037] Step 1) For the parsing request packet, based on the comparison between its packet length and the set threshold, if it is within the processing capacity, parse the query according to the protocol format and go to step 2); otherwise, send the parsing request packet to the control plane for parsing query;
[0038] The threshold is set based on the current occupancy of the cache and the ability to resolve queries.
[0039] The specific steps of parsing and querying according to the protocol format are as follows: extracting the information identifier id, the length id_length of the information identifier, the destination address offset offset and the output port outport in the parsing request packet according to the protocol format, and storing them in the header information array;
[0040] The information identification id in the header information array is used as the key for matching query and indexed in the exact matching table; if the index is successful, the actual physical address corresponding to the information identification id in the table item is parsed and added to the header information array, and the query success flag in the header information array is set to 1; otherwise, the query success flag in the header information array is set to 0.
[0041] The exact matching table is used to maintain the hash mapping relationship between the information identifier ID and the corresponding actual physical address.
[0042] Step 2) If the resolution query is successful, encapsulate and output it, otherwise send the resolution request packet to the control plane for resolution query. Specifically include:
[0043] According to the query success flag in the header information array, if it is 1, extract the actual physical address and destination address offset corresponding to the information identifier id in the header information array, modify the destination address of the data packet and set the output port outport to point to the pipeline, encapsulate the data packet into a Packet_Out message and forward it to the pipeline for output;
[0044] If it is 0, the output port output is set to point to the control plane, and the data packet is encapsulated into a Packet_In message and sent to the control plane for parsing query.
[0045] Example 2
[0046] Embodiment 2 of the present invention proposes a data plane transparent acceleration system for an ICN network name resolution service, the system comprising a data packet arbitration module, a data packet resolution module, a name resolution module, a data packet cache module and a data packet editing module. Figure 2 Shown is a system architecture diagram of the method of the present invention.
[0047] The data packet arbitration module comprehensively considers the current occupancy feedback from the data packet cache module, the processing capacity of the name resolution module, and the length of the resolution request packet to process the data packet. If the resolution request data packet is still within the processing capacity of the name resolution module, the data packet enters the data packet cache module to wait for resolution query; otherwise, the data packet is directly encapsulated into a Packet_In message and sent to the control plane for resolution query;
[0048] The data packet parsing module parses the data packet header layer by layer according to the protocol format, extracts the key information in the data packet, and stores it in the header information array. The header information array includes fields such as information identification id, destination address offset offset, and length id_length of variable-length information identification id;
[0049] The name resolution module maintains the mapping relationship between the information identifier and the actual physical address of the information; extracts the information identifier id in the header information array as the key, obtains the hash value through the hash function operation; obtains the actual physical address of the information by indexing the storage address of the key-value pair table item according to the hash value; adds the actual physical address of the information to the header information array;
[0050] The data packet buffer module stores the parsed query data packets corresponding to the header information array and feeds back the current occupancy status to the data packet arbitration module;
[0051] The data packet editing module edits and modifies the data packet according to the header information array, encapsulates the data packet that successfully queries the name resolution module into a Packet_Out message and returns it to the pipeline forwarding output; the data packet that fails to query the name resolution module is encapsulated into a Packet_In message and sent to the control plane for resolution query.
[0052] The specific implementation steps of this system are:
[0053] Step 1: Input the resolution request packet into the data packet arbitration module. The data packet arbitration module determines whether the data packet is within the processing capacity of the name resolution module according to the data packet length packet_length of the sideband signal carried by the current resolution request packet and the current occupancy status status_fifo_used of the data packet buffer module; if the resolution request data packet is within the processing capacity of the name resolution module, the data packet enters the data packet resolution module; otherwise, the data packet is directly encapsulated into a Packet_In message and sent to the control plane resolution query;
[0054] Step 2: The data packet queried by the name resolution module enters the data packet resolution module, and the data packet header is parsed layer by layer according to the protocol format, and the key information in the data packet is extracted and stored in the header information array; the key information stored in the header information array includes the information identifier id, the length of the information identifier id_length, the destination address offset offset and the output port outport;
[0055] Step 3: The name resolution module extracts the information identifier id in the header information array as the key for matching the query, and calculates the hash value index table item based on the key; if the index is successful, the actual physical address of the information corresponding to the information identifier in the table item is obtained by parsing, added to the header information array, and the query success flag in the header information array is set to 1; if the index fails, the query success flag in the header information array is set to 0;
[0056] Step 4: The data packet editing module modifies the data packet according to the corresponding header information array. If the query success flag in the header information array is 1, the actual physical address of the information in the header information array and the offset of the data packet destination address are extracted, the destination address of the data packet is modified and the output port outport is set to point to the pipeline, and the data packet is encapsulated into a Packet_Out message to the pipeline for forwarding output; if the query success flag in the header information array is 0, it means that the query failed, and the output port output is set to point to the control plane, and the data packet is encapsulated into a Packet_In message and sent to the control plane for query parsing.
[0057] In particular, the name resolution module includes a key extraction module, an exact match table, and an action execution module. Its system architecture is as follows: Figure 3 shown.
[0058] The key extraction module extracts the information identification ID in the header information array as the key for matching the query;
[0059] Exact match table, calculates the hash value index table item according to the key, outputs the hit result hit and the actual address value of the information;
[0060] The action execution module modifies the header information array according to the execution result of the exact match table. If the hit result hit is 1, the value in the key-value pair is added to the header information array, and the query success flag in the header information array is set to 1; if the hit result hit is 0, the query success flag in the header information array is set to 0.
[0061] The exact matching table in the present invention adopts a hash table to implement large-scale key-value pair storage on off-chip DDR. Figure 4 The schematic diagram of the classic key-value storage system structure is shown. The control plane sends flow tables to insert and delete specific key-value pairs; on the data plane, the key-value storage system finds the corresponding value based on the query key sent by the user and returns it to the user.
[0062] This chapter then takes the "ID-multiple IPV6" route mapping application scenario in the ICN network as an example to illustrate the implementation method of the present invention. In this application scenario, the key in the key-value storage system is a 160-bit ID, and the value is a number of variable-length IPV6 addresses. The specific execution steps of the method flow are:
[0063] Step 1: Input the resolution request packet into the data packet arbitration module. The data packet arbitration module determines whether the data packet is within the processing capacity of the name resolution module according to the data packet length packet_length of the sideband signal carried by the current resolution request packet and the current occupancy status status_fifo_used of the data packet buffer module; if the resolution request data packet is within the processing capacity of the name resolution module, the data packet enters the data packet resolution module; otherwise, the data packet is directly encapsulated into a Packet_In message and sent to the control plane resolution query;
[0064] Step 2: The data packet queried by the name resolution module enters the data packet resolution module, and the data packet header is parsed layer by layer according to the IDP message protocol format, and the information identifier id, the length of the information identifier id_length, the destination address offset offset and the output port outport in the sideband signal in the data packet are extracted, and stored in the header information array;
[0065] Step 3: The name resolution module extracts the information identifier id in the header information array as the key for matching the query, and calculates the hash value index table item based on the key; if the index is successful, the ipv6 destination address dst_ip corresponding to the information identifier id in the table item is parsed and added to the header information array, and the query success flag in the header information array is set to 1; if the index fails, the query success flag in the header information array is set to 0;
[0066] Step 4: The data packet editing module modifies the data packet according to the corresponding header information array. If the query success flag in the header information array is 1, the actual physical address of the information in the header information array and the offset of the data packet destination address are extracted, the destination address of the data packet is modified and the output port outport is set to point to the pipeline, and the data packet is encapsulated into a Packet_Out message to the pipeline for forwarding output; if the query success flag in the header information array is 0, it means that the query failed, and the output port output is set to point to the control plane, and the data packet is encapsulated into a Packet_In message and sent to the control plane for query parsing.
[0067] By using a data plane transparent acceleration method for an ICN network name resolution service provided by the present invention, the following beneficial effects can be obtained:
[0068] 1. Unload the name resolution function in the path of sending data packets to the controller, process the resolution request packet, and do not affect other functions of the data plane, thereby improving the pipeline processing capability;
[0069] 2. Use the best effort resolution method to encapsulate the request data packets where local resolution is at the limit and the request data packets where local resolution fails into Packet_In messages and send them to the control plane for resolution query. This reduces the resolution delay of the name resolution service without affecting the name resolution service capability.
[0070] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit the present invention. Although the present invention is described in detail with reference to the embodiments, it should be understood by those skilled in the art that any modification or equivalent replacement of the technical solutions of the present invention does not depart from the spirit and scope of the technical solutions of the present invention and should be included in the scope of the claims of the present invention.
Claims
1. A data plane transparent acceleration method for an ICN network name resolution service, the method comprising: Step 1) For the parsing request packet, based on the comparison between its packet length and the set threshold, if it is within the processing capacity, parse the query according to the protocol format and go to step 2); otherwise, send the parsing request packet to the control plane for parsing query; Step 2) If the resolution query is successful, it is encapsulated and output, otherwise the resolution request packet is sent to the control plane for resolution query.
2. The data plane transparent acceleration method for the ICN network name resolution service according to claim 1, characterized in that: The threshold of step 1) is set comprehensively based on the current occupancy of the cache and the ability to resolve the query.
3. The data plane transparent acceleration method for the ICN network name resolution service according to claim 1 is characterized in that: The step 1) of parsing the query according to the protocol format specifically includes: Extract the information identifier id, the length id_length of the information identifier, the destination address offset offset and the output port outport in the parsing request packet according to the protocol format, and store them in the header information array; The information identification id in the header information array is used as the key for matching query and indexed in the exact matching table; if the index is successful, the actual physical address corresponding to the information identification id in the table item is parsed and added to the header information array, and the query success flag in the header information array is set to 1; otherwise, the query success flag in the header information array is set to 0.
4. The data plane transparent acceleration method for the ICN network name resolution service according to claim 3 is characterized in that: The exact matching table is used to maintain a hash mapping relationship between the information identifier ID and the corresponding actual physical address.
5. The data plane transparent acceleration method for ICN network name resolution service according to claim 3 is characterized in that: The step 2) specifically includes: According to the query success flag in the header information array, if it is 1, extract the actual physical address and destination address offset corresponding to the information identifier id in the header information array, modify the destination address of the data packet and set the output port outport to point to the pipeline, encapsulate the data packet into a Packet_Out message and forward it to the pipeline for output; If it is 0, the output port output is set to point to the control plane, and the data packet is encapsulated into a Packet_In message and sent to the control plane for parsing query.
6. A data plane transparent acceleration system for ICN network name resolution service, deployed on a hardware board, characterized in that: The system comprises: The data packet arbitration module is used to compare the packet length of the parsing request packet with the set threshold. If the packet length is within the processing capacity, the parsing request packet is forwarded to the data packet parsing module for parsing query; otherwise, the parsing request packet is sent to the control plane for parsing query; and is also used to comprehensively set the threshold according to the current occupancy of the data packet cache module and the parsing query capability of the data packet parsing module; The data packet parsing module is used to extract the information identifier id, the length of the information identifier id_length, the destination address offset offset and the output port outport in the parsing request packet according to the protocol format, and store them in the header information array; The data packet buffer module is used to store the parsing request packets corresponding to the header information array, and is also used to feedback the current occupancy status to the data packet arbitration module; The name resolution module is used to use the information identifier id in the header information array as a key for matching query and index in the exact match table; if the index is successful, the actual physical address corresponding to the information identifier id in the table item is obtained by resolution, added to the header information array, and the query success flag in the header information array is set to 1; otherwise, the query success flag in the header information array is set to 0; and The data packet editing module is used to extract the actual physical address and destination address offset corresponding to the information identifier id in the header information array according to the query success mark in the header information array. If it is 1, the destination address of the data packet is modified and the output port outport is set to point to the pipeline. The data packet stored in the data packet cache module is encapsulated into a Packet_Out message to the pipeline for forwarding output; if it is 0, the output port output is set to point to the control plane, and the data packet stored in the data packet cache module is encapsulated into a Packet_In message and sent to the control plane for parsing the query.
7. The data plane transparent acceleration system for ICN network name resolution service according to claim 6 is characterized in that: The exact matching table is used to maintain a hash mapping relationship between the information identifier ID and the corresponding actual physical address.
Citation Information
Patent Citations
Method and apparatus for distributed name resolution for geo-location-based networks
CN115514694A
KV storage method based on FPGA
CN116257521A