CN116566886B - Stateless unicast protection routing method based on biplane - Google Patents

Stateless unicast protection routing method based on biplane Download PDF

Info

Publication number
CN116566886B
CN116566886B CN202310843204.0A CN202310843204A CN116566886B CN 116566886 B CN116566886 B CN 116566886B CN 202310843204 A CN202310843204 A CN 202310843204A CN 116566886 B CN116566886 B CN 116566886B
Authority
CN
China
Prior art keywords
node
plane
protection
relay
packet
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
CN202310843204.0A
Other languages
Chinese (zh)
Other versions
CN116566886A (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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202310843204.0A priority Critical patent/CN116566886B/en
Publication of CN116566886A publication Critical patent/CN116566886A/en
Application granted granted Critical
Publication of CN116566886B publication Critical patent/CN116566886B/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/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/247Multipath using M:N active or standby paths

Abstract

The application discloses a stateless unicast protection routing method based on double planes, which divides a topological graph obtained by each node into a working plane and a complementary plane; establishing a protection path and a protection routing table for a source node s to reach a destination node d; judging whether the current node is a source node or not; checking the value of the indication information I in the received packet; judging whether a relay node list in a received packet is empty or not; judging whether the current node is in a received packet relay node list or not; determining the plane of the link of the received packet, deleting the current node in the relay node list of the packet header, searching the routing table of the plane determined by the node according to the first relay node in the relay node list of the received packet header, acquiring the next hop information, and then transmitting the packet to the searched next hop. The application only generates stateless forwarding routing table except the source node, and forwards the packet according to the attached indication in the packet header, thereby improving the table lookup speed and enhancing the expansibility of the network.

Description

Stateless unicast protection routing method based on biplane
Technical Field
The application relates to the technical field of communication, in particular to a stateless unicast protection routing method based on double planes.
Background
Along with the development of the network towards the multi-service bearing direction, in particular, the requirements of some services on the reliability and the real-time performance of the network are higher and higher, and the communication network widely adopts ring networking to improve the reliability of the network. In the protection method of the ring network, 1:1 fast protection switching, reaching below 50 ms. Current techniques for such fast protection switching are RFC3619 for IETF (Internet Engineering Task Force ), g.8032 for ITU-T (International Telecommunication Union, international telecommunications union), etc.
Diamond-level traffic typically requires protection switching times within 20ms, and for such traffic a 1+1 protection scheme is typically employed, namely: two different paths (the two paths do not pass through the same link except the source node and the destination node) are simultaneously established between the source node and the destination node, one is called a working path, and the other is called a protection path. The protection is characterized in that the transmitting end transmits the same information (concurrence) on the main channel and the standby channel, and the receiving end selects and receives the service on the main channel under normal conditions, and the service is recovered by switching the selected and received standby channel when the main channel is damaged because the service on the main channel and the standby channel are identical. The 1+1 protection adopts the principle of concurrent optimal reception, and an automatic protection switching protocol APS (Automatic protection switching, APS) is not needed when the unidirectional path is protected.
Stateless is an important feature of the IP architecture, which is what makes the Internet extensible and robust. The routing table generated by the Internet routing protocols OSPF and RIP has stateless features, and is expressed in two aspects:
1) The state is no: the router does not need to maintain an entry for any particular flow (i.e., there is no source address information in the routing table entry) nor does the forwarding mechanism need to distinguish the flow in which each packet is located.
2) No establishment: the whole process is completed by the router alone, no participation of network management level is needed, and once the path is selected, no registration of the flow path is needed on any router related to the path.
Existing Internet routing protocols generate a routing table that has only three items, namely a destination address, a next hop address and a cost. The source node information of the path is not recorded in the entries of the routing table, and the number of the routing table entries is greatly reduced.
In practice, for a connected graph with n nodes, each node uses flow-based routing entries (including active node information), then the number of routing entries in the routing table of the node can reach n at most 2 N, the expansibility of the network is very poor; when the route entries do not contain source node information of the path, the number of the route entries in the route table can reach n at most, and the expansibility of the network is greatly increased.
Therefore, in consideration of the protection path, the protection path needs to have a state or not in order to maintain the expansibility and robustness of the network, and the protection path is mainly expressed in the following two aspects.
(1) The state is no: the router builds a protection routing table that does not require a routing table entry to be built for a particular protection path (i.e., there is no source address information in the protection routing table entry). The router selects a protection routing table according to the indication in the packet header, and forwards the packet by adopting a unified behavior table suitable for each protection packet, thereby achieving the protection effect.
(2) No establishment: the protection route establishment process is completed by the source node alone, no participation of a network management layer is needed, and once a protection path is selected, no registration is needed on any router on the path.
The stateless unicast protection scheme has two technical difficulties, namely: stateless and how to avoid the working path. The current unicast protection scheme has difficulty in achieving the two points at the same time. The existing unicast protection scheme is stateful and has the problem of poor expansibility, so that it is necessary to propose a stateless unicast protection scheme to improve network performance.
Disclosure of Invention
The application aims to: in view of the above problems, the present application aims to provide a stateless unicast protection routing method based on biplane.
The technical scheme is as follows: the application discloses a stateless unicast protection routing method based on a biplane, which comprises the following steps:
step 1, each node on a communication network acquires the topology of the whole communication network through a routing protocol, a topology diagram acquired by each node is divided into a working surface and a complementary plane, each node generates a No. 0 routing table on the working surface, and a No. 1 routing table on the complementary plane;
step 2, a protection path and a protection routing table for the source node s to reach the destination node d are established;
step 3, judging whether the current node is a source node or not, if not, turning to step 4;
step 4, checking the value of the indication information I in the received packet, and if I=0, turning to step 5;
step 5, judging whether the relay node list in the received packet is empty, if not, turning to step 6;
step 6, judging whether the current node is in the received packet relay node list, if yes, turning to step 7;
step 7, judging whether the first relay node in the received group relay node list is a first type relay node, if so, turning to step 8, otherwise, turning to step 9;
step 8, judging the plane of the link of the received packet, deleting the current node in the relay node list of the packet header, searching the routing table of the plane judged by the node according to the first relay node in the relay node list of the received packet header, acquiring the next hop information, and then transmitting the packet to the searched next hop;
and 9, deleting the current node in the relay node list of the packet header, searching the No. 0 routing table of the node according to the first relay node in the relay node list of the received packet header, acquiring next hop information, and transmitting the packet to the searched next hop.
Further, step 2, a protection path and a protection routing table for the source node s to reach the destination node d are established, specifically including the following sub-steps:
step 201, removing all edges on a working path between a source node s and a destination node d from the topology of the whole network, and marking the obtained topology as T;
step 202, solving the shortest path from the source node s to the destination node d in the topology T, and marking the shortest path as a protection path;
step 203, searching the first class relay node and the second class relay node by using the protection path, and adding the first class relay node, the second class relay node and the corresponding plane into the routing table to obtain the routing table of the protection path of the source node s reaching the destination node d, which is marked as < destination node, next hop, cost, relay node, plane >.
Further, in step 3, if the current node is the source node, the process proceeds to step 301;
step 301, searching by the address of the destination node d, finding a corresponding item, obtaining item information including the next hop, cost, relay node and plane, and entering step 302;
step 302, constructing a protection packet by using the source node s according to the searched item information, and entering step 303;
wherein the protection packet contains the following information: the method comprises the steps that indication information I, a relay node and IP addresses of a source node and a destination node are indicated, I=0 is a protection packet, I=1 is a working packet, and the relay node comprises a first type relay node and a second type relay node;
step 303, the source node s sends the constructed protection packet to the next hop along the link on the searched plane according to the next hop information searched in the protection routing table.
Further, step 202, solving the shortest path from the source node s to the destination node d in the topology T, denoted as a protection path, specifically includes the following sub-steps:
step 2021, constructing, for each node, a triplet (D (v), pre, x) and a back-driving parameter ba, for calculating a protection path; wherein D (v) represents the distance from the source node s to the node v, pre is the precursor node, x represents which plane the link between the node v and the precursor node belongs to, x=0 represents the plane 0, x=1 represents the plane 1, and the precursor parameter ba is initially set to-1;
step 2022, initializing: let n= { s }, for node v not in set N, if node v is adjacent to node s, D (v) = l (s, v), pre = s, if < s, v > link is in plane 0, x = 0, otherwise x = 1, for node v not in set N, if node v is not adjacent to node s, D (v) = infinity; where N represents the set of nodes in the shortest path tree rooted at s in topology T, and l (i, j) represents the cost of the link between node i and node j;
step 2023, find a node w that is not in set N and minimizes D (w), add node w to set N, and modify the distance D (v) of other nodes not in set N with the marked node w by:
D(v)=min[D(v),D(w)+l(w,v)],
wherein node v is a neighboring node to node w, and D (w) +l (w, v) < D (v), D (v) is updated;
step 2024, if D (w) +l (w, v) < D (v), updating the predecessor node of node v to pre=w, updating the plane indication parameter x to the plane in which link < w, v > is located;
step 2025, returning to step 2023 until the destination node d is added to the set N;
step 2026, backtracking is performed according to the parameter pre of the destination node d, so as to obtain the protection path of the working path.
Further, step 203 specifically includes the following sub-steps:
step 2031, defining a relay node set M, and m= { d };
step 2032, assigning pr as the pre value of node d, br as node d, and respectively marking pr=d as the pre value of node, br=d; wherein pr and br represent a forward temporary variable and a backward temporary variable, respectively;
step 2033, performing post-driving assignment on the node pointed by pr, wherein ba=br;
step 2034, finding a first type of relay node: if the x parameter value of the node pointed by pr is different from the x parameter value of the node pointed by br, the node pointed by pr is a first-type relay node, and the relay node is put into a set M;
step 2035, let br=pr, pr=pr point to the node pre value;
step 2036, if pr=s, put node s into set M, and invert the order of the elements in set M, otherwise return to step 2033.
Further, step 203 comprises the sub-steps of:
step 2037, indicating the position of the element in the set M with i=1;
step 2038, if the x value of the ith element of the set M is 0, j=i+1, otherwise go to step 2041;
step 2039, if the next hop on the shortest path from the i-th node i to the j-th node of the set M on the plane 0 is inconsistent with the node pointed by the successor node bra parameter of the i-th node, the node pointed by the bra parameter of the i-th node of the set M is a second-class relay node;
step 2040, replacing node i with the node pointed by the bra parameter of node i, repeating step 2038 until the j-th node of the set M is reached;
step 2041, let i=i+1, if i+.d, return to step 2038, otherwise, put the second type relay node found into the corresponding position of the set M.
Further, in step 4, the value of the indication information I in the received packet is checked, if i=1, the current node retrieves the routing table No. 0 of the node according to the destination node address of the received packet header, acquires the next hop information, and then sends the received packet to the found next hop.
Further, in step 5, it is determined whether the relay node list in the received packet is empty, if so, the current node determines the plane in which the link of the received packet is located, and then retrieves the routing table of the determined plane according to the destination node address of the header of the received packet, acquires the next hop information, and sends the received packet to the found next hop.
Further, in step 6, it is determined whether the current node is in the received packet relay node list, if not, the current node determines a plane in which a link of the received packet is located, and then retrieves a routing table of the determined plane according to the first relay node in the packet relay list to obtain next hop information, and sends the received packet to the found next hop.
The beneficial effects are that: compared with the prior art, the application has the remarkable advantages that: the application does not need to know which path the protection packet is on by the forwarding router, does not need to establish a forwarding entry binding the protection link and the working link, only generates a stateless forwarding routing table, and forwards the packet according to the attached indication in the packet header, thereby achieving the protection effect.
Drawings
FIG. 1 is a flow chart of protection path generation in an embodiment;
FIG. 2 is a network topology diagram in an embodiment;
FIG. 3 is a network topology diagram of generating plane 0 and plane 1 in an embodiment;
FIG. 4 is a working path of a source node s to other nodes in an embodiment;
FIG. 5 is a network topology diagram of an embodiment in which the working paths from the source node s to the destination node d are removed;
fig. 6 is a flow chart of a router stateless forwarding packet in an embodiment.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent.
The stateless unicast protection routing method based on the biplane in the embodiment comprises the following steps:
step 1, each node on a communication network acquires the topology of the whole communication network through a routing protocol, a topology diagram acquired by each node is divided into a working surface and a complementary plane, each node generates a No. 0 routing table on the working surface, and a No. 1 routing table on the complementary plane;
step 2, a protection path and a protection routing table for the source node s to reach the destination node d are established;
step 3, judging whether the current node is a source node or not, if not, turning to step 4;
step 4, checking the value of the indication information I in the received packet, and if I=0, turning to step 5;
step 5, judging whether the relay node list in the received packet is empty, if not, turning to step 6;
step 6, judging whether the current node is in the received packet relay node list, if yes, turning to step 7;
step 7, judging whether the first relay node in the received group relay node list is a first type relay node, if so, turning to step 8, otherwise, turning to step 9;
step 8, judging the plane of the link of the received packet, deleting the current node in the relay node list of the packet header, searching the routing table of the plane judged by the node according to the first relay node in the relay node list of the received packet header, acquiring the next hop information, and then transmitting the packet to the searched next hop;
and 9, deleting the current node in the relay node list of the packet header, searching the No. 0 routing table of the node according to the first relay node in the relay node list of the received packet header, acquiring next hop information, and transmitting the packet to the searched next hop.
Specifically, step 2, a protection path and a protection routing table for the source node s to reach the destination node d are established, including the following sub-steps:
step 201, removing all edges on a working path between a source node s and a destination node d from the topology of the whole network, and marking the obtained topology as T;
step 202, solving the shortest path from the source node s to the destination node d in the topology T, and marking the shortest path as a protection path;
step 203, searching the first class relay node and the second class relay node by using the protection path, and adding the first class relay node, the second class relay node and the corresponding plane into the routing table to obtain the routing table of the protection path of the source node s reaching the destination node d, which is marked as < destination node, next hop, cost, relay node, plane >.
In one example, taking a certain node in the network topology as an example (e.g., s node), a protection path generation process of a working path (s→d working path) from a source node s to a destination node d is described, and referring to fig. 1, the protection path generation process specifically includes the following steps:
s1: each node on the network acquires the topology of the whole network through a routing protocol (such as an OSPF protocol), each node divides the acquired topology map into two parts, wherein one part is a working surface and is marked as a 0# plane, and the other part is a supplementary plane and is marked as a 1# plane;
the working plane (0 # plane) is a topology diagram formed by combining all shortest paths from each node to other nodes, and the complementary plane (1 # plane) is a topology formed by removing the 0# plane from the whole network topology and the rest of edges and nodes. The shortest path from a node to another node may be generated using a shortest path algorithm (Dijkstra algorithm).
S2: each node on the network applies a shortest path algorithm on a 0# plane and a 1# plane to respectively generate a 0# routing table and a 1# routing table, wherein the routing tables contain a destination, a next hop and cost;
s3: removing all edges on an s-d working path from the whole network to obtain a topology T;
s4: using a labeling method on the topology T, solving the shortest path from the source node s to the destination node d, wherein the specific process comprises:
s41: constructing a triplet (D (v), pre, x) for each node for calculating a protection path; in addition, a back driving parameter ba is set for each node, and is initially set to be-1;
the above D (v) represents the distance from the source node s to the node v, pre is the precursor node, x indicates which plane the link between the node v and the precursor node belongs to, x=0 represents belonging to the 0# plane, and vice versa belongs to the 1# plane. N is the set of nodes in the shortest path tree rooted at s (in topology T). l (i, j) is the cost of the link between node i and node j.
S42: initializing: let n= { s }, for node v not in set N, if node v is adjacent to node s, D (v) = l (s, v), pre = s, if < s, v > link is in the 0# plane, x = 0, otherwise x = 1. For a node v not in the set N, if the node v is not adjacent to the node s, D (v) = infinity;
s43: finding a node w that minimizes D (w) that is not in set N, adding w to set N, and then using the marked w node to modify D (v) that is not in set N (that is not adjacent to w node), namely:
D(v)=min[D(v),D(w)+l(w,v)],
where node v must be the neighbor of node w and D (w) +l (w, v) < D (v), D (v) is updated.
S44: if D (w) +l (w, v) < D (v), the precursor of node v is updated to pre=w, and the plane indication parameter x is updated to the plane in which link < w, v > is located;
s45: returning to the step S43 until the destination node d is added into the set N, and a protection path is generated;
s5: and (3) performing backtracking operation: pr=pre value of d node, br=d; where pr and br represent forward and backward temporary variables, respectively. Additionally defining a relay node set M, m= { d };
s51: the node to which pr points is post-assigned, ba=br;
s52: if the x parameter value of the node pointed by pr is different from the x parameter value of the node pointed by br, the node pointed by pr is a first-type relay node, and the relay node is put into a set M;
s53: br=pr, pr=pr points to the pre parameter value of the node;
s54: if pr=s, putting the node S into the set M, and inverting the sequence of the elements in the set M, otherwise returning to step S51;
s6: defining i to indicate the position of the element in the set M, i=1;
s61: if the value x of the ith element of the set M is 0, j=i+1, otherwise go to step S64;
s62: if the next hop on the shortest path from the ith node to the jth node of the set M on the 0# plane is inconsistent with the node pointed by the bra parameter of the node i, the node pointed by the bra parameter of the ith node of the set M is a second-class relay node;
s63: replacing the node i with the node pointed by the bra parameter of the node i, and repeating the step S62 until the j-th node of the set M is reached;
s64: let i=i+1;
s65: if i is not equal to d, returning to the step S61, otherwise, turning to the step S66;
s66: the found second type relay nodes are placed in the corresponding positions of the set M;
s7: obtaining a route entry of a protection path of the source node s reaching the destination node d, namely: < destination node, next hop, cost, relay node, plane >.
In a specific example, fig. 2 is a network topology, numbers in circles in the figure represent node numbers, numbers on links between nodes represent costs between two nodes, each node may acquire the network topology through a routing protocol (such as OSPF protocol), taking a source node s as an example (note: the operation of this embodiment is performed at each node), taking each node as a root and applying Dijkstra algorithm, calculating shortest paths from each root node to other nodes, and the shortest paths calculated by these nodes form a 0# plane, as shown in a solid line part in fig. 3, a dotted line part is a 1# plane, and the 0# plane is an operation plane (note: according to the above operation, the 1# plane generated by each node is identical to the 0# plane, because the network topology acquired by each node is identical, and the algorithm used is Dijkstra algorithm).
Fig. 4 is a shortest path (i.e., working path) that the node s obtains on the 0# plane to other nodes based on Dijkstra algorithm, and the corresponding protection path is found for the working path from the node s to the destination node d.
The working path from the source node s to the destination node d is: s.fwdarw.1.fwdarw.4.fwdarw.6.fwdarw.8.fwdarw.d. Edges on the working path are removed in the network topology in fig. 3, resulting in fig. 4. In the topology of fig. 5, a protection path from a source node s to a destination node d is obtained by using a labeling method, specifically as follows:
a triplet (D (v), pre, x) is constructed for each node for computing a protection path. Where D (v) is the distance from the source node s to node v, pre is the precursor node, x indicates which plane the link between the v node and the precursor node belongs to, x=0 indicates belonging to the 0# plane, and vice versa belonging to the 1# plane. N is the set of nodes in the shortest path tree rooted at s. l (i, j) is the length of the link between node i and node j.
Initializing: let n= { s }, for node v not in set N, if node v is adjacent to node s, D (v) = l (s, v), pre = s, if < s, v > link is in plane number 0, x = 0, otherwise x = 1. For a node v not in the set N, if the node v is not adjacent to the node s, D (v) = infinity.
The triplet (D (v), pre, x) update procedure for each node is shown in table 1, and is specifically as follows:
in the initializing step, the node s is an initial node, and is added to the set N first. Adjacent to node s are only nodes 1, 2 and 3, which are each of the following cost: 2. 1, the precursor is the source node s, the edges from the source node s to the adjacent nodes 1, 2 and 3 are respectively in the 1# plane, the 0# plane and the 0# plane, so that the triplets of the nodes 1, 2 and 3 are (2, s, 1), (1, s, 0) and (1, s, 0) in turn, the node 2 with the minimum cost is selected and marked, and the node is added into the set N, and the step 1 (the third row of the table 1) of the table 1 is entered.
Table 1 node triplet update procedure
Step (a) N 1 2 3 4 6 7 8 9 10 d
Initialization of {s} (2,s,1) (1,s,0) (1,s,0)
1 {s,2} (2,s,1) (1,s,0) (4,2,0) (19,2,1) (9,2,0)
2 {s,2,3} (2,s,1) (4,2,0) (19,2,1) (9,2,0) (4,3,0) (14,3,1)
3 {s,2,3,1} (4,2,0) (10,1,1) (3,1,0) (14,1,1) (3,1,0) (14,3,1)
4 {s,2,3,1,7} (4,2,0) (5,7,0) (14,1,1) (3,1,0) (14,3,1)
5 {s,2,3,1,7,10} (4,2,0) (5,7,0) (14,1,1) (10,10,0)
6 {s,2,3,1,7,10,4} (5,7,0) (14,1,1) (10,10,0)
7 {s,2,3,1,7,10,4,6} (14,1,1) (6,6,0) (10,10,0)
8 {s,2,3,1,7,10,4,6,9} (14,1,1) (9,9,0)
9 {s,2,3,1,7,10,4,6,9,d} (14,1,1)
10 {s,2,3,1,7,10,4,6,9,d,8}
In step 1 of table 1, the neighboring nodes that have not joined set N are calculated at the cost of node 2 that just joined set N. Nodes adjacent to node 2 and not joining set N are nodes 4, 6 and 7, respectively, and the calculated costs are: d (4) =1+3=4, D (6) =1+18=19, D (7) =1+8=9, since the cost calculated with node 2 as the precursor is smaller than the cost in the initializing step (the original cost is +. thus, their costs will be updated, the precursor will be updated to node 2, and the paths of nodes 2 to 4, 6, 7 are on the 0# plane, 1# plane, 0# plane, respectively. Thus, the triples of nodes 4, 6, 7 are updated to (4, 2, 0), (19,2,1), (9,2,0), respectively. Continuing to select node 3 with the least cost and marking that node, adding to set N, step 2 in table 1 (fourth row of table 1) is entered.
The above process is repeated until step 9, at which point the destination node d has joined the set N. Backtracking is performed according to the parameter pre=9 of the destination node d in table 1, and the backtracking process is as follows:
d(9,9,0)→9(6,6,0)→6(5,7,0)→7(3,1,0)→1(2,s,1)→s
according to the backtracking process, a protection path of the working path s-1-4-6-8-d is obtained as follows:
a plane jump (i.e., the value of parameter x changes from 1 to 0) occurs in the protection path at node 1, so node 1 is a class 1 relay node.
Since the parameter x=0 of the node 1, the node 1 starts operation to the node d. On plane 0, the next hop on the shortest path of relay node 1 to node d is node 4, instead of node 7 on the protection path, so node 7 is a second type relay node. Then on plane 0, the next hop on the shortest path from node 6 (indicated by bra of node 7) to node d is node 8, which is inconsistent with node 9 on the protection path (indicated by bra of node 6), so node 9 is a second class node. The above process is repeated until node d.
The node s adds the protection route item { d,1,9, (-) to the protection route table according to the form of the protection route table item (destination node, next hop, cost, relay node)17, 9) }, with underlined numbers in brackets1A first class of relay nodes 1 is represented. To this end, a protection path has been generated for the source node s towards the destination node d.
The above process is repeated until the protection path of the source node s to other nodes is all generated, and the protection route of the source node s is shown in tables 2 to 4.
Table 2 protection path routing table for source node s
Destination node Next hop Cost of Relay node Plane surface
1 1 2 φ 1
2 1 5 1 0
3 1 5 1 0
4 2 4 2 0
6 1 5 1,7 1
7 1 6 1,4 1
8 1 10 1,7,9 1
9 1 10 1,7,8 1
10 3 4 3 0
d 1 9 1,7,9 1
TABLE 3 routing table number 0 source node s
Destination node Next hop Cost of
1 1 1
2 2 1
3 3 1
4 1 2
6 1 3
7 1 2
8 1 4
9 1 4
10 1 2
d 1 5
Table 4 routing table number 1 of source node s
Destination node Next hop Cost of
1 1 2
2 1 28
3 1 35
4 1 41
6 1 10
7 1 35
8 1 14
9 - -
10 - -
d 1 22
Specifically, in step 3, if the current node is the source node, the process proceeds to step 301;
step 301, searching by the address of the destination node d, finding a corresponding item, obtaining item information including the next hop, cost, relay node and plane, and entering step 302;
step 302, constructing a protection packet by using the source node s according to the searched item information, and entering step 303;
wherein the protection packet contains the following information: the method comprises the steps that indication information I, a relay node and IP addresses of a source node and a destination node are indicated, I=0 is a protection packet, I=1 is a working packet, and the relay node comprises a first type relay node and a second type relay node;
step 303, the source node s sends the constructed protection packet to the next hop along the link on the searched plane according to the next hop information searched in the protection routing table.
Specifically, step 202, solving the shortest path from the source node s to the destination node d in the topology T, denoted as a protection path, includes the following sub-steps:
step 2021, constructing, for each node, a triplet (D (v), pre, x) and a back-driving parameter ba, for calculating a protection path; wherein D (v) represents the distance from the source node s to the node v, pre is the precursor node, x represents which plane the link between the node v and the precursor node belongs to, x=0 represents the plane 0, x=1 represents the plane 1, and the precursor parameter ba is initially set to-1;
step 2022, initializing: let n= { s }, for node v not in set N, if node v is adjacent to node s, D (v) = l (s, v), pre = s, if < s, v > link is in plane 0, x = 0, otherwise x = 1, for node v not in set N, if node v is not adjacent to node s, D (v) = infinity; where N represents the set of nodes in the shortest path tree rooted at s in topology T, and l (i, j) represents the cost of the link between node i and node j;
step 2023, find a node w that is not in set N and minimizes D (w), add node w to set N, and modify the distance D (v) of other nodes not in set N with the marked node w by:
D(v)=min[D(v),D(w)+l(w,v)],
wherein node v is a neighboring node to node w, and D (w) +l (w, v) < D (v), D (v) is updated;
step 2024, if D (w) +l (w, v) < D (v), updating the predecessor node of node v to pre=w, updating the plane indication parameter x to the plane in which link < w, v > is located;
step 2025, returning to step 2023 until the destination node d is added to the set N;
step 2026, backtracking is performed according to the parameter pre of the destination node d, so as to obtain the protection path of the working path.
Specifically, step 203 includes the sub-steps of:
step 2031, defining a relay node set M, and m= { d };
step 2032, assigning pr as the pre value of node d, br as node d, and respectively marking pr=d as the pre value of node, br=d; wherein pr and br represent a forward temporary variable and a backward temporary variable, respectively;
step 2033, performing post-driving assignment on the node pointed by pr, wherein ba=br;
step 2034, finding a first type of relay node: if the x parameter value of the node pointed by pr is different from the x parameter value of the node pointed by br, the node pointed by pr is a first-type relay node, and the relay node is put into a set M;
step 2035, let br=pr, pr=pr point to the node pre value;
step 2036, if pr=s, put node s into set M, and invert the order of the elements in set M, otherwise return to step 2033.
Specifically, step 203 further comprises the sub-steps of:
step 2037, indicating the position of the element in the set M with i=1;
step 2038, if the x value of the ith element of the set M is 0, j=i+1, otherwise go to step 2041;
step 2039, if the next hop on the shortest path from the i-th node i to the j-th node of the set M on the plane 0 is inconsistent with the node pointed by the bra parameter of the i-th node, the node pointed by the bra parameter of the i-th node of the set M is a second-class relay node;
step 2040, replacing node i with the node pointed by the bra parameter of node i, repeating step 2038 until the j-th node of the set M is reached;
step 2041, let i=i+1, if i+.d, return to step 2038, otherwise, put the second type relay node found into the corresponding position of the set M.
Specifically, in step 4, the value of the indication information I in the received packet is checked, if i=1, the current node retrieves the routing table No. 0 of the node according to the destination node address of the header of the received packet, acquires the next hop information, and then sends the received packet to the found next hop.
Specifically, in step 5, it is determined whether the relay node list in the received packet is empty, if so, the current node determines the plane in which the link of the received packet is located, then retrieves the routing table of the determined plane according to the destination node address of the header of the received packet, acquires the next hop information, and sends the received packet to the found next hop.
Specifically, in step 6, it is determined whether the current node is in the received packet relay node list, if not, the current node determines a plane in which a link of the received packet is located, and then retrieves a routing table of the determined plane according to the first relay node in the packet relay list to obtain next hop information, and sends the received packet to the found next hop.
In one embodiment, taking the example that the node s sends the protection packet to the destination node d on the protection path, the procedure of stateless transmission of the protection packet is described as shown in the flowchart of fig. 6:
s1: judging whether the node S is a source node or not, if yes, turning to a step S11, otherwise turning to a step S2;
s11: the source node s searches the address of the destination node d in the protection routing table to find the corresponding entry and obtain the information of the next hop, the cost, the relay node and the plane;
based on the said searched item information, the source node constructs a protection packet, which must contain the following information: indication information I (i=0 is a protection packet, otherwise is a working packet), relay node (to indicate whether it is a first type or a second type relay node), IP addresses of source node and destination node;
s12: the source node s sends the constructed protection packet to the next hop (along the link on the searched plane) according to the next hop information searched in the protection routing table;
s2: the node S checks the indication information I in the received packet, if I=1 ((i.e. the working packet), the step S21 is carried out, otherwise, the step S3 is carried out;
s21: the forwarding node k searches the 0# routing table of the node according to the destination node address of the received packet header, acquires the next hop information, and then sends the received packet to the searched next hop;
s3: the forwarding node k judges that the relay node list of the received packet is not empty, if yes, the step S31 is entered, otherwise, the step S4 is entered;
s31: the forwarding node k judges the plane of the link (or the ingress port) of the received packet, then retrieves the routing table of the judged plane according to the destination node address of the received packet head, acquires the next hop information, and then sends the received packet to the detected next hop;
s4: judging whether the forwarding node k is in a relay node list of the received packet, if not (non-relay node), turning to step 41, otherwise turning to step S5;
s41: the forwarding node k judges the plane where the link (or the ingress port) of the packet is received, then retrieves the routing table of the judged plane according to the first relay node in the relay list of the packet, acquires the next hop information, and then sends the received packet to the searched next hop;
s5: if the first relay node in the relay list of the packet is the first type relay node, the step S51 is carried out if yes, otherwise the step S6 is carried out;
s51: the forwarding node k judges the plane of the link (or the ingress port) of the received packet, deletes the node k in the relay list of the packet header, searches the routing table of the plane judged by the node according to the first relay node in the relay list of the received packet header, acquires the next hop information, and then sends the packet to the searched next hop;
s6: the node k deletes the node k in the relay list of the packet header, searches the No. 0 routing table of the node according to the first relay node in the relay list of the received packet header, acquires the next hop information, and sends the packet to the found next hop.
In one example, the network topology of the present embodiment is completely identical to the network topology shown in fig. 2, and the implementation process of the generation and stateless forwarding of the protection packet will be further described below by taking the generation and forwarding of the protection packet on the protection path of the working path s→1→4→6→8→d as an example:
in this example, each node on the network generates a # 0 plane and a # 1 plane (note: the # 0 plane and the # 1 plane seen by each node are identical) from the topology it obtains, and generates its own # 0 routing table and # 1 routing table, respectively. The protection path routing table, the # 0 routing table, and the # 1 routing tables 2-4 generated by the source node s are shown. The # 0 routing tables for node 1, node 7, node 6 and node 9 are shown in tables 5-7 (note: the only routing tables used in this example).
Table 5 routing table No. 0 of node 1
Destination node Next hop Cost of
s s 1
2 s 2
3 s 2
4 4 1
6 4 2
7 7 1
8 4 3
9 4 3
10 10 1
d 4 4
Table 6 routing table number 0 of node 7
Destination node Next hop Cost of
1 1 1
2 1 3
3 1 3
4 1 2
6 6 2
s 1 2
8 6 3
9 6 3
10 1 2
d 6 4
Table 7 node 6 number 0 routing table
Destination node Next hop Cost of
1 4 2
2 4 4
3 4 4
4 4 1
7 7 2
s 4 3
8 8 1
9 9 1
10 4 3
d 8 2
The source node s searches the protection routing table by the destination node d, and the obtained information is as follows: the next hop is node 1, the cost is 9, and the relay node is17,9 nodes #1Is a first type relay node, 7,9 is a second type relay node), and the plane is a 1# plane. Based on the information found above, the source node s constructs a protection packet whose header must contain the following information: the indication information I is 0, the address of the relay node 1, and the IP addresses of the source node and the destination node. The source node s transmits the constructed protection packet to node 1 (along the link on the plane # 1) based on the found next hop information (node 1). After the node 1 receives the protection packet, it checks the value of the indication information I to be 0, determines that the packet is a protection packet, then the node 1 continues to check the relay node list of the protection packet header, finds that the node 1 (node 1) is in the relay list and is a first type relay node, it deletes the node 1 of the relay node list of the packet header, then searches its 0# routing table with the first relay node 7 in the relay node list (since the relay node 1 receives the protection packet from the link on the 1# plane), obtains the next hop to be the node 7, and sends the packet to the node 7.
After the node 7 receives the protection packet, it checks the value of the indication information I to be 0, determines that the packet is the protection packet, then the node 7 continues to check the relay node list of the protection packet header, discovers that the node 7 is in the relay list and is a second type relay node, deletes the node 7 of the relay node list of the packet header, then searches its 0# routing table with the first relay node 9 in the relay node list, obtains that the next hop is the node 6, and sends the packet to the node 6.
After the node 6 receives the protection packet, the value of the indication information I is checked to be 0, the packet is determined to be the protection packet, then the node 7 continues to check the relay node list of the protection packet header, discovers that the node (node 6) is not in the relay list, and the node 6 discovers that the node is the packet received from the plane 0, so that the first relay node 9 in the relay list retrieves the routing table 0# to obtain the next hop which is the node 9, and sends the packet to the node 9.
After the node 9 receives the protection packet, it checks the value of the indication information I to be 0, determines that the packet is a protection packet, then the node 9 continues to check the relay node list of the protection packet header, finds that the node (node 9) is in the relay list and is a second type relay node, it deletes the node 9 of the relay node list of the packet header, and finds that the relay node list is empty. Then, node 9 searches its route table # 0 with the destination node d of the packet header, and obtains that the next hop is node d, and sends the protection packet to the destination node d.
In view of the transmission of the protection packet on the protection path, the intermediate node only needs the common 0# routing table and the common 1# routing table for forwarding the protection packet, and does not need the protection routing table, namely the forwarding node does not need to know on which protection path the protection packet is, and the characteristic greatly reduces the scale of the routing table, improves the table lookup speed, and further enhances the expansibility of the network. The reason for this phenomenon is: the state of the protection path only exists in a protection routing table of the source node and a relay list of the protection molecular head; the intermediate forwarding nodes (including relay nodes) do not need to hold any information about the protection path, and can forward the protection packet without state.

Claims (6)

1. The stateless unicast protection routing method based on the biplane is characterized by comprising the following steps of:
step 1, each node on a communication network acquires the topology of the whole communication network through a routing protocol, a topology diagram acquired by each node is divided into a working surface and a complementary plane, each node generates a No. 0 routing table on the working surface, and a No. 1 routing table on the complementary plane;
step 2, a protection path and a protection routing table for the source node s to reach the destination node d are established;
step 3, judging whether the current node is a source node or not, if not, turning to step 4;
step 4, checking the value of the indication information I in the received packet, and if I=0, turning to step 5;
step 5, judging whether the received packet relay node list is empty, if not, turning to step 6;
step 6, judging whether the current node is in the received packet relay node list, if yes, turning to step 7;
step 7, judging whether the first relay node in the received group relay node list is a first type relay node, if so, turning to step 8, otherwise, turning to step 9;
step 8, judging the plane of the link of the received packet, deleting the current node in the relay node list of the packet header, searching the routing table of the plane judged by the node according to the first relay node in the relay node list of the received packet header, acquiring the next hop information, and then transmitting the packet to the searched next hop;
step 9, deleting the current node in the relay node list of the packet header, searching the No. 0 routing table of the node according to the first relay node in the relay node list of the received packet header, obtaining the next hop information, and transmitting the packet to the searched next hop;
step 2, a protection path and a protection routing table for the source node s to reach the destination node d are established, and the method specifically comprises the following substeps:
step 201, removing all edges on a working path between a source node s and a destination node d from the topology of the whole network, and marking the obtained topology as T;
step 202, solving the shortest path from the source node s to the destination node d in the topology T, and marking the shortest path as a protection path;
step 203, searching a first type relay node and a second type relay node by using the protection path, and adding the first type relay node, the second type relay node and the corresponding plane into the routing table to obtain a routing table of the protection path of the source node s reaching the destination node d, which is marked as < destination node, next hop, cost, relay node, plane >;
in step 3, if the current node is a source node, go to step 301;
step 301, searching by the address of the destination node d, finding a corresponding item, obtaining item information including the next hop, cost, relay node and plane, and entering step 302;
step 302, constructing a protection packet by using the source node s according to the searched item information, and entering step 303;
wherein the protection packet contains the following information: the method comprises the steps that indication information I, a relay node and IP addresses of a source node and a destination node are indicated, I=0 is a protection packet, I=1 is a working packet, and the relay node comprises a first type relay node and a second type relay node;
step 303, the source node s sends the constructed protection packet to the next hop along the link on the searched plane according to the next hop information searched in the protection routing table;
in step 4, the value of the indication information I in the received packet is checked, if i=1, the current node retrieves the routing table No. 0 of the node according to the destination node address of the received packet header, acquires the next hop information, and then sends the received packet to the found next hop.
2. The stateless unicast protection routing method according to claim 1, wherein step 202, solving the shortest path from the source node s to the destination node d in the topology T, denoted as protection path, comprises the following sub-steps:
step 2021, constructing, for each node, a triplet (D (v), pre, x) and a back-driving parameter ba, for calculating a protection path; wherein D (v) represents the distance from the source node s to the node v, pre is the precursor node, x represents which plane the link between the node v and the precursor node belongs to, x=0 represents the plane 0, x=1 represents the plane 1, and the precursor parameter ba is initially set to-1;
step 2022, initializing: let n= { s }, for node v not in set N, if node v is adjacent to node s, D (v) = l (s, v), pre = s, if < s, v > link is in plane 0, x = 0, otherwise x = 1, for node v not in set N, if node v is not adjacent to node s, D (v) = infinity; where N represents the set of nodes in the shortest path tree rooted at s in topology T, and l (i, j) represents the cost of the link between node i and node j;
step 2023, find a node w that is not in set N and minimizes D (w), add node w to set N, and modify the distance D (v) of other nodes not in set N with the marked node w by:
D(v)=min[D(v),D(w)+l(w,v)],
where node v is the neighbor of node w, and D (w) +l (w, v) < D (v), D (v) is updated, D (w) representing the distance from source node s to node w;
step 2024, if D (w) +l (w, v) < D (v), updating the predecessor node of node v to pre=w, updating the plane indication parameter x to the plane in which link < w, v > is located;
step 2025, returning to step 2023 until the destination node d is added to the set N;
step 2026, backtracking is performed according to the parameter pre of the destination node d, so as to obtain the protection path of the working path.
3. The stateless unicast protection routing method of claim 2, wherein step 203 specifically comprises the sub-steps of:
step 2031, defining a relay node set M, and m= { d };
step 2032, assigning pr as the pre value of node d, br as node d, and respectively marking pr=d as the pre value of node, br=d; wherein pr and br represent a forward temporary variable and a backward temporary variable, respectively;
step 2033, performing post-driving assignment on the node pointed by pr, wherein ba=br;
step 2034, finding a first type of relay node: if the x parameter value of the node pointed by pr is different from the x parameter value of the node pointed by br, the node pointed by pr is a first-type relay node, and the relay node is put into a set M;
step 2035, let br=pr, pr=pr point to the node pre value;
step 2036, if pr=s, put node s into set M, and invert the order of the elements in set M, otherwise return to step 2033.
4. A stateless unicast protection routing method according to claim 3, wherein step 203 further comprises the sub-steps of:
step 2037, indicating the position of the element in the set M with i=1;
step 2038, if the x value of the ith element of the set M is 0, j=i+1, otherwise go to step 2041;
step 2039, if the next hop on the shortest path from the i-th node i to the j-th node of the set M on the plane 0 is inconsistent with the node pointed by the successor node bra parameter of the i-th node, the node pointed by the bra parameter of the i-th node of the set M is a second-class relay node;
step 2040, replacing node i with the node pointed by the bra parameter of node i, repeating step 2038 until the j-th node of the set M is reached;
step 2041, let i=i+1, if i+.d, return to step 2038, otherwise, put the second type relay node found into the corresponding position of the set M.
5. The stateless unicast protection routing method according to claim 1, wherein in step 5, it is determined whether the received packet relay node list is empty, if so, the current node determines the plane in which the link of the received packet is located, then retrieves the routing table of the determined plane according to the destination node address of the received packet header, acquires next hop information, and sends the received packet to the found next hop.
6. The stateless unicast protection routing method according to claim 1, wherein in step 6, it is determined whether the current node is in the received packet relay node list, if not, the current node determines a plane in which a link of the received packet is located, and then retrieves the determined plane routing table according to the first relay node in the packet relay list to obtain next hop information, and sends the received packet to the found next hop.
CN202310843204.0A 2023-07-11 2023-07-11 Stateless unicast protection routing method based on biplane Active CN116566886B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310843204.0A CN116566886B (en) 2023-07-11 2023-07-11 Stateless unicast protection routing method based on biplane

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310843204.0A CN116566886B (en) 2023-07-11 2023-07-11 Stateless unicast protection routing method based on biplane

Publications (2)

Publication Number Publication Date
CN116566886A CN116566886A (en) 2023-08-08
CN116566886B true CN116566886B (en) 2023-09-26

Family

ID=87491941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310843204.0A Active CN116566886B (en) 2023-07-11 2023-07-11 Stateless unicast protection routing method based on biplane

Country Status (1)

Country Link
CN (1) CN116566886B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967563A (en) * 2015-07-24 2015-10-07 国家电网公司 Active routing method and device
CN108183856A (en) * 2016-12-08 2018-06-19 中兴通讯股份有限公司 A kind of method for routing foundation and device
CN110417663A (en) * 2018-04-27 2019-11-05 奥维飞越通信有限公司 A kind of multifactor mixed logic dynamic algorithm based on proactive routing protocol
CN110519165A (en) * 2019-08-23 2019-11-29 南京邮电大学 Unicast guard method based on segmented node
CN116094987A (en) * 2021-11-05 2023-05-09 华为技术有限公司 Method and device for determining forwarding path

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967563A (en) * 2015-07-24 2015-10-07 国家电网公司 Active routing method and device
CN108183856A (en) * 2016-12-08 2018-06-19 中兴通讯股份有限公司 A kind of method for routing foundation and device
CN110417663A (en) * 2018-04-27 2019-11-05 奥维飞越通信有限公司 A kind of multifactor mixed logic dynamic algorithm based on proactive routing protocol
CN110519165A (en) * 2019-08-23 2019-11-29 南京邮电大学 Unicast guard method based on segmented node
CN116094987A (en) * 2021-11-05 2023-05-09 华为技术有限公司 Method and device for determining forwarding path

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于BIER技术的组播保护方案研究;刘结源;《中国优秀硕士学位论文全文数据库信息科技辑》;全文 *
无线传感器网络组播方法研究;文少杰;张振宇;杨文忠;;传感器与微系统(10);全文 *

Also Published As

Publication number Publication date
CN116566886A (en) 2023-08-08

Similar Documents

Publication Publication Date Title
Raju et al. A new approach to on-demand loop-free multipath routing
US8619774B2 (en) Method and apparatus for providing multicast messages within a virtual private network across a data communication network
US8089968B2 (en) Automatic prioritization of BGP next-hop in IGP convergence
Chen et al. An efficient multipath forwarding method
US7656857B2 (en) Directed acyclic graph computation by orienting shortest path links and alternate path links obtained from shortest path computation
US7925778B1 (en) Method and apparatus for providing multicast messages across a data communication network
US7515551B2 (en) Techniques for reducing adjacencies in a link-state network routing protocol
US20070214280A1 (en) Backup BGP paths for non-multipath BGP fast convergence
CN104283789B (en) Route convergent method and system
JPH07177143A (en) Link metric assignment method
CN108494601B (en) Multi-constraint double-path routing method in hierarchical determination network
US11411858B2 (en) Method for updating route in network, network device, and system
US7349427B1 (en) Routing method and apparatus for optimising auto-tunnelling in a heterogeneous network
US11632322B2 (en) Preferred path route graphs in a network
US20120207058A1 (en) Method and systems for determining path of a virtual connection through a network
CN112468206B (en) Partition-based constellation satellite network distributed routing method and device
EP3598704A1 (en) Method and apparatus for establishing domain-level topology and network system
US7545756B2 (en) Method and apparatus for constructing a forwarding information structure
US7986643B2 (en) Determining and distributing routing paths for nodes in a network
CN112134795B (en) Method, device and system for sending multicast protocol message
US20030126284A1 (en) Relating to auto-tunnelling in a heterogeneous network
CN116566886B (en) Stateless unicast protection routing method based on biplane
US11855883B2 (en) System and methods for computing flooding topology
US20080212585A1 (en) Preventing Loops during Recovery in Network Rings Using Cost Metric Routing Protocol
CA2437684C (en) Routing method and apparatus for optimising auto-tunnelling in a heterogeneous network

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
GR01 Patent grant