Data-plane transparent acceleration method and system for ICN name resolution service

By achieving transparent acceleration of name resolution services on the data surface of the ICN network, the limitations of name resolution system query delay optimization in the existing technology are solved, the resolution delay is reduced, the pipeline processing capability is improved, and the loss of requested data packets is avoided, and the user experience is improved.

WO2025055094A1PCT designated stage expired Publication Date: 2025-03-20INST OF ACOUSTICS CHINESE ACAD OF SCI +3
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/130127
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-15
Filing Date
2023-11-07
Publication Date
2025-03-20

AI Technical Summary

Technical Problem

The existing ICN network name resolution system has limitations in query delay optimization, especially when processing requested packets and query failed packets under extreme conditions, which may lead to the loss of requested packets and affect the user experience.

Method used

By realizing transparent acceleration of name resolution service on the data plane, a data plane transparency acceleration method and system for ICN network name resolution service is proposed. The method includes uninstalling the name resolution function in the path sent to the controller on the data packet, processing the resolution request packet, and using the best-effort analysis method to send the request packet and the resolution failed data packet to the control plane to the analysis query.

Benefits of technology

Without affecting the ability of name resolution service, the resolution delay of name resolution service is reduced, the pipeline processing capability is improved, and the loss of requested data packets is avoided, and the user experience is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023130127_20032025_PF_FP_ABST
    Figure CN2023130127_20032025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention belongs to the technical field of name resolution, and specifically relates to a data-plane transparent acceleration method and system for an ICN name resolution service. The method comprises: step 1), for a resolution request packet, comparing the packet length of the resolution request packet with a set threshold value, if the packet length falls within a processing capability range, performing resolution and querying according to a protocol format, and proceeding to step 2), otherwise, uploading the resolution request packet to a control plane for resolution and querying; and step 2), if the resolution and querying is successful, performing packaging and then performing outputting, otherwise, uploading the resolution request packet to the control plane for resolution and querying. In the method in the present invention, a name resolution function is uninstalled from a path in which a data packet is uploaded to a controller, and the processing of a resolution request packet does not affect other functions of a data plane, thereby improving a pipeline processing capability; and by means of performing resolution as well as possible, transparent acceleration of a network-node name resolution service of the data plane is realized, thereby reducing the resolution latency of the name resolution service without affecting the capability of the name resolution service.
Need to check novelty before this filing date? Find Prior Art

Description

Data plane transparent acceleration method and system for ICN network name resolution service

[0001] Related applications

[0002] This application claims priority to Chinese patent application number 2023111960155, entitled “Data plane transparent acceleration method and system for ICN network name resolution service”, filed on September 15, 2023, and is hereby incorporated by reference into this application. Technical Field

[0003] 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

[0004] With the prevalence of web services and the increasing number of devices connected to the internet, internet users' needs have evolved from communication between hosts to repeated access to information from hosts to the network. Users are focused on the information itself, not its storage location. Information-Centric Networking (ICN) has achieved a shift from traditional host-centric networks to information-centric network architectures. In some ICN network architectures, the name resolution system is responsible for establishing and maintaining the mapping between information identifiers and the actual physical addresses of information. This system is key to ICN information acquisition and directly determines whether users can obtain the service addresses they need. Therefore, performance indicators such as query latency of the name resolution system significantly impact the user experience.

[0005] Existing name resolution systems primarily optimize low-latency performance by designing efficient routing methods and system node load balancing methods. For example, the Chinese invention patent application "Method and Apparatus for Distributed Name Resolution in a Geographically Based Network," published under the patent 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 requested data objects.

[0006] 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, which greatly reduces the access delay of databases. For example, by embedding database requests into network messages and directly implementing database services in FPGAs, the access delay can be reduced to one-tenth of the original compared to traditional software databases. 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 as much as possible within the scope of its capabilities.

[0007] Among related technical patents, the Chinese invention "A KV Storage Method Based on FPGA," published with publication number CN116257521A, proposes a KV (Key-Value) storage model based on FPGA parallel computing. This utilizes the FPGA's parallel computing advantages to hardware-accelerate the data retrieval and data storage processes in KV storage. The KV storage acceleration device is independent of the remote server. Requests sent by the user end are forwarded to the KV storage acceleration device via the remote server for processing. The KV storage device sends request feedback, which is then forwarded to the user end via the remote server. However, this invention does not specifically handle request packets in extreme processing situations or query failures, which may result in the loss of request packets.

[0008] Summary of the Invention

[0009] 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, and realize transparent acceleration of the name resolution service on the data plane. A method and system for transparent acceleration of the data plane of the ICN network name resolution service are proposed.

[0010] 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:

[0011] Step 1) For the parsing request packet, based on the comparison of its packet length with the set threshold, if it is within the processing capacity, the query is parsed according to the protocol format and the process goes to step 2); otherwise, the parsing request packet is sent to the control plane for parsing;

[0012] 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.

[0013] Preferably, the threshold of step 1) is set comprehensively based on the current occupancy of the cache and the ability to resolve the query.

[0014] Preferably, the step 1) of parsing the query according to the protocol format specifically includes:

[0015] Extract the information identifier id, the length of the information identifier id_length, the destination address offset offset and the output port outport from the parsing request packet according to the protocol format and store them in the header information array;

[0016] The information identification id in the header information array is used as the key for matching query and indexed in the exact match 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.

[0017] Preferably, the exact matching table is used to maintain a hash mapping relationship between the information identifier ID and the corresponding actual physical address.

[0018] Preferably, the step 2) specifically includes:

[0019] 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 output;

[0020] 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 resolution query.

[0021] 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:

[0022] The data packet arbitration module is used to compare the packet length of the resolution request packet with the set threshold. If the packet length is within the processing capacity, it is forwarded to the data packet resolution module for resolution query; otherwise, the resolution request packet is sent to the control plane for resolution query. It is also used to comprehensively set the threshold based on the current occupancy of the data packet buffer module and the resolution query capability of the data packet resolution module.

[0023] 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 from the parsing request packet according to the protocol format and store them in the header information array;

[0024] The data packet buffer module is used to store the parsing request packets corresponding to the header information array and also to feedback the current occupancy status to the data packet arbitration module;

[0025] The name resolution module is used to use the information identifier id in the header information array as the key for matching the query and index it in the exact match table; if the index is successful, the actual physical address corresponding to the information identifier id in the table entry is obtained by parsing, 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

[0026] 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 based on the query success identifier in the header information array. If it is 1, it modifies the destination address of the data packet and sets the output port outport to point to the pipeline. The data packet stored in the data packet cache module is encapsulated into a Packet_Out message and forwarded to the pipeline 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 query resolution.

[0027] Preferably, the exact matching table is used to maintain a hash mapping relationship between the information identifier ID and the corresponding actual physical address.

[0028] Compared with the prior art, the advantages of the present invention are:

[0029] 1. The data plane transparent acceleration method for ICN network name resolution services proposed in this invention offloads the name resolution function from the path of data packets sent to the controller, processes the resolution request packets, and does not affect other data plane functions, thereby improving pipeline processing capabilities.

[0030] 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

[0031] FIG1 is a process flow chart of a data plane transparent acceleration method for an ICN network name resolution service according to the present invention;

[0032] FIG2 is an architecture diagram of a data plane transparent acceleration system for an ICN network name resolution service according to the present invention;

[0033] Figure 3 shows the system architecture diagram of the name resolution module;

[0034] FIG4 is a functional diagram of a key-value storage system. DETAILED DESCRIPTION

[0035] 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 the ICN network scenario, and unloads the name resolution function in the path of the data packet sent to the controller to process the resolution request packet. Figure 1 is a processing flow chart of the method of the present invention. 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 to wait for the resolution query; otherwise, the data packet is directly encapsulated into a Packet_In message and sent to the control plane 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 resolution query.

[0036] The Packet_In message and the Packet_Out message are messages transmitted in switches as is well known in the art. The Packet_In message is used to send data packets received by 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 on the Data according to the instructions in the Action (such as forwarding or discarding from a specified port).

[0037] The technical solution of the present invention is described in detail below with reference to the accompanying drawings and embodiments.

[0038] Example 1

[0039] Embodiment 1 of the present invention provides a data plane transparent acceleration method for an ICN network name resolution service, the method comprising:

[0040] Step 1) For the parsing request packet, based on the comparison of its packet length with the set threshold, if it is within the processing capacity, the query is parsed according to the protocol format and the process goes to step 2); otherwise, the parsing request packet is sent to the control plane for parsing;

[0041] The threshold is set based on the current cache occupancy and the ability to resolve queries.

[0042] The specific steps of parsing the query 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;

[0043] The information identification id in the header information array is used as the key for matching query and indexed in the exact match 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.

[0044] The exact matching table is used to maintain the hash mapping relationship between the information identifier ID and the corresponding actual physical address.

[0045] Step 2) If the query is resolved successfully, it is encapsulated and output; otherwise, the query is sent to the control plane for resolution. This includes:

[0046] 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 output;

[0047] 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 resolution query.

[0048] Example 2

[0049] Embodiment 2 of the present invention proposes a data plane transparent acceleration system for an ICN network name resolution service. The system includes 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. FIG2 shows a system architecture diagram of the method of the present invention.

[0050] The packet arbitration module processes the packet based on the current occupancy reported by the packet buffer module, the processing capacity of the name resolution module, and the length of the resolution request packet. If the resolution request packet is still within the processing capacity of the name resolution module, the packet enters the packet buffer module and waits for the resolution query; otherwise, the packet is directly encapsulated into a Packet_In message and sent to the control plane for resolution query.

[0051] 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 the information identifier id, the destination address offset offset, and the length of the variable-length information identifier id_length;

[0052] 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; indexes the storage address of the key-value pair table item according to the hash value to obtain the actual physical address of the information; and adds the actual physical address of the information to the header information array;

[0053] The data packet cache 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;

[0054] 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 for 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.

[0055] The specific implementation steps of this system are:

[0056] Step 1: The resolution request packet is input into the packet arbitration module. The packet arbitration module determines whether the packet is within the processing capacity of the name resolution module based on the packet length (packet_length) of the sideband signal carried by the current resolution request packet and the current occupancy (status_fifo_used) of the packet buffer module. If the resolution request packet is within the processing capacity of the name resolution module, the packet enters the packet resolution module; otherwise, the packet is directly encapsulated into a Packet_In message and sent to the control plane for resolution query.

[0057] Step 2: The data packet queried by the name resolution module enters the data packet resolution module, which 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 key information stored in the header information array includes the information identifier id, the information identifier length id_length, the destination address offset offset, and the output port outport;

[0058] 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 entry based on the key; if the index is successful, the actual physical address of the information corresponding to the information identifier in the entry 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;

[0059] Step 4: The packet editing module modifies the 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 packet destination address are extracted, the destination address of the packet is modified, and the output port outport is set to point to the pipeline. The packet is encapsulated into a Packet_Out message and forwarded to the pipeline 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. The packet is encapsulated into a Packet_In message and sent to the control plane for query resolution.

[0060] In particular, the name resolution module includes a key extraction module, an exact matching table, and an action execution module, and its system architecture is shown in Figure 3.

[0061] The key extraction module extracts the information identification ID in the header information array as the key for matching the query;

[0062] Exact match table, calculates the hash value index table entry based on the key, outputs the hit result and the actual address value of the information;

[0063] 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.

[0064] The exact match table in this invention uses a hash table to implement large-scale key-value storage on off-chip DDR. Figure 4 shows a schematic diagram of a classic key-value storage system. The control plane issues a flow table 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.

[0065] This chapter then uses the "ID-multiple IPv6" route mapping application scenario in an 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 IPv6 addresses of varying length. The specific execution steps of the method flow are as follows:

[0066] Step 1: The resolution request packet is input into the packet arbitration module. The packet arbitration module determines whether the packet is within the processing capacity of the name resolution module based on the packet length (packet_length) of the sideband signal carried by the current resolution request packet and the current occupancy (status_fifo_used) of the packet buffer module. If the resolution request packet is within the processing capacity of the name resolution module, the packet enters the packet resolution module; otherwise, the packet is directly encapsulated into a Packet_In message and sent to the control plane for resolution query.

[0067] Step 2: The packet queried by the name resolution module enters the packet resolution module, which parses the packet header layer by layer according to the IDP message protocol format, extracts the information identifier id, the information identifier length id_length, the destination address offset offset, and the output port outport in the sideband signal, and stores them in the header information array;

[0068] 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 entry based on the key; if the index is successful, the IPv6 destination address dst_ip corresponding to the information identifier id in the entry 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;

[0069] Step 4: The packet editing module modifies the 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 packet destination address are extracted, the destination address of the packet is modified, and the output port outport is set to point to the pipeline. The packet is encapsulated into a Packet_Out message and forwarded to the pipeline 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. The packet is encapsulated into a Packet_In message and sent to the control plane for query resolution.

[0070] The data plane transparent acceleration method for ICN network name resolution service provided by the present invention can achieve the following beneficial effects:

[0071] 1. Offload the name resolution function in the path of data packets sent to the controller, process the resolution request packet, and do not affect other functions of the data plane, thereby improving the pipeline processing capability;

[0072] 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 latency of the name resolution service without affecting the name resolution service capability.

[0073] Finally, it should be noted that the above embodiments are intended only to illustrate the technical solutions of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the embodiments, it should be understood by those skilled in the art that modifications or equivalent substitutions to the technical solutions of the present invention do not depart from the spirit and scope of the technical solutions of the present invention and are intended to be encompassed by 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 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

  • Centralized-control programmable information center network designing method

    CN106254117A

  • Name registration and resolution method based on space-time constraint field

    CN109561161A

  • A flat fixed-length name processing method and system

    CN109831542A

  • Information center network copy selection method

    CN114650296A

  • Service domain name resolution method, device and equipment based on service grid

    CN115190103A