CN110535768B - Multicast data transmission method and related equipment - Google Patents
Multicast data transmission method and related equipment Download PDFInfo
- Publication number
- CN110535768B CN110535768B CN201810515021.5A CN201810515021A CN110535768B CN 110535768 B CN110535768 B CN 110535768B CN 201810515021 A CN201810515021 A CN 201810515021A CN 110535768 B CN110535768 B CN 110535768B
- Authority
- CN
- China
- Prior art keywords
- bier
- label
- forwarding table
- edge
- domain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
In the multicast data transmission method, a first device can package different bit-index-based explicit copy BIER labels for the same multicast data to obtain at least two BIER messages, wherein the BIER labels contained in each BIER message are different but have the same destination address set, and the BIER labels are also used for network devices in the BIER domain except edge devices to establish a forwarding table of a route to the edge devices, that is, each network device in the BIER domain may establish a forwarding table corresponding to a different BIER label, thereby realizing that the multicast data reaches the same edge device along different forwarding tables, so that the edge devices can select to receive a BIER message from a plurality of BIER messages from different paths respectively, namely, the protection mechanism of multi-transmission selective reception is realized, and the reliability of multicast data transmission is improved.
Description
Technical Field
The present application relates to the field of communications technologies, and in particular, to a multicast data transmission method and related devices.
Background
Bit-index-based display Replication (BIER) is a multicast technique. In the BIER multicast technology, each edge device in the network may configure a value, for example, 1 to 255, as a BIER Forwarding Router identity (BFR-ID), and notify each node in the network of the BFR-IDs of the edge devices. Thus, the BIER header in the BIER message may carry a bit string, where each bit in the bit string is used to identify an edge device of a particular BFR-ID, e.g., the lowest order bit of the bit string is used to identify an edge device with a BFR-ID of 1; the second bit from right to left in the bit string is used to identify the edge device with BFR-ID 2, and so on. Therefore, each node in the network domain can determine the next hop of the BIER message according to the bit string in the BIER message.
However, when the multicast data is real-time data, the transmission mode easily causes that once the BIER message is lost, the edge device cannot receive the multicast data, and then requests for retransmission, which may cause a problem of large data transmission delay. Therefore, the transmission reliability of the multicast data is low.
Disclosure of Invention
The application provides a multicast data transmission method which can improve the reliability of data transmission.
In a first aspect, the present application provides a multicast data transmission method, in which a first device determines a destination address set to be sent for received multicast data, where the destination address set is determined based on BIER forwarding router identifiers of one or more edge devices to be sent for the multicast data; the first device respectively encapsulates the multicast data into at least two BIER messages according to a destination address set, the identifier of a BIER sub-domain where the one or more edge devices are located, and the configured BIER label or BIER forwarding table identifier of each of at least two anchor devices in the BIER sub-domain; the first equipment encapsulates the BIER message into a point-to-point message according to a tunnel identifier which reaches the anchoring equipment and corresponds to the BIER label or the BIER forwarding table identifier in the BIER message aiming at each BIER message; the first equipment respectively sends each point-to-point message to anchoring equipment corresponding to a BIER label or a BIER forwarding table identifier in the point-to-point message; the point-to-point message is used for sending the BIER message to the BIER sub-domain.
The BIER label or forwarding table identifier contained in each BIER message in at least two BIER messages is different, but the contained multicast data and the destination address set are the same; the BIER labels or BIER forwarding table identifications respectively configured by the at least two anchor devices in the BIER sub-domain are different; forwarding tables corresponding to different BIER labels or different forwarding table identifications are stored in each network device in the BIER sub-domain.
It can be seen that, in the embodiment of the present application, when the first device receives multicast data, different BIER labels are respectively encapsulated to obtain at least two BIER messages, so that the at least two BIER messages are respectively forwarded by the forwarding tables corresponding to the BIER labels included in the BIER messages, paths that each BIER message passes when reaching the edge device corresponding to the destination address set are different, and the edge device corresponding to the destination address set selects to receive one group of BIER messages, thereby implementing dual-transmission selective-reception protection of traffic and improving reliability of data transmission.
In an alternative embodiment, the first device determines one or more edge devices to be sent for the received multicast data; the first device determines an identifier of a BIER sub-domain where the one or more edge devices are located, BIER label or forwarding table identifiers configured for at least two anchor devices in the BIER sub-domain respectively, and a BIER forwarding router identifier configured for the one or more edge devices in the BIER sub-domain.
In the embodiment of the application, different BIER messages are obtained for encapsulating multicast data aiming at different BIER labels, different forwarding tables can be adopted on each network device in a BIER sub-domain to obtain the BIER messages, and the BIER label is a segment routing global label.
In another optional implementation, the determining, by the first device, a set of destination addresses to be sent for the received multicast data includes: a first device receives a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or BIER forwarding table identifiers configured respectively for at least two anchor devices in the BIER sub-domain, and BIER forwarding router identifiers configured respectively for the at least one edge device in the BIER sub-domain; and the first equipment determines a destination address set according to the request message.
Correspondingly, in this embodiment, the first device may also encapsulate the multicast data according to the information in the request message, to obtain multiple BIER packets, where the multicast data and the destination address set included in the multiple BIER packets are the same, but the BIER labels or BIER forwarding table identifiers included in the multiple BIER packets are different.
For example, the edge devices to be sent by the multicast data are PE2 and PE3, the BEIR forwarding routers corresponding to PE2 and PE3 are identified as 2 and 3, respectively, that is, the value of the 2 nd bit and the value of the 3 rd bit from right to left in the bit string for identifying the destination address set are 1, respectively, that is, the destination address set may be 00000110.
In a second aspect, an embodiment of the present application further provides a multicast data transmission method, where the multicast data transmission method improves reliability of data transmission through fault protection between multiple anchor devices.
In the multicast data transmission method, a first device determines a destination address set required to be sent by received multicast data, wherein the destination address set is determined based on bit index-based explicit duplication BIER forwarding router identification of one or more edge devices to be sent by the multicast data; the first device packages the multicast data into a BIER message according to the destination address set, the identifier of the BIER sub-domain where the one or more edge devices are located, and the same BIER label or BIER forwarding table identifier configured for at least two anchoring devices in the BIER sub-domain; the first equipment encapsulates the BIER message into a point-to-point message according to the same unicast tunnel identifiers configured by the at least two anchoring equipment; the first equipment sends the point-to-point message to one of the at least two anchor equipment; the BIER label is a segment routing global label, the point-to-point message is used for sending the BIER message to the BIER sub-domain, and each network device in the BIER sub-domain stores a forwarding table corresponding to the BIER label or the BIER forwarding table identifier.
It can be seen that, in this embodiment of the present application, the BIER label is a unicast segment routing global label, the first device encapsulates multicast data into a BIER packet including the BIER label or a BIER forwarding table identifier, and encapsulates the BIER packet into a point-to-point packet by using a tunnel identifier that can reach each of the multiple anchor devices, so that one of the multiple anchor devices can receive the point-to-point packet, and the anchor device sends the BIER packet to the BIER sub-domain. Because the point-to-point message can reach one of the plurality of anchoring devices, if one of the anchoring devices fails, the point-to-point message can be received by other anchoring devices to send the BIER message to the BIER sub-domain, thereby realizing fault protection among the anchoring devices and improving the reliability of multicast data transmission.
In an alternative embodiment, the first device determines one or more edge devices to be sent for the received multicast data; the first device determines an identification of a BIER sub-domain in which the one or more edge devices are located, a same BIER label or BIER forwarding table identification configured for at least two anchor devices in the BIER sub-domain, and a BIER forwarding router identification configured for the one or more edge devices in the BIER sub-domain. Therefore, by using the information, the first device may determine the destination address set of the multicast data, and encapsulate the multicast data into a BIER packet.
In another optional implementation manner, the determining, by the first device, a set of destination addresses to be sent for the received multicast data includes: the first device receives a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, the configured same BIER labels or BIER forwarding table identifiers of at least two anchor devices in the BIER sub-domain, and the configured BIER forwarding router identifiers of the one or more edge devices in the BIER sub-domain respectively; and the first equipment determines a destination address set according to the request message.
In a third aspect, an embodiment of the present application further provides a multicast data transmission method, where the multicast data transmission method is described from the perspective of a second device, and the second device may be an anchor device in a BIER sub-domain, and may also be another network device in the BIER sub-domain. In the multicast data transmission method, the second equipment acquires an explicit copy BIER message based on a bit index, wherein the BIER message comprises a BIER label or a BIER forwarding table identifier; the second device determines neighbor devices reaching each edge device and a BIER-out label or BIER-out forwarding table identifier reaching each edge device according to the forwarding table corresponding to the BIER-in label or the BIER-in forwarding table identifier, wherein each edge device is an edge device corresponding to a destination address set in the BIER message; the second equipment updates the BIER message according to the neighbor equipment reaching each edge equipment and the outgoing BIER label or outgoing BIER forwarding table identification reaching each edge equipment, and obtains the updated BIER message; and the second equipment sends the updated BIER message to the determined neighbor equipment.
In the edge devices corresponding to the destination address set, when the neighbor devices arriving at a part of edge devices are the same, the BIER label or BIER forwarding table identifier of the part of edge devices are also the same, so the destination address set of the BIER packet sent to the neighbor devices can be updated according to the BFR-ID of the part of edge devices, for example, the bit value indicated by the BFR-ID of the part of edge devices in the destination address set of the BIER packet is set to 1, and other bits are set to 0.
That is to say, after determining the neighbor device, the outgoing BIER label, or the outgoing BIER forwarding table identifier of each edge device in the destination address set, the second device may update the BIER packet in units of edge devices having the same neighbor device, the outgoing BIER label, or the outgoing BIER forwarding table identifier. Thus, the BIER label or BIER forwarding table identifier in the updated BIER message is the BIER label or BIER forwarding table identifier, and the edge devices indicated by the destination address set in the updated BIER message are the edge devices having the same neighbor device, BIER label or BIER forwarding table identifier. Correspondingly, the second device also sends the updated BIER message to the corresponding neighbor device. After determining the neighbor device, the second device may know which sending interface of the second device to send the updated BIER packet to reach the neighbor device.
Therefore, the second device updates the BIER message according to the neighbor device reaching each edge device and the outgoing BIER label or outgoing BIER forwarding table identification reaching each edge device, and obtains the updated BIER message; and the second equipment sends the updated BIER message to the determined neighbor equipment.
It can be seen that, in the embodiment of the present application, the second device forwards the BIER packet by using the forwarding table corresponding to the BIER packet entering BIER label or forwarding table identifier, which can implement that the BIER packet including different BIER labels or different forwarding table identifiers is entered, but the BIER packet including the same destination address set and multicast data can be forwarded along different forwarding tables to reach the same edge device, and the edge devices select to receive one of the BIER packets from a plurality of BIER packets sent by a plurality of paths, thereby implementing multiple selective receiving protection of multicast data and improving reliability of multicast data transmission.
When the second device is an anchor device, entering the BIER tag into the BIER message acquired by the second device is the BIER tag configured for the anchor device; or, the BIER message acquired by the second device is entered into the BIER forwarding table identifier, which is the configured forwarding table identifier of the anchor device.
Correspondingly, when the second device is an anchor device, the second device obtains an explicit copy BIER packet based on the bit index, including: the second equipment receives the point-to-point message; and the second equipment decapsulates the received point-to-point message to obtain a BIER message.
In an optional implementation manner, the at least two second devices receive configuration information, where the configuration information includes an identifier of a BIER sub-domain, a BEIR label, a BIER forwarding table identifier, or a BIER label index, where the BIER sub-domain is configured by at least two anchor devices, respectively, and a BIER forwarding router identifier of each edge device in the BIER sub-domain; and the second equipment generates at least two forwarding tables based on the configuration information and the routing information to each edge equipment, wherein each forwarding table comprises neighbor equipment reaching each edge equipment and a BIER-out label or BIER-out forwarding table identifier reaching each edge equipment.
The at least two forwarding tables established by the second device are established based on the identifier of the same BIER sub-domain, the BFR-ID of each edge device in the same BIER sub-domain, and the BIER label, BIER forwarding table identifier, or BIER label index configured by at least two anchor devices in the same BIER sub-domain, that is, different forwarding tables may be established based on the BIER label, BIER forwarding table identifier, or BIER label index configured by different anchor devices in the same BIER sub-domain.
In an optional implementation manner, the configuration information may further include an identifier of each anchor device in the BIER sub-domain. In the second device, the forwarding table corresponding to the BIER tag configured by the anchor device, the BIER forwarding table identifier, or the BIER tag index may be established using the identifier of the anchor device as a parameter. For example, if the identifier of the anchor device is IP1 and the configured BIER label of the anchor device is L1, the second device may calculate routes to each edge device to generate a forwarding table by taking IP1 as a root when the second device can establish the forwarding table corresponding to L1.
In an optional implementation manner, when the second device is an anchor device, the second device sends the configuration information to each network device in the BIER sub-domain in a manner of interior gateway protocol IGP flooding in the BIER sub-domain, where the configuration information is used to create a forwarding table corresponding to each BIER label or each BIER forwarding table identifier in each network device. That is to say, in this embodiment, the second device can flood the configuration information in the BIER sub-domain, so that each network device in the BIER sub-domain can establish a forwarding table corresponding to each BIER label according to the configuration information.
In an optional implementation manner, the configuration information further includes a type of the BIER tag, or the type of the BIER tag is determined according to a structural form of the configuration information.
In an optional implementation manner, the in-BIER labels corresponding to each forwarding table are different, but the BIER label index between the in-BIER label corresponding to the forwarding table and the out-BIER label reaching each edge device in the same forwarding table is the same, and the BEIR label index is the BIER label index where one of the anchor devices is configured; or the identifications of the incoming BIER forwarding tables corresponding to each forwarding table are different, but the identifications of the incoming BIER forwarding tables corresponding to the forwarding tables in the same forwarding table are the same as the identifications of the outgoing BIER forwarding tables reaching each edge device, that is, the identifications of the incoming BIER forwarding tables and the identifications of the outgoing BIER forwarding tables are the identifications of the BIER forwarding tables configured for one of the anchor devices.
In an optional embodiment, the ingress BIER label of each forwarding table is determined according to the BIER label of one of the at least two anchor devices, the segment routing global label block of the anchor device, and the segment routing global block of the second device; or, the ingress BIER label of each forwarding table is determined according to the BIER label index of one of the at least two anchor devices and the segment routing global block of the second device.
In an optional implementation manner, the outgoing BIER label in each forwarding table that reaches each edge device is determined according to a segment routing global label block that reaches a neighbor device of each edge device, a BIER label of one of the at least two anchor devices, and a segment routing global label block of the anchor device; or, the outgoing BIER label in each forwarding table reaching each edge device is determined according to the segment routing global label block reaching the neighbor device of each edge device and the BIER label index of one of the at least two anchor devices.
In a fourth aspect, an embodiment of the present invention further provides a multicast data transmission method, where in the multicast data transmission method, one of at least two anchor devices receives a point-to-point packet, the at least two anchor devices are configured with a same BIER label or BIER forwarding table identifier, the at least two anchor devices are configured with a same unicast tunnel identifier, and the point-to-point packet includes the unicast tunnel identifier; the anchoring equipment receiving the point-to-point message decapsulates the point-to-point message to obtain a BIER message; the anchoring equipment receiving the point-to-point message determines neighbor equipment reaching each edge equipment and a BIER label or BIER forwarding table identification reaching each edge equipment according to a forwarding table; each edge device is an edge device corresponding to the destination address set in the BIER message; the anchoring equipment receiving the point-to-point message updates the BIER message according to neighbor equipment reaching each edge equipment and a BIER-out label or BIER-out forwarding table identification reaching each edge equipment to obtain an updated BIER message; and the anchoring equipment receiving the point-to-point message sends the updated BIER message to the determined neighbor equipment.
For example, when a plurality of neighbor devices are determined to arrive at each edge device, a plurality of determined BIER labels or BIER forwarding table identifiers arrive at each edge device, and thus a plurality of BIER messages updated by using the determined BIER labels or BIER forwarding table identifiers may also be provided. As can be seen, in the embodiment of the present application, since the BIER labels or BIER forwarding tables configured by at least two anchor devices are the same, and the unicast tunnel identifiers configured by the at least two anchor devices are also the same, one anchor device of the at least two anchor devices can receive the point-to-point packet, and further obtain a BIER packet, and send the BIER packet to the BIER sub-domain according to the forwarding table. Therefore, when one of the at least two anchoring devices fails, other anchoring devices can also receive the point-to-point message, so that the failure protection of the anchoring devices is realized, and the reliability of multicast data transmission is improved.
In an optional embodiment, the method further comprises: the at least two anchor devices receive configuration information, where the configuration information includes an identifier of the BIER sub-domain, a same BEIR label, a same BIER label index, or a same BIER forwarding table identifier configured for the at least two anchor devices in the BIER sub-domain, and a BIER forwarding router identifier of each edge device in the BIER sub-domain; and the at least two anchoring devices respectively generate a forwarding table based on the configuration information and the routing information to each edge device, wherein the forwarding table comprises neighbor devices reaching each edge device and a BIER label or BIER forwarding table identifier reaching each edge device.
Wherein, the BIER label index between the incoming BIER label of the forwarding table and the outgoing BIER label of each edge device is the same; or the in-BIER forwarding table identifier of the forwarding table is the same as the out-BIER forwarding table identifier of each edge device. The BIER label index is the BIER label index configured by the anchor device, and the in-BIER forwarding table identifier and the out-BIER forwarding table identifier are the BIER forwarding table identifiers configured by the anchor device in the BIER sub-domain. Wherein, the in BIER label of the forwarding table of the anchor device is the BIER label of the anchor device.
The outgoing BIER label in the forwarding table reaching each edge device is determined according to the segment routing global label block of the neighbor device reaching each edge device, the BIER label and the segment routing global label block of the anchor device; or, the outgoing BIER label in the forwarding table reaching each edge device is determined according to the segment routing global label block reaching the neighbor device of each edge device and the BIER label index.
Therefore, in the embodiment of the present application, the forwarding tables established in each anchor device are the same, and therefore, when one of the anchor devices fails, other anchor devices can still use the same forwarding table to implement forwarding of the BIER packet, thereby improving reliability of multicast data transmission.
In an optional embodiment, the method further comprises: and one of the at least two anchor devices sends the configuration information to each network device in the BIER sub-domain in a manner of interior gateway protocol IGP flooding in the BIER sub-domain, where the configuration information is used to create a forwarding table corresponding to the BIER label in each network device.
In an optional implementation manner, the configuration information further includes a type of the BIER tag, or the type of the BIER tag is determined according to a structural form of the configuration information.
In a fifth aspect, an embodiment of the present application further provides a network device, where the network device may be the first device in the foregoing method embodiment, and may also be an edge device in a BIER sub-domain. Wherein, this network equipment can include:
a determining unit, configured to determine a destination address set to be sent by received multicast data, where the destination address set is determined based on bit-index-based explicit duplication BIER forwarding router identifiers of one or more edge devices to be sent by the multicast data;
an encapsulating unit, configured to encapsulate, according to the destination address set, an identifier of a BIER sub-domain where the one or more edge devices are located, and BIER labels or forwarding table identifiers configured for at least two anchor devices in the BIER sub-domain, the multicast data into at least two BIER packets, respectively;
the encapsulation unit is further configured to encapsulate, for each BIER packet, the BIER packet as a point-to-point packet according to a tunnel identifier of an anchor device, which is corresponding to a BIER tag or a forwarding table identifier in the BIER packet;
a sending unit, configured to send each point-to-point message to an anchor device corresponding to a BIER label or a forwarding table identifier in the point-to-point message; the point-to-point messages are used for sending each BIER message to the BIER subdomain;
the BIER labels or forwarding table identifications contained in each of the at least two BIER messages are different, but the contained multicast data and the destination address set are the same; the BIER labels or forwarding table identifications respectively configured by the at least two anchor devices in the BIER sub-domain are different; forwarding tables corresponding to different BIER labels or different forwarding table identifications are stored in each network device in the BIER sub-domain.
In an optional implementation manner, the determining unit is further configured to determine one or more edge devices to be sent for the received multicast data; and determining an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or forwarding table identifiers configured for at least two anchor devices in the BIER sub-domain respectively, and a BIER forwarding router identifier configured for the one or more edge devices in the BIER sub-domain.
In an optional implementation manner, the determining unit determines a destination address set to be sent by the received multicast data, specifically: receiving a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, BIER label or forwarding table identifiers respectively configured for at least two anchor devices in the BIER sub-domain, and BIER forwarding router identifiers respectively configured for the at least one edge device in the BIER sub-domain; and determining a destination address set according to the request message.
In a sixth aspect, an embodiment of the present application further provides a network device, where the network device may be an anchor device in a BIER sub-domain or another network device, and the network device may perform relevant operations of the first device in the embodiment described in the second aspect.
The network device may include the following elements:
a determining unit, configured to determine a destination address set to be sent by received multicast data, where the destination address set is determined based on bit-index-based explicit duplication BIER forwarding router identifiers of one or more edge devices to be sent by the multicast data;
an encapsulating unit, configured to encapsulate the multicast data into a BIER packet according to the destination address set, an identifier of a BIER sub-domain where the one or more edge devices are located, and the same BIER label or forwarding table identifier configured for at least two anchor devices in the BIER sub-domain;
the encapsulation unit is further configured to encapsulate the BIER packet as a point-to-point packet according to the same unicast tunnel identifier configured for the at least two anchor devices;
and the sending unit is used for sending the point-to-point message to one of the at least two anchoring devices, wherein the BIER label is a segment routing global label, the point-to-point message is used for sending the BIER message to the BIER sub-domain, and each network device in the BIER sub-domain stores a forwarding table corresponding to the BIER label or the forwarding table identifier.
In an optional implementation manner, the determining unit is further configured to determine one or more edge devices to which the received multicast data needs to be sent; and determining an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or forwarding table identifiers configured for at least two anchor devices in the BIER sub-domain respectively, and a BIER forwarding router identifier configured for the one or more edge devices in the BIER sub-domain.
In an optional implementation manner, the determining unit determines a destination address set to be sent by the received multicast data, specifically: receiving a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, the same BIER label or forwarding table identifier configured for at least two anchor devices in the BIER sub-domain, and BIER forwarding router identifiers configured for the one or more edge devices in the BIER sub-domain; and determining a destination address set according to the request message.
In a seventh aspect, an embodiment of the present application further provides a network device, where the network device may also be the second device in the embodiment described in the third aspect, and the network device may include:
an obtaining unit, configured to obtain an explicit duplicate BIER packet based on a bit index, where the BIER packet includes a BIER entry tag or a BIER entry forwarding table identifier;
a determining unit, configured to determine, according to the forwarding table corresponding to the in-BIER tag or the in-BIER forwarding table identifier, a neighbor device that reaches each edge device and an out-BIER tag or an out-BIER forwarding table identifier that reaches each edge device, where each edge device is an edge device corresponding to a destination address set in the BIER packet;
an updating unit, configured to update the BIER packet according to a neighbor device that reaches each edge device and an outgoing BIER label or an outgoing BIER forwarding table identifier that reaches each edge device, and obtain an updated BIER packet;
and the sending unit is used for sending the updated BIER message to the determined neighbor equipment.
In an optional implementation manner, the obtaining unit obtains an explicit duplicate BIER packet based on a bit index, specifically: receiving a point-to-point message; and decapsulating the received point-to-point message to obtain a BIER message.
In an optional implementation, the network device further includes:
a receiving unit, configured to receive configuration information, where the configuration information includes an identifier of a BIER sub-domain, a BEIR label, a forwarding table identifier or BIER label index, which are respectively configured for at least two anchor devices in the BIER sub-domain, and a BIER forwarding router identifier of each edge device in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device;
and a generating unit, configured to generate at least two forwarding tables based on the configuration information and the routing information to each edge device, where each forwarding table includes a neighbor device that reaches each edge device and a BIER label or BIER forwarding table identifier that reaches each edge device.
In an optional implementation manner, the in-BIER labels corresponding to each forwarding table are different, but the BIER label index between the in-BIER label corresponding to the forwarding table and the out-BIER label reaching each edge device in the same forwarding table is the same; or the identifications of the in-BIER forwarding tables corresponding to each forwarding table are different, but the identifications of the in-BIER forwarding tables corresponding to the forwarding tables in the same forwarding table are the same as the identifications of the out-BIER forwarding tables reaching each edge device.
In an optional embodiment, the ingress BIER label of each forwarding table is determined according to the BIER label of one of the at least two anchor devices, the segment routing global label block of the anchor device, and the segment routing global block of the second device; or, the ingress BIER label of each forwarding table is determined according to the BIER label index of one of the at least two anchor devices and the segment routing global block of the second device.
In an optional implementation manner, the outgoing BIER label in each forwarding table that reaches each edge device is determined according to a segment routing global label block that reaches a neighbor device of each edge device, a BIER label of one of the at least two anchor devices, and a segment routing global label block of the anchor device; or, the outgoing BIER label in each forwarding table reaching each edge device is determined according to the segment routing global label block reaching the neighbor device of each edge device and the BIER label index of one of the at least two anchor devices.
In an optional implementation manner, the configuration information further includes a type of the BIER tag, or the type of the BIER tag is determined according to a structural form of the configuration information.
In an eighth aspect, an embodiment of the present application further provides a multicast data transmission method, where the multicast data transmission method may be executed by an anchor device in the BIER sub-domain, or may be executed by other network devices in the BIER sub-domain, that is, a second device is used as an execution main body, and in the multicast data transmission method, the second device obtains a BIER packet; the second equipment determines neighbor equipment reaching each edge equipment and a BIER label or BIER forwarding table identification reaching each edge equipment according to a forwarding table, wherein each edge equipment is the edge equipment corresponding to the destination address set in the BIER message; the second equipment updates the BIER message according to the neighbor equipment reaching each edge equipment and the outgoing BIER label or outgoing BIER forwarding table identification reaching each edge equipment, and obtains the updated BIER message; and the second equipment sends the updated BIER message to the determined neighbor equipment.
In an optional implementation manner, the second device receives configuration information, where the configuration information includes an identifier of a BIER sub-domain, a same BEIR label configured for the at least two anchor devices in the BIER sub-domain, a same BIER label index or a same BIER forwarding table identifier, and a BIER forwarding router identifier of each edge device in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device; and the second equipment generates a forwarding table based on the configuration information and the routing information to each edge equipment, wherein the forwarding table comprises neighbor equipment reaching each edge equipment and a BIER-out label or BIER-out forwarding table identifier reaching each edge equipment.
Wherein, the BIER label index between the incoming BIER label of the forwarding table and the outgoing BIER label of each edge device is the same; or the in-BIER forwarding table identifier of the forwarding table is the same as the out-BIER forwarding table identifier of each edge device.
Wherein the ingress BIER label of the forwarding table is determined by the BIER label and the segment routing global block of the second device; or the ingress BIER label of the forwarding table is determined according to the BIER label index and the segment routing global block of the second device, where the segment routing global label blocks of the at least two anchor devices in the BIER sub-domain are the same.
Wherein, the outgoing BIER label in the forwarding table reaching each edge device is determined according to the segment routing global label block of the neighbor device reaching each edge device, the BIER label and the segment routing global label block of the anchor device; or, the outgoing BIER label in the forwarding table reaching each edge device is determined according to the segment routing global label block reaching the neighbor device of each edge device and the BIER label index.
Wherein the configuration information further includes a type of the BIER tag, or the type of the BIER tag is determined according to a structural form of the configuration information.
The difference between the correlation operation of the second device in the embodiment of the present application and the correlation operation of the second device in the third aspect is that, in the embodiment of the present application, since the BIER labels, the BIER forwarding table identifiers, or the BIER label indexes configured for each anchor device in the same BIER sub-domain are the same, the second device has only one forwarding table for the same BIER sub-domain; in the embodiment described in the third aspect, since the BIER labels, BIER forwarding table identifiers, or BIER label indexes configured for each anchor device in the same BIER sub-domain are different, the second device may establish multiple forwarding tables for the same BIER sub-domain.
In a ninth aspect, an embodiment of the present application further provides a multicast data transmission method, where in a network structure applied in the multicast data transmission method, ranges of segment routing global label blocks configured for each network device in the same BIER sub-domain are completely the same, and the multicast data transmission method may include the following steps:
the second equipment acquires an explicit copy BIER message based on a bit index, wherein the BIER message comprises a BIER label or a BIER forwarding table identifier;
the second device determines a neighbor device reaching each edge device according to the forwarding table corresponding to the BIER label or the BIER forwarding table identifier, wherein each edge device is an edge device corresponding to a destination address set in the BIER message;
the second equipment updates the BIER message according to the neighbor equipment reaching each edge equipment to obtain an updated BIER message;
and the second equipment sends the updated BIER message to the determined neighbor equipment.
In an optional implementation manner, the obtaining, by the second device, an explicit duplicate BIER packet based on a bit index includes:
the second equipment receives the point-to-point message;
and the second equipment decapsulates the received point-to-point message to obtain a BIER message.
In an optional embodiment, the method further comprises:
the second device receives configuration information, wherein the configuration information comprises an identifier of a BIER sub-domain, a BEIR label, a BIER forwarding table identifier or a BIER label index and BIER forwarding router identifiers of each edge device in the BIER sub-domain, wherein the BEIR label, the BIER forwarding table identifier or the BIER label index and the BEIR label index are respectively configured for at least two anchor devices in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device;
and the second equipment generates at least two forwarding tables based on the configuration information and the routing information to each edge equipment, wherein the BIER labels or BIER forwarding tables corresponding to each forwarding table are different in identification, but each forwarding table comprises neighbor equipment reaching each edge equipment.
In a tenth aspect, an embodiment of the present application further provides a multicast data transmission method, where in a network structure applied in the multicast data transmission method, ranges of segment routing global label blocks configured for each network device in the same BIER sub-domain are completely the same, and the multicast data transmission method may include the following steps:
the second equipment acquires a BIER message;
the second equipment determines neighbor equipment reaching each edge equipment according to a forwarding table, wherein each edge equipment is the edge equipment corresponding to the destination address set in the BIER message;
the second equipment updates the BIER message according to the neighbor equipment reaching each edge equipment to obtain an updated BIER message;
and the second equipment sends the updated BIER message to the determined neighbor equipment.
In an optional embodiment, the method further comprises:
the second device receives configuration information, wherein the configuration information comprises an identifier of a BIER sub-domain, the same BEIR labels configured by the at least two anchor devices in the BIER sub-domain, the same BIER label index or the same BIER forwarding table identifier, and BIER forwarding router identifiers of each edge device in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device;
and the second equipment generates a forwarding table based on the configuration information and the routing information to each edge equipment, wherein the forwarding table comprises the neighbor equipment reaching each edge equipment. In an eleventh aspect, an embodiment of the present application further provides a network device, where the network device includes a processor, a communication interface, and a memory, and the processor is configured to invoke the program code stored in the memory and execute the multicast data transmission method according to any one of the first to fourth aspects or the seventh aspect through the communication interface.
In a twelfth aspect, an embodiment of the present application further provides a network device, including a memory, a processor, and a program stored in the memory and executable on the processor, where the processor executes the program to implement operations of the first device, the second device, or the anchor device in the multicast data transmission method according to the foregoing aspects. It should be noted that the memory may be non-volatile or volatile, and may be located inside or outside the communication device.
In a thirteenth aspect, embodiments of the present application further provide a computer-readable storage medium, on which instructions are stored, and when executed, perform the operations of the first device, the second device, or the anchor device in the method of the foregoing aspects.
Drawings
Fig. 1 is a schematic diagram of a network structure provided in an embodiment of the present application;
fig. 2 is a flowchart illustrating a multicast data transmission method according to an embodiment of the present application;
fig. 3 is a schematic flowchart of another multicast data transmission method according to an embodiment of the present application;
FIG. 4 is a schematic diagram of another network architecture provided by embodiments of the present application;
fig. 5 is a schematic structural diagram of a network device according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of another network device provided in an embodiment of the present application;
fig. 7 is a schematic structural diagram of another network device according to an embodiment of the present application.
Detailed Description
For convenience of illustration, an embodiment of the present application further provides a schematic diagram of a network structure, where the network structure may be a data center network or other networks, as shown in fig. 1, the network structure may include a head-end device, that is, a device for receiving multicast data, taking a first device as an example; the network structure takes two anchoring devices as an example, which are a first anchoring device and a second anchoring device respectively; the first device is connected with the first anchor device and the second anchor device through a point-to-point tunnel, that is, other network devices can exist between the first device and the first anchor device and the second anchor device, but the message forwarding is performed based on the point-to-point tunnel; the first anchoring equipment and the second anchoring equipment are connected with second equipment and third equipment, the second equipment and the third equipment are respectively connected with fourth equipment, and the fourth equipment is connected with a plurality of receiving ends; the first anchoring equipment, the second equipment, the third equipment and the fourth equipment belong to the same BIER sub-domain, and BIER messages can be forwarded hop by hop among the network equipment; it is assumed that the fourth device is an edge device of the BIER sub-domain corresponding to the destination address set in the BIER message, and may also be referred to as a tail end.
The network structure shown in fig. 1 is only one example provided in the present application, and the network structure applied by the multicast data transmission method described in the present application may have various forms, for example, each anchor device may also be simultaneously connected to an edge device or other network devices in the BIER sub-domain; the network device in the BIER sub-domain may also be an edge device and an intermediate node device at the same time, that is, an operation of decapsulating and sending multicast data by the edge device may be performed, an operation of creating a forwarding table and forwarding a BIER packet by the intermediate node device, for example, a second device, may also be performed, and the embodiment of the present application is not limited.
In the network structure applied by the multicast data transmission method, each BIER subdomain at least comprises two anchoring devices, and each anchoring device is configured with a BIER label, a BIER forwarding table identifier or a BIER label index; wherein, the BIER label and the BIER forwarding table identification are selected from the segment routing global label block. When at least two anchoring devices are configured with different BIER labels, BIER forwarding table identifiers or BIER label indexes, each network device including the anchoring devices in the BEIR subdomain can establish at least two forwarding tables, and for BIER messages with the same multicast data and destination address sets, a corresponding forwarding table can be selected according to the contained BIER labels or BIER forwarding table identifiers to copy and forward the BIER messages.
In the embodiment of the application, the BIER entering label or the BIER forwarding table identifier is a BIER label or a BIER forwarding table identifier carried in a BIER message received by network equipment in a BIER sub-domain; the outgoing BIER label or outgoing BIER forwarding table identifier is a BIER label or BIER forwarding table identifier carried in a BIER message sent by the network equipment in the BIER sub-domain.
In the embodiment of the application, in the same network device, the ingress BIER label of the same forwarding table is determined according to the segment routing global label block of the network device, the BIER label configured for one of the anchor devices, and the segment routing global label block of the anchor device; the outgoing BIER label of the forwarding table is determined according to the segment routing global label block of the neighbor device, the BIER label configured by the anchor device and the segment routing global label block of the anchor device; the neighbor device is a next-hop network device adjacent to the network device, which is determined by the network device to be able to reach the edge device, so that there may be a plurality of neighbor devices, and accordingly there are also a plurality of BIER labels.
When the network device determines the BIER entry label or the BIER exit label of the forwarding table, the BIER label configured by the adopted anchoring device and the segment routing global label block of the anchoring device are used for calculating the BIER label index configured by the anchoring device, so that if the configuration information received by the network device directly comprises the BIER label index configured by the anchoring device, the network device can directly calculate the BIER entry label of the forwarding table according to the segment routing global label block of the network device and the BIER label index; or directly calculating the outgoing BIER label of the forwarding table according to the segment routing global label block of the neighbor device and the BIER label index.
Thus, the BIER label index of the in BIER label of each forwarding table and the BIER label index of the out BIER label of each forwarding table are the same, except that the in BIER label and the out BIER label of the same forwarding table are different because of the different ranges of the segment routing global blocks of each network device. That is, when the range of the segment routing global block of each network device in the BIER sub-domain is the same, the in-BIER label and the out-BIER label of the same forwarding table are also the same, and it is not necessary to generate the in-BIER label or the out-BEIR label when generating the forwarding table, that is, in each network device, the in-BIER label and the out-BEIR label of the forwarding table are both BIER labels configured for one of the anchor devices.
For example, the configured segment routing global label blocks of each network device in the BIER sub-domain are different, assuming that the range of the segment routing global label block allocated to the network device 1 is [ 100-; the incoming BIER tag forwarded in network device 1 is 100+10 ═ 110; the outgoing BIER label in the forwarding table to the edge device is 300+ 10-310.
For another example, the segment routing global label blocks configured for each network device in the BIER sub-domain are the same, and assuming that the ranges of the segment routing global label blocks allocated to the network device 1 and the network device 2 are [ 100-. Particularly, if the configuration information directly has the BIER label 110 of the anchor device, the in-BIER label and the out-BIER label of the forwarding table generated based on the BIER label of the anchor device in each network device in the BIER sub-domain are the same and are the BIER labels of the anchor device. At this time, the forwarding table in the network device may be directly referred to as the forwarding table corresponding to the BIER label of the anchor device. It should be noted that, when the segment routing global label blocks of each network device in the BIER sub-domain are all the same, the in BIER label corresponding to the forwarding table in each network device is the same as the out BIER label to each edge device, and both are BIER labels configured for the corresponding anchor devices. At this time, the forwarding table created in each network device only needs to correspond to the BIER label configured for one anchoring device, so in the BIER message forwarding process, each network device only needs to determine the neighbor device reaching the edge device, and does not need to determine the BIER label reaching the edge device; correspondingly, when the BIER message is updated, only the destination address set of the BIER message needs to be updated.
In the embodiment of the present application, a header format of Bit-Indexed Explicit Replication (BIER) includes fields of BIER labels or BIER forwarding table identifiers and fields of Bit strings, where a BIER label is corresponding to a BIER sub-field, a Bit string length, and a set identifier. The configuration of each network device and the forwarding of the BIER message in the BIER technology are performed by using a BIER sub-domain as a unit, so the embodiment of the application is explained for one BIER sub-domain. Therefore, in the embodiment of the present application, to implement the technical solution of multiple selective receiving, the same BIER sub-domain has at least two anchor devices, and the at least two anchor devices are configured with different BIER labels, BIER forwarding table identifiers, or BIER label indexes, and accordingly, each network device in the BIER sub-domain can establish at least two forwarding tables according to different BIER labels, BIER forwarding table identifiers, or BIER label indexes, so as to implement that the same multicast data reaches edge devices of the same destination address set along different paths due to different BIER labels and BIER forwarding table identifiers in the BIER packet, so that the edge devices can select to receive one BIER packet from multiple paths to obtain multicast data.
Each bit in the bit string corresponds to an edge device in the BIER sub-domain, and a value of a BIER Forwarding Router identifier (BFR-ID) of the edge device indicates which bit in the bit string represents the edge device. For example, if the BFR-ID of an edge device is 1, it indicates that the first bit from right to left in the bit string represents the edge device, and the bit value is 1, the BIER packet is sent to the edge device, and if the bit value is 0, the BIER packet is not sent to the edge device; correspondingly, if the BFR-ID of an edge device is 2, it indicates that the second bit from right to left in the bit string of the BIER packet indicates the edge device, and the value of the bit is 1, the BIER packet can be sent to the edge device, and if the value of the bit is 0, the BIER packet cannot be sent to the edge device; and so on.
The length of the bit string can be 64bit/128bit/256bit/… and the like. The set identifier means that the network devices in the BIER sub-domain can be divided into different sets, for example, when more than 256 network devices exist, the set identifier is 0, which indicates that each bit in the bit string corresponds to a network device with a BFR-ID < 1-256 >; the set identifier is 1, and represents the network equipment of BFR-ID < 257-512 > corresponding to each bit in the bit string.
Therefore, in the embodiment of the present application, the BIER tags configured for each anchor device are for the same BIER sub-domain, the same bit string length, and the same set identifier.
In this embodiment of the present application, to implement transmission of multicast data between a first device and a first anchor device or a second anchor device, the multicast data may be encapsulated into a point-to-point packet, where the point-to-point packet may carry a tunnel identifier that reaches the first anchor device or the second anchor device, and the tunnel identifier may be a combination of a network Protocol (Internet Protocol, IP) address of the anchor device and a User Datagram Protocol (UDP).
In this embodiment of the present application, the multicast data may be sent by a source device, and the source device may be a mobile phone, a tablet computer, and other user devices or network devices capable of generating or sending multicast data. The receiving end can also be a mobile phone, a tablet computer and other user equipment or network equipment which requests multicast data.
In order to solve the reliability of multicast data transmission, embodiments of the present application provide a multicast data transmission method, in the multicast data transmission method, each network device in a BIER sub-domain may establish different forwarding tables for the same multicast data by using different BIER labels or different BIER forwarding table identifiers of multiple anchor devices, and may implement sending of BIER packets along different forwarding tables by encapsulating different BIER labels on the multicast data on a head-end device, i.e., a first device, and implement selective receiving on a tail node, i.e., an edge device identified by a destination address set, thereby implementing multiple-selective-reception protection of traffic, and thus improving the reliability of multicast data transmission. The following is a detailed description with reference to fig. 1 as an example.
Referring to fig. 2, fig. 2 is a flowchart illustrating a multicast data transmission method according to an embodiment of the present application, and as shown in fig. 2, the multicast data transmission method may include the following steps:
101. the method comprises the steps that a first device determines a destination address set required to be sent by received multicast data, wherein the destination address set is determined based on bit index-based explicit duplication BIER forwarding router identification of one or more edge devices to be sent by the multicast data;
the determining, by the first device, a destination address set to be sent for the received multicast data includes: the first equipment determines edge equipment which needs to send the received multicast data; and the first equipment determines a destination address set according to the BFR-ID of the edge equipment required to be sent.
For example, if the edge device that the first device needs to transmit is a fourth device whose BFR-ID is 2, the destination address set is 00000010.
102. The first device packages the multicast data into at least two BIER messages respectively according to the destination address set, the identifier of the BIER sub-domain where the one or more edge devices are located, and the BIER labels or BIER forwarding table identifiers configured for at least two anchoring devices in the BIER sub-domain respectively;
as shown in fig. 1, the BIER packet may include multicast data, a BIER header, and ethernet information. The BIER label is used for the network equipment in the BIER sub-domain except each edge equipment to establish a forwarding table of a route reaching each edge equipment; thus, when the first anchoring device and the second anchoring device send the obtained BIER message to the BIER sub-domain, each network device can determine the sending interface of the BIER message according to the forwarding table corresponding to the BIER label in the received BIER message.
103. The first equipment encapsulates the BIER message into a point-to-point message according to a tunnel identifier which reaches the anchoring equipment and corresponds to a BIER label or a BIER forwarding table identifier in the BIER message aiming at each BIER message;
104. the first equipment respectively sends each point-to-point message to anchoring equipment corresponding to a BIER label BIER forwarding table identifier in each point-to-point message;
wherein, the point-to-point message is used for sending the BIER message to the BIER sub-domain, so 104 can enable the anchoring device to send the BIER message to the BIER sub-domain;
the BIER labels or forwarding table identifications contained in each of the at least two BIER messages are different, but the contained multicast data and the destination address set are the same; the BIER labels or BIER forwarding table identifications respectively configured by the at least two anchor devices in the BIER sub-domain are different; and forwarding tables corresponding to different BIER labels or different BIER forwarding table identifications are stored in each network device in the BIER sub-domain.
When the segment routing global label blocks of the network devices are the same, the different BIER labels or the different BIER forwarding table identifications corresponding to the forwarding tables are BEIR labels or BIER forwarding table identifications configured by different anchoring devices; when the segment routing global label blocks of each network device are different, the BIER label or BIER forwarding table identifier corresponding to the forwarding table of each network device is the in-BIER label or in-BIER forwarding table identifier of the forwarding table, and the calculation method of the in-BIER label or in-BIER forwarding table identifier may refer to the related contents, which is not described in detail herein.
The first device may determine one or more edge devices to be sent for the received multicast data; the first device determines an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or BIER forwarding table identifiers configured for at least two anchor devices in the BIER sub-domain respectively, and a BIER forwarding router identifier configured for the one or more edge devices in the BIER sub-domain. As can be seen, the embodiment may determine the destination address set of the multicast data based on 101-102 by using the information, and encapsulate the multicast data to obtain at least two BIER messages.
In another optional implementation manner, the determining, by the first device, a set of destination addresses to be sent for the received multicast data includes: the first device receives a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or BIER forwarding table identifiers respectively configured for at least two anchor devices in the BIER sub-domain, and BIER forwarding router identifiers respectively configured for the one or more edge devices in the BIER sub-domain; and the first equipment determines a destination address set according to the request message.
As shown in fig. 2, in the embodiment of the present application, it is assumed that a first anchor device receives a point-to-point packet including a BIER label or a BIER forwarding table identifier of the first anchor device; and the second anchoring equipment receives the point-to-point message containing the BIER label or BIER forwarding table identifier of the second anchoring equipment.
The structure of the point-to-point packet is shown in fig. 1, and may include multicast data, BIER header, point-to-point header, and ethernet header information. When the point-to-point tunnel label in the point-to-point head is the tunnel mark of the first anchoring equipment, the point-to-point message is received by the first anchoring equipment; when the point-to-point tunnel label in the point-to-point message is the tunnel identifier of the second anchoring device, the point-to-point message is received by the second anchoring device.
105. The first anchoring equipment decapsulates the received point-to-point message to obtain a BIER message; the second anchoring equipment decapsulates the received point-to-point message to obtain a BIER message;
wherein, each BIER message includes the label of entering BIER or the identification of entering BIER forwarding table.
106. The first anchoring equipment determines neighbor equipment reaching each edge equipment and a BIER-out label or BIER-out forwarding table identification reaching each edge equipment according to the obtained BIER message in-BIER label or forwarding table corresponding to the BIER-in forwarding table identification; the second anchoring equipment determines neighbor equipment reaching each edge equipment and a BIER-out label or BIER-out forwarding table identification reaching each edge equipment according to the obtained BIER message in-BIER label or forwarding table corresponding to the BIER-in forwarding table identification;
and each edge device is an edge device corresponding to the destination address set in the BIER message.
The first anchoring device and the second anchoring device both receive configuration information, wherein the configuration information includes an identifier of a BIER sub-domain, a BEIR label, a BIER forwarding table identifier or a BIER label index, which are respectively configured by at least two anchoring devices in the BIER sub-domain, and BIER forwarding router identifiers of each edge device in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device;
and the first anchoring equipment and the second anchoring equipment generate at least two forwarding tables based on the configuration information and the routing information to each edge equipment, wherein each forwarding table comprises neighbor equipment reaching each edge equipment and a BIER label or BIER forwarding table identification reaching each edge equipment.
The determination or calculation method of the in-BIER label and the out-BIER label of the at least two forwarding tables in the first anchor device and the second anchor device, or the in-BIER forwarding table identifier and the out-BIER forwarding table identifier may refer to the related contents described above, and will not be described in detail here.
107. The first anchoring equipment updates the BIER message according to the determined neighbor equipment reaching each edge equipment and the outgoing BIER label or outgoing BIER forwarding table identification reaching each edge equipment, and obtains the updated BIER message; the second anchoring equipment updates the BIER message according to the determined neighbor equipment reaching each edge equipment and the outgoing BIER label or outgoing BIER forwarding table identification reaching each edge equipment, and obtains the updated BIER message;
in the embodiment of the present application, it is assumed that the neighbor device determined by the first anchor device is the second device; the neighbor device determined by the second anchor device is a third device.
108. The first anchoring equipment sends the updated BIER message to the second equipment; the second anchoring equipment sends the updated BIER message to the third equipment;
109. the second device determines the neighbor device reaching each edge device and the out-BIER label or out-BIER forwarding table identification reaching each edge device according to the forwarding table corresponding to the in-BIER label or in-BIER forwarding table identification in the received BIER message; the third equipment determines neighbor equipment reaching each edge equipment and a BIER-out label or BIER-out forwarding table identification reaching each edge equipment according to the forwarding table corresponding to the BIER-in label or the BIER-in forwarding table identification;
as shown in fig. 1, the second device determines, according to the forwarding table corresponding to the in-BIER label or in-BIER forwarding table identifier in the received BIER message, that the neighbor device that reaches each edge device is the fourth device; the third equipment determines that the neighbor equipment reaching each edge equipment is also the fourth equipment according to the forwarding table corresponding to the incoming BIER label or the incoming BIER forwarding table identifier in the received BIER message; since the neighbor devices are all fourth devices, but the configured BIER labels, BIER label indexes, or BIER forwarding table identifiers of the corresponding anchor devices are different, the BIER label or BIER forwarding table identifier that the second device or the third device determines to reach the fourth device is also different, so the fourth device can distinguish different BIER messages based on the difference of the BIER label or BIER forwarding table identifier carried in the BIER message, and select one BEIR message to receive, so as to obtain multicast data.
The second device or the third device may receive configuration information, where the configuration information includes an identifier of a BIER sub-domain, a BEIR label, a BIER forwarding table identifier or a BIER label index, which are configured for at least two anchor devices in the BIER sub-domain, and a BIER forwarding router identifier of each edge device in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device; the second device or the third device may generate at least two forwarding tables based on the configuration information and the routing information to each edge device, where each forwarding table includes a neighbor device that reaches each edge device and a BIER label or BIER forwarding table identifier that reaches each edge device. The configuration information may further include an identifier of each anchor device, and each network device in the BIER sub-domain may establish a corresponding forwarding table based on the identifier of each anchor device. For example, if IP1 is the identifier of the first anchor device, and IP2 is the identifier of the second anchor device, the second device or the third device may use the IP1 as the root and the route to each edge device to establish a forwarding table corresponding to the BIER label and the BIER forwarding table identifier configured by the first anchor device; the second device or the third device also takes the IP2 as a root and routes to each edge device to establish a BIER label configured by the second anchor device and a forwarding table corresponding to the BIER forwarding table identifier.
Wherein the configuration information further includes a type of the BIER tag, or the type of the BIER tag is determined according to a structural form of the configuration information.
110. The second equipment updates the BIER message according to the fourth equipment and the determined BIER output label or BIER output forwarding table identification reaching the fourth equipment to obtain an updated BIER message; the third equipment updates the BIER message according to the fourth equipment and the determined BIER output label or BIER output forwarding table identification reaching the fourth equipment to obtain an updated BIER message;
for example, assuming that the BFR-ID of the fourth device is 1, the outgoing BIER label or outgoing BIER forwarding table identifier to the fourth device determined by the second device is L1b, and the outgoing BIER label or outgoing BIER forwarding table identifier to the fourth device determined by the third device is L1 c; the BIER label or BIER forwarding table identifier in the updated BEIR message obtained by the second device is L1b, and the destination address set is 00000001; the BIER label or BIER forwarding table identifier in the updated BEIR message obtained by the third device is L1c, and the destination address set is 00000001. Wherein, the multicast data in the two updated BIER messages are the same.
111. The second equipment sends the updated BIER message to the fourth equipment; the third equipment sends the updated BIER message to the fourth equipment;
112. the fourth device selects to receive one BIER message, decapsulates the BIER message and obtains multicast data;
correspondingly, the fourth device may send the multicast data to the plurality of receivers identified by the receiver addresses according to the receiver addresses in the multicast data.
It can be seen that, in the embodiment of the present application, different BEIR labels or forwarding table identifiers are allocated by two anchor devices, and forwarding tables corresponding to different BIER labels or forwarding table identifiers are established and stored by the two anchor devices, the second device, and the third device, so as to send BIER messages containing different BIER labels or forwarding table identifiers to the fourth device along different forwarding tables, so that the fourth device selects to receive a group of BIER messages, thereby implementing dual-transmission selective-reception protection of multicast data, i.e., improving reliability of multicast data transmission.
The embodiment of the application also provides a multicast data transmission method, in the multicast data transmission method, a plurality of anchoring devices in the same BIER sub-domain are configured with the same BIER label, BIER label index or BIER forwarding table identifier; the multiple anchoring devices are also configured with the same tunnel identifier, so that the same BIER message can reach one of the multiple anchoring devices, and forwarding tables established by each anchoring device according to the information are the same, when one of the anchoring devices fails, other anchoring devices can still forward the BIER message by using the same forwarding table, thereby realizing fault protection among the anchoring devices and improving the reliability of multicast data transmission. The following is a detailed description with reference to fig. 1 as an example.
Referring to fig. 3, fig. 3 is a schematic flowchart of another multicast data transmission method according to an embodiment of the present application, and as shown in fig. 3, the multicast data transmission method may include the following steps:
201. the method comprises the steps that a first device determines a destination address set required to be sent by received multicast data, wherein the destination address set is determined based on bit index-based explicit duplication BIER forwarding router identification of one or more edge devices to be sent by the multicast data;
for example, the first device determines the set of destination addresses to be sent for the received multicast data, which may refer to the relevant contents of the embodiment shown in fig. 2 and will not be described in detail here.
202. The first device packages the multicast data into a BIER message according to the destination address set, the identifier of the BIER sub-domain where the one or more edge devices are located, the same BIER label or BIER forwarding table identifier configured for at least two anchoring devices in the BIER sub-domain;
in an alternative embodiment, the first device determines one or more edge devices to be sent for the received multicast data; the first device determines an identification of a BIER sub-domain in which the one or more edge devices are located, a same BIER label or BIER forwarding table identification configured for at least two anchor devices in the BIER sub-domain, and a BIER forwarding router identification configured for the one or more edge devices in the BIER sub-domain. Thus, the first device may determine the destination address set by using the information, and encapsulate the multicast data to obtain the BIER packet.
In another optional implementation manner, the determining, by the first device, a set of destination addresses to be sent for the received multicast data includes: the first device receives a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, the configured same BIER labels or BIER forwarding table identifiers of at least two anchor devices in the BIER sub-domain, and the configured BIER forwarding router identifiers of the one or more edge devices in the BIER sub-domain respectively; and the first equipment determines a destination address set according to the request message. Correspondingly, the first device may encapsulate the multicast data by using the information in the request message, and obtain the BIER packet.
203. The first equipment encapsulates the BIER message into a point-to-point message according to the same unicast tunnel identifier configured by the first anchoring equipment and the second anchoring equipment;
204. the first equipment sends the point-to-point message to first anchoring equipment;
since the unicast tunnel identifier encapsulated in the peer-to-peer message is both the tunnel identifier of the first anchor device and the tunnel identifier of the second anchor device, both the first anchor device and the second anchor device can receive the peer-to-peer message, but since the unicast tunnel identifiers are unicast tunnel identifiers, one anchor device does not receive the peer-to-peer message, and thus the embodiment of the present application takes the case where the first anchor device receives the peer-to-peer message as an example.
205. The first anchoring equipment decapsulates the point-to-point message to obtain a BIER message;
206. the first anchoring equipment determines neighbor equipment reaching each edge equipment and a BIER-out label or BIER forwarding table identification reaching each edge equipment according to a forwarding table;
and each edge device is an edge device corresponding to the destination address set in the BIER message.
The first anchor device and the second anchor device may both receive configuration information, where the configuration information includes an identifier of a BIER sub-domain, a same BEIR label configured for the at least two anchor devices in the BIER sub-domain, a same BIER label index or a same BIER forwarding table identifier, and a BIER forwarding router identifier of each edge device in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device; and the first anchoring equipment and the second anchoring equipment generate a forwarding table based on the configuration information and the routing information to each edge equipment, wherein the forwarding table comprises neighbor equipment reaching each edge equipment and a BIER label or BIER forwarding table identification reaching each edge equipment. The forwarding tables for the BIER sub-domain in the first anchor and the second anchor are the same.
207. The first anchoring equipment updates the BIER message according to the neighbor equipment reaching each edge equipment and the outgoing BIER label or outgoing BIER forwarding table identification reaching each edge equipment, and obtains the updated BIER message;
in the embodiment of the present application, as shown in fig. 1, it is assumed that the neighbor device that reaches each edge device determined by the first anchor device is the second device. When the segment routing global label block of the second device is the same as the segment routing global label block of the first anchor device, the determined BIER label of the first anchor device is the same as the configured BIER label of the first anchor device.
208. The first anchoring equipment sends the updated BIER message to the second equipment;
the first anchor device and the second anchor device may also receive configuration information, where the configuration information includes an identifier of the BIER sub-domain, a same BEIR label configured for the at least two anchor devices in the BIER sub-domain, an identifier of each of the at least two anchor devices in the BIER sub-domain, and a BIER forwarding router identifier of each edge device in the BIER sub-domain; and the first anchoring equipment and the second anchoring equipment can respectively generate a forwarding table corresponding to the BIER label based on the configuration information and the routing information to each edge equipment, wherein the forwarding table comprises a sending interface reaching each edge equipment.
In the embodiment of the present application, it is described that the first anchoring device determines, according to a forwarding table corresponding to a BIER tag stored in the first anchoring device, that a network device receiving a BIER packet at a next hop is a second device.
209. The second equipment receives the BIER message and determines neighbor equipment reaching each edge equipment and a BIER-out label or BIER forwarding table identification reaching each edge equipment according to the forwarding table;
as shown in fig. 1, the embodiment of the present application assumes that the neighbor device that reaches each edge device determined by the second device is the fourth device, that is, the edge device itself. And when the segment routing global label block of the fourth device is the same as the segment routing global label block of the first anchor device, the outgoing BIER label which is determined by the second device and reaches the fourth device is the configured BIER label of the first anchor device.
210. The second equipment updates the BIER message according to the fourth equipment and the output BIER label or output BIER forwarding table identification reaching the fourth equipment to obtain an updated BIER message;
when the determined BIER label arriving at the fourth device is the BIER label configured by the first anchor device, the BIER label in the BIER message does not need to be updated, and only the destination address set in the BIER message needs to be updated.
211. The second equipment sends the updated BIER message to the fourth equipment;
212. the fourth device receives the BIER message, decapsulates the BIER message, and obtains multicast data;
the first anchoring device or the second anchoring device may send the configuration information to each edge device in the BIER sub-domain and each network device except the edge devices in the BIER sub-domain in a manner of interior gateway protocol IGP flooding, so that each network device establishes a forwarding table corresponding to the BIER label, and further determines a sending interface of a BIER packet according to the forwarding table.
Correspondingly, the fourth device sends the multicast data to a plurality of receiving ends identified by the receiving end addresses according to the receiving end addresses in the multicast data.
The receiving end address may be an IP multicast address, or a set of IP addresses corresponding to a plurality of receiving ends.
In the embodiment of the application, the BIER label indexes between the incoming BIER label forwarded by each network device and the outgoing BIER label arriving at each edge device are the same; or, the forwarding table id of the forwarding table in each network device is the same as the forwarding table id of the forwarding table out of the BIER arriving at each edge device, and is the forwarding table id configured by the anchor device.
In the embodiment of the application, each network device obtains the BIER label in the BIER message and uses the BIER label as the input BIER label of the forwarding table stored in the network device. The incoming BIER label forwarded by each network device is determined according to the segment routing global label block of each network device and the BIER label index configured by the anchor device. Or, the inbound BIER label forwarded by each network device is determined according to the segment routing global label block of each network device, the BIER label configured for the anchor device, and the segment routing global label block of the anchor device. Wherein the in BIER label of the forwarding table in the anchor device is the BIER label that the anchor device is configured with.
In this embodiment of the present application, the segment routing global tag blocks of at least two anchor devices in the BIER sub-domain are the same.
As can be seen, in the embodiment of the present application, the first anchor device and the second anchor device may configure the same unicast tunnel identifier; and the same BIER label, BIER label index or BIER forwarding table identification can be configured, so that the same forwarding table and point-to-point messages can be stored in each anchoring device, when one anchoring device fails, other anchoring devices can receive the point-to-point messages and forward the obtained BIER messages by using the same forwarding table, thereby realizing the fault protection of the anchoring devices and improving the reliability of data transmission.
The embodiment of the present application further provides a schematic diagram of another network structure, as shown in fig. 4, the network structure may be an operator network structure, and the network structure may include a source device SRC, operator edge devices PE1, PE11, PE12, operator devices P0, P1, P2, anchor devices ABR1, ABR2, and receiving end devices RCV1, RCV 2. The network performs data transmission in an IP message manner between SRC and PE1, between PE11 and between PE12 and RCV; the ABR1, ABR2, P1, P2, PE11 and PE12 are BIER subdomains, namely, the BIER messages are forwarded hop by hop.
Based on the network structure shown in fig. 4, in the multicast data transmission method adopting the transmission mechanism of multiple transmission and selective reception, different segment routing global labels are respectively set on the ABR1 and the ABR2, and are set as L1 and L2, which are used as BIER labels of the ABR1 and the ABR2 in the BIER subdomain X; selecting identifiers, such as IP1 and IP2, that distinguish ABR1 and ABR2 within the BIER subdomain X; within BIER subdomain X, configuration information: the BIER subdomain X, (L1, IP1), (L2 and IP2) are sent to each network device; the transmission may be issued to each network device by the controller, or may be issued to some nodes such as ABR1/ABR2 and then transmitted to each network device in the BIER sub-domain by IGP flooding. Correspondingly, the segment routing global labels configured by the ABR1 and the ABR2 can also be configured in a manner issued by the controller.
In the BIER subdomain network, each network device calculates and generates a BIER forwarding table with L1 as a BIER label and a BIER forwarding table with L2 as a BIER label according to the BIER subdomain X, (L1, IP1), (L2, IP2) and BFR-ID information of each edge device of the BIER subdomain X and routing information to each edge device BFR-ID. The routing information to each BFR-ID may use IP1, IP2 as parameters, for example: for the forwarding table with L1 as the BIER label, when calculating the route to each BFR-ID, IP1 is the root of the shortest path tree; for the forwarding table with L2 as the BIER label, when calculating the route to each BFR-ID, IP2 is the root of the shortest path tree. For the outgoing BIER label to the edge device in the forwarding table, the outgoing BIER label may be determined according to the incoming BIER label, or may be determined according to the segment routing global label block of the anchor device corresponding to L1 and L1. For example, when the network device determines the outgoing BIER label arriving at the edge device in the forwarding table according to the incoming BIER label, for the forwarding table with L1 being the incoming BIER label, the network device determines the BIER label index corresponding to L1 as Y according to its segment routing global label block, and then the segment routing global label corresponding to Y in the segment routing global label block arriving at the neighbor device of the edge device is the outgoing BIER label arriving at the edge device. When the network device is the same as the determined segment routing global label block of the neighbor device, the ingress BIER label of the forwarding table is the same as the egress BIER label of the edge device. For example, when the label ranges of the global labels of the routes allocated to the network devices are all the same and are [ 10000-.
Based on the above operation, the multicast data transmission method may include the following steps when transmitting multicast data:
the SRC transmits multicast data including IP addresses of the receiving RCV1 and RCV 2.
PE1 determines the destination address set needed to send the multicast data;
the determining, by PE1, a destination address set to be sent by the multicast data includes: PE1 determines each edge device that the multicast data needs to pass through according to the IP address in the multicast data; PE1 determines the identifier of BIER forwarding router of each edge device, namely BFR-ID; PE1 determines the set of destination addresses based on the BFR-ID of each edge device. For example, the set of destination addresses for PE11 and PE12 in BIER sub-domain X is 00001100.
The PE1 encapsulates the multicast data into two BIER messages according to the destination address set and BIER labels configured respectively by the anchor apparatus ABR1 and ABR 2;
wherein, the BIER labels contained in the BIER header in each BIER message are different and belong to the same BIER subdomain; the BIER label is a segment routing global label configured by the anchoring equipment; the address set of the destination device contained in the BIER header in each BIER message is the same. For example, the BIER tag configured to the ABR1 is L1, the BIER tag configured to the ABR2 is L2, the BIER packet containing L1 is BIER packet 1, and the BIER packet containing L2 is BIER packet 2.
PE1 encapsulates BIER message 1 into point-to-point message 1 according to the tunnel identifier reaching ABR 1; the PE1 encapsulates the BIER message 2 into a point-to-point message 2 according to the tunnel identifier reaching the ABR 2;
PE1 sends point-to-point message 1 to ABR1 and point-to-point message 2 to ABR 2;
the ABR1 decapsulates the point-to-point message 1 to obtain a BIER message 1 containing L1; the ABR1 determines that the neighbor devices reaching PE11 and PE12 are P1 according to the forwarding table corresponding to L1;
the forwarding table corresponding to L1 stored in ABR1 indicates to which network device ABR1 sends BIER packet 1 to and from which interfaces the message can reach, that is, ABR1 can determine the neighbor device of BIER packet 1 according to the forwarding table and the destination address set.
The ABR1 sends the BIER message 1 to the P1;
the P1 determines that the edge device PE11 and PE12 can be reached directly according to the forwarding table corresponding to the BIER label L1 in the BIER message 1 and the destination address set in the BIER message 1;
p1 sends BIER message 1 to PE11 and PE12 respectively;
the ABR2 decapsulates the point-to-point message 2 to obtain a BIER message 2 containing L2; the ABR2 determines that the neighbor equipment reaching PE11 and PE12 is P2 according to the forwarding table corresponding to L2 and the destination address set in the BIER message 2;
the forwarding table corresponding to L2 stored in ABR1 indicates to which network device ABR2 sends BIER packet 2 to and from which interfaces the transmission can reach the network device, that is, ABR2 can determine the sending interface of BIER packet 2 according to the forwarding table and the destination address set.
The ABR2 sends the BIER message 2 to the P2;
the P2 determines that the edge device PE11 and PE12 can be reached directly according to the forwarding table corresponding to the BIER label L2 in the BIER message 2 and the destination address set in the BIER message 2;
the P2 sends the BIER message 2 to PE11 and PE12 respectively;
PE11 and PE12 select to receive BIER message 1 or BIER message 2, and decapsulate BIER message 1 or BIER message 2 to obtain multicast data;
the PE11 and the PE12 respectively send the multicast data to the RCV1 and the RCV2 of the receiving end according to the IP addresses in the multicast data.
It can be seen that, in the embodiment of the present application, different BIER labels are allocated by two anchor point devices ABR1 and ABR2, and forwarding tables for different BIER labels are respectively established by P1 and P2, so that BIER packets encapsulating different BIER labels can be sent to edge devices PE11 and PE12 through different paths, and PE11 and PE12 can obtain BIER packets carrying the same multicast data from different paths, thereby implementing dual-transmission selective-reception protection of traffic, and improving reliability of data transmission.
However, in order to implement the traffic protection of dual-transmission selective reception, two BIER sub-fields need to be configured, each BIER sub-field is respectively assigned with one topology, for example, BIER sub-field 1 is assigned with one topology, BIER sub-field 2 is assigned with the other topology, then multicast data is sent to BIER sub-field 1, and then to BIER sub-field 2, and then one of the multicast data is selected on the edge device and sent to the receiving end. However, to configure two BIER sub-domains, information such as identifiers (e.g., IP addresses) and BFR-IDs corresponding to the network devices under the two BIER sub-domains needs to be configured. Meanwhile, the two BIER subdomains need to be associated or paired, so that a receiver can know that the multicast data of the two BIER subdomains are the same and only needs to select one part for receiving. It can be seen that the implementation manner leads to a complicated configuration process, and in the solution described in the embodiment of the present application, only the corresponding BIER label needs to be configured for each anchor point device, and each node in the BIER sub-domain establishes a forwarding table for different BIER labels, so the embodiment of the present application can also greatly simplify the configuration complexity of dual-transmission selective reception.
Based on the network structure shown in fig. 4, when implementing fault protection between the anchor devices to improve reliability of multicast data transmission, in the multicast data transmission method, the same segment routing global tags are respectively set on ABR1 and ABR2, and L12 is set as BIER tags of ABR1 and ABR2 in BIER subdomain X; the identifications of anchor points which can distinguish ABR1 and ABR2 in the BIER subdomain are respectively IP1 and IP2, wherein IP1 is the identification of ABR1, and IP2 is the identification of ABR 2; in the BIER subdomain network, the BIER subdomain X, (L12, IP1, IP2) is sent to each network device, and the sending may be issued by a controller or flooded in the BIER subdomain network by means of IGP flooding. Accordingly, the operation of configuring the unicast segment routing global labels on ABR1 and ABR2 may also be configured by the controller.
In the BIER subdomain network, each node calculates and generates a BIER forwarding table with L12 as a BIER label according to the BIER subdomain X, (L12, IP1 and IP2), BFR-ID information of each edge device of the BIER subdomain X and routing information to each edge device BFR-ID. The routing information to each BFR-ID may use IP1, IP2 as parameters, for example: when each node generates a forwarding table corresponding to the BIER label in L12 mode, when the routing to each edge device is calculated, IP1 or IP2 is used as the root of the shortest path tree; and each node calculates the BIER label of the next hop in the forwarding table and determines according to the incoming BIER label. The determination of the outgoing BIER label arriving at the edge device based on the incoming BIER label may refer to the related description of the above embodiments, and will not be described in detail here.
Based on the above operation, the multicast data transmission method may include the following steps when transmitting multicast data:
SRC sends multicast data to PE 1;
PE1 determines the destination address set that should be sent by the multicast data, as shown in fig. 4, where the destination address set is determined by the BFR-ID of PE11 and PE 12;
the PE1 encapsulates the multicast data into BIER messages according to the destination address set and the BEIR label L12 configured by the anchor ABR1 or ABR 2;
the PE1 encapsulates the BIER message into a point-to-point message according to a unicast tunnel identifier NL12 configured by an anchor device ABR1 or ABR 2;
the ABR1 or ABR2 decapsulates the point-to-point message to obtain a BIER message;
determining that neighbor equipment reaching PE11 and PE12 is P1 or P2 by ABR1 or ABR2 according to a forwarding table corresponding to the BIER label L12 in the BIER message;
the ABR1 or ABR2 sends the BIER message to P1 or P2;
the P1 or P2 determines that the BIER message can be directly sent to PE11 and PE12 according to a forwarding table corresponding to the BIER label L12 and a destination address set in the BIER message, wherein the forwarding table is stored in the P1 or P2;
p1 or P2 sends the BIER message to PE11 and PE 12;
the PE11 and the PE12 respectively send the multicast data to the RCV1 and the RCV2 of the receiving end according to the IP addresses in the multicast data.
Therefore, in the embodiment of the application, a plurality of anchor devices can configure the same unicast node label and BIER label, so that the BIER message in the same group can be sent to the BIER sub-domain through one of the anchor devices, and each node in the BIER sub-domain forwards and copies the BIER message according to the forwarding table corresponding to the BIER label stored in the node, thereby realizing fault protection of the anchor devices and improving the reliability of data transmission.
Referring to fig. 5, fig. 5 is a schematic structural diagram of a network device according to an embodiment of the present application, where the network device shown in fig. 5 may perform operations related to a first device in the embodiment shown in fig. 2. As shown in fig. 5, the network device may include the following elements:
a determining unit 301, configured to determine a destination address set to be sent by received multicast data, where the destination address set is determined based on bit-index-based explicit duplication BIER forwarding router identifiers of one or more edge devices to be sent by the multicast data;
an encapsulating unit 302, configured to encapsulate the multicast data into at least two BIER packets according to the destination address set, the identifier of the BIER sub-domain where the one or more edge devices are located, and the BIER label or forwarding table identifier configured for at least two anchor devices in the BIER sub-domain, respectively;
the encapsulating unit 302 is further configured to encapsulate, for each BIER packet, the BIER packet as a point-to-point packet according to a tunnel identifier of an anchor device, where the tunnel identifier corresponds to a BIER tag or a forwarding table identifier in the BIER packet;
a sending unit 303, configured to send each point-to-point packet to an anchor device corresponding to a BIER label or a forwarding table identifier in the point-to-point packet; the point-to-point messages are used for sending each BIER message to the BIER subdomain;
the BIER labels or forwarding table identifications contained in each of the at least two BIER messages are different, but the contained multicast data and the destination address set are the same; the BIER labels or forwarding table identifications respectively configured by the at least two anchor devices in the BIER sub-domain are different; forwarding tables corresponding to different BIER labels or different forwarding table identifications are stored in each network device in the BIER sub-domain.
In a possible embodiment, each edge device in the BIER sub-domain is configured to establish an encapsulation forwarding table and a decapsulation forwarding table without establishing a forwarding table corresponding to the BIER label; the encapsulation forwarding table is used for encapsulating the multicast data; and the decapsulation forwarding table is used for decapsulating the BIER message to obtain the multicast data.
In a possible implementation manner, the determining unit is further configured to determine one or more edge devices to which the received multicast data needs to be sent; and determining an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or forwarding table identifiers configured for at least two anchor devices in the BIER sub-domain respectively, and a BIER forwarding router identifier configured for the one or more edge devices in the BIER sub-domain.
In a possible implementation manner, the determining unit determines a destination address set to be sent for the received multicast data, specifically: receiving a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, BIER label or forwarding table identifiers respectively configured for at least two anchor devices in the BIER sub-domain, and BIER forwarding router identifiers respectively configured for the at least one edge device in the BIER sub-domain; and determining a destination address set according to the request message.
The embodiment of the present application further provides a network device, where the network device may perform operations related to the first device in the embodiment shown in fig. 3. Specifically, the network device may include:
a determining unit 301, configured to determine a destination address set to be sent by received multicast data, where the destination address set is determined based on bit-index-based explicit replication BIER forwarding router identifiers of one or more edge devices to be sent by the multicast data;
an encapsulating unit 302, configured to encapsulate the multicast data into a BIER packet according to the destination address set, the identifier of the BIER sub-domain where the one or more edge devices are located, and the same BIER label or forwarding table identifier configured for at least two anchor devices in the BIER sub-domain;
the encapsulating unit 302 is further configured to encapsulate the BIER packet into a point-to-point packet according to the same unicast tunnel identifier configured for the at least two anchor devices;
a sending unit 303, configured to send the point-to-point packet to one of the at least two anchor devices, where the BIER label is a segment routing global label, and the point-to-point packet is used to send the BIER packet to the BIER sub-domain, and each network device in the BIER sub-domain stores a forwarding table corresponding to the BIER label or the forwarding table identifier.
In an optional implementation manner, the determining unit is further configured to determine one or more edge devices to which the received multicast data needs to be sent; and determining an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or forwarding table identifiers configured for at least two anchor devices in the BIER sub-domain respectively, and a BIER forwarding router identifier configured for the one or more edge devices in the BIER sub-domain.
In an optional implementation manner, the determining unit determines a destination address set to be sent by the received multicast data, specifically: receiving a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, the same BIER label or forwarding table identifier configured for at least two anchor devices in the BIER sub-domain, and BIER forwarding router identifiers configured for the one or more edge devices in the BIER sub-domain; and determining a destination address set according to the request message.
An embodiment of the present application further provides a network device, where the network device may perform operations related to a first anchor device, a second device, or a third device in the embodiment shown in fig. 2, and as shown in fig. 6, the network device may include the following units:
an obtaining unit 401, configured to obtain an explicit duplicate BIER packet based on a bit index, where the BIER packet includes a BIER tag or a BIER forwarding table identifier;
a determining unit 402, configured to determine, according to the forwarding table corresponding to the in-BIER tag or the in-BIER forwarding table identifier, a neighbor device that reaches each edge device and an out-BIER tag or an out-BIER forwarding table identifier that reaches each edge device, where each edge device is an edge device corresponding to a destination address set in the BIER packet;
an updating unit 403, configured to update the BIER packet according to a neighbor device that reaches each edge device and a BIER label or BIER forwarding table identifier that reaches each edge device, and obtain an updated BIER packet;
a sending unit 404, configured to send the updated BIER packet to the determined neighboring device.
In an optional implementation manner, the obtaining unit obtains an explicit duplicate BIER packet based on a bit index, specifically: receiving a point-to-point message; and decapsulating the received point-to-point message to obtain a BIER message.
In an optional implementation, the network device further includes:
a receiving unit 405, configured to receive configuration information, where the configuration information includes an identifier of a BIER sub-domain, a BEIR label, a forwarding table identifier, or a BIER label index, where at least two anchor devices in the BIER sub-domain are configured respectively, and a BIER forwarding router identifier of each edge device in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device;
a generating unit 406, configured to generate at least two forwarding tables based on the configuration information and the routing information to each edge device, where each forwarding table includes a neighbor device reaching each edge device and a BIER label or BIER forwarding table identifier reaching each edge device.
In an optional implementation manner, the in-BIER labels corresponding to each forwarding table are different, but the BIER label index between the in-BIER label corresponding to the forwarding table and the out-BIER label reaching each edge device in the same forwarding table is the same; or the identifications of the in-BIER forwarding tables corresponding to each forwarding table are different, but the identifications of the in-BIER forwarding tables corresponding to the forwarding tables in the same forwarding table are the same as the identifications of the out-BIER forwarding tables reaching each edge device.
In an optional embodiment, the ingress BIER label of each forwarding table is determined according to the BIER label of one of the at least two anchor devices, the segment routing global label block of the anchor device, and the segment routing global block of the second device; or, the ingress BIER label of each forwarding table is determined according to the BIER label index of one of the at least two anchor devices and the segment routing global block of the second device.
In an optional implementation manner, the outgoing BIER label in each forwarding table that reaches each edge device is determined according to a segment routing global label block that reaches a neighbor device of each edge device, a BIER label of one of the at least two anchor devices, and a segment routing global label block of the anchor device; or, the outgoing BIER label in each forwarding table reaching each edge device is determined according to the segment routing global label block reaching the neighbor device of each edge device and the BIER label index of one of the at least two anchor devices.
In an optional implementation manner, the configuration information further includes a type of the BIER tag, or the type of the BIER tag is determined according to a structural form of the configuration information.
An embodiment of the present application further provides a network device, where the network device may perform operations related to a first anchor device, a second device, or a third device in the embodiment shown in fig. 3, and with the network device shown in fig. 6, each unit in the network device may perform the following operations:
an obtaining unit 401, configured to obtain a BIER message;
a determining unit 402, configured to determine, according to a forwarding table, a neighbor device that reaches each edge device and a BIER label or a BIER forwarding table identifier that reaches each edge device, where each edge device is an edge device corresponding to a destination address set in the BIER packet;
an updating unit 403, configured to update the BIER packet according to a neighbor device that reaches each edge device and a BIER label or BIER forwarding table identifier that reaches each edge device, and obtain an updated BIER packet;
a sending unit 404, configured to send the updated BIER packet to the determined neighboring device.
In an optional implementation manner, in the network device, the receiving unit 405 is configured to receive configuration information, where the configuration information includes an identifier of a BIER sub-domain, a same BEIR label configured for the at least two anchor devices in the BIER sub-domain, a same BIER label index or a same BIER forwarding table identifier, and a BIER forwarding router identifier of each edge device in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device; a generating unit 406, configured to generate a forwarding table based on the configuration information and the routing information to each edge device, where the forwarding table includes a neighbor device that reaches each edge device and a BIER label or BIER forwarding table identifier that reaches each edge device.
Wherein, the BIER label index between the incoming BIER label of the forwarding table and the outgoing BIER label of each edge device is the same; or the in-BIER forwarding table identifier of the forwarding table is the same as the out-BIER forwarding table identifier of each edge device.
Wherein the ingress BIER label of the forwarding table is determined by the BIER label and the segment routing global block of the second device; or the ingress BIER label of the forwarding table is determined according to the BIER label index and the segment routing global block of the second device, where the segment routing global label blocks of the at least two anchor devices in the BIER sub-domain are the same.
Wherein, the outgoing BIER label in the forwarding table reaching each edge device is determined according to the segment routing global label block of the neighbor device reaching each edge device, the BIER label and the segment routing global label block of the anchor device; or, the outgoing BIER label in the forwarding table reaching each edge device is determined according to the segment routing global label block reaching the neighbor device of each edge device and the BIER label index.
Wherein the configuration information further includes a type of the BIER tag, or the type of the BIER tag is determined according to a structural form of the configuration information.
The obtaining unit obtains the BIER message specifically as follows: and receiving a point-to-point message, and decapsulating the point-to-point message to obtain a BIER message. At this time, the network device may be an anchor device.
The difference between the related operations of the network device in the embodiment of the present application and the related operations of the network device in the previous embodiment is that, in the embodiment of the present application, since the BIER labels, the BIER forwarding table identifiers, or the BIER label indexes configured for each anchor device in the same BIER sub-domain are the same, the network device has only one forwarding table for the same BIER sub-domain; in the above embodiment, since the BIER labels, BIER forwarding table identifiers, or BIER label indexes configured for each anchor device in the same BIER sub-domain are different, the network device may establish multiple forwarding tables for the same BIER sub-domain.
Referring to fig. 6, fig. 6 is a schematic structural diagram of another apparatus according to an embodiment of the present invention, and as shown in fig. 6, the apparatus may include: a processor 402, a communication interface 403, and a memory 401. Among them, the communication interface 403, the processor 402, and the memory 401 are connected to each other. Wherein the processor 402 may perform the functions of the output unit, the communication interface may be similar to the functions of the transmitting unit or the receiving unit, and the memory may store the state information or the operation result received by the processor. In one example, the communication interface 403 may include or be integrated with a receiver and a transmitter, which is not limited in this application. Optionally, the device may further include a bus, which may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 6, but this is not intended to represent only one bus or type of bus.
In one embodiment, the network device may perform operations related to the first device in the embodiment shown in fig. 2 to improve reliability of multicast data transmission by multiplexing selective reception, and in particular, in the network device, the processor 402 may call the program instructions in the memory 401 to perform the following operations:
determining a destination address set required to be sent by received multicast data, wherein the destination address set is determined based on bit index-based explicit replication BIER forwarding router identification of one or more edge devices to be sent by the multicast data;
according to the destination address set, the identifier of the BIER sub-domain where the one or more edge devices are located, and the BIER labels or BIER forwarding table identifiers configured for at least two anchoring devices in the BIER sub-domain respectively, the multicast data is encapsulated into at least two BIER messages respectively;
for each BIER message, encapsulating the BIER message into a point-to-point message according to a tunnel identifier which is corresponding to a BIER label or a BIER forwarding table identifier in the BIER message and reaches an anchoring device;
sending each point-to-point message to anchoring equipment corresponding to a BIER label or a BIER forwarding table identifier in the point-to-point message; the point-to-point messages are used for sending each BIER message to the BIER subdomain;
the BIER labels or forwarding table identifications contained in each of the at least two BIER messages are different, but the contained multicast data and the destination address set are the same; the BIER labels or BIER forwarding table identifications respectively configured by the at least two anchor devices in the BIER sub-domain are different; and forwarding tables corresponding to different BIER labels or different BIER forwarding table identifications are stored in each network device in the BIER sub-domain.
In an alternative embodiment, processor 402 may call program instructions in memory 401 and may perform the following operations:
determining one or more edge devices required to be sent by the received multicast data;
determining an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or BIER forwarding table identifiers configured for at least two anchor devices in the BIER sub-domain respectively, and BIER forwarding router identifiers configured for the one or more edge devices in the BIER sub-domain.
In an alternative embodiment, the processor 402 may call a program instruction in the memory 401, and the first device determines a destination address set to be sent for the received multicast data, specifically:
receiving a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or BIER forwarding table identifiers respectively configured for at least two anchor devices in the BIER sub-domain, and BIER forwarding router identifiers respectively configured for the one or more edge devices in the BIER sub-domain;
and determining a destination address set according to the request message.
In another embodiment, the network device may perform operations related to the first device in the embodiment shown in fig. 3 to improve reliability of multicast data transmission in a manner of fault protection of multiple anchor devices, and specifically, in the network device, the processor 402 may call the program instructions in the memory 401 to perform the following operations:
determining a destination address set required to be sent by received multicast data, wherein the destination address set is determined based on bit index-based explicit replication BIER forwarding router identification of one or more edge devices to be sent by the multicast data;
according to the destination address set, the identifier of the BIER sub-domain where the one or more edge devices are located, the same BIER label or BIER forwarding table identifier configured for at least two anchoring devices in the BIER sub-domain, and the multicast data are packaged into a BIER message;
encapsulating the BIER message into a point-to-point message according to the same unicast tunnel identifiers configured for the at least two anchoring devices;
sending the point-to-point message to one of the at least two anchor devices;
the BIER label is a segment routing global label, the point-to-point message is used for sending the BIER message to the BIER sub-domain, and each network device in the BIER sub-domain stores the BIER label or a forwarding table corresponding to the forwarding table identifier.
The processor 402 may call the program instructions in the memory 401 and may perform the following operations:
determining one or more edge devices required to be sent by the received multicast data;
determining an identification of a BIER sub-domain in which the one or more edge devices are located, a same BIER label or BIER forwarding table identification configured for at least two anchor devices in the BIER sub-domain, and a BIER forwarding router identification configured for the one or more edge devices in the BIER sub-domain.
The processor 402 may call a program instruction in the memory 401 to determine a destination address set to be sent for the received multicast data, and may specifically perform the following operations:
receiving a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, the configured same BIER labels or BIER forwarding table identifiers of at least two anchor devices in the BIER sub-domain, and the configured BIER forwarding router identifiers of the one or more edge devices in the BIER sub-domain respectively;
and determining a destination address set according to the request message.
Accordingly, embodiments of the present application may also provide a network device, which may be a chip or a circuit, such as a chip or a circuit that may be disposed in the network device. The network device performs operations associated with the second device, the third device, or each anchor device in the embodiment shown in fig. 2. The network device may include a processor and a memory. The memory is configured to store instructions, and the processor is configured to execute the instructions stored by the memory to cause the network device to implement the operations associated with the second device, the third device, or each anchor device in the embodiment shown in fig. 2.
For example, processor 402 may call program instructions in memory 401 to perform the following operations:
acquiring an explicit copy BIER message based on a bit index, wherein the BIER message comprises a BIER label or a BIER forwarding table identifier;
determining neighbor devices reaching each edge device and a BIER-out label or BIER-out forwarding table identifier reaching each edge device according to the forwarding table corresponding to the BIER-in label or the BIER-in forwarding table identifier, wherein each edge device is an edge device corresponding to a destination address set in the BIER message;
updating the BIER message according to the neighbor equipment reaching each edge equipment and the outgoing BIER label or outgoing BIER forwarding table identification reaching each edge equipment to obtain an updated BIER message;
and sending the updated BIER message to the determined neighbor equipment.
In an alternative embodiment, the processor 402 may call a program instruction in the memory 401 to obtain an explicit copy BIER packet based on a bit index, specifically:
receiving a point-to-point message;
and de-encapsulating the received point-to-point message to obtain a BIER message.
In an alternative embodiment, processor 402 may call program instructions in memory 401 and may perform the following operations:
receiving configuration information, wherein the configuration information comprises an identifier of a BIER sub-domain, a BEIR label, a BIER forwarding table identifier or a BIER label index and BIER forwarding router identifiers of each edge device in the BIER sub-domain, wherein the BEIR label, the BIER forwarding table identifier or the BIER label index and the BEIR label index are respectively configured for at least two anchor devices in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device;
and generating at least two forwarding tables based on the configuration information and the routing information to each edge device, wherein each forwarding table comprises neighbor devices reaching each edge device and a BIER-out label or BIER-out forwarding table identifier reaching each edge device.
The BIER label corresponding to each forwarding table is different, but the BIER label indexes between the BIER label corresponding to the forwarding table and the BIER labels arriving at each edge device in the same forwarding table are the same; or the identifications of the in-BIER forwarding tables corresponding to each forwarding table are different, but the identifications of the in-BIER forwarding tables corresponding to the forwarding tables in the same forwarding table are the same as the identifications of the out-BIER forwarding tables reaching each edge device.
Wherein the ingress BIER label of each forwarding table is determined according to the BIER label of one of the at least two anchor devices, the segment routing global label block of the anchor device, and the segment routing global block of the second device; or, the ingress BIER label of each forwarding table is determined according to the BIER label index of one of the at least two anchor devices and the segment routing global block of the second device.
Wherein, the outgoing BIER label reaching each edge device in each forwarding table is determined according to the segment routing global label block reaching the neighbor device of each edge device, the BIER label of one of the at least two anchor devices, and the segment routing global label block of the anchor device; or, the outgoing BIER label in each forwarding table reaching each edge device is determined according to the segment routing global label block reaching the neighbor device of each edge device and the BIER label index of one of the at least two anchor devices.
Wherein the configuration information further includes a type of the BIER tag, or the type of the BIER tag is determined according to a structural form of the configuration information.
Accordingly, embodiments of the present application may also provide a network device, which may be a chip or a circuit, such as a chip or a circuit that may be disposed in the network device. The network device performs the operations associated with each anchor device in the embodiment shown in fig. 3. The network device may include a processor and a memory. The memory is configured to store instructions, and the processor is configured to execute the instructions stored by the memory to cause the network device to implement operations associated with each anchor device in the embodiment shown in fig. 3.
For example, processor 402 may call program instructions in memory 401 to perform the following operations:
acquiring a BIER message;
determining neighbor devices reaching each edge device and a BIER label or BIER forwarding table identifier reaching each edge device according to a forwarding table, wherein each edge device is an edge device corresponding to a destination address set in the BIER message;
updating the BIER message according to the neighbor equipment reaching each edge equipment and the outgoing BIER label or outgoing BIER forwarding table identification reaching each edge equipment to obtain an updated BIER message;
and sending the updated BIER message to the determined neighbor equipment.
In an alternative embodiment, processor 402 may call program instructions in memory 401 and may perform the following operations:
receiving configuration information, wherein the configuration information includes an identifier of a BIER sub-domain, the same BEIR labels configured for the at least two anchor devices in the BIER sub-domain, the same BIER label index or the same BIER forwarding table identifier, and BIER forwarding router identifiers of each edge device in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device;
and generating a forwarding table based on the configuration information and the routing information to each edge device, wherein the forwarding table comprises neighbor devices reaching each edge device and a BIER-out label or BIER-out forwarding table identifier reaching each edge device.
Wherein, the BIER label index between the incoming BIER label of the forwarding table and the outgoing BIER label of each edge device is the same; or the in-BIER forwarding table identifier of the forwarding table is the same as the out-BIER forwarding table identifier of each edge device.
Wherein the ingress BIER label of the forwarding table is determined by the BIER label and the segment routing global block of the second device; or the ingress BIER label of the forwarding table is determined according to the BIER label index and the segment routing global block of the second device, where the segment routing global label blocks of the at least two anchor devices in the BIER sub-domain are the same.
Wherein, the outgoing BIER label in the forwarding table reaching each edge device is determined according to the segment routing global label block of the neighbor device reaching each edge device, the BIER label and the segment routing global label block of the anchor device; or, the outgoing BIER label in the forwarding table reaching each edge device is determined according to the segment routing global label block reaching the neighbor device of each edge device and the BIER label index.
Wherein the configuration information further includes a type of the BIER tag, or the type of the BIER tag is determined according to a structural form of the configuration information.
The memory may include both read-only memory and random access memory, and provides instructions and data to the processor. The portion of memory may also include non-volatile random access memory.
In implementation, the steps of the above method may be implemented by integrated logic circuits of hardware in a processor. The steps of a method disclosed in connection with the embodiments of the present application may be embodied directly in a hardware processor for performing the steps. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor. To avoid repetition, it is not described in detail here.
Reference herein to first, second, third, fourth, and various numerical designations is merely for convenience of description and is not intended to limit the scope of embodiments of the invention.
In the embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
Those of ordinary skill in the art will appreciate that the various illustrative logical blocks and steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of electronic hardware. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, in the network device described above, the division of the unit is only one logical functional division, and there may be another division in actual implementation, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, optical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In the above embodiments, all or part of the implementation may be realized by hardware or a combination thereof. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the procedures or functions described in accordance with the present application are generated, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, optical fiber, twisted pair) or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any medium that can be accessed by a computer or a data storage device including one or more integrated media, servers, data centers, and the like. The media may be magnetic media (e.g., floppy disks, hard disks, magnetic tape), optical media (e.g., compact disks), or semiconductor media (e.g., solid state disks), among others.
Claims (32)
1. A method for multicast data transmission, comprising:
the method comprises the steps that a first device determines a destination address set required to be sent by received multicast data, wherein the destination address set is determined based on bit index-based explicit duplication BIER forwarding router identification of one or more edge devices to be sent by the multicast data;
the first device encapsulates the multicast data into at least two BIER messages respectively according to the destination address set, the identifier of the BIER sub-domain where the one or more edge devices are located, and the BIER labels or BIER forwarding table identifiers configured for at least two anchoring devices in the BIER sub-domain respectively;
the first equipment encapsulates the BIER message into a point-to-point message according to a tunnel identifier which reaches an anchoring equipment and corresponds to a BIER label or a BIER forwarding table identifier in the BIER message aiming at each BIER message;
the first equipment sends each point-to-point message to anchoring equipment corresponding to a BIER label or a BIER forwarding table identifier in the point-to-point message; the point-to-point messages are used for sending each BIER message to the BIER subdomain;
the BIER labels or forwarding table identifications contained in each of the at least two BIER messages are different, but the contained multicast data and the destination address set are the same; the BIER labels or BIER forwarding table identifications respectively configured by the at least two anchor devices in the BIER sub-domain are different; and forwarding tables corresponding to different BIER labels or different BIER forwarding table identifications are stored in each network device in the BIER sub-domain.
2. The method of claim 1, further comprising:
the first device determines one or more edge devices required to be sent by the received multicast data;
the first device determines an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or BIER forwarding table identifiers configured for at least two anchor devices in the BIER sub-domain respectively, and a BIER forwarding router identifier configured for the one or more edge devices in the BIER sub-domain.
3. The method of claim 1, wherein the determining, by the first device, a set of destination addresses to be sent for the received multicast data comprises:
the first device receives a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or BIER forwarding table identifiers respectively configured for at least two anchor devices in the BIER sub-domain, and BIER forwarding router identifiers respectively configured for the one or more edge devices in the BIER sub-domain;
and the first equipment determines a destination address set according to the request message.
4. A method for multicast data transmission, comprising:
the method comprises the steps that a first device determines a destination address set required to be sent by received multicast data, wherein the destination address set is determined based on bit index-based explicit duplication BIER forwarding router identification of one or more edge devices to be sent by the multicast data;
the first device packages the multicast data into a BIER message according to the destination address set, the identifier of the BIER sub-domain where the one or more edge devices are located, the same BIER label or BIER forwarding table identifier configured for at least two anchoring devices in the BIER sub-domain;
the first equipment encapsulates the BIER message into a point-to-point message according to the same unicast tunnel identifiers configured for the at least two anchoring equipment;
the first device sends the point-to-point message to one of the at least two anchor devices;
the BIER label is a segment routing global label, the point-to-point message is used for sending the BIER message to the BIER sub-domain, and each network device in the BIER sub-domain stores the BIER label or a forwarding table corresponding to the forwarding table identifier.
5. The method of claim 4, further comprising:
the first device determines one or more edge devices required to be sent by the received multicast data;
the first device determines an identification of a BIER sub-domain in which the one or more edge devices are located, a same BIER label or BIER forwarding table identification configured for at least two anchor devices in the BIER sub-domain, and a BIER forwarding router identification configured for the one or more edge devices in the BIER sub-domain.
6. The method of claim 4, wherein the determining, by the first device, a set of destination addresses to be sent for the received multicast data comprises:
the first device receives a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, the configured same BIER labels or BIER forwarding table identifiers of at least two anchor devices in the BIER sub-domain, and the configured BIER forwarding router identifiers of the one or more edge devices in the BIER sub-domain respectively;
and the first equipment determines a destination address set according to the request message.
7. A method for multicast data transmission, comprising:
the second equipment acquires an explicit copy BIER message based on a bit index, wherein the BIER message comprises a BIER label or a BIER forwarding table identifier;
the second device determines neighbor devices reaching each edge device and a BIER-out label or BIER-out forwarding table identifier reaching each edge device according to the forwarding table corresponding to the BIER-in label or the BIER-in forwarding table identifier, wherein each edge device is an edge device corresponding to a destination address set in the BIER message;
the second equipment updates the BIER message according to the neighbor equipment reaching each edge equipment and the outgoing BIER label or outgoing BIER forwarding table identification reaching each edge equipment, and obtains the updated BIER message;
and the second equipment sends the updated BIER message to the determined neighbor equipment.
8. The method of claim 7, wherein the second device obtaining the bit-index-based explicitly copied BIER packet comprises:
the second equipment receives the point-to-point message;
and the second equipment decapsulates the received point-to-point message to obtain a BIER message.
9. The method according to claim 7 or 8, characterized in that the method further comprises:
the second device receives configuration information, wherein the configuration information comprises an identifier of a BIER sub-domain, a BEIR label, a BIER forwarding table identifier or a BIER label index and BIER forwarding router identifiers of each edge device in the BIER sub-domain, wherein the BEIR label, the BIER forwarding table identifier or the BIER label index and the BEIR label index are respectively configured for at least two anchor devices in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device;
and the second equipment generates at least two forwarding tables based on the configuration information and the routing information to each edge equipment, wherein each forwarding table comprises neighbor equipment reaching each edge equipment and a BIER-out label or BIER-out forwarding table identifier reaching each edge equipment.
10. The method of claim 9, wherein the in BIER labels corresponding to each forwarding table are different, but the BIER label index between the in BIER label corresponding to the forwarding table and the out BIER label arriving at each edge device in the same forwarding table is the same; or the identifications of the in-BIER forwarding tables corresponding to each forwarding table are different, but the identifications of the in-BIER forwarding tables corresponding to the forwarding tables in the same forwarding table are the same as the identifications of the out-BIER forwarding tables reaching each edge device.
11. The method of claim 9 wherein the ingress BIER label for each forwarding table is determined from the BIER label for one of the at least two anchor devices, the segment routing global label block for that anchor device, and the segment routing global block for the second device; or, the ingress BIER label of each forwarding table is determined according to the BIER label index of one of the at least two anchor devices and the segment routing global block of the second device.
12. The method of claim 9, wherein the outgoing BIER label in each forwarding table to the edge device is determined according to a segment routing global label block of a neighbor device to the edge device, a BIER label of one of the at least two anchor devices, and a segment routing global label block of the anchor device; or, the outgoing BIER label in each forwarding table reaching each edge device is determined according to the segment routing global label block reaching the neighbor device of each edge device and the BIER label index of one of the at least two anchor devices.
13. The method of claim 9, wherein the configuration information further includes a type of the BIER tag, or wherein the type of the BIER tag is determined according to a structural form of the configuration information.
14. A method for multicast data transmission, comprising:
one of at least two anchor devices receives a point-to-point message, the at least two anchor devices are configured with the same BIER label or BIER forwarding table identifier, the at least two anchor devices are configured with the same unicast tunnel identifier, and the point-to-point message contains the unicast tunnel identifier;
the anchoring equipment receiving the point-to-point message decapsulates the point-to-point message to obtain a BIER message;
the anchoring equipment receiving the point-to-point message determines neighbor equipment reaching each edge equipment and a BIER label or BIER forwarding table identification reaching each edge equipment according to a forwarding table, wherein each edge equipment is the edge equipment corresponding to a destination address set in the BIER message;
the anchoring equipment receiving the point-to-point message updates the BIER message according to neighbor equipment reaching each edge equipment and a BIER-out label or BIER-out forwarding table identification reaching each edge equipment to obtain an updated BIER message;
and the anchoring equipment receiving the point-to-point message sends the updated BIER message to the determined neighbor equipment.
15. The method of claim 14, further comprising:
the at least two anchoring devices receive configuration information, wherein the configuration information includes identifiers of BIER sub-domains, the same BEIR labels configured for the at least two anchoring devices in the BIER sub-domains, the same BIER label index or the same BIER forwarding table identifier, and BIER forwarding router identifiers of each edge device in the BIER sub-domains; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device;
and the at least two anchoring devices respectively generate a forwarding table based on the configuration information and the routing information to each edge device, wherein the forwarding table comprises neighbor devices reaching each edge device and a BIER label or BIER forwarding table identifier reaching each edge device.
16. The method of claim 15 wherein the BIER label index between the in BIER label of the forwarding table and the out BIER label arriving at each of the edge devices is the same; or the in-BIER forwarding table identifier of the forwarding table is the same as the out-BIER forwarding table identifier of each edge device.
17. The method according to claim 15 or 16, wherein the in BIER label of the forwarding table is the BIER label; or the ingress label of the forwarding table is determined according to the BIER label index and the segment routing global block of the anchor device, where the segment routing global label blocks of the at least two anchor devices in the BIER sub-domain are the same.
18. The method according to claim 15 or 16, wherein the outgoing BIER label in the forwarding table to each edge device is determined according to the segment routing global label block of the neighbor device to each edge device, the BIER label and the segment routing global label block of the anchor device; or, the outgoing BIER label in the forwarding table reaching each edge device is determined according to the segment routing global label block reaching the neighbor device of each edge device and the BIER label index.
19. The method of claim 15, wherein the configuration information further comprises a type of the BIER tag, or wherein the type of the BIER tag is determined according to a structural form of the configuration information.
20. A network device, comprising:
a determining unit, configured to determine a destination address set to be sent by received multicast data, where the destination address set is determined based on bit-index-based explicit duplication BIER forwarding router identifiers of one or more edge devices to be sent by the multicast data;
an encapsulating unit, configured to encapsulate, according to the destination address set, an identifier of a BIER sub-domain where the one or more edge devices are located, and BIER labels or forwarding table identifiers configured for at least two anchor devices in the BIER sub-domain, the multicast data into at least two BIER packets, respectively;
the encapsulation unit is further configured to encapsulate, for each BIER packet, the BIER packet as a point-to-point packet according to a tunnel identifier of an anchor device, which is corresponding to a BIER tag or a forwarding table identifier in the BIER packet;
a sending unit, configured to send each point-to-point message to an anchor device corresponding to a BIER label or a forwarding table identifier in the point-to-point message; the point-to-point messages are used for sending each BIER message to the BIER subdomain;
the BIER labels or forwarding table identifications contained in each of the at least two BIER messages are different, but the contained multicast data and the destination address set are the same; the BIER labels or forwarding table identifications respectively configured by the at least two anchor devices in the BIER sub-domain are different; forwarding tables corresponding to different BIER labels or different forwarding table identifications are stored in each network device in the BIER sub-domain.
21. The network device of claim 20,
the determining unit is further configured to determine one or more edge devices to be sent by the received multicast data; and determining an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or forwarding table identifiers configured for at least two anchor devices in the BIER sub-domain respectively, and a BIER forwarding router identifier configured for the one or more edge devices in the BIER sub-domain.
22. The network device according to claim 21, wherein the determining unit determines a destination address set to be sent for the received multicast data, specifically: receiving a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, BIER label or forwarding table identifiers respectively configured for at least two anchor devices in the BIER sub-domain, and BIER forwarding router identifiers respectively configured for the at least one edge device in the BIER sub-domain; and determining a destination address set according to the request message.
23. A network device, comprising:
a determining unit, configured to determine a destination address set to be sent by received multicast data, where the destination address set is determined based on bit-index-based explicit duplication BIER forwarding router identifiers of one or more edge devices to be sent by the multicast data;
an encapsulating unit, configured to encapsulate the multicast data into a BIER packet according to the destination address set, an identifier of a BIER sub-domain where the one or more edge devices are located, and the same BIER label or forwarding table identifier configured for at least two anchor devices in the BIER sub-domain;
the encapsulation unit is further configured to encapsulate the BIER packet as a point-to-point packet according to the same unicast tunnel identifier configured for the at least two anchor devices;
a sending unit, configured to send the peer-to-peer packet to one of the at least two anchor devices; the BIER label is a segment routing global label, the point-to-point message is used for sending the BIER message to the BIER sub-domain, and each network device in the BIER sub-domain stores the BIER label or a forwarding table corresponding to the forwarding table identifier.
24. The network device of claim 23, wherein the determining unit is further configured to determine one or more edge devices to which the received multicast data needs to be sent; and determining an identifier of a BIER sub-domain where the one or more edge devices are located, BIER labels or forwarding table identifiers configured for at least two anchor devices in the BIER sub-domain respectively, and a BIER forwarding router identifier configured for the one or more edge devices in the BIER sub-domain.
25. The network device according to claim 23, wherein the determining unit determines a destination address set to be sent for the received multicast data, specifically: receiving a request message sent by one or more edge devices for multicast data, wherein the request message includes an identifier of a BIER sub-domain where the one or more edge devices are located, the same BIER label or forwarding table identifier configured for at least two anchor devices in the BIER sub-domain, and BIER forwarding router identifiers configured for the one or more edge devices in the BIER sub-domain; and determining a destination address set according to the request message.
26. A network device, comprising:
an obtaining unit, configured to obtain an explicit duplicate BIER packet based on a bit index, where the BIER packet includes a BIER entry tag or a BIER entry forwarding table identifier;
a determining unit, configured to determine, according to the forwarding table corresponding to the in-BIER tag or the in-BIER forwarding table identifier, a neighbor device that reaches each edge device and an out-BIER tag or an out-BIER forwarding table identifier that reaches each edge device, where each edge device is an edge device corresponding to a destination address set in the BIER packet;
an updating unit, configured to update the BIER packet according to a neighbor device that reaches each edge device and an outgoing BIER label or an outgoing BIER forwarding table identifier that reaches each edge device, and obtain an updated BIER packet;
and the sending unit is used for sending the updated BIER message to the determined neighbor equipment.
27. The network device according to claim 26, wherein the obtaining unit obtains an explicit copy BIER packet based on a bit index, specifically: receiving a point-to-point message; and decapsulating the received point-to-point message to obtain a BIER message.
28. The network device of claim 26 or 27, wherein the network device further comprises:
a receiving unit, configured to receive configuration information, where the configuration information includes an identifier of a BIER sub-domain, a BEIR label, a forwarding table identifier or BIER label index, which are respectively configured for at least two anchor devices in the BIER sub-domain, and a BIER forwarding router identifier of each edge device in the BIER sub-domain; the configured BIER label index of each anchor device is determined according to the configured BIER label of the anchor device and the segment routing global label block of the anchor device;
and a generating unit, configured to generate at least two forwarding tables based on the configuration information and the routing information to each edge device, where each forwarding table includes a neighbor device that reaches each edge device and a BIER label or BIER forwarding table identifier that reaches each edge device.
29. The network device of claim 28, wherein the ingress BIER labels corresponding to each forwarding table are different, but the BIER label index between the ingress BIER label corresponding to the forwarding table and the egress BIER label arriving at each edge device in the same forwarding table is the same; or the identifications of the in-BIER forwarding tables corresponding to each forwarding table are different, but the identifications of the in-BIER forwarding tables corresponding to the forwarding tables in the same forwarding table are the same as the identifications of the out-BIER forwarding tables reaching each edge device.
30. The network device of claim 28, wherein the ingress BIER label of each forwarding table is determined from a BIER label of one of the at least two anchor devices, a segment routing global label block of the anchor device, and a segment routing global block of the network device; or, the ingress BIER label of each forwarding table is determined according to the BIER label index of one of the at least two anchor devices and the segment routing global block of the network device.
31. The network device of claim 28, wherein the outgoing BIER label in each forwarding table to the edge device is determined according to a segment routing global label block of a neighbor device to the edge device, a BIER label of one of the at least two anchor devices, and a segment routing global label block of the anchor device; or, the outgoing BIER label in each forwarding table reaching each edge device is determined according to the segment routing global label block reaching the neighbor device of each edge device and the BIER label index of one of the at least two anchor devices.
32. The network device of claim 28, wherein the configuration information further includes a type of the BIER tag, or wherein the type of the BIER tag is determined according to a structural form of the configuration information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810515021.5A CN110535768B (en) | 2018-05-25 | 2018-05-25 | Multicast data transmission method and related equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810515021.5A CN110535768B (en) | 2018-05-25 | 2018-05-25 | Multicast data transmission method and related equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110535768A CN110535768A (en) | 2019-12-03 |
CN110535768B true CN110535768B (en) | 2022-01-14 |
Family
ID=68657063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810515021.5A Active CN110535768B (en) | 2018-05-25 | 2018-05-25 | Multicast data transmission method and related equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535768B (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884867A (en) | 2019-03-08 | 2022-08-09 | 华为技术有限公司 | BIER message sending method and device |
CN113285878B (en) * | 2020-02-20 | 2022-08-26 | 华为技术有限公司 | Load sharing method and first network equipment |
CN113645134A (en) * | 2020-05-11 | 2021-11-12 | 华为技术有限公司 | Method and device for sending multicast message |
CN112511319B (en) * | 2020-07-03 | 2024-06-28 | 中兴通讯股份有限公司 | Information notification, message forwarding and message elimination methods, devices, equipment and media |
CN112134801B (en) * | 2020-08-11 | 2022-02-15 | 中盈优创资讯科技有限公司 | Method and device for processing segment identification SID and each node |
CN113992564B (en) * | 2021-09-17 | 2023-03-31 | 新华三信息安全技术有限公司 | Message processing method and device |
CN115442294B (en) * | 2022-07-29 | 2023-10-31 | 中盈优创资讯科技有限公司 | File distribution method and device based on BIER and IPV6 multicasting |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624615A (en) * | 2012-03-02 | 2012-08-01 | 杭州华三通信技术有限公司 | Forwarding method and forwarding device for multicast data messages based on multiple protocol label switching (MPLS) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9154329B2 (en) * | 2009-06-05 | 2015-10-06 | At&T Intellectual Property I, Lp | Methods and apparatus to selectively assign routing tables to router linecards |
-
2018
- 2018-05-25 CN CN201810515021.5A patent/CN110535768B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624615A (en) * | 2012-03-02 | 2012-08-01 | 杭州华三通信技术有限公司 | Forwarding method and forwarding device for multicast data messages based on multiple protocol label switching (MPLS) |
Non-Patent Citations (2)
Title |
---|
"Bit Index Explicit Replication (BIER) multicasting in transport networks";A. Giorgetti等;《IEEE》;20170518;全文 * |
"Multicast Using Bit Index Explicit Replication (BIER)";IJ. Wijnands, Ed等;《IETF》;20171130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110535768A (en) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535768B (en) | Multicast data transmission method and related equipment | |
CN109873760B (en) | Method and device for processing route, and method and device for data transmission | |
CN109981457B (en) | Message processing method, network node and system | |
CN109861926B (en) | Message sending and processing method, device, node, processing system and medium | |
US10382309B2 (en) | Method and apparatus for tracing paths in service function chains | |
JP5864618B2 (en) | MPLS path looping at the transfer level of connectionless MPLS networks | |
JP7080983B2 (en) | Method and device for message processing using unified SR label stack | |
CN110912796B (en) | Communication method, device and system | |
US7613188B1 (en) | Ethernet VLL spoke termination at an IP interface | |
US11627070B2 (en) | Data packet processing method and apparatus, storage medium, and electronic device | |
US20130266013A1 (en) | SYSTEM AND METHOD FOR USING LABEL DISTRIBUTION PROTOCOL (LDP) IN IPv6 NETWORKS | |
EP4221102A1 (en) | Data processing method and apparatus, storage medium, and electronic apparatus | |
CN112671641B (en) | Message forwarding method and device | |
CN111988266B (en) | Method for processing message | |
CN112532563B (en) | Message sending method and device | |
CN108270673B (en) | File transmitting method, device and system | |
CN108667709B (en) | Message forwarding method and device | |
CN112737954B (en) | Message processing method, device, system, equipment and storage medium | |
CN104683210A (en) | Automatic tunnel establishing method and device | |
CN109120526B (en) | Method and network device for point-to-point message transmission | |
US8243728B2 (en) | Apparatus and method for transmitting packets in a packet switched network | |
CN112822097A (en) | Message forwarding method, first network device and first device group | |
CN112565044B (en) | Message processing method and device | |
TW202249465A (en) | Apparatus for routing of cellular data packets using ip networks | |
CN114915519A (en) | Communication method and communication device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |