WO2021004156A1 - 报文转发方法、设备及计算机可读存储介质 - Google Patents

报文转发方法、设备及计算机可读存储介质 Download PDF

Info

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
Application number
PCT/CN2020/090726
Other languages
English (en)
French (fr)
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 华为技术有限公司
Priority to JP2021574996A priority Critical patent/JP7322193B2/ja
Priority to EP20836741.7A priority patent/EP3979576A4/en
Priority to KR1020227001349A priority patent/KR20220018065A/ko
Publication of WO2021004156A1 publication Critical patent/WO2021004156A1/zh
Priority to US17/646,963 priority patent/US20220131808A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • 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/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • 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/24Multipath
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding 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

本申请公开了一种报文转发方法、设备及计算机可读存储介质,属于通信技术领域。该方法用于转发BIER报文,包括:目标节点设备确定网络拓扑发生变化时,目标节点设备启动计时器;在计时器计时结束之前,目标节点设备采用旧的转发表转发BIER报文和建立新的转发表,旧的转发表为网络拓扑发生变化前目标节点设备使用的转发表,新的转发表为目标节点设备基于变化后的网络拓扑建立的转发表,计时器指示新的转发表在计时器计时结束之前被建立完成;在计时器计时结束之后,目标节点设备将旧的转发表切换到新的转发表,按照新的转发表转发BIER报文。本申请能够避免或减少丢包及多包情况的发生。

Description

报文转发方法、设备及计算机可读存储介质
本申请要求于2019年07月05日提交国家知识产权局、申请号为201910606586.9、发明名称为“报文转发方法、设备及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种报文转发方法、设备及计算机可读存储介质。
背景技术
基于Bit索引的显式复制(bit indexed explicit replication,BIER)技术是一种组播技术,在BIER技术中,对网络中的每个边缘节点设备配置一个BIER转发路由器标识(BIER Forwarding Router id,BFR-id),将边缘节点设备的配置信息通过内部网关协议(Interior Gateway Protocol,IGP)泛洪的方式在网络中泛洪,使得网络中各节点能够确定每个BFR-id标识的是哪台设备。此外,网络中的各节点通过控制面IGP泛洪的信息建立转发表,各节点可在转发面利用转发表来转发BIER的报文。
发明内容
本申请实施例提供了一种报文转发方法、设备及计算机可读存储介质,以解决相关技术提供的问题,技术方案如下:
一方面,提供了一种报文转发方法,该方法用于转发BIER的报文,所述方法包括:目标节点设备确定网络拓扑发生变化时,所述目标节点设备启动计时器;在所述计时器计时结束之前,所述目标节点设备采用旧的转发表转发所述BIER报文和建立新的转发表,所述旧的转发表为网络拓扑发生变化前所述目标节点设备使用的转发表,所述新的转发表为所述目标节点设备基于变化后的网络拓扑建立的转发表,所述计时器指示所述新的转发表在所述计时器计时结束之前被建立完成;在所述计时器计时结束之后,所述目标节点设备将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。
当网络拓扑发生变化时,通过在计时器计时结束之前采用旧的转发表转发BIER报文和建立新的转发表,在计时器计时结束之后再将旧的转发表切换到新的转发表,采用新的转发表转发BIER报文,从而避免或减少丢包及多包情况的发生。
作为一种示例性实施例,当所述目标节点设备确定网络拓扑发生变化时,所述方法还包括:所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;启动所述计时器之前,所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径不存在环路。
在基于旧的转发表确定网络拓扑发生变化后的报文转发路径不存在环路时,再启动计时器,从而避免在存在环路的情况下再去计时而导致链路拥塞。
作为一种示例性实施例,当所述目标节点设备确定网络拓扑发生变化时,所述方法还包括:所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;当基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,所述目标节点设备不启动计时器,所述目标节点设备建立新的转发表,在所述新的转发表建立完成后,将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。
当基于旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,不启动计时,直接建立新的转发表,在新的转发表建立完成后,将旧的转发表切换到新的转发表,按照新的转发表转发BIER报文,从而避免链路拥塞。
作为一种示例性实施例,当所述目标节点设备确定网络拓扑发生变化时,所述方法还包括:所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;当基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,所述目标节点设备不启动计时器,所述目标节点设备基于变化后的网络拓扑对旧的转发表进行刷新,按照刷新后的转发表转发所述BIER报文。
当基于旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,不启动计时器,直接对旧的转发表进行刷新,按照刷新后的转发表转发BIER报文,从而避免链路拥塞。
作为一种示例性实施例,所述报文转发路径包括第一路径和在变化后的网络拓扑下计算出来的第二路径,所述第一路径为所述目标节点设备到所述旧的转发表中所述目标节点设备的每个邻居的路径,所述第二路径以所述旧的转发表中所述目标节点设备的每个邻居为起点,且以所述目标节点设备的每个邻居的转发位掩码所代表的边缘节点设备为终点,所述存在环路是指所述第二路径经过所述目标节点设备。
作为一种示例性实施例,所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路,包括:对于所述旧的转发表中所述目标节点设备的任一邻居,所述目标节点设备确定所述任一邻居的转发位掩码所代表的每个边缘节点设备在变化后的网络拓扑下的路径是否会经过所述目标节点设备;当任一边缘节点设备在变化后的网络拓扑下的路径会经过所述目标节点设备时,确定网络拓扑发生变化后的报文转发路径存在环路;当每个边缘节点设备在变化后的网络拓扑下的路径均不会经过所述目标节点设备时,确定网络拓扑发生变化后的报文转发路径不存在环路。
作为一种示例性实施例,所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路,包括:所述目标节点设备以所述旧的转发表中所述目标节点设备的每个邻居为根,在发生变化后的网络拓扑下建立最短路径树;遍历所述最短路径树上经过所述目标节点设备到达的各个边缘节点设备的标识,得到比特串;将所述比特串与所述目标节点设备的邻居的转发位掩码进行与操作;当结果为0时,确定网络拓扑发生变化后的报文转发路径不存在环路;当结果为非0时,确定网络拓扑发生变化后的报文转发路径存在环路。
作为一种示例性实施例,所述在所述计时器计时结束之前,所述目标节点设备采用旧的转发表转发所述BIER报文和建立新的转发表,包括:在所述计时器计时结束之前,所述目标节点设备采用旧的负载分担转发的多表项转发所述BIER报文,按照负载分担的路径数量建立新的负载分担转发的多表项;所述在所述计时器计时结束之后,所述目标节点设备将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文,包括:在所述计时器计时结束之后,所述目标节点设备将所述旧的负载分担转发的多表项转发表切换到所述新的负载分担转发的多表项,按照所述新的负载分担转发的多表项转发所述BIER报文。
本申请实施例还提供了一种报文转发节点设备,所述报文转发节点设备用于转发BIER报文,所述报文转发节点设备包括:启动模块,用于确定网络拓扑发生变化时,启动计时器;转发模块,用于在所述计时器计时结束之前,采用旧的转发表转发所述BIER报文,所述旧的转发表为网络拓扑发生变化前所述报文转发节点设备使用的转发表;建立模块,用于在所述计时器计时结束之前,建立新的转发表,所述新的转发表为所述报文转发节点设备基于变化后的网络拓扑建立的转发表,所述计时器指示所述新的转发表在所述计时器计时结束之前被建立完成;所述转发模块,还用于在所述计时器计时结束之后,将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。
作为一种示例性实施例,所述报文转发节点设备还包括:确定模块,用于当网络拓扑发生变化时,基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;所述启动模块启动所述计时器之前,所述确定模块基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径不存在环路。
作为一种示例性实施例,所述报文转发节点设备还包括:确定模块,用于当网络拓扑发生变化时,基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;当基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,所述启动模块不启动计时器,所述建立模块建立新的转发表,所述转发模块在所述新的转发表建立完成后,将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。
作为一种示例性实施例,所述报文转发节点设备还包括:确定模块,用于当网络拓扑发生变化时,基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;当基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,所述启动模块不启动计时器,所述转发模块,用于基于变化后的网络拓扑对旧的转发表进行刷新,按照刷新后的转发表转发所述BIER报文。
作为一种示例性实施例,所述报文转发路径包括第一路径和在变化后的网络拓扑下计算出来的第二路径,所述第一路径为所述目标节点设备到所述旧的转发表中所述目标节点设备的每个邻居的路径,所述第二路径以所述旧的转发表中所述目标节点设备的每个邻居为起点,且以所述目标节点设备的每个邻居的转发位掩码所代表的边缘节点设备为终点,所述存在环路是指所述第二路径经过所述目标节点设备。
作为一种示例性实施例,所述确定模块,用于对于所述旧的转发表中所述目标节点设备的任一邻居,确定所述任一邻居的转发位掩码所代表的每个边缘节点设备在变化后的网络拓扑下的路径是否会经过所述目标节点设备;当任一边缘节点设备在变化后的网络拓扑下的路径会经过所述目标节点设备时,确定网络拓扑发生变化后的报文转发路径存在环路;当每个边缘节点设备在变化后的网络拓扑下的路径均不会经过所述目标节点设备时,确定网络拓扑发生变化后的报文转发路径不存在环路。
作为一种示例性实施例,所述确定模块,用于以所述旧的转发表中所述目标节点设备的每个邻居为根,在发生变化后的网络拓扑下建立最短路径树;遍历所述最短路径树上经 过所述目标节点设备到达的各个边缘节点设备的标识,得到比特串;将所述比特串与所述目标节点设备的邻居的转发位掩码进行与操作;当结果为0时,确定网络拓扑发生变化后的报文转发路径不存在环路;当结果为非0时,确定网络拓扑发生变化后的报文转发路径存在环路。
作为一种示例性实施例,所述转发模块,用于在所述计时器计时结束之前,采用旧的负载分担转发的多表项转发所述BIER报文;所述建立模块,用于按照负载分担的路径数量建立新的负载分担转发的多表项;所述转发模块,用于在所述计时器计时结束之后,将所述旧的负载分担转发的多表项转发表切换到所述新的负载分担转发的多表项,按照所述新的负载分担转发的多表项转发所述BIER报文。
还提供一种报文转发节点设备,所述报文转发节点设备包括:存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现上述任一所述的报文转发方法。
还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上任一所述的报文转发方法。
提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法。
作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
图1为本申请实施例提供的网络拓扑结构示意图;
图2为本申请实施例提供的BIER头结构示意图;
图3为本申请实施例提供的BIER-MPLS封装转发示意图;
图4为本申请实施例提供的网络拓扑结构示意图;
图5为本申请实施例提供的报文转发方法流程图;
图6为本申请实施例提供的网络拓扑结构示意图;
图7为本申请实施例提供的网络拓扑结构示意图;
图8为本申请实施例提供的网络拓扑结构示意图;
图9为本申请实施例提供的报文转发节点设备的结构示意图;
图10为本申请实施例提供的报文转发节点设备的结构示意图;
图11为本申请实施例提供的报文转发节点设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
BIER技术是一种组播技术,在BIER技术中,对网络中的每个边缘节点设备配置一个BFR-id,例如配置1~256之间的一个值。网络中的每个边缘节点设备的配置信息会通过IGP泛洪的方式在网络中泛洪,这种随IGP泛洪的信息称为BIER信息。通过泛洪的方式,使得网络中各节点都能够确定每个BFR-id标识的是哪台设备。
图1是IGP泛洪BIER信息的网络示意图,该网络中的边缘节点设备包括A、D、E和F。如图1所示,边缘节点设备A、D、E和F被配置的BFR-id值分别为4、1、2和3。每个边缘节点设备的BFR-id值会通过IGP泛洪。示例性地,每个边缘节点设备均向网络中的其他节点设备发送控制面报文,该控制面报文中包括泛洪信息,泛洪信息中包括边缘节点设备的BFR-id,还包括互联网协议(internet protocol,IP)地址、封装信息。其中,封装信息包括封装类型。例如,边缘节点设备A的泛洪信息中会携带边缘节点设备A的BFR-id、IP地址、封装类型为多协议标签交换(multi-protocol label switching,MPLS)以及相应的边缘节点设备A上分配的MPLS标签。节点B和C作为中间节点,不需要配置BFR-id,因此,节点B和C发送的控制面报文的泛洪信息中的BFR-id相应填0。该节点B和C的控制面报文的泛洪信息中还包括其它信息如节点的IP地址、封装信息。
此外,网络中的各节点通过控制面IGP泛洪的信息建立转发表,各节点可在转发面利用转发表来转发BIER报文,该BIER报文包括BIER封装的组播数据报文。BIER封装格式可参见请求评论(request for comment,RFC)8296中关于BIER头格式的说明,BIER的头格式是在转发面(芯片)上实现BIER的关键。如图2所示,BIER头包含有一个32bit(4个字节)的BIER-Label(标签)或BIER转发表标识(bit indexed forwarding table identifer,BIFT-ID)值,其中前20bit为标签值或BIFT-ID值,后12bit为标签的其它信息,包括通信流类别(traffic class,TC)、S位及生存时间(time to live,TTL)。BIER头还包括64bit(8个字节)的其它字段,包括区分符(Nibble)、版本(Ver)、比特串长度(bits length,BSL)、熵值(Entropy)、检测(OAM)、保留(Rsv)、差异化服务字段代码(differentiated services field codepoints,DSCP)、协议(Proto)、BIER转发头节点路由器标识(BIER forwarding ingress router,BFIR-id)等,还包括比特串(BitString)。BitString的长度可以是64bit/128bit/256bit/…等长度。BIER-Label或BFR-ID值可用来确定BitString的长度。
其中,字段BitString中的每个Bit用来标识某个BIER转发边缘节点路由器(BIER forwarding edge router,BFER),例如BitString的低位(最右)的一个Bit用来标识下一跳 节点是BFR-id=1对应的节点。BitString中从右往左第2个Bit用来标识BFR-id=2对应的节点。转发面转发所依据的转发表项则是根据BIER报文中的BitString决定该BIER报文要往哪几个下一跳发送。多个Bit对应同一个下一跳的情况,只会向该下一跳发送一份BIER报文。
以图1所示的各节点建立BIER转发表为例,转发表中的邻居可以是网络拓扑中直连的邻居,也可以是非直连的邻居,例如根据RFC8279的6.9节计算出来的非直连邻居。对于边缘节点设备A,该边缘节点设备A的邻居包括节点B。在图1所示的网络拓扑中,由于BFR-id=1/2/3的BFER节点的下一跳均为节点B,因此建立边缘节点设备A的邻居表项:
邻居(Nbr)=B,转发位掩码(forwarding bit mask,FBM)=0111。
其中,FBM中的每个比特位代表一个边缘节点设备。如果边缘节点设备比较多,那么可将边缘节点设备划分成不同的Set(集合)。针对多个Set,FBM由多个Set的比特串组成。例如,网络拓扑中有512台边缘节点设备,将512台边缘节点设备划分为Set=0和Set=1的2个Set,一个Set采用256bit的比特串,那么邻居的FBM可以是由2个256bit的比特串组成,分别是对应Set=0的比特串和Set=1的比特串。
对于边缘节点设备A的邻居表项,当BIER报文中的BitString从右往左第1/2/3个bit位为1时,会将该BIER报文向邻居节点B发送。当BIER报文中的BitString从右往左第4个bit位为1时(例如从节点B发给节点A的BIER报文),该表项指示将BIER报文向节点A发送。其中,在图1中使用*A*标识将该BIER报文发送给节点A自己。
对于节点B,该节点B的邻居包括边缘节点设备A、节点C和边缘节点设备E。由于BFR-id=1/2的BFER节点的下一跳均为节点C、BFR-id=3的BFER节点为边缘节点设备E、BFR-id=4的BFER节点为边缘节点设备A,因此,建立节点B的邻居表项:
Nbr=C,FBM=0011。
Nbr=E,FBM=0100。
Nbr=A,FBM=1000。
对于节点C,该节点C的邻居节点包括节点B、边缘节点设备E、边缘节点设备F和边缘节点设备D。由于BFR-id=1的BFER节点为边缘节点设备D、BFR-id=2的BFER节点为边缘节点设备F、BFR-id=3的BFER节点为边缘节点设备E、BFR-id=4的BFER节点的下一跳为节点B,因此,建立节点C的邻居表项:
Nbr=D,FBM=0001。
Nbr=F,FBM=0010。
Nbr=E,FBM=0100。
Nbr=B,FBM=1000。
对于边缘节点设备D,该边缘节点设备D的邻居节点包括节点C。由于BFR-id=2/3/4的BFER节点的下一跳为节点C,因此,建立边缘节点设备D的邻居表项:
Nbr=C,FBM=1110。
对于边缘节点设备E,该边缘节点设备E的邻居节点包括节点B和节点C。由于BFR-id=1/2的BFER节点的下一跳为节点C、BFR-id=4的BFER节点的下一跳为节点B,因此,建立边缘节点设备E的邻居表项:
Nbr=B,FBM=1000。
Nbr=C,FBM=0011。
对于边缘节点设备F,该边缘节点设备F的邻居节点包括节点C。由于BFR-id=1/3/4的 BFER节点的下一跳为节点C,因此,建立边缘节点设备F的邻居表项:
Nbr=C,FBM=1101。
在图1所示的网络中,接收到BIER报文的节点会剥掉BIER头,按照原始组播报文进行转发,报文转发过程如下:
节点A收到组播互联网协议(internet protocol,IP)报文后,封装BIER头。例如,图1中,节点A封装BIER头的BitString为0111。然后节点A会按照BIER转发表Nbr=B,FBM=0111转发。根据转发表,此BIER报文被发送给邻居节点B。节点B收到此BIER报文,根据BitString=0111确定BIER报文需要往节点C和节点E两个邻居分别发送。往节点C发送的时候,节点B会将BIER报文里的BitString与转发表里Nbr=C的表项的FBM字段做与(AND)操作。如图1所示,节点B接收到的BIER报文里的BitString=0111,节点B的转发表里Nbr=C的表项的FBM字段=0011,则AND的结果是0011,节点B将BIER报文里的BitString改为0011后发送至节点C。同理,节点B发送BIER报文给节点E时,会将BIER报文里的BitString改为0100后发送。节点E收到BIER报文后,根据BIER报文BitString=0100确定该BIER报文要往节点E(自己)发送,因此会解封装BIER头,然后根据内层IP报文进行转发,例如可能发给图1中的节点E的组播接收者(multicast receiver,RCV)。节点C接收到节点B发送的BIER报文后,根据BitString=0011确定BIER报文需要发送给节点D和节点F。节点C将BIER报文里的BitString改为0001后发送给节点D,节点D解封装BIER头,然后根据内层IP报文进行转发。例如节点D将BIER报文发送给图1中的节点D的RCV。节点C将BIER报文里的BitString改为0010后发送给节点F,节点F解封装BIER头,然后根据内层IP报文进行转发。例如将BIER报文发送给节点F的RSV。
然而,上述建立转发表,根据转发表转发BIER报文的过程,针对网络中增加链路,网络拓扑发生变化的情况,BIER报文在转发过程中会出现丢包或多包的问题。以在图4所示的网络拓扑中增加节点1与节点3之间的链路为例。在增加节点1与节点3之间的链路前的状态下,节点1的BIER转发表如下:
{(Nbr=Node 1(Self),FBM=0001),
(Nbr=Node 2,FBM=0110)}
在增加节点1与节点3的链路之后的最终状态下,节点1的BIER转发表如下:
{(Nbr=Node 1(Self),FBM=0001),
(Nbr=Node 2,FBM=0010),
(Nbr=Node 3,FBM=0100)}
由于上面的Node3的路径发生变化,从原来的Nbr=Node2切换到Nbr=Node3,需要刷新Nbr=Node 2和Nbr=Node 3这两个表项的FBM,这两个表项的刷新不是原子操作而是有先有后。例如,到达最终状态的过程中,可能是先对Nbr=Node2的表项刷新FBM=0010、再增加Nbr=Node3的表项,那么发送给Node3的报文在Nbr=Node3的表项还未增加时就可能产生丢包。或者,到达最终状态的过程中,可能是先增加Nbr=Node3的表项,再对Nbr=Node2的表项刷新FBM=0010,那么发送给Node3的报文就可能产生多包。
针对该图4中的网络拓扑在新增链路的情况下出现丢包或多包的问题,本申请实施例提供了一种报文转发方法。该方法在将转发路径切换到新的转发表对应的路径之前,先维持在旧的转发路径上转发BIER报文,建立新的转发表后,再切换到新的转发表,然后删除旧的转发表。也就是说,本申请实施例采用先建后删(make before break,MBB)的方式,避免或减轻报文的丢失或者重复。参见图5,本申请实施例提供的方法包括如下几个步骤:
步骤501:目标节点设备确定网络拓扑发生变化时,目标节点设备启动计时器。
网络拓扑发生变化包括新增链路的情况,本申请实施例不对新增链路的情况加以限定。示例性地,该新增的链路可以是之前因故障而断开,后又被修复从而能够连接的链路。仍以图4所示的网络拓扑为例,原来节点1和节点3之间的链路是存在的,但由于故障,节点1和节点3之间的链路断开了。之后,节点1和节点3之间的链路故障被修复,则网络拓扑发生变化,因节点1和节点3之间的链路故障被修复而增加节点1与节点3之间的链路。
除上述因之前故障的链路修复而增加链路的情况之外,网络拓扑中新增的链路也可以是新增一个路由器连到网络中,从而增加了新的链路。例如,仍以图4所示的网络拓扑为例,如果新增加了节点4,且节点4与节点1建立连接,则节点1与节点4之间的链路为新增链路。
本申请实施例中,可以对网络中的节点配置BIER MBB使能,也就是说,该方法中的目标节点设备可以是新增链路之后,发生变化后的网络拓扑中配置了BIER MBB的任意节点。示例性地,目标节点设备具有BIER协议、BIER转发能力及BIER的具体封装下的转发能力,如MPLS封装、以太(Ethernet)封装、互联网协议第6版(internet protocol version 6,IPv6)封装等。本申请实施例不对BIER转发的具体封装类型加以限制。此外,本申请实施例中的该目标节点设备可以是路由器或交换机。
在本申请实施例提供的方法中,网络管理员配置目标节点设备的BIER MBB使能,使目标节点设备具备BIER MBB功能。此外,该计时器指示新的转发表在计时器计时结束之前被建立完成。示例性地,网络管理员除了配置目标节点设备的BIER MBB使能,还可以配置计时器的计时时长。计时器的计时时长的配置可以基于目标节点设备的自身能力来定,如基于目标节点设备的中央处理器(central processing unit,CPU)负荷来定,也可以基于经验来设置。不同目标节点设备配置的计时器的计时时长可以相同,也可以不同,本申请实施例对此不加以限定,只要能够确保新的转发表建立完成即可。
步骤502:在计时器计时结束之前,目标节点设备采用旧的转发表转发BIER报文和建立新的转发表。
旧的转发表为网络拓扑发生变化前,目标节点设备使用的转发表;新的转发表为目标节点设备基于变化后的网络拓扑建立的转发表。网络拓扑发生变化后,目标节点设备在计时器的计时结束之前,如果收到BIER报文,则采用旧的转发表转发该BIER报文,且建立新的转发表。
需要说明的是,当网络拓扑发生变化时,可以在启动计时器之前建立新的转发表,也可以在启动计时器之后建立新的转发表,还可以启动计时器的同时,建立新的转发表。由于计时器指示新的转发表在计时器计时结束之前被建立完成,针对在启动计时器之前建立新的转发表的情况,计时器的计时时长小于新的转发表的建立时长。针对在启动计时器之后建立新的转发表的情况,计时器的计时时长大于新的转发表的建立时长。针对启动计时器的同时,建立新的转发表的情况,计时器的计时时长可以等于新的转发表的建立时长。其中,新的转发表的建立时长为开始建立新的转发表的时刻到新的转发表建立完成的时刻之间的时间长度。
由于增加了一个链路,因而有可能会导致目标节点设备按照原转发路径发给目的节点的BIER报文又被发回给了目标节点设备。也就是说,维持在旧的转发表转发BIER报文,有可能因报文转发路径存在环路,而导致出现链路拥塞等问题。因此,维持在旧的转发表上进行BIER报文转发需要判断报文转发路径是否会存在环路。作为一种示例性实施例,当网络拓扑发生变化时,该方法还包括:基于旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;本实施例中,启动计时器之前,目标节点设备基于旧的转发表确定网络拓扑发生变化后的报文转发路径不存在环路,从而在计时器的计时结束之前,采用旧的转发表转发BIER报文和建立新的转发表。通过在确定网络拓扑发生变化后的报文转发路径不存在环路的情况下,在计时器的计时结束之前,采用旧的转发表转发BIER报文和建立新的转发表,由此可以防止采用旧的转发表转发BIER报文时,出现环路,导致链路拥塞等 问题。
关于基于旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路的方式,包括但不限于如下两种方式:
方式一:对于旧的转发表中目标节点设备的任一邻居,目标节点设备确定任一邻居的转发位掩码所代表的每个边缘节点设备在变化后的网络拓扑下的路径是否会经过目标节点设备;当任一边缘节点设备在变化后的网络拓扑下的路径会经过目标节点设备时,确定网络拓扑发生变化后的报文转发路径存在环路;当每个边缘节点设备在变化后的网络拓扑下的路径均不会经过目标节点设备时,确定网络拓扑发生变化后的报文转发路径不存在环路。
其中,报文转发路径包括第一路径和在变化后的网络拓扑下计算出来的第二路径,第一路径为目标节点设备到旧的转发表中目标节点设备的每个邻居的路径,第二路径以旧的转发表中目标节点设备的每个邻居为起点,且以目标节点设备的每个邻居的转发位掩码所代表的边缘节点设备为终点,存在环路是指第二路径经过目标节点设备。
仍以图4所示的网络拓扑中的节点1为目标节点设备为例,因为增加节点1到节点3之间的链路,节点1感知到网络拓扑发生变化,则节点1判断当前的BIER转发表所对应的报文转发路径是否会因为本次拓扑的变化而存在环路,即判断转发表中节点1的每个邻居的FBM所代表的每个边缘节点设备在变化后的网络拓扑下的路径是否会经过节点1。其中,旧的转发表中,节点1的邻居包括节点2,则节点1到节点2的路径为第一路径。第二路径以节点2为起点,以节点2的转发位掩码所代表的边缘节点设备为终点。如果判断转发表中节点1的每个邻居的FBM所代表的每个边缘节点设备在变化后的网络拓扑下的路径不会经过节点1,则执行MBB的过程,即:保持现有的BIER转发表(bit indexed forwarding table,BIFT)1不变,新增一个BIER转发表BIFT 2,然后将报文转发路径设置为使用新的转发表,将旧的转发表切换到新的转发表,再删除旧的转发表。
其中,由于新增一个BIFT转发表后,可能会等待一定的时间才会设置转发路径为新的转发表,因为在路由器这样的系统中,下发转发表的过程也需要时间,下发过程可能是一个异步的过程,即下发程序不感知下发是否已经完成。以计时器的计时时长为500毫秒为例,当计时器计时结束时再设置转发路径为新的转发表;该计时器的计时时长配置之后,可以是从感知网络拓扑发生变化即开始启动计时器计时。
示例性地,Node1当前的转发表BIFT 1如下:
{(Nbr=Node1(Self),FBM=0001),
(Nbr=Node2,FBM=0110)}
Node1节点对Node1的每个Nbr节点(不含自身)的FBM所代表的BFER节点,确定在变化后的网络拓扑下的报文转发路径是否会经过节点1,即从该邻居走回到节点1。
例如,可以通过公式Distance(2_X)<Distance(2_1)+Distance(1_X),或者D(2_X)<D(2_1)+D(1_X)进行判断。其中,D(X_Y)代表从节点X到节点Y的路径开销。
由于Node1的邻居节点为Node2,则对Nbr<Node2>的FBM<0110>所代表的是Node2 和Node3,分别用上面的公式判断:
D(2_2)<D(2_1)+D(1_2)
D(2_3)<D(2_1)+D(1_3)
如果图4所示的链路之间的开销(cost)相同,则对于图4所示的网络拓扑,上述公式都满足,则当前的转发表BIFT 1不会因为拓扑变化而存在环路,因此,Node1可以执行MBB操作。
方式二:以旧的转发表中目标节点设备的每个邻居为根,在发生变化后的网络拓扑下建立最短路径树;遍历最短路径树上经过目标节点设备到达的各个边缘节点设备的标识,得到比特串;将比特串与邻居的转发位掩码进行与操作;当结果为0时,确定网络拓扑发生变化后的报文转发路径不存在环路;当结果为非0时,确定网络拓扑发生变化后的报文转发路径存在环路。
例如,以Node1的旧的转发表中Node1的每个邻居(例如2)为根,在发生变化后的网络拓扑下建立SPT树,遍历该SPT树上经过Node1能到达的各个节点的BFR-id并构成BitString(BitStringx),然后再与该邻居的FBM(FBMx)进行AND操作,即(BSx AND FBMx),如果结果为非0则表示存在环路。
对于图4的网络拓扑,Node1的转发表只有一个邻居2,其FBMx=110,在发生变化后的网络拓扑下,SPT树经过Node1的节点只有Node1,对应的BitStringx=001,BitStringx AND FBMx=0,因此对该邻居来说在发生变化后的网络拓扑下是不存在环路的。
步骤503:在计时器计时结束之后,目标节点设备将旧的转发表切换到新的转发表,按照新的转发表转发BIER报文。
当计时器计时结束之后,将旧的转发表切换到新的转发表,按照新的转发表转发BIER报文,该过程可以采用原子操作或单表项操作。
仍以图4所示的网络拓扑为例,针对接收到的BIER报文,Node1收到BIER报文后将向Node2和Node3转发,Node1会在基于旧的转发表确定网络拓扑发生变化后的报文转发路径不存在环路时,启动计时器,保持在旧的转发表上一段时间,即在计时器计时结束之后,再切换到新的转发表上,之后还可将旧的转发表进行删除。网络中可能Node1/Node2/Node3都配置了BIER MBB使能,则在此过程中,每个节点设备均按照上述Node1的操作进行判断和处理。对于Node3也会按上述流程进行判断和处理,对于Node1按照旧的转发表转发报文和按照新的转发表转发报文的情况分别如下:
(1)Node1按照旧的转发表,即按照老的转发路径1->2->3进行BIER报文转发,按照上述报文转发过程中各个节点设备的操作,Node3收到BIER报文时只有BitString(0100)了,无论Node3是在其旧的转发路径或其新的转发路径转发BIER报文,BIER报文的转发结果都没有影响,即Node3接收从Node1发来的BIER报文不会出现丢包的情况。
(2)Node1按照新的转发表,即按照新的转发路径1->2/3进行BIER报文转发,Node3收到BIER报文时也只有BitString(0100)了,无论Node3是在其旧的转发路径或其新的转发路径转发BIER报文,BIER报文转发结果都没有影响,即Node3接收从Node1发来的BIER报文不会出现丢包的情况。
本申请实施例提供的方法,在网络拓扑发生变化时,启动计时器,通过在计时器计时 结束之前,采用旧的转发表转发BIER报文和建立新的转发表,在计时器计时结束之后再将旧的转发表切换到新的转发表,采用新的转发表转发BIER报文,从而避免或减少丢包或多包情况的发生。此外,基于旧的转发表确定网络拓扑发生变化后的报文转发路径不存在环路时再启动计时器,避免存在环路时产生链路拥塞,提高了报文转发的可靠性,进一步减少丢包或多包的情况发生概率。
需要说明的是,以上仅以网络拓扑发生变化时,目标节点设备基于旧的转发表确定网络拓扑发生变化后的报文转发路径不存在环路的情况进行说明,针对存在环路的情况,本申请实施例提供的方法包括但不限于如下两种处理方式:
处理方式一:当网络拓扑发生变化时,该方法还包括:当基于旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,目标节点设备不启动计时器,目标节点设备建立新的转发表,在新的转发表建立完成后,将旧的转发表切换到新的转发表,按照新的转发表转发BIER报文。
该种方式下,采用上述基于旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路的方式,在基于旧的转发表确定网络拓扑发生变化后的路径转发路径存在环路时,不启动计时器,直接建立新的转发表,在新的转发表建立完成后,将旧的转发表切换到新的转发表,按照新的转发表转发BIER报文。
处理方式二:当网络拓扑发生变化时,该方法还包括:当基于旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,目标节点设备不启动计时器,目标节点设备基于变化后的网络拓扑对旧的转发表进行刷新,按照刷新后的转发表转发BIER报文。
该种方式下,采用上述基于旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路的方式,当基于旧的转发表确定报文转发路径在网络拓扑发生变化后存在环路时,不启动计时器,也不建立新的转发表,而是基于变化后的网络拓扑对旧的转发表进行刷新,按照刷新后的转发表转发报文。
上述处理方式一和处理方式二中,报文转发路径包括第一路径和在变化后的网络拓扑下计算出来的第二路径,第一路径为目标节点设备到旧的转发表中目标节点设备的每个邻居的路径,第二路径以旧的转发表中目标节点设备的每个邻居为起点,且以目标节点设备的每个邻居的转发位掩码所代表的边缘节点设备为终点,存在环路是指第二路径经过目标节点设备。
由于存在环路会导致链路拥塞等问题,因而当确定存在环路时,不启动计时器,避免或降低链路拥塞的情况发生。
为了便于理解上述本申请实施例提供的方法,接下来将以上述图4所示的场景之外的其他几种不同的场景来举例说明。
场景一:四台设备组网,新增链路之后的拓扑结构图及各链路的开销如图6中的(1)所示。该场景下有多种新增链路的情况,针对每种新增链路时的报文转发过程如下:
(1)新增节点1与节点2之间的链路
如图6中的(2)所示,Node1基于旧的转发表按照如下判断方式确定网络拓扑发生变化后的报文转发路径不存在环路,延迟收敛,即在计时器的计时结束之前,继续节点1to节点3<1110>转发BIER报文,当计时器的计时结束之后,将旧的转发表切换到新的转发表,按照新的转发表转发BIER报文。
判断方式一,邻居节点3到邻居节点3的FBM<1110>所有节点不会走节点1。
判断方式二,为邻居节点3计算出新SPT树,FBM各节点满足公式D(3_X)<D(3_1)+D(1_X)。
以流量从节点1接收后往节点2/3/4发送为例,节点2的收敛对报文转发结果无影响,因为节点2的收敛只对BFER=1有影响,而BIER报文从达到节点2时其BitString并没有包含BFER=1。
(2)新增节点2与节点4之间的链路
如图6中的(3)所示,节点2基于旧的转发表按照如下判断方式确定网络拓扑发生变化后的报文转发路径不存在环路,延迟收敛,即在计时器的计时结束之前,继续节点2to节点1<1101>)转发BIER报文,当计时器的计时结束之后,将旧的转发表切换到新的转发表,按照新的转发表转发BIER报文。
判断方式一,邻居节点1到邻居节点1的FBM<1101>所有节点不会走节点2。
判断方式二,为邻居节点1计算出新SPT树,FBM<1101>各节点满足公式D(1_X)<D(1_2)+D(2_X)。
示例性地,以流量从节点2接收后往节点1/3/4发送为例,节点3的收敛对报文转发结果无影响,因为节点3的收敛只对BFER=2有影响,而报文从达到节点3时其BitString并没有包含BFER=2;同理,节点4的收敛对报文转发结果无影响,因为节点4的收敛只对BFER=2有影响,而报文从达到节点4时其BitString并没有包含BFER=2。
示例性地,以流量从节点4接收后往节点1/2/3发送为例,由于发<0010>给节点3的报文会被发回来,节点4基于旧的转发表按照如下的判断方式确定网络拓扑发生变化后的报文转发路径存在环路,因而不延迟收敛。
判断方式一,邻居节点3到邻居节点3的FBM<0111>所有节点中,由于BFR-id=2的报文会走节点4,因而不满足邻居节点3到邻居节点3的FBM<0111>所有节点都不会走节点4的条件。
判断方式二,为邻居节点3计算出新SPT树,BFR-id=2不满足公式D(3_2)<D(3_4)+D(4_2)。
需要说明的是,虽然对于<0111>的BIER报文不能延迟收敛,但对于流量为<0101>的BIER报文不受影响,只有流量包含BFR-id=2的BIER报文才会受到影响。
(3)新增节点3与节点4之间的链路
如图6中的(4)所示,节点3基于旧的转发表按照如下判断方式确定网络拓扑发生变化后的报文转发路径存在环路,由于发<1000>给节点1的BIER报文会被发回来,因而不延迟收敛。
判断方式一,邻居节点1到邻居节点1的FBM<1011>所有节点中,由于BFR-id=4的报文会走节点3,因而不满足邻居节点1到邻居节点1的FBM<1011>所有节点不会走节点3的条件。
判断方式二,为邻居节点1计算出新SPT树,BFR-id=4不满足公式D(1_4)<D(1_3)+D(3_4)。
以流量从节点3收到为例,节点3基于旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路,从而不启动计时器,而是在新的转发表建立完成之后,立即回切到新的转发表,或者刷新旧的转发表,那么本申请实施例中所配置的MBB无效。
场景二:六台设备组网,新增链路之后的拓扑结构图及各链路的开销如图7中的(1)所示。该场景下有多种新增链路的情况,针对每种新增链路时的报文转发过程如下:
(1)新增节点1与节点2之间的链路
如图7中的(2)所示,节点2基于旧的转发表按照如下判断方式确定网络拓扑发生变化后的报文转发路径不存在环路,延迟收敛,即在计时器的计时结束之前,继续节点2to节点4<111101>转发BIER报文,当计时器的计时结束之后,将旧的转发表切换到新的转发 表,按照新的转发表转发BIER报文。
判断方式一,邻居节点4到邻居节点4的FBM<111101>所有节点不会走节点2。
判断方式二,为邻居节点1计算出新SPT树,FBM<111101>各节点满足公式D(4_X)<D(4_2)+D(2_X)。
其中,节点1的收敛对于BFER=2对报文转发结果无影响,以流量从节点2收到为例,往节点1/3/4/5/6发送(BitString=111101),可以做到不丢包。
(2)新增节点2与节点4之间的链路
如图7中的(3)所示,节点2基于旧的转发表按照如下判断方式确定网络拓扑发生变化后的报文转发路径不存在环路,延迟收敛,即在计时器的计时结束之前,继续节点2to节点1<111101>转发BIER报文,当计时器的计时结束之后,将旧的转发表切换到新的转发表,按照新的转发表转发BIER报文。
判断方式一,邻居节点1到邻居节点1的FBM<111101>所有节点不会走节点2。
判断方式二,为邻居节点1计算出新SPT树,FBM<111101>各节点满足公式D(1_X)<D(1_2)+D(2_X)。
其中,节点4的收敛对于BFER=2对报文转发结果无影响。因为BFER=2的节点会走节点4,节点4基于旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路。
以流量从节点2收到为例,因为节点4的收敛只对BFER=2有影响,而BIER报文从达到节点4时其BitString并没有包含BFER=2。按照本申请实施例提供的方法可以做到报文不丢包。
(3)新增节点3与节点4之间的链路
如图7中的(4)所示,以流量从节点2收到为例,转发路径包括2->1->3;2->4->6->5;当增加节点3与节点4之间的链路时:
对于节点2的处理,原来的邻居节点1承接1/3,邻居节点4承接2/4/6/5,邻居节点1到邻居节点1的FBM<000101>所有节点不会走节点2;邻居节点4到邻居节点4的FBM<111000>所有节点不会走节点2,因而网络拓扑发生变化后的报文转发路径不存在环路,可以延迟收敛。
对于节点3的处理,由2个邻居变为3个邻居,由于BFER=4的节点会走节点3,因而报文转发路径会存在环路,但节点3的收敛过程不影响从节点2发出来到达节点3的BIER报文。
对于节点4的处理,由2个邻居变为3个邻居,由于BFER=3的节点会走节点4,因而报文转发路径会存在环路,但节点4的收敛过程不影响从节点2发出来到达节点4的BIER报文。
(4)新增节点4与节点6之间的链路
如图7中的(5)所示,以流量从节点2收到为例,转发路径包括2->1;2->4->3->5->6;增加节点4与节点6之间的链路时:
对节点2的处理,原来的邻居节点1承接1,邻居节点4承接3/4/5/6,由于邻居节点1到邻居节点1的FBM<000001>所有节点不会走节点2;邻居节点4到邻居节点4的FBM<111101>所有节点不会走节点2;因而报文转发路径不存在环路(两个邻居的FBM都没有变化),可以延迟收敛。
对节点4的处理,由2个邻居变为3个邻居,报文转发路径不会存在环路,可以延迟收敛。
对节点6的处理,由1个邻居变为2个邻居,因为BFER=4导致存在环路,不延迟收敛;但收敛过程不影响从节点2发出来到达节点6的BIER报文。
以流量从节点1收到为例,转发路径包括1->2;1->3->4/5;5->6;增加节点4与节点6之间的链路时:
对于节点1的处理,原来的邻居节点2承接2;邻居节点3承接3/4/5/6;两个邻居的FBM都没有变化,报文转发路径不会存在环路,可以延迟收敛。
通过上述过程,最终整个从节点1发送到节点2/3/4/5/6的流量可以做到不丢包。
(5)新增节点5与节点6之间的链路
如图7中的(6)所示,以流量从节点2收到为例,转发路径包括2->1;2->4->3/6;3->5;增加节点5与节点6之间的链路时:
对于节点5的处理,由1个邻居变为2个邻居,由于BFER=6导致报文转发路径会存在环路,不延迟收敛。
对于节点6的处理,由1个邻居变为2个邻居,由于BFER=5导致报文转发路径会存在环路,因而不延迟收敛,但收敛过程不影响无丢包。
对于节点2的处理,原来的邻居节点1承接1,邻居节点4承接3/4/5/6,由于邻居节点1到邻居节点1的FBM<000001>所有节点不会走节点2,邻居节点4到邻居节点4的FBM<111101>所有节点不会走节点2,因而两个邻居的FBM都没有变化,报文转发路径不会存在环路,可以延迟收敛。
通过上述过程,此场景下可以做到增加链路时不丢包。
此外,除上述几种场景外,针对负载分担转发的场景,本实施例提供的方法同样适用。在负载分担转发的场景下,在计时器计时结束之前,目标节点设备采用旧的转发表转发BIER报文和建立新的转发表,包括:在计时器计时结束之前,采用旧的负载分担转发的多表项转发BIER报文,按照负载分担的路径数量建立新的负载分担转发的多表项。
相应的,在计时器计时结束之后,目标节点设备将旧的转发表切换到新的转发表,按照新的转发表转发报文,包括:在计时器计时结束之后,目标节点设备将旧的负载分担转发的多表项转发表切换到新的负载分担转发的多表项,按照新的负载分担转发的多表项转发报文。
上述多转发表的情况,报文转发过程与上述图5所示的方法流程原理一致,此处不再一一赘述。为了便于理解,接下来,以如下场景三所示的负载分担转发的场景为例,对报文转发过程进行举例说明。
场景三:有负载分担链路情况的组网,新增链路之后的拓扑结构图如图8所示。该拓扑结构图中各链路的开销相同,1、2、5、6、7、8是BFER节点,BFR-id分别是1、2、5、6、7、8。没有故障的情况下,节点1到所有其它BFER节点都有4条路径,分别是通过邻居B所经过的路径、通过邻居R所经过的路径、通过邻居G所经过的路径、通过邻居P所经过的路径。以节点1与节点B之间的链路故障后又恢复,节点1到各BFER的路径从3条变为4条为例。
本实施例中节点1配置使用BIER的多表项进行负载分担(RFC8279),配置了4路负载分担,即负载分担的路径数量为4,负载分担的表如下,其中邻居为自己的表项省略:
BIFT 1:{(Nbr=R,FBM=1111 0010)}
BIFT 2:{(Nbr=G,FBM=1111 0010)}
BIFT 3:{(Nbr=P,FBM=1111 0010)}
BIFT 4:{(Nbr=R,FBM=1111 0010)}
以当前有400条组播流,每个BIFT表有100条组播流,其中经过邻居R的有200条组播流、经过邻居G的有100条组播流、经过邻居P的有100条组播流为例,则增加一个链路后,上面的表项可能会变为如下:
BIFT 1:{(Nbr=B,FBM=1111 0010)}
BIFT 2:{(Nbr=R,FBM=1111 0010)}
BIFT 3:{(Nbr=G,FBM=1111 0010)}
BIFT 4:{(Nbr=P,FBM=1111 0010)}
可以看出,这里每一个BIFT表都发生了变化,BIFT 1从Nbr=R变为Nbr=B;BIFT 2从Nbr=G变为Nbr=R;BIFT 3从Nbr=P变为Nbr=G;BIFT 4从Nbr=R变为Nbr=P。
该种情况下,会存在增加链路可能会导致丢包或多包的问题。例如,如果链路故障以后直接刷新BIFT表,对上面的BIFT 1而言,可能是新删除Nbr=R的表项再添加Nbr=B的表项,那么会出现断流;如果先添加Nbr=B的表项再添加Nbr=R的表项,那么会出现多包。针对该问题一,例如针对上面的BIFT1的转发情况,先建立一个BIFT 1’的新表项,一定的时间后,即计时器的计时结束之后,将转发表项更改为BIFT 1’,实现不丢包。
为了解决上述问题,本申请实施例提供的方法中,为各节点配置BIER MBB使能,以及配置一个计时器的计时时长。如图8所示,新增链路(节点1-节点B)时,以流量从节点1收到为例,节点1判断是否存在环路,判断方式如下:
对于当前的BIFT 1表项,邻居节点R到邻居节点R的FBM<11110010>所有节点都不会走到节点1;对于当前的BIFT 2表项,邻居节点G到邻居节点G的FBM<11110010>所有节点都不会走到节点1;对于当前的BIFT 3表项,邻居节点P到邻居节点P的FBM<11110010>所有节点都不会走到节点1;对于当前的BIFT 4表项,邻居节点R到邻居节点R的FBM<11110010>所有节点都不会走到节点1。
由于上述所有条件都满足,说明原负载分担的4个表项都可以继续在原路径上转发,因此,可以启动计时器。
示例性地,在计时器计时结束之前,生成新的负载分担转发的多表项,例如,初始的情况下,使用如下的多表负载分担转发索引,即多BIER转发表索引(multiple BIFT index,MBI),例如MBI1;
多表负载分担转发索引:MBI1={BIFT 1,BIFT 2,BIFT 3,BIFT4}
BIER转发表如下:
BIFT 1:{(Nbr=R,FBM=1111 0010)}
BIFT 2:{(Nbr=G,FBM=1111 0010)}
BIFT 3:{(Nbr=P,FBM=1111 0010)}
BIFT 4:{(Nbr=R,FBM=1111 0010)}
计时器计时过程中,新增加一个多表负载分担转发索引表,及对应的转发表:
MBI2={BIFT 21,BIFT 22,BIFT 23,BIFT24}
BIFT 21:{(Nbr=B,FBM=1111 0010)}
BIFT 22:{(Nbr=R,FBM=1111 0010)}
BIFT 23:{(Nbr=G,FBM=1111 0010)}
BIFT 24:{(Nbr=P,FBM=1111 0010)}
然后再在计时器计时结束后更改转发表为:多表负载分担转发索引=MBI2;
这种方法下,需要以此判断BIFT 1、2、3、4的转发表在发生变化后的网络拓扑下报文转发路径是否会存在环路,确定不存在环路后再切换新的负载分担转发的多表项。
综上所述,本申请实施例提供的方法,在新增链路时,通过在计时器计时结束之前,采用旧的负载分担转发的多表项转发BIER报文,按照负载分担的路径数量建立新的负载分担转发的多表项,当计时器计时结束之后,再将旧的负载分担转发的多表项切换到新的负载分担转发的多表项,采用新的负载分担转发的多表项转发BIER报文,从而避免或减少丢包或多包情况的发生。
本申请实施例提供了一种报文转发节点设备,该报文转发节点设备用于转发BIER报文,参见图9,该报文转发节点设备包括:
启动模块901,用于确定网络拓扑发生变化时,启动计时器;
转发模块902,用于在计时器计时结束之前,采用旧的转发表转发BIER报文,旧的转发表为网络拓扑发生变化前报文转发节点设备使用的转发表;
建立模块903,用于在计时器计时结束之前,建立新的转发表,新的转发表为报文转发节点设备基于变化后的网络拓扑建立的转发表,计时器指示新的转发表在计时器计时结束之前被建立完成;
转发模块902,还用于在计时器计时结束之后,将旧的转发表切换到新的转发表,按照新的转发表转发BIER报文。
作为一种示例性实施例,参见图10,该报文转发节点设备还包括:
确定模块904,用于当网络拓扑发生变化时,基于旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;
启动模块901启动计时器之前,确定模块904基于旧的转发表确定网络拓扑发生变化后的报文转发路径不存在环路。
作为一种示例性实施例,参见图10,该报文转发节点设备还包括:
确定模块904,用于当网络拓扑发生变化时,基于旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;
当基于旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,启动模块901不启动计时器,建立模块903建立新的转发表,转发模块902在新的转发表建立完成后,将旧的转发表切换到新的转发表,按照新的转发表转发BIER报文。
作为一种示例性实施例,参见图10,该报文转发节点设备还包括:
确定模块904,用于当网络拓扑发生变化时,基于旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;
当基于旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,启动模块901不启动计时器,转发模块902,用于基于变化后的网络拓扑对旧的转发表进行刷新,按照刷新后的转发表转发BIER报文。
作为一种示例性实施例,报文转发路径包括第一路径和在变化后的网络拓扑下计算出来的第二路径,第一路径为目标节点设备到旧的转发表中目标节点设备的每个邻居的路径,第二路径以旧的转发表中目标节点设备的每个邻居为起点,且以目标节点设备的每个邻居的转发位掩码所代表的边缘节点设备为终点,存在环路是指第二路径经过目标节点设备。
作为一种示例性实施例,确定模块904,用于对于旧的转发表中目标节点设备的任一邻居,确定任一邻居的转发位掩码所代表的每个边缘节点设备在变化后的网络拓扑下的路径是否会经过目标节点设备;当任一边缘节点设备在变化后的网络拓扑下的路径会经过目标节点设备时,确定网络拓扑发生变化后的报文转发路径存在环路;当每个边缘节点设备在变化后的网络拓扑下的路径均不会经过目标节点设备时,确定网络拓扑发生变化后的报文转发路径不存在环路。
作为一种示例性实施例,确定模块904,用于以旧的转发表中目标节点设备的每个邻居为根,在发生变化后的网络拓扑下建立最短路径树;遍历最短路径树上经过目标节点设备到达的各个边缘节点设备的标识,得到比特串;将比特串与目标节点设备的邻居的转发位掩码进行与操作;当结果为0时,确定网络拓扑发生变化后的报文转发路径不存在环路;当结果为非0时,确定网络拓扑发生变化后的报文转发路径存在环路。
作为一种示例性实施例,转发模块902,用于在计时器计时结束之前,采用旧的负载分担转发的多表项转发BIER报文;
建立模块903,用于按照负载分担的路径数量建立新的负载分担转发的多表项;
转发模块902,用于在计时器计时结束之后,将旧的负载分担转发的多表项转发表切换到新的负载分担转发的多表项,按照新的负载分担转发的多表项转发BIER报文。
应理解的是,上述图9或图10提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11为本申请实施例的报文转发节点设备1100的硬件结构示意图。图11所示的报文转发节点设备1100可以执行上述实施例的方法中报文转发节点设备执行的相应步骤。
如图11所示,所述报文转发节点设备1100包括处理器1101、存储器1102、接口1103和总线1104。其中接口1103可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器1101、存储器1102和接口1103通过总线1104连接。
所述接口1103具体可以包括发送器和接收器,用于报文转发节点设备与上述实施例中的其他节点设备之间收发信息。例如,所述接口1103用于支持接收邻居节点设备发送的BIER报文。所述处理器1101用于执行上述实施例中由报文转发节点设备进行的处理。例 如,所述处理器1101用于确定网络拓扑发生变化时,启动计时器;在所述计时器计时结束之前,采用旧的转发表转发所述BIER报文和建立新的转发表,所述旧的转发表为网络拓扑发生变化前所述目标节点设备使用的转发表,所述新的转发表为所述目标节点设备基于变化后的网络拓扑建立的转发表,所述计时器指示所述新的转发表在所述计时器计时结束之前被建立完成;在所述计时器计时结束之后,将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。所述处理器1101和/或用于本文所描述的技术的其他过程。作为举例,所述处理器1101用于支持图5中的步骤501至步骤503。存储器1102包括操作系统11021和应用程序11022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及报文转发节点设备的处理过程。可选的,所述存储器1102可以包括只读存储器(英文:Read-only Memory,缩写:ROM)和随机存取存储器(英文:Random Access Memory,缩写:RAM)。其中,所述ROM包括基本输入/输出系统(英文:Basic Input/Output System,缩写:BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行报文转发节点设备1100时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导报文转发节点设备1100进入正常运行状态。在报文转发节点设备1100进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及报文转发节点设备的处理过程。
可以理解的是,图11仅仅示出了报文转发节点设备1100的简化设计。在实际应用中,报文转发节点设备可以包含任意数量的接口,处理器或者存储器。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如上任一所述的报文转发方法。
本申请提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk)等。
以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (18)

  1. 一种报文转发方法,其特征在于,所述方法用于转发基于比特索引的显式复制BIER报文,所述方法包括:
    目标节点设备确定网络拓扑发生变化时,所述目标节点设备启动计时器;
    在所述计时器计时结束之前,所述目标节点设备采用旧的转发表转发所述BIER报文和建立新的转发表,所述旧的转发表为网络拓扑发生变化前所述目标节点设备使用的转发表,所述新的转发表为所述目标节点设备基于变化后的网络拓扑建立的转发表,所述计时器指示所述新的转发表在所述计时器计时结束之前被建立完成;
    在所述计时器计时结束之后,所述目标节点设备将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。
  2. 根据权利要求1所述的方法,其特征在于,当所述目标节点设备确定网络拓扑发生变化时,所述方法还包括:
    所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;
    启动所述计时器之前,所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径不存在环路。
  3. 根据权利要求1所述的方法,其特征在于,当所述目标节点设备确定网络拓扑发生变化时,所述方法还包括:
    所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;
    当基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,所述目标节点设备不启动计时器,所述目标节点设备建立新的转发表,在所述新的转发表建立完成后,将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。
  4. 根据权利要求1所述的方法,其特征在于,当所述目标节点设备确定网络拓扑发生变化时,所述方法还包括:
    所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;
    当基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,所述目标节点设备不启动计时器,所述目标节点设备基于变化后的网络拓扑对旧的转发表进行刷新,按照刷新后的转发表转发所述BIER报文。
  5. 根据权利要求2-4任一所述的方法,其特征在于,所述报文转发路径包括第一路径和在变化后的网络拓扑下计算出来的第二路径,所述第一路径为所述目标节点设备到所述旧的转发表中所述目标节点设备的每个邻居的路径,所述第二路径以所述旧的转发表中所述目标节点设备的每个邻居为起点,且以所述目标节点设备的每个邻居的转发位掩码所代表的边缘节点设备为终点,所述存在环路是指所述第二路径经过所述目标节点设备。
  6. 根据权利要求2-5任一所述的方法,其特征在于,所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路,包括:
    对于所述旧的转发表中所述目标节点设备的任一邻居,所述目标节点设备确定所述任一邻居的转发位掩码所代表的每个边缘节点设备在变化后的网络拓扑下的路径是否会经过所述目标节点设备;
    当任一边缘节点设备在变化后的网络拓扑下的路径会经过所述目标节点设备时,确定网络拓扑发生变化后的报文转发路径存在环路;
    当每个边缘节点设备在变化后的网络拓扑下的路径均不会经过所述目标节点设备时,确定网络拓扑发生变化后的报文转发路径不存在环路。
  7. 根据权利要求2-5任一所述的方法,其特征在于,所述目标节点设备基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路,包括:
    所述目标节点设备以所述旧的转发表中所述目标节点设备的每个邻居为根,在发生变化后的网络拓扑下建立最短路径树;
    遍历所述最短路径树上经过所述目标节点设备到达的各个边缘节点设备的标识,得到比特串;
    将所述比特串与所述目标节点设备的邻居的转发位掩码进行与操作;
    当结果为0时,确定网络拓扑发生变化后的报文转发路径不存在环路;
    当结果为非0时,确定网络拓扑发生变化后的报文转发路径存在环路。
  8. 根据权利要求1-7任一所述的方法,其特征在于,所述在所述计时器计时结束之前,所述目标节点设备采用旧的转发表转发所述BIER报文和建立新的转发表,包括:
    在所述计时器计时结束之前,所述目标节点设备采用旧的负载分担转发的多表项转发所述BIER报文,按照负载分担的路径数量建立新的负载分担转发的多表项;
    所述在所述计时器计时结束之后,所述目标节点设备将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文,包括:
    在所述计时器计时结束之后,所述目标节点设备将所述旧的负载分担转发的多表项转 发表切换到所述新的负载分担转发的多表项,按照所述新的负载分担转发的多表项转发所述BIER报文。
  9. 一种报文转发节点设备,其特征在于,所述报文转发节点设备用于转发基于比特索引的显式复制BIER报文,所述报文转发节点设备包括:
    启动模块,用于确定网络拓扑发生变化时,启动计时器;
    转发模块,用于在所述计时器计时结束之前,采用旧的转发表转发所述BIER报文,所述旧的转发表为网络拓扑发生变化前所述报文转发节点设备使用的转发表;
    建立模块,用于在所述计时器计时结束之前,建立新的转发表,所述新的转发表为所述报文转发节点设备基于变化后的网络拓扑建立的转发表,所述计时器指示所述新的转发表在所述计时器计时结束之前被建立完成;
    所述转发模块,还用于在所述计时器计时结束之后,将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。
  10. 根据权利要求9所述的报文转发节点设备,其特征在于,所述报文转发节点设备还包括:
    确定模块,用于当网络拓扑发生变化时,基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;
    所述启动模块启动所述计时器之前,所述确定模块基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径不存在环路。
  11. 根据权利要求9所述的报文转发节点设备,其特征在于,所述报文转发节点设备还包括:
    确定模块,用于当网络拓扑发生变化时,基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;
    当基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,所述启动模块不启动计时器,所述建立模块建立新的转发表,所述转发模块在所述新的转发表建立完成后,将所述旧的转发表切换到所述新的转发表,按照所述新的转发表转发所述BIER报文。
  12. 根据权利要求9所述的报文转发节点设备,其特征在于,所述报文转发节点设备还包括:
    确定模块,用于当网络拓扑发生变化时,基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径是否存在环路;
    当基于所述旧的转发表确定网络拓扑发生变化后的报文转发路径存在环路时,所述启动模块不启动计时器,所述转发模块,用于基于变化后的网络拓扑对旧的转发表进行刷新,按照刷新后的转发表转发所述BIER报文。
  13. 根据权利要求10-12任一所述的报文转发节点设备,其特征在于,所述报文转发路径包括第一路径和在变化后的网络拓扑下计算出来的第二路径,所述第一路径为所述目标节点设备到所述旧的转发表中所述目标节点设备的每个邻居的路径,所述第二路径以所述旧的转发表中所述目标节点设备的每个邻居为起点,且以所述目标节点设备的每个邻居的转发位掩码所代表的边缘节点设备为终点,所述存在环路是指所述第二路径经过所述目标节点设备。
  14. 根据权利要求10-13任一所述的报文转发节点设备,其特征在于,所述确定模块,用于对于所述旧的转发表中所述目标节点设备的任一邻居,确定所述任一邻居的转发位掩码所代表的每个边缘节点设备在变化后的网络拓扑下的路径是否会经过所述目标节点设备;当任一边缘节点设备在变化后的网络拓扑下的路径会经过所述目标节点设备时,确定网络拓扑发生变化后的报文转发路径存在环路;当每个边缘节点设备在变化后的网络拓扑下的路径均不会经过所述目标节点设备时,确定网络拓扑发生变化后的报文转发路径不存在环路。
  15. 根据权利要求10-13任一所述的报文转发节点设备,其特征在于,所述确定模块,用于以所述旧的转发表中所述目标节点设备的每个邻居为根,在发生变化后的网络拓扑下建立最短路径树;遍历所述最短路径树上经过所述目标节点设备到达的各个边缘节点设备的标识,得到比特串;将所述比特串与所述目标节点设备的邻居的转发位掩码进行与操作;当结果为0时,确定网络拓扑发生变化后的报文转发路径不存在环路;当结果为非0时,确定网络拓扑发生变化后的报文转发路径存在环路。
  16. 根据权利要求9-15任一所述的报文转发节点设备,其特征在于,所述转发模块,用于在所述计时器计时结束之前,采用旧的负载分担转发的多表项转发所述BIER报文;
    所述建立模块,用于按照负载分担的路径数量建立新的负载分担转发的多表项;
    所述转发模块,用于在所述计时器计时结束之后,将所述旧的负载分担转发的多表项转发表切换到所述新的负载分担转发的多表项,按照所述新的负载分担转发的多表项转发所述BIER报文。
  17. 一种报文转发节点设备,其特征在于,所述报文转发节点设备包括:
    存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理 器加载并执行,以实现权利要求1-8中任一所述的报文转发方法。
  18. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-8中任一所述的报文转发方法。
PCT/CN2020/090726 2019-07-05 2020-05-17 报文转发方法、设备及计算机可读存储介质 WO2021004156A1 (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347099A (zh) * 2021-05-31 2021-09-03 中国工商银行股份有限公司 一种分布式网络流量转发方法、装置、设备及存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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信息的处理方法、服务器及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
See also references of EP3979576A4

Cited By (1)

* Cited by examiner, † Cited by third party
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