Data packet transmission method and system based on NDN network, storage medium and device
By introducing SDN controllers and contracted data centers into the NDN network, the encryption requirement fields in the data packets are parsed and processed, and customized transmission paths are generated, the problem of low packet transmission efficiency in the NDN network is solved, and efficient customization is achieved Transmission of network paths.
Patent Information
- Application Number
- CN202411606101.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-11
- Publication Date
- 2025-02-21
AI Technical Summary
In NDN networks, custom network paths cannot be obtained based on the actual needs of the data packet itself, resulting in low packet transmission efficiency.
By introducing a software-defined network (SDN) controller into the NDN network, the client inserts the encrypted requirement field into the packet name, and parses and forwards it by the SDN controller, signs the contract data center to decrypt the requirement field and generates the requirement parameters for determining Customized transmission paths.
It realizes the transmission of data packets based on customized network paths under the NDN network, improves the transmission efficiency of data packets, and meets the diversified network service needs of different users.
Smart Images

Figure CN119496736A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communications, and in particular to a method, system, storage medium and device for transmitting data packets based on an NDN network. Background Art
[0002] The traditional IP network architecture realizes network resource sharing by building connections between hosts. With the increasing diversification of network types and device interfaces, the traditional IP network system can no longer afford to focus on communication between specific hosts. Therefore, a new network architecture, Named Data Networking (NDN) came into being. Unlike traditional networks, NDN focuses on content access and delivery, uniformly naming network resources through a data name similar to a URL, and replacing IP addresses to achieve addressing functions. The NDN network architecture mainly includes interest packets and data packets, which correspond to requests and responses respectively. The client sends resource requests by broadcasting interest packets, and the server receives interest packets and sends data packets to provide corresponding network resources.
[0003] With the diversification of network services, the demands for different services vary. For example, mobile terminals often have high requirements for communication conditions such as latency and bandwidth, artificial intelligence terminals have high requirements for computing power, and military terminals have high requirements for data security. Therefore, customizing network paths according to needs has become one of the research focuses of the next-generation network architecture.
[0004] However, NDN, as a new network architecture for future networks, does not yet have the ability to customize path orchestration. In the NDN network scenario, only general network paths can be used to transmit data packets, and customized network paths cannot be obtained based on the actual needs of the data packets themselves, so the transmission efficiency of data packets is not high.
[0005] Therefore, in the related technology, in the NDN network scenario, only general network paths can be used to transmit data packets, and customized network paths cannot be obtained based on the actual needs of the data packets themselves. Therefore, there is a technical problem that the transmission efficiency of data packets is low, and no effective solution has been proposed yet.
[0006] Therefore, it is necessary to improve the related technology to overcome the above-mentioned defects in the related technology. Summary of the invention
[0007] The embodiments of the present application provide a method, system, storage medium and device for transmitting data packets based on an NDN network, so as to at least solve the technical problem that in the NDN network scenario, only general network paths can be used to transmit data packets, and customized network paths cannot be obtained based on the actual needs of the data packets themselves, resulting in low transmission efficiency of data packets.
[0008] According to one aspect of an embodiment of the present application, a method for transmitting data packets based on an NDN network is provided, which is applied to a software defined network (SDN) controller, and includes: parsing a first data packet forwarded by a network access node of the NDN network to obtain a data packet name of the first data packet; sending an encrypted field determined from the data packet name to a contracted data center, so that the contracted data center decrypts the encrypted field to obtain a decryption result, wherein the encrypted field is generated by a client based on a requirement field of a service request; transmitting a second data packet using a transmission path corresponding to the decryption result, wherein the network nodes on the transmission path belong to the same local area network as the network access nodes, and the second data packet is the first data packet with requirement parameters added thereto, wherein the requirement parameters are generated by the contracted data center using the requirement field in the decryption result.
[0009] In an exemplary embodiment, the decryption result includes at least a requirement field, and the second data packet is transmitted using the transmission path corresponding to the decryption result, including: when it is determined that the requirement parameter belongs to a preset requirement parameter, determining the target transmission path corresponding to the requirement parameter from the local network node forwarding path, and using the target transmission path to transmit the second data packet, wherein the requirement field includes at least one of the following: a delay requirement field, a bandwidth requirement field, a jitter requirement field, a packet loss rate requirement field, a computing power type requirement field, a computing power parameter requirement field, and a security requirement field.
[0010] In an exemplary embodiment, the target transmission path that meets the security requirements is determined from the local network node forwarding path, including: determining a first transmission path with a high security level from the local network node forwarding path, and determining the first transmission path as the target transmission path when it is determined that all path nodes of the first transmission path are security nodes and the security requirement field has been encrypted; determining a second transmission path with a medium security level from the local network node forwarding path, and determining the second transmission path as the target transmission path when half of the path nodes in the second transmission path are security nodes and the security requirement field has been encrypted; determining a third transmission path with a low security level from the local network node forwarding path, and determining the third transmission path as the target transmission path when it is determined that at least one path node in the third transmission path is a security node and the security requirement field has been encrypted.
[0011] In an exemplary embodiment, the method further includes: splitting the data packet name according to separator symbols to obtain multiple character strings, wherein each of the multiple character strings contains the same number of separator symbols; determining a group of characters located after the first separator symbol from the characters of each character string, wherein the group of characters includes at least one character; traversing the multiple character strings, and obtaining a target character string corresponding to a group of characters consistent with preset characters from the multiple character strings, wherein the preset characters are characters obtained by encrypting preset characters using a character encryption algorithm; and determining the target character string as the encrypted field.
[0012] According to another aspect of an embodiment of the present application, a method for transmitting data packets based on an NDN network is also provided, which is applied to a client, including: encrypting the demand field of a received service request using an encryption method negotiated with a contracted data center to obtain an encrypted field; inserting the encrypted field into the data packet name of a first data packet, and sending the first data packet to a network access node of the NDN network.
[0013] In an exemplary embodiment, the requirement field of the received business request is encrypted using an encryption method negotiated with the contracted data center to obtain an encrypted field, including: generating an initial random key using a symmetric encryption algorithm, and backing up the initial random key to the contracted data center through a secure channel; encoding the object identifier of the target object using the initial random key to obtain a first group of bytes, and encoding the requirement field of the business request using the initial random key to obtain a second group of bytes; encrypting the first group of bytes and the second group of bytes to obtain the encrypted field.
[0014] According to another aspect of the embodiment of the present application, a method for transmitting data packets based on an NDN network is also provided, which is applied to a contracted data center, including: decrypting an encrypted field from an SDN controller to obtain a decryption result, wherein the decryption result at least includes an object identifier and a requirement field of a target object; when it is determined that the object identifier has local access rights, generating a requirement parameter using the requirement field; adding the requirement parameter to a first data packet obtained from the SDN controller to obtain a second data packet, and sending the second data packet to the SDN controller.
[0015] In an exemplary embodiment, decrypting an encrypted field from an SDN controller includes: decrypting the encrypted field from the SDN controller using an initial random key based on a decryption method, wherein the initial random key is pre-backed up by the client to the contracted data center, and the client and the contracted data center have negotiated the decryption method.
[0016] In an exemplary embodiment, when it is determined that the object identifier has local access rights, the requirement field is used to generate requirement parameters, including: when it is determined that the object identifier of the target object belongs to a database, determining that the object identifier has local access rights; searching the database for historical contract data of the object identifier, and determining the requirement parameters corresponding to the requirement field based on the historical contract data.
[0017] According to another aspect of the embodiment of the present application, a data packet transmission system based on an NDN network is also provided, including: a client, an SDN controller, and a contracted data center; the client is used to encrypt the demand field of the received service request using the encryption method negotiated with the contracted data center to obtain an encrypted field; insert the encrypted field into the data packet name of the first data packet, and send the first data packet to the network access node of the NDN network; the SDN controller is used to parse the first data packet forwarded by the network access node of the NDN network to obtain the data packet name of the first data packet; determine the encrypted field from the data packet name, and send the encrypted field to the contracted data center; the contracted data The data center is used to decrypt the encrypted field from the SDN controller to obtain a decryption result, wherein the decryption result includes at least an object identifier and a requirement field of the target object; when it is determined that the object identifier has local access rights, the requirement field is used to generate a requirement parameter; the requirement parameter is added to a first data packet obtained from the SDN controller to obtain a second data packet, and the second data packet is sent to the SDN controller; the SDN controller is also used to obtain the decryption result; and the second data packet is transmitted using a transmission path corresponding to the decryption result, wherein the network nodes on the transmission path and the network access nodes belong to the same local area network, and the second data packet is the first data packet with the requirement parameter added.
[0018] According to another aspect of an embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the above-mentioned method for transmitting data packets based on the NDN network when running.
[0019] According to another aspect of an embodiment of the present application, an electronic device is also provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the NDN network-based data packet transmission method through the computer program.
[0020] Through the present application, the client encrypts the demand field of the received service request according to the encryption method negotiated with the contracted data center to obtain the encrypted field, inserts the encrypted field to the end of the data packet name of the first data packet, and sends the first data packet to the network access node of the NDN network, and the SDN controller parses the first data packet forwarded by the network access node of the NDN network to obtain the data packet name of the first data packet; determines the encrypted field from the data packet name, and sends the encrypted field to the contracted data center; obtains the decryption result obtained by the contracted data center decrypting the encrypted field; uses the transmission path corresponding to the decryption result to transmit the second data packet, wherein the network nodes on the transmission path and the network access nodes belong to the same local area network, and the second data packet is the first data packet with the demand parameters added. In view of the diversified network service needs of the future network, the network nodes at the entrance of the NDN network can be used to receive user service requests and perceive user service needs (such as network requirements such as bandwidth, latency, jitter, and computing power requirements such as computing power request type and computing power demand parameters). The data name segment of the data packet is then encoded and encrypted, and the network path is customized according to the user's business needs to meet the needs of different users, thereby omitting the process of mapping network resources to host IP addresses, simplifying the content distribution steps, and expanding the scope of network resource sharing. This solves the technical problem that in the NDN network scenario, only general network paths can be used to transmit data packets, and customized network paths cannot be obtained based on the actual needs of the data packet itself, resulting in low data packet transmission efficiency. This achieves the effect of transmitting data packets based on customized network paths in the NDN network, and improves the transmission efficiency of data packets in the NDN network. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The exemplary embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0022] Figure 1 It is a hardware structure block diagram of a computer terminal of the method for transmitting data packets based on an NDN network according to an embodiment of the present application;
[0023] Figure 2 is a flowchart of a method for transmitting a data packet based on an NDN network according to an embodiment of the present application;
[0024] Figure 3 is a schematic diagram of the flow of data packets based on the NDN network according to an embodiment of the present application;
[0025] Figure 4 It is a flowchart of a method for transmitting a data packet based on an NDN network according to an embodiment of the present application;
[0026] Figure 5 is a schematic diagram of an encoding method according to an embodiment of the present application;
[0027] Figure 6 It is a structural block diagram of a data packet transmission system based on an NDN network according to an embodiment of the present application. DETAILED DESCRIPTION
[0028] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0029] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0030] The method embodiments provided in the embodiments of the present application can be executed in a computer terminal or a similar computing device. Taking running on a computer terminal as an example, Figure 1 1 is a hardware structure block diagram of a computer terminal of the method for transmitting data packets based on an NDN network according to an embodiment of the present application. Figure 1 As shown, the computer terminal may include one or more ( Figure 1 Only one is shown in the figure) processor 102 (processor 102 may include but is not limited to a microprocessor (Microprocessor Unit, referred to as MPU) or a programmable logic device (Programmable logic device, referred to as PLD)) and a memory 104 for storing data. In an exemplary embodiment, the computer terminal may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1The structure shown is only for illustration and does not limit the structure of the above-mentioned computer terminal. Figure 1 More or fewer components as shown, or with Figure 1 Equivalent functions or comparisons shown Figure 1 A different configuration with more features is shown.
[0031] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for transmitting data packets based on the NDN network in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the computer terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0032] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of a computer terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0033] Figure 2 is a flow chart of a method for transmitting a data packet based on an NDN network according to an embodiment of the present application, such as Figure 2 As shown, the steps of the method include:
[0034] Step S202, parsing a first data packet forwarded by a network access node of the NDN network to obtain a data packet name of the first data packet;
[0035] Step S204, sending the encrypted field determined from the data packet name to the contract data center, so that the contract data center decrypts the encrypted field to obtain a decryption result, wherein the encrypted field is generated by the client based on the requirement field of the service request;
[0036] Step S206, using the transmission path corresponding to the decryption result to transmit the second data packet, wherein the network nodes on the transmission path and the network access nodes belong to the same local area network, and the second data packet is the first data packet with requirement parameters added, wherein the requirement parameters are generated by the contracted data center using the requirement field in the decryption result.
[0037] Optionally, other data packets may be transmitted based on the transmission path.
[0038] Through this application, the client first needs to encrypt the demand field of the received service request according to the encryption method negotiated with the contracted data center to obtain the encrypted field, insert the encrypted field into the data packet name of the first data packet, and send the first data packet to the network access node of the NDN network, and then the SDN controller parses the first data packet forwarded by the network access node of the NDN network to obtain the data packet name of the first data packet; determine the encrypted field from the data packet name, and send the encrypted field to the contracted data center. The encrypted field is decrypted in the contracted data center, and after obtaining the decryption result, the second data packet is transmitted using the transmission path corresponding to the decryption result, wherein the network node on the transmission path and the network access node belong to the same local area network, and the second data packet is the first data packet with the demand parameters added, which can be used to receive user service requests and perceive user service requirements (such as bandwidth, delay, jitter and other network requirements, computing power request type, computing power requirement parameters, etc.) by using the network node at the entrance of the NDN network for the diversified network service requirements of the future network. The data name segment of the data packet is then encoded and encrypted, and the network path is customized according to the user's business needs to meet the needs of different users, thereby omitting the process of mapping network resources to host IP addresses, simplifying the content distribution steps, and expanding the scope of network resource sharing. This solves the technical problem that in the NDN network scenario, only general network paths can be used to transmit data packets, and customized network paths cannot be obtained based on the actual needs of the data packet itself, resulting in low data packet transmission efficiency. This achieves the effect of transmitting data packets based on customized network paths in the NDN network, and improves the transmission efficiency of data packets in the NDN network.
[0039] Optionally, in one embodiment, the above method is performed using a transmission system of a data packet based on an NDN network, and the transmission system includes a client, a contract data center, and an SDN controller. After the client and the contract data center negotiate the encryption method, the client sends a service request through an interest packet (which can be understood as a first data packet), and encodes and encrypts the user's service requirements (such as the user identifier and the corresponding service request requirement field), and inserts the encrypted field into the data name of the interest packet. The interest packet arrives at the network node at the entrance. At this time, the node does not know how to forward the interest packet, so it forwards it to the SDN controller. The SDN controller obtains the data name of the interest packet, takes out the encrypted part of the data name (i.e., the encrypted field), and forwards the encrypted field to the contract data center. The contract data center decrypts the encrypted field to obtain the encoded data, takes out the user identifier (corresponding to the object identifier) from the encoded data, and determines whether the user is legal. If the user exists in the contract center, the service requirement information requested by the user is continued to be obtained from the encoded data, and the service requirement information includes communication services, computing power services, and security services. And according to the data signed by the user, the relevant parameter information is obtained and returned to the SDN controller, and the SDN controller performs path arrangement according to the returned requirement parameters. The data packet then passes through the corresponding service node and returns to the client according to the arranged path.
[0040] In an exemplary embodiment, the decryption result includes at least a requirement field, and the process of transmitting the second data packet using the transmission path corresponding to the decryption result may include: when it is determined that the requirement parameter belongs to a preset requirement parameter, determining the target transmission path corresponding to the requirement parameter from the local network node forwarding path, and transmitting the second data packet using the target transmission path, wherein the requirement field includes at least one of the following: a delay requirement field, a bandwidth requirement field, a jitter requirement field, a packet loss rate requirement field, a computing power type requirement field, a computing power parameter requirement field, and a security requirement field. This embodiment transmits data packets based on multiple requirement fields, which can improve the service quality of the NDN network.
[0041] It is understandable that by combining the above demand fields, the demand can be presented in multiple dimensions, thereby improving the effectiveness of the representation. For example, by using the URL, the requirements of multiple dimensions can be represented in the form of a URL according to the agreed method, which is simple to describe and convenient to transmit to the routing layer.
[0042] In an exemplary embodiment, the target transmission path may be used to transmit the second data packet, specifically including: sending routing rules to path service nodes in the target transmission path, and controlling intermediate nodes in the target transmission path to forward the second data packet to the client according to the routing rules.
[0043] Optionally, in an exemplary embodiment, determining the target transmission path corresponding to the first requirement parameter from the local network node forwarding path may also include: when it is determined that the requirement field includes a delay requirement field, determining the target transmission path that meets the delay requirement from the local network node forwarding path, wherein the meeting the delay requirement indicates that the current delay is less than a preset delay; or, when it is determined that the requirement field includes a computing power type requirement field, determining the target transmission path that meets the computing power type requirement from the local network node forwarding path, wherein the meeting the computing power type requirement indicates that the current computing power is the computing power from the central processing unit; or, when it is determined that the requirement field includes a security requirement field, determining the target transmission path that meets the security requirement from the local network node forwarding path, wherein the meeting the security requirement indicates that the current security level belongs to the preset security level.
[0044] In an exemplary embodiment, the process of determining the target transmission path that meets the security requirements from the local network node forwarding path also includes: determining a first transmission path with a high security level from the local network node forwarding path, and determining the first transmission path as the target transmission path when it is determined that the path nodes of the first transmission path are all security nodes and the security requirement field has been encrypted; determining a second transmission path with a medium security level from the local network node forwarding path, and determining the second transmission path as the target transmission path when it is determined that half of the path nodes in the second transmission path are security nodes and the security requirement field has been encrypted; determining a third transmission path with a low security level from the local network node forwarding path, and determining the third transmission path as the target transmission path when it is determined that at least one path node in the third transmission path is a security node and the security requirement field has been encrypted.
[0045] In an exemplary embodiment, the data packet name can also be split according to the separator to obtain multiple character strings, wherein each of the multiple character strings contains the same number of separators; a group of characters located after the first separator is determined from the characters of each character string, wherein the group of characters includes at least one character; the multiple character strings are traversed to obtain a target character string corresponding to a group of characters consistent with the preset characters from the multiple character strings, wherein the preset characters are characters obtained by encrypting the preset characters using a character encryption algorithm; and the target character string is determined as the encryption field. In this embodiment, by splitting the data packet name using separators, the data packet name can be effectively decomposed into multiple character strings, each of which contains the same number of separators, which helps to standardize the processing flow of the data packet name. By determining a group of characters located after the first separator in each character string, key information can be extracted, and the group of characters includes at least one character, thereby ensuring the integrity of the information. By traversing multiple character strings and matching the preset characters, the target character string can be accurately identified, wherein the preset characters are obtained by encrypting the preset characters using a character encryption algorithm, which enhances the security of the data. Determining the target string as an encrypted field provides a basis for subsequent secure data transmission and processing.
[0046] Optionally, the separator symbol is, for example, “ / ”.
[0047] Furthermore, the SDN controller can derive the optimal path that satisfies the constraint from the local network node forwarding path under the constraint of the demand field. The optimal path is the target transmission path, and the optimal path is sent to the corresponding routing node. When the interest packet arrives at the node, the interest packet is forwarded according to the routing rules sent by the SDN controller.
[0048] As an optional example, the SDN controller can also monitor the transmission of data packets in real time through network performance monitoring tools when transmitting data packets, collect forwarding data when forwarding data packets (such as actual forwarding delay, bandwidth, packet loss rate and load balancing, etc.), and conduct a comprehensive performance evaluation of the above-mentioned target transmission path based on the monitored transmission conditions, analyze the rationality of the path arrangement, so as to continuously optimize the subsequent arrangement work according to the performance evaluation results, thereby further improving the service quality assurance. Among them, the evaluation parameters required for the comprehensive performance evaluation include at least one of the following: delay, bandwidth utilization, packet loss rate, load balancing, and security. It can be evaluated by staff, or it can be evaluated using a pre-set automatic evaluation program or evaluation algorithm.
[0049] According to another aspect of the embodiment of the present application, a method for transmitting data packets based on an NDN network applied to a client is also provided, and the specific steps include: using an encryption method negotiated with a contracted data center to encrypt the demand field of the received service request to obtain an encrypted field; inserting the encrypted field into the data packet name of the first data packet, and sending the first data packet to the network access node of the NDN network. Optionally, in this embodiment, the communication requirements, computing power requirements or security requirements of the data requested by the user are first encoded by the client to obtain an encoded field, and then the encoded field is encrypted using an encryption algorithm to obtain an encrypted field, and the encrypted field is added to the data name, and then an interest packet with an encrypted field is sent to request data, which can improve the security of the data.
[0050] In this embodiment, preferably, the encryption field can be inserted at the end of the data packet name of the first data packet, so that adding the encryption field as a suffix to the end of the data packet name can improve the orderliness of the data and facilitate subsequent decryption.
[0051] In an exemplary embodiment, the encryption method negotiated with the contract data center is used to encrypt the demand field of the received business request to obtain an encrypted field, including: using a symmetric encryption algorithm to generate an initial random key, and backing up the initial random key to the contract data center through a secure channel; using the initial random key to encode the object identifier of the target object to obtain a first group of bytes, and using the initial random key to encode the demand field of the business request to obtain a second group of bytes; encrypting the first group of bytes and the second group of bytes to obtain the encrypted field. In this embodiment, the security of key management is enhanced by using a symmetric encryption algorithm to generate an initial random key and backing it up to the contract data center through a secure channel. The demand field, object identifier and business request are encoded by the initial random key to obtain the encoded bytes, which provides structured information for further processing of the data. By encrypting the object identifier and the demand field, an encrypted field is obtained, which provides protection for the confidentiality and integrity of the data.
[0052] The client and the contracted data center negotiate an encryption method, such as the AES (Advanced Encryption Standard) encryption algorithm, where the client generates an initial random key and backs up the key to the contracted data center through a secure channel. The AES algorithm uses a block encryption method, with each block having 128 bits. The plaintext needs to be padded and grouped before encryption. It supports three key lengths of 128 bits, 192 bits, and 256 bits, and implements encryption through multiple iterations.
[0053] Optionally, you can also use the RSA (Rivest-Shamir-Adleman) algorithm for encryption. RSA is an asymmetric encryption algorithm designed by Ron Rivest, Adi Shamir, and Leonard Adleman in 1977. RSA is widely used in data encryption and digital signatures, especially in SSL / TLS protocols, email encryption, and digital certificates. The algorithm process mainly includes three steps: key generation, encryption, and decryption.
[0054] Furthermore, the client encodes the fields and user identifier of the requested data content requirements (including communication requirements, computing power requirements, and security requirements), such as Figure 5 As shown in the figure, the user identification UE Identify occupies 10 bytes (i.e. the first group of bytes), and the 11th byte Length of parameters contents indicates the byte length required by the user (the user can specify the communication requirements, computing power requirements, and security requirements at the same time). If specified at the same time, the value of this field is 3, i.e. 00000003, indicating that there are three bytes of data length behind.
[0055] The tag indicates the type of demand. Tag1 (i.e., the tag value is 0x01) indicates communication demand, Tag2 (i.e., the tag value is 0x02) indicates computing demand, and Tag3 (i.e., the tag value is 0x03) indicates security demand. When the tag value is 0x01, the following four bits need to specify the specific type of communication demand. These four bits correspond to D (delay), B (bandwidth), J (jitter), and PL (packet loss rate).
[0056] Among them, D is marked as 1, which means there is a delay requirement, B is marked as 1, which means there is a bandwidth requirement, J is marked as 1, which means there is a jitter requirement, PL is marked as 1, which means there is a packet loss rate requirement, and if there is no corresponding requirement, the bit is 0. When the Tag value is 0x02, it means there is a computing power requirement, and the type value needs to be specified. Type 0x01 represents CPU, and type 0x02 represents GPU. When the Tag value is 0x03, the values of s1, s2, and s3 need to be specified. s1 is 1, which means high security, requiring all nodes on the path to be secure nodes, and the encryption algorithm is RSA encryption with high security. s2 is 1, which means medium security, requiring more than half of the nodes on the path to be secure nodes, and the encryption algorithm is AES encryption with moderate security. s3 is 1, which means low security, no requirements are made on the security of the path nodes, and no encryption technology is required.
[0057] The encoding result is encrypted, and the encrypted field is inserted at the end of the data name. For example, the data name of the originally requested interest package is: " / test / ", and the data name of the requested interest package is: " / test / encrypted data". After the assembly is completed, the interest package is sent.
[0058] According to another aspect of the embodiment of the present application, a method for transmitting data packets based on an NDN network applied to a contracted data center is also provided, comprising the following steps: decrypting the encrypted field from the SDN controller to obtain a decryption result, wherein the decryption result at least includes an object identifier and a requirement field of the target object; in the case where it is determined that the object identifier has local access rights, generating a requirement parameter using the requirement field; adding the requirement parameter to the first data packet obtained from the SDN controller to obtain a second data packet, and sending the second data packet to the SDN controller. In this embodiment, the contracted data center decrypts the encrypted field using the corresponding decryption method negotiated with the client, and then decodes the encoded data obtained by decryption to obtain user identification information and service requirement information, which can successfully decrypt the encrypted field and improve the reliability of data packet transmission.
[0059] Furthermore, for the contracted data center, the encrypted field can be decrypted using the corresponding decryption method negotiated with the client and the previously negotiated key, and then the decrypted field is decoded, and the first 10 bytes taken out are determined as user identification information, and then the length of the user demand is obtained based on the 11th byte taken out, and then the type of user demand is obtained based on the Tag, and the user's specific demand information is obtained based on the field after the Tag. The contracted data center then negotiates based on the decoded demand field and the content of the user's contract, and returns the negotiation result to the SDN controller. Among them, the contracted data center negotiates based on the decoded demand field and the content of the user's contract, which can be understood as after determining that the user is legitimate, the contracted data center returns the demand parameters of the user's request based on the user's historical contract data. The relevant demand parameters and their meanings returned by the contracted data center to the SDN controller are shown in Table 1 below.
[0060] Table 1 Types and meanings of demand parameters
[0061]
[0062]
[0063] In Table 1, the latency requirement is: using the prefix " / D / " and the numeric suffix in milliseconds as the encoding format, indicating that the data has a constraint requirement on latency. For example, " / D / 100ms" means that the data requires a latency of no more than 100 milliseconds;
[0064] The bandwidth requirement is encoded using the prefix " / B / " and a numeric suffix in Mbps, indicating that the data has a bandwidth constraint. For example, " / B / 10Mbps" means that the data requires a bandwidth of no less than 10Mbps.
[0065] The jitter requirement is: using the " / J / " prefix and a numeric suffix in milliseconds as the encoding format, indicating that the data has a constraint requirement on jitter. For example: " / J / 10ms" means that the data requires the jitter to be no more than 10 milliseconds;
[0066] The packet loss rate requirement is: using the " / PL / " prefix and a numeric suffix in percentage as the encoding format, indicating that the data has a constraint requirement on the packet loss rate. For example: " / PL / 5%" means that the data requires the packet loss rate not to exceed 5%;
[0067] The computing power type requirement is: use the " / CT / " prefix and the computing power type string suffix as the encoding format, indicating that the data has constraints on the computing power type. For example: " / CT / GPU" means that the data requires GPU type computing power;
[0068] The computing power parameter requirement is: the " / CP / " prefix and the computing power parameter string suffix are used as the encoding format, indicating that the data has constraints on the computing power parameters. For example, " / CP / 2-512MB-8cores" means that the data requires 2 512MB memory and 8 cores of the corresponding type of computing power;
[0069] Security requirements are: use the " / S / " prefix and a three-bit numeric suffix, where the three bits correspond to high security, medium security, and low security, respectively. A corresponding bit of 1 indicates that the requirement exists. For example, " / S / 100" indicates that the data has a high security requirement, requiring all nodes to be secure nodes and using RSA encryption.
[0070] In an exemplary embodiment, decrypting an encrypted field from an SDN controller includes: decrypting the encrypted field from the SDN controller using an initial random key based on a decryption method, wherein the initial random key is pre-backed up by the client to the contracted data center, and the client and the contracted data center have negotiated the decryption method. This embodiment uses the initial random key pre-backed up by the client to the contracted data center to ensure that only authorized clients can decrypt data, thereby enhancing data security. In addition, decryption based on the decryption method ensures the consistency and correctness of data decryption, which is crucial for subsequent processing and use of data.
[0071] In an exemplary embodiment, when it is determined that the object identifier has local access rights, the requirement field is used to generate the requirement parameters, including: when it is determined that the object identifier of the target object belongs to a database, determining that the object identifier has local access rights; searching the database for historical contract data of the object identifier, and determining the requirement parameters corresponding to the requirement field according to the historical contract data. Through this embodiment, the requirement parameters can be determined according to the historical data, and the resource allocation of the database is optimized, and the efficiency of data processing is improved, which helps to improve the security and compliance of the data.
[0072] Next, the method for transmitting data packets based on the NDN network is further described in conjunction with the following embodiments.
[0073] In this embodiment, the network topology and node settings are as follows Figure 3 As shown. Among them, each network node S1 to S8 is a switch, and S2 to S7 are marked with the forwarding delay and computing power type of the node collected by the controller. For example, "10ms-CPU" after S2 means that the forwarding delay of node S2 is 10ms and the computing power type is CPU. The switches marked in orange are secure nodes with a trusted execution environment, and the rest are ordinary nodes. Client1 and Client2 represent clients with different data access rights, Server represents the contracted data center, and Controller represents the SDN controller.
[0074] Further, combined with Figure 4 The following implementation process is proposed, which specifically includes the following steps:
[0075] Step S1: Client1 and Client2 negotiate an encryption method with the contracted data center, such as the AES encryption algorithm. The client randomly generates a 128-bit initial random key and sends the initial random key to the server through a secure channel.
[0076] In step S2, Client1 and Client2 generate a data name with an encrypted field according to the requirements of the requested data, and insert it at the end of the data name of the interest packet. The interest packet represents the first data packet.
[0077] The following uses the data content Data1 requested by Client1 as an example to illustrate step S2 in combination with the following sub-steps:
[0078] ① As shown in Table 2 below, the original data name of the data Data1 requested by Client1 is " / NDN Data Name_1 / ", and the original data name of the data Data2 requested by Client2 is " / NDN Data Name_2 / ". This data has requirements for communication latency, computing power type and security level.
[0079] Table 2 Local access permission table
[0080] User_ID Data name Client1 / NDN Data Name_1 / Client2 / NDN Data Name_2 /
[0081] ②According to Figure 5 The given encoding method encodes the Data1 requirement as follows:
[0082] The first 10 bytes are the user ID: 2089300007486.
[0083] The 11th byte is 0000 0003, indicating that the following length is 3 bytes.
[0084] The 12th byte is 0001 1000, indicating that the requirement is a communication requirement and there is a requirement for latency.
[0085] The 13th byte is 0002 0001, indicating that the demand is a computing power demand and requires the CPU type.
[0086] The 14th byte is 0003 0010, indicating that the requirement is a security requirement and the requirement is medium security, and AES encryption is required.
[0087] ③ According to the AES algorithm, the previously generated initial random key is expanded to generate a series of round keys, and the above fields are encrypted for multiple rounds to generate the ciphertext AES_Encrypt_Parameters.
[0088] ④ Add the ciphertext AES_Encrypt_Parameters to the end of the data name in the format: / NDN DataName_1 / AES_Encrypt_Parameters. According to the NDN network forwarding matching rules, this field has no effect on the NDN data name forwarding.
[0089] ⑤Client1 sends the interest packet to the network to request network data Data1;
[0090] Step S3, the Controller forwards the interest packet with the encrypted field to the contracted data center for query;
[0091] Step S4, the server decrypts the field and performs data content authority matching, which specifically includes the following sub-steps:
[0092] ① The server generates the same round key based on the AES algorithm using the backup key previously obtained through the secure channel, performs corresponding multi-round decryption, and obtains the user ID 2089300007486 and the required field 0000 0003 0001 10000002 00010003 0010;
[0093] ② The server queries Table 2 based on the user identification information to determine whether Client 1 has access rights to Data 1;
[0094] Step S5: If the match is successful, the Server generates corresponding requirement parameters according to the requirement fields and provides data content, and then forwards the data packet with the requirement parameters added to the Controller for path arrangement, which specifically includes the following sub-steps:
[0095] ① Based on the decrypted requirement field, the server learns that the user has requirements for latency, computing power, and security, and generates the requirement parameters of this data " / D / 50ms / CT / CPU / S / 010" based on the user's historical contract data, as shown in Table 3 below, which means that the latency requirement is no more than 50ms, the computing power type requirement is CPU, and the security level is medium security;
[0096] ② After removing the user identification information, the server forwards the data packet with the unencrypted demand parameters added to the Controller;
[0097] ③ According to the data requirement parameter " / D / 50ms / CT / CPU / S / 010", the Controller consults Table 3 below and learns that the user requires the forwarding delay to be no more than 50ms, the computing power type is CPU, and the security level is medium security. Then, according to the network node forwarding graph collected locally, Figure 2 As shown, the calculated path S1-S2-S3-S4-S8 has the lowest forwarding delay of 45ms, and is a CPU-type computing power with more than half of the security nodes. It is a medium-security path and is the optimal forwarding path that meets the user's communication needs, computing power needs, and security needs.
[0098] Table 3 Comprehensive evaluation table of SDN controller paths
[0099]
[0100] ④The Controller sends routing rules to the path service node S1 to meet the routing forwarding of interest packets / data packets;
[0101] Step S6: The intermediate nodes forward the data packets in sequence and forward the NDN data packets to the target client Client1 according to the specified requirements.
[0102] Step S7, SDN monitors the packet forwarding status in real time and collects corresponding data, performs a comprehensive performance evaluation on the forwarding path based on the data, and continuously optimizes subsequent orchestration work based on the performance evaluation results.
[0103] Through the above embodiment, based on the NDN network and path arrangement, the client negotiates the encryption method with the contracted data center, the client sends a service request, encodes the requested service requirements, and then encrypts it, and then inserts the encrypted field into the end of the interest packet data name. The SDN controller receives the interest packet that has not been forwarded by the node, takes out the encrypted field in the data name of the interest packet and sends it to the contracted data center. The contracted data center decrypts and decodes it to obtain the user identification information, and matches the data access rights according to the user identification information to query whether the user exists. If the match is successful, the user exists, and the contracted data center provides the data content that meets the corresponding requirements according to the requirement field and forwards it to the SDN controller. The SDN controller performs path arrangement under the constraints of the requirement field according to the returned data content, obtains a customized network path, and sends the routing rules to the path node, so that when the data packet arrives at the path node along the customized network path, the service node forwards the data packet, thereby customizing the network path according to the different user service requirements of the client, ensuring security while improving service quality and user experience.
[0104] In this embodiment, a transmission device for data packets based on an NDN network is also provided, which is used to implement the above embodiments and preferred implementations, and will not be repeated for what has been described. As used below, the term "module" can implement a combination of software and / or hardware for a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0105] Figure 6 is a structural block diagram of a data packet transmission system based on an NDN network according to an embodiment of the present application. Figure 6 As shown, the data packet transmission device based on the NDN network includes: a client 62, a software defined network SDN controller 64, and a contracted data center 66.
[0106] The client is used to encrypt the demand field of the received service request using the encryption method negotiated with the contracted data center to obtain an encrypted field; insert the encrypted field into the data packet name of the first data packet, and send the first data packet to the network access node of the NDN network;
[0107] The SDN controller is used to parse the first data packet forwarded by the network access node of the NDN network to obtain a data packet name of the first data packet; determine an encrypted field from the data packet name, and send the encrypted field to the contracted data center;
[0108] The contracted data center is used to decrypt the encrypted field from the SDN controller to obtain a decryption result, wherein the decryption result at least includes an object identifier and a requirement field of the target object; if it is determined that the object identifier has local access rights, the requirement field is used to generate a requirement parameter; the requirement parameter is added to a first data packet obtained from the SDN controller to obtain a second data packet, and the second data packet is sent to the SDN controller;
[0109] The SDN controller is also used to obtain the decryption result; use the transmission path corresponding to the decryption result to transmit the second data packet, wherein the network node on the transmission path and the network access node belong to the same local area network, and the second data packet is the first data packet with the demand parameters added.
[0110] Through the present application, the client encrypts the demand field of the received service request according to the encryption method negotiated with the contracted data center to obtain the encrypted field, inserts the encrypted field into the data packet name of the first data packet, and sends the first data packet to the network access node of the NDN network, and the SDN controller parses the first data packet forwarded by the network access node of the NDN network to obtain the data packet name of the first data packet; determines the encrypted field from the data packet name, and sends the encrypted field to the contracted data center; obtains the decryption result obtained by the contracted data center decrypting the encrypted field; uses the transmission path corresponding to the decryption result to transmit the second data packet, wherein the network nodes on the transmission path and the network access nodes belong to the same local area network, and the second data packet is the first data packet with the demand parameters added. In view of the diversified network service needs of the future network, the network nodes at the entrance of the NDN network can be used to receive user service requests and perceive user service needs (such as network requirements such as bandwidth, latency, jitter, and computing power requirements such as computing power request type and computing power demand parameters). The data name segment of the data packet is then encoded and encrypted, and the network path is customized according to the user's business needs to meet the needs of different users, thereby omitting the process of mapping network resources to host IP addresses, simplifying the content distribution steps, and expanding the scope of network resource sharing. This solves the technical problem that in the NDN network scenario, only general network paths can be used to transmit data packets, and customized network paths cannot be obtained based on the actual needs of the data packet itself, resulting in low data packet transmission efficiency. This achieves the effect of transmitting data packets based on customized network paths in the NDN network, and improves the transmission efficiency of data packets in the NDN network.
[0111] Further, in an exemplary embodiment, the decryption result includes at least a demand field, and the SDN controller is further used to: when it is determined that the demand parameter belongs to a preset demand parameter, determine the target transmission path corresponding to the demand parameter from the local network node forwarding path, and use the target transmission path to transmit the second data packet, wherein the demand field includes at least one of the following: a delay demand field, a bandwidth demand field, a jitter demand field, a packet loss rate demand field, a computing power type demand field, a computing power parameter demand field, and a security demand field. This embodiment transmits data packets based on multiple demand fields, which can improve the service quality of the NDN network.
[0112] In an exemplary embodiment, the SDN controller is also used to: determine a first transmission path with a high security level from the local network node forwarding path, and when it is determined that the path nodes of the first transmission path are all security nodes and the security requirement field has been encrypted, determine the first transmission path as the target transmission path; determine a second transmission path with a medium security level from the local network node forwarding path, and when it is determined that half of the path nodes in the second transmission path are security nodes and the security requirement field has been encrypted, determine the second transmission path as the target transmission path; determine a third transmission path with a low security level from the local network node forwarding path, and when it is determined that at least one path node in the third transmission path is a security node and the security requirement field has been encrypted, determine the third transmission path as the target transmission path.
[0113] In an exemplary embodiment, the SDN controller is also used to: when it is determined that the requirement field includes a delay requirement field, determine a target transmission path that meets the delay requirement from the local network node forwarding path, wherein the meeting the delay requirement indicates that the current delay is less than a preset delay; or, when it is determined that the requirement field includes a computing power type requirement field, determine a target transmission path that meets the computing power type requirement from the local network node forwarding path, wherein the meeting the computing power type requirement indicates that the current computing power is the computing power from the central processing unit; or, when it is determined that the requirement field includes a security requirement field, determine a target transmission path that meets the security requirement from the local network node forwarding path, wherein the meeting the security requirement indicates that the current security level belongs to the preset security level.
[0114] In an exemplary embodiment, the SDN controller is further used to: send routing rules to the path service nodes in the target transmission path, and control the intermediate nodes in the target transmission path to forward the second data packet to the client according to the routing rules.
[0115] In an exemplary embodiment, the SDN controller is further used to: split the data packet name according to separators to obtain multiple character strings, wherein each of the multiple character strings contains the same number of separators; determine a group of characters located after the first separator from the characters of each character string, wherein the group of characters includes at least one character; traverse the multiple character strings, and obtain a target character string corresponding to a group of characters consistent with preset characters from the multiple character strings, wherein the preset characters are characters obtained by encrypting preset characters using a character encryption algorithm; and determine the target character string as the encrypted field.
[0116] Furthermore, in an exemplary embodiment, the client is also used to generate an initial random key using a symmetric encryption algorithm, and back up the initial random key to the contracted data center through a secure channel; use the initial random key to encode the object identifier of the target object to obtain a first group of bytes, and use the initial random key to encode the requirement field of the business request to obtain a second group of bytes; encrypt the first group of bytes and the second group of bytes to obtain the encrypted field.
[0117] Furthermore, in an exemplary embodiment, the contracted data center is also used to decrypt the encrypted field from the SDN controller using an initial random key based on a decryption method, wherein the initial random key is pre-backed up by the client to the contracted data center, and the client and the contracted data center have negotiated the decryption method.
[0118] In an exemplary embodiment, the contract data center is also used to determine that the object identifier of the target object has local access rights when it is determined that the object identifier belongs to a database; search the database for historical contract data of the object identifier, and determine the demand parameters corresponding to the demand field based on the historical contract data.
[0119] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a readable storage medium (such as ROM / RAM, a disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods of each embodiment of the present application.
[0120] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0121] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0122] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0123] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program:
[0124] S1, parsing a first data packet forwarded by a network access node of the NDN network to obtain a data packet name of the first data packet;
[0125] S2, sending the encrypted field determined from the name of the data packet to the contract data center, so that the contract data center decrypts the encrypted field to obtain a decryption result, wherein the encrypted field is generated by the client based on the requirement field of the service request;
[0126] S3, use the transmission path corresponding to the decryption result to transmit the second data packet, wherein the network nodes on the transmission path and the network access nodes belong to the same local area network, and the second data packet is the first data packet with requirement parameters added, wherein the requirement parameters are generated by the contracted data center using the requirement field in the decryption result.
[0127] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0128] Optionally, in this embodiment, the electronic device may also be configured to execute steps S1, S2 and S3 via a computer program.
[0129] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.
[0130] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.
[0131] The embodiments of the present application also provide a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the steps in any one of the above method embodiments.
[0132] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0133] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0134] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.
Claims
1. A method for transmitting a data packet based on an NDN network, characterized in that: Applied to software defined network (SDN) controllers, including: Parsing a first data packet forwarded by a network access node of the NDN network to obtain a data packet name of the first data packet; Sending the encrypted field determined from the name of the data packet to the contract data center so that the contract data center decrypts the encrypted field to obtain a decryption result, wherein the encrypted field is generated by the client based on the requirement field of the service request; The second data packet is transmitted using the transmission path corresponding to the decryption result, wherein the network nodes on the transmission path and the network access nodes belong to the same local area network, and the second data packet is the first data packet with requirement parameters added thereto, wherein the requirement parameters are generated by the contracted data center using the requirement fields in the decryption result.
2. The method for transmitting data packets based on the NDN network according to claim 1, characterized in that: The decryption result includes at least a requirement field, and the second data packet is transmitted using a transmission path corresponding to the decryption result, including: When it is determined that the demand parameter belongs to the preset demand parameter, the target transmission path corresponding to the demand parameter is determined from the local network node forwarding path, and the second data packet is transmitted using the target transmission path, wherein the demand field includes at least one of the following: delay requirement field, bandwidth requirement field, jitter requirement field, packet loss rate requirement field, computing power type requirement field, computing power parameter requirement field, and security requirement field.
3. The method for transmitting data packets based on the NDN network according to claim 2, characterized in that: Determining the target transmission path that meets the security requirements from the local network node forwarding path includes: Determine a first transmission path with a high security level from the local network node forwarding path, and when it is determined that all path nodes of the first transmission path are secure nodes and the security requirement field has been encrypted, determine the first transmission path as the target transmission path; Determine a second transmission path with a medium security level from the local network node forwarding path, and determine the second transmission path as the target transmission path when half of the path nodes in the second transmission path are determined to be secure nodes and the security requirement field has been encrypted; A third transmission path with a low security level is determined from the local network node forwarding path, and when it is determined that at least one path node in the third transmission path is a security node and the security requirement field has been encrypted, the third transmission path is determined as the target transmission path.
4. The method for transmitting data packets based on the NDN network according to claim 1, characterized in that: The method further comprises: Splitting the data packet name according to the separator symbols to obtain multiple character strings, wherein each of the multiple character strings contains the same number of separator symbols; Determine a group of characters located after the first separator from the characters of each character string, wherein the group of characters includes at least one character; Traversing the multiple character strings, obtaining a target character string corresponding to a group of characters consistent with preset characters from the multiple character strings, wherein the preset characters are characters obtained by encrypting the preset characters using a character encryption algorithm; The target character string is determined as the encrypted field.
5. A method for transmitting a data packet based on an NDN network, characterized in that: Applied to the client, including: Encrypt the requirement field of the received business request using the encryption method agreed upon with the contracted data center to obtain an encrypted field; The encrypted field is inserted into a data packet name of a first data packet, and the first data packet is sent to a network access node of an NDN network.
6. The method for transmitting data packets based on the NDN network according to claim 5, characterized in that: The required fields of the received business request are encrypted using the encryption method agreed upon with the contracted data center to obtain the encrypted fields, including: Generate an initial random key using a symmetric encryption algorithm, and back up the initial random key to the contract data center through a secure channel; Encoding the object identifier of the target object using the initial random key to obtain a first group of bytes, and encoding the requirement field of the service request using the initial random key to obtain a second group of bytes; The first group of bytes and the second group of bytes are encrypted to obtain the encrypted field.
7. A method for transmitting a data packet based on an NDN network, characterized in that: Applicable to contracted data centers, including: Decrypting the encrypted field from the SDN controller to obtain a decryption result, wherein the decryption result at least includes an object identifier and a requirement field of the target object; In the case where it is determined that the object identifier has local access rights, generating a requirement parameter using the requirement field; The requirement parameters are added to a first data packet obtained from the SDN controller to obtain a second data packet, and the second data packet is sent to the SDN controller.
8. The method for transmitting data packets based on the NDN network according to claim 7, characterized in that: Decrypts encrypted fields from the SDN controller, including: The encrypted field from the SDN controller is decrypted using an initial random key based on a decryption method, wherein the initial random key is backed up in advance by the client to the contracted data center, and the client and the contracted data center have negotiated the decryption method.
9. The method for transmitting data packets based on the NDN network according to claim 7, characterized in that: In the case where it is determined that the object identifier has local access rights, generating a requirement parameter using the requirement field includes: In the case where it is determined that the object identifier of the target object belongs to the database, determining that the object identifier has local access rights; The historical contract data of the object identifier is searched in the database, and the requirement parameter corresponding to the requirement field is determined according to the historical contract data.
10. A data packet transmission system based on an NDN network, characterized in that: include: Client, SDN controller, contracted data center; The client is used to encrypt the demand field of the received service request using the encryption method negotiated with the contracted data center to obtain an encrypted field; insert the encrypted field into the data packet name of the first data packet, and send the first data packet to the network access node of the NDN network; The SDN controller is used to parse the first data packet forwarded by the network access node of the NDN network to obtain a data packet name of the first data packet; Determine an encrypted field from the data packet name, and send the encrypted field to the contracted data center; The contracted data center is used to decrypt the encrypted field from the SDN controller to obtain a decryption result, wherein the decryption result at least includes an object identifier and a requirement field of the target object; if it is determined that the object identifier has local access rights, the requirement field is used to generate a requirement parameter; the requirement parameter is added to a first data packet obtained from the SDN controller to obtain a second data packet, and the second data packet is sent to the SDN controller; The SDN controller is also used to obtain the decryption result; use the transmission path corresponding to the decryption result to transmit the second data packet, wherein the network node on the transmission path and the network access node belong to the same local area network, and the second data packet is the first data packet with the demand parameters added.
11. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, wherein the computer program is configured to execute the method according to any one of claims 1 to 9 when executed.
12. An electronic device, characterized in that: The method comprises a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the method according to any one of claims 1 to 9 through the computer program.
13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 9 are implemented.
Citation Information
Patent Citations
Data transmission method based on SDN, SDN controller and SDN system
CN106685903A
SRv6 protocol forwarding path transmission method, device, equipment and medium
CN117061190A
Named data network communication method
CN117318927A
Data storage and forwarding method and system based on application awareness
CN117439765A
Content-based transport security
US20150222424A1