CN117395191B - Route addressing method and device of overlay network - Google Patents

Route addressing method and device of overlay network Download PDF

Info

Publication number
CN117395191B
CN117395191B CN202311678570.1A CN202311678570A CN117395191B CN 117395191 B CN117395191 B CN 117395191B CN 202311678570 A CN202311678570 A CN 202311678570A CN 117395191 B CN117395191 B CN 117395191B
Authority
CN
China
Prior art keywords
network node
network
routing
neighbor
super
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311678570.1A
Other languages
Chinese (zh)
Other versions
CN117395191A (en
Inventor
李茁
裘骐
张立林
路晓川
金文慧
刘智帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Huaying Ansheng Technology Development Co ltd
Original Assignee
Beijing Huaying Ansheng Technology Development Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Huaying Ansheng Technology Development Co ltd filed Critical Beijing Huaying Ansheng Technology Development Co ltd
Priority to CN202311678570.1A priority Critical patent/CN117395191B/en
Publication of CN117395191A publication Critical patent/CN117395191A/en
Application granted granted Critical
Publication of CN117395191B publication Critical patent/CN117395191B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Abstract

The application provides a routing addressing method and device of an overlay network, and relates to the technical field of computers, wherein the method comprises the following steps: receiving a query request sent by a first network node, wherein the query request is used for querying a target routing path from the first network node to a second network node; determining a target routing label from the first network node to the second network node based on a network topology of the overlay network; the network topology structure comprises bidirectional routing labels between any adjacent network nodes, and the bidirectional routing labels are used for indicating bidirectional routing paths between the adjacent network nodes; and sending a query response to the first network node, wherein the query response comprises a target routing label, the target routing label is used for indicating a target routing path, and the target routing path is used for carrying out data interaction between the first network node and the second network node. The scheme of the method and the device can reduce response delay in the path addressing process.

Description

Route addressing method and device of overlay network
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a routing addressing method and apparatus for an overlay network.
Background
The overlay network refers to an application layer network, which belongs to one of virtual networks. The overlay network is composed of a plurality of nodes, and the nodes can communicate with each other.
In the overlay network, when data interaction is needed between a certain node and a target node, the node needs to determine a routing path between the node and the target node, so that the data interaction between the two nodes is realized based on the routing path. Currently, distributed hash table (Distributed Hash Table, DHT) routing addressing schemes are commonly employed to determine routing paths. When the node needs to find the route path of the target node, firstly, selecting the node closest to the target node as the initial node according to the information of other nodes stored by the node and the hash value of the target node, sending a route searching request to the initial node, and then selecting the node closest to the target node according to the returned result to continue sending the route searching request until the node with the route of the target node is found.
However, the DHT routing addressing scheme needs to address by means of successive approximation to the target node, so that query actions need to be repeatedly initiated to other nodes, resulting in long response delay of multiple path queries.
Disclosure of Invention
The application provides a routing addressing method, device and equipment of an overlay network, which are used for solving the problem of longer path addressing response delay at present.
In a first aspect, the present application provides a routing addressing method of an overlay network, applied to a super network node in the overlay network, the method comprising:
receiving a query request sent by a first network node, wherein the query request is used for querying a target routing path from the first network node to a second network node;
determining a target routing label from the first network node to the second network node based on a network topology of the overlay network; the network topology structure comprises bidirectional routing labels between any adjacent network nodes, wherein the bidirectional routing labels are used for indicating bidirectional routing paths between the adjacent network nodes;
and sending a query response to the first network node, wherein the query response comprises the target routing label, the target routing label is used for indicating the target routing path, and the target routing path is used for carrying out data interaction between the first network node and the second network node.
In a possible implementation manner, the determining, based on the network topology of the overlay network, a target routing label from the first network node to the second network node includes:
determining at least one relay network node sequentially arranged from the first network node to the second network node based on the network topology structure, wherein the first network node, the at least one relay network node and the second network node jointly form the target routing path;
determining a unidirectional routing label between a previous network node and a subsequent network node aiming at any adjacent network node in the target routing path, wherein the unidirectional routing label is used for indicating a unidirectional routing path between the previous network node and the subsequent network node;
and generating the target routing label according to the arrangement sequence of each network node in the target routing path and the unidirectional routing label between each adjacent network node.
In one possible embodiment, the method further comprises:
receiving a neighbor route label set of other network nodes except the super network node in the overlay network, wherein the neighbor route label set of the network node comprises a one-way route label from the network node to at least one corresponding neighbor network node for any network node;
And determining the network topology structure based on the neighbor route label set of the super network node and the neighbor route label sets of the other network nodes.
In one possible implementation, for any network node, the unidirectional routing label of the network node to the corresponding neighbor network node satisfies:
wherein T is i I is a positive integer greater than or equal to 1 and less than or equal to M, M is the number of neighbor network nodes of the network node, and M is a positive integer; x is the index value of the ith neighbor network node stored by the network node; n is a preset shift parameter and satisfies 2 n >=m; k is a preset decoding value, wherein k is a positive integer; the i indicates a phase or operation.
In a possible implementation manner, the receiving the neighbor routing label set of other network nodes except the super network node in the overlay network includes:
receiving a super network node query request sent by a neighbor network node of the super network node;
sending a super network node query response to a neighbor network node of the super network node, wherein the super network node query response is used for determining a route label from the other network nodes to the super network node;
And receiving a neighbor route label set of the other network nodes based on route labels from the other network nodes to the super network node.
In a second aspect, the present application provides a routing addressing method of an overlay network, applied to a first network node in the overlay network, the method comprising:
sending a query request to a super network node in the overlay network, the query request being for querying a target routing path from the first network node to a second network node;
receiving a query response sent by the super network node, wherein the query response comprises a target routing label, and the target routing label is used for indicating the target routing path;
and sending a data packet to the second network node based on the target routing label, wherein the target routing label is included in the header of the data packet.
In one possible embodiment, the method further comprises:
transmitting a neighbor route label set of the first network node to the super network node, wherein the neighbor route label set of the first network node comprises unidirectional route labels of at least one neighbor network node from the first network node to the first network node; the neighbor routing label set of the first network node is used for determining the topology structure of the overlay network.
In one possible implementation, for any network node, the unidirectional routing label of the network node to the corresponding neighbor network node satisfies:
wherein T is i I is a positive integer greater than or equal to 1 and less than or equal to M, M is the number of neighbor network nodes of the network node, and M is a positive integer; x is the index value of the ith neighbor network node stored by the network node; n is a preset shift parameter and satisfies 2 n >=m; k is a preset decoding value, wherein k is a positive integer; the i indicates a phase or operation.
In a possible implementation manner, the sending, to the super network node, the set of neighbor routing labels of the first network node includes:
sending a super network node query request to a first neighbor network node of the first network node;
receiving a super network node query response sent by the first neighbor network node, wherein the super network node query response comprises a route label from the first neighbor network node to the first network node;
determining a routing label from the first network node to the super network node according to the routing label from the first neighbor network node to the first network node and the routing label from the first network node to the first neighbor network node;
And sending the neighbor route label set of the first network node to the super network node according to the route labels from the first network node to the super network node.
In a third aspect, the present application provides a routing addressing device of an overlay network, applied to a super network node in the overlay network, comprising:
a first receiving module, configured to receive a query request sent by a first network node, where the query request is used to query a target routing path from the first network node to a second network node;
a processing module configured to determine a target routing label from the first network node to the second network node based on a network topology of the overlay network; the network topology structure comprises bidirectional routing labels between any adjacent network nodes, wherein the bidirectional routing labels are used for indicating bidirectional routing paths between the adjacent network nodes;
the first sending module is configured to send a query response to the first network node, where the query response includes the target routing label, the target routing label is used to indicate the target routing path, and the target routing path is used for data interaction between the first network node and the second network node.
In a possible implementation manner, the processing module is specifically configured to:
determining at least one relay network node sequentially arranged from the first network node to the second network node based on the network topology structure, wherein the first network node, the at least one relay network node and the second network node jointly form the target routing path;
determining a unidirectional routing label between a previous network node and a subsequent network node aiming at any adjacent network node in the target routing path, wherein the unidirectional routing label is used for indicating a unidirectional routing path between the previous network node and the subsequent network node;
and generating the target routing label according to the arrangement sequence of each network node in the target routing path and the unidirectional routing label between each adjacent network node.
In one possible embodiment, the processing module is further configured to:
receiving a neighbor route label set of other network nodes except the super network node in the overlay network, wherein the neighbor route label set of the network node comprises a one-way route label from the network node to at least one corresponding neighbor network node for any network node;
And determining the network topology structure based on the neighbor route label set of the super network node and the neighbor route label sets of the other network nodes.
In one possible implementation, for any network node, the unidirectional routing label of the network node to the corresponding neighbor network node satisfies:
wherein T is i I is a positive integer greater than or equal to 1 and less than or equal to M, M is the number of neighbor network nodes of the network node, and M is a positive integer; x is the index value of the ith neighbor network node stored by the network node; n is a preset shift parameter and satisfies 2 n >=m; k is a preset decoding value, wherein k is a positive integer; the i indicates a phase or operation.
In one possible embodiment, the processing module is further configured to:
receiving a super network node query request sent by a neighbor network node of the super network node;
sending a super network node query response to a neighbor network node of the super network node, wherein the super network node query response is used for determining a route label from the other network nodes to the super network node;
And receiving a neighbor route label set of the other network nodes based on route labels from the other network nodes to the super network node.
In a fourth aspect, the present application provides a routing addressing apparatus of an overlay network, for use in a first network node in the overlay network, comprising:
a second sending module, configured to send a query request to a super network node in the overlay network, where the query request is used to query a target routing path from the first network node to a second network node;
the second receiving module is used for receiving a query response sent by the super network node, wherein the query response comprises a target routing label, and the target routing label is used for indicating the target routing path;
and the third sending module is used for sending a data packet to the second network node based on the target routing label, and the packet head of the data packet comprises the target routing label.
In a possible implementation manner, the second sending module is further configured to:
transmitting a neighbor route label set of the first network node to the super network node, wherein the neighbor route label set of the first network node comprises unidirectional route labels of at least one neighbor network node from the first network node to the first network node; the neighbor routing label set of the first network node is used for determining the topology structure of the overlay network.
In one possible implementation, for any network node, the unidirectional routing label of the network node to the corresponding neighbor network node satisfies:
wherein T is i I is a positive integer greater than or equal to 1 and less than or equal to M, M is the number of neighbor network nodes of the network node, and M is a positive integer; x is the index value of the ith neighbor network node stored by the network node; n is a preset shift parameter and satisfies 2 n >=m; k is a preset decoding value, wherein k is a positive integer; the i indicates a phase or operation.
In a possible implementation manner, the second sending module is specifically further configured to:
sending a super network node query request to a first neighbor network node of the first network node;
receiving a super network node query response sent by the first neighbor network node, wherein the super network node query response comprises a route label from the first neighbor network node to the first network node;
determining a routing label from the first network node to the super network node according to the routing label from the first neighbor network node to the first network node and the routing label from the first network node to the first neighbor network node;
And sending the neighbor route label set of the first network node to the super network node according to the route labels from the first network node to the super network node.
In a fifth aspect, the present application provides an electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the method of routing an overlay network according to any one of the first aspects or the method of routing an overlay network according to any one of the second aspects when the program is executed.
According to the route addressing method and device of the overlay network, a super network node receives a query request sent by a first network node, the query request is used for querying a target route path from the first network node to a second network node, and then a target route label from the first network node to the second network node is determined based on a network topology structure of the overlay network, wherein the network topology structure comprises bidirectional route labels between any adjacent network nodes, and the bidirectional route labels are used for indicating bidirectional route paths between the adjacent network nodes; after the target routing label is obtained, the super network node sends a query response to the first network node, wherein the query response comprises the target routing label, and the first network node can perform data interaction with the second network node based on the target routing path indicated by the target routing label, so that the routing addressing process is completed. According to the scheme, the network topology structure of the whole overlay network is managed through the super network node, when the first network node needs to be addressed by a route, only a query request is needed to be sent to the super network node, the super network node can send the target routing label to the first network node based on the network topology structure obtained in advance, the route addressing can be completed only through one communication process between the first network node and the super network node, the query process is not needed to be initiated for a plurality of network nodes in the overlay network, response time delay in the route addressing process is greatly reduced, and waste of calculation resources is also reduced.
Drawings
For a clearer description of the present application or of the prior art, the drawings that are used in the description of the embodiments or of the prior art will be briefly described, it being apparent that the drawings in the description below are some embodiments of the present application, and that other drawings may be obtained from these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic diagram of an application scenario suitable for use in the embodiments of the present application;
fig. 2 is a flowchart of a routing addressing method of an overlay network according to an embodiment of the present application;
fig. 3 is a schematic diagram of determining a neighbor routing label set according to an embodiment of the present application;
fig. 4 is a flow chart of route path propagation to a super network node according to an embodiment of the present application;
fig. 5 is a flowchart of maintenance of a routing label according to an embodiment of the present application;
FIG. 6 is a flow chart of data interaction provided by an embodiment of the present application;
fig. 7 is a flowchart two of a routing addressing method of an overlay network according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a routing address device of an overlay network according to an embodiment of the present application;
fig. 9 is a schematic diagram ii of a routing address apparatus of an overlay network according to an embodiment of the present application;
Fig. 10 is a schematic entity structure diagram of an electronic device according to an embodiment of the present application.
Detailed Description
For the purposes of making the objects, technical solutions and advantages of the present application more apparent, the technical solutions in the present application will be clearly and completely described below with reference to the drawings in the present application, and it is apparent that the described embodiments are some, but not all, embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
The overlay network refers to an application layer network, which belongs to one of virtual networks. The overlay network is made up of a plurality of network nodes between which communications may take place.
In the overlay network, when data interaction is needed between a certain network node and a target network node, the network node firstly needs to determine a routing path between the network node and the target network node, so that the data interaction between the two network nodes is realized based on the routing path.
Currently, DHT routing addressing schemes are commonly employed to determine routing paths. DHT routing refers to determining the location of a node in a DHT network from the hash value of the network node and enabling to find and access the network node stored in the corresponding location.
Firstly, the DHT uses a hash function to convert network node information into unique hash values, the hash values map network nodes in the overlay network to an address space with a fixed size as uniformly as possible, and hash values of adjacent network nodes are similar. Each network node maintains a routing table in the DHT network, the routing table recording information of other network nodes. The routing table typically uses a one-dimensional routing table in the distributed hash table Kademlia algorithm, a DHT algorithm. The routing table is divided into different buckets (sockets) according to the distance, and each bucket stores a certain amount of information of network nodes with logic distances closest to each bucket.
The network node updates its own routing table by periodically exchanging routing table information with other network nodes. When the network node needs to find the route path from itself to the target network node, firstly, the hash value of the target network node is calculated, and then, according to the information of the bucket in the own route table, the network node closest to the target network node is selected as the initial network node. The network node sends a request for searching the route to the initial network node, and selects a network node closer to the target network node according to the returned result to continue sending the request until the network node with the target network node path is found.
The DHT routing addressing scheme, while enabling node routing addressing in an overlay network, has significant drawbacks. Because DHTs are addressed by successive approximation of the target network node, it is necessary to repeatedly initiate query actions to other network nodes before the routing path of the target network node is found, resulting in a longer response delay due to multiple path queries. Moreover, since the DHT routing scheme is determined by forcing all network nodes in the overlay network to participate in the query process, if the network nodes are running on the mobile device, the situation that the mobile device is overheated and the traffic bandwidth is wasted can be caused, and a large amount of storage and calculation resources are consumed. And delay or instability of the network may occur due to the fact that the update of the routing table takes a certain time to propagate. When a network node initiates routing addressing, a large amount of addressing request traffic is initiated in the whole network, a large amount of bandwidth is occupied, and an addressing initiator needs a long time delay to acquire a result.
Based on this, the embodiment of the application provides a routing addressing method of an overlay network, which solves the problem of longer path addressing response delay.
An application scenario of the embodiment of the present application is first described with reference to fig. 1.
Fig. 1 is a schematic diagram of an applicable application scenario provided in an embodiment of the present application, and as shown in fig. 1, a plurality of network nodes in an overlay network are illustrated, including a network node S, a network node a, a network node B, a network node C, a network node D, a network node E, a network node F, a network node G, and a network node H, respectively. In the embodiment of the application, each network node runs on a corresponding device, and the devices may be a terminal, a mobile device, a processor, a server and the like. For example, in fig. 1, network node S, network node a, network node B, network node C, network node D, network node E, network node F, network node G, and network node H operate in sequence at devices 10, 11, 12, 13, 14, 15, 16, 17, and 18.
In the example of fig. 1, there are edges between some network nodes, two network nodes connected by an edge are neighboring network nodes, and two network nodes that are neighboring network nodes are in direct connection, which can directly communicate, but not between two network nodes in direct connection.
In the following embodiments, when describing the operations performed by each network node, it is indicated that the corresponding device of each network node performs the corresponding operations, which are not described in the following embodiments for simplicity and convenience.
The following describes an embodiment of the present application with reference to fig. 2 on the basis of the scenario illustrated in fig. 1.
Fig. 2 is a flowchart one of a routing addressing method of an overlay network according to an embodiment of the present application, where the method is applied to a super network node in the overlay network, as shown in fig. 2, and the method includes:
s21, receiving a query request sent by the first network node, wherein the query request is used for querying a target routing path from the first network node to the second network node.
The overlay network includes a plurality of network nodes, where each network node is running on a different electronic device, for example, a terminal, a client, a server, a processor, and the like, and embodiments of the present application are not limited in this regard. In the following embodiments, when describing the operations performed by each network node, it is indicated that the electronic device corresponding to each network node performs the corresponding operations, which are not described in the following embodiments for simplicity and convenience.
The status of a plurality of network nodes in the overlay network is the same, one network node can be arbitrarily selected from the plurality of network nodes as a super network node, and the routing information of all network nodes in the overlay network is uniformly managed through the super network node and is regularly maintained.
In the overlay network, each network node knows the route path from itself to the super network node in advance and stores the route label from itself to the super network node, so that information can be sent to the super network node based on the route label from itself to the super network node.
For example, for a first network node needing route addressing, the first network node side stores a route tag from the first network node to the super network node, based on the route tag from the first network node to the super network node, the first network node may send a query request to the super network node, where the query request may include identification information of the first network node and identification information of the second network node, where the identification information of the first network node is used to identify the first network node, and the identification information of the second network node is used to identify the second network node, where the identification information may be, for example, an IP address of the network node, or other possible information used to identify the network node, where the embodiment of the present application is not limited.
After receiving the query request sent by the first network node, the super network node can learn the target routing path from the first network node to the second network node to be queried according to the query request.
S22, determining a target route label from a first network node to a second network node based on a network topology structure of an overlay network; the network topology structure comprises bidirectional routing labels between any adjacent network nodes, and the bidirectional routing labels are used for indicating bidirectional routing paths between the adjacent network nodes.
The network topology is predetermined by the super network node, and includes bidirectional routing labels between any adjacent network nodes. In the embodiment of the present application, taking an adjacent network node as a network node a and a network node B as an example, where the network node a and the network node B are neighboring network nodes, there is a unidirectional routing tag 1 from the network node a to the network node B, where the unidirectional routing tag 1 is used to indicate a routing path from the network node a to the network node B; there is a one-way routing tag 2 from network node B to network node a, the one-way routing tag 2 being used to indicate the routing path from network node B to network node a. For network node a and network node B, the bi-directional routing path includes a routing path from network node a to network node B and a routing path from network node B to network node a. The bidirectional routing tag includes a unidirectional routing tag 1 and a unidirectional routing tag 2.
Based on the network topology of the overlay network, the super network node may determine a target routing label from the first network node to the second network node. For example, based on the network topology, the super network node may learn which network nodes in the overlay network are neighbor network nodes to each other, determine a target routing path from the first network node to the second network node based on the neighbor relationship, and then determine a target routing label from the first network node to the second network node based on unidirectional routing labels between each of the neighboring network nodes involved in the target routing path.
S23, sending a query response to the first network node, wherein the query response comprises a target routing label, the target routing label is used for indicating a target routing path, and the target routing path is used for data interaction between the first network node and the second network node.
After the target route label is determined, the super network node sends a query response to the first network node, and the target route label is sent to the first network node through the query response. After receiving the target routing label, the first network node performs data interaction with the second network node based on the target routing path indicated by the target routing label, for example, a data packet can be sent to the second network node. In the process that the first network node sends the data packet to the second network node, the data packet may include a target routing label, and since other network nodes are involved in the target routing path besides the first network node, the corresponding target routing path may also be indicated to other network nodes through the target routing label.
The route addressing method of the overlay network is applied to a super network node in the overlay network, the super network node receives a query request sent by a first network node, the query request is used for querying a target route path from the first network node to a second network node, and then a target route label from the first network node to the second network node is determined based on a network topology structure of the overlay network, wherein the network topology structure comprises a bidirectional route label between any adjacent network nodes, and the bidirectional route label is used for indicating the bidirectional route path between the adjacent network nodes; after the target routing label is obtained, the super network node sends a query response to the first network node, wherein the query response comprises the target routing label, and the first network node can perform data interaction with the second network node based on the target routing path indicated by the target routing label, so that the routing addressing process is completed. According to the scheme, the network topology structure of the whole overlay network is managed through the super network node, when the first network node needs to be addressed by a route, only a query request is needed to be sent to the super network node, the super network node can send the target route label to the first network node based on the network topology structure obtained in advance, the route addressing can be completed only through one communication process between the first network node and the super network node, the query process is not needed to be initiated for a plurality of network nodes in the overlay network, response time delay in the route addressing process is greatly reduced, and waste of calculation resources is also reduced.
On the basis of any one of the above embodiments, the following describes the scheme of the embodiment of the application in detail with reference to the accompanying drawings.
First, a manner in which a routing label in an embodiment of the present application indicates a routing path will be described.
The embodiment of the application provides an efficient routing path data format, namely a routing label, in an overlay network. The routing label is used for indicating a routing path between two network nodes, and the routing label can be carried in each network data packet, so that the network nodes participating in routing can correctly route the network data packets to the next hop network node of the parameters in the routing label by analyzing the routing label carried in the network data packets.
For any network node in the overlay network, the index value of each neighbor network node is stored on the network node side, the number of the neighbor network nodes of the network node is one or more, and the index values of the neighbor network nodes are different. In the embodiment of the application, the neighbor network node refers to a network node with a direct connection relationship, and two network nodes which are the neighbor network nodes can directly communicate with each other, and the network nodes without the direct connection relationship cannot directly communicate with each other.
In the embodiment of the application, each network node determines a corresponding neighbor routing label set, where the neighbor routing label set includes unidirectional routing labels from the network node to at least one corresponding neighbor network node.
The process of determining a set of neighbor routing labels is described below in conjunction with fig. 3.
Fig. 3 is a schematic diagram of determining a neighbor routing label set according to an embodiment of the present application, and as shown in fig. 3, a network node a, and neighbor network nodes (network node B and network node C) of the network node a are taken as an example.
The index values of the network node B and the network node C are stored on the network node a side, and in the example of fig. 3, the index value of the network node B stored on the network node a side is 1, and the index value of the network node C stored on the network node a side is 2.
In one possible implementation, the index value of the neighbor network node stored at the network node side may be directly determined as a unidirectional routing label from the network node to the neighbor network node. For example, in fig. 3, the index value of the network node B stored on the network node a side may be directly determined as a unidirectional routing label from the network node a to the network node B, where the unidirectional routing label is 1; and determining the index value of the network node C stored on the side of the network node A as a unidirectional routing label from the network node A to the network node C, wherein the unidirectional routing label is 2.
In one possible implementation, the unidirectional routing label from the network node to the neighboring network node may be determined based on the index value of the neighboring network node stored at the network node side, where the unidirectional routing label from the network node to the corresponding neighboring network node satisfies:
,(1)
wherein T is i I is a positive integer greater than or equal to 1 and less than or equal to M, M is the number of neighbor network nodes of the network node, and M is a positive integer; x is the index value of the ith neighbor network node stored by the network node; n is a preset shift parameter and satisfies 2 n >=m; k is a preset decoding value, and k is a positive integer; the i indicates a phase or operation.
In the embodiments of the present application,conversion to binary numbers is required to perform a phase or operation with k, < >>Equivalent to shifting x to binary, n bits to the left, n being a preset shift parameter which satisfies 2 n >M is enough, set 2 n >The symbol M is to make the unidirectional routing labels obtained last by different neighbor nodes of the same network node after performing the shift operation different.
Taking the network node a in fig. 3 as an example, there are 2 neighboring network nodes, namely, network node B and network node C, respectively, that is, m=2, and index values of network node B and network node C stored on the network node a side are 1 and 2, respectively. Then 2 n >For example, n may be 1, 2, or 3.
Taking n as 2 and k as 2 as an example, the unidirectional routing labels from the network node a to the network node B based on the above formula (1) are:
conversion of 4 to binary 100 and conversion of 2 to binary 10, so 4|2 corresponds to 100|10, resulting in T 1 =110。
The unidirectional route labels from network node a to network node C based on equation (1) above are:
conversion of 8 to binary 1000,2 to binary 10, so 8|2 corresponds to 1000|10, resulting in T 2 =1010。
In the embodiment of the present application, the size of the routing label may be preset, for example, set to 8 bytes and 64 bits in total length. The storage space required by the routing label can be reduced in the mode of the formula (1), and the resource waste is reduced.
It should be noted that, the unidirectional routing label from the network node a to the network node B is only used to indicate the routing path from the network node a to the network node B, and cannot indicate the routing path from the network node B to the network node a. That is, the unidirectional routing label from network node a to network node B may be the same as or different from the unidirectional routing label from network node B to network node a. When the index value of the network node B stored on the network node A side is the same as the index value of the network node A stored on the network node B side, the unidirectional route label from the network node A to the network node B is the same as the unidirectional route label from the network node B to the network node A; when the index value of the network node B stored on the network node A side is different from the index value of the network node A stored on the network node B side, the unidirectional route label from the network node A to the network node B is different from the unidirectional route label from the network node B to the network node A.
Taking fig. 3 as an example, if the index value of the network node a stored at the network node B side is 2, the unidirectional route label from the network node B to the network node a based on the above formula (1) is:
conversion of 8 to binary 1000,2 to binary 10, so 8|2 corresponds to 1000|10, resulting in T 3 =1010. This is in conjunction with the unidirectional routing tag T of network node a to network node B 1 Obviously not the same. T can be obtained in the same manner 4 =1110。
In the above embodiment, an implementation of determining, by an arbitrary network node, a unidirectional routing label from itself to a neighboring network node is described in connection with fig. 3. For any network node, the unidirectional routing labels of the network node to its own neighbor network node may constitute a corresponding set of neighbor routing labels.
Fig. 4 is a flow chart of route path propagation to a super network node according to an embodiment of the present application, as shown in fig. 4, including:
s41, starting the super network node S.
And S42, connecting the super network node S with the corresponding network node A.
In the example of fig. 4, the network node a is a neighbor network node of the super network node S, that is, the network node a and the super network node S are in a direct connection relationship, and may directly communicate. It should be noted that, the number of the neighbor network nodes of the super network node S may be one or more, for example, in the example of fig. 1, the neighbor network nodes of the super network node S include a network node E in addition to the network node a. The operation performed by the neighboring network node of any super network node S is similar to that of the network node a, and in the embodiment of the present application, the description will be given by taking the network node a as an example.
S43, the network node A inquires whether a route path to the super network node S exists, if yes, S44 is executed, and if not, S42 is executed.
Initially, the network node a does not know the identity of the super network node S. The network node a simply initiates a query to its neighboring network node asking whether its neighboring node knows the routing path to the super network node S.
Taking the overlay network illustrated in fig. 1 as an example, the network node a may broadcast a super network node query request, and the neighbor network nodes of the network node a include a network node B, a network node C, a network node E, and a super network node S. All the neighbor network nodes can receive the super network node query request broadcast by the network node A, but the network node B, the network node C and the network node E do not know the routing paths of the neighbor network nodes to the super network node S. The super network node S knows its own identity, so the super network node S knows its own routing path to the super network node S. In this embodiment of the present application, for any network node, the routing path label from the network node to itself is represented by a preset value, where the preset value may be set arbitrarily as required, for example, may be set to 0, 1, and so on. In the following embodiment, description will be made taking an example in which a preset value is set to 1.
And S44, the network node A locally stores the route label to the super network node S.
The route label from the super network node S to the super network node S is a preset value of 1, so the super network node S returns the route label to the network node a. The routing labels from the network node a to the super network node S may be calculated by the network node a, and the calculation method may be described in relation to the embodiment of fig. 3, which is not described herein.
Based on the route label from the super network node S to the super network node S and the route label from the network node A to the super network node S, the network node A can acquire and store the route label from the network node A to the super network node S.
In the overlay network illustrated in fig. 1, the network node E may also learn and save the routing labels of the network node E to the super network node S in a similar manner as the network node a.
S45, the network node a establishes a connection with the other network node B.
As shown in fig. 1, network node B and network node a are neighbor network nodes to each other. The network node B broadcasts a super network node query request to its own neighbor network node, asking whether its neighbor node knows the routing label to the super network node S.
S46, the network node B inquires whether the routing label to the super network node S exists or not from the network node A, if yes, the S47 is executed, and if not, the S43 is executed.
If the network node a knows the routing label from the network node a to the super network node S, the routing label from the network node a to the super network node S may be returned to the network node B. The network node B can calculate the route label from the network node B to the network node A, and combines the route label from the network node A to the super network node S to obtain the route label from the network node B to the super network node S.
And S47, the network node B locally stores the route label to the super network node S.
The network node B may learn and save the routing labels of the network node B to the super network node S.
Based on a similar implementation, as shown in fig. 1, the network node C may also learn the routing labels of the network node C to the super network node S. And the network node D may instruct the network node C to send the routing label from the network node C to the super network node S to the network node D by broadcasting a super network node query request. The network node D determines the routing label of the network node D to the super network node S based on the routing label of the network node D to the network node C and the routing label of the network node C to the super network node S.
That is, for any network node X in the overlay network, the network node X may broadcast a super network node query request to its own neighbor network node Y to query whether the neighbor network node Y knows the routing label from the neighbor network node Y to the super network node S. If the neighbor network node Y knows the routing label to the super network node S, the neighbor network node Y returns the routing label from the neighbor network node Y to the super network node S to the network node X, and the network node X combines the routing label from the network node X to the neighbor network node Y and the routing label from the neighbor network node Y to the super network node S to obtain the routing label from the network node X to the super network node S. By the method, the route label from each network node to the super network node S can be obtained, so that each network node can establish communication with the super network node S based on the route label from each network node to the super network node S, and further can send data or information to the super network node S.
For the first network node needing routing addressing, the first network node sends a super network node query request to the first neighbor network node of the first network node, and inquires whether the first neighbor network node knows the routing label from the first neighbor network node to the super network node S. And if the first neighbor network node knows the route label from the first neighbor network node to the super network node S, sending a super network node query response to the first network node, wherein the super network node query response comprises the route label from the first neighbor network node to the super network node S. The first network node receives a super network node query response sent by the first neighbor network node, wherein the super network node query response comprises a route label from the first neighbor network node to the first network node.
Then, the first network node determines a routing label from the first network node to the super network node according to the routing label from the first neighbor network node to the first network node and the routing label from the first network node to the first neighbor network node, and further can send the neighbor routing label set of the first network node to the super network node according to the routing label from the first network node to the super network node.
The method comprises the steps that a first network node sends a neighbor route label set of the first network node to a super network node, wherein the neighbor route label set of the first network node comprises one-way route labels of at least one neighbor network node from the first network node to the first network node; the neighbor routing label set of the first network node is used for determining the topology structure of the overlay network.
The super network node receives neighbor route label sets of other network nodes except the super network node in the overlay network, and for any network node, the neighbor route label set of the network node comprises one-way route labels from the network node to at least one corresponding neighbor network node, and then a network topology structure of the overlay network is determined based on the neighbor route label set of the super network node and the neighbor route label sets of other network nodes.
After receiving the neighbor route label set of other network nodes, the super network node can acquire the route label between any two adjacent network nodes in the overlay network. Further, at least one relay network node arranged in sequence from the first network node to the second network node is determined based on the network topology, wherein the first network node, the at least one relay network node, and the second network node together form a target routing path from the first network node to the second network node.
Taking the first network node as network node B and the second network node as network node H as an example, as shown in fig. 1, it may be determined that the at least one relay node includes network node a and network node E based on the network topology, and the target routing path includes a routing path from network node B to network node a, a routing path from network node a to network node E, and a routing path from network node E to network node H.
At least one relay node is not unique, for example, still taking the first network node as network node B and the second network node as network node H as an example, it may be determined based on the network topology that the at least one relay node includes network node a, network node S and network node E, and the at least one relay node may also include network node a, network node F and network node E, and so on. Thus, the corresponding routing path is not unique either. The target routing path may be any one of all routing paths from the first network node to the second network node, or may be a shortest routing path of all routing paths, which is not limited in the embodiment of the present application.
Then, in the target routing path, for any adjacent network node, a unidirectional routing label between the previous network node and the subsequent network node is determined, the unidirectional routing label being used to indicate a unidirectional routing path between the previous network node and the subsequent network node. And generating a target routing label according to the arrangement sequence of the network nodes in the target routing path and the unidirectional routing labels among the adjacent network nodes.
Fig. 5 is a flowchart of maintenance of a routing label according to an embodiment of the present application, as shown in fig. 5, including:
and S51, periodically maintaining neighbor network nodes of the network node A by the super network node S and the network node A.
In the embodiment of fig. 5, the network node a is any network node in the overlay network other than the super network node S, and is configured to maintain a routing label between the network node a and a neighboring network node of the network node a.
S52, judging whether the network node A is a network node needing to be added or removed in the overlay network, if so, executing S56, and if not, executing S53.
And S53, the network node A sends a heartbeat data packet to the super network node S.
And the network node A periodically transmits heartbeat data packets to the super network node S to prove that the network node A works normally. The heartbeat data packet includes a neighbor route tag set of the network node a.
S54, the super network node S checks whether the hash value in the heartbeat data packet is consistent with the locally stored hash value, if so, S53 is executed, and if not, S55 is executed.
The hash value in the heartbeat data packet is calculated based on a neighbor route label set of the network node A, wherein the neighbor route label set of the network node A comprises route labels from the network node A to all neighbor network nodes of the network node A. If the hash value in the heartbeat data packet is consistent with the locally stored hash value, the neighbor route label set of the network node A is not updated, otherwise, the neighbor route label set of the network node A is updated.
S55, the super network node S instructs the network node a to retransmit the complete neighbor routing label.
And under the condition that the neighbor route label set of the network node A is updated, the network node A sends the updated neighbor route label set to the super network node S.
And S56, updating the information related to the network node A to the super network node S.
If network node a is a network node newly joining the overlay network, it may be determined first which network nodes in the original overlay network to directly connect with after network node a joins. Taking the direct connection of the network node A and the network node B in the original coverage network as an example, the network node A can calculate the route label from the network node A to the network node B, obtain the route label from the network node B to the super network node S from the network node B, and further obtain the route label from the network node A to the super network node S according to the route label from the network node A to the network node B and the route label from the network node B to the super network node S, so that communication can be established with the super network node S. Then, based on the scheme introduced by the embodiment, the neighbor route label set of the network node A is obtained and sent to the super network node S, and the updating process is completed.
If network node a is a network node that needs to be removed from the overlay network, it may be determined which network nodes in the original overlay network to directly connect to before network node a is removed. Taking the direct connection of the network node A and the network node B in the original coverage network as an example, after the network node A is removed, the network node B needs to update the neighbor route label set of the network node B, the unidirectional route label from the network node B to the network node A is deleted, and the unidirectional route label from the network node A to the network node B needs to be deleted, so that the updating process is completed.
In the above embodiment, the routine maintenance procedure of the routing label of the network node is described in connection with fig. 5, and the following description is made on the procedure of data interaction in connection with fig. 6.
Fig. 6 is a flowchart of data interaction provided in an embodiment of the present application, as shown in fig. 6, including:
s61, the first network node sends a query request to the super network node S.
S62, the super network node S calculates whether a target route label from the first network node to the second network node exists, if yes, S63 is executed, and if not, S64 is executed.
And S63, the super network node S returns a target route label to the first network node.
If there is a target route label from the first network node to the second network node, the super network node S returns the target route label to the first network node.
Taking the first network node as the network node B and the second network node as the network node H in fig. 1 as an example, the unidirectional routing label from the network node B to the network node a is 3, the unidirectional routing label from the network node a to the network node E is 4, the unidirectional routing label from the network node E to the network node H is 6, and the unidirectional routing label from the network node H to the network link point H is a preset value of 1, so that the target routing label can be 3-4-6-1.
Based on the target routing tag, the first network node may send a data packet to the second network node, the header of the data packet including the target routing tag. For example, when the network node B needs to send a data packet to the network node H, and the data packet includes the target routing label 3-4-6-1, according to "3", the network node B can learn that the data packet needs to be sent to the network node a, and after reaching the network node a, the "3" in the target routing label can be marked as used, or can be directly removed; the network node A can learn that the data packet needs to be sent to the network node E according to the '4', and after the data packet reaches the network node E, the '4' in the target routing label can be marked as used or is directly removed; the network node E may learn from "6" that the data packet needs to be sent to the network node H, and after reaching the network node H, "… …" in the target routing label may be marked as used, or may be directly rejected. Through the above operation, the original target routing label 3-4-6-1 only remains "1", which indicates itself, so that the network node H can learn that itself is the destination of the data packet, and directly receive the data packet without downward transmission.
S64, the super network node S returns a network unreachable error to the first network node.
If there is no target routing label from the first network node to the second network node, the super network node S returns a network unreachable error to the first network node indicating that there is no target routing label from the first network node to the second network node.
Fig. 7 is a second flowchart of a routing addressing method of an overlay network according to an embodiment of the present application, which is applied to a first network node in the overlay network, as shown in fig. 7, and includes:
s71, sending a query request to a super network node in the overlay network, wherein the query request is used for querying a target routing path from the first network node to a second network node;
s72, receiving a query response sent by the super network node, wherein the query response comprises a target routing label, and the target routing label is used for indicating the target routing path;
and S73, based on the target routing label, sending a data packet to the second network node, wherein the header of the data packet comprises the target routing label.
In one possible embodiment, the method further comprises:
Transmitting a neighbor route label set of the first network node to the super network node, wherein the neighbor route label set of the first network node comprises unidirectional route labels of at least one neighbor network node from the first network node to the first network node; the neighbor routing label set of the first network node is used for determining the topology structure of the overlay network.
In one possible implementation, for any network node, the unidirectional routing label of the network node to the corresponding neighbor network node satisfies:
wherein T is i I is a positive integer greater than or equal to 1 and less than or equal to M, M is the number of neighbor network nodes of the network node, and M is a positive integer; x is the index value of the ith neighbor network node stored by the network node; n is a preset shift parameter and satisfies 2 n >=m; k is a preset decoding value, wherein k is a positive integer; the i indicates a phase or operation.
In a possible implementation manner, the sending, to the super network node, the set of neighbor routing labels of the first network node includes:
sending a super network node query request to a first neighbor network node of the first network node;
receiving a super network node query response sent by the first neighbor network node, wherein the super network node query response comprises a route label from the first neighbor network node to the first network node;
determining a routing label from the first network node to the super network node according to the routing label from the first neighbor network node to the first network node and the routing label from the first network node to the first neighbor network node;
and sending the neighbor route label set of the first network node to the super network node according to the route labels from the first network node to the super network node.
The method illustrated in fig. 7 is a method performed by the first network node, and related content is described in the embodiments of fig. 1 to 6, which are not described herein again.
In summary, according to the scheme of the embodiment of the application, the network topology structure of the whole overlay network is managed through the super network node, when the first network node needs to be routed and addressed, the super network node only needs to send the query request to the super network node, the super network node can send the target routing label to the first network node based on the network topology structure obtained in advance, the routing and addressing can be completed only through one communication process between the first network node and the super network node, the query process is not required to be initiated for a plurality of network nodes in the overlay network, response time delay in the routing and addressing process is greatly reduced, and waste of computing resources is also reduced.
The following describes a routing device of an overlay network provided by the present application, and the routing device of the overlay network described below and the routing method of the overlay network described above may be referred to correspondingly.
Fig. 8 is a schematic structural diagram of a routing device of an overlay network according to an embodiment of the present application, where the routing device 80 of the overlay network is applied to a super network node in the overlay network, as shown in fig. 8, the routing device 80 of the overlay network includes:
a first receiving module 81, configured to receive a query request sent by a first network node, where the query request is used to query a target routing path from the first network node to a second network node;
a processing module 82 for determining a target routing label from the first network node to the second network node based on a network topology of the overlay network; the network topology structure comprises bidirectional routing labels between any adjacent network nodes, wherein the bidirectional routing labels are used for indicating bidirectional routing paths between the adjacent network nodes;
a first sending module 83, configured to send a query response to the first network node, where the query response includes the target routing label, the target routing label is used to indicate the target routing path, and the target routing path is used for data interaction between the first network node and the second network node.
In one possible implementation, the processing module 82 is specifically configured to:
determining at least one relay network node sequentially arranged from the first network node to the second network node based on the network topology structure, wherein the first network node, the at least one relay network node and the second network node jointly form the target routing path;
determining a unidirectional routing label between a previous network node and a subsequent network node aiming at any adjacent network node in the target routing path, wherein the unidirectional routing label is used for indicating a unidirectional routing path between the previous network node and the subsequent network node;
and generating the target routing label according to the arrangement sequence of each network node in the target routing path and the unidirectional routing label between each adjacent network node.
In one possible implementation, the processing module 82 is further configured to:
receiving a neighbor route label set of other network nodes except the super network node in the overlay network, wherein the neighbor route label set of the network node comprises a one-way route label from the network node to at least one corresponding neighbor network node for any network node;
And determining the network topology structure based on the neighbor route label set of the super network node and the neighbor route label sets of the other network nodes.
In one possible implementation, for any network node, the unidirectional routing label of the network node to the corresponding neighbor network node satisfies:
wherein T is i I is a positive integer greater than or equal to 1 and less than or equal to M, M is the number of neighbor network nodes of the network node, and M is a positive integer; x is the index value of the ith neighbor network node stored by the network node; n is a preset shift parameter and satisfies 2 n >=m; k is a preset decoding value, wherein k is a positive integer; the i indicates a phase or operation.
In one possible implementation, the processing module 82 is further configured to:
receiving a super network node query request sent by a neighbor network node of the super network node; sending a super network node query response to a neighbor network node of the super network node, wherein the super network node query response is used for determining a route label from the other network nodes to the super network node; and receiving a neighbor route label set of the other network nodes based on route labels from the other network nodes to the super network node.
Fig. 9 is a schematic diagram ii of a routing device of an overlay network according to an embodiment of the present application, where the routing device 90 of the overlay network is applied to a first network node in the overlay network, as shown in fig. 9, and the routing device 90 of the overlay network includes:
a second sending module 91, configured to send a query request to a super network node in the overlay network, where the query request is used to query a target routing path from the first network node to a second network node;
a second receiving module 92, configured to receive a query response sent by the super network node, where the query response includes a target routing label, and the target routing label is used to indicate the target routing path;
and a third sending module 93, configured to send a data packet to the second network node based on the target routing label, where a header of the data packet includes the target routing label.
In a possible implementation manner, the second sending module 91 is further configured to:
transmitting a neighbor route label set of the first network node to the super network node, wherein the neighbor route label set of the first network node comprises unidirectional route labels of at least one neighbor network node from the first network node to the first network node; the neighbor routing label set of the first network node is used for determining the topology structure of the overlay network.
In one possible implementation, for any network node, the unidirectional routing label of the network node to the corresponding neighbor network node satisfies:
wherein T is i I is a positive integer greater than or equal to 1 and less than or equal to M, M is the number of neighbor network nodes of the network node, and M is a positive integer; x is the index value of the ith neighbor network node stored by the network node; n is a preset shift parameter and satisfies 2 n >=m; k is a preset decoding value, wherein k is a positive integer; the i indicates a phase or operation.
In a possible implementation manner, the second sending module 91 is specifically further configured to:
sending a super network node query request to a first neighbor network node of the first network node; receiving a super network node query response sent by the first neighbor network node, wherein the super network node query response comprises a route label from the first neighbor network node to the first network node; determining a routing label from the first network node to the super network node according to the routing label from the first neighbor network node to the first network node and the routing label from the first network node to the first neighbor network node; and sending the neighbor route label set of the first network node to the super network node according to the route labels from the first network node to the super network node.
Fig. 10 illustrates a physical structure diagram of an electronic device, as shown in fig. 10, which may include: a processor 1010, a communication interface (Communications Interface) 1020, a memory 1030, and a communication bus 1040, wherein the processor 1010, the communication interface 1020, and the memory 1030 communicate with each other via the communication bus 1040. The processor 1010 may invoke logic instructions in the memory 1030 to perform the routing method of the overlay network provided by the above-described embodiments.
Further, the logic instructions in the memory 1030 described above may be implemented in the form of software functional units and stored in a computer readable storage medium when sold or used as a stand alone product. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
In another aspect, the present application also provides a computer program product, where the computer program product includes a computer program, where the computer program can be stored on a non-transitory computer readable storage medium, and when the computer program is executed by a processor, the computer can perform the routing method of the overlay network provided by the foregoing embodiments. In yet another aspect, the present application further provides a non-transitory computer readable storage medium having stored thereon a computer program, which when executed by a processor is implemented to perform the routing addressing method of the overlay network provided by the above embodiments.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden. From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present application, and are not limiting thereof; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the corresponding technical solutions.

Claims (6)

1. A method of routing an overlay network for a super network node in the overlay network, the method comprising:
receiving a query request sent by a first network node, wherein the query request is used for querying a target routing path from the first network node to a second network node;
determining a target routing label from the first network node to the second network node based on a network topology of the overlay network; the network topology structure comprises bidirectional routing labels between any adjacent network nodes, wherein the bidirectional routing labels are used for indicating bidirectional routing paths between the adjacent network nodes;
Sending a query response to the first network node, wherein the query response comprises the target routing label, the target routing label is used for indicating the target routing path, and the target routing path is used for carrying out data interaction between the first network node and the second network node;
the method further comprises the steps of:
receiving a neighbor route label set of other network nodes except the super network node in the overlay network, wherein the neighbor route label set of the network node comprises a one-way route label from the network node to at least one corresponding neighbor network node for any network node;
determining the network topology structure based on the neighbor route label set of the super network node and the neighbor route label sets of the other network nodes;
for any network node, the unidirectional routing labels from the network node to the corresponding neighbor network node satisfy:
wherein T is i I is a positive integer greater than or equal to 1 and less than or equal to M, M is the number of neighbor network nodes of the network node, and M is a positive integer; x is the index value of the ith neighbor network node stored by the network node; n is a preset shift parameter and satisfies 2 n >=m; k is a preset decoding value, wherein k is a positive integer; the i indicates a phase or operation.
2. The method of claim 1, wherein the determining a target routing label from the first network node to the second network node based on the network topology of the overlay network comprises:
determining at least one relay network node sequentially arranged from the first network node to the second network node based on the network topology structure, wherein the first network node, the at least one relay network node and the second network node jointly form the target routing path;
determining a unidirectional routing label between a previous network node and a subsequent network node aiming at any adjacent network node in the target routing path, wherein the unidirectional routing label is used for indicating a unidirectional routing path between the previous network node and the subsequent network node;
and generating the target routing label according to the arrangement sequence of each network node in the target routing path and the unidirectional routing label between each adjacent network node.
3. The method of claim 1, wherein the receiving the set of neighbor routing labels for other network nodes in the overlay network than the super network node comprises:
Receiving a super network node query request sent by a neighbor network node of the super network node;
sending a super network node query response to a neighbor network node of the super network node, wherein the super network node query response is used for determining a route label from the other network nodes to the super network node;
and receiving a neighbor route label set of the other network nodes based on route labels from the other network nodes to the super network node.
4. A method of routing an overlay network, applied to a first network node in the overlay network, the method comprising:
sending a query request to a super network node in the overlay network, the query request being for querying a target routing path from the first network node to a second network node;
receiving a query response sent by the super network node, wherein the query response comprises a target routing label, and the target routing label is used for indicating the target routing path;
transmitting a data packet to the second network node based on the target routing label, wherein the header of the data packet comprises the target routing label;
The method further comprises the steps of:
transmitting a neighbor route label set of the first network node to the super network node, wherein the neighbor route label set of the first network node comprises unidirectional route labels of at least one neighbor network node from the first network node to the first network node; the neighbor routing label set of the first network node is used for determining the topology structure of the overlay network;
for any network node, the unidirectional routing labels from the network node to the corresponding neighbor network node satisfy:
wherein T is i I is a positive integer greater than or equal to 1 and less than or equal to M, M is the number of neighbor network nodes of the network node, and M is a positive integer; x is the index value of the ith neighbor network node stored by the network node; n is a preset shift parameter and satisfies 2 n >=m; k is a preset decoding value, wherein k is a positive integer; the i indicates a phase or operation.
5. The method of claim 4, wherein the sending the set of neighbor routing labels of the first network node to the super network node comprises:
Sending a super network node query request to a first neighbor network node of the first network node;
receiving a super network node query response sent by the first neighbor network node, wherein the super network node query response comprises a route label from the first neighbor network node to the first network node;
determining a routing label from the first network node to the super network node according to the routing label from the first neighbor network node to the first network node and the routing label from the first network node to the first neighbor network node;
and sending the neighbor route label set of the first network node to the super network node according to the route labels from the first network node to the super network node.
6. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the method of routing an overlay network according to any one of claims 1 to 3 or the method of routing an overlay network according to any one of claims 4 to 5 when executing the program.
CN202311678570.1A 2023-12-08 2023-12-08 Route addressing method and device of overlay network Active CN117395191B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311678570.1A CN117395191B (en) 2023-12-08 2023-12-08 Route addressing method and device of overlay network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311678570.1A CN117395191B (en) 2023-12-08 2023-12-08 Route addressing method and device of overlay network

Publications (2)

Publication Number Publication Date
CN117395191A CN117395191A (en) 2024-01-12
CN117395191B true CN117395191B (en) 2024-04-09

Family

ID=89468663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311678570.1A Active CN117395191B (en) 2023-12-08 2023-12-08 Route addressing method and device of overlay network

Country Status (1)

Country Link
CN (1) CN117395191B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505263A (en) * 2008-02-05 2009-08-12 华为技术有限公司 Method and device for maintaining routing information
CN102057647A (en) * 2008-06-12 2011-05-11 爱立信电话股份有限公司 Maintenance of overlay networks
CN106210090A (en) * 2016-07-18 2016-12-07 浪潮集团有限公司 The method for searching network services of double-layer circular routing infrastructure based on P2P network
CN113746736A (en) * 2020-05-30 2021-12-03 华为技术有限公司 Method, device and communication system for sending and receiving message

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505263A (en) * 2008-02-05 2009-08-12 华为技术有限公司 Method and device for maintaining routing information
CN102057647A (en) * 2008-06-12 2011-05-11 爱立信电话股份有限公司 Maintenance of overlay networks
CN106210090A (en) * 2016-07-18 2016-12-07 浪潮集团有限公司 The method for searching network services of double-layer circular routing infrastructure based on P2P network
CN113746736A (en) * 2020-05-30 2021-12-03 华为技术有限公司 Method, device and communication system for sending and receiving message

Also Published As

Publication number Publication date
CN117395191A (en) 2024-01-12

Similar Documents

Publication Publication Date Title
EP3751801B1 (en) Border gateway protocol for communication among software defined network controllers
US10205681B2 (en) Method for operating controller and switch for relieving network failure from SDN, and controller and switch therefor
US8165107B2 (en) Method and system for obtaining path information, path computation element
US11323366B2 (en) Path determining method, apparatus, and system
US20050117593A1 (en) Method and apparatus for synchronizing a data communications network
CN112104558B (en) Method, system, terminal and medium for implementing block chain distribution network
US20110280129A1 (en) System of Path Computation Element Protocol Support for Large-Scale Concurrent Path Computation
CN101155119B (en) Method and device for confirming boundary node of autonomous system and its path computing method
CN103688510A (en) Method and device for inter-network communication
US9553790B2 (en) Terminal apparatus and method of controlling terminal apparatus
CN112350935A (en) Path calculation method and device for path with stack depth constraint
CN100583831C (en) Path calculation unit networking and information obtaining method and communication system and related equipment
CN107547374B (en) Aggregation route processing method and device
CN113271137A (en) Cooperative processing method and storage medium for space-based network heterogeneous computational power resources
WO2021004213A1 (en) Method and apparatus for determining path tag of fusion network, storage medium, and electronic device
WO2014029287A1 (en) Method and device for sharing tunnel load
CN117395191B (en) Route addressing method and device of overlay network
CN101616061A (en) The path determines that method, path determine device and network system
CN101471838B (en) Method, system and equipment for switching source
CN110830370B (en) IBGP (Internet protocol gateway protocol) transmission route updating method based on OSPF (open shortest Path first) protocol
US7870292B2 (en) Network node and associated methodology of expanding a network topology through peer selection
CN108243104B (en) Multi-layer LSP control method and device
CN104065578A (en) IP router processing method and device based on ASON optical network
CN106572050B (en) Capability negotiation method and device
US20120063362A1 (en) Method and apparatus for computing paths to destinations in networks having link constraints

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant