CN115065638B - Multicast data forwarding method and device, electronic equipment and storage medium - Google Patents

Multicast data forwarding method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN115065638B
CN115065638B CN202210845226.6A CN202210845226A CN115065638B CN 115065638 B CN115065638 B CN 115065638B CN 202210845226 A CN202210845226 A CN 202210845226A CN 115065638 B CN115065638 B CN 115065638B
Authority
CN
China
Prior art keywords
node
label
forwarding
multicast data
tag
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
Application number
CN202210845226.6A
Other languages
Chinese (zh)
Other versions
CN115065638A (en
Inventor
李华楠
袁刚
张雪
王鹏
王越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202210845226.6A priority Critical patent/CN115065638B/en
Publication of CN115065638A publication Critical patent/CN115065638A/en
Application granted granted Critical
Publication of CN115065638B publication Critical patent/CN115065638B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results

Landscapes

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

Abstract

The disclosure provides a multicast data forwarding method, a device, electronic equipment and a storage medium, and relates to the technical field of communication. The method comprises the following steps: the intermediate node receives multicast data from an upstream node, wherein a data head of the multicast data comprises a forwarding label of the upstream node, a neighbor label and a general tree label, the neighbor label is used for identifying the upstream node, and the general tree label is used for identifying a multicast tree corresponding to the multicast data; the intermediate node executes Reverse Path Forwarding (RPF) check on the multicast data according to the neighbor tag and the general tree tag; under the condition that RPF check passes, the intermediate node determines a corresponding downstream node according to the general tree label; the intermediate node encapsulates and forwards multicast data for the downstream node, and the encapsulated multicast data comprises a forwarding label, a neighbor label and a general tree label, wherein the forwarding label, the neighbor label and the general tree label correspond to the downstream node, of the intermediate node. The general tree label is used for identifying the whole multicast tree, thereby facilitating the monitoring and debugging of the multicast network.

Description

Multicast data forwarding method and device, electronic equipment and storage medium
Technical Field
The disclosure relates to the technical field of communication, and in particular relates to a multicast data forwarding method, a device, electronic equipment and a storage medium.
Background
In the technical field of communication, multicast data generated by a multicast source is forwarded by a node and then sent to each receiving end corresponding to a multicast group, and the node responsible for forwarding the multicast data and a forwarding path of the multicast data in the node are determined by a controller in a network.
In the related art, a controller in a network determines nodes and paths forwarding multicast data according to information of a multicast source and information of a multicast group. Then, the controller designates and distributes a forwarding label for the node so that the node forwards the multicast data according to the forwarding label.
However, the controller designates a forwarding label for the nodes, so that the nodes have the capability of forwarding multicast data, but lacks a monitoring mechanism when the multicast data is forwarded among the nodes, which is not beneficial to debugging and monitoring the multicast network formed by the nodes.
It should be noted that the information disclosed in the above background section is only for enhancing understanding of the background of the present disclosure and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The disclosure provides a multicast data forwarding method, a device, an electronic device and a storage medium, which at least overcome the problem of inconvenient debugging and monitoring of a multicast network in the related art to a certain extent.
Other features and advantages of the present disclosure will be apparent from the following detailed description, or may be learned in part by the practice of the disclosure.
According to one aspect of the present disclosure, there is provided a multicast data forwarding method, including:
an intermediate node receives multicast data from an upstream node, wherein a data head of the multicast data comprises a forwarding label of the upstream node, a neighbor label and a general tree label, the neighbor label is used for identifying the upstream node, and the general tree label is used for identifying a multicast tree corresponding to the multicast data;
the intermediate node performs Reverse Path Forwarding (RPF) check on the multicast data according to the neighbor tag and the general tree tag;
under the condition that the RPF check passes, the intermediate node determines a corresponding downstream node according to the general tree label;
the intermediate node encapsulates and forwards multicast data for the downstream node, wherein the encapsulated multicast data comprises a forwarding label, a neighbor label and the general tree label, which correspond to the downstream node, of the intermediate node.
In one embodiment of the disclosure, the intermediate node performs a reverse path forwarding RPF check on the multicast data according to the neighbor tag and the generic tree tag, including: determining a first interface corresponding to the multicast data between the intermediate node and the multicast data according to a neighbor tag and a general tree tag included in the data header; and determining a first different relationship between the first interface and a second interface, wherein the second interface is an interface for receiving the multicast data by the intermediate node.
In one embodiment of the present disclosure, the determining, according to the neighbor tag and the generic tree tag included in the data header, the first interface of the intermediate node corresponding to the multicast data includes: determining a target neighbor tag corresponding to the general tree tag in the information stored in the intermediate node according to the general tree tag; determining a second different relationship between the neighbor tag included in the data header and the target neighbor tag; and under the condition that the second dissimilarity relation is the same, determining the interface corresponding to the target neighbor tag as a first interface.
In one embodiment of the disclosure, the encapsulating and forwarding multicast data for the downstream node by the intermediate node includes: updating the multicast data according to the forwarding label, the neighbor label and the general tree label corresponding to the intermediate node and the downstream node; and forwarding the updated multicast data to the downstream node.
In one embodiment of the present disclosure, the method further comprises: and the intermediate node receives a path computation element communication protocol (PCEP) message sent by the controller, wherein the PCEP message comprises a forwarding label, a neighbor label, the general tree label and a target neighbor label corresponding to the intermediate node.
In one embodiment of the disclosure, the forwarding labels corresponding to the intermediate nodes include first forwarding labels, each first forwarding label corresponds to one downstream node of the intermediate node, the number of the first forwarding labels is n, n is an integer greater than or equal to 1, and the PCEP message includes a first CCI object field and n second CCI object fields; the first CCI object field includes the target neighbor tag and the generic tree tag; the content of the O field in the first CCI object field is 0; each of the n second CCI object fields includes a first forwarding label, a neighbor label, and the generic tree label corresponding to the intermediate node, and the different second CCI object fields include different first forwarding labels; the contents of the O field in the n second CCI object fields are all 1.
In one embodiment of the disclosure, the forwarding label corresponding to the intermediate node further includes a second forwarding label, where the second forwarding label is the same as the forwarding label included in the data header; the second forwarding label is inserted in the first CCI object field.
In one embodiment of the present disclosure, the target neighbor tag and the generic tree tag are inserted in an Optional-TLV field of the first CCI object field; the neighbor tag of the intermediate node and the generic tree tag are inserted in an Optional-TLV field of the second CCI object field.
In one embodiment of the disclosure, the upstream node is a node in the multicast tree connected to a multicast source, the method further comprising: the upstream node receives a PCEP message sent by a controller, wherein the PCEP message comprises a neighbor tag of the upstream node, a forwarding tag corresponding to the intermediate node and the general tree tag of the upstream node; the upstream node receives multicast data from a multicast source; the upstream node determines the intermediate node according to the general tree label; and the upstream node encapsulates and forwards multicast data for the intermediate node according to a neighbor tag included in the PCEP message, a forwarding tag corresponding to the intermediate node by the upstream node and the general tree tag.
In one embodiment of the disclosure, the downstream node is a node in the multicast tree connected to a receiving end in a multicast group, and the method further includes: the downstream node receives PCEP information sent by a controller, wherein the PCEP information comprises a neighbor tag of the intermediate node and the general tree tag; the downstream node receiving multicast data from the intermediate node; the downstream node performs RPF check on multicast data from the intermediate node according to the neighbor tag of the intermediate node and the general tree tag; in case the RPF check of the multicast data from the intermediate node passes, the downstream node forwards the multicast data to the receiving end.
According to another aspect of the present disclosure, there is provided a multicast data forwarding apparatus including:
the first receiving module is used for receiving multicast data from an upstream node, wherein a data head of the multicast data comprises a forwarding label of the upstream node, a neighbor label and a general tree label, the neighbor label is used for identifying the upstream node, and the general tree label is used for identifying a multicast tree corresponding to the multicast data;
a first processing module, configured to perform reverse path forwarding RPF checking on the multicast data according to the neighbor tag and the generic tree tag;
the determining module is used for determining a corresponding downstream node according to the general tree label under the condition that the RPF check passes;
and the first sending module is used for packaging and forwarding multicast data for the downstream node, wherein the packaged multicast data comprises a forwarding label, a neighbor label and the general tree label, wherein the forwarding label, the neighbor label and the general tree label correspond to the downstream node, and the intermediate node corresponds to the downstream node.
In one embodiment of the disclosure, the first processing module is configured to determine, according to a neighbor tag and a general tree tag included in the data header, a first interface corresponding to the multicast data by the intermediate node; determining a first dissimilarity relationship between the first interface and a second interface, the second interface being an interface of the intermediate node that receives the multicast data
In one embodiment of the disclosure, the first processing module is configured to determine, according to the generic tree label, a target neighbor label corresponding to the generic tree label in information stored in the intermediate node; determining a second different relationship between the neighbor tag included in the data header and the target neighbor tag; and under the condition that the second dissimilarity relation is the same, determining the interface corresponding to the target neighbor tag as a first interface.
In one embodiment of the disclosure, the first sending module is configured to update the multicast data according to a forwarding label, a neighbor label, and the generic tree label that correspond to the intermediate node and the downstream node; and forwarding the updated multicast data to the downstream node.
In one embodiment of the disclosure, the first receiving module is further configured to receive a path computation element communication protocol PCEP message sent by the controller, where the PCEP message includes a forwarding label, a neighbor label, the generic tree label, and a target neighbor label corresponding to the intermediate node.
In one embodiment of the disclosure, the forwarding labels corresponding to the intermediate nodes include first forwarding labels, each first forwarding label corresponds to one downstream node of the intermediate node, the number of the first forwarding labels is n, n is an integer greater than or equal to 1, and the PCEP message includes a first CCI object field and n second CCI object fields; the first CCI object field includes the target neighbor tag and the generic tree tag; the content of the O field in the first CCI object field is 0; each of the n second CCI object fields includes a first forwarding label, a neighbor label, and the generic tree label corresponding to the intermediate node, and the different second CCI object fields include different first forwarding labels; the contents of the O field in the n second CCI object fields are all 1.
In one embodiment of the disclosure, the forwarding label corresponding to the intermediate node further includes a second forwarding label, where the second forwarding label is the same as the forwarding label included in the data header; the second forwarding label is inserted in the first CCI object field.
In one embodiment of the present disclosure, the target neighbor tag and the generic tree tag are inserted in an Optional-TLV field of the first CCI object field; the neighbor tag of the intermediate node and the generic tree tag are inserted in an Optional-TLV field of the second CCI object field.
In one embodiment of the disclosure, the upstream node is a node in the multicast tree connected to a multicast source, and the apparatus further comprises: the second receiving module is used for receiving the PCEP message sent by the controller, wherein the PCEP message comprises a neighbor label of the upstream node, a forwarding label corresponding to the intermediate node by the upstream node and the general tree label;
the second receiving module is further configured to receive multicast data from a multicast source;
the second processing module is used for determining the intermediate node according to the general tree label;
and the second sending module is used for packaging and forwarding multicast data for the intermediate node according to the neighbor label included in the PCEP message, the forwarding label corresponding to the upstream node and the intermediate node and the general tree label.
In one embodiment of the disclosure, the downstream node is a node in the multicast tree connected to a receiving end in a multicast group, and the apparatus further includes: a third receiving module, configured to receive a PCEP message sent by a controller, where the PCEP message includes a neighbor tag of the intermediate node and the generic tree tag;
the third receiving module is further configured to receive multicast data from the intermediate node;
a third processing module, configured to perform RPF checking on multicast data from the intermediate node according to the neighbor tag of the intermediate node and the generic tree tag;
and the third sending module is used for forwarding the multicast data to the receiving end under the condition that the RPF check of the multicast data from the intermediate node is passed.
According to still another aspect of the present disclosure, there is provided an electronic device, including: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform any of the multicast data forwarding methods described above via execution of the executable instructions.
According to yet another aspect of the present disclosure, there is provided a computer readable storage medium, such as a computer program, stored thereon, which when executed by a processor, implements any of the multicast data forwarding methods described above.
According to yet another aspect of the present disclosure, there is provided a computer program product comprising a computer program or computer instructions loaded and executed by a processor to cause a computer to implement any of the multicast data forwarding methods described above.
The technical scheme provided by the embodiment of the disclosure at least comprises the following beneficial effects:
in the technical scheme provided by the embodiment of the disclosure, after receiving multicast data from an upstream node, an intermediate node performs RPF check on the multicast data according to a neighbor tag and a general tree tag included in the multicast data. Then, under the condition that the multicast data passes the RPF inspection, the intermediate node determines the corresponding downstream node through the general tree label, and encapsulates and forwards the multicast data for the downstream node. The whole multicast tree is marked by the general tree label, and the multicast data forwarding mode is realized according to the general tree label, so that the monitoring and the debugging of the multicast network are facilitated.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure. It will be apparent to those of ordinary skill in the art that the drawings in the following description are merely examples of the disclosure and that other drawings may be derived from them without undue effort.
Fig. 1 is a schematic diagram of a multicast data forwarding system structure according to an embodiment of the present disclosure;
fig. 2 shows a flow chart of a multicast data forwarding method according to one embodiment of the present disclosure;
fig. 3 is a schematic diagram illustrating a structure of a PCEP message generation system in one embodiment of the present disclosure;
FIG. 4 illustrates a flow chart of a PCEP message generation process in one embodiment of the present disclosure;
FIG. 5 is a schematic diagram of a first CCI object field included in a PCEP message corresponding to a second node in one embodiment of the present disclosure;
FIG. 6 is a schematic diagram of a second CCI object field corresponding to a third node in a PCEP message corresponding to a second node in one embodiment of the present disclosure;
FIG. 7 is a schematic diagram of a second CCI object field corresponding to a fourth node in a PCEP message corresponding to a second node in one embodiment of the present disclosure;
Fig. 8 illustrates a flow diagram of an upstream node forwarding multicast data to an intermediate node in one embodiment of the present disclosure;
fig. 9 illustrates a flow chart of forwarding multicast data to a receiving end by a downstream node in one embodiment of the present disclosure;
fig. 10 is a schematic diagram of a multicast data forwarding device according to an embodiment of the present disclosure;
fig. 11 shows a block diagram of an electronic device in an embodiment of the disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software or in one or more hardware modules or integrated circuits or in different networks and/or processor devices and/or microcontroller devices.
Fig. 1 shows a schematic diagram of an exemplary system architecture of a multicast data forwarding method or multicast data forwarding device that may be applied to embodiments of the present disclosure.
As shown in fig. 1, the system architecture may include a controller 101, a node 102, a node 103, and a node 104.
The controller 101 may designate forwarding labels, neighbor labels, and general tree labels for the nodes 102, 103, and 104, and send the forwarding labels, neighbor labels, and general tree labels to the nodes 102, 103, and 104 through PCEP (Path Computation Element Communication Protocol ) messages. In addition, the controller 101 is further configured to distribute information needed for forwarding the multicast data to the node 102, the node 103, and the node 104, for example, a correspondence between a general tree label and a target neighbor node, a correspondence between an interface for receiving the multicast data and a general tree label, and the like.
Node 102, node 103, and node 104 may forward multicast data via corresponding forwarding labels, neighbor labels, and general tree labels. For example, node 102 may forward multicast data to node 103, and node 103 may forward multicast data to node 104.
The controller 101, the node 102, the node 103 and the node 104 are in communication connection through a network, and the network may be a wired network or a wireless network.
Alternatively, the wireless network or wired network described above uses standard communication techniques and/or protocols. The network is typically the Internet, but may be any network including, but not limited to, a local area network (Local Area Network, LAN), metropolitan area network (Metropolitan Area Network, MAN), wide area network (Wide Area Network, WAN), mobile, wired or wireless network, private network, or any combination of virtual private networks. In some embodiments, data exchanged over a network is represented using techniques and/or formats including HyperText Mark-up Language (HTML), extensible markup Language (Extensible MarkupLanguage, XML), and the like. All or some of the links may also be encrypted using conventional encryption techniques such as secure sockets layer (Secure Socket Layer, SSL), transport layer security (Transport Layer Security, TLS), virtual private network (Virtual Private Network, VPN), internet protocol security (Internet ProtocolSecurity, IPsec), etc. In other embodiments, custom and/or dedicated data communication techniques may also be used in place of or in addition to the data communication techniques described above.
The controller 101 may be a server providing various services, alternatively, the server may be an independent physical server, or may be a server cluster or a distributed system formed by a plurality of physical servers, or may be a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs (Content Delivery Network, content distribution networks), and basic cloud computing services such as big data and artificial intelligence platforms.
Node 102, node 103, and node 104 may be routers.
Those skilled in the art will appreciate that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative, and that any number of terminal devices, networks, and servers may be provided as desired. The embodiments of the present disclosure are not limited in this regard.
The present exemplary embodiment will be described in detail below with reference to the accompanying drawings and examples.
Embodiments of the present disclosure provide a multicast data forwarding method, which may be performed by any electronic device with computing processing capability, for example, the electronic device may be an intermediate node.
Fig. 2 shows a flowchart of a multicast data forwarding method in an embodiment of the present disclosure, and as shown in fig. 2, the multicast data forwarding method provided in the embodiment of the present disclosure includes the following S201 to S204.
S201, an intermediate node receives multicast data from an upstream node, a data head of the multicast data comprises a forwarding label of the upstream node, a neighbor label and a general tree label, the neighbor label is used for identifying the upstream node, and the general tree label is used for identifying a multicast tree corresponding to the multicast data.
Wherein the multicast data is data sent by a multicast source to a multicast group, and a router responsible for forwarding the multicast data in the network is called a node between the multicast source and the multicast group. In the forwarding path of the multicast data, a node where a downstream node exists is referred to as an upstream node of the downstream node, for example, node 102 in fig. 1 is an upstream node of node 103; in the forwarding path of multicast data, a node where both an upstream node and a downstream node exist is referred to as an intermediate node of the upstream node and the downstream node, for example, a node 103 in fig. 1 is an intermediate node located between a node 102 and a node 104.
In the following description, the node 102 is described as an upstream node, the node 103 is described as an intermediate node, and the node 104 is described as a downstream node in fig. 1.
The forwarding label is used to indicate the intermediate node and has a correspondence with the transport layer tunnel connecting the upstream node and the intermediate node, for example, if the node 102 in fig. 1 has one downstream node, i.e. the node 103, in the multicast tree, the number of forwarding labels corresponding to the node 102 is also 1, the forwarding label is used to indicate that the node of the next hop of the multicast data is the node 103, and the forwarding label corresponds to the transport layer tunnel between the node 102 and the node 103. The neighbor tag is used to identify the upstream node, and for example, the neighbor tag may be a tag that identifies the upstream node generated from an IP (Internet Protocol ) address of the upstream node. The intermediate node may determine whether the multicast data is forwarded by the upstream node via the neighbor tag. For example, the neighbor tag of the node 102 is used to identify the node 102, and accordingly, the multicast data sent by the node 102 to the node 103 includes the neighbor identifier of the node 102, and the node 103 can determine that the multicast data is forwarded by the node 102 through the neighbor identifier of the node 102. The generic tree label is used to identify the multicast tree corresponding to the multicast data, and for example, the generic tree label may be a label generated according to the IP address of the multicast source and the IP address of the multicast group.
A general tree label corresponds to a multicast tree between a multicast source and a multicast group, nodes included in the multicast tree share the general tree label, and the nodes included in the multicast tree all store relations between the general tree label and downstream nodes, namely, the nodes can query information stored by the nodes through the general tree label, and further obtain the downstream nodes corresponding to the nodes under the general tree label. For example, the node 103 in fig. 1 stores a correspondence between the general tree label and the node 104, and the node 103 can determine the node 104 by querying the correspondence according to the general tree label.
The nodes corresponding to one multicast tree share one general tree label, so that an operator can determine any node in the multicast tree according to the general tree label, and further the operator can monitor and debug the multicast network formed by the multicast tree more conveniently.
In some embodiments, the multicast data received by the intermediate node is in the format of: IP header + forwarding label + general tree label + neighbor label + payload. The forwarding label is used for identifying the intermediate node, the neighbor label is used for identifying the upstream node, and the general tree label is used for identifying the multicast tree corresponding to the multicast data.
S202, the intermediate node executes reverse path forwarding RPF check on the multicast data according to the neighbor tag and the general tree tag.
In some embodiments, the intermediate node performs RPF (Reverse path forwarding ) checking on the multicast data according to the neighbor tag and the generic tree tag, may include: determining a first interface corresponding to the multicast data between the intermediate node according to the neighbor tag and the general tree tag included in the data header; a first dissimilarity relationship between a first interface and a second interface is determined, the second interface being an interface of the intermediate node that receives multicast data.
In some embodiments, the intermediate node may be a node in a plurality of multicast trees, and a correspondence between a corresponding plurality of generic tree labels and corresponding target neighbor labels, and a correspondence between a generic tree label and a corresponding interface are stored. The target neighbor label is a neighbor label of an upstream node which designates to forward multicast data to an intermediate node in the multicast tree. For example, in the multicast tree where the node 102 and the node 103 are located in fig. 1, the node 103 stores an object relationship between a general tree label identifying the multicast tree and a neighbor label of the node 102, and in the corresponding relationship, the neighbor label of the node 102 is the target neighbor label.
In some embodiments, determining the first interface of the intermediate node corresponding to the multicast data according to the neighbor tag and the general tree tag included in the data header may include: determining a target neighbor tag corresponding to the general tree tag in the information stored in the intermediate node according to the general tree tag; determining a second different relationship between the neighbor tag included in the data header and the target neighbor tag; and under the condition that the second dissimilarity relationship is the same, determining the interface corresponding to the target neighbor tag as the first interface.
And the intermediate node queries the corresponding relation between the general tree label and the target neighbor label stored by the intermediate node according to the general tree label included in the data head of the multicast data to obtain the target neighbor label of the intermediate node under the general tree label. And then, the intermediate node compares the target neighbor tag with the neighbor tag included in the data head of the multicast data, and determines a second different relationship between the target neighbor tag and the neighbor tag. If the second different relationship is the same, determining that the multicast data is forwarded by the designated upstream node, and continuing the subsequent processing; and if the second dissimilarity is different, determining that the multicast data is not forwarded by the designated upstream node, and discarding the multicast data. Because the corresponding relation between the universal tree label and the interface is stored in the intermediate node, the intermediate node can determine the designated interface for receiving the multicast data through the universal tree label, and the interface is called a first interface.
Then, the intermediate node compares the first interface with the second interface for actually receiving the multicast data, determines a first different relationship between the first interface and the second interface, considers that the multicast data passes the RPF check of the intermediate node under the condition that the first different relationship is the same, and for the multicast data passing the RPF check, the intermediate node can continue to process the multicast data and forward the multicast data to the downstream node; if the first dissimilarity is different, it is considered that the multicast data does not pass the RPF check of the intermediate node, and the intermediate node discards the multicast data that does not pass the RPF check.
By performing RPF check on the multicast data, a loop of the multicast data in the transmission process can be avoided.
S203, when the RPF check passes, the intermediate node determines a corresponding downstream node according to the general tree label.
In some embodiments, the intermediate node stores a correspondence between the general tree label and a corresponding downstream node, and in the case that the intermediate node performs RPF checking on the multicast data, the intermediate node queries the correspondence between the general tree label and the corresponding downstream node according to the general tree label, and determines the downstream node of the intermediate node in the multicast tree corresponding to the general tree label. For example, node 103 in FIG. 1 may determine node 104 as a downstream node via a corresponding generic tree label.
S204, the intermediate node encapsulates and forwards multicast data for the downstream node, wherein the encapsulated multicast data comprises forwarding labels, neighbor labels and general tree labels of the intermediate node.
The forwarding label of the intermediate node is used for indicating the downstream node, and the neighbor label of the intermediate node is used for indicating the intermediate node.
In some embodiments, the intermediate node encapsulates and forwards multicast data for the downstream node, and may include: updating the multicast data according to the forwarding label, the neighbor label and the general tree label corresponding to the intermediate node and the downstream node; and forwarding the updated multicast data to the downstream node. In some embodiments, the corresponding forwarding labels are the same when different nodes forward multicast data to the same node.
In some embodiments, the intermediate node parses the multicast data to obtain a forwarding tag, a neighbor tag, a general tree tag, and other parts of the multicast data carried by the multicast data. In some embodiments, updating the multicast data according to the forwarding label, the neighbor label, and the general tree label corresponding to the intermediate node and the downstream node may include: and the intermediate node encapsulates the forwarding label, the neighbor label, the general tree label and other parts of the multicast data corresponding to the downstream node according to the format of the multicast data received from the upstream node to obtain updated multicast data. The updated multicast data includes forwarding labels and neighbor labels of the intermediate nodes corresponding to the downstream nodes, and general tree labels. The forwarding label corresponding to the downstream node by the intermediate node is used for identifying the downstream node. And then, the intermediate node forwards the updated multicast data to the downstream node.
In the technical scheme provided by the embodiment of the disclosure, after receiving multicast data from an upstream node, an intermediate node performs RPF check on the multicast data according to a neighbor tag and a general tree tag included in the multicast data. Then, under the condition that the multicast data passes the RPF inspection, the intermediate node determines the corresponding downstream node through the general tree label, and encapsulates and forwards the multicast data for the downstream node. The whole multicast tree is marked by the general tree label, and the multicast data forwarding mode is realized according to the general tree label, so that the monitoring and the debugging of the multicast network are facilitated.
In some embodiments, before receiving the multicast data sent by the upstream node, the intermediate node further includes: the intermediate node receives a path computation element communication protocol PCEP message sent by the controller, wherein the PCEP message comprises a forwarding label, a neighbor label, a general tree label and a target neighbor label corresponding to the intermediate node. After receiving the PCEP message, the intermediate node acquires a general tree label and a target neighbor label from the PCEP message and is used for RPF checking of multicast data; corresponding forwarding labels, neighbor labels and general tree labels are obtained from the PCEP message and are used for packaging and forwarding multicast data.
And the controller needs to generate the PCEP message before sending the PCEP message to the intermediate node. How the controller generates the PCEP message corresponding to the node will be explained in connection with fig. 3. As shown in fig. 4, an embodiment of the present disclosure provides a flowchart of a PCEP message generation process, including S401 to S403.
S401, the controller calculates the path according to the multicast source information and the multicast group information, and determines the node for forwarding the multicast data and the corresponding forwarding label.
In some embodiments, when the receiving end joins the multicast group, a request message is sent to the controller, where the request message carries information of the receiving end, and thus, the information of the multicast group is stored in the controller. Before the multicast source sends a multicast message to the multicast group, a request is sent to the controller to establish a path for transmitting multicast data, and the request message carries information of the multicast source. The controller determines a path for forwarding multicast data from the multicast source to the multicast group according to the information of the multicast source and the information of the multicast group and a preset calculation rule, and determines each node and a corresponding forwarding label in the path. In some embodiments, in a case that a node has a downstream node in a multicast tree where the node is located, a forwarding label corresponding to the node includes a first forwarding label corresponding to the downstream node; in the case that a node has an upstream node in the multicast tree where the node is located, the forwarding corresponding to the node may further include a second forwarding label indicating the node.
As shown in fig. 3, the multicast data forwarding paths determined by the controller 301 are a first node 302, a second node 303, a third node 304 and a fourth node 305, and the nodes in the paths are the first node 302, the second node 303, the third node 304 and the fourth node 305. Wherein the first node 302 is an upstream node of the second node 303, the second node 303 is an upstream node of the third node 304 and the fourth node 305, and the second node 303 is an intermediate node between the first node 302 and the third node 304 or the fourth node 305. Since the first node 302 has only one downstream node, the controller designates the first node 302 with a first forwarding label for indicating the second node 303. Since the second node 303 has two downstream nodes, the controller may assign two first forwarding labels to the second node 303, one of the two first forwarding labels being used to indicate the third node 304 and the other first forwarding label being used to indicate the fourth node 305. And, the controller may also assign a second forwarding label to the second node 303 that identifies the second node 303 itself.
S402, the controller collects neighbor labels to upstream nodes.
The controller generates a request message corresponding to the upstream node and used for acquiring the neighbor tag, and sends the request message to the corresponding upstream node, and after the upstream node receives the request message, the response message is fed back to the controller, wherein the response message comprises the neighbor tag of the upstream node. It should be noted that, the generation of the request message corresponding to each upstream node by the controller is performed independently. For example, the controller can perform generation of three request messages simultaneously. For another example, the controller can perform generation of ten request messages simultaneously, and the ten request messages are independent of each other at the time of generation.
For example, as shown in fig. 3, the controller 301 collects neighbor tags to the first node 302 and the second node 303, which are upstream nodes. The neighbor labels are used to identify the corresponding nodes, for example, in fig. 3, the neighbor labels fed back by the first node 302 to the controller are used to identify the first node 302, and the neighbor labels fed back by the second node 303 to the controller are used to identify the second node 303. The following description will take the neighbor tag corresponding to the first node 302 as the neighbor tag a, and the neighbor tag corresponding to the second node 303 as the neighbor tag B as an example.
S403, the controller generates PCEP information corresponding to the node according to the collected neighbor labels.
In some embodiments, the node has n downstream nodes in the multicast tree, and accordingly, the forwarding label corresponding to the node includes n first forwarding labels, where n is an integer greater than or equal to 1. At this point, the PCEP message generated by the controller for the node is related to the type of node. In some embodiments, for a node having only downstream nodes, the PCEP message generated by the controller for that node includes n second CCI (Central Controller Instructions, central controller instruction) object (object) fields, n being the same number as the node has downstream nodes; for a node having both an upstream node and a downstream node, the PCEP message generated by the controller for that node includes a first CCI object field and n second CCI object fields, n being the same number as the downstream nodes that the node has; for a node having only upstream nodes, the controller generates a PCEP message packet for that node for the first CCI object field.
In some embodiments, in the case where a node has only downstream nodes (e.g., a node connected to a multicast source), the PCEP message corresponding to the node includes n first forwarding labels and neighbor labels corresponding to the node, and a generic tree label. In some embodiments, each of the n second CCI object fields included in the PCEP message includes a first forwarding label, a neighbor label, and a generic tree label corresponding to the node, the different second CCI object fields include different forwarding labels, and the content of the O field in the n second CCI object fields is 1. In some embodiments, the neighbor tag and the generic tree tag included in each second CCI object field are inserted in the Optional-TLV field of that second CCI object field.
In some embodiments, the content of the O field in the second CCI object field is 1, for indicating that the first forwarding label, neighbor label, and generic tree label in the second CCI object field are used to encapsulate the multicast data.
For example, the first node 302 in fig. 3 has only the downstream second node 303, and the corresponding first forwarding label number is 1, and accordingly, the PCEP message corresponding to the first node 302 includes a second CCI object field. The second CCI object field includes a first forwarding label, a neighbor label a, and a general tree label corresponding to the first node 302 and the second node 303; the content of the O field in the second CCI object field is 1. Wherein the neighbor tag a and the general tree tag are inserted in an Optional-TLV field of the second CCI field.
In some embodiments, in the case that a node has both an upstream node and a downstream node, the PCEP message corresponding to the node includes n first forwarding labels, neighbor labels, a generic tree label, and a target neighbor label corresponding to the node, where the target neighbor label is used to identify the node upstream in the multicast tree. In some embodiments, for a node having both an upstream node and a downstream node, the first CCI object field included in the PCEP message generated by the controller for that node includes a target neighbor tag and a generic tree tag, and the content of the O field in the first CCI object field is 0. In some embodiments, the target neighbor tag and the generic tree tag included in the first CCI object field are inserted in an Optional-TLV field of the first CCI object field. Each of n second CCI object fields included in the PCEP message includes a first forwarding label, a neighbor label, and a general tree label corresponding to the node, the first forwarding labels included in different second CCI object fields are different, and the content of the O field in the second CCI object field is 1. In some embodiments, the neighbor tag and the generic tree tag included in the second CCI object field are inserted in an Optional-TLV field of the second CCI object field.
In some embodiments, the content of the O field in the first CCI object field is 0, for indicating that the generic tree tag and the target neighbor tag in the first CCI object field are used for RPF checking of the multicast data.
For example, the second node 303 in fig. 3 has both an upstream first node 302 and downstream third and fourth nodes 304, 305. Since the second node 303 has two downstream nodes, the PCEP message corresponding to the second node 303 includes two second CCI object fields. The PCEP message corresponding to the second node 303 includes a first CCI object field having a neighbor tag a and a general tree tag of the first node 302, and the content of the O field of the first CCI object field is 0. Wherein the neighbor tag A and the generic tree tag are inserted in the Optional-TLV field of the first CCI object field. One of the two second CCI object fields included in the PCEP message corresponding to the second node 303 has a forwarding label 1 (belonging to the first forwarding label), a neighbor label B, and a general book label corresponding to the second node 303 and the third node 304; the other second CCI object field has forwarding label 2 (belonging to the first forwarding label), neighbor label B, and general tree label of the second node 303 corresponding to the fourth node 305, and the content of the O field in the two second CCI object fields is 1. Wherein, the neighbor tag B and the general tree tag are both inserted in the Optional-TLV field of the second CCI field.
In one embodiment, the first CCI object field included in the PCEP message corresponding to the second node 303 in fig. 3 is shown in fig. 5, and in (1) of fig. 5, denoted by 501 is a field O, and the content corresponding to the field O is 0. FIG. 5 (2) is the expansion of the portion of the first CCI object's Optional-TLV field corresponding to the neighbor tag A+ generic Tree tag, where the Tree Label stack field is the neighbor tag A+ generic Tree tag.
In one embodiment, as shown in fig. 6, in the second CCI object field corresponding to the third node 304 in the PCEP message corresponding to the second node 303 in fig. 3, lable indicated by 601 in fig. 6 (1) is forwarding label 1, 602 indicated by the second node 303 and the third node 304 is field O, and the content of the field corresponds to 1. FIG. 6 (2) is the expansion of the portion of the Optional-TLV field of the second CCI object corresponding to the neighbor tag B+ generic Tree tag, where the Tree Label stack field is the neighbor tag B+ generic Tree tag.
In one embodiment, as shown in fig. 7, in the second CCI object field corresponding to the fourth node 305 in the PCEP message corresponding to the second node 303 in fig. 3, lable indicated by 701 is forwarding label 2, 702 corresponding to the second node 303 and the fourth node 305 in fig. 7 (1), and the content of the field corresponding to the field is 1. FIG. 7 (2) is the expansion of the portion of the Optional-TLV field of the second CCI object corresponding to the neighbor tag B+ generic Tree tag, where the Tree Label stack field is the neighbor tag B+ generic Tree tag.
In another embodiment, in the case that a node has both an upstream node and a downstream node, the PCEP message corresponding to the node includes, in addition to n first forwarding labels, neighbor labels, general tree labels, and target neighbor labels corresponding to the node, a second forwarding label corresponding to the node, where forwarding labels included in multicast data received by the node are the same as the second forwarding labels, and are both used to indicate the node itself. In another embodiment, the second forwarding label is inserted in a first CCI object field included in the PCEP message corresponding to the node, and in particular, the second forwarding label is inserted in a Lable field of the first CCI object field. The PCEP message is unified between the format of the first CCI object field and the format of the second CCI object field when the first CCI object field and the second CCI object field are included by inserting a second forwarding label in the first CCI object field.
In some embodiments, where a node has only upstream nodes (e.g., a node connected to a receiving end in a multicast group), the PCEP message corresponding to the node includes the generic tree label and the target neighbor label corresponding to the node. In some embodiments, for a node having only an upstream node, a PCEP message generated by the controller for that node includes a first CCI object field including a generic tag and a target neighbor tag therein, and the content of the O field in the first CCI object field is 0. In some embodiments, the target neighbor tag and the generic tree tag included in the first CCI object field are inserted in an Optional-TLV field of the first CCI object field.
For example, the third node 304 in fig. 3 has only the second node 303 upstream. The PCEP message corresponding to the third node 304 includes a first CCI object field having a neighbor tag B and a general tree tag of the second node 303, and the content of the O field of the first CCI object field is 0. Wherein the neighbor tag B and the generic tree tag are inserted in the Optional-TLV field of the first CCI object field.
In another embodiment, in the case that a node only has an upstream node, the PCEP message corresponding to the node includes, in addition to the generic tree label and the target neighbor label corresponding to the node, a second forwarding label corresponding to the node, where the second forwarding label is inserted in a first CCI object field of the PCEP message, and specifically, the second forwarding label is inserted in a Lable field of the first CCI object field.
After the controller generates the PCEP message corresponding to the node, the PCEP message is sent to the corresponding node, so that the node forwards the multicast data according to the content in the PCEP message.
It should be noted that, when generating the PCEP messages corresponding to each node, the controllers are independent from each other, that is, there is a PCEP message of one node that is generated first, and a PCEP message of another node that is generated later.
According to the technical scheme provided by the embodiment of the disclosure, the controller respectively designates the corresponding forwarding label, the neighbor label and the general tree label for each node in the multicast tree, and the forwarding label, the neighbor label and the general tree label corresponding to each node are carried and distributed through the PCEP message, so that each node in the multicast tree can have the capability of forwarding multicast data after receiving the corresponding PCEP message. The general tree label is used for marking the whole multicast tree, and then the method for forwarding the multicast data according to the general tree label is beneficial to monitoring and debugging the whole multicast network formed by the multicast tree. Further, the Optional-TLV field is utilized in the CCI object field of the PCEP message, so that the Optional-TLV field carries the neighbor tag and the general tree tag, and in this way, the general tree tag is inserted into the PCEP message without modifying the related protocol, thereby facilitating the debugging and monitoring of the multicast network sharing the general tree tag.
In one embodiment, the upstream node forwarding the multicast data to the intermediate node is a node in the multicast tree connected to the multicast source. At this time, before the intermediate node receives the data from the upstream node, the upstream node is required to forward the multicast data. Fig. 8 shows a flow chart of forwarding multicast data by an upstream node to an intermediate node in an embodiment of the present disclosure, including S801 to S804.
S801, an upstream node receives a PCEP message sent by a controller, wherein the PCEP message comprises a neighbor label of the upstream node, a forwarding label corresponding to an intermediate node and a general tree label, and the forwarding label of the upstream node comprises the forwarding label corresponding to the intermediate node. As to how the controller generates the PCEP message corresponding to the upstream node, reference may be made to S403 in the embodiment corresponding to fig. 4, which is not described herein.
S802, the upstream node receives multicast data from the multicast source.
S803, the upstream node determines an intermediate node according to the general tree label. The upstream node and the intermediate node only represent the connection relation between the nodes, and do not represent that the type of the node which can be determined by the upstream node through the general tree label is the intermediate node. Regarding the manner in which the upstream node determines the intermediate node according to the generic tree label, reference may be made to S203 in the corresponding embodiment of fig. 2, which is not described herein.
S804, the upstream node encapsulates and forwards the multicast data for the intermediate node according to the neighbor label, the forwarding label and the general tree label which are included in the PCEP message and correspond to the intermediate node. For how S804 is implemented, see S204 in the corresponding embodiment of fig. 2, which is not described herein.
According to the technical scheme provided by the embodiment of the disclosure, the whole multicast tree is marked by using the general tree label, so that the mode that the upstream node general tree label forwards multicast data is beneficial to monitoring and debugging the whole multicast network formed by the multicast tree.
In one embodiment, the downstream node that receives the multicast data forwarded by the intermediate node is a node in the multicast tree that is connected to a receiving end in the multicast group. The receiving end may be a user side device. At this time, after the downstream node receives the multicast data from the intermediate node, the multicast data needs to be forwarded to the receiving end. Fig. 9 shows a flowchart of forwarding multicast data to a receiving end by a downstream node in an embodiment of the present disclosure, including S901 to S904.
S901, the downstream node receives the PCEP message sent by the controller, where the PCEP message includes a neighbor tag and a general tree tag of the intermediate node. As to how the controller generates the PCEP message corresponding to the downstream node, reference may be made to S403 in the embodiment corresponding to fig. 4, which is not described herein. In another embodiment, the PCEP message further includes a second forwarding label corresponding to the downstream node.
S902, the downstream node receives multicast data from the intermediate node.
S903, the downstream node performs RPF check on the multicast data from the intermediate node according to the neighbor tag and the general tree tag of the intermediate node. Regarding how the downstream node performs RPF checking on the multicast data from the intermediate node according to the neighbor tag and the general tree tag of the intermediate node, reference may be made to S202 in the corresponding embodiment of fig. 2, which is not described herein.
S904, when the RPF check of the multicast data from the intermediate node passes, the downstream node forwards the multicast data to the receiving end.
The technical scheme provided by the embodiment of the disclosure utilizes the mode of forwarding the multicast data by using the general tree label, thereby being beneficial to monitoring and debugging the whole multicast network formed by the multicast tree.
Based on the same inventive concept, the embodiments of the present disclosure also provide a multicast data forwarding device, as described in the following embodiments. Since the principle of solving the problem of the embodiment of the device is similar to that of the embodiment of the method, the implementation of the embodiment of the device can be referred to the implementation of the embodiment of the method, and the repetition is omitted.
Fig. 10 is a schematic diagram of a multicast data forwarding device according to an embodiment of the present disclosure, as shown in fig. 10, where the device includes:
A first receiving module 1001, configured to receive multicast data from an upstream node, where a header of the multicast data includes a forwarding label of the upstream node, a neighbor label, and a general tree label, where the neighbor label is used to identify the upstream node, and the general tree label is used to identify a multicast tree corresponding to the multicast data;
a first processing module 1002, configured to perform reverse path forwarding RPF checking on multicast data according to the neighbor tag and the generic tree tag;
a determining module 1003, configured to determine, according to the generic tree label, a corresponding downstream node if the RPF check passes;
the first sending module 1004 is configured to encapsulate and forward multicast data for a downstream node, where the encapsulated multicast data includes a forwarding label, a neighbor label, and a general tree label that correspond to the downstream node by the intermediate node.
In one embodiment of the present disclosure, a first processing module 1002 is configured to determine, according to a neighbor tag and a general tree tag included in a data header, a first interface corresponding to multicast data by an intermediate node; determining a first different relationship between a first interface and a second interface, wherein the second interface is an interface for receiving multicast data by an intermediate node
In one embodiment of the present disclosure, a first processing module 1002 is configured to determine, according to a general tree label, a target neighbor label corresponding to the general tree label in information stored in an intermediate node; determining a second different relationship between the neighbor tag included in the data header and the target neighbor tag; and under the condition that the second dissimilarity relationship is the same, determining the interface corresponding to the target neighbor tag as the first interface.
In one embodiment of the disclosure, a first sending module 1004 is configured to update multicast data according to a forwarding label, a neighbor label, and a general tree label corresponding to an intermediate node and a downstream node; and forwarding the updated multicast data to the downstream node.
In one embodiment of the present disclosure, the first receiving module 1001 is further configured to receive a path computation element communication protocol PCEP message sent by the controller, where the PCEP message includes a forwarding label of the intermediate node, a neighbor label, a generic tree label, and a target neighbor label.
In one embodiment of the disclosure, the forwarding labels corresponding to the intermediate nodes include first forwarding labels, each first forwarding label corresponds to one downstream node of the intermediate node, the number of the first forwarding labels is n, n is an integer greater than or equal to 1, and the PCEP message includes a first CCI object field and a second CCI object field; the first CCI object field comprises a target neighbor tag and a general tree tag; the content of the O field in the first CCI object field is 0; each of the n second CCI object fields includes a first forwarding label, a neighbor label, and a generic tree label of the intermediate node, and the different second CCI object fields include different first forwarding labels; the contents of the O field in the n second CCI object fields are all 1.
In one embodiment of the disclosure, the forwarding label corresponding to the intermediate node further includes a second forwarding label, where the second forwarding label is the same as the forwarding label included in the data header; a second forwarding label is inserted in the first CCI object field.
In one embodiment of the present disclosure, the target neighbor tag and the generic tree tag are inserted in the Optional-TLV field of the first CCI object field; the neighbor tag and the generic tree tag of the intermediate node are inserted in the Optional-TLV field of the second CCI object field.
In one embodiment of the present disclosure, the upstream node is a node in a multicast tree connected to a multicast source, and the apparatus further comprises: the second receiving module is used for receiving the PCEP message sent by the controller, wherein the PCEP message comprises a neighbor label of an upstream node, a forwarding label corresponding to the upstream node and an intermediate node and a general tree label;
the second receiving module is also used for receiving multicast data from a multicast source;
the second processing module is used for determining an intermediate node according to the general tree label;
and the second sending module is used for packaging and forwarding multicast data for the intermediate node according to the neighbor label, the forwarding label corresponding to the upstream node and the intermediate node and the general tree label which are included in the PCEP message.
In one embodiment of the disclosure, the downstream node is a node in the multicast tree connected to a receiving end in the multicast group, and the apparatus further includes: the third receiving module is used for receiving the PCEP message sent by the controller, wherein the PCEP message comprises a neighbor tag and a general tree tag of the intermediate node;
the third receiving module is further used for receiving multicast data from the intermediate node;
a third processing module, configured to perform RPF checking on multicast data from the intermediate node according to the neighbor tag and the general tree tag of the intermediate node;
and the third sending module is used for forwarding the multicast data to the receiving end under the condition that the RPF check of the multicast data from the intermediate node is passed.
In the technical scheme provided by the embodiment of the disclosure, after receiving multicast data from an upstream node, an intermediate node performs RPF check on the multicast data according to a neighbor tag and a general tree tag included in the multicast data. Then, under the condition that the multicast data passes the RPF inspection, the intermediate node determines the corresponding downstream node through the general tree label, and encapsulates and forwards the multicast data for the downstream node. The whole multicast tree is marked by the general tree label, and the multicast data forwarding mode is realized according to the general tree label, so that the monitoring and the debugging of the multicast network are facilitated.
Those skilled in the art will appreciate that the various aspects of the present disclosure may be implemented as a system, method, or program product. Accordingly, various aspects of the disclosure may be embodied in the following forms, namely: an entirely hardware embodiment, an entirely software embodiment (including firmware, micro-code, etc.) or an embodiment combining hardware and software aspects may be referred to herein as a "circuit," module "or" system.
An electronic device 1100 according to such an embodiment of the present disclosure is described below with reference to fig. 11. The electronic device 1100 shown in fig. 11 is merely an example and should not be construed as limiting the functionality and scope of use of the disclosed embodiments.
As shown in fig. 11, the electronic device 1100 is embodied in the form of a general purpose computing device. Components of electronic device 1100 may include, but are not limited to: the at least one processing unit 1110, the at least one memory unit 1120, a bus 1130 connecting the different system components, including the memory unit 1120 and the processing unit 1110.
Wherein the storage unit stores program code that is executable by the processing unit 1110 such that the processing unit 1110 performs steps according to various exemplary embodiments of the present disclosure described in the section "detailed description" above of the present specification.
The storage unit 1120 may include a readable medium in the form of a volatile storage unit, such as a Random Access Memory (RAM) 1121 and/or a cache memory 1122, and may further include a Read Only Memory (ROM) 1123.
Storage unit 1120 may also include a program/utility 1124 having a set (at least one) of program modules 1125, such program modules 1125 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
The bus 1130 may be a local bus representing one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a bus using any of a variety of bus architectures.
The electronic device 1100 may also communicate with one or more external devices 1140 (e.g., keyboard, pointing device, bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 1100, and/or any devices (e.g., routers, modems, etc.) that enable the electronic device 1100 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 1150. Also, electronic device 1100 can communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the Internet, through network adapter 1160. As shown in fig. 11, the network adapter 1160 communicates with other modules of the electronic device 1100 via the bus 1130. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with electronic device 1100, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, including several instructions to cause a computing device (may be a personal computer, a server, a terminal device, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, a computer-readable storage medium, which may be a readable signal medium or a readable storage medium, is also provided. On which a program product is stored which enables the implementation of the method described above of the present disclosure. In some possible implementations, various aspects of the disclosure may also be implemented in the form of a program product comprising program code for causing a terminal device to carry out the steps according to the various exemplary embodiments of the disclosure as described in the section "detailed description" above of the disclosure, when the program product is run on the terminal device.
More specific examples of the computer readable storage medium in the present disclosure may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
In this disclosure, a computer readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, with readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Alternatively, the program code embodied on a computer readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
In particular implementations, the program code for carrying out operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via the Internet using an Internet service provider).
It should be noted that although in the above detailed description several modules or units of a device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit in accordance with embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into a plurality of modules or units to be embodied.
Furthermore, although the steps of the methods in the present disclosure are depicted in a particular order in the drawings, this does not require or imply that the steps must be performed in that particular order or that all illustrated steps be performed in order to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step to perform, and/or one step decomposed into multiple steps to perform, etc.
From the description of the above embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, including several instructions to cause a computing device (may be a personal computer, a server, a mobile terminal, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any adaptations, uses, or adaptations of the disclosure following the general principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope of the disclosure being indicated by the following claims.

Claims (13)

1. A method for forwarding multicast data, comprising:
an intermediate node receives multicast data from an upstream node, wherein a data head of the multicast data comprises a forwarding label of the upstream node, a neighbor label and a general tree label, the neighbor label is used for identifying the upstream node, and the general tree label is used for identifying a multicast tree corresponding to the multicast data;
the intermediate node performs Reverse Path Forwarding (RPF) check on the multicast data according to the neighbor tag and the general tree tag;
under the condition that the RPF check passes, the intermediate node determines a corresponding downstream node according to the general tree label;
the intermediate node encapsulates and forwards multicast data for the downstream node, wherein the encapsulated multicast data comprises a forwarding label, a neighbor label and the general tree label, which correspond to the downstream node, of the intermediate node.
2. The method of claim 1, wherein the intermediate node performs a reverse path forwarding, RPF, check on the multicast data according to the neighbor tag and the generic tree tag, comprising:
determining a first interface corresponding to the multicast data between the intermediate node and the multicast data according to a neighbor tag and a general tree tag included in the data header;
And determining a first different relationship between the first interface and a second interface, wherein the second interface is an interface for receiving the multicast data by the intermediate node.
3. The method according to claim 2, wherein the determining the first interface of the intermediate node corresponding to the multicast data according to the neighbor tag and the generic tree tag included in the data header includes:
determining a target neighbor tag corresponding to the general tree tag in the information stored in the intermediate node according to the general tree tag;
determining a second different relationship between the neighbor tag included in the data header and the target neighbor tag;
and under the condition that the second dissimilarity relation is the same, determining the interface corresponding to the target neighbor tag as a first interface.
4. The method of claim 1, wherein the intermediate node encapsulates and forwards multicast data for the downstream node, comprising:
updating the multicast data according to the forwarding label, the neighbor label and the general tree label corresponding to the intermediate node and the downstream node;
and forwarding the updated multicast data to the downstream node.
5. The method of any one of claims 1-4, further comprising:
And the intermediate node receives a path computation element communication protocol (PCEP) message sent by the controller, wherein the PCEP message comprises a forwarding label, a neighbor label, the general tree label and a target neighbor label corresponding to the intermediate node.
6. The method of claim 5, wherein the forwarding labels corresponding to the intermediate nodes comprise first forwarding labels, each first forwarding label corresponding to one downstream node of the intermediate node, the number of first forwarding labels being n, n being an integer greater than or equal to 1, the PCEP message comprising a first CCI object field and n second CCI object fields;
the first CCI object field includes the target neighbor tag and the generic tree tag; the content of the O field in the first CCI object field is 0;
each of the n second CCI object fields includes a first forwarding label, a neighbor label, and the generic tree label corresponding to the intermediate node, and the different second CCI object fields include different first forwarding labels; the contents of the O field in the n second CCI object fields are all 1.
7. The method of claim 6, wherein the forwarding label corresponding to the intermediate node further comprises a second forwarding label, the second forwarding label being the same as the forwarding label included in the header;
The second forwarding label is inserted in the first CCI object field.
8. The method according to claim 6 or 7, wherein the target neighbor tag and the generic tree tag are inserted in an Optional-TLV field of the first CCI object field;
the neighbor tag of the intermediate node and the generic tree tag are inserted in an Optional-TLV field of the second CCI object field.
9. The method of claim 1, wherein the upstream node is a node in the multicast tree that is connected to a multicast source, the method further comprising:
the upstream node receives a PCEP message sent by a controller, wherein the PCEP message comprises a neighbor tag of the upstream node, a forwarding tag corresponding to the intermediate node and the general tree tag of the upstream node;
the upstream node receives multicast data from a multicast source;
the upstream node determines the intermediate node according to the general tree label;
and the upstream node encapsulates and forwards multicast data for the intermediate node according to a neighbor tag included in the PCEP message, a forwarding tag corresponding to the intermediate node by the upstream node and the general tree tag.
10. The method of claim 1, wherein the downstream node is a node in the multicast tree that is connected to a receiving end in a multicast group, the method further comprising:
the downstream node receives PCEP information sent by a controller, wherein the PCEP information comprises a neighbor tag of the intermediate node and the general tree tag;
the downstream node receiving multicast data from the intermediate node;
the downstream node performs RPF check on multicast data from the intermediate node according to the neighbor tag of the intermediate node and the general tree tag;
in case the RPF check of the multicast data from the intermediate node passes, the downstream node forwards the multicast data to the receiving end.
11. A multicast data forwarding apparatus, comprising:
the first receiving module is used for receiving multicast data from an upstream node, wherein a data head of the multicast data comprises a forwarding label of the upstream node, a neighbor label and a general tree label, the neighbor label is used for identifying the upstream node, and the general tree label is used for identifying a multicast tree corresponding to the multicast data;
a first processing module, configured to perform reverse path forwarding RPF checking on the multicast data according to the neighbor tag and the generic tree tag;
The determining module is used for determining a corresponding downstream node according to the general tree label under the condition that the RPF check passes;
and the first sending module is used for packaging and forwarding the multicast data for the downstream node, wherein the packaged multicast data comprises a forwarding label, a neighbor label and the general tree label, wherein the forwarding label, the neighbor label and the general tree label correspond to the downstream node, and the intermediate node corresponds to the downstream node.
12. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the multicast data forwarding method of any of claims 1-10 via execution of the executable instructions.
13. A computer readable storage medium having stored thereon a computer program, wherein the computer program, when executed by a processor, implements the multicast data forwarding method according to any of claims 1 to 10.
CN202210845226.6A 2022-07-18 2022-07-18 Multicast data forwarding method and device, electronic equipment and storage medium Active CN115065638B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210845226.6A CN115065638B (en) 2022-07-18 2022-07-18 Multicast data forwarding method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210845226.6A CN115065638B (en) 2022-07-18 2022-07-18 Multicast data forwarding method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN115065638A CN115065638A (en) 2022-09-16
CN115065638B true CN115065638B (en) 2023-10-31

Family

ID=83206942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210845226.6A Active CN115065638B (en) 2022-07-18 2022-07-18 Multicast data forwarding method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115065638B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764756A (en) * 2010-01-14 2010-06-30 福建星网锐捷网络有限公司 Method and device for pruning forwarding path of multicast data and network equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8391185B2 (en) * 2007-05-29 2013-03-05 Cisco Technology, Inc. Method to transport bidir PIM over a multiprotocol label switched network
US9288069B2 (en) * 2013-03-11 2016-03-15 Cisco Technology, Inc. Loop avoidance technique for the multicast control plane

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764756A (en) * 2010-01-14 2010-06-30 福建星网锐捷网络有限公司 Method and device for pruning forwarding path of multicast data and network equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
E. Rosen, Ed. ; Cisco Systems, Inc. ; R. Aggarwal, Ed. ; .Multicast in MPLS/BGP IP VPNs.IETF .2012,全文. *

Also Published As

Publication number Publication date
CN115065638A (en) 2022-09-16

Similar Documents

Publication Publication Date Title
US11711288B2 (en) Centralized error telemetry using segment routing header tunneling
CN106209830B (en) message construction method based on XML network protocol expression
US7680945B2 (en) Messaging protocol in enterprise applications
US20210250288A1 (en) Method for Forwarding Packet in Hybrid Network, Device, and System
CN112039796B (en) Data packet transmission method and device, storage medium and electronic equipment
WO2006014766A2 (en) Method and apparatus for converting network management protocol to markup language
CN111131037A (en) Data transmission method, device, medium and electronic equipment based on virtual gateway
CN112532673B (en) Message sending method and device, computer readable storage medium and electronic equipment
CN114828140B (en) Service flow message forwarding method and device, storage medium and electronic equipment
JP7448597B2 (en) Message generation method and device and message processing method and device
CN112788060A (en) Data packet transmission method and device, storage medium and electronic equipment
CN104852955B (en) A kind of data processing method and system
CN111026324A (en) Updating method and device of forwarding table entry
CN113596017B (en) Protocol analysis method and device, soft gateway and storage medium
CN115065638B (en) Multicast data forwarding method and device, electronic equipment and storage medium
US11196792B2 (en) Method, device and system for transmitting data
Alenazi et al. ANTP protocol suite software implementation architecture in python
CN116418726A (en) Source route encoding method, data packet routing method, device, equipment and medium
Booth et al. High-Rate Delay Tolerant Networking (HDTN) User Guide Version 1.3. 0
JP2996296B2 (en) Message decoding device and finite state machine generating device
CN116208544A (en) Message sending method, system, device, equipment and storage medium
CN115333882B (en) Information processing method and related equipment
CN117176835A (en) Network data acquisition method and device, readable storage medium and electronic equipment
CN116155789A (en) Message transmission method, device, electronic equipment and computer readable storage medium
CN115514771A (en) Data transmission method and device, electronic equipment and computer readable storage medium

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