WO2021169258A1 - Procédé d'acheminement de message, procédé de publication d'informations de routage, appareil et système - Google Patents

Procédé d'acheminement de message, procédé de publication d'informations de routage, appareil et système Download PDF

Info

Publication number
WO2021169258A1
WO2021169258A1 PCT/CN2020/116615 CN2020116615W WO2021169258A1 WO 2021169258 A1 WO2021169258 A1 WO 2021169258A1 CN 2020116615 W CN2020116615 W CN 2020116615W WO 2021169258 A1 WO2021169258 A1 WO 2021169258A1
Authority
WO
WIPO (PCT)
Prior art keywords
sid
locator
positioning information
message
network
Prior art date
Application number
PCT/CN2020/116615
Other languages
English (en)
Chinese (zh)
Inventor
胡志波
姚俊达
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021169258A1 publication Critical patent/WO2021169258A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • 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
    • 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
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Definitions

  • This application relates to the field of communication technology, and in particular to a method, device, and system for forwarding messages, and for publishing routing information.
  • Redundancy protection is a technology for redundant backup of equipment and links.
  • a customer edge (Customer Edge, CE) device is dual-homed
  • two provider edge (Provider Edge, PE) devices dual-homed to the CE device can protect each other. Then, if one PE device fails, another PE device can take over the forwarding work of the failed PE device, and forward the packets sent by the backbone (Provider, P) device to the CE device, thereby avoiding business due to a single PE device Failures lead to interruptions, ensuring the high availability of the network.
  • anycast technology Specifically, two or more devices are added to the same anycast group, and the same locator is configured on each device in the same anycast group, so that each device in the same anycast group According to the same locator, publish the same locator routing information.
  • anycast Fast Reroute anycast Fast Reroute, anycast FRR
  • locator is a term in segment routing based on Internet protocol version 6 (English: internet protocol version 6 for Segment Routing, abbreviated as: SRv6), locator can be translated into positioning information, addressing information or location information, of course it can also It has other titles according to different manufacturers or scenarios.
  • the locator occupies the high bits of the SRv6 segment ID (Segment ID, SID).
  • the locator is essentially an Internet Protocol version 6 (English: internet protocol version 6, referred to as IPv6) network segment, and all IPv6 addresses under this network segment can be allocated as SRv6 SIDs. After the locator is configured on the device, the device will generate a piece of locator routing information, and the device can be located through the locator routing information.
  • locator routing information can be translated into network segment routing information or locator network segment routing information, of course, it can also have other titles according to different manufacturers or scenarios.
  • the embodiments of the present application provide a method for forwarding packets, a method, device, and system for publishing routing information, which can realize mutual protection between multiple devices and help support the function of dynamically generating VPN SIDs.
  • the technical solution is as follows:
  • a method for forwarding a message is provided.
  • a message is received, and the destination address of the message includes first positioning information (locator), and the first locator is used to indicate the address of the first device Query the routing information with the longest match with the destination address of the message from the local routing information to obtain the anycast routing information of the anycast group; according to the anycast routing information, the anycast routing information will be sent to the second device Message.
  • locator first positioning information
  • the anycast group includes the first device and the second device, the first device and the second device protect each other, and the destination address of the anycast routing information includes a second locator, and the second device
  • the prefix length of the locator is smaller than the prefix length of the first locator, and the network segment range corresponding to the second locator includes the network segment range corresponding to the first locator.
  • This method can be executed by the P device in the network. Through this method, multiple locators with different prefix lengths are provided.
  • the locator with the low network segment prefix is used as the locator to locate all the devices in the anycast group, and the locator with the low network segment prefix is the anycast within the network segment range of the locator with the low network segment prefix.
  • Each device in the group is allocated a locator with a high network segment prefix, and multiple locators with a high network segment prefix are used as locators to locate each corresponding device in the anycast group, and the locators with multiple high network segment prefixes are located in the low network segment.
  • the prefix is within the network segment of the locator.
  • the locator in the case of a device failure in the anycast group, for a message whose destination address is the faulty device, since the locator of the destination address of the message is the locator of the faulty device, it is using the message In the process of querying local routing information for the destination address, it will match the locator with the low network segment prefix, and forward the message to other devices in the anycast group according to the locator with the low network segment prefix.
  • the traffic of the faulty device will be diverted to other devices, thereby protecting the normal forwarding of traffic, avoiding the problem of traffic packet loss after routing convergence after a fault, and realizing a redundant protection mechanism between multiple devices and increasing the network The robustness.
  • this method can be applied to a network where CE devices are multi-homed to PE devices.
  • Multiple PE devices connected to the same CE device form an anycast group, and the multiple PE devices share the locator of the low network segment prefix, and Configure respective locators for the high network segment prefixes. Then, when a PE device fails, because the destination address will be matched to the locator of the lower network segment prefix, the traffic is forwarded to other PE devices, thereby realizing mutual protection between multiple PE devices.
  • different devices in the anycast group get rid of the strict restriction that the configured VPN SID must be the same, and can support the dynamic generation of VPN SID.
  • Different devices in the anycast group can dynamically generate different locators under their respective high network segment prefixes. This reduces the constraints on network planning, reduces the difficulty of network deployment, improves the flexibility of issuing VPN SIDs, helps avoid problems that affect VPN convergence, and solves the problem of traffic bypass.
  • the first N bits of the first locator are the same as the first N bits of the second locator, the prefix length of the first locator is M bits, the N and the M are integers, and the N is less than the M.
  • the high-order bits of the locator of the high-segment prefix and the locator of the low-segment prefix are the same, while the locator of the low-segment prefix has more (MN) bits, and the different values of the (MN) bits can be used To distinguish different devices in anycast group.
  • the value of M-N can be 1, that is, removing the last 1 bit from the device's own locator to obtain the overall locator of the anycast group.
  • the method further includes: in response to the failure of the first device, deleting the first network segment routing information issued by the first device from the local routing information, so The destination address of the routing information of the first network segment includes the first locator.
  • the locator network segment route advertised by the faulty device will be deleted after the route is converged. Then, when the traffic to be sent to the faulty device arrives, it will match the locator with the lower network segment prefix according to the longest matching rule. , According to the locator of the lower network segment prefix, the message will be forwarded to other devices in the anycast group. In this way, the traffic of the faulty device will be diverted to other devices, thereby protecting the normal forwarding of traffic and avoiding the problem of traffic packet loss that occurs after the route is converged after a fault.
  • the method further includes: receiving first network segment routing information issued by the first device, where the destination address of the first network segment routing information includes the first locator; Receiving the anycast routing information of the anycast group released by the first device and the second device.
  • the network segment routing information of multiple locators with different prefix lengths will be saved in the local routing information.
  • the device if the device is normal, if the packet The locator of the destination address is the device's own locator. According to the longest matching rule, it will match the locator of the high network segment prefix, so that the packet is forwarded to the device.
  • this method helps to forward traffic along the shortest path to the destination, avoiding normal detours, and thus helps to reduce forwarding delay.
  • the method further includes: receiving second network segment routing information published by the second device, where the destination address of the second network segment routing information includes a third locator, and The third locator is used to indicate the address of the second device, the third locator is different from the first locator, the prefix length of the second locator is smaller than the prefix length of the third locator, and the second locator
  • the corresponding network segment range includes the network segment range corresponding to the third locator.
  • a method for publishing routing information is provided.
  • a first device obtains a first locator and a second locator, and the first locator is used to indicate the address of the first device, and the first locator is used to indicate the address of the first device.
  • the prefix length of the second locator is less than the prefix length of the first locator, the network segment range corresponding to the second locator includes the network segment range corresponding to the first locator; the first device advertises the anycast route of the anycast group Information, the anycast group includes the first device and the second device, the first device and the second device protect each other, the destination address of the anycast routing information includes the second locator, the The address of the second device is located in the network segment range corresponding to the second locator.
  • This method can be executed by the PE device in the network. Through this method, multiple locators with different prefix lengths are provided.
  • the locator with the low network segment prefix is used as the locator to locate all the devices in the anycast group, and the locator with the low network segment prefix is the anycast within the network segment range of the locator with the low network segment prefix.
  • Each device in the group is assigned a locator with a high network segment prefix, and the locator with a high network segment prefix of each device is used as a locator to locate the corresponding device.
  • the locator By cleverly designing the locator, for the devices in the anycast group, if the device is normal, if the locator of the destination address of the message is the device's own locator, then according to the longest matching rule, it will match to a high The locator of the network segment prefix to forward packets to the device. When the equipment is normal, this method helps to forward traffic along the shortest path to the destination, avoiding normal detours, and thus helps to reduce forwarding delay. If a device in an anycast group fails, the locator with a low network segment prefix can divert traffic to other unfaulted devices in the anycast group, and other devices can forward the traffic instead of the faulty device, thereby realizing the function of redundancy protection. Therefore, through this method, the robustness of the network can be increased, and a more flexible network guarantee can be realized.
  • different devices in the anycast group get rid of the strict restriction that the configured VPN SID must be the same, and can support the dynamic generation of VPN SID.
  • Different devices in the anycast group can dynamically generate different locators under their respective high network segment prefixes. This reduces the constraints on network planning, reduces the difficulty of network deployment, improves the flexibility of issuing VPN SIDs, helps avoid problems that affect VPN convergence, and solves the problem of traffic bypass.
  • the method further includes: the first device publishing first network segment routing information, and the destination address of the first network segment routing information includes the first locator.
  • the method further includes: the first device receives a message, the destination address of the message includes a third locator, and the third locator is used to indicate the address of the second device, and the first device The third locator is different from the first locator; the first device sends the message according to the destination address.
  • the destination address of the message includes a virtual private network segment identifier VPN SID
  • the VPN SID is used to send the message to the user edge CE device
  • the VPN SID includes the third locator, which is used to forward the message
  • the first device queries the local SID table according to the VPN SID, and if the VPN SID matches the remote SID in the local SID table, it sends a report to the CE device according to the remote SID
  • the local SID table includes a remote tag, and the value of the remote tag corresponding to the remote SID in the local SID table is different from the value of the remote tag corresponding to the local SID; or, the first device according to The VPN SID queries the remote SID table, and if the VPN SID hits the remote SID in the remote SID table, a message is sent to the CE device according to the remote SID, and the remote SID table Used to save the remote SID.
  • the first N bits of the first locator are the same as the first N bits of the second locator, the prefix length of the first locator is M bits, the N and the M are integers, and the N is less than the M.
  • the VPN SID issued by the first device is different from the VPN SID issued by the second device, and the VPN SID issued by the first device includes the first locator and the VPN SID issued by the second device A third locator is included, the prefix length of the third locator is greater than the prefix length of the second locator, and the network segment range corresponding to the third locator is within the network segment range corresponding to the second locator.
  • the first device and the second device are two operator edge PE devices dual-homed to the CE device.
  • the method further includes: the first device sends the private network routing information of the CE device to the second device, and the VPN SID carried in the private network routing information is used to send to the CE device Message.
  • a network device in a third aspect, has the function of implementing the redundancy protection in the first aspect or any one of the optional methods of the first aspect.
  • the network device includes at least one module, and the at least one module is configured to implement the method for forwarding packets provided in the first aspect or any one of the optional manners of the first aspect.
  • a network device in a fourth aspect, has the function of implementing redundancy protection in the second aspect or any one of the optional methods of the second aspect.
  • the network device includes at least one module, and the at least one module is configured to implement the method for publishing routing information provided in the second aspect or any of the optional manners of the second aspect.
  • a network device in a fifth aspect, includes a processor configured to execute instructions so that the network device executes the packet forwarding provided in the first aspect or any one of the optional methods in the first aspect. Methods. For specific details of the network device provided in the fifth aspect, reference may be made to the foregoing first aspect or any of the optional methods of the first aspect, and details are not described herein again.
  • a network device in a sixth aspect, includes a processor configured to execute instructions so that the network device executes the method for publishing routing information provided in the second aspect or any of the optional manners of the second aspect. .
  • the network device includes a processor configured to execute instructions so that the network device executes the method for publishing routing information provided in the second aspect or any of the optional manners of the second aspect.
  • a computer-readable storage medium stores at least one instruction, and the instruction is read by a processor to make a network device execute the first aspect or any one of the optional manners of the first aspect The provided method for forwarding messages.
  • a computer-readable storage medium stores at least one instruction, and the instruction is read by a processor to make a network device execute the second aspect or any one of the optional manners of the second aspect The provided method of publishing routing information.
  • a computer program product is provided.
  • the network device executes the method for forwarding packets provided in the first aspect or any one of the optional methods of the first aspect. .
  • a computer program product is provided.
  • the network device executes the method for publishing routing information provided in the second aspect or any of the optional methods of the second aspect. .
  • a chip when the chip runs on a network device, the network device executes the packet forwarding method provided in the first aspect or any one of the optional methods of the first aspect.
  • a chip is provided.
  • the network device executes the method for publishing routing information provided in the second aspect or any one of the optional methods of the second aspect.
  • a network system in a thirteenth aspect, includes the network device provided in the foregoing third aspect and the network device provided in the foregoing fourth aspect.
  • this application provides a network device, which includes a main control board and an interface board.
  • the main control board includes: a first processor and a first memory.
  • the interface board includes: a second processor, a second memory, and an interface card. The main control board and the interface board are coupled.
  • the first memory can be used to store program code
  • the first processor is used to call the program code in the first memory to perform the following operations: query the routing information with the longest match with the destination address of the message from the local routing information to obtain the anycast group Anycast routing information, the anycast group includes the first device and the second device, the first device and the second device protect each other, and the destination address of the anycast routing information includes the second positioning information
  • the prefix length of the second positioning information is less than the prefix length of the first positioning information
  • the network segment range corresponding to the second positioning information includes the network segment range corresponding to the first positioning information.
  • the second memory may be used to store program code
  • the second processor is used to call the program code in the second memory to trigger the interface card to perform the following operations: receive a message, the destination address of which includes the first positioning information, The first positioning information is used to indicate the address of the first device; according to the anycast routing information, the message is sent to the second device.
  • an inter-process communication protocol (IPC) channel is established between the main control board and the interface board, and the main control board and the interface board communicate through the IPC channel.
  • IPC inter-process communication protocol
  • a network device in a fifteenth aspect, includes a main control board and an interface board.
  • the main control board includes: a first processor and a first memory.
  • the interface board includes: a second processor, a second memory, and an interface card. The main control board and the interface board are coupled.
  • the first memory may be used to store program code
  • the first processor is used to call the program code in the first memory to perform the following operations: obtain first positioning information and second positioning information, where the first positioning information is used to instruct the first positioning information
  • the prefix length of the second positioning information is less than the prefix length of the first positioning information
  • the network segment range corresponding to the second positioning information includes the network segment range corresponding to the first positioning information.
  • the second memory may be used to store program code
  • the second processor is used to call the program code in the second memory to trigger the interface card to perform the following operations: publish anycast routing information of the anycast group, the anycast group including the first A device and a second device, the first device and the second device protect each other, the destination address of the anycast routing information includes the second positioning information, and the address of the second device is located in the second device.
  • publish anycast routing information of the anycast group including the first A device and a second device
  • the first device and the second device protect each other
  • the destination address of the anycast routing information includes the second positioning information
  • the address of the second device is located in the second device.
  • an IPC channel is established between the main control board and the interface board, and the main control board and the interface board communicate through the IPC channel.
  • FIG. 1 is a schematic diagram of an SRv6 message provided by an embodiment of the present application
  • Figure 2 is a schematic diagram of an SRH provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of an IPv6 destination address conversion of a message provided by an embodiment of the present application
  • FIG. 4 is a schematic diagram of an SRv6 SID provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of an End SID provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of an End SID-based forwarding process provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of a forwarding operation corresponding to End.DT4 SID provided by an embodiment of the present application.
  • FIG. 8 is a schematic diagram of a system architecture 100 provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of anycast redundancy protection provided by an embodiment of the present application.
  • FIG. 10 is a schematic diagram of a Mirror mirroring protection provided by an embodiment of the present application.
  • FIG. 11 is a flowchart of a method for publishing routing information according to an embodiment of the present application.
  • FIG. 12 is a schematic diagram of a locator configured with different prefix lengths according to an embodiment of the present application.
  • FIG. 13 is a schematic diagram of publishing anycast routing information according to an embodiment of the present application.
  • FIG. 14 is a flowchart of a method for forwarding a message according to an embodiment of the present application.
  • FIG. 15 is a flowchart of a method for forwarding a message provided by an embodiment of the present application.
  • FIG. 16 is a flowchart of a method for forwarding a message provided by an embodiment of the present application.
  • FIG. 17 is a schematic diagram of a message forwarding process in a fault state according to an embodiment of the present application.
  • FIG. 18 is a schematic diagram of processing remote cross routing according to an embodiment of the present application.
  • FIG. 19 is a flowchart of a method for forwarding a message provided by an embodiment of the present application.
  • FIG. 20 is a schematic structural diagram of a network device 600 provided by an embodiment of the present application.
  • FIG. 21 is a schematic structural diagram of a network device 700 provided by an embodiment of the present application.
  • FIG. 22 is a schematic structural diagram of a network device 800 provided by an embodiment of the present application.
  • FIG. 23 is a schematic structural diagram of an interface board provided by an embodiment of the present application.
  • FIG. 24 is a schematic structural diagram of a network device 1000 provided by an embodiment of the present application.
  • first, second and other words are used to distinguish the same items or similar items that have basically the same function and function. It should be understood that between “first”, “second” and “nth” There are no logic or timing dependencies, and no restrictions on the number and execution order. It should also be understood that although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another.
  • the first device may be referred to as the second device, and similarly, the second device may be referred to as the first device. Both the first device and the second device may be devices, and in some cases, may be separate and different devices.
  • the size of the sequence number of each process does not mean the order of execution.
  • the execution order of each process should be determined by its function and internal logic, and should not correspond to the difference in the embodiments of the present application.
  • the implementation process constitutes any limitation.
  • determining B according to A does not mean that B is determined only according to A, and B can also be determined according to A and/or other information.
  • the method for forwarding messages and the method for publishing routing information provided in the embodiments of the present application can be applied to a segment routing (English: Segment Routing, abbreviated: SR) network scenario.
  • the method for forwarding messages and the method for publishing routing information in the embodiments of this application can be applied to segment routing based on Internet Protocol version 6 (English: internet protocol version 6 for Segment Routing, abbreviated as: SRv6).
  • SRv6 Internet Protocol version 6
  • the side edge (Customer Edge, CE) device is dual-homed to the operator edge (Provider Edge, PE) device
  • SR is a technology designed for forwarding packets in the network based on the concept of source routing.
  • the SR divides the network path into segments, and assigns segment IDs (Segment IDs, SIDs) to these segments and forwarding nodes in the network.
  • SIDs segment IDs
  • a segment list (Segment List) can be obtained, and the packet forwarding path can be specified through the segment list.
  • SR technology you can specify the nodes and paths through which packets carrying the Segment List pass, so as to meet the requirements of traffic tuning.
  • a message can be compared to luggage, and SR can be compared to a label affixed to the luggage.
  • SR technology includes segment routing (Segment Routing Multi-Protocol for Label Switching, SR MPLS) technology and SRv6 technology.
  • SID is the identifier of the segment, which is used to identify a unique segment.
  • SID can be mapped to MPLS label.
  • the SID can be mapped to an IPv6 address.
  • SID can essentially represent topology, instruction or service.
  • the currently working SID is the currently to-be-processed segment in the segment list, which can also be referred to as an active SID (active SID), the currently-to-be-processed SID, and the currently-working SID.
  • active SID active SID
  • the active segment is the outermost label of the label stack.
  • the active segment is the destination address of the IPv6 message carrying SRH.
  • the active segment can be indicated by the value of the remaining segment quantity (SegmentsLeft, SL) field. For example, if the segment list includes 5 SIDs, namely SID0, SID1, SID2, SID3, and SID4, and the value of SL is 2, it indicates that there are 2 unprocessed SIDs in the segment list, namely SID0 and SID1.
  • the currently processed SID in the list is SID2, and there are 2 processed SIDs in the segment list, namely SID3 and SID4.
  • SRv6 technology refers to the application of SR technology in IPv6 networks.
  • the SID of SRv6 uses IPv6 address (128bits) encoding and is encapsulated in the SRv6 extension header (SRH).
  • SRH SRv6 extension header
  • a node supporting SRv6 will query the local SID table (local SID table) according to the destination address (DA) in the message.
  • the destination address of the message matches any SID in the local SID table When it matches, it is confirmed that the destination address hits the local SID table, and then the corresponding operation is performed based on the topology, instruction or service corresponding to the SID; if the destination address of the message does not match each SID in the local SID table, then according to The destination address queries the IPv6 routing and forwarding table, and forwards packets according to the routing and forwarding table that the destination address hits in the routing and forwarding table.
  • the local SID table (local SID table, also known as the local SID table) is a table maintained by SRv6-enabled nodes.
  • the local SID table contains the SRv6 SID generated by the node.
  • the SRv6 forwarding table FIB can be generated according to the local SID table.
  • this command can carry the parameter end to specify to view the Local SID table of SRv6 End.
  • This command can carry the parameter End.X to specify to view the Local SID table of SRv6 End.X.
  • This command can carry the parameter end-dt4 to specify to view the Local SID table of SRv6 end-dt4.
  • IPv6 message is composed of IPv6 standard header + extended header (0...n) + payload.
  • SRv6 extension header Segment Routing Header
  • This extension header specifies an explicit IPv6 path and stores the IPv6 Segment List. Information, its function is the same as the Segment List in SR MPLS.
  • the head node adds an SRH extension header to the IPv6 message, and the intermediate node can forward it according to the path information contained in the SRH extension header. By increasing the extension header in this way, SR smoothly merges with the original IPv6 forwarding plane.
  • FIG. 1 is a schematic diagram of an SRv6 message provided by an embodiment of the present application.
  • the SRv6 message can include IPv6 header, SRH, and payload.
  • the following uses (1) to (3) to introduce each part of the SRv6 message:
  • the IPv6 header in the SRv6 message may include a source address (source address, SA) and a destination address (destination address, DA).
  • IPv6 DA is fixed.
  • IPv6DA identifies the next node of the current message.
  • the SR node can continuously update the destination address to complete hop-by-hop transmission.
  • the SID carried in the destination address in the IPv6 header can be called an active SID.
  • SRH is an IPv6 extension header. SRH is used to implement SRv6 based on the IPv6 forwarding plane. Refer to FIG. 2, which is a schematic diagram of an SRH provided by an embodiment of the present application.
  • SRH may include the following (2.1) to (2.2).
  • the segment list can include one or more SIDs, and each SID can be in the form of an IPv6 address, so the segment list can also be understood as an explicit IPv6 address stack.
  • the segment list can be denoted as Segment List[n], the length of Segment List[n] is 128*n bits, and the segment list can be coded from the last segment of the path.
  • the Segment List is in the form of an IPv6 address.
  • SL is used to indicate the number of intermediate nodes that should still be visited before reaching the destination node, and the SL field can also be called the remaining node field.
  • the value of the SL field can indicate the active SID in the segment list.
  • the length of SL can be 8 bits. For example, if the segment list includes 5 SIDs, namely SID0, SID1, SID2, SID3, and SID4, and the value of SL is 2, it indicates that there are 2 unprocessed SIDs in the segment list, namely SID0 and SID1.
  • the currently processed SID in the list is SID2, and there are 2 processed SIDs in the segment list, namely SID3 and SID4.
  • SRH can be abstracted into the following format.
  • Segment List[0], Segment List[1], Segment List[2],..., Segment List[n]> is the segment list of Rv6 packets, similar to the MPLS label stack information in SR MPLS, Generated at the ingress node.
  • Segment List[0] is the first Segment List to be processed on the SRv6 path
  • Segment List[1] is the second
  • Segment List[2] is the third
  • ..., Segment List[n] is the nth +1.
  • Fig. 3 is a schematic diagram of the IPv6 DA transformation of a message provided by an embodiment of the present application.
  • the Segment Left (SL) field is subtracted by 1, and the IPv6 DA information is transformed once .
  • the Segments Left and Segments List fields jointly determine the IPv6 DA information.
  • the IPv6 DA value is the value of Segments List[0].
  • the IPv6 DA value is the value of Segments List[1].
  • the IPv6 DA value is the value of Segments List[2].
  • the IPv6 DA value is the value of Segments List[n].
  • SRH may also include (2.3) to (2.9).
  • TLV is an encoding format.
  • TLV includes type, length, and value.
  • the SRH can include one TLV or multiple TLVs. Different TLVs in the SRH can have a parallel relationship or a nested relationship.
  • SRH may also include the following fields:
  • Next header type (next header): An SRv6 message can also include one or more extension headers or one or more higher layer headers after the extension header. Next header is used to identify the report immediately following the SRH. The type of head. The length of the next message header type field can be 8 bits.
  • the length of the extension header (English: header Extended Length, Hdr Ext Len for short) field: used to indicate the length of the SRH header. Mainly refers to the length occupied from Segment List[0] to Segment List[n].
  • the length field of the extension header may be 8 bits.
  • Routing Type field used to identify the routing header type, SRH Type is 4.
  • the length of the route type field may be 8 bits.
  • the last element index (Last Entry) field Contains the index of the last element of the segment list in the segment list.
  • the length of the Last Entry field may be 8 bits.
  • Flags field used to indicate some flags of the data packet.
  • the length of the Flags field can be 8 bits.
  • Tag field used to identify the same group of data packets.
  • the length of the Tag field can be 16 bits.
  • the payload in the SRv6 message can be the original message.
  • the original message may be an IPv4 message, an IPv6 message, or an Ethernet (English: Ethernet) frame.
  • SRv6 SID includes 128 bits.
  • SRv6 SID is an instantiated IPv6 address, and this type of IPv6 address is given a unique function.
  • An SRv6 SID can represent a node/link, or an L2/L3 VPN, or a service. It can be said that any network function can be defined through SRv6 SID.
  • SRv6 SID is a network instruction (Instruction).
  • SRv6 SID can be in hexadecimal data format. The format of SRv6 SID can be X:X:X:X:X:X:X. Please refer to FIG. 4, which is a schematic diagram of an SRv6 SID provided by an embodiment of this application. After the SRv6 SID is generated, it will be added to the local SID table of the machine on the one hand, and it can also be advertised to the outside through the routing protocol on the other hand.
  • SRv6 SID includes location information (locator) and function information (function), and the format of SID is locator: function.
  • the SID also includes parameter information (Arguments), and the format of the SID is locator:function:Arguments.
  • the structure of SRv6 SID is more conducive to programming the network. In actual forwarding, the locator part in SRv6 SID is used to help other nodes in the network to perform routing addressing, find the SRv6 SID generation node, and forward the SRv6 message to this node, and the function part is used to indicate the generation of SRv6 SID The node performs corresponding functional operations.
  • the locator occupies the high bits of the SID.
  • the locator is mainly responsible for the routing function, that is, the SRv6 node performs routing and forwarding according to the locator, so the locator must be unique in the SRv6 domain.
  • the locator itself is an IPv6 network segment, and all IPv6 addresses under this network segment can be allocated as SRv6 SIDs.
  • the system will generate a locator network segment route, and the node can be located through the locator network segment route.
  • all SIDs issued by the node can also be reached through the locator network segment route.
  • the locator of SRv6 can be published through SRv6locator TLV.
  • the locator can be configured through the locator command.
  • the locator command includes parameters such as locator name (locator-name), IPV6 prefix (ipv6-prefix), prefix length (prefix-length), etc.
  • locator name is used to specify the node routing segment name of the SID.
  • the locator name can be in the form of a string.
  • IPV6 prefix is used to specify the IPv6 address prefix.
  • the IPV6 prefix can be in the form of a 32-bit hexadecimal number, and the format is X:X:X:X:X:X:X:X.
  • the prefix length is used to specify the IPv6 address prefix length. Among them, the prefix length can be an integer, and the value range is 32 to 120.
  • the function occupies the lower bits of the SID.
  • the function field is also called Opcode, which can be dynamically allocated through the IGP protocol or statically configured through the opcode command.
  • SRv6 can define the actions corresponding to each segment through function.
  • Function can indicate any function of the device, such as a certain forwarding behavior, or a certain kind of business.
  • SRv6 SID There are many types of SRv6 SIDs, and different types of SRv6 SIDs represent different functions. The most common ones are End SID and End. X SID, and there are End. DT4 SID that represents IPv4 VPN. The following describes the forwarding process based on SRv6 SID based on the specific types of SRv6 SID:
  • End in SID stands for endpoint.
  • the End SID is the Endpoint SID, and the End SID is used to identify a certain destination address prefix (Prefix) in the network.
  • the End SID in SRv6 is similar to the Prefix SID in SR MPLS.
  • SRv6 End SID can be released through SRv6 End SID sub-TLV.
  • SRv6 End SID can be spread to other network elements based on the IGP protocol.
  • SRv6 End SID sub-TLV is a kind of sub-TLV used to publish SRv6 End SID with Endpoint function.
  • FIG. 5 is a schematic diagram of an End SID provided in an embodiment of the present application.
  • the End SID of node A can be A::.
  • the End SID of node B can be B::.
  • the End SID of node C can be C::.
  • the forwarding operation based on the End SID may include: the SR node receives the message.
  • the SR node queries the Local SID table according to the destination address in the IPv6 header of the message.
  • the SR node judges that the type of the active SID (FuncType) is the End type according to the Local SID table.
  • the SR node continues to query the IPv6 FIB table. According to the outgoing interface and next hop queried in the IPv6 routing and forwarding table, the packet is forwarded. For example, see Table 1 below, which is an illustration of the local SID table.
  • the IPv6 DA of the message is 10:1::1:0/128, when the SR node receives the SRv6 message, it will look up Table 1 and judge 10:1::1:0/ according to the IPv6 DA of the SRv6 message. If the FuncType of 128 is End, continue to query the IPv6 routing and forwarding table according to 10:1::1:0/128, and according to 10:1::1:0/128 in the IPv6 routing and forwarding table hits the outgoing interface and the next Jump, forward the message.
  • the header My Local-SID End Forwarding Table of Table 1 represents the local SID table of SRv6 End.
  • FuncType represents the function type. Flavor represents a characteristic, for example, it may be the penultimate segment POP of the SRH (PSP for short).
  • the locator ID represents the identifier allocated by the locator.
  • Figure 6 is a schematic diagram of an End SID-based forwarding process provided by an embodiment of the application.
  • the forwarding process includes: a message is pushed into the SRH at node A, and the path information in the SRH is ⁇ Z:: , F::, D::, B::>, the destination address in the IPv6 header of the message is B::.
  • an intermediate node such as node B and node D
  • the intermediate node will query the Local SID table according to the IPv6 DA of the message.
  • the intermediate node will continue to query the IPv6 FIB table, according to IPv6 FIB
  • the next hop of the outgoing interface found in the table is sent, and the SL is reduced by 1, and the IPv6 DA is transformed once.
  • node F queries the Local SID table according to the destination address in the IPv6 header of the message, determines the end type, then continues to query the IPv6 FIB table, and forwards it according to the outbound interface found in the IPv6 FIB table.
  • SL is reduced to 0, and IPv6 DA becomes Z::.
  • the path information ⁇ Z::, F::, D::, B::> has no actual value, so node F uses the PSP feature to remove SRH , And then forward the message with SRH removed to node Z.
  • End.DT4 SID belongs to End SID, specifically an End SID that represents the PE type.
  • End.DT4 SID is used to identify the Internet Protocol version 4 (English: Internet Protocol version 4, IPv4) virtual private network (Virtual Private Network, VPN) instance in the network.
  • End.DT4 SID is mainly used in VPN scenarios.
  • End.DT4 SID is similar to the label of IPv4 VPN. Referring to Figure 7, the forwarding operation corresponding to End.DT4 SID may include: decapsulating the packet, and looking up the IPv4 VPN instance routing table for forwarding.
  • Anycast (anycast) is also called anycast, anycast, or anycast.
  • Anycast is a communication method of IPv6. Anycast is a communication method between a sender and a group of receivers, and this group of receivers share the same IP address. In other words, anycast uses the same address to identify a group of nodes that provide the same or corresponding services. Each of these nodes can act as the receiver of the message, thus forming a group of receivers. In the process, the message will be forwarded to one of these nodes. Among them, this group of receivers is usually called an anycast group.
  • the message will be routed by the network to the "nearest" target interface measured by the routing protocol.
  • the routing protocol may refer to the metric determination of router hops, server load, server throughput, round trip time (RTT, round trip time) between the client and server, and available bandwidth of the link.
  • Anycast routing information including the anycast address of the anycast group, the anycast address will be assigned to more than two interfaces (generally referring to nodes with different IP addresses), and the packets sent to the anycast address are routed to the nearest interface.
  • SRv6 In SRv6 technology, two or more SR nodes can form an anycast group.
  • the SR nodes in the anycast group issue anycast SIDs.
  • the current anycast technology of SR requires anycast SID issued by each SR node
  • each device in the same anycast group must be configured with the same locator to ensure that when one of the nodes fails, it can quickly switch to another node through the anycast fast re-route (FRR) method.
  • FRR fast re-route
  • the shortest path can be selected from the path to each SR node in the anycast group, and forwarded according to the shortest path.
  • the embodiments of the present application also relate to the application of the longest matching rule in the field of IP routing.
  • the principle of the longest matching rule is introduced below.
  • the longest match principle is the route lookup method for devices that support IP routing.
  • the router When the router receives an IP packet, it will read the destination address of the IP packet, and compare the destination address of the IP packet with each routing table entry in the local routing table bit by bit to determine which routing table in the routing table The item matches the destination address. If multiple entries in the routing table match the destination IP, the matching entry is selected according to the longest match principle. For example, in IPv4, the destination address of the message is an IPv4 address, which corresponds to the concept of a subnet mask. Select the entry with the longest mask from the multiple entries as the matching entry. In IPv6, the destination address of the message is the IPv6 address, which corresponds to the concept of network prefix. The router selects the longest prefix from the multiple entries.
  • IPV4 the IPV4 routing table contains two entries: 192.168.20.16/28e0; 192.168.0.0/16s0
  • the format is IP address/mask length/outgoing interface. If an IP packet with a destination address of 192.168.20.19 is received, the IP packet can be understood as belonging to the 192.168.20.16/28 network, or as belonging to the 192.168.0.0/16 network, and 192.168.20.16/ The mask of 28 is longer and more accurate.
  • the router will select the entry corresponding to 192.168.20.16/28 as the matching entry based on the longest matching principle, and send the IP packet through the outgoing interface e0.
  • Routing convergence refers to the process in which the routing table is re-established, sent and then learned until stable after the topology of the network changes, and all relevant routers in the network are notified that the change is known. That is, the behavior of finding alternative routes by recalculating routes caused by changes in the network topology.
  • FRR Fast Reroute
  • Route crossover refers to the replication of a private network route to other VPN instances. Depending on the source of the route, it can be divided into two concepts: remote crossover and local crossover.
  • Remote crossover refers to the routes learned from VPNv4, which are matched with the IRT (Import Target) configured under the local VPN instance one by one according to the ERT (Export Target) attribute value it carries. If it can be matched, the BGP VPNv4 route is converted into a BGP private network route, and then a copy is copied to the routing table of the VPN instance.
  • Local crossover means that the routes under a certain VPN instance are copied to other VPN instances according to the matching rules of ERT and IRT (same as remote crossover rules).
  • an embodiment of the present application provides a system architecture 100.
  • the system architecture 100 is an example of a CE dual-homing PE scenario.
  • CE dual-homed access to PE means that the same CE device is connected to two PE devices.
  • the system architecture 100 includes one or more CE devices, multiple PE devices, and one or more P devices.
  • the CE device is the border router of the customer network.
  • the CE device has the route of the customer network of the local site and is connected to the PE router at the same time.
  • CE equipment includes but is not limited to routers, switches, etc.
  • the CE device is, for example, CE1 or CE2 in the system architecture 100.
  • CE2 is dual-homed to PE1 and PE2, and CE2 is dual-homed to PE3 and PE4.
  • the IP address of CE1 is 2.2.2.2
  • the IP address of CE2 is 1.1.1.1.
  • PE equipment is connected with CE equipment of different customers, and VPN instances are used to distinguish different customers.
  • the PE device learns VPN customer private network routing information from the CE directly connected to it through the PE-CE routing protocol. Then, the PE device converts the private network routing information into the VPNv4 prefix through the BGP neighbor relationship. BGP is sent to the remote PE device; at the same time, the PE device also obtains the customer VPN route from the remote PE, and transfers the VPN route to the appropriate directly connected CE device.
  • PE equipment includes but is not limited to routers, switches, etc. Please refer to FIG. 8, the PE device is, for example, PE1, PE2, PE3, or PE4 in the system architecture 100.
  • the P device is the core router device of the service provider and is responsible for fast forwarding data. It is not connected to any customer equipment, and does not participate in any customer routing interaction, nor does it learn any customer routing. P devices include but are not limited to routers, switches, etc. For example, please refer to FIG. 8, the P device is, for example, P1 or P2 in FIG. 8.
  • CE dual-homed PE scenario is only an example of the system architecture of the embodiment of the present application, and the embodiment of the present application can also be applied to the scenario of CE multi-homed access to PE, that is, the CE accesses three or more PEs.
  • CE1 or CE2 in the system architecture 100 will be connected to more PEs.
  • redundancy protection is achieved through anycast redundancy protection scheme or Mirror mirroring protection scheme.
  • the following is a brief introduction to anycast redundancy protection scheme and Mirror mirroring protection scheme.
  • the anycast redundancy protection scheme is usually used in a pair of cross-domain area border routers (ABR) or autonomous system border routers (Autonomous System Boundary Router, ASBR), CE dual-homing to a pair of PE nodes and other scenarios.
  • ABR cross-domain area border routers
  • ASBR Autonomous System Boundary Router
  • CE dual-homing to a pair of PE nodes and other scenarios.
  • the technical means of anycast redundancy protection scheme is to add two or more devices to the same anycast group. Devices in the same anycast group need to be configured with the same locator route to ensure that they are one of the nodes. In the event of a failure, it can quickly switch to another node through anycast FRR.
  • Figure 9 shows the use of anycast technology in a CE dual-homing PE scenario.
  • anycast protection technology needs to be statically designated SRv6 VPN SID to ensure that two PEs publish the same SRv6 VPN SID.
  • routing at the VPN level cannot be guaranteed.
  • there is a traffic bypass problem when the AC side link fails that is, under normal circumstances, the P node prefers the next hop PE1 node to forward. If the AC-side link of PE1 fails, there is a bypassing problem of traffic that first reaches PE1 and then forwards to PE2.
  • the AC side refers to the link connecting PE and CE.
  • the AC side link can be a physical link or a logical link.
  • the Mirror mirroring protection scheme refers to the redundant protection of the tail node by configuring Mirror mirroring protection.
  • Mirror mirroring protection is used in the CE dual-homing PE scenario.
  • the mirror SID mirroring protection strategy is configured on the tail node of the dual-homing PE (that is, the PE2 device configured with the dual-homing PE is used to protect the PE1 device. After the PE1 device fails, The traffic is directly forwarded from P1 to PE2) and advertised to the directly connected node P1 of PE1, thereby forming mirror FRR protection at the P1 node.
  • Figure 10 shows the use of Mirror protection in a CE dual-homing PE scenario.
  • the Mirror mirroring protection scheme has the following problems:
  • the embodiment of this application provides a method for implementing redundancy protection using SRv6 multi-segment routing.
  • SRv6 multi-segment prefix locator
  • anycast Each node in the group allocates its own locator under the locator of the low network segment prefix, which can realize the redundancy protection mechanism between different nodes in the anycast group and increase the robustness of the network.
  • this method can effectively avoid the shortcomings of the current anycast and Mirror solutions, and achieve more flexible network guarantees.
  • locator is a term in the SRv6 technology.
  • the positioning information is translated as locator.
  • the term locator will be used for description.
  • Embodiments 1 to Embodiment 5 exemplarily introduces how to implement redundancy protection through a locator with a low network segment prefix.
  • the first embodiment embodies the logic of the control plane, focusing on how to release the locator.
  • Embodiments 2 to 5 embody the logic of the data plane, focusing on how to use the locator to forward packets.
  • FIG. 11 is a flowchart of a method for publishing routing information according to an embodiment of the present application.
  • the interaction body of the method includes a first device, a second device, and a third device.
  • the first embodiment is suitable for scenarios where CE dual-homing to PE or CE multi-homing to PE.
  • the first device is a first PE device
  • the second device is a second PE device
  • the third device is a P device.
  • the first PE device and the second PE device are two PE devices dual-homed to the CE device.
  • the first PE device is PE3 in FIG. 12
  • the second PE device is PE2 in the system architecture 100
  • the third device is P1 in the system architecture 100.
  • the first PE device is PE2 in the system architecture 100
  • the second PE device is PE3 in the system architecture 100
  • the third device is P1 in the system architecture 100.
  • the first embodiment includes the following S101 to S105.
  • the first device obtains a first locator and a second locator.
  • the anycast group includes the first device and the second device as an example.
  • the locator used to locate the first device is called the first locator, which will be used to locate any locator.
  • the locator of the broadcast group is called the second locator, and the locator used to locate the second device is called the third locator.
  • the first locator is issued by the first device.
  • the third locator is issued by the second device.
  • the second locator is jointly issued by the first device and the second device.
  • the first locator is used to indicate the address of the first device, and the address of the first device is located within the range of the network segment corresponding to the first locator.
  • the network segment range corresponding to the first locator is within the network segment range corresponding to the second locator.
  • the length of the first locator is 64 bits, that is, the prefix length of the first locator is 64 bits.
  • the first device is PE2
  • the first locator is the locator of PE2
  • the locator of PE2 is 2013:0000:0000:0002::/64.
  • the first device dynamically generates the VPN SID according to the first locator.
  • How to dynamically generate a VPN SID includes multiple implementation methods.
  • the essence of the first locator is an IPv6 network segment, and the first device allocates an IPv6 address under the IPv6 network segment, and uses the IPv6 address as the VPN SID.
  • the locator of the VPN SID is the first locator.
  • the VPN SID is, for example, End.DT4.SID.
  • PE2 is configured with a locator with a high network segment prefix, for example, 2013:0000:0000:0002::/64 is configured.
  • PE2 is assigned the IPv6 address 2013:0:0:2::100/128 under 2013:0:0:2::100/128 under 2013:0:0:2::/64, and 2013:0:0:2::100/128 is regarded as the local End of PE2 .DT4.SID, thus realizing the function of dynamically generating End.DT4.SID.
  • the first device can automatically generate a VPN SID by assigning an IPv6 address under its own high network segment prefix, thus supporting the dynamic generation of the VPN SID and getting rid of the tedious operation of manually configuring the VPN SID by the user.
  • the efficiency of deploying VPN SID is improved, and since the harsh restriction of manually specifying the VPN SID is eliminated, the IPv6 address under the first locator can be flexibly allocated as the VPN SID, thus improving the flexibility of deploying VPN SID.
  • the first device saves the VPN SID in the local SID table, and the first device advertises the VPN SID through the routing protocol.
  • the anycast group includes a first device and a second device, and the first device and the second device can be understood as two members of the anycast group.
  • the anycast group consists of two devices, the first device and the second device, or the anycast group includes other devices except the first device and the second device.
  • the anycast group includes each PE device that is accessed by the same CE device.
  • the anycast group is configured as a redundant protection group, and different devices in the anycast group protect each other.
  • traffic can be switched to other devices in the anycast group.
  • the first device and the second device in an anycast group protect each other.
  • the first device and the second device protect each other.
  • the first device fails, the second device replaces the first device in the failed state to forward packets .
  • the first device replaces the second device in the failed state to forward the message.
  • each device in the anycast group is configured with the same low network segment prefix locator (such as the second locator in this embodiment), and each device in the anycast group is based on the low network segment
  • the prefix locator advertises the same anycast locator route (such as the anycast routing information in this embodiment), so that the locator with a low network segment prefix is used to implement redundancy protection between different devices in the anycast group.
  • the second locator is used to indicate the anycast address of the anycast group.
  • the length of the second locator is 63 bits, that is, the prefix length of the second locator is 63.
  • the anycast group includes PE2 and PE3
  • the second locator is the locator of the anycast group on PE2 and PE3
  • the second locator is 2013.0000:0000:0002::/63
  • the first device’s The address and the address of the second device are located within the network segment range corresponding to the second locator.
  • the relationship between the first locator and the second locator is exemplified below.
  • the relationship between the first locator and the second locator is an example of the relationship between the anycast locator of two PEs and the locator of one PE itself.
  • the prefix length of the second locator is smaller than the prefix length of the first locator.
  • the second locator is a locator with a low network segment prefix
  • the first locator is a locator with a high network segment prefix.
  • the second locator is a shorter locator
  • the first locator is a longer locator.
  • the second locator can include the first locator.
  • the network segment range corresponding to the second locator includes the network segment range corresponding to the first locator.
  • the second locator is a locator with a larger range, and the second locator can cover relatively more IPv6 addresses, while the first locator is a locator with a smaller range, which can be covered by the first locator.
  • IPv6 addresses There are relatively few IPv6 addresses.
  • the second locator is 2013:0000:0000:0002::/63
  • the first locator is 2013:0000:0000:0002::/64
  • 2013:0000:0000:0002::/63 contains 2013:0000: 0000:0002::/64.
  • the second locator has the same high-order bits as the first locator.
  • the prefix length of the first locator is M bits
  • the first N bits of the first locator are the same as the first N bits of the second locator.
  • the prefix length of the second locator is N bits
  • the prefix length difference between the first locator and the second locator is (MN) bits.
  • N bits it also includes the remaining (MN) bits.
  • the (MN) bits are not the part of the second locator. Different values of the (MN) bits can be used to distinguish different devices in the anycast group. Among them, N and M are integers. N is less than M.
  • the locator of PE2 is 2013:0000:0000:0002::/64, and the last digit of 2013:0000:0000:0002::/64 is removed, that is, 2013:0000:0000:0002 is removed
  • the 64th bit of ::/64 you will get 63 bits, that is, 2013.0000:0000:0002::/63.
  • a simple and flexible implementation method is provided for the locator of anycast group. For example, in the scenario where CE is dual-homed to PE, remove the last digit of each locator of PE to obtain two PEs. The locator of the anycast group makes the locator planning of the anycast group simpler and highly feasible.
  • the first device generates the first locator and the second locator.
  • the user performs a configuration operation on the first device, and the first device obtains the first locator and the second locator according to the configuration operation of the user. This embodiment does not limit whether the locator is manually configured or generated by a machine.
  • the first device publishes the routing information of the first network segment and the anycast routing information of the anycast group.
  • the network segment routing information is referred to as a locator network segment route
  • the first network segment routing information is referred to as a locator network segment route corresponding to the first locator.
  • a locator network segment route will be generated, and the device can be located through the locator network segment route.
  • all SIDs issued by the device can also pass through the locator network. Segment routing arrives.
  • the first device after the first device obtains the first locator, it will generate the first network segment routing information according to the first locator, and by publishing the first network segment routing information, other devices can locate through the first network segment routing information To the first device, the SID issued by the first device can be reached through the routing information of the first network segment at the same time.
  • the destination address of the routing information of the first network segment includes the first locator.
  • anycast routing information is called anycast routing.
  • the first device obtains the second locator, it generates anycast routing information according to the second locator, and by publishing the anycast routing information, other devices can locate the anycast group through the anycast routing information.
  • the destination address of the anycast routing information includes the second locator.
  • this embodiment does not limit the timing of publishing the routing information of the first network segment and publishing the anycast routing information.
  • the routing information of the first network segment may be released first, and then the anycast routing information; or the anycast routing information may be released first, and then the routing information of the first network segment may be released. In other embodiments, the routing information of the first network segment and the anycast routing information may be released at the same time.
  • the first device publishes the second locator and flag fields, and indicates that the second locator belongs to anycast routing information through the value of the flag field.
  • the Intermediate System-to-Intermediate System Intermediate System-to-Intermediate System, Intermediate System-to-Intermediate System, ISIS
  • ISIS Intermediate System-to-Intermediate System
  • Three bits are defined in Attribute Flags, and a new bit is added to define the currently advertised IPv6 prefix as anycast route.
  • Figure 13 is an example of publishing anycast routing information.
  • the prefix attribute flag field includes a flag bit X, a flag bit R, and a flag bit N, and a new flag bit A is added.
  • the flag bit A is used to identify the IPv6 prefix (second locator) as the locator of the anycast group.
  • OSPF Open Shortest Path First
  • the second device obtains the first locator and the third locator.
  • the third locator is used to indicate the address of the second device, and the address of the second device is located within the network segment range corresponding to the third locator.
  • the network segment range corresponding to the third locator is within the network segment range corresponding to the second locator.
  • the length of the third locator is 64 bits, that is, the prefix length of the third locator is 64 bits.
  • the second device is PE3, and the third locator is the locator of PE3, that is, 2013: 0000:0000:0003::/64.
  • the second device dynamically generates the VPN SID according to the third locator.
  • How to dynamically generate a VPN SID includes multiple implementation methods.
  • the essence of the third locator is an IPv6 network segment
  • the second device allocates an IPv6 address under the IPv6 network segment, and uses the IPv6 address as the VPN SID.
  • the locator of the VPN SID is the third locator.
  • the VPN SID is, for example, End.DT4.SID.
  • PE3 is configured with a locator with a high network segment prefix, for example, 2013:0000:0000:0003::/64 is configured.
  • PE3 was assigned an IPv6 address 2013:0:0:3::100 under 2013:0:0:3::/64, and 2013:0:0:3::100 was used as the local End.DT4.SID of PE3 , So as to realize the function of dynamically generating End.DT4.SID.
  • the second device can automatically generate the VPN SID by assigning an IPv6 address under its own high network segment prefix, thus supporting the dynamic generation of the VPN SID and getting rid of the tedious operation of manually configuring the VPN SID by the user.
  • the efficiency of deploying VPN SID is improved, and since the harsh restriction of manually specifying the VPN SID is eliminated, the IPv6 address under the third locator can be flexibly allocated as the VPN SID, thus improving the flexibility of deploying VPN SID.
  • the second device saves the VPN SID in the local SID table, and the second device advertises the VPN SID through the routing protocol.
  • the VPN SID issued by the first device and the VPN SID issued by the second device may be different, the VPN SID issued by the first device includes the first locator, and the VPN SID issued by the second device includes the third locator.
  • PE2 allocates VPN SID under 2013: 0000:0000:0002::/64, and publishes the allocated VPN SID
  • PE3 allocates VPN SID under 2013: 0000:0000:0003::/64, and publishes the allocation VPN SID
  • the VPN SID issued by PE2 is different from the VPN SID distributed by PE3.
  • the prefix length of the second locator is smaller than the prefix length of the third locator.
  • the second locator is the locator of the low network segment prefix
  • the third locator is the locator of the high network segment prefix.
  • the second locator is the shorter locator
  • the third locator is the longer locator.
  • the second locator can include the third locator.
  • the network segment range corresponding to the second locator includes the network segment range corresponding to the third locator.
  • the second locator is a locator with a larger range
  • the second locator can cover relatively more IPv6 addresses
  • the third locator is a locator with a smaller range, which can be covered by the third locator
  • the second locator is 2013:0000:0000:0002::/63
  • the third locator is 2013:0000:0000:0003::/64
  • 2013:0000:0000:0002::/63 contains 2013:0000: 0000:0003::/64.
  • the high-order bits of the second locator and the third locator are the same.
  • the prefix length of the third locator is M bits
  • the first N bits of the third locator are the same as the first N bits of the second locator.
  • the length of the second locator is N bits
  • the length difference between the third locator and the second locator is (MN) bits, that is, the third locator except for the first N bits that are the same as the second locator
  • it also includes the remaining (MN) bits.
  • the (MN) bits are not part of the second locator. Different values of the (MN) bits can be used to distinguish different devices in the anycast group. Among them, N and M are integers. N is less than M.
  • the locator of PE3 is 2013:0000:0000:0003::/64, removing the last digit of 2013:0000:0000:0003::/64, that is, removing 2013:0000:0000:0003
  • the 64th bit of ::/64 you will get 63 bits, that is, 2013.0000:0000:0002::/63.
  • a simple and flexible implementation method is provided for the locator of anycast group. For example, in the scenario where CE is dual-homed to PE, remove the last digit of each locator of PE to obtain two PEs.
  • the locator of the anycast group makes the locator planning of the anycast group simpler and highly feasible.
  • the relationship between the first locator and the second locator is an example of the relationship between the respective locators of the two PEs.
  • the prefix length of the third locator is equal to the prefix length of the first locator.
  • the first locator and the third locator are the same length, for example, the first locator and the third locator are both 64 bits.
  • the third locator has the same high-order bits as the first locator.
  • the prefix length of the first locator is M bits
  • the prefix length of the third locator is also M bits
  • the first N bits of the first locator are the same as the first N bits of the third locator.
  • the first N bits of the first locator and the first N bits of the third locator are both the second locator.
  • the (M-N) bit at the end of the third locator is different from the (M-N) bit at the end of the first locator.
  • How much shorter the second locator is than the first locator or the third locator includes many situations.
  • the length difference between the locator of the anycast group and the locator of the device in the anycast group includes many situations.
  • the following is an example to illustrate through implementation manner one to implementation manner two.
  • the prefix length of the second locator is 1 less than the prefix length of the first locator, and the prefix length of the second locator is 1 less than the prefix length of the third locator.
  • the second locator is 1 bit shorter than the first locator and the third locator.
  • the length of the second locator is 63 bits, and the length of the first locator and the third locator are 64 bits. Compared with the three, the second locator is 1 bit shorter.
  • the last bit of the first locator is different from the last bit of the third locator, the other bits except the last bit in the first locator and the other bits except the last bit in the third locator Similarly, the first locator and the third locator can be distinguished by the value of the last bit of the two locators. For example, both the first locator and the third locator are 64 bits. The first 63 bits of the first locator are the same as the first 63 bits of the third locator, and the 64th bit of the first locator is different from the 64th bit of the third locator.
  • the locator of PE2 is 2013:0000:0000:0002::/64
  • the locator of PE3 is 2013:0000:0000:0003::/64
  • the 64th bit of one of the two locators It is 0, the 64th bit of another locator is is 1, and the first 63 bits of the two locators are the same.
  • Implementation mode one is suitable for scenarios where two devices in an anycast group protect each other, such as a scenario where CE is dual-homed to PE.
  • different locators can be allocated to the two devices within the scope of the second locator. For example, configure the high bits of the locator of two devices to be the same, configure the last bit of the locator of one device to 1, and configure the last bit of the locator of the other device to 0, so that the locators of the two devices pass It distinguishes whether the last bit is 1 or 0.
  • the prefix length of the second locator is 2 less than the prefix length of the first locator, and the prefix length of the second locator is 2 less than the prefix length of the third locator.
  • the second locator is 2 bits shorter than the first locator and the third locator.
  • the length of the second locator is 62 bits, and the length of the first locator and the third locator are 64 bits.
  • the second locator is 2 bits shorter.
  • the last 2 bits of the first locator are different from the last 2 bits of the third locator.
  • the other bits except the last 2 bits in the first locator and the third locator except the last 2 bits are different.
  • the other bits are the same, and the first locator and the third locator can be distinguished by the value of the last 2 bits of the two locators.
  • Implementation mode 2 is suitable for scenarios where three or four devices in an anycast group protect each other, such as a scenario where CE is multi-homed to PE.
  • different locators can be allocated to the two devices within the scope of the second locator. For example, configure the high bits of the locator of four devices to be the same, and configure the last 2 bits of the locator of device 1 to 00, configure the last 2 bits of the locator of device 2 to 01, and set the locator of device 3
  • the last 2 bits are configured as 10, and the last 2 bits of the locator of device 4 are configured as 11, so that the locators of 4 devices are distinguished by the value of the last 2 bits.
  • the prefix length of the second locator is less than the prefix length of the first locator or the third locator by 3 or more values.
  • the anycast group includes devices other than the first device and the second device, and the second locator includes a locator that locates the other device.
  • the anycast group includes P devices, each of the P devices allocates its own locator within the range of the second locator, so as to realize the redundancy protection of the P devices.
  • P is a positive integer greater than or equal to 2.
  • the second device publishes the routing information of the second network segment and the anycast routing information of the anycast group.
  • the network segment routing information is referred to as a locator network segment route
  • the second network segment routing information is referred to as a locator network segment route corresponding to the third locator.
  • the second device After the second device obtains the third locator, it will generate the second network segment routing information according to the third locator.
  • the SID issued by the second device can be reached through the routing information of the second network segment at the same time.
  • the destination address of the routing information of the second network segment includes the third locator.
  • S104 is the same as S102, please refer to S102 for technical details.
  • the third device receives the first network segment routing information released by the first device, the second network segment routing information released by the second device, and the anycast routing information of the anycast group released by the first device and the second device, and locally The routing information stores the routing information of the first network segment, the routing information of the second network segment, and the anycast routing information of the anycast group.
  • the local routing information is, for example, a routing and forwarding table saved by the third device, such as an IPv6 routing and forwarding table.
  • the local routing information includes one or more routing entries, and each routing entry includes at least one of a destination address, an outgoing interface, a next hop, and a cost.
  • the routing information of the first network segment, the routing information of the second network segment, and the anycast routing information of the anycast group may be three routing entries in the local routing information.
  • the routing table of P1 saves the network segment routing information of PE2, the network segment routing information of PE3, and the anycast routing information of the anycast group.
  • P1 and PE3 are normal, when P1 receives the message sent to PE2, P1 will match the network segment routing information of PE2 according to the destination address of the message.
  • P1 receives the message sent to PE3, P1 According to the destination address of the message, the network segment routing information to PE3 will be matched.
  • PE2 fails, when P1 receives a message sent to PE2, P1 will match the anycast routing information of the anycast group according to the destination address of the message, and then P1 will report according to the anycast routing information of the anycast group.
  • the document is forwarded to PE3.
  • P1 receives a message sent to PE3
  • P1 will match the anycast routing information of the anycast group according to the destination address of the message, and then P1 will report according to the anycast routing information of the anycast group.
  • the document is forwarded to PE2.
  • the method provided in this embodiment provides multiple locators with different prefix lengths.
  • the locator with a low network segment prefix is used as the locator to locate the anycast group. Within the network segment range of the locator with the low network segment prefix, it is the anycast group.
  • Each device in the group is allocated a locator with a high network segment prefix, and the locator with a high network segment prefix of each device is used as a locator to locate the corresponding device.
  • the locator if a device in the anycast group fails, the locator with a low network segment prefix can divert traffic to other devices in the anycast group that have not failed, and other devices replace the failed device to forward the traffic, thereby achieving redundancy
  • different devices in the anycast group get rid of the strict restriction that the configured VPN SID must be the same, and can support the dynamic generation of VPN SIDs.
  • Different devices in the anycast group can be locator in their respective high network segment prefixes.
  • Different VPN SIDs are dynamically generated under the system, thereby reducing the constraints on network planning, reducing the difficulty of network deployment, improving the flexibility of issuing VPN SIDs, helping to avoid problems that affect VPN convergence, and solving the problem of traffic bypass . Therefore, through this method, the robustness of the network can be increased, and a more flexible network guarantee can be realized.
  • the first embodiment above introduces the process of publishing locators.
  • locators with different prefix lengths can be stored in the local routing information of the device.
  • the following uses Embodiment 2 to Embodiment 5 to illustrate the process of packet forwarding based on the locator.
  • the message forwarded in the second to the fifth embodiment is an SRv6 message
  • the format of the message forwarded in the second to the fifth embodiment refers to the introduction to the SRv6 message above.
  • the forwarding process in Example 2 to Example 5 is implemented based on the SRv6 technology.
  • SRv6 please refer to the introduction to the SRv6 technology above.
  • Embodiment 2 and Embodiment 3 describe the scenario where the first device and the second device do not fail.
  • the second embodiment and the third embodiment are about how to use the published locator to forward the message when the device in the anycast group does not fail.
  • the second embodiment a scenario in which the third device forwards a message to the first device is taken as an example for description.
  • the second embodiment describes how to use the first locator pre-published by the first device to forward the message to the first device. It should be understood that, for the steps of the second embodiment and the embodiment, please refer to the first embodiment, which will not be repeated in the second embodiment.
  • FIG. 14 is a flowchart of a method for forwarding a message according to an embodiment of the present application.
  • the interaction body of the method includes a first device, a second device, and a third device.
  • the second embodiment includes S201 to S205.
  • the third device receives the message.
  • the destination address of the message in S201 includes the first locator.
  • the message received by the third device is an SRv6 message.
  • the SRv6 message includes an outer IPv6 header.
  • the outer IPv6 header includes a DA field.
  • the value of the DA field is SID, which is The local SID of the first device.
  • the SID is pre-published by the first device.
  • the SID may be a VPN SID dynamically generated by the first device.
  • the locator of this SID is the first locator.
  • the third device queries the local routing information for the routing information that has the longest match with the destination address of the message, and obtains routing information for the first network segment.
  • the local routing information of the third device will save the routing information of the high network segment prefix and the routing information of the low network segment prefix, where the routing information of the high network segment prefix includes the For the first network segment routing information for locating to the first device and the second network segment routing information for locating to the second device, the routing information of the low network segment prefix is anycast routing information for locating to the anycast group.
  • the third device When the third device receives a message to be sent to the first device, the third device queries the local routing information, and matches the destination address of the message with each routing entry in the local routing information. In the matching process, the third device determines that the routing information of the first network segment matches the destination address of the message, and the anycast routing information also matches the destination address of the message. In the case where the two routing entries of the first network segment routing information and anycast routing information match, since the first network segment routing information and anycast routing information, the network prefix of the first network segment routing information is longer, so The routing information of the first network segment is the routing information that has the longest match with the destination address. Then, according to the longest matching principle, the third device will select the first network segment routing information from the first network segment routing information and the anycast routing information as the matching entry for the destination address of the message.
  • the routing table of P1 is shown in Table 2 below.
  • Table 2 shows the routing information of the first network segment and anycast routing information.
  • the routing information of the second network segment is not shown in Table 1. out.
  • the first network segment information is, for example, routing information to the PE2 with a prefix length of 64 bits
  • the anycast routing information is, for example, routing information to the anycast group with a prefix length of 63 bits.
  • P1 If PE2 is normal and P1 receives the message, P1 reads the DA field of the message and determines that the value of the DA field is 2013:0:0:2::100/128, and then 2013:0:0: 2::100/128 is matched with each routing information contained in Table 2, and it will hit the 64-bit routing information to PE2, that is, it will hit the table entry where 20130000:0000:0002::/64 is located. Then P1 forwards the packet according to the entry where the entry is located at 2013:00:0000:0002::/64. Specifically, P1 decrements the value of the SL field so that the value of the SL field changes from 1 to 0.
  • P1 Since SL is decremented to 0, P1 will pop up the SRH extension header, and P1 will modify the value of the DA field of the outer IPv6 so that the value of the DA field is updated to the SRv6 End.DT4 SID allocated by the PE2 node for the VRF. Then, the message is forwarded to the PE2 node along the shortest path P1->PE2.
  • the outgoing interface and next hop in the anycast routing information saved by the third device may include multiple situations. Specifically, there may be multiple paths from the third device to the anycast group. For example, if the anycast group includes N devices, there may be one or the other between the third device and each of the N devices. Multiple paths.
  • the third device can determine the cost value of each path to the anycast group, select the path with the smallest cost value from each path to the anycast group, and use the next hop corresponding to the path with the smallest cost value as the anycast route The next hop in the information uses the outgoing interface corresponding to the path with the smallest cost value as the outgoing interface in the anycast routing information.
  • the anycast group includes PE2 and PE3.
  • the cost of the path P1 ⁇ PE2 The value is 10.
  • the other path is P1 ⁇ P2 ⁇ PE3, and the cost value of the path P1 ⁇ P2 ⁇ PE3 is 20. Since the cost value of P1 ⁇ PE2 is smaller, the next hop of anycast routing information is PE2, anycast routing The outgoing interface of the information is sent to the outgoing interface of PE2. The next hop in the lower network segment prefix of 2013:00:0000:0002::/63 is PE2, and the outgoing interface is the outgoing interface of P1->PE2.
  • the third device sends a message to the first device according to the routing information of the first network segment.
  • the third device may send the message according to the outgoing interface and the next hop in the routing information of the first network segment, so as to forward the message to the first device.
  • the first device receives the message.
  • the first device sends the message according to the destination address.
  • the first device is the first PE device
  • the destination address of the message is the VPN SID issued by the first PE device
  • the locator of the VPN SID is the first locator
  • the first PE device queries the local SID table according to the destination address ,
  • the destination address is matched with the SID in the local SID table, and the destination address is determined to match the VPN SID, and then the forwarding behavior corresponding to the VPN SID is executed.
  • the destination address of the message is the End.DT4 SID issued by the first PE device.
  • the first PE device decapsulates the message according to the End.DT4 SID, that is, pops the SRH of the message, and obtains the original message.
  • the destination address in, sends a message to the CE device.
  • the method provided in this embodiment provides multiple locators with different prefix lengths.
  • the locator with a low network segment prefix is used as the locator to locate the anycast group. Within the network segment range of the locator with the low network segment prefix, it is the anycast group.
  • Each device in the group is allocated a locator with a high network segment prefix, and the locator with a high network segment prefix of each device is used as a locator to locate the corresponding device.
  • the second embodiment above describes a scenario in which the third device forwards a message to the first device
  • the following embodiment three describes a scenario in which the third device forwards a message to the second device.
  • the third embodiment describes how to use the third locator pre-released by the second device to forward the message to the second device. It should be understood that the steps of the third embodiment and the second embodiment are the same, please refer to the second embodiment, and will not be repeated in the third embodiment.
  • FIG. 15 is a flowchart of a method for forwarding a message according to an embodiment of the present application.
  • the interaction body of the method includes a first device, a second device, and a third device.
  • the third device receives the message.
  • the destination address of the message in S301 includes the third locator.
  • the message received by the third device is an SRv6 message.
  • the SRv6 message includes an outer IPv6 header.
  • the outer IPv6 header includes a DA field.
  • the value of the DA field is SID, which is The local SID of the second device, which is pre-published by the second device.
  • the SID may be a VPN SID dynamically generated by the second device.
  • the locator of this SID is the third locator.
  • the third device queries the local routing information for the routing information that has the longest match with the destination address of the message, and obtains the routing information of the second network segment.
  • the third device sends a packet to the second device according to the routing information of the second network segment.
  • the second device receives the message.
  • the second device sends the message according to the destination address.
  • the method provided in this embodiment provides multiple locators with different prefix lengths.
  • the locator with a low network segment prefix is used as the locator to locate the anycast group. Within the network segment range of the locator with the low network segment prefix, it is the anycast group.
  • Each device in the group is allocated a locator with a high network segment prefix, and the locator with a high network segment prefix of each device is used as a locator to locate the corresponding device.
  • Embodiment 2 and Embodiment 3 describe the flow forwarding process when the devices in the anycast group do not fail.
  • Embodiment 4 and Embodiment 5 describe scenarios in which the devices in the anycast group fail.
  • the fourth and fifth embodiments are about how to protect the normal forwarding of traffic after the device in the anycast group fails. It should be understood that the steps of the fourth embodiment and the fifth embodiment are similar to those of the embodiment, please refer to the first embodiment, and will not be repeated in the fourth and fifth embodiments.
  • the fourth embodiment below describes a scenario where the first device fails.
  • the fourth embodiment is about how to avoid traffic loss after the first device fails, so as to realize the redundant protection of the first device.
  • FIG. 16 is a flowchart of a method for forwarding a message according to an embodiment of the present application.
  • the interaction body of the method includes a second device and a third device.
  • the fourth embodiment includes the following S401 to S407.
  • the third device determines that the first device has a fault.
  • the third device determines that the first device has a node failure. For another example, the third device determines that the link to the first device has a failure. This embodiment does not limit whether the failure is a node failure or a link failure.
  • the third device deletes the routing information of the first network segment published by the first device from the local routing information.
  • the third device After the first device fails, the third device will perform route convergence. In the process of route convergence, the third device will delete the first network segment routing information, so that the local routing information no longer saves the first network segment routing information, and the local The routing information still saves anycast routing information. In other words, after the route convergence of the third device, the local routing information does not have the routing information used to locate the high-segment prefix of the first device, but still includes anycast routing information of the low-segment prefix.
  • P1 will delete the locator route to PE2 during the route convergence process of P1.
  • the P1 node deleted the 64-bit 2013:0000:0000:0002::/64 route published by the PE2 node. After that, there is no 64-bit locator route in the routing table, but there is still a 63-bit locator. routing.
  • the third device updates anycast routing information. For example, during the route convergence process, the third device updates the next hop of anycast routing information from the first device to the second device, and updates the outgoing interface of the anycast routing information from the outgoing interface for sending to the first device. It is the outgoing interface for sending to the second device.
  • the third device receives the message.
  • the message forwarded in the fourth embodiment is, for example, an SRv6 message.
  • the destination address of the message includes the first locator, and the first locator is used to indicate the address of the first device.
  • the first device is the first PE device
  • the destination address of the message is the VPN SID issued by the first PE device
  • the locator of the VPN SID is the first locator.
  • the destination address of the message received by P1 is the VPN SID issued by PE2
  • the locator of the VPN SID is the 64-bit locator issued by PE2.
  • the third device queries the local routing information for the routing information that has the longest match with the destination address of the message, and obtains the anycast routing information of the anycast group.
  • the third device deletes the routing information of the first network segment, so that the local routing information does not include the routing information of the first network segment, the third device queries the local routing information according to the longest match principle, and will not match the routing information of the first network segment. , And the anycast routing information is matched, and the third device forwards the message to the second device according to the anycast routing information, so as to ensure the normal progress of the forwarding process.
  • P1 receives the message, and the value of the DA field of the message is the VPN SID issued by PE2, such as 2013:0:0:2::100/128, because P1 has been removed from the routing table Deleted the 64-bit route 2013:0000:0000:0002::/64 published by the PE2 node.
  • P1 queries the routing table according to the longest match principle, and matches 2013:0:0:2::100/128 with the route Each entry in the table is matched separately, and it will match the route 2013:0000:0000:0002::/63 issued by PE3, and send the packet to the PE3 node through the P->P2->PE3 path to ensure the forwarding process Work properly.
  • the third device sends a message to the second device according to the anycast routing information.
  • S406 The second device receives the message.
  • S407 The second device sends the message according to the destination address of the message.
  • the first device is a first PE device
  • the second PE device is a second PE device
  • the first PE device and the second PE device are dual-homed to the CE device.
  • the first PE device can learn private network routing information from the CE device, and the first PE device sends the CE device's private network routing information to the second PE device.
  • the private network routing information includes the VPN SID.
  • the second PE device will receive the private network routing information, and store the VPN SID in the local routing information of the second PE device. After the first PE device fails, if the second PE device receives a message and the destination address of the message includes the VPN SID, the second PE device can send to the CE device according to the VPN SID and the private network routing information of the CE device Message.
  • the VPN SID is the local SID of the first PE device, and the VPN SID includes the first locator.
  • the VPN SID is not a local SID of the second PE device.
  • the VPN SID is recorded as a remote SID (remote SID) on the second PE device.
  • the remote SID is a concept opposite to the local SID (local SID).
  • the locator of the remote SID is used to locate the remote device.
  • the remote SID is released by the remote device.
  • the remote SID can be pre-configured on the remote device. .
  • the VPN SID includes the locator of the 64-bit high network segment prefix issued by PE2. After PE2 sends 2013:0:0:2::100 to PE3 by means of remote crossover, PE3 will also save 2013:0:0:2::100.
  • PE3 is not a local SID, but a remote SID.
  • 2013:0:0:3:200 is the local VPN SID of PE3, and the VPN SID includes the 64 bits issued by PE3 The locator of the high network segment prefix. After PE3 sends 2013:0:0:3::200 to PE2 by means of remote crossover, PE2 will also save 2013:0:0:3::200. But 2013:0:0:3::200 is not a local SID for PE2, but a remote SID.
  • the VPN SID is, for example, End.DT4 SID.
  • the VPN SID is used to send a message to the CE device, and the private network routing information may also include RD (Route Distinguisher) attributes, RT (Route Target) attributes, and next hop.
  • the private network routing information includes at least one of IPv4 routing information and IPv6 routing information.
  • the first PE device sends the private network routing information of the CE device includes multiple implementation methods.
  • the first PE device sends the private network routing information in a remote cross mode. Specifically, the first PE device establishes a BGP neighbor relationship with the second PE device. The first PE device will read the private network routing information from the local VPN instance routing table; the first PE device will convert the private network routing information into BGP VPN Routing: The first PE device advertises BGP VPN routes to the second PE device through the BGP neighbor relationship.
  • the second PE device uses a remote crossover method to copy the private network routing information sent by the first PE device to the VPN instance routing table.
  • the VPN instance routing table of the second PE device includes main routing information and backup routing information.
  • the main routing information is the routing information learned by the second PE device from the CE device, and the backup routing information is the private network sent by the first PE device. Routing information.
  • How the second PE device saves the VPN SID sent by the first PE device includes multiple implementation methods.
  • the following is an example of implementation manner a to implementation manner b.
  • the second PE device stores the VPN SID sent by the first PE device in the local SID table.
  • the local SID table includes a remote tag.
  • the remote tag is used to distinguish between the local SID and the remote SID.
  • the remote tag is, for example, an R tag.
  • the value of the remote tag corresponding to the remote SID in the local SID table is different from the value of the remote tag of the local SID. For example, the remote flag corresponding to the remote SID is set, and the remote flag of the local SID is not set.
  • the second PE device may not only save the VPN SID in the local SID table, but also set the remote flag corresponding to the VPN SID, thereby identifying that the VPN SID is a remote SID.
  • the second PE device stores the VPN SID sent by the first PE device in the remote SID table.
  • the remote SID table is different from the local SID table.
  • the remote SID table is used to store the remote SID.
  • the remote SID table is a routing table specifically used to store the remote SID, and the remote SID table does not include the local SID of the second PE device.
  • How the second PE device forwards the message to the CE device includes multiple implementation methods. The following is an example of implementation I to II.
  • Implementation method I Forward the message by querying the local SID table.
  • the second PE device When the first PE device fails, after the second PE device receives the packet whose destination address includes the VPN SID, the second PE device queries the local SID table according to the VPN SID, and if the VPN SID matches the remote SID in the local SID table , The second PE device sends a message to the CE device according to the remote SID.
  • the second PE device when the first PE device sends the RT attribute, RD attribute, and next hop based on the SRv6 VPN SID to the second PE device in a remote cross mode, the second PE device sends the SRv6 VPN SID to the second PE device.
  • the SID is interleaved with the local SID table or FIB table.
  • the second PE device sets the remote flag, and establishes an association relationship between the remote SRv6 VPN SID and the ID of the local private network routing table crossed to.
  • the crossed local private network routing table stores the first The private network route sent by the PE device in a remote cross mode.
  • the second PE device When the first PE device fails and a message to be sent to the first PE device is sent to the second PE device, the second PE device queries the local SID table or FIB table according to the destination address of the message, and the second PE device determines The destination address hits the remote SRv6 VPN SID, and recognizes that the SID type is End.DT4, and the second PE device executes the action corresponding to End.DT4, thereby realizing packet forwarding.
  • Implementation method II Forward the message by querying the remote SID table.
  • the second PE device When the first PE device fails, after the second PE device receives the packet whose destination address includes the VPN SID, the second PE device queries the remote SID table according to the VPN SID. If the VPN SID hits the remote SID table, The terminal SID sends a message to the CE device according to the remote SID, and the remote SID table is used to store the remote SID.
  • the second PE device when the first PE device sends the RT attribute, RD attribute, and next hop based on SRv6 VPN SID to the second PE device in a remote cross mode, the second PE device is at the remote end.
  • the SID table stores the remote cross-over SRv6 VPN SID, and at the same time establishes an association relationship between the remote SRv6 VPN SID and the ID of the local private network routing table crossed to; when the first PE device fails, it will be sent to the first PE
  • the second PE device queries the local SID table or FIB table according to the destination address of the packet, and determines that the destination address does not match the local SID table and FIB table, then the second PE device continues Query the remote SID table, determine that the destination address hits the SRv6 VPN SID in the remote SID table, and identify the SID type as End.DT4, and the second PE device executes the action corresponding to End.DT4, thereby realizing packet forwarding.
  • first querying the local SID table or FIB table and then querying the remote SID table is an example.
  • the second PE device can also query the remote SID table first. If the remote SID table is missed, it will query the local SID table or FIB table.
  • the embodiment does not limit the time sequence of querying the local SID table and the remote SID table.
  • the action corresponding to the execution of End.DT4 includes: the second PE device pops the outer IPV6 header from the message, reveals the original message, searches the VPN instance routing table according to the destination address of the original message, and according to the VPN instance The outbound interface and the next hop that are hit in the routing table send packets.
  • the second PE device can find the main routing information and the backup routing information used to reach the CE device, and the second PE device can forward the packet according to the main routing information.
  • PE2 Establish a BGP neighbor relationship with PE3.
  • PE2 converts the private network IPv4 routes in the local VPN instance routing table into BGP VPNv4 routes, and advertises them to PE3 through the BGP neighbor relationship.
  • the BGP VPNv4 route carries the SRv6 VPN SID attribute, which is the End.dt4SID of the VPN instance.
  • the BGP VPNv4 route may also carry RT/RD, next hop, and so on.
  • PE3 After PE3 receives the VPNv4 route, it crosses the VPNv4 route to the local corresponding VPN instance routing table vrf1.
  • the PE3 node In the process of PE3 processing the remote cross route, for the SRv6 VPN SID carried by the remote cross route, in a possible implementation , The PE3 node generates the remote SRv6 VPN SID and VRF index association relationship in the local SID table or FIB. In another possible implementation, PE3 generates a remote SID table, and stores the remote SRv6 VPN SID in the remote SID table. Among them, because the interface between PE3 and CE1 is also bound to VRF1, two active and standby forwarding entries will be formed in the private network routing table.
  • the route learned from CE1 is the main route, and the route sent by BGP is the backup route, and PE3 records the mapping relationship between End.DT4 SID and VPN instance routing table vrf1 in the local FIB table.
  • PE3 queries the FIB table to identify the remote VPN SID crossed by the DA private network route, and PE3 pops off the outer IPv6 packet header to expose the packet The original IPv4 packet, and then PE3 uses the destination address 1.1..1.1 of the IPv4 packet to look up the VPN routing instance table vrf1 to which the End.dt4SID is crossed.
  • PE3 will find two routing table entries to CE1, one route The entry is the main route, and the other routing entry is the backup route.
  • the packet is forwarded to the CE side according to the outgoing interface/next hop found by the main route.
  • the method provided in this embodiment provides multiple locators with different prefix lengths.
  • the locator with a low network segment prefix is used as the locator to locate the anycast group. Within the network segment range of the locator with the low network segment prefix, it is the anycast group.
  • Each device in the group is allocated a locator with a high network segment prefix, and the locator with a high network segment prefix of each device is used as a locator to locate the corresponding device.
  • the locator network released by the failed device after the route is converged The segment route will be deleted, so according to the longest matching rule, it will match the locator of the lower network segment prefix. According to the locator of the lower network segment prefix, the packet will be forwarded to other devices in the anycast group. In this way, the traffic of the faulty device will be diverted to other devices, thereby protecting the normal forwarding of traffic, avoiding the problem of traffic packet loss after route convergence after a fault, and realizing a redundant protection mechanism between multiple devices, increasing the robustness of the network sex.
  • this method can be applied to a network where CE devices are multi-homed to PE devices.
  • Multiple PE devices connected to the same CE device form an anycast group, and the multiple PE devices share the locator of the low network segment prefix, and Configure respective locators for the high network segment prefixes. Then, when a PE device fails, because the destination address will be matched to the locator of the lower network segment prefix, the traffic is forwarded to other PE devices, thereby realizing mutual protection between multiple PE devices.
  • this method breaks the restriction that the VPN SID issued by each device in the anycast group must be the same. Different devices in the anycast group can dynamically generate different VPN SIDs in their respective high network segment prefix locators, and issue different VPN SIDs. VPN SID, which helps VPN convergence.
  • the fourth embodiment above describes the scenario where the first device fails, and the following embodiment five describes the scenario where the second device fails.
  • the fifth embodiment is about how to avoid traffic loss after the second device fails, so as to realize the redundant protection of the second device.
  • FIG. 19 is a flowchart of a method for forwarding a message according to an embodiment of the present application.
  • the interaction body of the method includes a second device and a third device.
  • the fifth embodiment includes the following S501 to S505.
  • the fifth embodiment includes the following S501 to S505.
  • S501 is the same as S401
  • S502 is the same as S402
  • S503 is the same as S403
  • S504 is the same as S404
  • S505 is the same as S405.
  • S501 is the same as S401
  • S502 is the same as S402
  • S503 is the same as S403
  • S504 is the same as S404
  • S505 is the same as S405.
  • the third device determines that the second device has a fault.
  • the third device determines that the second device has a node failure. For another example, the third device determines that the link to the second device has a failure. This embodiment does not limit whether the failure is a node failure or a link failure.
  • the third device deletes the second network segment routing information published by the second device from the local routing information.
  • the third device After the second device fails, the third device will perform route convergence. During the route convergence, the third device will delete the second network segment routing information, so that the local routing information no longer saves the second network segment routing information, and the local The routing information still saves anycast routing information. In other words, after the route of the third device is converged, the local routing information does not have the routing information used to locate the high-segment prefix of the second device, but still includes anycast routing information of the low-segment prefix. For example, refer to Figure 17. During the packet forwarding process, if the link to PE3 fails or the node fails on PE3, P1 will delete the locator route to PE3 during the route convergence process of P1.
  • the third device updates the anycast routing information. For example, during the route convergence process, the third device updates the next hop of anycast routing information from the second device to the first device, and updates the outgoing interface of the anycast routing information from the outgoing interface for sending to the second device. It is the outgoing interface for sending to the first device.
  • S503 The third device receives the message.
  • the message forwarded in the fifth embodiment is, for example, an SRv6 message.
  • the destination address of the message includes a third locator, and the third locator is used to indicate the address of the second device.
  • the second device is the second PE device
  • the destination address of the message is the VPN SID issued by the second PE device
  • the locator of the VPN SID is the third locator.
  • the destination address of the message received by P1 is the VPN SID issued by PE3
  • the locator of the VPN SID is the 64-bit locator issued by PE3.
  • the third device queries the local routing information for the routing information that has the longest match with the destination address of the message, and obtains the anycast routing information of the anycast group.
  • the third device deletes the routing information of the second network segment, so that the local routing information does not include the routing information of the second network segment, the third device queries the local routing information according to the longest match principle, and will not match the routing information of the second network segment. , And the anycast routing information is matched, and the third device forwards the message to the first device according to the anycast routing information, so as to ensure the normal progress of the forwarding process.
  • S505 The third device sends a message to the first device according to the anycast routing information.
  • S506 The first device receives the message.
  • S507 The first device sends the message according to the destination address of the message.
  • the first device is a first PE device
  • the second PE device is a second PE device
  • the first PE device and the second PE device are dual-homed to the CE device.
  • the second PE device can learn private network routing information from the CE device, and the second PE device sends the CE device's private network routing information to the first PE device, and the private network routing information includes the VPN SID.
  • the VPN SID is the local SID of the second PE device.
  • the first PE device will receive the private network routing information, and save the VPN SID in the local routing information of the first PE device.
  • the second PE device fails, if the first PE device receives a message and the destination address of the message includes the VPN SID, the first PE device can send to the CE device according to the VPN SID and the private network routing information of the CE device Message.
  • the method provided in this embodiment provides multiple locators with different prefix lengths.
  • the locator with a low network segment prefix is used as the locator to locate the anycast group. Within the network segment range of the locator with the low network segment prefix, it is the anycast group.
  • Each device in the group is allocated a locator with a high network segment prefix, and the locator with a high network segment prefix of each device is used as a locator to locate the corresponding device.
  • the locator network released by the failed device after the route is converged The segment route will be deleted, so according to the longest matching rule, it will match the locator of the lower network segment prefix. According to the locator of the lower network segment prefix, the packet will be forwarded to other devices in the anycast group. In this way, the traffic of the faulty device will be diverted to other devices, thereby protecting the normal forwarding of traffic, avoiding the problem of traffic packet loss after route convergence after a fault, and realizing a redundant protection mechanism between multiple devices, increasing the robustness of the network sex.
  • this method can be applied to a network where CE devices are multi-homed to PE devices.
  • Multiple PE devices connected to the same CE device form an anycast group, and the multiple PE devices share the locator of the low network segment prefix, and Configure respective locators for the high network segment prefixes. Then, when a PE device fails, because the destination address will be matched to the locator of the lower network segment prefix, the traffic is forwarded to other PE devices, thereby realizing mutual protection between multiple PE devices.
  • this method breaks the restriction that the VPN SID issued by each device in the anycast group must be the same. Different devices in the anycast group can dynamically generate different VPN SIDs in their respective high network segment prefix locators, and issue different VPN SIDs. VPN SID, which helps VPN convergence.
  • the user needs to configure the same locator on the two PEs dual-homed to the CE, and configure the same VPN SID under the locator, then the VPNs of the two PEs The SID must be the same, so that the VPN SID cannot be dynamically generated under the locator.
  • the user must manually configure the VPN SID of the two PEs to the same VPN SID. For example, referring to Figure 9, the user needs to configure the same locator on PE1 and PE2, and configure the same VPN SID under the locator on PE1 and PE2.
  • redundancy protection can already be achieved through the locator of the low network segment prefix, so that PE2 and PE3 get rid of the limitation that the VPN SID must be the same, and PE2 can be in its own high network segment.
  • the VPN SID is automatically generated under the locator of the prefix.
  • PE3 can automatically generate the VPN SID under the locator of its high network segment prefix.
  • each node in the anycast group can be under the locator of its corresponding high network segment prefix.
  • the VPN SID is automatically generated, which solves the problem of static configuration and supports the generation of dynamic SID.
  • PE2 and PE3 are an anycast group in a solution that uses anycast to protect.
  • the VPN SID issued by PE2 and the VPN SID issued by PE3 must be the same.
  • PE2 and PE3 are externally connected to the head-end node PE1.
  • PE1, PE2 and PE3 are equivalent to the same node, so when one of PE2 and PE3 fails, the other node will still send the same information to the head-end node PE1. Therefore, PE1 does not perceive that a node in the anycast group has failed, and the VPN will not converge. Only when all nodes in the anycast group fail, the head-end node PE1 can sense the failure.
  • PE2 can allocate VPN SID and issue VPN SID under its high network segment prefix, and PE3 can assign it under its high network segment prefix.
  • the VPN SID and the VPN SID are issued.
  • the VPN SID issued by PE2 and the VPN SID issued by PE3 can be different.
  • PE1, PE2 and PE3 can establish neighbor relationships. When one of PE2 and PE3 fails, PE1 can disconnect from the faulty node. Use the VPN SID issued by the non-failed node to establish a neighbor relationship with the non-failed node, so as to avoid affecting VPN convergence.
  • the traffic detour is for the failure of the AC side link.
  • the AC side link is, for example, the private network side link from PE1 to CE1 in FIG. 9.
  • PE1 and PE2 seen by the P1 node have the same prefix and the same VPN SID.
  • the P1 node cannot recognize the AC side link failure, and the P1 node will also send traffic to PE1 according to the optimal path.
  • PE1 queries the private network routing information table it will not be queried, and PE1 will The traffic is sent to PE2, and PE2 will send the traffic to CE1, causing a traffic bypass.
  • the traffic bypass will always exist until the fault is restored.
  • the public network traffic that reaches PE1 in a short time will be encapsulated again in the VPN SID crossed by PE2, from PE1->PE2 chain
  • the traffic is forwarded to PE2, and then forwarded to CE1 through PE2.
  • the VPN of the head-end node converges, the traffic will be directly forwarded to PE2 and will no longer pass through PE1, so there will be no more traffic bypass problems.
  • the method for forwarding packets and the method for publishing routing information in the embodiments of the present application are described above.
  • the network device of the embodiments of the present application is described below. It should be understood that the network device has any function of the redundant protection device in the foregoing method.
  • FIG. 20 is a schematic structural diagram of a network device 600 provided by an embodiment of the present application. As shown in FIG. 20, the network device 600 includes: a receiving module 601 for performing S403; a query module 602 for performing S404; and a sending module 603, used to execute S405.
  • the device further includes: a deletion module for performing S402.
  • the device further includes: a saving module, which is also used to execute S105.
  • a saving module which is also used to execute S105.
  • the network device 600 corresponds to the third device in the foregoing method embodiment, and each module in the network device 600 and the foregoing other operations and/or functions are used to implement various steps implemented by the third device in the method embodiment.
  • the network device 600 corresponds to the third device in the foregoing method embodiment, and each module in the network device 600 and the foregoing other operations and/or functions are used to implement various steps implemented by the third device in the method embodiment.
  • the method and method please refer to the above method embodiment. For the sake of brevity, it will not be repeated here.
  • the network device 600 when the network device 600 is performing redundancy protection, only the division of the above-mentioned functional modules is used as an example. In practical applications, the above-mentioned function allocation can be completed by different functional modules as required, that is, the internal structure of the network device 600 Divide into different functional modules to complete all or part of the functions described above.
  • the network device 600 provided in the foregoing embodiment belongs to the same concept as the foregoing redundancy protection method embodiment, and its specific implementation process is detailed in the method embodiment, and will not be repeated here.
  • FIG. 21 is a schematic structural diagram of a network device 700 provided by an embodiment of the present application. As shown in FIG. 21, the network device 700 includes: an acquisition module 701, configured to perform S101; and a publishing module 702, configured to perform S102.
  • the network device 700 further includes: a query module for querying the local SID table or the remote SID table.
  • the network device 700 further includes: a receiving module, configured to perform S301.
  • the network device 700 corresponds to the first device or the second device in the foregoing method embodiment, and each module in the network device 700 and the foregoing other operations and/or functions are used to implement the first device or the second device in the method embodiment, respectively.
  • the various steps and methods implemented by the second device for specific details, please refer to the foregoing method embodiments, and for the sake of brevity, details are not repeated here.
  • the network device 700 In addition, the network device 700 provided in the foregoing embodiment belongs to the same concept as the foregoing redundancy protection method embodiment, and its specific implementation process is detailed in the method embodiment, and will not be repeated here.
  • the foregoing first device, second device, or third device is implemented as a network device, for example, a PE device and a P device are implemented as a network device.
  • the network processor in the network device can execute each step of the foregoing method embodiment.
  • the network device can be a router, a switch, or a firewall, and of course, it can also be other network devices that support the message forwarding function.
  • FIG. 22 is a schematic structural diagram of a network device 800 according to an embodiment of the present application.
  • the network device 800 may be provided as the first device, the second device, or the third device in any one of Embodiment 1 to Embodiment 5 in the foregoing method embodiments.
  • the network device 800 has any function of the first device, the second device, or the third device in any one of the foregoing Embodiment 1 to Embodiment 5.
  • the network device 800 includes a processor, and the processor is configured to execute instructions so that the network device 800 executes the method executed by the first device, the second device, or the third device in Embodiment 1 to Embodiment 5.
  • the network device 800 corresponds to the network device 600.
  • the software of the network device 800 includes functional modules in the network device 600, and each functional module in the network device 600 is implemented by the software of the network device 800.
  • the functional modules included in the network device 600 are generated after the processor of the network device 800 reads the program code stored in the memory.
  • the network device 800 corresponds to the network device 700.
  • the software of the network device 800 includes functional modules in the network device 700, and each functional module in the network device 700 is implemented by the software of the network device 800.
  • the functional modules included in the network device 700 are generated after the processor of the network device 800 reads the program code stored in the memory.
  • the network device 800 may be any node of the system architecture 100 in FIG. 8, for example, it may be PE1, PE2, P1, or P2.
  • the network device 800 includes: a main control board 810, an interface board 830, a switching network board 820, and an interface board 840.
  • the main control board 810 is used to perform functions such as system management, equipment maintenance, and protocol processing.
  • the switching network board 820 is used to complete data exchange between various interface boards (interface boards are also called line cards or service boards).
  • the interface boards 830 and 840 are used to provide various service interfaces (for example, an Ethernet interface, a POS interface, etc.), and implement data packet forwarding.
  • the main control board 810, the interface boards 830 and 840, and the switching network board 820 are connected to the system backplane through the system bus to achieve intercommunication.
  • the central processing unit 831 on the interface board 830 is used to control and manage the interface board and communicate with the central processing unit 811 on the main control board 810.
  • the network processor 832 executes S101 to send the first network segment routing information and the anycast routing information of the anycast group from the physical interface card 833, so that the first network segment routing information and The anycast routing information of the anycast group is published to the network.
  • the physical interface card 833 executes S506 and sends the message to the network processor 832.
  • the network processor 832 queries the forwarding entry memory 534, according to the information such as the outgoing interface, after the link layer encapsulation is completed, the message is sent from the physical interface The card 833 is sent out.
  • the network processor 832 executes S103 to send the second network segment routing information and the anycast routing information of the anycast group from the physical interface card 833, so that the second network segment routing information and The anycast routing information of the anycast group is published to the network.
  • the physical interface card 833 executes S406 and sends the message to the network processor 832. After the network processor 832 queries the forwarding entry memory 534, according to the information such as the outbound interface, after the link layer encapsulation is completed, the message is sent from the physical interface The card 833 is sent out.
  • the physical interface card 833 receives routing information for the first network segment, routing information for the second network segment, and anycast routing information, and sends them to the network processor 832.
  • the network processor 832 forwards the entries
  • the local routing information of the memory 834 stores first network segment routing information, second network segment routing information, and anycast routing information.
  • the network processor 832 deletes the second network segment routing information issued by the second device from the local routing information in the forwarding entry memory 834 in response to the failure of the second device.
  • the physical interface card 833 receives the message, and the network processor 832 queries the local routing information of the forwarding entry memory 834 to obtain anycast routing information. According to the information such as the outgoing interface, after the link layer encapsulation is completed, the message is sent from the physical interface card 833 is sent out, so that the message is transmitted to the first device.
  • the network processor 832 deletes the first network segment routing information issued by the first device from the local routing information in the forwarding entry memory 834 in response to the failure of the first device.
  • the physical interface card 833 receives the message, and the network processor 832 queries the local routing information of the forwarding entry memory 834 to obtain anycast routing information. According to the information such as the outgoing interface, after the link layer encapsulation is completed, the message is sent from the physical interface card 833 is sent out, so that the message is transmitted to the second device.
  • the operations on the interface board 840 in the embodiment of the present application are consistent with the operations on the interface board 830, and will not be repeated for the sake of brevity.
  • the network device 800 in this embodiment may correspond to the first device, the second device, or the third device in each of the foregoing method embodiments.
  • the main control board 810, interface boards 830 and/or 840 in the network device 800 The functions and/or various steps implemented by the first device, the second device, or the third device in each of the foregoing method embodiments can be implemented. For brevity, details are not described herein again.
  • main control boards there may be one or more main control boards, and when there are more than one, it may include the main main control board and the standby main control board.
  • the switching network board may not exist, or there may be one or more. When there are more than one, the load sharing and redundant backup can be realized together. Under the centralized forwarding architecture, the network equipment may not need to switch the network board, and the interface board undertakes the processing function of the business data of the entire system.
  • the network device can have at least one switching network board, and data exchange between multiple interface boards is realized through the switching network board, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of network equipment with a distributed architecture are greater than those with a centralized architecture.
  • the form of the network device may also have only one board, that is, there is no switching network board, and the functions of the interface board and the main control board are integrated on the one board.
  • the central processing unit and the main control board on the interface board The central processing unit on the board can be combined into a central processing unit on the same board to perform the functions of the two superimposed.
  • This type of equipment has low data exchange and processing capabilities (for example, low-end switches or routers and other networks) equipment).
  • the specific architecture used depends on the specific networking deployment scenario, and there is no restriction here.
  • FIG. 23 is a schematic structural diagram of the interface board 830 in the above-mentioned network device shown in FIG. 22 provided by an embodiment of the present application.
  • the interface board 830 may include a physical interface card (PIC) 930, a network processor (NP) 910, and a traffic management module (traffic management) 920.
  • PICC physical interface card
  • NP network processor
  • traffic management traffic management
  • PIC physical interface card (physical interface card), used to realize the docking function of the physical layer, the original traffic enters the interface board of the network device from this, and the processed message is sent from the PIC card.
  • the network processor NP910 is used to implement message forwarding processing.
  • the processing of uplink messages includes: processing of the inbound interface of the message, forwarding table lookup (as in the above embodiment related to the relevant content of local routing information); downstream message processing: forwarding table lookup (as in the above embodiment) Related content related to local routing information) and so on.
  • Traffic Management TM 920 is used to implement QoS, wire-speed forwarding, large-capacity buffering, queue management and other functions.
  • upstream traffic management includes: upstream QoS processing (such as congestion management and queue scheduling, etc.) and slicing processing;
  • downstream traffic management includes: packet processing, multicast replication, and downstream QoS processing (such as congestion management and queue scheduling, etc.) ).
  • the multiple interface boards 830 can communicate with each other through the switching network 940.
  • FIG. 23 only shows a schematic processing flow or module inside the NP, and the processing sequence of each module in a specific implementation is not limited to this, and other modules or processing flows can be deployed as needed in practical applications. The embodiment of the application does not limit this.
  • FIG. 24 shows a schematic structural diagram of a network device 1000 provided by an embodiment of the present application.
  • the network device 1000 may be provided as the first device, the second device, or the third device in any one of Embodiment 1 to Embodiment 5 in the foregoing method embodiments.
  • the network device 1000 has any function of the first device, the second device, or the third device in any one of Embodiment 1 to Embodiment 5 above.
  • the network device 1000 includes a processor, and the processor is configured to execute instructions so that the network device 1000 executes the method executed by the first device, the second device, or the third device in Embodiment 1 to Embodiment 5.
  • the network device 1000 corresponds to the network device 600.
  • the software of the network device 1000 includes functional modules in the network device 600, and each functional module in the network device 600 is implemented by the software of the network device 1000.
  • the functional modules included in the network device 600 are generated after the processor of the network device 1000 reads the program code stored in the memory.
  • the network device 1000 corresponds to the network device 700.
  • the software of the network device 1000 includes functional modules in the network device 700, and each functional module in the network device 700 is implemented by the software of the network device 1000.
  • the functional modules included in the network device 700 are generated after the processor of the network device 1000 reads the program code stored in the memory.
  • the network device 1000 may be any node of the system architecture 100 in FIG. 8, for example, it may be PE1, PE2, P1, or P2.
  • the network device 1000 may be any device involved in all or part of the content described in the method embodiment, for example, it may be PE1, PE2, P1, or P2.
  • the network device 1000 includes at least one processor 1001, a communication bus 1002, a memory 1003, and at least one communication interface 1004.
  • the processor 1001 may be a general-purpose central processing unit (CPU), a network processor (NP), a microprocessor, or may be one or more integrated circuits used to implement the solution of the application, for example, a dedicated integrated circuit Circuit (application-specific integrated circuit, ASIC), programmable logic device (programmable logic device, PLD) or a combination thereof.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
  • the communication bus 1002 is used to transfer information between the above-mentioned components.
  • the communication bus 1002 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
  • the memory 1003 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, or it can be a random access memory (RAM) or can store information and instructions
  • ROM read-only memory
  • RAM random access memory
  • Other types of dynamic storage devices can also be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage , CD storage (including compressed CDs, laser disks, CDs, digital universal CDs, Blu-ray CDs, etc.), disk storage media or other magnetic storage devices, or can be used to carry or store desired program codes in the form of instructions or data structures And any other media that can be accessed by the computer, but not limited to this.
  • the memory 1003 may exist independently and is connected to the processor 1001 through a communication bus 1002.
  • the memory 1003 may also be integrated with the processor 1001.
  • the communication interface 1004 uses any device such as a transceiver for communicating with other devices or communication networks.
  • the communication interface 1004 includes a wired communication interface, and may also include a wireless communication interface.
  • the wired communication interface may be, for example, an Ethernet interface.
  • the Ethernet interface can be an optical interface, an electrical interface, or a combination thereof.
  • the wireless communication interface may be a wireless local area network (WLAN) interface, a cellular network communication interface, or a combination thereof.
  • WLAN wireless local area network
  • the processor 1001 may include one or more CPUs, such as CPU0 and CPU1 as shown in FIG. 3.
  • the network device 1000 may include multiple processors, such as the processor 1001 and the processor 1005 as shown in FIG. 3. Each of these processors can be a single-core processor (single-CPU) or a multi-core processor (multi-CPU).
  • the processor here may refer to one or more devices, circuits, and/or processing cores for processing data (such as computer program instructions).
  • the network device 1000 may further include an output device 1006 and an input device 1007.
  • the output device 1006 communicates with the processor 1001 and can display information in a variety of ways.
  • the output device 1006 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc.
  • the input device 1007 communicates with the processor 1001, and can receive user input in a variety of ways.
  • the input device 1007 may be a mouse, a keyboard, a touch screen device, or a sensor device.
  • the memory 1003 is used to store the program code 1010 for executing the solution of the present application, and the processor 1001 can execute the program code 1010 stored in the memory 1003. That is, the network device 1000 can implement the MM method provided by the method embodiment through the processor 1001 and the program code 1010 in the memory 1003.
  • the network device 1000 in the embodiment of the present application may correspond to the first device, the second device, or the third device in the foregoing method embodiments, and the processor 1001, the communication interface 1004, etc. in the network device 1000 may implement each of the foregoing The functions and/or various steps and methods implemented by the first device, the second device, or the third device in the method embodiment. For the sake of brevity, I will not repeat them here.
  • An embodiment of the present application provides a computer-readable storage medium, and the storage medium stores at least one instruction, which is read by a processor to make a network device execute the method for publishing routing information provided in the first embodiment, or the foregoing Any one or more of Embodiment 2 to Embodiment 5 provides a method for forwarding messages.
  • the embodiments of the present application provide a computer program product, which when the computer program product runs on a network device, causes the network device to execute the method for publishing routing information provided in the foregoing embodiment 1, or the foregoing embodiment 2 to embodiment 5 Any one or more of the provided methods for forwarding messages.
  • the embodiment of the present application provides a chip that, when the chip runs on a network device, causes the network device to execute the method for publishing routing information provided in the foregoing embodiment 1, or any one of the foregoing embodiment 2 to embodiment 5 or A number of methods for forwarding messages are provided.
  • An embodiment of the present application provides a network system, and the network system includes the foregoing first device, second device, and third device.
  • the disclosed system, device, and method can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the unit is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.
  • the unit described as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit, that is, it may be located in one place, or may also be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments of the present application.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of this application is essentially or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium. It includes several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disks or optical disks and other media that can store program codes. .
  • the above embodiments it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software it can be implemented in the form of a computer program product in whole or in part.
  • the computer program product includes one or more computer program instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer program instructions can be passed from a website, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a digital video disc (DVD), or a semiconductor medium (for example, a solid state hard disk).

Landscapes

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

Abstract

La présente demande se rapporte au domaine technique des communications, et sont divulgués dans celle-ci un procédé d'acheminement de message, un procédé de publication d'informations de routage, un appareil et un système. Sont divulgués dans la présente demande de multiples éléments d'informations de positionnement (localisateurs) dont les préfixes sont de longueurs différentes ; un localisateur comprenant un préfixe de segment de réseau faible est utilisé en tant que localisateur qui positionne tous les dispositifs dans un groupe de diffusion aléatoire ; de multiples localisateurs comprenant un préfixe de segment de réseau élevé sont utilisés comme localisateurs qui positionnent chaque dispositif correspondant dans le groupe de diffusion aléatoire ; et les multiples localisateurs comprenant le préfixe de segment de réseau élevé sont situés dans une plage de segments de réseau du localisateur comprenant le préfixe de segment de réseau faible. Lorsqu'un dispositif dans le groupe de diffusion aléatoire est défaillant, pour un message dont l'adresse de destination est le dispositif défaillant, un localisateur comprenant un préfixe de segment de réseau faible sera mis en correspondance lorsque l'adresse de destination du message est utilisée pour interroger des informations de routage local, acheminant ainsi le message à un autre dispositif dans le groupe de diffusion aléatoire. Dans le procédé, une protection contre la redondance parmi de multiples dispositifs peut être obtenue et l'acheminement normal du trafic est protégé.
PCT/CN2020/116615 2020-02-24 2020-09-21 Procédé d'acheminement de message, procédé de publication d'informations de routage, appareil et système WO2021169258A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010113843.8 2020-02-24
CN202010113843.8A CN113300949B (zh) 2020-02-24 2020-02-24 转发报文的方法、发布路由信息的方法、装置及系统

Publications (1)

Publication Number Publication Date
WO2021169258A1 true WO2021169258A1 (fr) 2021-09-02

Family

ID=77318483

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/116615 WO2021169258A1 (fr) 2020-02-24 2020-09-21 Procédé d'acheminement de message, procédé de publication d'informations de routage, appareil et système

Country Status (2)

Country Link
CN (1) CN113300949B (fr)
WO (1) WO2021169258A1 (fr)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992558A (zh) * 2021-10-26 2022-01-28 新华三信息安全技术有限公司 路由发布的方法、装置、电子设备及介质
CN114143380A (zh) * 2022-01-04 2022-03-04 烽火通信科技股份有限公司 解决SRv6尾节点掉电场景OAM和业务不一致的方法和系统
CN115022415A (zh) * 2022-05-23 2022-09-06 烽火通信科技股份有限公司 一种多层sid报文终结方法及装置
CN115037678A (zh) * 2022-05-27 2022-09-09 新华三技术有限公司合肥分公司 一种保护路由的方法和网络设备
CN115499375A (zh) * 2022-07-25 2022-12-20 北京中电飞华通信有限公司 一种时敏流量调度方法和电子设备
CN116094999A (zh) * 2023-01-16 2023-05-09 紫光云技术有限公司 一种兼容自动分配和指定分配的IPv6网段划分方法
CN117201407A (zh) * 2023-11-07 2023-12-08 湖南国科超算科技有限公司 一种应用感知的IPv6网络快速拥塞检测与避免方法
WO2024083219A1 (fr) * 2022-10-21 2024-04-25 中国移动通信有限公司研究院 Procédé et appareil de traitement de message, et dispositif et support de stockage

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114050996B (zh) * 2021-11-29 2023-03-24 中国人民解放军国防科技大学 一种段路由扩展报文转发方法
CN114205187B (zh) * 2021-12-02 2023-08-08 中盈优创资讯科技有限公司 一种适用于OptionC跨域的MPLS-VPN的端到端路径计算方法及装置
CN116346710A (zh) * 2021-12-22 2023-06-27 华为技术有限公司 一种数据转发方法及设备
EP4366265A1 (fr) * 2022-11-05 2024-05-08 Juniper Networks, Inc. Détection dynamique de dispositifs de réseau à rattachements multiples et attribution d'identifiants de groupe de protection
CN118075185A (zh) * 2022-11-22 2024-05-24 华为技术有限公司 路由更新方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335697A (zh) * 2007-06-25 2008-12-31 华为技术有限公司 路由信息发布方法、实现数据包路由的方法、系统和装置
CN101340356A (zh) * 2007-07-05 2009-01-07 华为技术有限公司 转发信息的方法和信息转发设备
US20100098072A1 (en) * 2008-10-21 2010-04-22 At&T Intellectual Property I, L.P. System and Method to Route Data in an Anycast Environment
CN101902693A (zh) * 2010-07-21 2010-12-01 中国科学院计算技术研究所 支持节点移动的ip网络中任播的方法及系统
CN109660458A (zh) * 2019-02-15 2019-04-19 中国联合网络通信集团有限公司 一种路由方法及设备
CN109756586A (zh) * 2017-11-01 2019-05-14 威瑞森数字媒体服务股份有限公司 选播网络中的确定性流量管理
CN109802888A (zh) * 2017-11-16 2019-05-24 中兴通讯股份有限公司 一种基于任播地址保护的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114971A (zh) * 2006-07-27 2008-01-30 华为技术有限公司 基于IPv6地址结构实现虚拟专用网的方法
US8879394B2 (en) * 2012-10-22 2014-11-04 Telefonaktiebolaget L M Ericsson (Publ) Method and system of packet based identifier locator network protocol (ILNP) load balancing and routing
US10805110B2 (en) * 2015-03-27 2020-10-13 Akamai Technologies, Inc. Traffic delivery using anycast and end user-based mapping in an overlay network
US10666500B2 (en) * 2016-03-30 2020-05-26 Juniper Networks, Inc. Failure handling for active-standby redundancy in EVPN data center interconnect

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335697A (zh) * 2007-06-25 2008-12-31 华为技术有限公司 路由信息发布方法、实现数据包路由的方法、系统和装置
CN101340356A (zh) * 2007-07-05 2009-01-07 华为技术有限公司 转发信息的方法和信息转发设备
US20100098072A1 (en) * 2008-10-21 2010-04-22 At&T Intellectual Property I, L.P. System and Method to Route Data in an Anycast Environment
CN101902693A (zh) * 2010-07-21 2010-12-01 中国科学院计算技术研究所 支持节点移动的ip网络中任播的方法及系统
CN109756586A (zh) * 2017-11-01 2019-05-14 威瑞森数字媒体服务股份有限公司 选播网络中的确定性流量管理
CN109802888A (zh) * 2017-11-16 2019-05-24 中兴通讯股份有限公司 一种基于任播地址保护的方法及装置
CN109660458A (zh) * 2019-02-15 2019-04-19 中国联合网络通信集团有限公司 一种路由方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SITARAMAN H., I. MINEI, S. SIVABALAN: "IETF RFC 8426 Recommendations for RSVP-TE and Segment Routing (SR) Label Switched Path (LSP) Coexistence", CISCO SYSTEMS, INC., 31 July 2018 (2018-07-31), XP055841065, Retrieved from the Internet <URL:https://www.rfc-archive.org/getrfc?rfc=8426#gsc.tab=0> *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992558A (zh) * 2021-10-26 2022-01-28 新华三信息安全技术有限公司 路由发布的方法、装置、电子设备及介质
CN114143380A (zh) * 2022-01-04 2022-03-04 烽火通信科技股份有限公司 解决SRv6尾节点掉电场景OAM和业务不一致的方法和系统
CN114143380B (zh) * 2022-01-04 2023-06-09 烽火通信科技股份有限公司 解决SRv6尾节点掉电场景OAM和业务不一致的方法和系统
CN115022415A (zh) * 2022-05-23 2022-09-06 烽火通信科技股份有限公司 一种多层sid报文终结方法及装置
CN115022415B (zh) * 2022-05-23 2023-08-25 烽火通信科技股份有限公司 一种多层sid报文终结方法及装置
CN115037678A (zh) * 2022-05-27 2022-09-09 新华三技术有限公司合肥分公司 一种保护路由的方法和网络设备
CN115499375A (zh) * 2022-07-25 2022-12-20 北京中电飞华通信有限公司 一种时敏流量调度方法和电子设备
CN115499375B (zh) * 2022-07-25 2024-03-19 北京中电飞华通信有限公司 一种时敏流量调度方法和电子设备
WO2024083219A1 (fr) * 2022-10-21 2024-04-25 中国移动通信有限公司研究院 Procédé et appareil de traitement de message, et dispositif et support de stockage
CN116094999A (zh) * 2023-01-16 2023-05-09 紫光云技术有限公司 一种兼容自动分配和指定分配的IPv6网段划分方法
CN117201407A (zh) * 2023-11-07 2023-12-08 湖南国科超算科技有限公司 一种应用感知的IPv6网络快速拥塞检测与避免方法
CN117201407B (zh) * 2023-11-07 2024-01-05 湖南国科超算科技有限公司 一种应用感知的IPv6网络快速拥塞检测与避免方法

Also Published As

Publication number Publication date
CN113300949B (zh) 2022-12-06
CN113300949A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
WO2021169258A1 (fr) Procédé d&#39;acheminement de message, procédé de publication d&#39;informations de routage, appareil et système
JP7461355B2 (ja) ネットワークコンピューティング環境におけるループ衝突回避
WO2019105066A1 (fr) Procédé et appareil de traitement de route, et appareil et procédé de transmission de données
US8576721B1 (en) Local forwarding bias in a multi-chassis router
WO2021258754A1 (fr) Procédé et appareil d&#39;indication de message, ainsi que dispositif et support de stockage
US9391885B1 (en) MPLS label usage in Ethernet virtual private networks
CN113347091B (zh) 灵活算法感知边界网关协议前缀分段路由标识符
JP7443537B2 (ja) パケット処理方法、パケット処理装置、およびパケット処理システム
JP7479489B2 (ja) パケット送信方法、デバイス、およびシステム
WO2021135420A1 (fr) Procédé de protection contre des défaillances destiné à une chaîne de fonctions de service, dispositif, appareil, système, ainsi que support d&#39;enregistrement,
US11646960B2 (en) Controller provided protection paths
US20230073121A1 (en) SR Policy Issuing Method and Apparatus and SR Policy Receiving Method and Apparatus
CN112868214B (zh) 分组内的协调负载转移oam记录
WO2021000752A1 (fr) Procédé et dispositif associé pour l&#39;acheminement de paquets dans un réseau de centre de données
CN112202669A (zh) 使用分段路由的弹性多协议标签交换(mpls)环
JP7053901B2 (ja) ループ回避通信方法、ループ回避通信デバイスおよびループ回避通信システム
WO2021143279A1 (fr) Procédé et dispositif pour le traitement de service de routage de segments, équipement de routage, et support de stockage
US20230308386A1 (en) Packet Transmission Method and Apparatus
EP3192221B1 (fr) Procédé et noeud de réseau de partitionnement de réseau informatique extensible
JP2023551262A (ja) ルートアドバタイズメント方法、装置、及びシステム
US20190394115A1 (en) Area abstraction extensions to routing protocols
CN114205297A (zh) 流量转发处理方法及设备
JP7273125B2 (ja) BIERv6パケットを送信するための方法および第1のネットワークデバイス
JP4408756B2 (ja) 経路計算システム
US10924395B2 (en) Seamless multipoint label distribution protocol (mLDP) transport over a bit index explicit replication (BIER) core

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20921641

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20921641

Country of ref document: EP

Kind code of ref document: A1