CN115733840A - Method for sending message, method and device for controlling message sending - Google Patents

Method for sending message, method and device for controlling message sending Download PDF

Info

Publication number
CN115733840A
CN115733840A CN202111007552.1A CN202111007552A CN115733840A CN 115733840 A CN115733840 A CN 115733840A CN 202111007552 A CN202111007552 A CN 202111007552A CN 115733840 A CN115733840 A CN 115733840A
Authority
CN
China
Prior art keywords
sub
message
network device
packet
node
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.)
Pending
Application number
CN202111007552.1A
Other languages
Chinese (zh)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111007552.1A priority Critical patent/CN115733840A/en
Priority to PCT/CN2022/110185 priority patent/WO2023029871A1/en
Publication of CN115733840A publication Critical patent/CN115733840A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the application discloses a method for sending a message, a method and a device for controlling the message sending, which can be used for an SR network and are used for realizing efficient redundancy protection. The method can comprise the following steps: after receiving the first message, the first network device obtains multiple pieces of sub-path information corresponding to multiple sub-paths from the first message according to first indication information in the first message, generates multiple pieces of second messages based on copying the first message, and forwards the multiple pieces of second messages to the second network device through the multiple sub-paths according to the multiple pieces of sub-path information, so that the redundant protection of the first message between the first network device and the second network device is facilitated, the reliability of message transmission is improved, and the forwarding efficiency of the first network device on the first message is improved.

Description

Message sending method, message sending control method and device
Technical Field
The present application relates to the field of network technologies, and in particular, to a method for sending a packet, and a method and an apparatus for controlling sending of a packet.
Background
Redundancy protection is a general protection mechanism for achieving high reliability of node-to-node (point-to-point) traffic transmission in a network. For convenience of description, two nodes involved in redundancy protection are referred to as a redundant node and a merge node, respectively. Specifically, the redundant node copies the packet into a plurality of packets, and then forwards the plurality of packets to the merge node through a plurality of different paths, respectively. After receiving the multiple messages, the merge node can continue to forward one of the messages and discard the other messages. Therefore, even if one path between the redundant node and the merging node fails, the merging node can receive the message forwarded by other paths, and the reliability of service transmission from the redundant node to the merging node is improved.
In order to support redundancy protection in a Segment Routing (SR) network, a received packet needs to be matched to a specific SR policy at a redundancy node, path information corresponding to a plurality of different paths is obtained through the SR policy, and then the copied packets are respectively forwarded to a merge node through the plurality of different paths.
After the redundant node receives the message, the redundant node can realize the redundant protection of the message between the redundant node and the merging node only after matching the SR strategy, which is not beneficial to improving the message forwarding efficiency of the redundant node.
Disclosure of Invention
The embodiment of the application provides a message sending method, a message sending control method and a message sending control device, which are beneficial to improving the message sending efficiency of redundant nodes.
In a first aspect, an embodiment of the present application provides a method for sending a packet, where the method may be applied to an SR network, for example. The method in the embodiment of the application comprises the following steps: a first network device receives a first message, where the first message includes multiple pieces of sub-path information and first indication information, the multiple pieces of sub-path information respectively correspond to multiple sub-paths between the first network device and a second network device, and each sub-path in the multiple pieces of sub-paths takes the first network device as a starting point and each sub-path in the multiple pieces of sub-paths takes the second network device as an ending point; based on that the first packet includes first indication information, the first network device forwards a plurality of second packets to the second network device through the plurality of sub-paths according to the plurality of sub-path information in the first packet, where the second packets are obtained by copying the first packet, and the second packets include payload data of the first packet.
After the first network device receives the first message, if the first network device resolves the first indication information from the first message, the first network device may obtain a plurality of sub-path information corresponding to the plurality of sub-paths from the first message, and generate a plurality of second messages based on copying the first message, where the second messages include payload data in the first message, and then forward the plurality of second messages to the second network device through the plurality of sub-paths according to the plurality of sub-path information, which is beneficial to implement redundancy protection of the first message between the first network device and the second network device, improve reliability of message transmission, and improve forwarding efficiency of the first network device on the first message.
In a possible implementation manner, the second packet includes second indication information, where the second indication information indicates that the second network device forwards a received target packet, where the target packet is included in the plurality of second packets, and discards other packets except the target second packet in the plurality of received second packets.
And packaging second indication information corresponding to the function of the merging node in the second message, so that the second network equipment can conveniently identify the second indication information and execute the operation of the merging node, namely the function of deleting the redundant message, and the operation efficiency is improved.
In a possible implementation manner, the first packet is a segment routing packet, and the plurality of pieces of sub-path information are carried in a segment identifier list field of the first packet.
The segment identification list field of the segment routing message carries a plurality of pieces of sub-path information, which is beneficial to using the message sending method in an SR network, improving the reliability and efficiency of message forwarding and saving the overhead of the message head.
In a possible implementation manner, the first message is a segment routing message, and the multiple pieces of sub-path information are carried in a length value field of an optional type of a segment routing header SRH of the first message, which is beneficial to using the message sending method in an SR network, improving the reliability and efficiency of message forwarding, and saving the overhead of an SRH middle segment identifier list.
In a possible implementation manner, the plurality of sub-path information in the first message is an ordered list, the ordered list includes 1 st sub-path information, \8230, ith sub-path information, \8230, and/or \8230, and nth sub-path information, which are sequentially arranged, n is the number of sub-paths in the plurality of sub-paths, i is any positive integer less than or equal to n, the ith sub-path information corresponds to an ith sub-path in the plurality of sub-paths, and the ith sub-path information includes a segment identifier list corresponding to the ith sub-path.
The plurality of sub-path information are carried in the ordered list form, so that the accuracy of identifying each sub-path information by the first network equipment is improved, and the reliability and the efficiency of message forwarding are improved.
In a possible implementation manner, the plurality of second packets are segment routing packets, the plurality of sub-path information are carried in a segment identifier list field of the second packet, each of the plurality of second packets includes a segment remainder field, and values of the segment remainder fields of each of the plurality of second packets are different, so that the value of the segment remainder field of each of the plurality of second packets points to each of the plurality of sub-path information, respectively.
The segment identifier list field of the second message carries multiple pieces of sub-path information, which is beneficial to more information in the first message in the second message and further beneficial to path backtracking at the network outlet device, namely, multiple pieces of sub-path information are determined from the message received by the network outlet device, and then the redundant path passed by the message is determined.
In a possible implementation manner, the plurality of second packets are segment routing packets, and each of the plurality of second packets includes each of the plurality of sub-path information, and each of the sub-path information is carried in a segment identifier list field of each of the plurality of second packets.
For a plurality of pieces of sub-path information, each second message only comprises the sub-path information of the corresponding sub-path, which is beneficial to saving message overhead and further saving network resources.
In a possible implementation manner, the first indication information is carried in a first segment identifier SID of the first network device, and the first SID is carried in a segment identifier list field of the first packet.
In a possible implementation manner, the first SID is an SRv6 SID, and the first indication information is included in a FUNCT field and/or an ARG field of the first SID.
The first SID can not only identify the network segment of the network device, but also serve as first indication information, which is beneficial to reducing the message overhead.
In a second aspect, an embodiment of the present application provides a method for sending a packet, where the method includes: the method comprises the steps that a network entry device encapsulates multiple pieces of sub-path information in a data message to obtain a first message, wherein the multiple pieces of sub-path information respectively correspond to multiple sub-paths between a first network device and a second network device, each sub-path in the multiple pieces of sub-paths takes the first network device as a starting point, and each sub-path in the multiple pieces of sub-paths takes the second network device as an end point; the network entry device sends the first packet to the first network device, where the first packet further includes first indication information, and the first indication information indicates that the first network device forwards a plurality of second packets to the second network device through the plurality of sub-paths according to the plurality of sub-path information in the first packet, where the second packets are obtained by copying the first packet, and the second packets include payload data of the first packet.
The network entry device may encapsulate multiple pieces of sub-path information in a data message to obtain and send a first message to the first network device, so that the first network device obtains multiple pieces of sub-path information corresponding to multiple sub-paths from the first message, and generates multiple second messages based on copying the first message, where the second messages include payload data in the first message, and then forwards the multiple second messages to the second network device through the multiple sub-paths according to the multiple pieces of sub-path information, which is beneficial to implement redundancy protection of the first message between the first network device and the second network device, improves reliability of message transmission, and improves forwarding efficiency of the first network device on the first message.
In a possible implementation manner, the first packet is a segment routing packet, and the plurality of pieces of sub-path information are carried in a segment identifier list field of the first packet.
The segment identification list field of the segment routing message carries a plurality of pieces of sub-path information, which is beneficial to using the message sending method in an SR network, improving the reliability and efficiency of message forwarding and saving the overhead of the message head.
In a possible implementation manner, the first packet is a segment routing packet, and the plurality of pieces of sub-path information are carried in a length value field of an optional type of a segment routing header SRH of the first packet. The method is beneficial to using the message sending method in the SR network, improves the reliability and efficiency of message forwarding, and saves the overhead of the SRH middle section identification list.
In one possible implementation, the encapsulating, by the network entry device, the plurality of sub-path information in the data packet includes: and the network entry equipment encapsulates a segment identification list in a data message according to a segment routing strategy, wherein the candidate path information of the segment routing strategy comprises the segment identification list, and the segment identification list comprises the plurality of pieces of sub-path information.
The network inlet equipment can press a plurality of sub-path information in the data message by matching a segment routing strategy, which is beneficial to improving the transmission efficiency of the data message in a plurality of sub-paths.
In a third aspect, an embodiment of the present application provides a method for controlling packet transmission, including: the controller sends a segment routing policy to a network entry device, where candidate path information of the segment routing policy includes a segment identification list, the segment identification list includes multiple pieces of sub-path information, the multiple pieces of sub-path information respectively correspond to multiple sub-paths between the first network device and a second network device, and each of the multiple sub-paths starts from the first network device and ends at the second network device, the segment routing policy is configured to instruct the network entry device to encapsulate the segment identification list in a data message to obtain a first message sent to the first network device, so that the first network device forwards multiple second messages to the second network device through the multiple sub-paths according to the multiple pieces of sub-path information in the first message, where the second messages are obtained by replicating the first message, and the second messages include payload data of the first message.
The controller carries a plurality of pieces of sub-path information through one segment identification list in a segment routing strategy sent to the network entry device, so that the network entry device can press the plurality of pieces of sub-path information in the data message by matching one segment routing strategy, and the transmission efficiency of the data message in the plurality of sub-paths is improved.
In a fourth aspect, an embodiment of the present application provides a method for sending a packet, including: the second network equipment receives a plurality of second messages, wherein the plurality of second messages all comprise a plurality of pieces of sub-path information and segment residual fields; the plurality of sub-path information is an ordered list, the ordered list sequentially comprises 1 st sub-path information, 8230, i sub-path information, 8230, n sub-path information and n sub-path information from front to back, wherein n is the number of paths in a plurality of sub-paths between a first network device and a second network device, each sub-path in the plurality of sub-paths takes the first network device as a starting point, each sub-path in the plurality of sub-paths takes the second network device as an end point, i is any positive integer less than or equal to n, the i sub-path information corresponds to an i path in the plurality of sub-paths, and the i sub-path information comprises a segment identification list corresponding to the i sub-path; the segment residual field of each of the second messages has different values, so that the value of the segment residual field of each of the second messages points to each of the sub-path information respectively; and the second network equipment forwards a target second message in the second messages and discards other messages except the target second message in the second messages.
The second network equipment executes the operation of merging the nodes, namely deleting the redundant message, which is beneficial to improving the reliability of message transmission. The segment identifier list field of the second message carries multiple pieces of sub-path information, which is beneficial to more information in the first message in the second message, and further beneficial to performing path backtracking on the network exit device, namely determining multiple pieces of sub-path information from the message received by the network exit device, and further determining a redundant path passed by the message.
In a possible implementation manner, the forwarding, by the second network device, a target second message in the second messages includes: and the second network equipment modifies the value of the segment residual field in the target second message so that the value of the segment residual field in the target second message corresponds to a target SID in a segment identification list of the target second message, and the target SID corresponds to the next hop network equipment or link in a forwarding path of the target second message, thereby being beneficial to ensuring that the target second message is continuously transmitted according to the forwarding path and improving the reliability of message transmission.
In a fifth aspect, an embodiment of the present application provides a method for sending a packet, including: a first network device acquires a segment routing policy, wherein the segment routing policy comprises a segment identification list and a Binding Segment Identification (BSID) corresponding to the segment identification list, the segment identification list comprises a plurality of pieces of sub-path information, the plurality of pieces of sub-path information respectively correspond to a plurality of sub-paths between the first network device and a second network device, and each sub-path in the plurality of sub-paths respectively takes the first network device and the second network device as a starting point and an end point; the first network equipment receives a first message, and the destination address field of the first message comprises the BSID; the first network device obtains the segment identifier list according to the BSID and the SR policy, and forwards a plurality of second messages to the second network device through the plurality of sub-paths, respectively, where the second messages are obtained by copying the first messages, and the second messages include payload data of the first messages.
In this embodiment, the first network device binds a segment identifier list including multiple pieces of sub-path information with the BSID, so that the first packet only needs to carry the BSID, and the multiple pieces of sub-path information are all carried in the same segment identifier list of the segment routing policy, that is, the segment routing policy carries sub-path information corresponding to multiple sub-paths through one segment identifier list. After receiving the first message carrying the BSID, the first network device finds the segment of the identification list through the BSID to acquire a plurality of pieces of sub-path information. In the existing segment routing policy protocol, if a candidate path bound by BSID corresponds to multiple segment identifier lists, the traffic directed to the candidate path is load balanced among multiple paths corresponding to the multiple segment identifier lists. Therefore, the redundant protection is realized by carrying a plurality of sub-path information in a plurality of segment identifier lists of the segment routing policy, and the existing segment routing policy protocol needs to be extended. According to the embodiment of the application, the redundancy protection of the first message among the plurality of sub paths corresponding to the plurality of sub path information can be performed without expanding the existing segment routing strategy protocol.
In a sixth aspect, an embodiment of the present application provides a method for controlling packet sending, including: the method comprises the steps that a controller sends a segment routing strategy to a first network device, wherein the segment routing strategy comprises a segment identification list and a Binding Segment Identification (BSID) corresponding to the segment identification list, the segment identification list comprises a plurality of pieces of sub-path information, the plurality of pieces of sub-path information respectively correspond to a plurality of sub-paths between the first network device and a second network device, each sub-path in the plurality of sub-paths takes the first network device as a starting point, each sub-path in the plurality of sub-paths takes the second network device as an end point, the SR strategy is used for indicating the first network device to obtain the segment identification list after receiving a first message of which a destination address field comprises the BSID, forwarding a plurality of second messages to the second network device through the plurality of sub-paths respectively, the second messages are obtained by copying the first messages, and the second messages comprise payload data of the first messages.
In the embodiment of the application, the controller carries the segment identifier list including the plurality of sub-path information and the corresponding BSID in the SR strategy sent to the first network device, which is beneficial for the first network device to map the BSID in the first message to the plurality of sub-path information, thereby effectively reducing the length of the first message.
In a seventh aspect, an embodiment of the present application provides a network device. The network device may be a physical network device, may also be a device in the physical network device, or may be a device capable of being used in cooperation with the physical network device. Alternatively, the network device may be a virtual network device, such as a virtual switch or a virtual router, etc.
In an eighth aspect, an embodiment of the present application provides a network device, which includes a processor and a memory, where the memory is used to store instructions, and the memory is coupled to the processor, and when the processor executes the instructions stored in the memory, the method described in the first aspect, the second aspect, the third aspect, the fourth aspect, the fifth aspect, or the sixth aspect may be implemented. The communication apparatus may further include a communication interface for the apparatus to communicate with other devices, such as a transceiver, circuit, bus, module, pin, or other type of communication interface, which may be terminal devices.
In a ninth aspect, an embodiment of the present application provides a chip system, where the chip system includes: the processor may further comprise a memory for implementing the method described in the first aspect, the second aspect, the third aspect, the fourth aspect, the fifth aspect, or the sixth aspect. The chip system may be formed by a chip, and may also include a chip and other discrete devices.
In a tenth aspect, embodiments of the present application provide a computer-readable storage medium, which includes instructions that, when executed on a computer, cause the computer to perform a method according to any one of the possible implementation manners of the above first aspect, the second aspect, the third aspect, the fourth aspect, the fifth aspect, or the sixth aspect.
In an eleventh aspect, the present application provides a computer program product, which includes instructions that, when executed on a computer, cause the computer to perform the method in any one of the possible implementations of the above first aspect, the second aspect, the third aspect, the fourth aspect, the fifth aspect, or the sixth aspect of the present application.
In a twelfth aspect, the present invention provides a network (or communication system), and in a possible implementation manner, the network may include a first network device for performing the method described in the first aspect, and/or a network entry device for performing the method described in the second aspect, and/or a controller for performing the method described in the third aspect, and/or a second network device for performing the method described in the fourth aspect. Alternatively, in a possible implementation, the network may comprise a first network device for performing the method introduced in the fifth aspect and a controller for performing the method introduced in the sixth aspect.
Since each device provided in the present application can be used to execute the corresponding method, the technical effects obtained by each device in the present application can refer to the technical effects obtained by the corresponding method, and are not described herein again.
Drawings
FIG. 1A illustrates one possible application scenario in which embodiments of the present application are applicable;
fig. 1B and 1C illustrate one possible form of SR policy for instructing an SR network to load balance traffic;
fig. 1D and 1E illustrate one possible form of SR policy for instructing the SR network to perform redundancy protection on a packet;
FIG. 2 shows a possible flow of a method according to an embodiment of the present application;
fig. 3A shows another possible form of SR policy for instructing the SR network to perform redundancy protection on a packet;
FIGS. 3B and 3C illustrate one possible form of SID list R of FIG. 3A, respectively;
FIGS. 4A, 4B and 4C respectively show another possible form of the SID list R of FIG. 3A;
fig. 5A, fig. 5B, and fig. 5C respectively illustrate structures of messages related to the method provided by the embodiment of the present application;
FIGS. 6A and 6B illustrate one possible structure of SID (A), respectively;
FIGS. 7A, 7B and 7C respectively illustrate another possible flow of the method of the embodiment of the present application;
fig. 8 shows another possible form of SR policy for instructing the SR network to redundantly protect a packet;
FIG. 9A shows another possible flow of a method according to an embodiment of the present application;
fig. 9B shows a possible structure of the first message involved in the corresponding embodiment of fig. 9A;
fig. 10 to fig. 13 respectively show possible structural diagrams of network devices provided in the embodiment of the present application;
fig. 14 shows a schematic diagram of a possible structure of a chip provided in an embodiment of the present application.
Detailed Description
The embodiments of the present application provide a method for sending a packet and a network device based on the method, and are described below with reference to the accompanying drawings.
Fig. 1A shows a possible application scenario of the embodiment of the present application. In this application scenario, as indicated by the line segment with an arrow in fig. 1A, traffic generated by node CE1 may be forwarded to node CE2 through a forwarding path between node PE1 and node PE2.
As shown by the dashed line segment with an arrow labeled "sub-path 1" and the dashed line segment with an arrow labeled "sub-path 2" in fig. 1A, the forwarding path between node PE1 and node PE2 includes two forwarding paths (referred to as sub-path 1 and sub-path 2, respectively) starting at node a and ending at node F. Traffic directed to sub-path 1 will arrive at node F in order through node a, node B and node D, and traffic directed to sub-path 2 will arrive at node F in order through node a, node C and node E. Fig. 1A only exemplarily shows two forwarding paths between a node a and a node a, it should be noted that other forwarding paths may also exist between the node a and a node F, and the following embodiment of the present application only takes the sub-path 1 and the sub-path 2 shown in fig. 1A as an example for description.
The node CE1, the node CE2, the node PE1, the node a, the node B, the node C, the node D, the node E, the node F, and the node PE2 may be the same or different types of network devices. Optionally, for any one of the nodes shown in fig. 1A, it may be a router or a switch or a forwarding device under a network architecture of a Software Defined Network (SDN). By way of example, nodes CE1 and CE2 may be client routers, and nodes PE1, a, B, C, D, E, F, and PE2 may be operator routers. The node PE1, the node a, the node B, the node C, the node D, the node E, the node F, and the node PE2 correspond to one physical network. The embodiment of the present application does not limit the form of the physical network. Alternatively, the physical network may be a Segment Routing (SR) network.
SR is a protocol designed based on the concept of source routing to forward packets over a network. Specifically, the network entry device of the SR network may obtain the SR policy. The SR policy describes candidate paths for transmitting traffic from a network ingress device (or head end) to a network egress device (or end point) of the SR policy, and in particular, the SR policy may include path information of the candidate paths.
The path information may be, for example, an ordered list of segments (segments) or Segment Identifiers (SIDs) of each node in the candidate path, hereinafter referred to as a SID list. The node SID may represent a function that the node needs to execute, and after receiving a message carrying a SID list, the node in the SR network may perform corresponding processing on the message according to a function indicated by the SID matching the node in the SID list.
After receiving the data packet matching the SR policy, the network entry device may encapsulate path information of the active candidate path in the SR policy in the data packet, so as to instruct the network device that receives the encapsulated data packet to forward the data packet through the candidate path. SR technology enables a more simplified network and has good scalability.
The following describes a process of forwarding a data packet by an SR network according to an SR policy with reference to an application scenario shown in fig. 1A.
Since at least two forwarding paths exist between the node a and the node F in the SR network shown in fig. 1A, forwarding of the data packet in the SR network can be achieved by issuing SR policies to the node PE1 and the node a, respectively.
Fig. 1B shows one possible structure of the SR policy issued to the network entry device, where the SR policy may include path information of at least one candidate path. Fig. 1B illustrates one of the candidate paths (referred to as candidate path B), and the SR policy may further include other candidate paths. Assume that a network ingress device of the SR policy shown in fig. 1B is a node PE1 shown in fig. 1A, a network egress device is a node PE2 shown in fig. 1A, and traffic forwarded through the candidate path B is forwarded by the node PE1 to the node a, then forwarded to a node F with load balancing between the sub-path 1 and the sub-path 2, and then forwarded to the node PE2. The SR strategy shown in fig. 1B is hereinafter referred to as SR strategy < PE1, B, PE2>.
If the traffic received by the node PE1 (for example, from the node CE 1) matches the SR policy < PE1, B, PE2>, the node PE1 may encapsulate the path information of the candidate path B into a data packet, and then forward the encapsulated data packet to the node a. As an example, the path information of the candidate path may be, for example, a SID list: < BSID (A), SID (PE 2) >.
In the following, SID (i) is used to represent SID of node i, which may be any node in the SR network shown in FIG. 1B, for example.
Fig. 1C shows the SR policy issued to node a, and assuming that the candidate path b shown in fig. 1C starts from and ends at node a and node F, respectively, as shown in fig. 1A, the candidate path b may include sub-path 1 and sub-path 2. Traffic forwarded over candidate path b may be forwarded to node F with load balancing between sub-path 1 and sub-path 2. The SR strategy shown in fig. 1C is hereinafter referred to as SR strategy < a, b, F >. As shown in fig. 1C, the candidate path b of the SR policy < a, b, F > is associated with a Binding SID (BSID), such as BSID (a) shown in fig. 1C.
The path information of the candidate path b may include path information of the sub-path 1 and path information of the sub-path 2. The path information of sub-path 1 and the path information of sub-path 2 are respectively carried in different SID lists. For example, the SID list for sub-path 1 is < SID (a), SID (B), SID (D), SID (F) >, and the SID list for sub-path 2 is < SID (a), SID (C), SID (E), SID (F) >.
After receiving the traffic encapsulating the < BSID (a), SID (PE 2) > node a may match to SR policy < a, B, F > according to BSID (a), and forward the traffic to node F with load balancing between sub-path 1 and sub-path 2 according to < SID (a), SID (B), SID (D), SID (F) > and < SID (a), SID (C), SID (E), SID (F) > guidance, and then node F continues to forward the traffic to node PE2 according to SID (PE 2) in the traffic, so as to implement SR network forwarding the traffic according to SR policy < PE1, B, PE2> and SR policy < a, B, F >.
In the above, the SR network realizes load balancing of traffic on the sub-path 1 and the sub-path 2 by the SR policy < PE1, B, PE2> and the SR policy < a, B, F >. Next, how the SR network performs redundancy protection on the packet on the sub-path 1 and the sub-path 2 according to the SR policy is described.
Redundancy protection is a general protection mechanism for realizing high reliability of node-to-node (point-to-point) traffic transmission in a network. The redundant node is used for copying the message into a plurality of messages and then respectively transmitting the plurality of messages to the merging node through a plurality of different paths. The merging node is used for continuing to forward one of the messages after receiving the plurality of messages and discarding the other messages. Therefore, even if one path between the redundant node and the merging node fails, the merging node can receive the messages forwarded by other paths, and the reliability of service transmission from the redundant node to the merging node is improved. Next, with continuing reference to the application scenario shown in fig. 1A, how the SR network performs redundancy protection on the packet at node a (redundant node) and node F (merge node) according to the SR policy is described.
Scheme one, the SR strategy (A, b, F) is expanded
In a possible technical solution, the node PE1 may obtain an SR policy as shown in fig. 1D, where the SR policy is referred to as an SR policy < PE1, R1, PE2>, and the SR policy < PE1, R1, PE2> includes the candidate path R. Referring to fig. 1A, a candidate route R takes a node PE1 and a node PE2 as a start point and an end point, respectively, and a node a and a node F in the candidate route R perform functions of a redundant node and a merge node, respectively. Specifically, in the process of forwarding a message through the candidate path R, after the node PE1 forwards the message to the node a, the node a copies the message into two messages, and then forwards the two messages to the node F through the sub-path 1 and the sub-path 2, respectively, and after receiving the two messages, the node F continues to forward one of the two messages and discards the other message. Similar to SR policy < PE1, B, PE2>, the path information of candidate path R may be, for example, a list of SIDs: < BSID (a), SID (PE 2) >, except that the specific contents of BSID (a) in SR policy < PE1, B, PE2> and SR policy < PE1, R1, PE2> may be different.
If the node PE1 matches the SR policy < PE1, R, PE2> for the received packet (e.g., from the node CE 1), the node PE1 may encapsulate the path information of the candidate path R into a data packet, and then forward the encapsulated data packet to the node a.
Node a may obtain an SR policy as shown in fig. 1E, which is referred to as SR policy < a, r1, F >, which includes candidate path r. In the embodiment of the present application, the SR policy < a, r1, F > may be obtained by expanding the SR policy < a, b, F > shown in fig. 1C. Specifically, as shown in fig. 1E, in the embodiment of the present application, an SR policy < a, r1, F > sent to a node a may be additionally associated with a redundancy identifier, where the redundancy identifier may be used to indicate that the SR policy is used to implement redundancy protection. Similar to SR policy < PE1, B, PE2>, the path information of candidate path r may include a list of SIDs corresponding to sub-path 1 and a list of SIDs corresponding to sub-path 2.
After receiving the packet encapsulating the < BSID (a), SID (PE 2) > sent by the node PE1, the node a may match the SR policy < a, r1, F > according to the BSID (a), and execute the function of the redundant node, specifically, for example, copy the packet to obtain two packets, and then forward the packet to the merge node (i.e., node F) through the sub-path 1 according to the < SID (a), SID (B), SID (D), SID (F) > and forward the packet to the merge node (i.e., node F) through the sub-path 2 according to the < SID (a), SID (C), SID (E), SID (F) > and so on. After receiving the two messages arriving through the sub-path 1 and the sub-path 2, the node F may continue to forward one of the messages and discard the other message. Therefore, even if one path between the node A and the node F fails, the node F can receive the message forwarded by other paths, thereby being beneficial to improving the reliability of service transmission from the node A to the node F and realizing the redundancy protection of the message between the node A and the node F.
Scheme two, the SR strategy issued to the network entrance equipment carries the sub-path 1 and the path information of the sub-path
The process of forwarding the packet by the SR network at least involves two matching processes of the SR policy, and besides the SR policy needs to be matched at the network entry device, as in the technical scheme corresponding to fig. 1C or fig. 1D, the SR policy < a, b, F > or the SR policy < a, r1, F > needs to be matched at the node F, which is not beneficial to improving the packet forwarding efficiency by the SR network. The technical scheme introduced in the second scheme aims to reduce the number of times of SR strategy matching related to the process of realizing the redundancy protection of the message by the SR network, and further improve the message forwarding efficiency of the redundancy node.
With reference to the application scenario shown in fig. 1A, fig. 2 shows a possible flow of the method of the present application. Referring to fig. 2, a possible flow of the method for sending a message includes steps S201 to S211.
S201, the controller sends SR strategy < PE1, R2, PE2> to PE 1;
optionally, the application scenario shown in fig. 1A further includes a controller, and the controller may send the SR policy to the network entry device. Referring to fig. 1A, it is assumed that the network ingress device corresponding to the SR policy is a node PE1, and the network egress device corresponding to the SR policy < PE1, R2, PE2> is a node PE2. The SR policy acquired at S201 is hereinafter referred to as SR policy < PE1, R2, PE2>.
Illustratively, what is described for SR policy < PE1, R2, PE2> can be understood with reference to fig. 3A. Specifically, the candidate paths of the SR policy < PE1, R2, PE2> include a candidate path R, and the candidate path R may be interpreted as the candidate path R in the first scheme, that is, the node PE1 and the node PE2 are respectively a start point and an end point of the candidate path R, and the node a and the node F in the candidate path R are respectively used as a redundant node and a merge node, so that the message forwarded through the candidate path R is redundantly protected between the node a and the node F.
Optionally, the SR policy < PE1, R2, PE2> may further include other candidate routes besides the candidate route R, for example, the SR policy < PE1, R2, PE2> may further include a candidate route B as shown in fig. 1B.
In the embodiment of the present application, the SR policy < PE1, R2, PE2> may describe the candidate path R by a SID list, which is referred to as SID list R for convenience of description.
Fig. 3B shows one possible form of SID list R. In fig. 3B, SID (i) represents SID of node i, which is any node in candidate path R. In the SID list R shown in fig. 3B, SID (B) and SID (D) correspond to the SID list for sub-path 1, and SID (C) and SID (E) correspond to the SID list for sub-path 2. For the sake of easy differentiation, in the embodiments of the present application, the SID lists corresponding to sub-path 1 and sub-path 2 are referred to as SID list r1 and SID list r2, respectively.
Fig. 3C shows another possible form of SID list R. In fig. 3C, SID (i) is still used to represent SID of node i, which is any node in candidate path R. In the SID list R shown in fig. 3C, SID (B), SID (D), and SID (F) correspond to the SID list corresponding to sub-path 1, and SID (C), SID (E), and SID (F) correspond to the SID list corresponding to sub-path 2. Similarly to the foregoing, the SID lists corresponding to sub-path 1 and sub-path 2 are referred to as SID list r1 and SID list r2, respectively.
Fig. 3B and 3C only illustrate possible forms of the SID list R, and the embodiment of the present application does not limit a specific form of the SID list R.
Alternatively, the SR network shown in fig. 1A may be an SR (SR over MPLS, SR-MPLS) network using multi-protocol label switching (MPLS). SID (i) in SID list R may be encoded as MPLS label (label). The MPLS label may include a label value field that identifies a Forwarding Equivalence Class (FEC). Alternatively, taking the SID list R shown in fig. 4A as an example, the SID list R in the SR policy < PE1, R2, PE2> may be, for example, the label stack shown in fig. 5A. In fig. 5A, the MPLS label of node i is represented by an MPLS label (node i), and node i is still any node in the candidate path R.
Alternatively, the SR network shown in fig. 1A may be a segment routing (SRv 6) network using an internet protocol version 6 (IPv 6) data plane. The SID (i) in the SID list R may be encoded as an Ipv6 address, and the embodiment of the present application refers to SID (i) in SRv6 technology as SRv6 SID (i). In one possible implementation, the SRv6 SID (i) may include a Local (LOC) field and a Function (FUNC) field, and optionally, the SRv6 SID (i) may further include an Argument (ARG) field. Where, LOC field may be a network segment address that may be routed to node i, for example, LOC field may be represented as "B field: n field ", where" B field "is the Ipv6 subnet assigned by the operator for SRv6 SID (i), and" N field "is the identifier of the parent node instantiating SID (i). The FUNCT field may indicate some function corresponding to SRv6 SID (i). The ARG field may be used for FUNCT field parameters, such as information defining message flows and services. The FUNCT field of a node in SID list R will be described later and will not be expanded here.
Alternatively, taking the SID list R shown in fig. 3B as an example, the SID list R in the SR policy < PE1, R2, PE2> may be, for example, the SRv6 SID ordered list shown in fig. 4B. Alternatively, taking the SID list R shown in fig. 3C as an example, the SID list R in the SR policy < PE1, R2, PE2> may be, for example, the SRv6 SID ordered list shown in fig. 4C. In fig. 4B and 4C, SRv6 SID (i) represents SRv6 SID of node i, which is still any node in candidate path R.
S202, the node CE1 sends a message 0 to the node PE 1;
optionally, the application scenario shown in fig. 1A further includes a node CE1 and a node CE2. The nodes CE1 and CE2 may be routers or switches or forwarding devices under a network architecture of a Software Defined Network (SDN). For example, node CE1 and node CE2 may be client routers.
Node CE1 may send packet 0 to node PE1 to forward the payload data in packet 0 to node CE2.
S203, the node PE1 encapsulates the SID list R in the message 0 to obtain a message 1;
after steps S201 and S202, the node PE1 may receive SR policy < PE1, R2, PE2> and a message 0, respectively. Assuming that the message 0 matches the SR policy < PE1, R2, PE2>, and the candidate path R is an active candidate path of the SR policy < PE1, R2, PE2>, the node PE1 may encapsulate the SID list R in the message 0 to obtain the message 1. The payload data (payload) in message 1 is the same as the payload data in message 0.
Message 1 may be an SR message. Optionally, the message 1 may be an SR-MPLS message or an SRv6 message. The possible structures of these two types of messages 1 are described separately below.
Fig. 5A shows one possible structure of the message 1. Referring to fig. 5A, optionally, SID list R may be carried in the label stack of message 1. Referring to fig. 5A, the node PE1 may push the SID list R shown in fig. 4A into message 0, resulting in, for example, message 1 shown in fig. 5A. Referring to fig. 5A, the MPLS label to be executed (e.g., MPLS label (a)) is located at the top of the label stack. In the embodiment of the present application, the MPLS label at the top of the label stack may be referred to as an active MPLS label.
Fig. 5B shows another possible structure of message 1. Referring to fig. 5B, optionally, the SID list R may be carried in a SID list field of the message 1, where the SID list field is located in an SR Header (SRH) of the message 1. Referring to fig. 5B, the node PE1 may push the SID list R shown in fig. 4B into message 0 in reverse order, resulting in, for example, message 1 shown in fig. 5B.
Fig. 5C shows another possible structure of message 1. Referring to fig. 5C, optionally, the SID list R may be carried in a SID list field of the message 1, where the SID list field is located in an SR Header (SRH) of the message 1. Referring to fig. 5C, the node PE1 may push the SID list R shown in fig. 4C into a message 0 in reverse order, to obtain a message 1 shown in fig. 5C, for example.
In the SRH header of the packet shown in fig. 5B and 5C, "NH" represents the next header type field, "HEL" represents the header length field, "RT" represents the routing type field, "LE" represents the last entry field, and "F" represents the flag bit field.
In the embodiment of the present application, the SRv6 SID to be executed may be referred to as an active SRv6 SID. Referring to fig. 5B or 5C, the SRH of message 1 includes a Segment Left (SL) field indicating the active SRv6 SID in the SR list field. In fig. 5B and 5C, the numbers in the "[ ]" represent the sequence numbers of the corresponding SIDs in the SR list field. Since the sequence number of the SRv6 SID (a) is the SRv6 SID with the largest sequence number in the SR list field, the SRv6 SID (a) is the SRv6 SID executed first in the SR list field. Accordingly, in fig. 5B, the value of SL may be the sequence number (i.e. 6) of SRv6 SID (a). In fig. 5C, the value of SL may be the sequence number (i.e., 7) of SRv6 SID (a). The active SRv6 SID is also carried in a Destination Address (DA) field of the Ipv6 header of the packet 1, for example, the DA field of the packet 1 includes the SRv6 SID (a).
Or, optionally, the SL field indicates the SRv6 SID next to the active SRv6 SID in the SR list field, taking the packet 1 shown in fig. 5B as an example, the value of the SL field is 5, and the PE1 may pop up the SRv6 SID (a) in the SRH, which is beneficial to saving the length of the packet 1.
Assume that packet 1 is an SRv6 packet, or, optionally, SID list R may be carried in an optional Type Length Value (TLV) field (e.g., the optional TLV shown in fig. 7B) of packet 1.
The embodiment of the present application does not limit the message 1 to be the structure shown in fig. 5A, 5B, or 5C, for example, the message 1 may include more or less fields than the message structure shown in fig. 5A, 5B, or 5C. Taking the packet 1 shown in fig. 5A as an example, a three-layer protocol header, such as a User Datagram Protocol (UDP) header, may be further encapsulated between the label stack and the payload data. Fig. 5B or 5C only shows the DA field of the Ipv6 header in the message, and other fields in the Ipv6 header are not shown for the sake of simplicity.
S204, the node PE1 sends a message 1 to the node A;
after the node PE1 obtains the packet 1, it may search for the forwarding information of the node a, and send the packet 1 to the node a according to the forwarding information of the node a. Referring to the content in step S203, for example, the message 1 sent by the node PE1 to the node a may refer to the structure of the message 1 in fig. 5A, fig. 5B, or fig. 5C.
In the embodiment of the present application, it is not limited that the node PE1 is directly connected to the node a, for example, the node PE1 may forward the packet 1 to the node a through other network devices, and correspondingly, the packet 1 sent by the node PE1 is not limited to be the same as the packet 1 received by the node a. For example, at least one intermediate network device also exists on a forwarding path between the node PE1 and the node a, and after the node PE1 sends the packet 1, the intermediate network device may re-encapsulate the received packet (for example, pop out a corresponding MPLS label or modify a value of SL in SRH), and further forward the re-encapsulated packet to reach the node a. However, the message 1 sent by the node PE1 and the message 1 received by the node a both include the SID list R described above, and include the same payload data, and the position of the SID list R in the message 1 may refer to the form in fig. 5A, fig. 5B, or fig. 5C. Therefore, for convenience of description, in the embodiment of the present application, the packet sent by the node PE1 in step S204 and the packet received by the node a are collectively referred to as a packet 1.
S205, the node A copies the message 1 to obtain a message 1';
s206, the node A generates a message 2 according to the list r1 of the SID list r1 in the message 1, and generates a message 2 'according to the list r2 of the SID in the message 1';
s207, the node A forwards a message 2 to the node F through the sub-path 1;
s208, the node A forwards the message 2' to the node F through the sub-path 2;
after step S204, node a may receive packet 1. After receiving the packet 1, the node a may parse the packet 1, and then perform steps S205 to S208.
Next, step S205 to step S208 are described with reference to message 1 shown in fig. 5A, fig. 5B, or fig. 5C, respectively.
1. Take message 1 as the MPLS message shown in fig. 7A as an example.
Node a may parse from packet 1 to obtain MPLS label (a). Fig. 6A shows one possible structure of the MPLS label (a).
Assuming that a label field in the MPLS label (a) corresponds to the first function, the message 1 may be copied under the instruction of the first function to obtain two messages 1. The message 1 may also obtain a SID list r1 and a SID list r2 from the message 1 under the instruction of the first function. For convenience of description, the message 1 copied from the two messages 1 is hereinafter referred to as a message 1'. Then, the message 1 may also generate, under the instruction of the first function, a message 2 forwarded to the node F through the sub-path 1 according to the SID list r1, the list r1, and the message 1, and generate, according to the SID list r2 and the message 1', a message 2' forwarded to the node F through the sub-path 2. The payload data of message 2 and message 1 are the same, and the payload data of message 2' and message 1 are the same.
After acquiring the message 2, the node a may send the message 2. Fig. 5A shows one possible structure of message 2. Referring to fig. 5A, the label stack of the packet 2 carries the list r1 of the SID list r1, but does not carry the list r2 of the SID, so that the packet 2 sent by the node a reaches the node F through the sub-path 1, that is, the node a forwards the packet 2 to the node F through the sub-path 1.
After obtaining the message 2, the node a may send the message 2. Fig. 5B shows one possible structure of the message 2'. Referring to fig. 5B, it can be known that the label stack of the packet 2' carries the SID list r2, and does not carry the SID list r1, so that the packet 2' sent by the node a reaches the node F through the sub-path 2, that is, the node a forwards the packet 2' to the node F through the sub-path 2.
Referring to fig. 6A, optionally, the MPLS label (a) may be extended, and a primary SID list (referred to as Pri-SIDs) field and a standby SID list (referred to as Back-SIDs) field are added at the tail of the original MPLS label (a). Wherein, the Pri-SIDs field and the Back-SIDs field are respectively used for determining a SID list r1 and a SID list r2 in the message 1. Optionally, the Pri-SIDs field and the Back-SIDs field indicate the number of SIDs in the SID list r1 (e.g., 2) and the number of SIDs in the SID list r2 (e.g., 2), respectively. When the node a determines that the label field in the MPLS label (a) corresponds to the first function, the node a may obtain the Pri-SIDs field and the Back-SIDs field from the MPLS label (a), and then obtain the SID list r1, the list r1, and the list r2 from the message 1 according to the Pri-SIDs field and the Back-SIDs field, respectively, and then perform step S206. Fig. 6A shows a possible structure of an MPLS label (a) in case two sub-paths are included between node a and node F. If more sub-paths are included between node a and node F, MPLS label (a) may further extend the description field of the corresponding sub-path on the basis of fig. 6A. For example, if sub-path 3 is also included between node a and node F, the tail of MPLS label (a) shown in fig. 6A may be further added with a standby SID list field indicating the number of SIDs in SID list (13) of sub-path 3. Optionally, in order to facilitate node a to accurately obtain the description field of each sub-path in MPLS label (a), MPLS label (a) may further include a description field of the number of sub-paths to describe the number of sub-paths between node a and node F. For example, after determining that the label field in the MPLS label (a) matches the first function (i.e., the function of the redundant node), the node (a) may parse the description field of the number of sub-paths from the TTL field of the MPLS label (a), and continue parsing the description fields of 3 sub-paths according to the number of sub-paths indicated by the value of the description field (assumed to be 3), so as to determine the number of SIDs in the SID list of each sub-path, thereby facilitating to accurately obtain each SID list from the packet 1.
2. Take message 1 as the SRv6 message shown in fig. 5B as an example.
The node a may parse the IPv6 header of the packet 1 to obtain the SRv6 SID (a) carried in the DA field. FIG. 6B shows one possible structure of an SRv6 SID (A).
Based on that the SRv6 SID (a) parsed from the packet 1 by the node a matches with the node a, for example, the LOC field of the SRv6 SID (a) is the network segment address of the node a, the node a may process the packet 1 according to the indication of the FUNCT field of the SRv6 SID (a). Assuming that the FUNCT field indicates the first function (corresponding to the function of the redundant node), the node a may perform steps S205 to S208 under the indication of the first function, and for details, reference may be made to the content of the node a described above that performs steps S205 to S208 under the indication of the first function corresponding to the label, and details are not repeated herein.
Fig. 5B shows another possible structure of message 2. As can be known from fig. 5B, the SID list field of the packet 2 carries the SID list R1 and does not carry the SID list R2, so that the packet 2 sent by the node a reaches the node F through the sub-path 1, that is, the node a forwards the packet 2 to the node F through the sub-path 1.
Fig. 5B shows another possible structure of the message 2'. Referring to fig. 5B, the SID list field of the packet 2' carries the SID list r2, and does not carry the SID list r1, so that the packet 2' sent by the node a will reach the node F through the sub-path 2, that is, the node a forwards the packet 2' to the node F through the sub-path 2.
Referring to fig. 6B, the ARG field may optionally include a primary SID list (referred to simply as Pri-SIDs) field and a secondary SID list (referred to simply as Back-SIDs) field. The Pri-SIDs field and the Back-SIDs field are used to determine the SID list r1 and the SID list r2 in the message 1, respectively. Alternatively, the Pri-SIDs field and the Back-SIDs field indicate the number of SIDs (e.g., 2) in the SID list r1 and the number of SIDs (e.g., 2) in the SID list r2, respectively.
When the node a determines that the FUNCT field of the SRv6 SID (a) indicates the first function, the node a may obtain the Pri-SIDs field and the Back-SIDs field from the SRv6 SID (a), and then obtain the SID list r1 and the SID list r2 from the packet 1 according to the Pri-SIDs field and the Back-SIDs field, respectively, and then perform steps S206 to S208.
FIG. 6B shows a possible structure of the SRv6 SID (A) in the case where two subpaths are included between node A and node F. If more sub-paths are included between node a and node F, the SRv6 SID (a) may further extend the description field of the corresponding sub-path on the basis of fig. 6B. For example, if the sub-path 3 is also included between the node a and the node F, the ARG field of the SRv6 SID (a) shown in fig. 6B may be further added with a spare SID list field indicating the number of SIDs in the SID list (13) of the sub-path 3. Optionally, in order to facilitate node a to accurately obtain the description field of each sub-path in SRv6 SID (a), SRv6 SID (a) may further include a description field of the number of sub-paths to describe the number of sub-paths between node a and node F. For example, after determining that the FUNCT field in the SRv6 SID (a) indicates the first function (i.e., the function of the redundant node), the node (a) may parse the description field of the number of sub-paths from the TTL field of the SRv6 SID (a), and continue parsing the description fields of 3 sub-paths according to the number of sub-paths indicated by the value of the description field (assumed to be 3), so as to determine the number of SIDs in the SID list of each sub-path, thereby facilitating to accurately obtain each SID list from the packet 1.
Optionally, different from the message 2 and the message 2' shown in fig. 5B, the SL field indicates the next SRv6 SID of the active SRv6 SID in the SR list field, taking the message 2 shown in fig. 5B as an example, the value of the SL field is 2, and the message 2 may not include the SRv6 SID (a) and the SRv6 SID (B), which is beneficial to saving the length of the message 2.
3. Take the case that the message 1 is the SRv6 message shown in fig. 5C.
The node a may parse the IPv6 header of the packet 1 to obtain the SRv6 SID (a) carried in the DA field. One possible structure for the SRv6 SID (A) may be as shown with continued reference to FIG. 6B.
Based on that the SRv6 SID (a) parsed from the packet 1 by the node a matches with the node a, for example, the LOC field of the SRv6 SID (a) is the network segment address of the node a, the node a may process the packet 1 according to the indication of the FUNCT field of the SRv6 SID (a). Assuming that the FUNCT field indicates the first function, the node a may perform steps S205 to S208 under the indication of the first function, and refer to the related contents of the node a performing steps S205 to S208 under the indication of the first function corresponding to the label as described above, which is not described herein again.
Fig. 5C shows another possible structure of message 2. Referring to fig. 5C, the SL field in the SRH of the packet 2 points to the SRv6 SID (B), so that the packet 2 sent by the node a will reach the node F through the sub-path 1, that is, the node a forwards the packet 2 to the node F through the sub-path 1.
Fig. 5C shows another possible structure of the message 2'. Referring to fig. 5C, the SL field in the SRH of the packet 2 points to the SRv6 SID (C), so that the packet 2 'sent by the node a will reach the node F through the sub-path 2, that is, the node a forwards the packet 2' to the node F through the sub-path 2. Referring to fig. 6B, the ARG field may optionally include a primary SID list (referred to simply as Pri-SIDs) field and a secondary SID list (referred to simply as Back-SIDs) field. Wherein, the Pri-SIDs field and the Back-SIDs field are respectively used for determining a SID list r1 and a SID list r2 in the message 1. Alternatively, the Pri-SIDs field and the Back-SIDs field indicate the number of SIDs (e.g., 2) in the SID list r1 and the number of SIDs (e.g., 2) in the SID list r2, respectively.
When the node a determines that the FUNCT field of the SRv6 SID (a) indicates the first function, the node a may obtain the Pri-SIDs field and the Back-SIDs field from the SRv6 SID (a), respectively, then obtain the SID list r1 and the SID list r2 from the packet 1 according to the Pri-SIDs field and the Back-SIDs field, respectively, and then perform steps S206 to S208.
It should be noted that, in the embodiment of the present application, it is not limited that steps S206 to S208 are executed according to the sequence of the sequence numbers, for example, after the node a generates the message 2, the node a may send the message 2 without waiting for the generation of the message 2' and then sending the message 2.
S209, the node F generates a message 3 according to the message 2;
the message 2 sent by the node a sequentially passes through the node B and the node D, and then reaches the node F.
In the embodiment of the present application, attention is focused on the processing process of the node PE1, the node a, and the node F on the packet, and the packets generated and forwarded by the node B and the node D according to the packet 2 all carry the same payload data, so in order to simplify the description, the packet generated and forwarded by the node B and the node D according to the packet 2 is referred to as the packet 2.
The following describes the process of the packet 2 sequentially passing through the node B and the node D to the node F with reference to fig. 5A, fig. 5B, and fig. 5C, respectively.
1. Take message 2 shown in fig. 5A as an example.
After receiving the packet 2, the node B may pop up the MPLS label (B), and then continue forwarding the packet 2 to the node D. After receiving the packet 2, the node D may pop up the MPLS label (D), and then continue to forward the packet 2 to the node F.
After receiving the packet 2, the node F may generate a packet 3 according to the packet 2, for example, may pop up the MPLS label (F) in the packet 2 to obtain the packet 3 shown in fig. 5A, for example. The payload data of message 3 and message 2 are the same.
2. Take message 2 shown in fig. 5B as an example.
After receiving the packet 2, the node B may subtract the value of the SL field in the SRH of the packet 2 by one according to the indication of the FUNCT field in the SRv6 SID (B), where the SL field points to the next SRv6 SID (D), and copy the pointed SRv6 SID (D) to the DA field, and then continue to forward the packet 2 to the node D. After receiving the packet 2, the node D may subtract one from the value of the SL field in the SRH of the packet 2 according to the indication of the FUNCT field in the SRv6 SID (D), where the SL field points to the next SRv6 SID (F), and copy the pointed SRv6 SID (F) to the DA field, and then continue to forward the packet 2 to the node F.
By way of example, the function indicated by the FUNCT field in SRv6 SID (B) and SRv6 SID (D) may be an Endpoint (Endpoint) function.
After receiving the packet 2, the node F may generate a packet 3 according to the packet 2, for example, the value of the SL field in the SRH of the packet 2 may be reduced by one according to the indication of the FUNCT field in the SRv6 SID (F), and the SL field points to the next SRv6 SID (PE 2), so as to obtain the packet 3 shown in fig. 5B, for example. The payload data of message 3 and message 2 are the same.
3. Take message 2 shown in fig. 5C as an example.
After receiving the packet 2, the node B may subtract one from the value of the SL field in the SRH of the packet 2 according to the indication of the FUNCT field in the SRv6 SID (B), where the SL field points to the next SRv6 SID (D), and copy the pointed SRv6 SID (D) to the DA field, and then continue to forward the packet 2 to the node D. After receiving the packet 2, the node D may subtract one from the value of the SL field in the SRH of the packet 2 according to the indication of the FUNCT field in the SRv6 SID (D), where the SL field points to the next SRv6 SID (F), and copy the pointed SRv6 SID (F) to the DA field, and then continue to forward the packet 2 to the node F.
By way of example, the function indicated by the FUNCT field in SRv6 SID (B) and SRv6 SID (D) may be an Endpoint (Endpoint) function.
After receiving the packet 2, the node F may generate a packet 3 according to the packet 2 according to the function (referred to as a second function) indicated by the FUNCT field in the SRv6 SID (F). The second function may correspond to a function of a merge node, and the embodiment of the present application may extend the second function, for example, instead of subtracting one from a value of an SL field in an SRH of the packet 2, the SL field points to a next SRv6 SID (PE 2), and points the value of the SL field to a next-hop network device of the second packet (i.e., the node PE 2), so as to obtain the packet 3 shown in fig. 5C. The payload data of message 3 and message 2 are the same.
S210, forwarding the message 3 to a node PE2 by a node F;
after obtaining the packet 3 according to the packet 2, the node F may send the packet 3 to the node PE2.
S211, node F discards packet 2'.
The message 2' sent by the node A sequentially passes through the node C and the node E and then reaches the node F.
In the embodiment of the present application, attention is focused on the processing process of the node PE1, the node a, and the node F on the packet, and the packets generated and forwarded by the node C and the node E according to the packet 2' both carry the same payload data, so in order to simplify the description, the packet generated and forwarded by the node C and the node E according to the packet 2' is referred to as the packet 2'.
The process of the packet 2' shown in fig. 5A, 5B, or 5C sequentially passing through the node C and the node E to reach the node F may be understood with reference to the related content described in step S209, and is not described herein again.
After receiving the packet 2', the node F may process the packet 2' according to the indication of the FUNCT field in the SRv6 SID (F). The embodiment of the present application may extend the function indicated by the FUNCT field in the SRv6 SID (F), for example, the function indicated by the FUNCT field in the SRv6 SID (F) indicates that the node F discards the message except the first message that reaches the node F. Assuming that message 2 arrives at node F before message 2', node F may discard message 2' as indicated by the FUNCT field in SRv6 SID (F).
After receiving the message 0 matching the SR policy < PE1, R2, PE2>, the node PE1 may encapsulate the SID list R into the message 0 according to the indication of the SR policy < PE1, R2, PE2>, so as to obtain the message 1. After receiving the packet 1, the node a may forward the packet 2 carrying the payload data in the packet 1 to the node F through the sub-path 1 and the sub-path 2 according to the carried SID list r1 and the SID list r2, respectively, without matching the SR policy < a, r1, F > again as introduced in the first scheme, thereby facilitating implementation of redundancy protection of the packet 2 between the node a and the node F, and improving efficiency of forwarding the packet 1 by the node a through the sub-path 1 and the sub-path 2, respectively.
The candidate path R applicable to the present application may include more or less network devices, and correspondingly, the SID list R may include more or less SIDs. For example, at least one intermediate network device also exists on the forwarding path between the node PE1 and the node a, the SID list R in the SR policy < PE1, R2, PE2> may further include the SID of the corresponding intermediate network device, the message 1 sent by the node PE1 may further include the SID of the corresponding intermediate network device, and after the node PE1 sends the message 1, the intermediate network device may perform repackaging on the received message (for example, pop up a corresponding MPLS label or modify a value of SL in the SRH), and then forward the repackaged message.
And/or in the candidate path applicable to the embodiment of the present application, more sub-paths may be included between the node a and the node F, and correspondingly, the SID list R in the SR policy < PE1, R2, PE2> may include SID lists corresponding to more sub-paths, in step S205, the node a duplicates the packet 1 to obtain more packets 2, and optionally, the number of the obtained packets 2 is the same as the number of sub-paths between a and F in the candidate sub-path 1. For example, if the candidate path R further includes a sub-path 3 with a as a starting point and F as an ending point, in step S205, the node a may copy the packet 1 to obtain three packets 1 (e.g., the packet 1', and the packet 1 "), and correspondingly, the node F will receive more packets 2 (e.g., the packet 2', and the packet 2").
Another possible flow of the message sending method of the present application may include step S701.
S701, the controller sends the SR strategy to the network entrance equipment.
The controller may generate the SR policy and transmit the SR policy to the network entry device corresponding to the SR policy. Alternatively, the controller may be the controller shown in fig. 1A, and the SR policy may be the SR policy < PE1, R2, PE2> mentioned in the embodiment corresponding to fig. 2, or for example, the SR policy < PE1, R2, PE2> shown in fig. 3A.
The candidate path information of the SR policy may include a SID list, which may be understood with reference to a SID list R corresponding to fig. 3B or fig. 3C or fig. 4A or fig. 4B or fig. 4C.
The SID list may include a plurality of sub-path information, the plurality of sub-path information respectively corresponding to a plurality of sub-paths between the first network device and the second network device, and each of the plurality of sub-paths starts at the first network device and ends at the second network device. Alternatively, the multiple pieces of sub-path information may be understood with reference to the SID list r1 and the SID list r2 corresponding to fig. 3B or fig. 3C or fig. 4A or fig. 4B or fig. 4C.
Alternatively, the first network device and the second network device may be understood with reference to the node a and the node F corresponding to fig. 1A and fig. 2. Optionally, the multiple sub-paths may be understood with reference to sub-path 1 and sub-path 2 corresponding to fig. 1A or fig. 2.
Fig. 7A shows another possible flow of the method according to the embodiment of the present application. Referring to fig. 7A, the method according to the embodiment of the present application may include steps S701A to S702A.
S701A, a network entrance device encapsulates a plurality of sub-path information in a data message to obtain a first message;
the network entry device may receive an SR policy issued by the controller, and then may encapsulate multiple pieces of sub-path information in the data packet according to the SR policy, so as to obtain the first packet. The second message includes payload data of the first message. The SR policy and the plurality of sub path information may be understood by referring to the corresponding contents in step S701. The embodiment of the present application does not limit the network entry device to obtain the SR policy from the controller, for example, the network entry device may locally generate the SR policy. The controller can be understood with reference to the controller mentioned in step S701.
Optionally, the first message may be an SR message.
In one possible implementation, the plurality of sub-path information may be carried in a TLV field of a segment routing header SRH of the first packet.
Alternatively, referring to the packet 1 shown in fig. 5A, fig. 5B, or fig. 5C, a plurality of pieces of sub-path information (for example, the SID list r1 and the SID list r 2) may be carried in the SID list field of the first packet. Optionally, the multiple pieces of sub-path information in the first message are an ordered list, the ordered list includes 1 st sub-path information, \8230, i th sub-path information, \8230;, and n th sub-path information, n is the number of sub-paths in the multiple sub-paths, i is any positive integer less than or equal to n, the i th sub-path information corresponds to an i th sub-path in the multiple sub-paths, and the i th sub-path information includes an SID list corresponding to the i th sub-path. Alternatively, the plurality of sub paths may be understood with reference to sub path 1 and sub path 2 corresponding to fig. 1A or fig. 2.
S702A, the network entrance device sends a first message to the first network device.
After obtaining the first packet, the network entry device may send the first packet to the first network device.
Alternatively, the network entry device may be understood with reference to the node PE1 corresponding to fig. 1A or fig. 2, and the first network device may be understood with reference to the node a corresponding to fig. 1A or fig. 2.
Fig. 7B shows another possible flow of the method according to the embodiment of the present application. Referring to fig. 7B, a method according to an embodiment of the present application may include step S701B and step S702B.
S701B, the first network equipment receives a first message;
optionally, the first packet may be from, for example, the network entry device in the embodiment corresponding to fig. 7A.
The first packet may include a plurality of sub path information and first indication information. The plurality of sub-path information respectively correspond to a plurality of sub-paths between the first network device and the second network device, and each of the plurality of sub-paths starts at the first network device and ends at the second network device.
Optionally, the first packet, the plurality of sub-path information, and the plurality of sub-paths may be understood by referring to corresponding contents in the embodiment corresponding to fig. 7A, respectively.
S702B, based on that the first message includes the first indication information, the first network device forwards a plurality of second messages to the second network device through a plurality of sub-paths respectively according to the plurality of sub-path information in the first message.
The first network device receives the first message, and may parse the first message. In this embodiment, the first packet may carry the first indication information, and the first network device may parse the first indication information.
Optionally, the first indication information may be carried in a first SID of the first network device, where the first SID is carried in a SID list field of the first packet.
Optionally, the first SID may be, for example, an MPLS label (a) in the packet 1 shown in fig. 5A or fig. 6A. As an example, the first indication information may be carried in a label field in the MPLS label (a).
Or, optionally, the first SID may be, for example, the SRv6 SID (a) in the packet 1 shown in fig. 5B or fig. 5C. By way of example, the first indication information may be carried in the FUNCT field and/or the ARG field in the SRv6 SID (a).
After the first network device parses the first indication information from the first packet, the first network device may forward, according to the multiple pieces of sub-path information in the first packet, multiple second packets to the second network device through multiple sub-paths, respectively, under the indication of the first indication information. In a possible implementation manner, the second packet may be obtained by copying the first packet, and the second packet includes payload data of the first packet.
Optionally, a process that the first network device forwards the plurality of second packets to the second network device through the plurality of sub-paths respectively according to the plurality of sub-path information in the first packet may be understood with reference to steps S205 to S208 in the embodiment corresponding to fig. 2.
Optionally, the plurality of second packets may be segment routing packets. Optionally, for example, referring to message 2 and message 2' shown in fig. 5A, or fig. 5B, or fig. 5C, multiple pieces of sub-path information may be carried in the SID list field of the second message.
Optionally, for example, referring to the message 2 and the message 2' shown in fig. 5A or fig. 5B, each of the multiple second messages respectively includes each of the multiple pieces of sub-path information, and each piece of sub-path information is carried in a SID list field of each second message.
Optionally, for example, referring to message 2 and message 2' shown in fig. 5C, each of the plurality of second messages includes an SL field and a plurality of sub-path information. The SL field of each of the plurality of second messages has a different value, so that the value of the SL field of each of the plurality of second messages points to each of the plurality of sub-path information, respectively. As shown in fig. 5C, the values of the SL fields of the packet 2 and the packet 2 'are 6 and 3, respectively, so that the values of the SL fields of the packet 2 and the packet 2' point to the SID list r1 and the SID list r2, respectively.
Fig. 7C shows another possible flow of the method according to the embodiment of the present application. Referring to fig. 7C, a method according to an embodiment of the present application may include step S701C and step S702C.
S701C, the second network equipment receives a plurality of second messages;
optionally, the plurality of second packets may come from the first network device in the embodiment corresponding to fig. 7B. Alternatively, the plurality of second packets may be understood with reference to the plurality of second packets in step S702B.
S702C, the second network device forwards a target second packet in the multiple second packets, and discards other packets except the target second packet in the multiple second packets.
The second packet may include second indication information, and the second network device may forward a target second packet in the plurality of second packets under the indication of the second indication information, and discard other packets except the target second packet in the plurality of second packets. For example, the target second packet may be a second packet that arrives at the second network device first in the plurality of second packets.
Taking the example that each second packet in the multiple second packets includes each piece of sub-path information in the multiple pieces of sub-path information, after receiving the target second packet, the second network device may modify a value of an SL field in the target second packet under an indication of second indication information in the target second packet, so that the value of the SL field in the target second packet corresponds to a target SID in an SL list of the target second packet, where the target SID corresponds to a next-hop network device or link in a forwarding path of the target second packet.
Taking the target second message as the message 2 shown in fig. 5C as an example, the target SID may be an SRv6 SID (PE 2), and after receiving the message 2, the second network device may change the value of the SL in the message 2 from 6 to 0, that is, the value of the SL field of the second message points to the node PE2.
After the first network device receives the first message, if the first network device resolves the first indication information from the first message, the first network device may obtain a plurality of sub-path information corresponding to the plurality of sub-paths from the first message, and generate a plurality of second messages based on copying the first message, where the second messages include payload data in the first message, and then forward the plurality of second messages to the second network device through the plurality of sub-paths respectively according to the plurality of sub-path information, which is beneficial to implementing redundancy protection of the first message between the first network device and the second network device, and improving the forwarding efficiency of the first network device on the first message.
The above alternative schemes of the SR network for performing redundancy protection on the packet on the sub-path 1 and the sub-path 2 according to the SR policy are introduced through the first scheme and the second scheme, respectively, and the following another alternative scheme of the SR network for implementing redundancy protection is introduced in combination with the third scheme.
Third, continue using SR tactics < A, b, F > mechanism to issue SR tactics to the redundant node
In the first scheme, SR policies < a, b, and F > need to be expanded, if node a stores SR policies < a, b, and F > and SR policies < a, r1, and F >, when node a receives a packet carrying BSID (a), node a needs to continuously analyze whether the SR policies include redundant identifiers after matching the SR policies corresponding to BSID (a), so as to determine how to process the packet according to the multiple SID lists corresponding to candidate paths. Not only the SR policy needs to be extended, but also the efficiency of the node a processing the packet according to the SR policy is reduced.
For this reason, the third proposal continues to use the mechanism of SR policy < a, b, F > to issue SR policy to redundant nodes. The alternatives provided by scheme three are presented below.
Optionally, another possible flow of the method according to the embodiment of the present application may include step S801.
S801, the controller sends an SR strategy to the first network equipment;
the controller may send the SR policy to the first network device, and the segment routing policy may include the SR list and the BSID corresponding to the SID list. Alternatively, the SR list may be understood with reference to SID (a) to SID (F) shown in fig. 3B or fig. 4A or fig. 4B. The controller and the first network device may be understood with reference to the controller and node a shown in fig. 1A, respectively.
The SR list may include a plurality of sub path information respectively corresponding to a plurality of sub paths between the first network device and the second network device, and each of the plurality of sub paths starts with the first network device and ends with the second network device. Alternatively, the plurality of sub paths may be understood with reference to sub path 1 and sub path 2 corresponding to fig. 1A or fig. 2. Alternatively, the multiple pieces of sub-path information may be understood with reference to the SID list r1 and the SID list r2 corresponding to fig. 3B or fig. 4A or fig. 4B.
Optionally, the SR policy may be, for example, SR policy < a, r3, F > in fig. 8, where an SR path in the SR policy is a candidate path r, and path information of the candidate path r may be carried in a SID list (referred to as SID list r). Illustratively, the candidate path r may be, for example, the candidate path r shown in fig. 1E, that is, the candidate path r includes a sub-path 1 and a sub-path 2, and the node a and the node F are redundant nodes and merge nodes, respectively. For example, the SID list r may include SID (a), SID list r1, SID list r2, and SID (F) shown in fig. 3B, for example. Alternatively, the BSID may be understood with reference to BSID (a) shown in fig. 1E.
Referring to fig. 9A, another possible embodiment of the method for sending a message according to the present application may include steps S901 to S903.
S901, the first network equipment acquires an SR strategy;
alternatively, the SR policy may come from the controller in the aforementioned step S801. Alternatively, the SR policy may be understood with reference to the SR policy introduced in step S801.
S902, the first network equipment receives a first message;
after obtaining the segment routing policy, the first network device may receive a first packet, where a destination address field of the first packet includes a BSID. Fig. 9B shows another possible structure of the first packet, where the SID list field of the first packet does not include multiple pieces of sub-path information, which is beneficial to saving the length of the first packet, and thus, is beneficial to saving network resources. In the SRH header of the message shown in fig. 9B, "NH" represents a next header type field, "HEL" represents a header length field, "RT" represents a routing type field, "LE" represents a previous entry field, and "F" represents a flag bit field. The embodiment of the present application does not limit the first packet in the embodiment corresponding to fig. 8 to have the structure shown in fig. 9B, for example, for the purpose of simplifying the description, fig. 9B only shows a DA field of an Ipv6 header in the packet, and does not show other fields in the Ipv6 header.
Optionally, different from the first message shown in fig. 9B, the SL field indicates the SRv6 SID next to the active SRv6 SID in the SR list field, and the value of the SL field is 0, and the first message may not include the BSID, which is beneficial to saving the length of the message 2.
The SID list and BSID can be understood with reference to the relevant contents in step S801.
S903, the first network device obtains the SID list according to the BSID and SR strategy in the first message, and forwards a plurality of second messages to the second network device through a plurality of sub-paths respectively.
After the first network device parses the BSID from the first packet, the first network device may match the SR policy corresponding to the BSID, and then may obtain, under the instruction of the SR policy, the SR list binding the BSID, and forward the multiple second packets to the second network device through the multiple sub-paths according to the SR list. The second network device may be understood with reference to node F shown in fig. 1A. For example, optionally, the first network device may refer to the message 2 and the message 2' shown in fig. 5A or fig. 5B, where the plurality of second messages respectively forwarded to the second network device by the first network device through the plurality of sub-paths according to the SR list. The second message is obtained by copying the first message, and the second message comprises payload data of the first message.
The method for sending a packet according to the embodiment of the present application is described above, and the structure of the network device according to the present application is described below. The network device may be the node PE1, the node a, or the node F in fig. 1A, or fig. 2, or fig. 5A, or fig. 5B, or fig. 5C, or the controller in step S701, or the network entry device in the method corresponding to the embodiment in fig. 7A, or the first network device in the method corresponding to the embodiment in fig. 7B, or the second network device in the method corresponding to the embodiment in fig. 7C, or the controller in step S801, or the first network device in the method corresponding to the embodiment in fig. 9A. The network device may be installed in a corresponding device, which may be, for example, a system-on-chip. In the embodiment of the present application, the chip system may be composed of a chip, and may also include a chip and other discrete devices.
Fig. 10 is a schematic structural diagram of a network device according to an embodiment of the present application. Referring to fig. 10, the network device 10 includes a processor 1001 and a memory 1002.
The processor 1001 may be one or more CPUs, which may be single core CPUs or multi-core CPUs.
The Memory 1002 includes, but is not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), an erasable programmable Read-only Memory (EPROM or flash Memory), a flash Memory, an optical Memory, or the like. The memory 1002 holds code for the operating system and program instructions.
Optionally, the network device 10 further includes a communication interface 1003. The communication Interface 1003 may be a wired Interface, such as a Fiber Distributed Data Interface (FDDI) Interface, gigabit Ethernet (GE) Interface; the communication interface 1003 may also be a wireless interface. The communication interface 1003 is used to receive routing information sent from BGP neighbors.
Optionally, the network device 10 further includes a bus 1004, and the processor 1001 and the memory 1002 are generally connected to each other through the bus 1004, and may be connected to each other in other manners.
Optionally, the processor 1001 may implement the method for sending a message according to the embodiment of the present application by reading a program instruction stored in the memory 1002, or the processor 1001 may also implement the method for sending a message according to the embodiment of the present application by using a program instruction stored inside. For example, the processor 1001 executes, according to the instructions stored in the memory 1002, the steps executed by the controller or the node PE1, or the node a or the node F in the method according to the embodiment shown in fig. 2, or executes the step S701, or executes the steps executed by the network entry device in the method according to the embodiment corresponding to fig. 7A, or executes the steps executed by the first network device in the embodiment corresponding to fig. 7B, or executes the steps executed by the second network device in the embodiment corresponding to fig. 7C, or executes the step S801, or executes the steps executed by the first network device in the embodiment corresponding to fig. 9A. For more details of the implementation of the above steps, the processor 1001 refers to the description of the methods in the previous embodiments, and is not repeated here.
The embodiment of the application also provides network equipment. Fig. 11 is a schematic structural diagram of a network device according to an embodiment of the present application. Referring to fig. 11, the network device 11 includes a receiving module 1101 and a transmitting module 1102. Illustratively, the receiving module 1101 is configured to perform steps S204, S207, S208, S701B, S701C, S901, or S902, and the sending module 1102 is configured to perform steps S205, S206, S207, S208, S702B, S702C, S209, S210, S211, S705, or S903. For the specific implementation process, reference is made to the detailed description of the corresponding steps in the above method embodiments, which is not repeated herein.
The embodiment of the application also provides network equipment. Fig. 12 is a schematic structural diagram of a network device according to an embodiment of the present application. Referring to fig. 12, the network device 12 includes an encapsulation module 1201 and a transmission module 1202. Illustratively, the encapsulation module 1201 is configured to perform step S203 or S701A, and the transmission module 1202 is configured to perform step S204 or S702A. For the specific execution process, reference is made to the detailed description of the corresponding steps in the above method embodiments, which is not described herein again.
The embodiment of the application also provides network equipment. Fig. 13 is a schematic structural diagram of a network device according to an embodiment of the present application. Referring to fig. 13, the network device 13 includes a transmitting module 1301. Illustratively, the sending module 1301 is configured to execute step S201 shown in fig. 2 or S701 or S801 introduced above. For the specific implementation process, reference is made to the detailed description of the corresponding steps in the above method embodiments, which is not repeated herein.
The coupling in the embodiments of the present application is an indirect coupling or a communication connection between devices, units or modules, and may be an electrical, mechanical or other form for information interaction between the devices, units or modules.
The device embodiments depicted in fig. 11-13 are merely schematic. The modules in fig. 11 to 13 may be implemented in the form of hardware, or may be implemented in the form of software functional units. Taking the network device 11 shown in fig. 11 as an example, when implemented in software, the sending module 1102 in the network device shown in fig. 11 may be implemented by one or more software functional modules generated after the processor 1001 reads the program instructions stored in the memory 1002. The division of the modules in the embodiment of the application is schematic, and is only a logic function division, and in actual implementation, another division mode may be provided. The modules in fig. 11 to fig. 13 may also be implemented by different hardware in a network device, for example, taking the network device 11 shown in fig. 11 as an example, the receiving module 1101 is implemented by the communication interface 1003 in fig. 10, and the sending module 1102 is implemented by the processor 1001 in fig. 10 together. It is obvious that the above functional modules may also be implemented by a combination of software and hardware, for example, the receiving module 1101 is implemented by the communication interface 1003.
For more details of the technical effects that can be achieved by the network devices shown in fig. 11 to fig. 13 and the functions that can be achieved by each module, reference is made to the corresponding description in the foregoing method embodiments, and details are not repeated here.
Referring to fig. 14, an embodiment of the present application further provides a chip 14, where the chip 14 includes a processor 1401 and a communication interface 1402, where the communication interface 1402 is coupled to the processor 1401, and the processor 1401 is configured to execute a computer program or instructions, so as to implement the method provided by any one of the method embodiments described above in the present application.
In one example, the communication interface 1402 (or interface circuit) can be, for example, an input/output interface, pin or circuit on the chip 14, or the like. The processor 1401 can execute computer instructions stored in the memory to cause the chip 14 to perform any of the method embodiments described above. Alternatively, the memory may be a storage unit within the chip 14, such as a register, a cache, etc., or the memory may be a memory within a computer device that is external to the chip 14, such as a read-only memory (ROM) or other types of static storage devices that may store static information and instructions, a Random Access Memory (RAM), etc. Alternatively, the processor 1401 may be a general purpose Central Processing Unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to control the execution of programs according to any of the above-described method embodiments.
The above-described embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof, and when implemented using software, may be implemented in whole or in part in the form of a computer program product.
The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can store or a data storage device, such as a server, a data center, etc., that is integrated with one or more available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), among others.
An embodiment of the present application further provides a network system (or referred to as a communication system), where the network system may include at least two network devices in the embodiment corresponding to fig. 2, and the at least two network devices are respectively configured to execute steps executed by corresponding network devices in the method corresponding to the embodiment of fig. 2. Alternatively, the network system may include the controller in step S701 and/or the network entry device in the embodiment corresponding to fig. 7A and/or the first network device in the embodiment corresponding to fig. 7B and/or the second network device in the embodiment corresponding to fig. 7C. Alternatively, the network system may include the controller in step S801 and the first network device in the corresponding embodiment of fig. 9A.
In the embodiments of the present application, at least one means one or more, and a plurality means two or more, which is not limited in the present application. In the embodiments of the present application, "/" may indicate a relationship in which the objects associated before and after are "or", for example, a/B may indicate a or B; "and/or" may be used to describe that there are three relationships associated with an object, e.g., a and/or B, which may represent: a exists alone, A and B exist simultaneously, and B exists alone, wherein A and B can be singular or plural. For convenience in describing the technical solutions of the embodiments of the present application, in the embodiments of the present application, terms such as "first" and "second" may be used to distinguish technical features having the same or similar functions. The words "first", "second", etc. do not limit the number or order of execution, nor do the words "first", "second", etc. necessarily differ. In the embodiments of the present application, the words "exemplary" or "such as" are used herein to mean exemplary, illustrative, or descriptive, and any embodiment or design described as "exemplary" or "such as" is not to be construed as preferred or advantageous over other embodiments or designs. The use of the terms "exemplary" or "such as" are intended to present relevant concepts in a concrete fashion for ease of understanding.
The embodiments in the present specification are all described in a progressive manner, and the same and similar parts in the embodiments are referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, as for the system embodiment, since it is substantially similar to the method embodiment, the description is relatively simple, and reference may be made to the partial description of the method embodiment for relevant points.
One of ordinary skill in the art will appreciate that when aspects of embodiments of the present application, or possible implementations of aspects, are implemented using software, the aspects, or possible implementations of aspects, may be implemented in whole or in part in the form of a computer program product. The computer program product refers to computer readable instructions stored in a computer readable medium. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part.
The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Such as a computer-readable storage medium, a Random Access Memory (RAM), a Read Only Memory (ROM), an Erasable Programmable Read Only Memory (EPROM), or a portable Read-Only Memory (CD-ROM).
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the scope of the invention. Thus, to the extent that such modifications and variations of the present application fall within the scope of the appended claims, it is intended that the present invention encompass such modifications and variations as well.

Claims (20)

1. A method for sending a message, comprising:
a first network device receives a first message, wherein the first message comprises a plurality of pieces of sub-path information and first indication information, the plurality of pieces of sub-path information respectively correspond to a plurality of sub-paths between the first network device and a second network device, each sub-path in the plurality of sub-paths takes the first network device as a starting point, and each sub-path in the plurality of sub-paths takes the second network device as an end point;
based on that the first packet includes first indication information, the first network device forwards a plurality of second packets to the second network device through the plurality of sub-paths according to the plurality of sub-path information in the first packet, where the second packets are obtained by copying the first packet, and the second packets include payload data of the first packet.
2. The method according to claim 1, wherein the second packet includes second indication information indicating that the second network device forwards a received target packet, the target packet being included in the second plurality of packets, and other packets than the target packet in the second plurality of packets are discarded.
3. The method according to claim 1 or 2, wherein the first packet is a segment routing packet, and the plurality of sub-path information are carried in a segment identification list field of the first packet.
4. The method according to claim 1 or 2, wherein the first packet is a segment routing packet, and the plurality of sub-path information is carried in an optional type length value field of a segment routing header SRH of the first packet.
5. The method according to claim 3 or 4, wherein the plurality of sub-path information in the first message is an ordered list, the ordered list includes 1 st sub-path information, \8230;, i th sub-path information, \8230; \\8230;, and n th sub-path information sequentially arranged, n is the number of sub-paths in the plurality of sub-paths, i is any positive integer smaller than or equal to n, the i th sub-path information corresponds to an i th sub-path in the plurality of sub-paths, and the i th sub-path information includes a segment identifier list corresponding to the i th sub-path.
6. The method according to claim 5, wherein the second packets are segment routing packets, the sub-path information is carried in a segment identifier list field of the second packet, the second packets each include a segment remainder field, and values of the segment remainder fields of each of the second packets in the second packets are different, so that the values of the segment remainder fields of each of the second packets in the second packets respectively point to each of the sub-path information in the sub-path information.
7. The method of claim 5, wherein the second packets are segment routing packets, and wherein each of the second packets comprises each of the sub-path information, and wherein each of the sub-path information is carried in a segment identification list field of each of the second packets.
8. The method according to any of claims 1 to 7, wherein the first indication information is carried in a first Segment Identifier (SID) of the first network device, and the first SID is carried in a segment identifier list field of the first packet.
9. The method of claim 8, wherein the first SID is an SRv6 SID, and wherein the first indication information is included in a FUNCT field and/or an ARG field of the first SID.
10. A method for sending a message, comprising:
a network entry device encapsulates multiple pieces of sub-path information in a data message to obtain a first message, where the multiple pieces of sub-path information respectively correspond to multiple sub-paths between a first network device and a second network device, and each sub-path in the multiple sub-paths takes the first network device as a starting point and each sub-path in the multiple sub-paths takes the second network device as an ending point;
the network entry device sends the first packet to the first network device, where the first packet further includes first indication information, and the first indication information indicates that the first network device forwards a plurality of second packets to the second network device through the plurality of sub-paths according to the plurality of sub-path information in the first packet, where the second packets are obtained by copying the first packet, and the second packets include payload data of the first packet.
11. The method of claim 10, wherein the first packet is a segment routing packet, and wherein the plurality of sub-path information is carried in a segment identification list field of the first packet.
12. The method according to claim 10, wherein the first packet is a segment routing packet, and wherein the plurality of sub-path information is carried in an optional type length value field of a Segment Routing Header (SRH) of the first packet.
13. The method of any of claims 10 to 12, wherein encapsulating, by the network entry device, the plurality of sub-path information in a data message comprises:
and the network entry equipment encapsulates a segment identification list in a data message according to a segment routing strategy, wherein the candidate path information of the segment routing strategy comprises the segment identification list, and the segment identification list comprises the plurality of pieces of sub-path information.
14. A control method for sending a message is characterized by comprising the following steps:
the controller sends a segment routing policy to a network entry device, where candidate path information of the segment routing policy includes a segment identification list, the segment identification list includes multiple pieces of sub-path information, the multiple pieces of sub-path information respectively correspond to multiple sub-paths between the first network device and a second network device, and each sub-path in the multiple sub-paths takes the first network device as a starting point and each sub-path in the multiple sub-paths takes the second network device as an end point, the segment routing policy is used to instruct the network entry device to encapsulate the segment identification list in a data message to obtain a first message sent to the first network device, so that the first network device forwards multiple second messages to the second network device through the multiple sub-paths according to the multiple pieces of sub-path information in the first message, the second messages are obtained by copying the first message, and the second messages include payload data of the first message.
15. A method for sending a message, comprising:
a second network device receives a plurality of second messages, wherein the plurality of second messages all comprise a plurality of pieces of sub-path information and segment residual fields; the information of the plurality of subpaths is an ordered list, the ordered list sequentially comprises 1 st subpath information, 8230, i-th subpath information, 8230, and n-th subpath information, n is the number of paths in a plurality of subpaths between a first network device and a second network device, each subpath in the plurality of subpaths takes the first network device as a starting point, each subpath in the plurality of subpaths takes the second network device as an end point, i is any positive integer less than or equal to n, the i-th subpath information corresponds to an i-th path in the plurality of subpaths, and the i-th subpath information comprises a segment identification list corresponding to the i-th subpath path; the segment residual field of each of the second messages has different values, so that the value of the segment residual field of each of the second messages points to each of the sub-path information respectively;
and the second network equipment forwards a target second message in the plurality of second messages and discards other messages except the target second message in the plurality of second messages.
16. The method of claim 15, wherein forwarding, by the second network device, the target second packet of the second packets comprises:
and the second network equipment modifies the value of the segment residual field in the target second message so that the value of the segment residual field in the target second message corresponds to a target SID in a segment identification list of the target second message, and the target SID corresponds to next-hop network equipment or a link in a forwarding path of the target second message.
17. A method for sending a message, comprising:
a first network device obtaining a segment routing policy, where the segment routing policy includes a segment identifier list and a binding segment identifier BSID corresponding to the segment identifier list, the segment identifier list includes a plurality of sub-path information, the plurality of sub-path information respectively corresponds to a plurality of sub-paths between the first network device and a second network device, and each sub-path in the plurality of sub-paths respectively takes the first network device and the second network device as a start point and an end point;
the first network equipment receives a first message, and the destination address field of the first message comprises the BSID;
the first network device obtains the segment identifier list according to the BSID and the SR policy, and forwards a plurality of second messages to the second network device through the plurality of sub-paths, respectively, where the second messages are obtained by copying the first messages, and the second messages include payload data of the first messages.
18. A control method for sending a message is characterized by comprising the following steps:
the method comprises the steps that a controller sends a segment routing strategy to a first network device, wherein the segment routing strategy comprises a segment identification list and a Binding Segment Identification (BSID) corresponding to the segment identification list, the segment identification list comprises a plurality of pieces of sub-path information, the plurality of pieces of sub-path information respectively correspond to a plurality of sub-paths between the first network device and a second network device, each sub-path in the plurality of sub-paths takes the first network device as a starting point, each sub-path in the plurality of sub-paths takes the second network device as an end point, the SR strategy is used for indicating that the first network device obtains the segment identification list after receiving a first message of which a destination address field comprises the BSID according to the BSID and the SR strategy, and respectively forwards a plurality of second messages to the second network device through the plurality of sub-paths, the second messages are obtained by copying the first messages, and the second messages comprise payload data of the first messages.
19. A network device, comprising: a processor and a memory coupled to the processor, the memory for storing program code, the processor for invoking the program code to perform the method of any of claims 1-18.
20. A network system comprising at least one of a first network device configured to perform the method of any of claims 1 to 9 or the method of claim 17, a network entry device configured to perform the method of any of claims 10 to 13, a controller configured to perform the method of claim 14 or 18, and a second network device configured to perform the method of claim 15 or 16.
CN202111007552.1A 2021-08-30 2021-08-30 Method for sending message, method and device for controlling message sending Pending CN115733840A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111007552.1A CN115733840A (en) 2021-08-30 2021-08-30 Method for sending message, method and device for controlling message sending
PCT/CN2022/110185 WO2023029871A1 (en) 2021-08-30 2022-08-04 Message sending method and apparatus, and method and apparatus for controlling sending of message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111007552.1A CN115733840A (en) 2021-08-30 2021-08-30 Method for sending message, method and device for controlling message sending

Publications (1)

Publication Number Publication Date
CN115733840A true CN115733840A (en) 2023-03-03

Family

ID=85291089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111007552.1A Pending CN115733840A (en) 2021-08-30 2021-08-30 Method for sending message, method and device for controlling message sending

Country Status (2)

Country Link
CN (1) CN115733840A (en)
WO (1) WO2023029871A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116938807B (en) * 2023-09-14 2023-12-22 新华三技术有限公司 Data message transmission method, device, equipment and storage medium
CN117439898B (en) * 2023-12-22 2024-03-12 深圳万物安全科技有限公司 Network device identification method, network device identification device, and storage medium

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751746B1 (en) * 2000-07-31 2004-06-15 Cisco Technology, Inc. Method and apparatus for uninterrupted packet transfer using replication over disjoint paths
US8189588B2 (en) * 2009-03-13 2012-05-29 Cisco Technology, Inc. Flow resiliency
US10554425B2 (en) * 2017-07-28 2020-02-04 Juniper Networks, Inc. Maximally redundant trees to redundant multicast source nodes for multicast protection
CN113114566B (en) * 2017-09-25 2022-03-29 华为技术有限公司 Message forwarding method and network equipment
US10833975B2 (en) * 2018-11-02 2020-11-10 Cisco Technology, Inc. Operations processing of multiple-protocol packets by packet switching devices in a network
CN110535782B (en) * 2019-06-15 2023-06-20 华为技术有限公司 Message processing method, device and system for realizing QoS guarantee
US11133958B2 (en) * 2019-07-08 2021-09-28 Juniper Networks, Inc. Resilient multiprotocol label switching (MPLS) rings using segment routing
CN112217724B (en) * 2019-07-11 2024-06-18 中兴通讯股份有限公司 Path management method, path management device, network equipment and readable storage medium
CN112448888A (en) * 2019-08-31 2021-03-05 华为技术有限公司 Method, equipment and system for forwarding message in SR network
CN112751763A (en) * 2019-10-30 2021-05-04 北京华为数字技术有限公司 Message forwarding method, device, storage medium and system
CN113364680A (en) * 2020-03-06 2021-09-07 华为技术有限公司 Method and device for issuing and receiving SR (scheduling request) strategy

Also Published As

Publication number Publication date
WO2023029871A1 (en) 2023-03-09

Similar Documents

Publication Publication Date Title
JP7327876B2 (en) Method and system for determining packet forwarding paths and network nodes
CN111385206B (en) Message forwarding method, network system, related equipment and computer storage medium
EP4102785A1 (en) Message processing method and apparatus, and network device and storage medium
US11979322B2 (en) Method and apparatus for providing service for traffic flow
CN108337157B (en) Method and node for transmitting message in network
CN112118182B (en) IP path tunnel for traffic engineering
JP7432095B2 (en) How to forward packets in SRv6 service function chain, SFF, and SF devices
Li et al. Improving SDN scalability with protocol-oblivious source routing: A system-level study
KR20210092304A (en) Packet processing method and apparatus, apparatus, and system
CN112019433B (en) Message forwarding method and device
WO2023029871A1 (en) Message sending method and apparatus, and method and apparatus for controlling sending of message
EP4002776A1 (en) End-to-end flow monitoring in a computer network
CN113056891B (en) Source routing tunnel ingress node protection
CN113852550A (en) Method, device, network equipment, system and storage medium for sending message
US11405320B2 (en) Systems and methods for scalable validation of multiple paths in a network using segment routing
US20230254246A1 (en) Mechanisms for packet path tracing and per-hop delay measurement in segment routing with multiprotocol label switching (sr-mpls) networks
US20240129223A1 (en) Systems and methods for data plane validation of multiple paths in a network
CN113950811B (en) Extending BGP protection for SR Path ingress protection
CN113726652B (en) Notification information processing method and device and storage medium
CN113630316A (en) Data transmission method and communication device
CN113055268A (en) Method, device, equipment and medium for tunnel traffic load balancing
WO2024067084A1 (en) Path fault detection method and related apparatus
WO2024083219A1 (en) Message processing method and apparatus, and device and storage medium
CN112104539B (en) Information interaction method, device and system in segmented NGMVPN
WO2023078031A1 (en) Message sending method and apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication