Data transmission method, system and device of named data network and storage medium

By exchanging state data only with neighbor nodes in the named data network, forming a local network view and generating a routing table, the resource consumption problem caused by global view synchronization in the traditional network is solved, and efficient data transmission is achieved.

CN119652812AActive Publication Date: 2025-03-18NAT UNIV OF DEFENSE TECH
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411797643.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-09
Publication Date
2025-03-18
Estimated Expiration
2044-12-09

AI Technical Summary

Technical Problem

Traditional named data networks require global view synchronization in large-scale network topology, resulting in large-scale data transmission, complex routing and computing, and consume a lot of computer resources and bandwidth.

Method used

In the named data network, each node only exchanges and synchronizes status data with neighboring nodes, and does not exchange it with any other node in the network. By generating adjacent link status announcements and name link status announcements, a local network view is formed and a routing table is generated to reduce the amount of data calculated by routing.

Benefits of technology

Through local state synchronization and routing calculation, the state data transmission amount and routing calculation complexity are reduced, computer resources and bandwidth are saved, and data transmission efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119652812A_ABST
    Figure CN119652812A_ABST
Patent Text Reader

Abstract

The invention belongs to the field of data transmission, and particularly relates to a data transmission method, system and device of a named data network and a storage medium, and the method comprises the following steps: establishing communication between a current node and a neighbor node to obtain a network state of the neighbor node, registering a name prefix of the neighbor node in an active state, generating an adjacent link state announcement and a name link state announcement, then performing data exchange with a neighbor node to obtain data of the neighbor node, storing the data into a network link state database, obtaining a routing forwarding table according to the network link state database of the current node, and forwarding the routing forwarding table to the current node; and determining a data cache node and a target node for transmitting data according to the routing forwarding table. The method has the advantages of being high in state data synchronization speed, small in state data transmission amount, high in routing calculation speed and small in routing calculation overhead.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of data transmission, and in particular relates to a data transmission method, system, device and storage medium of a named data network. Background Art

[0002] The currently widely used network architecture is the traditional IP network based on "end-to-end" communication. For example, the traditional IP network architecture is centered on IP addresses and does not focus on the data content itself; it is increasingly difficult to meet the development needs of future networks in terms of reliability, data confidentiality and integrity, and mobility. In order to adapt to the development trend of future networks, in 2010, the National Science Foundation (NFS) of the United States initiated a future network architecture research project, and the Named Data Networking (NDN) was born. In the underlying architecture of the named data network, the named data network uses two different types of data packets to communicate, namely interest packets and data packets. The interest packet is the name of the data that the consumer wants to get, which is encapsulated in the packet and transmitted on the network. The routing node will forward the interest packet to the data publisher based on the name. When the interest packet arrives at a certain node and the node has matching data, the node will return its data packet to the requester via the opposite path. At the same time, in order to realize the communication of the named data network, that is, to realize the forwarding function of the interest packet and the data packet, each named data network routing node contains three data structures, namely the interest table, the forwarding table, and the cache table, as well as related forwarding strategies.

[0003] In the related technology, the commonly used named data network routing protocol is the traditional named data network link state routing protocol (NLSR) developed by the named data network open source project team (one of the four future network architecture projects funded by the National Science Foundation of the United States). The bottom layer of the NLSR routing protocol uses a full synchronization protocol to synchronize the routing state updates held by each node, allowing adjacent nodes to exchange all the routing state update data they hold, so that the network link state database (LSDB) of each node is synchronized with each other. In the process of synchronizing routing updates with the NLSR routing protocol, the process is essentially a process of recursive and iterative transmission of synchronization data. If the network topology is large, the number of recursive and iterative transmissions of synchronization data will be large. In summary, after the NLSR routing protocol has gone through the synchronous data recursive iterative transmission process, each node in the network topology will hold a global view of the entire network (global network link state database), that is, each node can perceive the existence and location of any node in the network topology. When each node in the network has obtained the global view of the entire network (global network link state database), each node will call the Dijkstra shortest path algorithm to calculate the shortest routing path between the current node and other nodes in the network topology according to the entire global network view, and record the calculated path routing forwarding interface and form a routing forwarding table for the current node to the destination node. In addition, since multi-path routing is supported in the named data network, that is, multiple routing paths are supported between the current node and the destination node, each node will traverse its own interfaces in turn to call the Dijkstra shortest path algorithm to calculate all the shortest path routes from the current node to the destination node, and then sort all the calculated shortest path routes according to the path cost, select the shortest few path routes and record the selected shortest path routing forwarding interface to form a multi-path routing forwarding table.

[0004] Regarding the above-mentioned related technologies, in traditional named data networks, since each node in the network uses a fully synchronized protocol to obtain a global view of the entire network, all nodes in the network topology must synchronize their respective routing status update data with each other, which means that all nodes in a large-scale network topology need to spend a long time to establish a global view of the entire network and consume a huge amount of bandwidth traffic resources. Summary of the invention

[0005] The technical problem to be solved by the present invention is to provide a data transmission method, system, device and storage medium for a named data network, which can reduce the amount of state data transmission and routing calculation and save computer resources.

[0006] A method for data transmission in a named data network, comprising:

[0007] Establish communication between the current node and the neighboring node, set the node state of the neighboring node that can establish communication to the active state, notify the node state of the neighboring node to the network link state database of the current node, register the name prefix of the neighboring node in the active state in the routing forwarding table of the current node, and generate an adjacent link state advertisement and a name link state advertisement;

[0008] The adjacent link state announcement and the name link state announcement are published through the synchronization protocol of the current node, and after exchanging data with the neighboring node, the latest link state announcement name prefix held by the neighboring node is obtained, and the latest link state announcement name prefix is ​​uploaded to the network link state database of the current node;

[0009] The network link state database sends an interest packet with a prefix of the latest link state announcement name to obtain the corresponding latest link state announcement data from the neighboring node, and stores the latest link state announcement data in the network link state database of the current node to form a network view of the current node, and generates a routing table according to the network view;

[0010] Generate a name prefix table of the current node according to the routing table and the network link state database;

[0011] Registering the name prefix routing information of the name prefix table into the routing forwarding table;

[0012] According to the routing forwarding table, obtaining the relevance of the current node and the relevance of the neighboring nodes;

[0013] Sort the relevance of the neighbor nodes to obtain the neighbor node with the highest relevance to the current node as the target node;

[0014] Determining whether the current node is a data cache node according to the relevance of the current node and a relevance threshold;

[0015] If the current node is a data cache node, it caches the data packets of neighboring nodes;

[0016] If the current node is not a data cache node, the data packet is forwarded through the target node.

[0017] Specifically, in named data network opportunistic routing, each node only needs to exchange and synchronize state data with neighboring nodes, and does not need to exchange and synchronize state data with any other nodes in the network topology. That is, the transmission of state data only requires one hop to enable the nodes in the network to achieve the synchronization process, which saves the time of state data synchronization compared to obtaining the state of each node in the network.

[0018] In named data networking opportunistic routing, named data networking only needs to transmit the node's status data between its neighboring nodes (between neighboring links), instead of spreading the node's status data to the entire network. Compared with named data networking link state routing, it reduces network bandwidth traffic consumption.

[0019] In named data network opportunistic routing, each node only needs to perform routing calculation based on the degree (association) of all its neighbor nodes, without using the global information of all nodes in the network for routing calculation, that is, the amount of data processed for routing calculation is very small.

[0020] When acquiring data, since the filtered data cache nodes are used, it is only necessary to find the data cache nodes to find the corresponding data, thereby speeding up the process of acquiring the named data.

[0021] Optionally, the adjacent link state notification includes a list of all active neighbor nodes of the current node, the number of neighbor nodes, and a link cost connecting each neighbor node.

[0022] Optionally, notifying the node status of the neighboring node to the network link state database of the current node includes:

[0023] Get the preset period;

[0024] According to the preset period, a hello message is sent to the neighbor node to obtain the latest status notification of the neighbor node.

[0025] Optionally, establishing communication between the current node and the neighboring node includes:

[0026] Get the current network status and communication link status of the named data network;

[0027] If the current network state is stable and the communication link state is accessible, the current node will establish communication with the neighboring node.

[0028] Optionally, forwarding the data packet through the target node includes:

[0029] Get the preset life cycle of the data packet;

[0030] If the data packet is not within the preset life cycle or the forwarding hop count from the current node to the target node is 0, the data packet will be discarded;

[0031] If the data packet is within the preset life cycle and the forwarding hop count from the current node to the target node is not 0, the data packet is forwarded through the target node.

[0032] Optionally, if the data packet is within the preset life cycle and the number of forwarding hops from the current node to the target node is not 0, the method further includes:

[0033] When a data packet is transmitted between the current node and the target node, it is determined whether a loop is generated, wherein a data packet is forwarded multiple times in one node;

[0034] If a loop occurs, the data packet is discarded;

[0035] If no loop is generated, the data packet of the current node is transmitted to the target node.

[0036] A data transmission system for a named data network, comprising:

[0037] The first generation module is used to establish communication between the current node and the neighbor node, set the node state of the neighbor node that can establish communication to the active state, notify the node state of the neighbor node to the network link state database of the current node, register the name prefix of the neighbor node in the active state in the routing forwarding table of the current node, and generate an adjacent link state advertisement and a name link state advertisement;

[0038] An exchange module is used to publish the adjacent link state announcement and the name link state announcement through the synchronization protocol of the current node, obtain the latest link state announcement name prefix held by the neighboring node after exchanging data with the neighboring node, and upload the latest link state announcement name prefix to the network link state database of the current node;

[0039] A network view generation module is used for the network link state database to send an interest packet with a prefix of the latest link state announcement name so as to obtain the corresponding latest link state announcement data from the neighboring node, and store the latest link state announcement data in the network link state database of the current node to form a network view of the current node, and generate a routing table according to the network view;

[0040] A second generating module, used to generate a name prefix table of the current node according to the routing table and the network link state database;

[0041] A registration module, used for registering the name prefix routing information of the name prefix table into a routing forwarding table;

[0042] An acquisition module, used to obtain the relevance of the current node and the relevance of the neighboring nodes according to the routing forwarding table;

[0043] A sorting module is used to sort the relevance of the neighbor nodes and obtain the neighbor node with the highest relevance to the current node as the target node;

[0044] A judgment module, used to determine whether the current node is a data cache node according to the relevance of the current node and a relevance threshold;

[0045] A first execution module, configured to cache data packets of neighboring nodes if the current node is a data cache node;

[0046] The second execution module is used to forward the data packet through the target node if the current node is not a data cache node.

[0047] Optionally, the second execution module includes:

[0048] An acquisition unit, used for acquiring a preset life cycle of a data packet;

[0049] A first execution unit, configured to discard the data packet if the data packet is not within the preset life cycle or the forwarding hop count from the current node to the target node is 0;

[0050] The second execution unit is used to forward the data packet through the target node if the data packet is within the preset life cycle and the forwarding hop count from the current node to the target node is not 0.

[0051] A terminal device comprises a memory and a processor. The memory stores a computer program that can be run on the processor. When the processor loads and executes the computer program, a data transmission method of a named data network is adopted.

[0052] A computer-readable storage medium stores a computer program. When the computer program is loaded and executed by a processor, a data transmission method of a named data network is adopted.

[0053] The beneficial effects of the present invention are:

[0054] In a named data network, a current node establishes communication with a neighbor node, and notifies the node status of the neighbor node to the network link state database of the current node, generates an adjacent link state notification and a name link state notification, and then publishes them through a synchronization protocol, and its neighbor nodes exchange data, and the latest link state notification name prefix held by the neighbor node is updated to the network link state database, and the network link state database sends an interest packet of the latest link state notification name prefix to obtain the corresponding latest link state notification data from the neighbor node, and stores the latest link state notification data in the network link state database of the current node, forming a network view of the current node, and generating a routing table according to the network view, obtaining a name prefix table through the routing table and registering it in a routing forwarding table, obtaining the relevance of the current node and the relevance of the neighbor node according to the routing forwarding table, confirming whether the current node is a data cache node according to the relevance, and obtaining a target node by sorting the relevance of the neighbor nodes, if the current node is a data cache node, then caching the data packet of the neighbor node, if the current node is not a data cache node, then forwarding the data packet through the target node. The present application has the characteristics of fast state data synchronization, small state data transmission volume, fast routing calculation speed and low routing calculation overhead, without the need to obtain data of all nodes when synchronizing data. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] Figure 1 A schematic diagram of a flow chart of a method for data transmission in a named data network according to the present invention;

[0056] Figure 2 This is an overview of the composition architecture of the named data network opportunistic routing protocol project of the present invention;

[0057] Figure 3 This is a diagram showing the composition architecture of the synchronization protocol of the present invention. DETAILED DESCRIPTION

[0058] A method for transmitting data in a named data network, such as Figure 1 As shown, including:

[0059] S100. Establish communication between the current node and the neighboring node, set the node status of the neighboring node that can establish communication to the active state, notify the network link state database of the current node of the node status of the neighboring node, register the name prefix of the active neighboring node in the routing forwarding table of the current node, and generate an adjacent link state announcement and a name link state announcement.

[0060] Specifically, named data networking is a new type of network architecture. Unlike traditional address-based networks (such as the Internet), NDN uses data rather than location (address) for naming and transmission.

[0061] Establishing communication between the current node and the neighboring node includes:

[0062] Get the current network status and communication link status of the named data network.

[0063] If the current network state is stable and the communication link state is accessible, the current node will establish communication with the neighboring node.

[0064] Specifically, the current network state is in a stable state, which means that the topology, nodes and links in the network remain relatively unchanged, the entire network operates well, there is no frequent node joining or leaving, and there is no large-scale network failure.

[0065] A reachable communication link means that the connection between nodes is smooth, that is, the nodes can successfully send and receive data packets without blocking or loss. This usually means that the network bandwidth is sufficient, the latency is low, and there are no physical layer or link layer problems affecting communication.

[0066] When the current network state is stable and the communication link state is accessible, the current node can establish communication with the neighboring node.

[0067] The network link state database that notifies the node status of neighboring nodes to the current node includes:

[0068] Get the preset period;

[0069] According to the preset period, send hello messages to neighbor nodes to obtain the latest status notification of neighbor nodes.

[0070] Specifically, the preset period can be set by yourself, and hello messages are sent regularly to synchronize the status of neighboring nodes. When the status of neighboring nodes changes, the network link status database in the routing protocol project is notified. Hello messages are a common type of network protocol used for communication and management between nodes. Hello messages are used to discover other adjacent nodes and help devices in the network identify the surrounding environment and available connections. By sending "Hello" messages regularly, nodes can monitor the activity status of adjacent nodes and determine whether their links are valid.

[0071] Specifically, the node status of neighbor nodes includes active status and inactive status. Only nodes in active status can establish communication and exchange data. The name prefix identifies the connection status and neighbor discovery information between nodes, helping subsequent routing protocols synchronize the routing status updates of these active neighbor nodes.

[0072] The neighbor link state advertisement includes a list of all active neighbor nodes of the current node, the number of neighbor nodes, and the link cost connecting each neighbor node. Name link state advertisement is a message used in network routing protocols to propagate link state information related to a specific name prefix, and contains the name prefix that the current node wants to publish data to the outside.

[0073] S110. Publish the adjacent link state announcement and the name link state announcement through the synchronization protocol of the current node, obtain the latest link state announcement name prefix held by the neighboring node after exchanging data with the neighboring node, and upload the latest link state announcement name prefix to the network link state database of the current node.

[0074] Specifically, after the current node and all its neighboring nodes have published their own link state announcement latest name prefixes through the synchronization protocol, the current node will synchronize the latest link state announcement name prefixes held by each neighboring node in the network through the synchronization protocol, and the synchronization protocol will notify the LSDB (network link state database) of the latest link state announcement name prefix obtained from the network.

[0075] Synchronization protocol: used to synchronize the link state update name prefix (index) held by neighboring nodes and publish their latest link state update name prefix (index). When a new link state update name prefix (index) is synchronized from the network, the network link state database (LSDB) module will be notified to obtain the link state update data of the name prefix (index). The synchronization protocols currently available in routing protocols are: PSync (partial and full synchronization library), ChronoSync (named data network distributed application synchronization library), ndn-svs (state vector synchronization protocol library) and PartialSync (partial synchronization protocol library).

[0076] S120. The network link state database sends an interest packet with the latest link state announcement name prefix to obtain the corresponding latest link state announcement data from the neighboring node, and stores the latest link state announcement data to the network link state database of the current node to form a network view of the current node, and generates a routing table based on the network view.

[0077] Network Link State Database: Stores / synchronizes the latest LSA (Link State Advertisement) data obtained by the current node from the entire network, so that the current node has a global view or a local view of the entire network.

[0078] Specifically, when the LSDB (network link state database) of a node senses the latest link state announcement name prefix in the network, the LSDB (network link state database) will send an interest packet for the name prefix to the network in order to obtain the latest link state announcement data corresponding to the name prefix from the neighboring node. The LSDB (network link state database) will store the latest link state announcement data obtained to form the global view / local view of the network held by the current node itself.

[0079] When the node's LSDB (network link state database) completes the network status update synchronization work (building the network global view / network local view), it will select and call the corresponding routing table calculator to complete the routing table calculation. For example, the named data network opportunistic routing (NOR) protocol project will call the opportunistic routing table calculator (OpportunisticCalculator) to complete the routing table calculation.

[0080] Routing table calculator: Use the network link state data (network global view / network local view) stored in the current node LSDB (network link state database) to complete the routing table calculation. According to the routing calculation method adopted by the routing protocol project in actual operation, different routing calculators will be selected to complete the routing calculation. The optional routing table calculators for this routing protocol project are: LinkState Calculator (network link state routing table calculator), HyperbolicCalculator (hyperbolic routing table calculator) and Opportunistic Calculator (opportunistic routing table calculator).

[0081] Routing table: A table that stores and maintains information about the destination node in the network and all its next hops.

[0082] S130: Generate a name prefix table of the current node according to the routing table and the network link status database.

[0083] Specifically, after the node's routing table is generated, the routing information recorded in the routing table and the name prefix notification information base of each network node stored in the LSDB (network link state database) will be used to convert and generate the required name prefix table. The name prefix table mainly refers to the structure that stores the prefix information related to the name of each node in the network. Through the name prefix table, the node can quickly find the routing information related to the prefix, which helps to perform efficient data forwarding. The name prefix table summarizes each prefix and its corresponding reachable node information, so that nodes in the network can choose the best path to access the target data as needed. Routing information refers to the various data and its attributes used to determine the transmission path of data packets in the network.

[0084] Name prefix table: stores and maintains the table entries of the advertised name prefixes and all their next hop information in the network.

[0085] S140: Register the name prefix routing information of the name prefix table into the routing forwarding table.

[0086] Specifically, when the name prefix table of the node is generated, the name prefix table will use the interface provided by the forwarding table module to register the name prefix routing information recorded in itself into the routing forwarding table of the named data network forwarder (NFD), or cancel certain routing items in the routing forwarding table of the named data network forwarder (NFD).

[0087] The routing table is a data structure used by network devices (such as routers) to store routing information. It contains entries about how each address in the network is accessed and is a key component to ensure that data packets can be transmitted effectively.

[0088] In the present application, the named data network opportunistic routing protocol (NOR) only needs to update the status data between each node and its neighboring nodes when synchronizing status update data, rather than updating the status data between each node and all nodes in the network. That is, when exchanging data with neighboring nodes, the current node only exchanges the data of the neighboring nodes connected to it, and the data of other network nodes is not obtained, which reduces the status update and routing calculation.

[0089] In this application, the PSync (Partial and Full Sync library) synchronization protocol library is used by default to implement the synchronization process of status update data.

[0090] In the field of named data networking, the model for obtaining named data is the producer / consumer model. The producer node is responsible for publishing data to the outside, and the consumer sends a request to subscribe to the data to the network. The named data network routes the request, so that the consumer can finally subscribe to obtain the required named data.

[0091] Routing forwarding table: This functional component is not the so-called routing forwarding table in the routing protocol project (named data network), but is used to help this routing protocol project interact with the real routing forwarding table in the named data network forwarder (NFD) to complete the registration and deregistration of related routes.

[0092] S150: Obtain the relevance of the current node and the relevance of neighboring nodes according to the routing forwarding table.

[0093] Specifically, during the construction of the routing table, all nodes in the network topology will know the relevance of the current node itself and the relevance of neighboring nodes, where the relevance is the number of neighbors of the node.

[0094] S160 , sorting the relevance of neighbor nodes, obtaining the neighbor node with the highest relevance to the current node as the target node.

[0095] S170: Determine whether the current node is a data cache node according to the relevance of the current node and a relevance threshold.

[0096] Specifically, the data cache node is used to store requested data copies to improve data availability and access efficiency. Figure 2 As shown in the figure, the relevance threshold is set to 3. The green arrows indicate the final data transmission path and Interest message forwarding port calculated by each node after exchanging relevance with neighboring nodes. The blue arrows indicate how the data generator transmits the important data that needs to be synchronized according to the opportunistic routing, so as to "infect" the data to other nodes as quickly as possible, and cache the data in the data cache nodes on the "infection" path to increase the probability of other nodes obtaining the content and enhance the robustness of the network. The points involved in the Critical Path marked in red in the figure are the data cache points selected for the content in the network. In the network topology, there is not always a complete Critical Path, because the opportunistic routing protocol is essentially built based on a distributed local view, and there is no global view to support the construction of a complete Critical Path to maximize the probability of other nodes obtaining content. The more common situation is that there are multiple critical paths that are not directly connected in the network (that is, the various data cache points are not all directly interconnected). At this time, routing is needed to inform other nodes of data accessibility. From another perspective, this also relieves the pressure of content caching in the entire network.

[0097] S180: If the current node is a data cache node, cache data packets of neighboring nodes.

[0098] S190: If the current node is not a data cache node, forward the data packet through the target node.

[0099] Forwarding a packet through a destination node involves:

[0100] Get the preset life cycle of the data packet;

[0101] If the data packet is not within the preset life cycle or the forwarding hop count from the current node to the target node is 0, the data packet will be discarded;

[0102] If the data packet is within the preset life cycle and the forwarding hop count from the current node to the target node is not 0, the data packet is forwarded through the target node.

[0103] Specifically, the life cycle refers to the time limit for a data packet to exist in the network. Each data packet can be forwarded or processed within its life cycle. After this time, the data packet will be discarded or invalid.

[0104] When the lifetime is not zero, it means that the data packet is still valid and can be accepted and processed by nodes in the network. This is an important mechanism to ensure that data arrives in a timely and secure manner.

[0105] The forwarding hop count is the number of nodes that a data packet passes through from the source node to the destination node. The hop count increases by one for each node it passes through.

[0106] If the forwarding hop count is not zero, it means that the data packet has passed through at least one node in the network. This usually means that the data packet has not yet reached the destination, or that it needs to pass through multiple intermediate nodes for routing during the transmission process.

[0107] If the data packet is within the preset life cycle and the forwarding hop count from the current node to the target node is not 0, it includes:

[0108] When a data packet is transmitted between the current node and the target node, check whether a loop is generated. A loop is when a data packet is forwarded multiple times in a node.

[0109] If a loop occurs, the data packet is discarded;

[0110] If no loop is generated, the data packet of the current node is transmitted to the target node.

[0111] Specifically, avoiding loops is an important principle to ensure data transmission efficiency and rational use of network resources. Not generating loops means that when a data packet is forwarded in the network, it is ensured that it does not circulate back and forth between nodes, causing the data packet to propagate unrestrictedly in the network.

[0112] In the field of named data networking, the mode for obtaining named data is the producer / consumer mode. The producer node is responsible for publishing data to the outside, and the consumer sends a request to subscribe to the data to the network. After the named data network routes the request, the consumer finally subscribes to obtain the required named data. The synchronization protocol itself is also an application for obtaining state synchronization named data. Its architecture should follow the producer / consumer mode. That is, the PartialSync partial synchronization protocol designed in this work has the characteristics of a significant producer / consumer mode architecture. The composition architecture of the PartialSync partial synchronization protocol is as follows: Figure 3 As shown,

[0113] The architecture of the PartialSync partial synchronization protocol has a very significant producer / consumer mode feature. In a node, the PartialSync partial synchronization protocol will be manifested in two parts during operation: the consumer and the producer. The consumer part is used to obtain the name prefix of the state update data of the neighboring node, and the producer part is used to publish the name prefix of the node's own state update data to the network. Through the cooperation of the producer and the consumer, the state update data synchronization between the current node and the neighboring node can be easily achieved. Compared with the composition architecture of the full synchronization protocol shown above, the biggest difference between the composition architecture of the partial synchronization protocol shown above and the composition architecture of the full synchronization protocol is that the consumer module of the partial synchronization protocol can subscribe to relevant data according to the needs of the current node, while the consumer module of the full synchronization protocol will not perform any screening and control of the subscription data, but only synchronize all the data held by the neighboring node. However, in actual situations, the architecture of the full synchronization protocol of the named data network may not clearly distinguish between the consumer and producer modules. For example, the PSync full synchronization protocol used by the named data network link state routing protocol completely integrates the consumer and producer modules into one. In the composition architecture of the PartialSync partial synchronization protocol, both the consumer module and the producer module hold some related Bloom filters (libraries / tables), which have the following meanings:

[0114] In the producer module: the reversible Bloom filter stores the name prefix (including the version number) of the status update data published by the current node about itself.

[0115] In the consumer module: the reversible Bloom filter stores the name prefix of the latest status update data that the current node has synchronized from the network (including the version number), while the Bloom filter stores the name prefix of the status update data that the current node wants to subscribe / synchronize from the network (excluding the version number).

[0116] In the actual operation of the PartialSync synchronization protocol, in order to facilitate calculation and control the size of the synchronization interest packet sent, the reversible Bloom filter in the producer module and the consumer module actually stores the 32-bit hash value of the name prefix (including the version number) of the state update data. In addition, the named data network opportunistic routing protocol divides the acquisition of the state update data of the neighbor node into two steps. The first step is to obtain the name prefix (index) of the state update data, and the second step is to obtain the state update data itself. The first step is exactly the responsibility of the PartialSync partial synchronization protocol, that is, the PartialSync partial synchronization protocol only synchronizes the name prefix (index) of the state update data between nodes, rather than synchronizing the state update data between nodes itself. When the LSDB (link state database) obtains the name prefix (index) of the latest state update data synchronized by the synchronization protocol, the LSDB (link state database) will synchronize the state update data between nodes itself.

[0117] By introducing the idea of ​​opportunistic routing strategy and contagion model into the design of existing named data network routing protocols, and using the underlying framework of the named data network link state routing (NLSR) protocol for functional expansion, a prototype of a named data network opportunistic routing protocol (NOR) can be quickly implemented. At the same time, in order to cooperate with the named data network opportunistic routing protocol (NOR) to realize the state data update synchronization between the underlying nodes in the named data network, it is necessary to exchange data based on the producer / consumer model in the named data network.

[0118] The data generated by the producer will be able to spread to each data cache node (key node) on the critical path starting from the producer. When the consumer wants to obtain the data generated by the producer, it can obtain the relevant data from the data cache node (key node) closest to itself on the critical path, thereby speeding up the speed at which consumers route to find and obtain data.

[0119] A data transmission system for a named data network, comprising:

[0120] The first generation module is used to establish communication between the current node and the neighbor node, set the node state of the neighbor node that can establish communication to the active state, notify the node state of the neighbor node to the network link state database of the current node, register the name prefix of the neighbor node in the active state in the routing forwarding table of the current node, and generate an adjacent link state advertisement and a name link state advertisement;

[0121] An exchange module is used to publish the adjacent link state announcement and the name link state announcement through the synchronization protocol of the current node, obtain the latest link state announcement name prefix held by the neighboring node after exchanging data with the neighboring node, and upload the latest link state announcement name prefix to the network link state database of the current node;

[0122] A network view generation module is used for the network link state database to send an interest packet with a prefix of the latest link state announcement name so as to obtain the corresponding latest link state announcement data from the neighboring node, and store the latest link state announcement data in the network link state database of the current node to form a network view of the current node, and generate a routing table according to the network view;

[0123] A second generating module, used to generate a name prefix table of the current node according to the routing table and the network link state database;

[0124] A registration module, used for registering the name prefix routing information of the name prefix table into a routing forwarding table;

[0125] An acquisition module, used to obtain the relevance of the current node and the relevance of the neighboring nodes according to the routing forwarding table;

[0126] A sorting module is used to sort the relevance of the neighbor nodes and obtain the neighbor node with the highest relevance to the current node as the target node;

[0127] A judgment module, used to determine whether the current node is a data cache node according to the relevance of the current node and a relevance threshold;

[0128] A first execution module, configured to cache data packets of neighboring nodes if the current node is a data cache node;

[0129] The second execution module is used to forward the data packet through the target node if the current node is not a data cache node.

[0130] Optionally, the second execution module includes:

[0131] An acquisition unit, used for acquiring a preset life cycle of a data packet;

[0132] A first execution unit, configured to discard the data packet if the data packet is not within the preset life cycle or the forwarding hop count from the current node to the target node is 0;

[0133] The second execution unit is used to forward the data packet through the target node if the data packet is within the preset life cycle and the forwarding hop count from the current node to the target node is not 0.

[0134] The embodiment of the present application also discloses a terminal device, including a memory and a processor. The memory stores a computer program that can be run on the processor. When the processor loads and executes the computer program, a data transmission method of a named data network is adopted.

[0135] The terminal device may be a computer device such as a desktop computer, a laptop computer or a cloud server, and the terminal device includes but is not limited to a processor and a memory. For example, the terminal device may also include input and output devices, a network access device and a bus.

[0136] Among them, the processor can adopt a central processing unit (CPU). Of course, according to actual usage, other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. can also be adopted. The general-purpose processor can adopt a microprocessor or any conventional processor, etc., and this application does not impose any restrictions on this.

[0137] Among them, the memory can be an internal storage unit of the terminal device, such as a hard disk or memory of the terminal device, or it can be an external storage device of the terminal device, such as a plug-in hard disk, a smart memory card (SMC), a secure digital card (SD) or a flash memory card (FC) equipped on the terminal device, etc., and the memory can also be a combination of an internal storage unit and an external storage device of the terminal device. The memory is used to store computer programs and other programs and data required by the terminal device. The memory can also be used to temporarily store data that has been output or is to be output, and this application does not impose any restrictions on this.

[0138] Among them, through this terminal device, a data transmission method of a named data network in the above embodiment is stored in the memory of the terminal device, and is loaded and executed on the processor of the terminal device for easy use.

[0139] The embodiment of the present application further discloses a computer-readable storage medium, and the computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, a data transmission method of a named data network in the above embodiment is adopted.

[0140] Among them, the computer program can be stored in a computer-readable medium, the computer program includes computer program code, the computer program code can be in the form of source code, object code, executable file or certain middleware, etc. The computer-readable medium includes any entity or device that can carry the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the computer-readable medium includes but is not limited to the above-mentioned components.

[0141] Among them, through this computer-readable storage medium, a data transmission method of a named data network in the above embodiment is stored in a computer-readable storage medium, and is loaded and executed on a processor to facilitate the storage and application of the above method.

[0142] A person skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of protection of the present application is limited to these examples. In line with the concept of the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of different aspects of one or more embodiments of the present application as described above, which are not provided in detail for the sake of simplicity.

[0143] One or more embodiments of the present application are intended to cover all such substitutions, modifications and variations that fall within the broad scope of the present application. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of one or more embodiments of the present application should be included in the protection scope of the present application.

Claims

1. A method for data transmission in a named data network, characterized in that: include: Establish communication between the current node and the neighboring node, set the node state of the neighboring node that can establish communication to the active state, notify the node state of the neighboring node to the network link state database of the current node, register the name prefix of the neighboring node in the active state in the routing forwarding table of the current node, and generate an adjacent link state advertisement and a name link state advertisement; The adjacent link state announcement and the name link state announcement are published through the synchronization protocol of the current node, and after exchanging data with the neighboring node, the latest link state announcement name prefix held by the neighboring node is obtained, and the latest link state announcement name prefix is ​​uploaded to the network link state database of the current node; The network link state database sends an interest packet with a prefix of the latest link state announcement name to obtain the corresponding latest link state announcement data from the neighboring node, and stores the latest link state announcement data in the network link state database of the current node to form a network view of the current node, and generates a routing table according to the network view; Generate a name prefix table of the current node according to the routing table and the network link state database; Registering the name prefix routing information of the name prefix table into the routing forwarding table; According to the routing forwarding table, obtaining the relevance of the current node and the relevance of the neighboring nodes; Sort the relevance of the neighbor nodes to obtain the neighbor node with the highest relevance to the current node as the target node; Determining whether the current node is a data cache node according to the relevance of the current node and a relevance threshold; If the current node is a data cache node, it caches the data packets of neighboring nodes; If the current node is not a data cache node, the data packet is forwarded through the target node.

2. The method for data transmission in a named data network as claimed in claim 1, characterized in that: The adjacent link state notification includes a list of all active neighbor nodes of the current node, the number of neighbor nodes, and the link cost connecting each neighbor node.

3. The method for data transmission in a named data network as claimed in claim 1, wherein: The step of notifying the node status of the neighboring node to the network link state database of the current node includes: Get the preset period; According to the preset period, a hello message is sent to a neighboring node to obtain the node status of the neighboring node and notify the network link status database of the current node.

4. The method for data transmission in a named data network as claimed in claim 1, wherein: The establishing of communication between the current node and the neighboring node comprises: Get the current network status and communication link status of the named data network; If the current network state is stable and the communication link state is accessible, the current node will establish communication with the neighboring node.

5. The method for data transmission in a named data network as claimed in claim 1, wherein: The forwarding of the data packet through the target node comprises: Get the preset life cycle of the data packet; If the data packet is not within the preset life cycle or the forwarding hop count from the current node to the target node is 0, the data packet will be discarded; If the data packet is within the preset life cycle and the forwarding hop count from the current node to the target node is not 0, the data packet is forwarded through the target node.

6. The method for data transmission in a named data network as claimed in claim 5, characterized in that: If the data packet is within the preset life cycle and the forwarding hop count from the current node to the target node is not 0, the method further includes: When a data packet is transmitted between the current node and the target node, it is determined whether a loop is generated, wherein a data packet is forwarded multiple times in one node; If a loop occurs, the data packet is discarded; If no loop is generated, the data packet of the current node is transmitted to the target node.

7. A data transmission system for a named data network, characterized in that: include: The first generation module is used to establish communication between the current node and the neighbor node, set the node state of the neighbor node that can establish communication to the active state, notify the node state of the neighbor node to the network link state database of the current node, register the name prefix of the neighbor node in the active state in the routing forwarding table of the current node, and generate an adjacent link state advertisement and a name link state advertisement; An exchange module is used to publish the adjacent link state announcement and the name link state announcement through the synchronization protocol of the current node, obtain the latest link state announcement name prefix held by the neighboring node after exchanging data with the neighboring node, and upload the latest link state announcement name prefix to the network link state database of the current node; A network view generation module is used for the network link state database to send an interest packet with a prefix of the latest link state announcement name so as to obtain the corresponding latest link state announcement data from the neighboring node, and store the latest link state announcement data in the network link state database of the current node to form a network view of the current node, and generate a routing table according to the network view; A second generating module, used to generate a name prefix table of the current node according to the routing table and the network link state database; A registration module, used for registering the name prefix routing information of the name prefix table into a routing forwarding table; An acquisition module, used to obtain the relevance of the current node and the relevance of the neighboring nodes according to the routing forwarding table; A sorting module is used to sort the relevance of the neighbor nodes and obtain the neighbor node with the highest relevance to the current node as the target node; A judgment module, used to determine whether the current node is a data cache node according to the relevance of the current node and a relevance threshold; A first execution module, configured to cache data packets of neighboring nodes if the current node is a data cache node; The second execution module is used to forward the data packet through the target node if the current node is not a data cache node.

8. The data transmission system of named data network as claimed in claim 7, characterized in that: The second execution module includes: An acquisition unit, used for acquiring a preset life cycle of a data packet; A first execution unit, configured to discard the data packet if the data packet is not within the preset life cycle or the forwarding hop count from the current node to the target node is 0; The second execution unit is used to forward the data packet through the target node if the data packet is within the preset life cycle and the forwarding hop count from the current node to the target node is not 0.

9. A terminal device, comprising a memory and a processor, characterized in that: The memory stores a computer program that can be run on the processor, and when the processor loads and executes the computer program, the transmission method according to any one of claims 1 to 7 is adopted.

10. A computer-readable storage medium having a computer program stored therein, characterized in that: When the computer program is loaded and executed by the processor, the transmission method according to any one of claims 1 to 7 is adopted.

Citation Information

Patent Citations

  • Routing method for minimizing transmission delay of high-dynamic delay network

    CN110139319A

  • Domain name system DNS data synchronization method and device, and domain name system

    CN115250265A

  • Link state routing method under multi-identification network

    CN115426308A

  • Data caching method and device for vehicle naming data network

    CN116489220A

  • Method for sharing an FIB table in Named Data Networking and Named Data Network system

    KR102060907B1