WO2021004156A1 - 报文转发方法、设备及计算机可读存储介质 - Google Patents
报文转发方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- WO2021004156A1 WO2021004156A1 PCT/CN2020/090726 CN2020090726W WO2021004156A1 WO 2021004156 A1 WO2021004156 A1 WO 2021004156A1 CN 2020090726 W CN2020090726 W CN 2020090726W WO 2021004156 A1 WO2021004156 A1 WO 2021004156A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- forwarding
- node device
- forwarding table
- network topology
- path
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 115
- 230000015654 memory Effects 0.000 claims description 45
- 230000008859 change Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 32
- 238000012545 processing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 9
- 230000003111 delayed effect Effects 0.000 description 9
- 238000005538 encapsulation Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000003672 processing method Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006424 Flood reaction Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2823—Reporting information sensed by appliance or service execution status of appliance services in a home automation network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Definitions
- This application relates to the field of communication technology, and in particular to a method, device and computer-readable storage medium for message forwarding.
- Bit index-based explicit replication (BIER) technology is a multicast technology.
- each edge node device in the network is configured with a BIER forwarding router id (BIER Forwarding Router id, BFR).
- BFR BIER Forwarding Router
- -id BIER Forwarding Router
- IGP Interior Gateway Protocol
- each node in the network establishes a forwarding table based on the IGP flooding information on the control plane, and each node can use the forwarding table on the forwarding plane to forward BIER messages.
- the embodiments of the present application provide a message forwarding method, device, and computer-readable storage medium to solve the problems provided by related technologies.
- the technical solutions are as follows:
- a message forwarding method for forwarding BIER messages. The method includes: when the target node device determines that the network topology changes, the target node device starts a timer; Before the timer ends, the target node device uses the old forwarding table to forward the BIER message and establishes a new forwarding table.
- the old forwarding table is the forwarding table used by the target node device before the network topology changes
- the new forwarding table is a forwarding table established by the target node device based on the changed network topology, and the timer indicates that the new forwarding table is established before the timer expires; After the timer ends, the target node device switches the old forwarding table to the new forwarding table, and forwards the BIER message according to the new forwarding table.
- the old forwarding table is used to forward BIER messages and a new forwarding table is established before the timer expires, and the old forwarding table is switched to the new forwarding table after the timer expires.
- the new forwarding table forwards BIER packets, thereby avoiding or reducing packet loss and multi-packet situations.
- the method further includes: the target node device determines the packet forwarding path after the network topology has changed based on the old forwarding table Whether there is a loop; before starting the timer, the target node device determines based on the old forwarding table that there is no loop in the packet forwarding path after the network topology has changed.
- the timer is restarted, so as to avoid timing again in the presence of loops and cause link congestion.
- the method further includes: the target node device determines the packet forwarding path after the network topology has changed based on the old forwarding table Whether there is a loop; when it is determined based on the old forwarding table that there is a loop in the packet forwarding path after the network topology has changed, the target node device does not start a timer, and the target node device establishes a new forwarding table, After the establishment of the new forwarding table is completed, the old forwarding table is switched to the new forwarding table, and the BIER message is forwarded according to the new forwarding table.
- the method further includes: the target node device determines the packet forwarding path after the network topology has changed based on the old forwarding table Whether there is a loop; when it is determined based on the old forwarding table that there is a loop in the packet forwarding path after the network topology has changed, the target node device does not start a timer, and the target node device is based on the changed network topology
- the old forwarding table is refreshed, and the BIER message is forwarded according to the refreshed forwarding table.
- the timer is not started, the old forwarding table is directly refreshed, and the BIER packet is forwarded according to the updated forwarding table, thereby avoiding the chain The road is congested.
- the packet forwarding path includes a first path and a second path calculated under the changed network topology, and the first path is the transfer from the target node device to the old one.
- the path of each neighbor of the target node device in the publication, and the second path starts from each neighbor of the target node device in the old forwarding table, and uses each neighbor of the target node device as the starting point.
- the edge node device represented by the forwarding bit mask is the end point, and the existence of a loop means that the second path passes through the target node device.
- the target node device determining whether there is a loop in the packet forwarding path after the network topology changes based on the old forwarding table includes: for the target node in the old forwarding table For any neighbor of the device, the target node device determines whether the path of each edge node device represented by the forwarding bit mask of the any neighbor under the changed network topology will pass through the target node device; When the path of an edge node device under the changed network topology passes through the target node device, it is determined that there is a loop in the packet forwarding path after the network topology has changed; when each edge node device is under the changed network topology When none of the paths pass through the target node device, it is determined that there is no loop in the packet forwarding path after the network topology changes.
- the target node device determining whether there is a loop in the packet forwarding path after a network topology change based on the old forwarding table includes: the target node device uses the old forwarding table Each neighbor of the target node device is the root, and the shortest path tree is established under the changed network topology; the shortest path tree is traversed through the identification of each edge node device reached by the target node device to obtain the bit String; AND operation of the bit string and the forwarding bit mask of the neighbors of the target node device; when the result is 0, it is determined that there is no loop in the packet forwarding path after the network topology has changed; when the result is not At 0, it is determined that there is a loop in the packet forwarding path after the network topology has changed.
- the target node device uses an old forwarding table to forward the BIER message and establish a new forwarding table, including: counting time on the timer Before the end, the target node device forwards the BIER message using the old load-sharing and forwarding multi-entry, and creates a new load-sharing and forwarding multi-entry according to the number of load-sharing paths; the timer counts After the end, the target node device switches the old forwarding table to the new forwarding table, and forwards the BIER message according to the new forwarding table, including: after the timer expires, all The target node device switches the old multi-entry forwarding table forwarded by load sharing to the new multi-entry forwarded by load sharing, and forwards the BIER message according to the multi-entry forwarded by the new load sharing .
- An embodiment of the present application also provides a message forwarding node device, where the message forwarding node device is used to forward BIER messages, and the message forwarding node device includes: a startup module for determining when a network topology changes, Start a timer; a forwarding module, configured to use the old forwarding table to forward the BIER message before the timer expires, and the old forwarding table is used by the message forwarding node device before the network topology changes
- the establishment module is used to establish a new forwarding table before the timer expires, and the new forwarding table is a forwarding table established by the message forwarding node device based on the changed network topology, so
- the timer indicates that the new forwarding table is established before the timer expires; the forwarding module is further configured to switch the old forwarding table to the The new forwarding table forwards the BIER message according to the new forwarding table.
- the packet forwarding node device further includes: a determining module, configured to determine, based on the old forwarding table, whether a packet forwarding path after the network topology has changed exists when the network topology changes Loop; before the start module starts the timer, the determination module determines based on the old forwarding table that there is no loop in the packet forwarding path after the network topology changes.
- a determining module configured to determine, based on the old forwarding table, whether a packet forwarding path after the network topology has changed exists when the network topology changes Loop; before the start module starts the timer, the determination module determines based on the old forwarding table that there is no loop in the packet forwarding path after the network topology changes.
- the packet forwarding node device further includes: a determining module, configured to determine, based on the old forwarding table, whether a packet forwarding path after the network topology has changed exists when the network topology changes Loop; when it is determined based on the old forwarding table that there is a loop in the packet forwarding path after the network topology has changed, the starting module does not start the timer, the establishing module establishes a new forwarding table, and the forwarding module After the establishment of the new forwarding table is completed, the old forwarding table is switched to the new forwarding table, and the BIER message is forwarded according to the new forwarding table.
- a determining module configured to determine, based on the old forwarding table, whether a packet forwarding path after the network topology has changed exists when the network topology changes Loop; when it is determined based on the old forwarding table that there is a loop in the packet forwarding path after the network topology has changed, the starting module does not start the timer, the establishing module establishes a new forwarding table,
- the packet forwarding node device further includes: a determining module, configured to determine, based on the old forwarding table, whether a packet forwarding path after the network topology has changed exists when the network topology changes Loop; when it is determined based on the old forwarding table that there is a loop in the packet forwarding path after the network topology has changed, the start module does not start the timer, and the forwarding module is configured to pair based on the changed network topology
- the old forwarding table is refreshed, and the BIER message is forwarded according to the refreshed forwarding table.
- the packet forwarding path includes a first path and a second path calculated under the changed network topology, and the first path is the transfer from the target node device to the old one.
- the path of each neighbor of the target node device in the publication, and the second path starts from each neighbor of the target node device in the old forwarding table, and uses each neighbor of the target node device as the starting point.
- the edge node device represented by the forwarding bit mask is the end point, and the existence of a loop means that the second path passes through the target node device.
- the determining module is configured to determine, for any neighbor of the target node device in the old forwarding table, each edge represented by the forwarding bit mask of any neighbor Whether the path of the node device under the changed network topology will pass the target node device; when any edge node device’s path under the changed network topology will pass the target node device, it is determined that the network topology changes When the path of each edge node device under the changed network topology does not pass the target node device, it is determined that there is no loop in the packet forwarding path after the network topology has changed. .
- the determining module is configured to take each neighbor of the target node device in the old forwarding table as the root, and establish the shortest path tree under the changed network topology; The identification of each edge node device that reaches through the target node device on the shortest path tree is obtained, and the bit string is ANDed with the forwarding bit mask of the neighbor of the target node device; when the result is 0 When it is determined that the packet forwarding path after the network topology has changed does not have a loop; when the result is non-zero, it is determined that the packet forwarding path after the network topology has changed has a loop.
- the forwarding module is configured to forward the BIER message using the old load sharing and forwarding multi-entry before the timer expires; the establishment module is configured to forward the BIER message according to the load The number of shared paths creates a new load-sharing forwarding multi-entry; the forwarding module is configured to switch the old load-sharing and forwarding multi-entry forwarding table to the new after the timer expires For the multi-entry forwarded by load sharing, the BIER message is forwarded according to the new multi-entry forwarded by load sharing.
- a message forwarding node device includes: a memory and a processor, the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to achieve Any of the foregoing message forwarding methods.
- a computer-readable storage medium is also provided, and at least one instruction is stored in the storage medium, and the instruction is loaded and executed by a processor to implement the message forwarding method described above.
- the device includes a transceiver, a memory, and a processor.
- the transceiver, the memory, and the processor communicate with each other through an internal connection path
- the memory is used to store instructions
- the processor is used to execute the instructions stored in the memory to control the transceiver to receive signals and control the transceiver to send signals
- the processor executes the instructions stored in the memory, the processor is caused to execute the first aspect or the method in any possible implementation manner of the first aspect.
- processors there are one or more processors, and one or more memories.
- the memory may be integrated with the processor, or the memory and the processor may be provided separately.
- the memory can be a non-transitory (non-transitory) memory, such as a read only memory (ROM), which can be integrated with the processor on the same chip, or can be set in different On the chip, the embodiment of the present application does not limit the type of memory and the setting mode of the memory and the processor.
- ROM read only memory
- a computer program (product) is provided, the computer program (product) includes: computer program code, when the computer program code is executed by a computer, the computer executes the methods in the above aspects.
- a chip including a processor, configured to call and execute instructions stored in the memory from a memory, so that a communication device installed with the chip executes the methods in the foregoing aspects.
- Another chip including: an input interface, an output interface, a processor, and a memory.
- the input interface, output interface, the processor, and the memory are connected by an internal connection path, and the processor is used to execute all The code in the memory, when the code is executed, the processor is used to execute the methods in the foregoing aspects.
- FIG. 1 is a schematic diagram of a network topology structure provided by an embodiment of the application
- FIG. 2 is a schematic diagram of the BIER head structure provided by an embodiment of the application.
- Fig. 3 is a schematic diagram of BIER-MPLS encapsulation and forwarding provided by an embodiment of the application
- FIG. 4 is a schematic diagram of a network topology structure provided by an embodiment of this application.
- FIG. 5 is a flowchart of a method for forwarding a message according to an embodiment of the application
- FIG. 6 is a schematic diagram of a network topology structure provided by an embodiment of the application.
- FIG. 7 is a schematic diagram of a network topology structure provided by an embodiment of the application.
- FIG. 8 is a schematic diagram of a network topology structure provided by an embodiment of the application.
- FIG. 9 is a schematic structural diagram of a message forwarding node device provided by an embodiment of the application.
- FIG. 10 is a schematic structural diagram of a message forwarding node device provided by an embodiment of the application.
- FIG. 11 is a schematic structural diagram of a packet forwarding node device provided by an embodiment of the application.
- the BIER technology is a multicast technology.
- each edge node device in the network is configured with a BFR-id, for example, a value between 1 and 256 is configured.
- the configuration information of each edge node device in the network will be flooded in the network through IGP flooding. This information flooded with IGP is called BIER information.
- BIER information By flooding, each node in the network can determine which device each BFR-id identifies.
- FIG. 1 is a schematic diagram of a network where IGP floods BIER information.
- the edge node devices in the network include A, D, E, and F.
- the configured BFR-id values of edge node devices A, D, E, and F are 4, 1, 2, and 3, respectively.
- the BFR-id value of each edge node device will be flooded through IGP.
- each edge node device sends a control plane message to other node devices in the network, the control plane message includes flooding information, and the flooding information includes the BFR-id of the edge node device, and also includes the Internet Protocol (Internet protocol, IP) address and encapsulation information.
- the package information includes the package type.
- the flooding information of edge node device A will carry the BFR-id and IP address of edge node device A, the encapsulation type is multi-protocol label switching (MPLS), and the corresponding edge node device A is allocated MPLS label.
- MPLS multi-protocol label switching
- Nodes B and C are intermediate nodes and do not need to configure BFR-id. Therefore, the BFR-id in the flooding information of the control plane messages sent by nodes B and C is filled with 0 accordingly.
- the flooding information of the control plane messages of the nodes B and C also includes other information such as the node's IP address and encapsulation information.
- each node in the network establishes a forwarding table based on the IGP flooding information on the control plane, and each node can use the forwarding table on the forwarding plane to forward a BIER message.
- the BIER message includes a BIER-encapsulated multicast data message.
- the BIER package format please refer to the description of the BIER header format in request for comment (RFC) 8296.
- the BIER header format is the key to realize BIER on the forwarding plane (chip).
- the BIER header contains a 32-bit (4 bytes) BIER-Label (label) or BIER forwarding table identification (bit indexed forwarding table identifer, BIFT-ID) value, where the first 20 bits are the label value or BIFT-ID value, the last 12 bits are other tag information, including traffic class (TC), S bit, and time to live (TTL).
- label label
- BIER forwarding table identification bit indexed forwarding table identifer, BIFT-ID
- the BIER header also includes other fields of 64bit (8 bytes), including the distinguisher (Nibble), version (Ver), bit length (bits length, BSL), entropy (Entropy), detection (OAM), reserved ( Rsv), differentiated services field codepoints (DSCP), protocol (Proto), BIER forwarding ingress router (BFIR-id), etc., and also include bit string (BitString).
- the length of BitString can be 64bit/128bit/256bit/... etc. length.
- the BIER-Label or BFR-ID value can be used to determine the length of the BitString.
- the forwarding entry on which the forwarding plane forwards is based is based on the BitString in the BIER message to determine which next hop the BIER message is sent to. When multiple Bits correspond to the same next hop, only one BIER message will be sent to the next hop.
- the neighbors in the forwarding table can be directly connected neighbors in the network topology, or non-directly connected neighbors, such as the non-directly connected neighbors calculated according to section 6.9 of RFC8279 neighbor.
- the neighbors of edge node device A include node B.
- the neighbor table entry of edge node device A is established:
- the BIER message For the neighbor entry of the edge node device A, when the 1/2/3 bit of the BitString from right to left in the BIER message is 1, the BIER message will be sent to the neighbor node B.
- the fourth bit of BitString in the BIER message from right to left is 1 (for example, a BIER message sent from node B to node A)
- this entry indicates that the BIER message is sent to node A.
- the *A* mark is used in Figure 1 to send the BIER message to node A itself.
- the node that receives the BIER message will strip off the BIER header and forward it according to the original multicast message.
- the message forwarding process is as follows:
- IP Internet protocol
- RCV multicast receiver
- node D sends a BIER message to the RCV of node D in Figure 1.
- Node C changes the BitString in the BIER message to 0010 and sends it to node F.
- Node F decapsulates the BIER header, and then forwards it according to the inner IP message. For example, the BIER message is sent to the RSV of node F.
- the problem of packet loss or multiple packets may occur in the forwarding process of the BIER message.
- the BIER forwarding table of node 1 is as follows:
- the BIER forwarding table of node 1 is as follows:
- an embodiment of the present application provides a message forwarding method. Before switching the forwarding path to the path corresponding to the new forwarding table, this method first maintains forwarding the BIER message on the old forwarding path, establishes a new forwarding table, then switches to the new forwarding table, and then deletes the old forwarding table. Published. That is to say, the embodiment of the present application adopts a make before break (MBB) method to avoid or reduce the loss or duplication of messages.
- MBB make before break
- Step 501 When the target node device determines that the network topology has changed, the target node device starts a timer.
- the change of the network topology includes the situation of newly added links, and the embodiment of this application does not limit the situation of newly added links.
- the newly added link may be a link that was previously disconnected due to a failure and then repaired to be able to connect. Still taking the network topology shown in FIG. 4 as an example, the original link between node 1 and node 3 exists, but due to a failure, the link between node 1 and node 3 is disconnected. After that, the link failure between node 1 and node 3 is repaired, and the network topology changes. As the link failure between node 1 and node 3 is repaired, the link between node 1 and node 3 is increased.
- the newly added link in the network topology can also be a new router connected to the network, thereby adding a new link. For example, still taking the network topology shown in FIG. 4 as an example, if node 4 is newly added, and a connection is established between node 4 and node 1, then the link between node 1 and node 4 is a newly added link.
- the BIER MBB enable can be configured for the nodes in the network, that is, the target node device in this method can be any network topology configured with BIER MBB after a new link is added. node.
- the target node device has the BIER protocol, the BIER forwarding capability, and the forwarding capability under specific BIER encapsulation, such as MPLS encapsulation, Ethernet encapsulation, Internet protocol version 6 (IPv6) encapsulation, and the like.
- IPv6 Internet protocol version 6
- the embodiment of this application does not limit the specific encapsulation type forwarded by BIER.
- the target node device in the embodiment of the present application may be a router or a switch.
- the network administrator configures the BIER MBB enablement of the target node device so that the target node device has the BIER MBB function.
- the timer indicates that the new forwarding table is created before the timer expires.
- the network administrator may also configure the timing duration of the timer.
- the timing duration of the timer can be configured based on the target node device's own capabilities, for example, based on the central processing unit (CPU) load of the target node device, or it can be set based on experience.
- the timing duration of the timer configured by different target node devices may be the same or different, and the embodiment of the present application does not limit this, as long as it can ensure that the new forwarding table is established.
- Step 502 Before the timer expires, the target node device uses the old forwarding table to forward the BIER message and establish a new forwarding table.
- the old forwarding table is the forwarding table used by the target node device before the network topology changes; the new forwarding table is the forwarding table established by the target node device based on the changed network topology. After the network topology changes, if the target node device receives a BIER message before the timer expires, it uses the old forwarding table to forward the BIER message and establishes a new forwarding table.
- a new forwarding table can be created before the timer is started, or a new forwarding table can be created after the timer is started, and a new forwarding table can be created while the timer is started. . Since the timer indicates that the new forwarding table is established before the timer expires, for the situation that the new forwarding table is established before the timer is started, the time duration of the timer is less than the establishment time of the new forwarding table. In the case of establishing a new forwarding table after the timer is started, the time duration of the timer is greater than the establishment time of the new forwarding table.
- the timing duration of the timer may be equal to the establishment duration of the new forwarding table.
- the establishment time length of the new forwarding table is the length of time between the time when the new forwarding table is created and the time when the establishment of the new forwarding table is completed.
- the BIER message sent by the target node device to the destination node according to the original forwarding path may be sent back to the target node device.
- maintaining the old forwarding table to forward BIER messages may cause problems such as link congestion due to loops in the message forwarding path. Therefore, maintaining the BIER message forwarding on the old forwarding table requires judging whether there is a loop in the message forwarding path.
- the method when the network topology changes, the method further includes: determining, based on the old forwarding table, whether there is a loop in the packet forwarding path after the network topology changes; in this embodiment, before starting the timer , The target node device determines based on the old forwarding table that there is no loop in the packet forwarding path after the network topology has changed, so that before the timer expires, the old forwarding table is used to forward the BIER packet and establish a new forwarding table.
- the old forwarding table is used to forward BIER packets and a new forwarding table is established, thereby preventing the use of When the old forwarding table forwarded BIER packets, loops occurred, causing problems such as link congestion.
- the method of determining whether there is a loop in the packet forwarding path after the network topology has changed based on the old forwarding table includes but not limited to the following two methods:
- Method 1 For any neighbor of the target node device in the old forwarding table, the target node device determines whether the path of each edge node device represented by the forwarding bit mask of any neighbor will pass the target under the changed network topology Node device; when any edge node device's path under the changed network topology passes through the target node device, it is determined that there is a loop in the packet forwarding path after the network topology has changed; when each edge node device changes When none of the paths under the network topology pass through the target node device, it is determined that there is no loop in the packet forwarding path after the network topology changes.
- the packet forwarding path includes a first path and a second path calculated under the changed network topology.
- the first path is the path from the target node device to each neighbor of the target node device in the old forwarding table
- the second path is The path starts from each neighbor of the target node device in the old forwarding table, and ends with the edge node device represented by the forwarding bit mask of each neighbor of the target node device.
- the existence of a loop means that the second path passes through the target Node device.
- node 1 judges the current BIER transfer Whether the packet forwarding path corresponding to the publication will have a loop due to this topology change, that is, determine whether each edge node device represented by the FBM of each neighbor of node 1 in the forwarding table is under the changed network topology Whether the path will pass through node 1.
- the neighbors of node 1 include node 2, and the path from node 1 to node 2 is the first path.
- the second path starts with node 2 and ends with the edge node device represented by the forwarding bit mask of node 2. If it is determined in the forwarding table that the path of each edge node device represented by the FBM of each neighbor of node 1 under the changed network topology will not pass through node 1, the MBB process is executed, that is, the existing BIER transfer is maintained Publish (bit indexed forwarding table, BIFT) 1 unchanged, add a BIER forwarding table BIFT 2, then set the message forwarding path to use the new forwarding table, switch the old forwarding table to the new forwarding table, and delete it The old forwarding table.
- BIFT bit indexed forwarding table
- the process of issuing a forwarding table also takes time, and the issuing process may be It is an asynchronous process, that is, the issuing program does not perceive whether the issuing has been completed.
- the forwarding path is set as a new forwarding table; after the timer is configured, the timer can be started from sensing network topology changes. Timing.
- the Node1 node determines whether the packet forwarding path under the changed network topology will pass through node 1, that is, walk back to node 1 from the neighbor to the BFER node represented by the FBM of each Nbr node (excluding itself) of Node1 .
- D(X_Y) represents the path cost from node X to node Y.
- the FBM ⁇ 0110> of Nbr ⁇ Node2> represents Node2 and Node3, respectively, using the above formula to determine:
- Method 2 Take each neighbor of the target node device in the old forwarding table as the root, and establish the shortest path tree under the changed network topology; traverse the identification of each edge node device reached by the target node device on the shortest path tree, Obtain the bit string; perform the AND operation between the bit string and the neighbor's forwarding bit mask; when the result is 0, it is determined that there is no loop in the packet forwarding path after the network topology has changed; when the result is non-zero, the network topology is determined There is a loop in the packet forwarding path after the change.
- Step 503 After the timer expires, the target node device switches the old forwarding table to the new forwarding table, and forwards the BIER message according to the new forwarding table.
- the old forwarding table is switched to the new forwarding table, and the BIER message is forwarded according to the new forwarding table.
- This process can adopt atomic operation or single entry operation.
- Node1 will forward it to Node2 and Node3 after receiving the BIER message, and Node1 will determine the message after the network topology has changed based on the old forwarding table.
- start a timer and keep it on the old forwarding table for a period of time, that is, after the timer expires, switch to the new forwarding table, and then delete the old forwarding table.
- Node1/Node2/Node3 are configured with BIER and MBB enable.
- each node device performs judgment and processing according to the operation of Node1.
- forwarding packets according to the old forwarding table and forwarding packets according to the new forwarding table are as follows:
- Node1 forwards the BIER message according to the old forwarding table, that is, according to the old forwarding path 1->2->3.
- the forwarding result of the BIER message has no effect, that is, the BIER message sent from Node1 will not appear when Node3 receives Packet loss.
- Node1 forwards the BIER message according to the new forwarding table, that is, according to the new forwarding path 1->2/3.
- Node3 receives the BIER message, it only has BitString(0100), regardless of whether Node3 is in its old The forwarding path or its new forwarding path forwards the BIER message, and the BIER message forwarding result has no effect, that is, Node3 receives the BIER message from Node1 without packet loss.
- the timer when the network topology changes, the timer is started, and the old forwarding table is used to forward the BIER message and the new forwarding table is established before the timer expires. Switch the old forwarding table to the new forwarding table, and use the new forwarding table to forward BIER messages, thereby avoiding or reducing the occurrence of packet loss or multi-packet situations.
- the timer based on the old forwarding table, it is determined that there is no loop in the packet forwarding path after the network topology has changed, and then the timer is started to avoid link congestion when a loop exists, which improves the reliability of packet forwarding and further reduces loss. The probability of occurrence of a package or multiple packages.
- the target node device determines that there is no loop in the packet forwarding path after the network topology has changed based on the old forwarding table.
- the methods provided in the application examples include but are not limited to the following two processing methods:
- Processing method 1 When the network topology changes, the method further includes: when it is determined based on the old forwarding table that there is a loop in the packet forwarding path after the network topology has changed, the target node device does not start the timer, and the target node device establishes For the new forwarding table, after the establishment of the new forwarding table is completed, the old forwarding table is switched to the new forwarding table, and the BIER message is forwarded according to the new forwarding table.
- the above-mentioned method of determining whether there is a loop in the packet forwarding path after the network topology change based on the old forwarding table is adopted, and when it is determined based on the old forwarding table that there is a loop in the forwarding path after the network topology has changed , Do not start the timer, directly create a new forwarding table, after the new forwarding table is established, switch the old forwarding table to the new forwarding table, and forward the BIER message according to the new forwarding table.
- Processing method 2 When the network topology changes, the method further includes: when it is determined based on the old forwarding table that there is a loop in the packet forwarding path after the network topology has changed, the target node device does not start the timer, and the target node device is based on The changed network topology refreshes the old forwarding table, and forwards the BIER message according to the refreshed forwarding table.
- the above method is used to determine whether there is a loop in the packet forwarding path after the network topology has changed based on the old forwarding table.
- the timer is not started, and a new forwarding table is not established. Instead, the old forwarding table is refreshed based on the changed network topology, and the message is forwarded according to the refreshed forwarding table.
- the message forwarding path includes the first path and the second path calculated under the changed network topology.
- the first path is the path from the target node device to the target node device in the old forwarding table.
- the second path starts from each neighbor of the target node device in the old forwarding table, and ends with the edge node device represented by the forwarding bit mask of each neighbor of the target node device.
- There is a loop Road refers to the second path passing through the target node device.
- Scenario 1 Four devices are networked, and the topology diagram after adding links and the overhead of each link are shown in Figure 6 (1). In this scenario, there are multiple new links.
- the message forwarding process for each new link is as follows:
- Node1 determines that there is no loop in the packet forwarding path after the network topology changes based on the old forwarding table according to the following judgment, and delays convergence, that is, continues before the timer expires Node 1 to node 3 ⁇ 1110> forwards the BIER message, and when the timer expires, the old forwarding table is switched to the new forwarding table, and the BIER message is forwarded according to the new forwarding table.
- the second judgment method is to calculate a new SPT tree for neighbor node 3, and each node of FBM satisfies the formula D(3_X) ⁇ D(3_1)+D(1_X).
- node 2 determines that there is no loop in the packet forwarding path after the network topology has changed based on the old forwarding table according to the following judgment method, delaying convergence, that is, before the timer expires, Continue node 2 to node 1 ⁇ 1101>) to forward the BIER message, and when the timer expires, switch the old forwarding table to the new forwarding table, and forward the BIER message according to the new forwarding table.
- the second judgment method is to calculate a new SPT tree for neighbor node 1.
- Each node of FBM ⁇ 1101> satisfies the formula D(1_X) ⁇ D(1_2)+D(2_X).
- node 4 take the traffic received from node 4 and send it to node 1/2/3 as an example. Since the message sent to node 3 will be sent back, node 4 will judge based on the old forwarding table as follows It is determined that there is a loop in the packet forwarding path after the network topology changes, so convergence is not delayed.
- node 3 determines that there is a loop in the packet forwarding path after the network topology has changed based on the old forwarding table according to the following judgment. Since the BIER message sent to node 1 will be ⁇ 1000> Is sent back, so convergence is not delayed.
- node 3 determines that there is a loop in the packet forwarding path after the network topology has changed based on the old forwarding table, so it does not start the timer, but immediately after the new forwarding table is established. Switching back to the new forwarding table or refreshing the old forwarding table, then the MBB configured in the embodiment of this application is invalid.
- Scenario 2 Six devices are networked, and the topology diagram after adding links and the overhead of each link are shown in Figure 7 (1). In this scenario, there are multiple new links.
- the message forwarding process for each new link is as follows:
- node 2 determines that there is no loop in the packet forwarding path after the network topology has changed based on the old forwarding table according to the following judgment method, delaying convergence, that is, before the timer expires, Continue node 2 to node 4 ⁇ 111101> to forward the BIER message, and when the timer expires, switch the old forwarding table to the new forwarding table, and forward the BIER message according to the new forwarding table.
- the second judgment method is to calculate a new SPT tree for neighbor node 1, and each node of FBM ⁇ 111101> satisfies the formula D(4_X) ⁇ D(4_2)+D(2_X).
- node 2 determines that there is no loop in the packet forwarding path after the network topology changes based on the old forwarding table according to the following judgment method, delaying convergence, that is, before the timer expires, Continue node 2 to node 1 ⁇ 111101> to forward the BIER message, and when the timer expires, switch the old forwarding table to the new forwarding table, and forward the BIER message according to the new forwarding table.
- the second judgment method is to calculate a new SPT tree for neighbor node 1.
- Each node of FBM ⁇ 111101> satisfies the formula D(1_X) ⁇ D(1_2)+D(2_X).
- node 4 determines that there is a loop in the packet forwarding path after the network topology has changed based on the old forwarding table.
- the forwarding path includes 2->1->3; 2->4->6->5; when node 3 and node 4 are added
- the original neighbor node 1 takes over 1/3, and the neighbor node 4 takes over 2/4/6/5. All nodes from neighbor node 1 to neighbor node 1’s FBM ⁇ 000101> will not go to node 2; neighbor nodes All nodes of FBM ⁇ 111000> from 4 to neighbor node 4 will not go to node 2, so there is no loop in the packet forwarding path after the network topology changes, and convergence can be delayed.
- the forwarding path includes 2->1; 2->4->3->5->6; increase the number of nodes 4 and 6 Link time between:
- the original neighbor node 1 takes over 1, and the neighbor node 4 takes over 3/4/5/6. Because of the FBM ⁇ 000001> from neighbor node 1 to neighbor node 1, all nodes will not go to node 2; neighbor node 4 All nodes of FBM ⁇ 111101> to neighbor node 4 will not go to node 2; therefore, there is no loop in the message forwarding path (the FBM of the two neighbors is unchanged), and convergence can be delayed.
- node 4 changes from 2 neighbors to 3 neighbors. There will be no loops in the packet forwarding path, and convergence can be delayed.
- the forwarding path includes 1->2; 1->3->4/5; 5->6; when the link between node 4 and node 6 is added:
- the original neighbor node 2 will take over 2; the neighbor node 3 will take over 3/4/5/6; the FBM of the two neighbors has not changed, there will be no loop in the packet forwarding path, and convergence can be delayed.
- the forwarding path includes 2->1; 2->4->3/6; 3->5; adding node 5 and node 6
- the original neighbor node 1 takes over 1, and the neighbor node 4 takes over 3/4/5/6. Because of the FBM ⁇ 000001> from neighbor node 1 to neighbor node 1, all nodes will not go to node 2, and neighbor node 4 All nodes of FBM ⁇ 111101> to neighboring node 4 will not go to node 2, so there is no change in the FBM of the two neighbors, and there will be no loop in the packet forwarding path, which can delay convergence.
- the method provided in this embodiment is also applicable to load sharing and forwarding scenarios.
- the target node device uses the old forwarding table to forward BIER messages and establishes a new forwarding table, including: before the timer expires, the old load sharing forwarding Multi-entry forwards BIER packets, and creates new load-sharing and forwarding multi-entry according to the number of load-sharing paths.
- the target node device switches the old forwarding table to the new forwarding table, and forwards the message according to the new forwarding table, including: after the timer expires, the target node device loads the old The multi-entry forwarding table for shared forwarding is switched to the new multi-entry forwarded by load sharing, and the message is forwarded according to the multi-entry forwarded by the new load sharing.
- Scenario 3 Networking with load sharing links, the topology diagram after adding links is shown in Figure 8.
- the overhead of each link in the topological structure diagram is the same, 1, 2, 5, 6, 7, and 8 are BFER nodes, and BFR-id are 1, 2, 5, 6, 7, and 8, respectively.
- BFER nodes are BFER nodes
- BFR-id are 1, 2, 5, 6, 7, and 8, respectively.
- If there is no failure there are 4 paths from node 1 to all other BFER nodes, which are the path passed through neighbor B, the path passed through neighbor R, the path passed through neighbor G, and the path passed through neighbor P route of. Take, for example, that the link between node 1 and node B is restored after a failure, and the path from node 1 to each BFER changes from 3 to 4 as an example.
- node 1 is configured to use BIER multi-entry for load sharing (RFC8279), and 4-way load sharing is configured, that is, the number of paths for load sharing is 4, and the load sharing table is as follows, where neighbors are their own entries omitted :
- each BIFT table has 100 multicast streams.
- the above table entries may become as follows:
- each node is configured with BIER MBB enable and the timing duration of a timer is configured.
- BIER MBB BIER MBB enable
- the timing duration of a timer is configured.
- a new multi-table entry for load sharing and forwarding is generated.
- the following multi-table load sharing forwarding index is used, that is, the multiple BIFT index (multiple BIFT index, MBI), such as MBI1;
- the BIER forwarding table is as follows:
- multi-table load sharing forwarding index MBI2
- the BIER message is forwarded by using the old multi-entry forwarded by load sharing before the timer expires, and the number of paths for load sharing is established.
- the old load-sharing and forwarding multi-entry is switched to the new load-sharing and forwarding multi-entry, and the new load-sharing and forwarding multi-entry is adopted. Forward BIER messages to avoid or reduce packet loss or multi-packet situations.
- the embodiment of the present application provides a message forwarding node device, the message forwarding node device is used to forward BIER messages.
- the message forwarding node device includes:
- the starting module 901 is used to start a timer when determining that the network topology changes
- the forwarding module 902 is configured to use the old forwarding table to forward the BIER message before the timer expires, and the old forwarding table is the forwarding table used by the message forwarding node device before the network topology changes;
- the establishment module 903 is used to establish a new forwarding table before the timer expires.
- the new forwarding table is a forwarding table established by the message forwarding node device based on the changed network topology.
- the timer indicates that the new forwarding table is in the timer It is established before the timer ends;
- the forwarding module 902 is also used to switch the old forwarding table to the new forwarding table after the timer expires, and forward the BIER message according to the new forwarding table.
- the message forwarding node device further includes:
- the determining module 904 is configured to determine whether there is a loop in the packet forwarding path after the network topology changes based on the old forwarding table when the network topology changes;
- the determining module 904 determines, based on the old forwarding table, that there is no loop in the packet forwarding path after the network topology has changed.
- the message forwarding node device further includes:
- the determining module 904 is configured to determine whether there is a loop in the packet forwarding path after the network topology changes based on the old forwarding table when the network topology changes;
- the start module 901 When it is determined based on the old forwarding table that there is a loop in the packet forwarding path after the network topology has changed, the start module 901 does not start the timer, the establishment module 903 establishes a new forwarding table, and the forwarding module 902 completes the establishment of the new forwarding table. , Switch the old forwarding table to the new forwarding table, and forward the BIER message according to the new forwarding table.
- the message forwarding node device further includes:
- the determining module 904 is configured to determine whether there is a loop in the packet forwarding path after the network topology changes based on the old forwarding table when the network topology changes;
- the starting module 901 When it is determined based on the old forwarding table that there is a loop in the packet forwarding path after the network topology has changed, the starting module 901 does not start the timer, and the forwarding module 902 is used to refresh the old forwarding table based on the changed network topology, The BIER message is forwarded according to the updated forwarding table.
- the packet forwarding path includes a first path and a second path calculated under the changed network topology.
- the first path is from the target node device to each target node device in the old forwarding table.
- the path of the neighbor starts from each neighbor of the target node device in the old forwarding table, and ends with the edge node device represented by the forwarding bit mask of each neighbor of the target node device.
- the loop is Refers to the second path passing through the target node device.
- the determining module 904 is configured to determine, for any neighbor of the target node device in the old forwarding table, the changed network of each edge node device represented by the forwarding bit mask of any neighbor Whether the path under the topology will pass through the target node device; when any edge node device’s path under the changed network topology will pass through the target node device, it is determined that there is a loop in the packet forwarding path after the network topology has changed; When none of the paths of the edge node devices under the changed network topology pass through the target node device, it is determined that there is no loop in the packet forwarding path after the network topology has changed.
- the determining module 904 is configured to use each neighbor of the target node device in the old forwarding table as the root to establish the shortest path tree under the changed network topology; traverse the shortest path tree through the target The identification of each edge node device reached by the node device obtains the bit string; the bit string is ANDed with the forwarding bit mask of the neighbor of the target node device; when the result is 0, the packet forwarding path after the network topology change is determined There is no loop; when the result is non-zero, it is determined that there is a loop in the packet forwarding path after the network topology has changed.
- the forwarding module 902 is configured to use the old multi-entry forwarded by load sharing to forward the BIER message before the timer expires;
- the establishment module 903 is configured to establish a new multi-entry for load sharing and forwarding according to the number of load sharing paths;
- the forwarding module 902 is used to switch the old multi-entry forwarding table of load sharing forwarding to the new multi-entry forwarding of load sharing after the timer expires, and forward the BIER report according to the new multi-entry forwarding of load sharing. Text.
- FIG. 11 is a schematic diagram of the hardware structure of a message forwarding node device 1100 according to an embodiment of the application.
- the packet forwarding node device 1100 shown in FIG. 11 can execute the corresponding steps performed by the packet forwarding node device in the method of the foregoing embodiment.
- the packet forwarding node device 1100 includes a processor 1101, a memory 1102, an interface 1103, and a bus 1104.
- the interface 1103 may be implemented in a wireless or wired manner, and specifically may be a network card.
- the aforementioned processor 1101, memory 1102, and interface 1103 are connected through a bus 1104.
- the interface 1103 may specifically include a transmitter and a receiver, which are used to send and receive information between the packet forwarding node device and other node devices in the foregoing embodiment.
- the interface 1103 is used to support receiving BIER messages sent by neighbor node devices.
- the processor 1101 is configured to execute the processing performed by the packet forwarding node device in the foregoing embodiment.
- the processor 1101 is configured to start a timer when determining that the network topology changes; before the timer expires, the old forwarding table is used to forward the BIER message and to establish a new forwarding table.
- the forwarding table is the forwarding table used by the target node device before the network topology changes
- the new forwarding table is the forwarding table established by the target node device based on the changed network topology
- the timer indicates the new
- the forwarding table of is established before the timer expires; after the timer expires, the old forwarding table is switched to the new forwarding table, and the new forwarding table is forwarded according to the new forwarding table.
- BIER message The processor 1101 and/or other processes used in the techniques described herein. As an example, the processor 1101 is configured to support step 501 to step 503 in FIG. 5.
- the memory 1102 includes an operating system 11021 and an application program 11022 for storing programs, codes or instructions.
- the memory 1102 may include a read-only memory (English: Read-only Memory, abbreviation: ROM) and a random access memory (English: Random Access Memory, abbreviation: RAM).
- ROM Read-only Memory
- RAM Random Access Memory
- the ROM includes a basic input/output system (English: Basic Input/Output System, abbreviation: BIOS) or an embedded system
- BIOS Basic Input/Output System
- the RAM includes an application program and an operating system.
- the system is booted by the BIOS solidified in the ROM or the bootloader in the embedded system, and the message forwarding node device 1100 is guided to enter the normal operating state.
- the application program and the operating system run in the RAM, thereby completing the processing process involving the message forwarding node device in the method embodiment.
- FIG. 11 only shows a simplified design of the message forwarding node device 1100.
- the message forwarding node device may include any number of interfaces, processors or memories.
- processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processing (digital signal processing, DSP), and application specific integrated circuits. ASIC), field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
- the general-purpose processor may be a microprocessor or any conventional processor. It is worth noting that the processor may be a processor that supports an advanced reduced instruction set machine (advanced RISC machines, ARM) architecture.
- the foregoing memory may include a read-only memory and a random access memory, and provide instructions and data to the processor.
- the memory may also include non-volatile random access memory.
- the memory can also store device type information.
- the memory may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
- the non-volatile memory can be read-only memory (ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), and electronic Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
- the volatile memory may be random access memory (RAM), which is used as an external cache. By way of exemplary but not limiting illustration, many forms of RAM are available.
- static random access memory static random access memory
- dynamic random access memory dynamic random access memory
- DRAM dynamic random access memory
- SDRAM synchronous dynamic random access memory
- double data rate synchronous dynamic random access Memory double data date SDRAM, DDR SDRAM
- enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
- serial link DRAM SLDRAM
- direct memory bus random access memory direct rambus RAM
- a computer-readable storage medium is also provided, and at least one instruction is stored in the storage medium, and the instruction is loaded and executed by a processor to implement the message forwarding method described above.
- This application provides a computer program.
- the computer program When the computer program is executed by a computer, it can cause a processor or computer to execute the corresponding steps and/or processes in the foregoing method embodiments.
- the computer program product includes one or more computer instructions.
- the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
- the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted 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 a 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 DVD), or a semiconductor medium (for example, a solid state disk).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (18)
- 一种报文转发方法,其特征在于,所述方法用于转发基于比特索引的显式复制BIER报文,所述方法包括:目标节点设备确定网络拓扑发生变化时,所述目标节点设备启动计时器;在所述计时器计时结束之前,所述目标节点设备采用旧的转发表转发所述BIER报文和建立新的转发表,所述旧的转发表为网络拓扑发生变化前所述目标节点设备使用的转发表,所述新的转发表为所述目标节点设备基于变化后的网络拓扑建立的转发表,所述计时器指示所述新的转发表在所述计时器计时结束之前被建立完成;在所述计时器计时结束之后,所述目标节点设备将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。
- 根据权利要求1所述的方法,其特征在于,当所述目标节点设备确定网络拓扑发生变化时,所述方法还包括:所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;启动所述计时器之前,所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径不存在环路。
- 根据权利要求1所述的方法,其特征在于,当所述目标节点设备确定网络拓扑发生变化时,所述方法还包括:所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;当基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,所述目标节点设备不启动计时器,所述目标节点设备建立新的转发表,在所述新的转发表建立完成后,将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。
- 根据权利要求1所述的方法,其特征在于,当所述目标节点设备确定网络拓扑发生变化时,所述方法还包括:所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;当基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,所述目标节点设备不启动计时器,所述目标节点设备基于变化后的网络拓扑对旧的转发表进行刷新,按照刷新后的转发表转发所述BIER报文。
- 根据权利要求2-4任一所述的方法,其特征在于,所述报文转发路径包括第一路径和在变化后的网络拓扑下计算出来的第二路径,所述第一路径为所述目标节点设备到所述旧的转发表中所述目标节点设备的每个邻居的路径,所述第二路径以所述旧的转发表中所述目标节点设备的每个邻居为起点,且以所述目标节点设备的每个邻居的转发位掩码所代表的边缘节点设备为终点,所述存在环路是指所述第二路径经过所述目标节点设备。
- 根据权利要求2-5任一所述的方法,其特征在于,所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路,包括:对于所述旧的转发表中所述目标节点设备的任一邻居,所述目标节点设备确定所述任一邻居的转发位掩码所代表的每个边缘节点设备在变化后的网络拓扑下的路径是否会经过所述目标节点设备;当任一边缘节点设备在变化后的网络拓扑下的路径会经过所述目标节点设备时,确定网络拓扑发生变化后的报文转发路径存在环路;当每个边缘节点设备在变化后的网络拓扑下的路径均不会经过所述目标节点设备时,确定网络拓扑发生变化后的报文转发路径不存在环路。
- 根据权利要求2-5任一所述的方法,其特征在于,所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路,包括:所述目标节点设备以所述旧的转发表中所述目标节点设备的每个邻居为根,在发生变化后的网络拓扑下建立最短路径树;遍历所述最短路径树上经过所述目标节点设备到达的各个边缘节点设备的标识,得到比特串;将所述比特串与所述目标节点设备的邻居的转发位掩码进行与操作;当结果为0时,确定网络拓扑发生变化后的报文转发路径不存在环路;当结果为非0时,确定网络拓扑发生变化后的报文转发路径存在环路。
- 根据权利要求1-7任一所述的方法,其特征在于,所述在所述计时器计时结束之前,所述目标节点设备采用旧的转发表转发所述BIER报文和建立新的转发表,包括:在所述计时器计时结束之前,所述目标节点设备采用旧的负载分担转发的多表项转发所述BIER报文,按照负载分担的路径数量建立新的负载分担转发的多表项;所述在所述计时器计时结束之后,所述目标节点设备将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文,包括:在所述计时器计时结束之后,所述目标节点设备将所述旧的负载分担转发的多表项转 发表切换到所述新的负载分担转发的多表项,按照所述新的负载分担转发的多表项转发所述BIER报文。
- 一种报文转发节点设备,其特征在于,所述报文转发节点设备用于转发基于比特索引的显式复制BIER报文,所述报文转发节点设备包括:启动模块,用于确定网络拓扑发生变化时,启动计时器;转发模块,用于在所述计时器计时结束之前,采用旧的转发表转发所述BIER报文,所述旧的转发表为网络拓扑发生变化前所述报文转发节点设备使用的转发表;建立模块,用于在所述计时器计时结束之前,建立新的转发表,所述新的转发表为所述报文转发节点设备基于变化后的网络拓扑建立的转发表,所述计时器指示所述新的转发表在所述计时器计时结束之前被建立完成;所述转发模块,还用于在所述计时器计时结束之后,将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。
- 根据权利要求9所述的报文转发节点设备,其特征在于,所述报文转发节点设备还包括:确定模块,用于当网络拓扑发生变化时,基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;所述启动模块启动所述计时器之前,所述确定模块基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径不存在环路。
- 根据权利要求9所述的报文转发节点设备,其特征在于,所述报文转发节点设备还包括:确定模块,用于当网络拓扑发生变化时,基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;当基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,所述启动模块不启动计时器,所述建立模块建立新的转发表,所述转发模块在所述新的转发表建立完成后,将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。
- 根据权利要求9所述的报文转发节点设备,其特征在于,所述报文转发节点设备还包括:确定模块,用于当网络拓扑发生变化时,基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;当基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,所述启动模块不启动计时器,所述转发模块,用于基于变化后的网络拓扑对旧的转发表进行刷新,按照刷新后的转发表转发所述BIER报文。
- 根据权利要求10-12任一所述的报文转发节点设备,其特征在于,所述报文转发路径包括第一路径和在变化后的网络拓扑下计算出来的第二路径,所述第一路径为所述目标节点设备到所述旧的转发表中所述目标节点设备的每个邻居的路径,所述第二路径以所述旧的转发表中所述目标节点设备的每个邻居为起点,且以所述目标节点设备的每个邻居的转发位掩码所代表的边缘节点设备为终点,所述存在环路是指所述第二路径经过所述目标节点设备。
- 根据权利要求10-13任一所述的报文转发节点设备,其特征在于,所述确定模块,用于对于所述旧的转发表中所述目标节点设备的任一邻居,确定所述任一邻居的转发位掩码所代表的每个边缘节点设备在变化后的网络拓扑下的路径是否会经过所述目标节点设备;当任一边缘节点设备在变化后的网络拓扑下的路径会经过所述目标节点设备时,确定网络拓扑发生变化后的报文转发路径存在环路;当每个边缘节点设备在变化后的网络拓扑下的路径均不会经过所述目标节点设备时,确定网络拓扑发生变化后的报文转发路径不存在环路。
- 根据权利要求10-13任一所述的报文转发节点设备,其特征在于,所述确定模块,用于以所述旧的转发表中所述目标节点设备的每个邻居为根,在发生变化后的网络拓扑下建立最短路径树;遍历所述最短路径树上经过所述目标节点设备到达的各个边缘节点设备的标识,得到比特串;将所述比特串与所述目标节点设备的邻居的转发位掩码进行与操作;当结果为0时,确定网络拓扑发生变化后的报文转发路径不存在环路;当结果为非0时,确定网络拓扑发生变化后的报文转发路径存在环路。
- 根据权利要求9-15任一所述的报文转发节点设备,其特征在于,所述转发模块,用于在所述计时器计时结束之前,采用旧的负载分担转发的多表项转发所述BIER报文;所述建立模块,用于按照负载分担的路径数量建立新的负载分担转发的多表项;所述转发模块,用于在所述计时器计时结束之后,将所述旧的负载分担转发的多表项转发表切换到所述新的负载分担转发的多表项,按照所述新的负载分担转发的多表项转发所述BIER报文。
- 一种报文转发节点设备,其特征在于,所述报文转发节点设备包括:存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理 器加载并执行,以实现权利要求1-8中任一所述的报文转发方法。
- 一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-8中任一所述的报文转发方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021574996A JP7322193B2 (ja) | 2019-07-05 | 2020-05-17 | パケット転送方法およびデバイス、およびコンピュータ可読記憶媒体 |
EP20836741.7A EP3979576A4 (en) | 2019-07-05 | 2020-05-17 | METHOD FOR TRANSFERRING PACKET, DEVICE, AND COMPUTER READABLE STORAGE MEDIA |
KR1020227001349A KR20220018065A (ko) | 2019-07-05 | 2020-05-17 | 패킷 포워딩 방법 및 디바이스, 그리고 컴퓨터가 판독 가능한 저장 매체 |
US17/646,963 US20220131808A1 (en) | 2019-07-05 | 2022-01-04 | Packet Forwarding Method and Device, And Computer-Readable Storage Medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910606586.9A CN112187647B (zh) | 2019-07-05 | 2019-07-05 | 报文转发方法、设备及计算机可读存储介质 |
CN201910606586.9 | 2019-07-05 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/646,963 Continuation US20220131808A1 (en) | 2019-07-05 | 2022-01-04 | Packet Forwarding Method and Device, And Computer-Readable Storage Medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021004156A1 true WO2021004156A1 (zh) | 2021-01-14 |
Family
ID=73919681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/090726 WO2021004156A1 (zh) | 2019-07-05 | 2020-05-17 | 报文转发方法、设备及计算机可读存储介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220131808A1 (zh) |
EP (1) | EP3979576A4 (zh) |
JP (1) | JP7322193B2 (zh) |
KR (1) | KR20220018065A (zh) |
CN (1) | CN112187647B (zh) |
WO (1) | WO2021004156A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113347099A (zh) * | 2021-05-31 | 2021-09-03 | 中国工商银行股份有限公司 | 一种分布式网络流量转发方法、装置、设备及存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI733560B (zh) * | 2020-08-13 | 2021-07-11 | 瑞昱半導體股份有限公司 | 網路交換器及其網路交換器系統 |
US11881935B2 (en) * | 2022-03-02 | 2024-01-23 | Arista Networks, Inc. | Reducing a network device upgrade outage using a reduced hardware resource scaling |
US11736385B1 (en) * | 2022-08-17 | 2023-08-22 | Juniper Networks, Inc. | Distributed flooding technique |
CN117938813A (zh) * | 2022-10-17 | 2024-04-26 | 中兴通讯股份有限公司 | 一种转发表索引的通告方法、节点及存储介质 |
CN117255055B (zh) * | 2023-11-15 | 2024-02-23 | 新华三技术有限公司 | 报文转发方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001010097A2 (en) * | 1999-07-30 | 2001-02-08 | Cabletron Systems, Inc. | Method and system for managing forwarding tables |
WO2006105723A1 (fr) * | 2005-04-04 | 2006-10-12 | Huawei Technologies Co., Ltd. | Procede de mise en oeuvre de multiplexage dans un reseau en boucle a protocole d’arbre maximal rapide |
CN101060483A (zh) * | 2007-05-17 | 2007-10-24 | 华为技术有限公司 | 一种多协议标签交换网络流量切换的方法及设备 |
CN101064687A (zh) * | 2007-02-07 | 2007-10-31 | 中兴通讯股份有限公司 | 路由收敛的方法 |
CN108696438A (zh) * | 2017-04-05 | 2018-10-23 | 中兴通讯股份有限公司 | Bier报文的转发方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7835312B2 (en) * | 2005-07-20 | 2010-11-16 | Cisco Technology, Inc. | Method and apparatus for updating label-switched paths |
WO2015042156A1 (en) * | 2013-09-17 | 2015-03-26 | Cisco Technology, Inc. | Bit indexed explicit replication |
CN104811387B (zh) * | 2014-01-24 | 2018-06-01 | 思科技术公司 | 具有位索引显式复制的等价多路径 |
US9832031B2 (en) * | 2014-10-24 | 2017-11-28 | Futurewei Technologies, Inc. | Bit index explicit replication forwarding using replication cache |
CN106572017B (zh) * | 2015-10-09 | 2021-06-15 | 中兴通讯股份有限公司 | Bier信息的发送方法、接收方法及装置 |
CN107294859B (zh) * | 2016-04-13 | 2021-04-06 | 中兴通讯股份有限公司 | 一种信息传递方法、装置及系统 |
CN107968750B (zh) * | 2016-10-20 | 2021-06-15 | 中兴通讯股份有限公司 | 报文传输方法、装置及节点 |
US10469379B2 (en) * | 2017-02-17 | 2019-11-05 | Cisco Technology, Inc. | System and method to facilitate content delivery to multiple recipients in a network environment |
CN108632678B (zh) * | 2017-03-22 | 2023-03-24 | 中兴通讯股份有限公司 | 一种数据传输方法、装置及系统 |
US10447496B2 (en) * | 2017-03-30 | 2019-10-15 | Cisco Technology, Inc. | Multicast traffic steering using tree identity in bit indexed explicit replication (BIER) |
CN109660460B (zh) * | 2017-10-10 | 2021-10-19 | 中兴通讯股份有限公司 | Bier-te信息的处理方法、服务器及存储介质 |
-
2019
- 2019-07-05 CN CN201910606586.9A patent/CN112187647B/zh active Active
-
2020
- 2020-05-17 JP JP2021574996A patent/JP7322193B2/ja active Active
- 2020-05-17 EP EP20836741.7A patent/EP3979576A4/en active Pending
- 2020-05-17 KR KR1020227001349A patent/KR20220018065A/ko not_active Application Discontinuation
- 2020-05-17 WO PCT/CN2020/090726 patent/WO2021004156A1/zh unknown
-
2022
- 2022-01-04 US US17/646,963 patent/US20220131808A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001010097A2 (en) * | 1999-07-30 | 2001-02-08 | Cabletron Systems, Inc. | Method and system for managing forwarding tables |
WO2006105723A1 (fr) * | 2005-04-04 | 2006-10-12 | Huawei Technologies Co., Ltd. | Procede de mise en oeuvre de multiplexage dans un reseau en boucle a protocole d’arbre maximal rapide |
CN101064687A (zh) * | 2007-02-07 | 2007-10-31 | 中兴通讯股份有限公司 | 路由收敛的方法 |
CN101060483A (zh) * | 2007-05-17 | 2007-10-24 | 华为技术有限公司 | 一种多协议标签交换网络流量切换的方法及设备 |
CN108696438A (zh) * | 2017-04-05 | 2018-10-23 | 中兴通讯股份有限公司 | Bier报文的转发方法及装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3979576A4 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113347099A (zh) * | 2021-05-31 | 2021-09-03 | 中国工商银行股份有限公司 | 一种分布式网络流量转发方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220131808A1 (en) | 2022-04-28 |
KR20220018065A (ko) | 2022-02-14 |
EP3979576A4 (en) | 2022-08-10 |
EP3979576A1 (en) | 2022-04-06 |
CN112187647B (zh) | 2021-12-14 |
CN112187647A (zh) | 2021-01-05 |
JP7322193B2 (ja) | 2023-08-07 |
JP2022538809A (ja) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021004156A1 (zh) | 报文转发方法、设备及计算机可读存储介质 | |
US11533249B2 (en) | Route processing method and apparatus, and data transmission method and apparatus | |
US11310079B2 (en) | EVPN packet processing method, device, and system for MAC learning via MAC/IP advertisement route | |
US11606292B2 (en) | Route processing method, device, and system | |
US11394644B2 (en) | EVPN packet processing method, device, and system | |
US11533254B2 (en) | Packet processing method, related device, and computer storage medium | |
US11902049B2 (en) | BIER packet sending method and apparatus | |
WO2021098807A1 (zh) | 一种更新映射关系的方法以及装置 | |
EP3883186B1 (en) | Operation administration and maintenance (ioam) packet transmission method, and corresponding apparatus | |
WO2021258823A1 (zh) | 路径创建方法、装置及系统 | |
WO2021088561A1 (zh) | 位索引显式复制网络中负载分担的方法、装置及设备 | |
CN112737954B (zh) | 报文处理方法、装置、系统、设备及存储介质 | |
US20220124023A1 (en) | Path Switching Method, Device, and System | |
US11356372B2 (en) | Data traffic processing method, device, and system | |
US11799769B2 (en) | Packet processing method, apparatus, system, and device, and storage medium | |
US11979310B2 (en) | Signal translation and protection in a hybrid network environment | |
WO2021109997A1 (zh) | 分段路由隧道的防断纤方法、装置,入口节点及存储介质 | |
WO2023045793A1 (zh) | 一种环路的检测方法和装置 | |
CN113132222B (zh) | 报文转发方法、设备及计算机可读存储介质 | |
WO2022222884A1 (zh) | 转发路径的故障感知方法、装置及系统 | |
WO2023173853A1 (zh) | Bgp路由的发送方法、装置、存储介质及电子装置 | |
WO2021115162A1 (zh) | 一种链路保护方法、装置,入口节点及存储介质 |
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: 20836741 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021574996 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 20227001349 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2020836741 Country of ref document: EP Effective date: 20220103 |