CN110999230B - Method, network equipment and system for transmitting multicast message - Google Patents

Method, network equipment and system for transmitting multicast message Download PDF

Info

Publication number
CN110999230B
CN110999230B CN201780093673.8A CN201780093673A CN110999230B CN 110999230 B CN110999230 B CN 110999230B CN 201780093673 A CN201780093673 A CN 201780093673A CN 110999230 B CN110999230 B CN 110999230B
Authority
CN
China
Prior art keywords
multicast
network
network node
message
identifier
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
CN201780093673.8A
Other languages
Chinese (zh)
Other versions
CN110999230A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN110999230A publication Critical patent/CN110999230A/en
Application granted granted Critical
Publication of CN110999230B publication Critical patent/CN110999230B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L12/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership

Landscapes

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

Abstract

The application provides a method, network equipment and a system for transmitting multicast messages, which can avoid multicast service interruption and improve user experience when a link fails. The method for transmitting the multicast message is applied to a Protocol Independent Multicast (PIM) domain, wherein the PIM domain comprises a first network node, at least two second network nodes and a rendezvous point, the method comprises the step that the first network node respectively sends a multicast adding message to the at least two second network nodes so as to establish at least two multicast forwarding trees, and the second network node is a previous hop node of the first network node in the direction of the rendezvous point; the first network node receives a first multicast message sent by multicast source equipment through the at least two multicast forwarding trees respectively; and the first network node forwards one of the at least two first multicast messages to multicast receiving equipment connected with the first network node.

Description

Method, network equipment and system for transmitting multicast message
Technical Field
The present application relates to the field of communications, and in particular, to a method, a network device, and a system for transmitting multicast packets in the field of communications.
Background
Internet Protocol Television (IPTV), i.e., an interactive network Television, is a service that provides various interactive multimedia services including digital Television to home users by integrating various technologies such as Internet, multimedia, and communication, using a broadband cable Television network. The receiving end comprises a television, a Pad, a mobile phone, a mobile television and other similar terminals.
The edge node in the IPTV networking is connected with the multicast receiver. When the edge node receives a Multicast data request sent by a Multicast receiver, a router can be elected from the plurality of upstream routers through an election mechanism, and the elected router sends a Protocol Independent Multicast (PIM) join message to the upstream node, so as to establish a Multicast forwarding tree. Or sending PIM joining message to only one upstream network device through equivalent routing protocol selection to establish the multicast forwarding tree. And then, forwarding the multicast data stream through the established multicast forwarding tree. Thus, the prior art can only send the multicast data stream to the receiving device through one link. When the link fails, only a new multicast forwarding tree can be re-established to transmit the multicast data stream. Because the processing steps for establishing the multicast forwarding tree are more, a long-time service interruption is caused, and packet loss of data may be caused.
Disclosure of Invention
The application provides a method, network equipment and a system for transmitting multicast messages, which can avoid multicast service interruption when a link fails and improve user experience.
In a first aspect, a method for transmitting a multicast packet is provided, where the method includes:
a first network node respectively sends multicast join messages to at least two second network nodes to establish at least two multicast forwarding trees, wherein the second network nodes are previous hop nodes of the first network node in the direction of a convergent point;
the first network node receives a first multicast message sent by multicast source equipment through the at least two multicast forwarding trees respectively;
and the first network node forwards one of the at least two first multicast messages to multicast receiving equipment connected with the first network node.
Therefore, in the embodiment of the present application, at least two multicast forwarding trees are established between the first network node and the rendezvous point, so that the first network node can receive the first multicast packet sent by the multicast source through the at least two multicast forwarding trees, respectively, and then the first network node forwards one of the at least two first multicast packets to the multicast receiver. Therefore, when a certain multicast forwarding tree link or certain multicast forwarding tree links fail, the multicast data stream can still be forwarded along other multicast forwarding trees, so that the forwarding tree does not need to be re-created, and the multicast data can still be sent to the first network node. Therefore, the embodiment of the application can avoid the interruption of the multicast service when the link fails, and improve the user experience.
Specifically, when one of the multicast forwarding tree links for forwarding the multicast stream fails, the other multicast forwarding trees for forwarding the multicast stream are not affected, and at this time, the first network node can still receive the multicast stream or the multicast packet forwarded by the other multicast forwarding trees that normally operate, and the multicast data service is not interrupted.
Optionally, the forwarding, by the first network node, one of the at least two first multicast packets to a multicast receiving device connected to the first network node includes:
the first network node acquires the identifier of the first multicast message;
if the first network node does not find the identifier in a local database, the first network node saves the identifier in the local database and forwards the first multicast message to the multicast receiving equipment;
and if the identifier is found in a local database by the first network node, the first network node discards the first multicast message.
Here, the identifier of the multicast packet may be a characteristic field that uniquely distinguishes the packet. In this way, the first network node may perform double-source unification or multi-source unification, that is, when receiving at least two identical multicast messages, only one of the multicast messages is forwarded to a multicast receiver.
Optionally, the identifier is a sequence number, and the sequence number is a sequence of the first multicast packet in a multicast data stream. As an example, the sequence number may be a sequence number in a Real-Time Transport Protocol (RTP) message.
Optionally, before the first network node sends the multicast join packet to the at least two second network nodes, the method further includes:
and the first network node receives a membership report message sent by the multicast receiving equipment, wherein the membership report message is used for indicating the multicast receiving equipment to request to join a multicast group.
And the first network node receives the membership report message, and indicates that multicast receivers joining a certain multicast group exist. At this time, the first network node may determine a function that needs to multicast a data packet to the present subnet, that is, trigger the first network node to execute the above technical solution.
Optionally, the sending, by the first network node, the multicast join packet to the at least two second network nodes respectively includes:
the first network node determines the at least two second network nodes in the direction of the rendezvous point according to an equivalent routing protocol;
and the first network node respectively sends the multicast adding message to the at least two second network nodes.
At this time, according to the multicast join message generated to all the second network nodes in the plurality of equivalent routes, and the plurality of second network nodes all forward the PIM join message to the upstream node, the embodiment of the present application can establish a plurality of multicast forwarding trees.
In a second aspect, a network device for transmitting multicast packets is provided, which includes means for performing the method in the first aspect or various possible implementations of the first aspect.
In a third aspect, a network device for transmitting a multicast packet is provided, where the network device includes a memory, a processor, and a communication interface, the memory is used to store program codes, and the processor is used to execute the program codes stored in the memory to perform the first aspect or operations corresponding to the method in various possible implementation manners of the first aspect.
In a fourth aspect, there is provided a computer readable medium storing program code comprising instructions for performing the first aspect or the methods in the various possible implementations of the first aspect.
In a fifth aspect, there is provided a computer program product comprising instructions which, when run on a computer, cause the computer to perform the first aspect or the method in its various possible implementations.
In a sixth aspect, a method for transmitting a multicast packet is provided, where the method includes:
at least two second network nodes respectively receive a multicast join message sent by the first network node, wherein the second network nodes are previous hop nodes of the first network node in the direction of a convergent point;
and the at least two second network nodes respectively establish respective multicast forwarding trees according to the multicast adding messages.
Therefore, when one of the multicast forwarding tree links for forwarding the multicast stream fails, the other multicast forwarding trees for forwarding the multicast stream are not affected, and at this time, the first network node can still receive the multicast stream or the multicast packet forwarded by the other multicast forwarding trees which normally operate, and the multicast data service is not interrupted.
Optionally, the method further includes: the at least two second network nodes are configured not to perform querier elections or designated router elections.
A seventh aspect provides a network device for transmitting a multicast packet, including a unit configured to execute the method in the sixth aspect or any possible implementation manner of the sixth aspect.
In an eighth aspect, a network device for transmitting a multicast packet is provided, where the network device includes a memory, a processor, and a communication interface, the memory is configured to store a program code, and the processor is configured to execute the program code stored in the memory to perform an operation corresponding to the method in the sixth aspect or any possible implementation manner of the sixth aspect.
In a ninth aspect, there is provided a computer readable medium storing program code comprising instructions for performing the method of the sixth aspect or its various possible implementations.
A tenth aspect provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of the sixth aspect or its various possible implementations.
In an eleventh aspect, a method for transmitting a multicast packet is provided, where the method includes:
the first network node sends multicast join messages to at least two second network nodes respectively, wherein the second network nodes are previous hop nodes of the first network node in the direction of a convergent point;
the at least two second network nodes establish respective multicast forwarding trees respectively according to the multicast adding messages;
the first network node receives a first multicast message issued by multicast source equipment through the multicast forwarding trees respectively established by the at least two second network nodes;
and the first network node forwards one of the at least two first multicast messages to a multicast receiver connected with the first network node.
Therefore, in the embodiment of the present application, at least two multicast forwarding trees are established between the first network node and the rendezvous point, so that the first network node can receive the first multicast packet sent by the multicast source through the at least two multicast forwarding trees, respectively, and then the first network node forwards one of the at least two first multicast packets to the multicast receiver. Therefore, when a certain multicast forwarding tree link or certain multicast forwarding tree links fail, the multicast data stream can still be forwarded along other multicast forwarding trees, so that the forwarding tree does not need to be re-created, and the multicast data can still be sent to the first network node. Therefore, the embodiment of the application can avoid the interruption of the multicast service when the link fails, and improve the user experience.
Specifically, when one of the multicast forwarding tree links for forwarding the multicast stream fails, the other multicast forwarding trees for forwarding the multicast stream are not affected, and at this time, the first network node can still receive the multicast stream or the multicast packet forwarded by the other multicast forwarding trees that normally operate, and the multicast data service is not interrupted.
Optionally, the method further includes: the at least two second network nodes are configured not to perform querier elections or designated router elections.
At this time, since the second network node is configured not to perform the querier election, all the second network nodes in the PIM domain forward the PIM join packet to the upstream node, so that the embodiment of the present application may establish a plurality of multicast forwarding trees.
Optionally, the sending, by the first network node, the multicast join packet to the at least two second network nodes respectively includes:
the first network node determines the at least two second network nodes in the direction of the rendezvous point according to an equivalent routing protocol;
and the first network node respectively sends the multicast adding message to the at least two second network nodes of the previous hop.
At this time, according to the multicast join message generated to all the second network nodes in the plurality of equivalent routes, and the plurality of second network nodes all forward the PIM join message to the upstream node, the embodiment of the present application can establish a plurality of multicast forwarding trees.
Optionally, the forwarding, by the first network node, one of the at least two first multicast packets to a multicast receiving device connected to the first network node includes:
the first network node acquires the identifier of the first multicast message;
if the first network node does not find the identifier in a local database, the first network node saves the identifier in the local database and forwards the first multicast message to the multicast receiving equipment;
and if the identifier is found in a local database by the first network node, the first network node discards the first multicast message.
Here, the identifier of the multicast packet may be a characteristic field that uniquely distinguishes the packet. In this way, the first network node may perform double-source unification or multi-source unification, that is, when receiving at least two identical multicast messages, only one of the multicast messages is forwarded to a multicast receiver.
Optionally, the identifier is a sequence number, and the sequence number is a sequence of the first multicast packet in a multicast data stream. As an example, the sequence number may be a sequence number in a Real-Time Transport Protocol (RTP) message.
Optionally, before the first network node sends the multicast join packet to the at least two second network nodes, the method further includes:
and the first network node receives a membership report message sent by the multicast receiving equipment, wherein the membership report message is used for indicating the multicast receiving equipment to request to join a multicast group.
And the first network node receives the membership report message, and indicates that multicast receivers joining a certain multicast group exist. At this time, the first network node may determine a function that needs to multicast a data packet to the present subnet, that is, trigger the first network node to execute the above technical solution.
A twelfth aspect provides a system for transmitting multicast packets, including the network device in the second aspect or any optional implementation manner thereof, and the network device in the seventh aspect or any optional implementation manner thereof. Optionally, the system includes the network device in the third aspect or any optional implementation manner thereof and the network device in the eighth aspect or any optional implementation manner thereof.
Drawings
Fig. 1 shows a schematic diagram of a forwarding multicast stream in the prior art.
Fig. 2 shows a schematic diagram of another forwarding multicast stream in the prior art.
Fig. 3 is a schematic flowchart illustrating a method for transmitting a multicast packet according to an embodiment of the present application.
Fig. 4 shows a schematic diagram of transmitting a multicast stream according to an embodiment of the present application.
Fig. 5 shows a schematic diagram of another transmission multicast stream according to the embodiment of the present application.
Fig. 6 is a schematic diagram illustrating an RTP packet format according to an embodiment of the present application.
Fig. 7 shows a schematic diagram of another transmission multicast stream according to the embodiment of the present application.
Fig. 8 shows a schematic diagram of another transmission multicast stream according to the embodiment of the present application.
Fig. 9 shows a schematic block diagram of a network node of an embodiment of the application.
Fig. 10 shows a schematic block diagram of another network node of an embodiment of the application.
Fig. 11 is a schematic block diagram illustrating a system for transmitting a multicast packet according to an embodiment of the present application.
Detailed Description
The technical solution in the present application will be described below with reference to the accompanying drawings.
The IPTV group network may include a central node, an area node, and an edge node. The central node, the area node and the edge node can be networked through a local bearing network, and can also be directly used for building a private network. The central node is mainly responsible for interconnection with the head-end equipment of a content operator, realizes program source introduction, is responsible for content storage, content distribution, authentication, charging and management of users in the whole network, provides system redundancy of edge nodes, directly provides service for part of users and the like. The edge node is mainly responsible for directly providing services for users by using the content distributed by the central node and storing part of the on-demand content. The regional nodes can mainly reduce the system load of the central node and avoid the excessive concentration of network traffic. When the number of the edge nodes is large, the central node only needs to be responsible for distributing the content of the area node, the area node is responsible for distributing the content of the edge nodes in the jurisdiction area, and meanwhile, the functions of user authentication, management, system redundancy and the like can be completely or partially moved down to the area node from the central node.
When a plurality of multicast routers are in a network segment in a central node or an area node, a multicast routing protocol can select a unique router to forward multicast information, and other routers are forbidden to default. Here, the multicast routing protocol is, for example, a PIM protocol. The selected Router for forwarding multicast information may be referred to as an Internet Group Management Protocol (IGMP) querier or a Designated Router (DR).
The election process of the IGMP querier is as follows:
(1) all multicast routers consider themselves to be an inquirer at the beginning, and send an IGMP universal group Query (General Query) message to all hosts and routers in the local network segment, where the destination address of the message is: 224.0.0.1.
here, the IGMP common group query message may also be an IGMP membership query message or an IGMP query message.
(2) After receiving the message, other multicast routers in the local network segment compare the source IP address of the message with the own interface address. By comparison, the router with the smallest IP address will become the Querier, and the other routers will become Non-queriers (Non-queriers).
(3) A Timer is started on all non-Querier, i.e. Other Querier Present Timer. Before the timer is overtime, if an IGMP query message from the querier is received, the timer is reset; otherwise, the original querier is considered to be invalid and a new querier election process is initiated.
The process of DR election is as follows:
(1) a plurality of PIM routers become PIM neighbors through interacting Hello messages, and the DR priority and the network segment interface address are carried in the Hello messages.
(2) The PIM router compares the self condition with the information carried in the other side message, and elects a unique DR to be responsible for receiving and sending the multicast message of the source end or the group member end. For example, if all PIM routers in a network segment support DR priority, the DR priority higher wins and becomes DR. If the DR priority is the same or at least one PIM router does not support carrying the DR priority in a Hello message exists in the network segment, the IP address is larger and wins.
(3) If the current DR fails, the PIM neighbor relation is caused to time out (the receiving of the Hello message is caused to time out), and a new round of DR election is triggered among other neighbor PIM routers.
Fig. 1 shows a schematic diagram of a forwarding multicast stream in the prior art. The Multicast stream may also be referred to as a Multicast Data stream (Multicast Data), and the Multicast stream includes at least one Multicast packet. Here, since the router R1 is connected to the multicast receiver, the router R1 may be referred to as an edge node. The multicast receivers may also be referred to as multicast receiving devices. The routers R1, R2, R3, and R4 in fig. 1 may support protocol independent multicast routing protocol-sparse mode (PIM-SM). PIM-SM realizes multicast data forwarding by constructing and maintaining a shared tree (RPT) taking Rendezvous Point (RP) as a root, the RPT selects a certain router in a PIM domain as a shared root node (i.e. Rendezvous Point), and multicast data is forwarded to a receiver along the Rendezvous Point. Specifically, in fig. 1, routers R1, R2, R3, and R4 are included in the PIM domain, where R3 is a rendezvous point.
Specifically, the routers R2 and R4 are connected by a router R1, and R1 is, for example, an Optical Line Terminal (OLT). In the same shared network, R2 and R4 can initiate querier election by sending IGMP query messages, and R2 is elected as a querier. The querier R2 will periodically send IGMP query messages to all routers in the local subnet.
Alternatively, R2 and R4 may initiate DR election by sending Hello messages, electing R2 as the DR. The DR R2 will periodically send Hello messages to all routers in the local subnet. When multicast receivers have multicast data requirements, the multicast receivers send IGMP membership report messages to the edge node R1 to which the multicast receivers are connected.
Herein, the IGMP membership report message may also be referred to as an IGMP report or an IGMP report message.
After receiving the IGMP report sent by the multicast receiver, R1 forwards the IGMP report to its upstream routers R2 and R4, respectively. However, since R2 is a query router or DR and R4 is a non-query router or non-DR, the R2 router sends a PIM join (PIM join) message upward to establish a multicast forwarding tree that is responsible for forwarding multicast data streams. At this time, other routers (e.g., R4) other than the querier are quiesced, i.e., do not send PIM join packets upward, and do not forward the multicast data stream.
Or, because two equivalent routes exist between the edge node R1 and the sink node R3, the two equivalent routes are R1-R2-R3 and R1-R4-R3 respectively. The edge node R1 will only select one path to send PIM join message, assuming the selected router is R2, the edge node R1 will only send PIM join message to R2 to establish forwarding tree. Since the edge node does not send the PIM join message to R4, R4 does not send the PIM join message to R3, and does not forward the multicast data stream.
Thus, since only one multicast forwarding tree (R3-R2-R1) is established from R1 to R3, the multicast stream sent from the multicast source device will be forwarded to the multicast receivers according to the multicast stream forwarding path (R3-R2-R1) in fig. 1. Specifically, the multicast source device may send the multicast stream to the rendezvous point R3, R3 forwards the multicast stream to the querier or DR R2, R2 forwards the multicast stream to the edge node R1, and R1 forwards the multicast stream to the multicast receivers.
At this time, if the link R3-R2-R1 fails (for example, the link between R2 and R1 shown in fig. 2 fails, and the same reference numerals in fig. 2 and fig. 1 indicate the same meanings), a new querier election is triggered, at this time, R4 will race to become a new querier or DR, and then the multicast forwarding tree R3-R4-R1 is re-established. Or, according to the equivalent routing information, the PIM joining message is initiated from other links again to establish a multicast forwarding tree R3-R4-R1. At this time, the multicast stream sent from the multicast source device may be forwarded according to the multicast stream forwarding path R3-R4-R1 shown in fig. 2, that is, the multicast source device may send the multicast stream to the rendezvous point R3, R3 forwards the multicast stream to the querier or DR R4, R4 forwards the multicast stream to the edge node R1, and R1 forwards the multicast stream to the multicast receiver.
Therefore, in the prior art, after the querier elects, the querier is responsible for forwarding the multicast data stream, and other routers do not forward the multicast data stream. At this point, if the querier link fails, a new querier election is triggered only if the timer for other non-queriers expires. After a new querier is elected, a new forwarding tree is established by sending a PIM join message upwards through the new querier, and the multicast data stream is forwarded to the user along the newly established forwarding tree.
Or, in the prior art, after the DR elects, the DR is responsible for forwarding the multicast data stream, and other routers do not forward the multicast data stream. At this point, if the DR link fails, a new DR election is triggered only if the Hello message is received for a timeout. After the new DR is elected, a PIM Join (PIM Join) message is sent upwards through the new DR to establish a new forwarding tree, and then the multicast data stream is forwarded to the user along the newly established forwarding tree.
Or, in the prior art, only one path of multicast forwarding tree is established according to the information in the unicast routing table. At this time, if the link fails, the PIM join packet can be initiated again from other links only according to the equivalent routing information, and after a new multicast forwarding tree is established, the multicast data stream is forwarded to the user along the newly created forwarding tree.
Because the process of re-establishing the forwarding tree has more processing steps and longer flow, a longer service interruption can be caused, and no packet loss can be realized. And routers in the whole network segment need to be elected again, so that the influence range is large. Based on this, the embodiment of the present application provides a method for transmitting a multicast packet, where when a link fails, an election of an inquirer or a DR is not performed, and a multicast forwarding tree does not need to be re-established, so that interruption of a video service can be avoided.
Fig. 3 is a schematic flowchart illustrating a method for transmitting a multicast packet according to an embodiment of the present application. It should be understood that fig. 3 shows steps or operations of a method for transmitting a multicast packet, but the steps or operations are merely examples, and other operations or variations of the operations in fig. 3 may also be performed in the embodiments of the present application. Moreover, the various steps in FIG. 3 may be performed in a different order presented in FIG. 3, and it is possible that not all of the operations in FIG. 3 may be performed. The method for transmitting the multicast packet according to the embodiment of the present application may be applied to a protocol independent multicast PIM domain, where the PIM domain may include a first network node, at least two second network nodes, and a rendezvous point.
301, a first network node receives a membership report message sent by a multicast receiving device, where the membership report message is used to indicate that the multicast receiving device requests to join a multicast group.
Specifically, the first network node may be a network device connected to the multicast receiver, and may also be referred to as an edge node, and specifically may be, for example, an OLT. A multicast recipient device may also be referred to as a multicast recipient. Also, the first network node is a multicast router supporting a multicast group management protocol, that is, the first network node may determine whether a multicast receiver joining a certain multicast group exists in the local subnet using a query-response procedure. Here, the multicast receiver is a receiving device that receives the multicast packet. If so, the first network node completes the function of multicasting the data packet to the local subnet. If not, the first network node does not have to forward the multicast packet to this subnet.
In this embodiment, the Multicast group management protocol may be an IGMP protocol and a Multicast Listener Discovery (MLD) protocol. And the MLD protocol is used for the IPv6 router to discover the multicast listener on the direct connection network segment, and establish and maintain the group membership. When the multicast group management protocol is an IGMP protocol, the first multicast join packet is an IGMP packet. And when the multicast group management protocol is an MLD protocol, the first multicast adding message is an MLD message. In addition, since the MLD protocol is derived from the IGMP protocol, its operation mechanism is the same as that of the IGMP protocol. Therefore, for convenience of description, the multicast group management protocol is an IGMP protocol, but the embodiment of the present application is not limited thereto.
Specifically, the first network node may periodically send an IGMP membership query message to all multicast receivers on the subnet, and a multicast receiver wishing to join a certain multicast group responds to the query, and sends an IGMP membership report message to the subnet, and adds the address of the multicast group wishing to join in the group address field of the IGMP membership report message. Specifically, when a multicast receiver joins the multicast group G, the leaf router (i.e., the first network node) directly connected to the multicast receiver is informed through the IGMP message, and the leaf router grasps the receiver information of the multicast group G.
Fig. 4 shows a schematic diagram of a multicast stream transmission according to an embodiment of the present application, where the first network node may be a router R5 connected to a multicast receiver. And the router R7 is a rendezvous point, and the routers R6 and R8 are intermediate nodes, which are assumed to run PIM-SM on these nodes for convenience of description. Here, when a multicast receiver wishes to join the multicast group G, an IGMP report may be transmitted to R5 in response to an IGMP query message transmitted by R5. Or the multicast receiver monitors that the multicast data of the multicast group G exists in the network segment, and immediately sends a report message aiming at the G without waiting for the arrival of the general group query message. At this time, R5 receives the IGMP report sent by the multicast receiver.
Fig. 5 shows a schematic diagram of another example of transmitting a multicast flow according to the present application, where the method may be applied in a cloud scenario where a controller, a multicast source device, and routers (including routers R10 to R14) in a shared network communicate via an open flow (Openflow) protocol. Here, the first network node may be a router R9 connected to the multicast receiver. And the router R14 is a convergent point, and the routers R10, R11, R12 and R13 are all intermediate nodes on which PIM runs. Here, when a multicast receiver wishes to join a multicast group, an IGMP report may be sent to R9 in response to an IGMP query message sent by R9, or an IGMP report message for a certain multicast group may be sent to R9. At this time, R9 receives the IGMP report sent by the multicast group receiver.
302, the first network node sends multicast join packets to at least two second network nodes, respectively, to establish at least two multicast forwarding trees, where the second network nodes are previous-hop nodes of the first network node in the direction of a rendezvous point.
As an example, the multicast join message may be an IGMP report. Specifically, after receiving the IGMP membership report packet, the first network node may forward the IGMP membership report packet to all the previous-hop nodes in the RP direction.
As another example, the multicast join message may be a PIM join message. Specifically, after receiving the IGMP membership report packet, the first network node determines that it is not the rendezvous point of the group G, and then sends a Join (Join) message for joining the multicast group, such as a PIM Join packet, to all the previous-hop nodes in the RP direction according to the grasped recipient information of the multicast group G.
Specifically, when the first network node receives an IGMP membership report packet, it sends a multicast join message to at least two previous-hop nodes in the direction of the rendezvous point. At this time, an (#, G) entry is generated in a forwarding table of the first network node, an outgoing interface of the (#, G) entry is a multicast receiver, and each previous-hop node generates an (#, G) entry when receiving a multicast join message, and the outgoing interface of each (#, G) entry is the first network node.
As an embodiment, the first network node may determine the at least two second network nodes in the rendezvous point direction according to an equivalent routing protocol, and send the multicast join packet to the at least two previous-hop second network nodes, respectively, to establish at least two multicast forwarding trees. In other words, after receiving the membership report packet, the first network node may determine an equivalent route according to an equivalent routing protocol, and send the multicast join message to a previous-hop node (i.e., the second network node) in all equivalent routing links.
303, at least two second network nodes respectively establish a plurality of multicast forwarding trees.
Specifically, after receiving the multicast join message received and sent by the first network, at least two second network nodes respectively send the multicast join message to the rendezvous point hop by hop so as to establish a plurality of multicast forwarding trees.
Specifically, when at least two second network nodes are in a shared network, the at least two second network nodes do not perform querier election or DR election, and all send multicast join messages hop by hop to the rendezvous point. At this time, all routers in the shared network may be considered as query routers or DRs, that is, all routers in the shared network consider themselves as query routers or DRs, and after receiving an IGMP report sent by a downstream router, all routers send multicast join packets to a previous-hop node in the direction of a rendezvous point, so as to establish a multicast forwarding tree.
Or when the second network node receives the PIM adding message, the multicast adding message is sent to the previous hop node.
In this embodiment, the multicast join packet may be a PIM (star, G) join packet. The last hop node receiving the PIM (G) join message continuously sends the PIM (G) join message to the RP direction. Thus, the PIM (G) join message is sent hop-by-hop until the PR of group G receives the PIM (G) join message, indicating that it is joined to the shared tree. At this time, each router passing from the first network node to the RP generates an (×, G) entry in the forwarding table, and the routers passing along form a branch of the RP shared tree (RPT). Where (, G) indicates that information from any source is destined for multicast group G. The RPT shared tree is rooted at the RP and leafs at the receiver. At this time, the path that the add message (x, G) travels forms a branch of the RPT. Therefore, the embodiment of the application can establish at least two multicast forwarding trees.
For example, in fig. 4, the rendezvous point RP is R7, and the first network node R5 generates an (×, G) entry after receiving an IGMP report sent by a multicast receiver, adds an interface, and searches for the previous-hop node of R5 according to the address of the rendezvous point, i.e., R7. The previous hop nodes in the direction of the convergence point RP of the PIM search result R5 are R6 and R8, respectively. At this point, the first network node R5 may forward the IGMP (, G) report to R6 and R8, respectively. Similar to R5, R6 and R8 generate PIM (star, G) table entries, add an interface, determine respective previous-hop nodes (i.e., all are rendezvous points R7), and send PIM (star, G) add messages to R7, respectively, trigger PIM to construct shared trees (R7-R6-R5 and R7-R8-R5).
Or, after determining that the previous-hop nodes in the direction of the rendezvous point RP are R6 and R8, the first network node R5 may send PIM (star, G) join messages (not shown in fig. 4) to R6 and R8, respectively, and trigger the PIM SM to construct a shared tree (R7-R6-R5 and R7-R8-R5). R6 and R8 may generate a PIM (star, G) table entry according to the PIM (star, G) Join message, add an egress interface, and continue to hop to the rendezvous point, that is, R7 sends the PIM (star, G) Join message.
At this time, the rendezvous point R7 receives the PIM (x, G) Join message from both the routers R6 and R8, and then generates a PIM (x, G) entry and adds two egress interfaces. Thus, by sending PIM (star, G) join messages hop by hop, multicast forwarding trees R7-R6-R5 and R7-R8-R5 can be established.
For another example, in fig. 5, the rendezvous point RP is R14, and after receiving the IGMP report sent by the multicast receiver, the first network node R9 generates an (×, G) entry, adds an egress interface, and searches for the previous-hop node of R9 according to the address of the rendezvous point, i.e., R14. The previous hop nodes in the direction of the convergence point RP of the PIM search result R9 are R10 and R12, respectively. At this point, the first network node R9 may forward the IGMP (, G) report to R10 and R12, respectively. Similar to R9, R10 generates a PIM (×, G) entry according to the received IGMP (×, G) report, adds an outgoing interface, determines the previous-hop node R11, sends a PIM (×, G) add message to R11, triggers the PIM to construct a shared tree (R14-R11-R10-R9), and after receiving the PIM (×, G) add message, R11 generates a PIM (×, G) entry, adds an outgoing interface, and continues to send a PIM (×, G) add message to the previous-hop node (rendezvous point R14). And similar to R9, R12 generates a PIM (star, G) entry according to the received IGMP (star, G) report, adds an egress interface, determines the previous-hop node R13, sends a PIM (star, G) add message to R13, triggers PIM SM to construct a shared tree (R14-R12-R13-R9), and after receiving the PIM (star, G) add message, R13 generates a PIM (star, G) entry, adds an egress interface, and continues to send a PIM (star, G) add message to the previous-hop node (rendezvous point R14).
Or, after determining that the previous-hop nodes in the direction of the rendezvous point RP are R10 and R12, the first network node R9 may send PIM (star, G) join messages (not shown in fig. 5) to R10 and R12, respectively, and trigger the PIM SM to construct a shared tree (R14-R11-R10-R9 and R14-R13-R12-R9). R10 and R12 may generate PIM (x, G) table entries, add an egress interface, and send PIM (x, G) add messages to the rendezvous point, i.e., R14, hop by hop, respectively, according to the PIM (x, G) add messages.
At this time, the rendezvous point R14 receives the PIM (×, G) join message from both the routers R11 and R13, and then generates a PIM (×, G) entry and adds two egress interfaces. Thus, by sending PIM (star, G) join messages hop by hop, multicast forwarding trees R14-R11-R10-R9 and R14-R13-R12-R9 can be established.
It should be noted that fig. 4 is only illustrated by establishing two multicast forwarding trees (R3-R2-R1 and R3-R4-R1, respectively) between the first network node and the rendezvous point, and fig. 5 is only illustrated by establishing two multicast forwarding trees (R14-R11-R10-R9 and R14-R13-R12-R9, respectively) between the first network node and the rendezvous point, but the embodiment of the present application is not limited thereto, for example, more multicast forwarding trees may be created. That is, when there is another router in the local subnet, which is the previous hop node of the first network node and is a downstream router of the rendezvous point, the multicast forwarding tree including the router may be established.
304, the multicast source device sends a first multicast message to the rendezvous point.
Specifically, if the multicast source device wants to send data to a certain multicast group, the first hop router registers to the rendezvous point RP, and the source tree STP is triggered to be established after the registration message reaches the rendezvous point RP. Thereafter, the multicast source device sends the data to the rendezvous point RP.
305, transmitting the first multicast packet through a plurality of multicast forwarding trees respectively.
Specifically, the multicast data stream may include a plurality of multicast packets. After the multicast data stream reaches the rendezvous point RP, the multicast data stream is replicated and transmitted to the first network node along the RPT. At this time, the first network node receives the multicast data stream delivered by the multicast source device through each multicast forwarding tree.
Specifically, in fig. 4, the multicast source device sends the multicast stream to the rendezvous point R7, the R7 duplicates the multicast stream into two parts, one of the multicast streams is sent to the R5 through the multicast forwarding tree R7-R6-R5, and the other multicast stream is sent to the R5 through the multicast forwarding tree R7-R8-R5. That is, the rendezvous point R7 forwards the multicast stream to the routers R6 and R8 downstream of the rendezvous point R7, respectively, according to the created PIM (, G) entry. At this time, both the routers R6 and R8 receive the multicast stream, and continue to forward the multicast stream to the downstream router according to the outgoing interface of the existing PIM (G) entry, that is, R6 forwards the multicast stream to the edge node R5, and R8 also forwards the multicast stream to the first network node R5.
In fig. 5, a multicast source device sends a multicast stream to a rendezvous point R14, an R14 duplicates the multicast stream into two parts, one of the multicast streams is sent to an R9 through multicast forwarding trees R14-R11-R10-R9, and the other multicast stream is sent to an R9 through multicast forwarding trees R14-R13-R12-R9. That is, the rendezvous R14 forwards the multicast stream to the routers R11 and R14 downstream of the rendezvous point R14, respectively, according to the created PIM (, G) entry. At this time, both routers R11 and R13 receive the multicast stream. R11 and R13 continue forwarding the multicast stream to the downstream router according to the existing outgoing interface of the PIM (, G) entry, that is, R11 forwards the multicast stream to R10, and R13 forwards the multicast stream to R12. Similarly, the routers R10 and R12 continue to forward the multicast stream to the downstream router according to the existing outgoing interface of the PIM (, G) entry, that is, R10 forwards the multicast stream to the first network node R9, and R12 also forwards the multicast stream to the edge node R9.
And 306, the first network node forwards one of the at least two first multicast messages to the multicast receiver.
Specifically, the multicast stream includes a plurality of multicast packets. Since there are at least two multicast forwarding trees between the aggregation point and the first network node, the aggregation point may forward the first multicast packet to the first network node along the at least two multicast forwarding trees, respectively. In this way, at least two first multicast messages eventually arrive at the first network node. At this time, the first network node may send only one copy of the first multicast packet to the multicast receiver, and discard the other first multicast packets. For example, the first network node may forward a first multicast packet that arrives first, and discard the first multicast packet that arrives later. That is to say, the first network node may perform double-source unification or multi-source unification, that is, when receiving at least two identical multicast messages, only one of the multicast messages is forwarded to a multicast receiver.
Specifically, R5 in fig. 4 receives two identical multicast messages sent from R6 and R8, for example, if the multicast message forwarded by R6 arrives first, R5 forwards the multicast message received from R6 to the multicast receiver. When the R5 receives the multicast message forwarded from R8, R5 discards the multicast message. Similar to fig. 4, R9 in fig. 5 receives two identical multicast messages sent from R10 and R12, for example, if the multicast message forwarded by R10 arrives first, R9 forwards the multicast message received from R9 to the multicast receiver. When the R9 receives the multicast message forwarded from R12, R9 discards the multicast message.
Optionally, in this embodiment of the present application, the first network node may obtain an identifier of the first multicast packet. If the identifier is not found in the local database by the first network node, the identifier is saved in the local database by the first network node, and the first multicast message is forwarded to the multicast receiving device. And if the identifier is found in a local database by the first network node, the first network node discards the first multicast message.
Here, the characteristic field that uniquely distinguishes the packet may be an identifier called a multicast packet. Specifically, the characteristic field may be various information in the message, as long as the message can be uniquely distinguished. Optionally, the identifier may be a sequence number, and the sequence number may be an order of the first multicast packet in a multicast data stream. Specifically, the sequence number may be a sequence number in a Real-Time Transport Protocol (RTP) message.
Fig. 6 is a schematic diagram illustrating an RTP packet format according to an embodiment of the present application. The RTP packet consists of two parts: a header and a payload. Wherein, V is the version number of the RTP protocol, occupies 2 bits, and the current protocol version number is 2. P is a padding flag, occupying 1 bit, and if P ═ 1, one or more extra octets are padded at the end of the packet, which are not part of the payload. X is an extension flag and occupies 1 bit, and if X is 1, an extension header follows the RTP header. CC is a CSRC counter, takes 4 bits, and indicates the number of Contributing Source (CSRC) identifiers. M is a mark, occupies 1 bit, different payloads have different meanings, and the end of one frame is marked for a video; for audio, the beginning of the conversation is marked. A Synchronization Source (SSRC) identifier occupies 32 bits to identify a synchronization source. The identifier is randomly chosen and two synchronized sources participating in the same video conference cannot have the same SSRC. Each CSRC identifier takes 32 bits, and can be 0-15. Each CSRC identifies all of the contracted sources contained in the RTP packet payload. The PT is a payload type, occupies 7 bits, and is used to indicate the type of the payload in the RTP packet, such as GSM audio, JPEM image, and the like. The sequence number occupies 16 bits and is used for identifying the sequence number of the RTP message sent by the sender, and the sequence number is increased by 1 when one message is sent. The receiver detects the message loss condition through the serial number, reorders the messages and recovers the data. The Timestamp (Timestamp) occupies 32 bits and reflects the sampling time of the first octet of the RTP packet. The receiver calculates delay and delay jitter using the time stamp and performs synchronization control. The sequence number is encapsulated in a UDP header. Specifically, the sequence number occupies 16 bits and is used to identify the sequence number of the RTP packet sent by the sender. Each sequence number may be used to uniquely identify a message.
For IPV4 messages, the offset of the sequence number in the message is:
12 bytes (ETH header) +4 bytes (VLAN tag) +2 bytes (ethertype) +20(IP header) +8(UDP header) +2 bytes (RTP offset) ═ 48 bytes;
for IPV6 messages, the offset of the sequence number in the message is:
12 bytes (ETH header) +4 bytes (VLAN tag) +2 bytes (ethertype) +40(IP header) +8(UDP header) +2 bytes (RTP offset) — 68 bytes.
For example, in fig. 4, the first network node R5 may receive the multicast stream arriving along R7-R6-R5 and the multicast stream arriving along R7-R8-R5, and the multicast stream arriving along R7-R6-R5 is the same as the multicast stream arriving along R7-R6-R5, that is, the same multicast packets are included in the two multicast streams. Here, it may be assumed that there are 100 messages in the multicast flow, and sn carried in the multicast message forwarded along R7-R6-R5 may be specifically described as sn 1, 2, 3. It should be noted that the messages sn 1 and sn 1 ' may be considered to be the same messages, the messages sn 2 and sn 2 ' may be considered to be the same messages, and so on, and the messages sn 100 and sn 100 ' may be considered to be the same messages.
At this time, for the multicast flow, if the multicast packet with sn 1 arrives at R5 earlier than the multicast packet with sn 1 ', R5 forwards the multicast packet with sn 1 to the multicast receiver, and when R5 receives the multicast packet with sn 1', the multicast packet is directly discarded. If the multicast message with sn 2 'arrives at R5 earlier than the multicast message with sn 2, R5 forwards the multicast message with sn 2' to the multicast receiver, and when R5 receives the multicast message with sn 2, the multicast message is directly discarded. R5 forwards the messages in the multicast stream in a similar manner, so that only one group of data streams finally reaches the multicast receiver.
In fig. 5, similar to R5, R9 performs a dual-source unification on the multicast packet forwarded along R14-R11-R10-R9 and the multicast packet forwarded along R14-R13-R12-R9.
In the embodiment of the present application, when one of the multicast forwarding trees for forwarding multicast streams fails, other multicast forwarding trees for forwarding the multicast stream are not affected, and at this time, the first network node can still receive multicast streams or multicast packets forwarded by other multicast forwarding trees that operate normally, and the multicast data service is not interrupted.
For example, as shown in FIG. 7, when the link between the routers R5 and R6 fails, the multicast forwarding trees R7-R6-R5 cannot forward the multicast data stream. At this time, the rendezvous point R7 can directly use the existing multicast forwarding tree R7-R8-R5 to forward the multicast stream sent from the multicast source device without performing election of an inquirer and reconstructing the multicast forwarding tree.
For another example, as shown in fig. 8, when the link between the router R9 and the router R10 fails, the multicast forwarding tree R14-R11-R10-R9 cannot forward the multicast data stream. At this time, the rendezvous point R14 can directly use the existing multicast forwarding tree R14-R13-R12-R9 to forward the multicast stream sent from the multicast source device without electing by the querier or reconstructing the multicast forwarding tree.
Therefore, in the embodiment of the present application, at least two multicast forwarding trees are established between the first network node and the rendezvous point, so that the first network node can receive the first multicast packet sent by the multicast source through the at least two multicast forwarding trees, respectively, and then the first network node forwards one of the at least two first multicast packets to the multicast receiver. Therefore, when a certain multicast forwarding tree link or certain multicast forwarding tree links fail, the multicast data stream can still be forwarded along other multicast forwarding trees, so that the forwarding tree does not need to be re-created, and the multicast data can still be sent to the first network node. Therefore, the embodiment of the application can avoid the interruption of the multicast service when the link fails, and improve the user experience.
The method for transmitting a multicast packet according to the embodiment of the present application is described in detail above with reference to fig. 3 to 8, and a network node and a system for transmitting a multicast packet according to the embodiment of the present application are described below with reference to fig. 9 to 11.
Fig. 9 is a schematic block diagram of a network device 900 transmitting multicast messages according to an embodiment of the present application. The network device 900 may be the first network node above. The network device 900 includes a transmitting unit 910, a receiving unit 920, and a forwarding unit 930.
A sending unit 910, configured to send multicast join packets to at least two second network devices respectively to establish at least two multicast forwarding trees, where the second network devices are previous-hop nodes of the network devices in the direction of the rendezvous point.
A receiving unit 920, configured to receive the first multicast packet sent by the multicast source device through the at least two multicast forwarding trees, respectively.
A forwarding unit 930, configured to forward one of the at least two first multicast packets to a multicast receiving device connected to the first network device.
Therefore, in the embodiment of the present application, at least two multicast forwarding trees are established between the first network node and the rendezvous point, so that the first network node can receive the first multicast packet sent by the multicast source through the at least two multicast forwarding trees, respectively, and then the first network node forwards one of the at least two first multicast packets to the multicast receiver. Therefore, when a certain multicast forwarding tree link or certain multicast forwarding tree links fail, the multicast data stream can still be forwarded along other multicast forwarding trees, so that the forwarding tree does not need to be re-created, and the multicast data can still be sent to the first network node. Therefore, the embodiment of the application can avoid the interruption of the multicast service when the link fails, and improve the user experience.
Optionally, the forwarding unit 930 is specifically configured to: acquiring an identifier of the first multicast message; if the identifier is not found in the local database, the forwarding unit saves the identifier in the local database, and forwards the first multicast message to the multicast receiving device; and if the identifier is found in the local database, the forwarding unit discards the first multicast message.
Optionally, the identifier is a sequence number, and the sequence number is a sequence of the first multicast packet in a multicast data stream.
Optionally, the receiving unit 920 is further configured to: and receiving a membership report message sent by the multicast receiving equipment, wherein the membership report message is used for indicating the multicast receiving equipment to request to join a multicast group.
Optionally, the sending unit 910 is specifically configured to: determining the at least two second network devices in the direction of the rendezvous point according to an equivalent routing protocol; and respectively sending the multicast adding message to the at least two second network devices.
It should be appreciated that the network device 900 herein is embodied in the form of functional units. The term "unit" herein may refer to an Application Specific Integrated Circuit (ASIC), an electronic Circuit, a processor (e.g., a shared, dedicated, or group processor) and memory that execute one or more software or firmware programs, a combinational logic Circuit, and/or other suitable components that support the described functionality. In an optional example, as can be understood by those skilled in the art, the network device 900 may be specifically a first network node in the foregoing embodiment, and the network device 900 may be configured to execute each procedure and/or step corresponding to the first network node in the foregoing method embodiment, and details are not described here again to avoid repetition.
It should be noted that in the embodiment of the present application, the sending unit 910 and the receiving unit 920 may be implemented by a communication interface, and the forwarding unit 930 may be implemented by a processor. As shown in fig. 10, network device 1000 may include a processor 1010, memory 1020, and a communication interface 1030. Wherein processor 1010 may be configured to determine that communication interface 1030 is transmitting information, memory 1020 may be configured to store code executed by processor 1010, and the like. Processor 1010, memory 1020, and communication interface 1030 communicate with each other via internal communication paths that convey control and/or data signals. The memory may be a separate device or may be integrated into the processor. The above-mentioned devices or parts of the devices may be implemented by being integrated into a chip, such as a baseband chip. The processor 1010, memory 1020, and communication interface 1030 are described in detail below.
The memory 1020 is used to store program code;
the processor 1010 is configured to execute the program code stored in the memory 1020, and when the program code is executed, the communication interface 1030 is configured to send multicast join packets to at least two second network devices respectively to establish at least two multicast forwarding trees, where the second network devices are previous-hop nodes of the network devices in the direction of the rendezvous point;
the communication interface 1030 is further configured to receive a first multicast packet sent by the multicast source device through the at least two multicast forwarding trees, respectively;
the processor 1010 is configured to forward one of the at least two first multicast messages to a multicast receiving device connected to the first network device;
it should be understood that the units in the network device 1000 are respectively configured to execute the actions or processes performed by the first network node in the methods described above. Here, detailed description thereof is omitted in order to avoid redundancy.
The embodiment of the application can be applied to or realized by a processor. The processor may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method embodiments may be performed by integrated logic circuits of hardware in a processor or instructions in the form of software. The Processor may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, or discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software in the decoding processor. The software may be in ram, flash, rom, prom, or eprom, registers, among other storage media as is well known in the art. 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.
It will also be appreciated that the memory in the embodiments of the subject application can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. The non-volatile Memory may be a Read-only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (EEPROM), or a flash Memory. Volatile Memory can be Random Access Memory (RAM), which acts as external cache Memory. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), double data rate SDRAM, enhanced SDRAM, SLDRAM, Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). It should be noted that the memory of the systems and methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
The network devices or terminal devices in the apparatus and method embodiments completely correspond to each other, and corresponding steps are performed by corresponding modules, for example, a sending module method or a transmitter performs the steps sent in the method embodiment, a receiving module or a receiver performs the steps received in the method embodiment, and other steps except sending and receiving may be performed by a processing module or a processor. The functions of the specific modules can be referred to corresponding method embodiments, and are not described in detail.
In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 1010. The steps of a method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware processor, or may be implemented by a combination of hardware and software modules in a processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in the memory 1020, and the processor 1010 reads the information in the memory 1020 and performs the steps of the above method in combination with the hardware thereof. To avoid repetition, it is not described in detail here.
The network device 900 shown in fig. 9 or the device 1000 shown in fig. 10 can implement each process corresponding to the method embodiment shown in fig. 3, specifically, the network device 900 or the network device 1000 may refer to the description in fig. 3, and is not described herein again to avoid repetition.
Fig. 11 is a schematic diagram of a system 1100 for transmitting a multicast packet according to an embodiment of the present application, where the system 1100 includes a first network device 1110 and at least two second network devices 1120.
The first network device 1110 is configured to send a multicast join packet to the at least two second network devices 1120, respectively, where the second network devices 1120 are previous-hop nodes of the first network device in a rendezvous point direction;
the at least two second network devices 1120 are respectively configured to establish respective multicast forwarding trees according to the multicast join packet;
the first network device 1110 is further configured to receive a first multicast packet sent by a multicast source device through a multicast forwarding tree respectively established by the at least two second network devices 1120;
the first network device 1110 is further configured to forward one of the at least two first multicast packets to a multicast receiver connected to the first network device 1110.
Therefore, in the embodiment of the present application, at least two multicast forwarding trees are established between the first network node and the rendezvous point, so that the first network node can receive the first multicast packet sent by the multicast source through the at least two multicast forwarding trees, respectively, and then the first network node forwards one of the at least two first multicast packets to the multicast receiver. Therefore, when a certain multicast forwarding tree link or certain multicast forwarding tree links fail, the multicast data stream can still be forwarded along other multicast forwarding trees, so that the forwarding tree does not need to be re-created, and the multicast data can still be sent to the first network node. Therefore, the embodiment of the application can avoid the interruption of the multicast service when the link fails, and improve the user experience.
Optionally, the at least two second network devices 1120 are further configured to not perform querier elections or to designate router elections.
Optionally, the first network device 1110 is specifically configured to: determining the at least two second network devices in the direction of the rendezvous point according to an equivalent routing protocol; and respectively sending the multicast adding message to the at least two second network devices of the previous hop.
Optionally, the first network device 1110 is specifically configured to: acquiring an identifier of the first multicast message; if the identifier is not found in a local database, the first network device saves the identifier in the local database, and forwards the first multicast message to the multicast receiving device; and if the identifier is found in the local database, the first network equipment discards the first multicast message.
Optionally, the identifier is a sequence number, and the sequence number is a sequence of the first multicast packet in a multicast data stream.
Optionally, the first network device 1110 is further configured to: and receiving a membership report message sent by the multicast receiving equipment, wherein the membership report message is used for indicating the multicast receiving equipment to request to join a multicast group.
The first network device and the second network device of each of the above-mentioned schemes have functions of implementing corresponding steps executed by the first network node and the second network node in the above-mentioned method; the functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software comprises one or more units corresponding to the functions; for example, the transmitting unit may be replaced by a transmitter, the receiving unit may be replaced by a receiver, other modules, such as a forwarding unit, and the like, may be replaced by a processor, and the transmitting operation, the receiving operation, and the related processing operation in the respective method embodiments are respectively performed.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. 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 application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, 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 system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of 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, mechanical 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 addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (22)

1. A method for transmitting multicast messages, the method comprising:
a first network node respectively sends multicast join messages to at least two second network nodes to establish at least two multicast forwarding trees, wherein the second network nodes are previous hop nodes of the first network node in the direction of a convergent point;
the first network node receives a first multicast message sent by multicast source equipment through the at least two multicast forwarding trees respectively;
and the first network node forwards one of the at least two first multicast messages to multicast receiving equipment connected with the first network node.
2. The method of claim 1, wherein the first network node forwards one of the at least two first multicast packets to a multicast receiving device connected to the first network node, comprising:
the first network node acquires the identifier of the first multicast message;
if the first network node does not find the identifier in a local database, the first network node saves the identifier in the local database and forwards the first multicast message to the multicast receiving equipment;
and if the identifier is found in a local database by the first network node, the first network node discards the first multicast message.
3. The method of claim 2, wherein the identifier is a sequence number, and wherein the sequence number is an order of the first multicast packet in a multicast data stream.
4. The method according to any of claims 1-3, wherein before the first network node sends the multicast join packet to the at least two second network nodes, respectively, the method further comprises:
and the first network node receives a membership report message sent by the multicast receiving equipment, wherein the membership report message is used for indicating the multicast receiving equipment to request to join a multicast group.
5. The method according to any of claims 1-3, wherein the first network node sends multicast join packets to the at least two second network nodes, respectively, comprising:
the first network node determines the at least two second network nodes in the direction of the rendezvous point according to an equivalent routing protocol;
and the first network node respectively sends the multicast adding message to the at least two second network nodes.
6. A method for transmitting multicast messages, the method comprising:
a first network node respectively sends multicast join messages to at least two second network nodes, wherein the second network nodes are previous hop nodes of the first network node in the direction of a convergent point;
the at least two second network nodes establish respective multicast forwarding trees respectively according to the multicast adding messages;
the first network node receives a first multicast message issued by multicast source equipment through the multicast forwarding trees respectively established by the at least two second network nodes;
and the first network node forwards one of the at least two first multicast messages to a multicast receiver connected with the first network node.
7. The method of claim 6, further comprising:
the at least two second network nodes are configured not to perform querier elections or designated router elections.
8. The method according to claim 6, wherein the first network node sends multicast join packets to the at least two second network nodes, respectively, comprising:
the first network node determines the at least two second network nodes in the direction of the rendezvous point according to an equivalent routing protocol;
and the first network node respectively sends the multicast adding message to the at least two second network nodes of the previous hop.
9. The method according to any one of claims 6 to 8, wherein the forwarding, by the first network node, one of the at least two first multicast packets to a multicast receiving device connected to the first network node comprises:
the first network node acquires the identifier of the first multicast message;
if the first network node does not find the identifier in a local database, the first network node saves the identifier in the local database and forwards the first multicast message to the multicast receiving equipment;
and if the identifier is found in a local database by the first network node, the first network node discards the first multicast message.
10. The method of claim 9, wherein the identifier is a sequence number, and wherein the sequence number is an order of the first multicast packet in a multicast data stream.
11. The method according to any of claims 6-8, wherein before the first network node sends multicast join packets to the at least two second network nodes, respectively, further comprising:
and the first network node receives a membership report message sent by the multicast receiving equipment, wherein the membership report message is used for indicating the multicast receiving equipment to request to join a multicast group.
12. A network device for transmitting multicast messages, the network device comprising:
a sending unit, configured to send multicast join packets to at least two second network devices respectively to establish at least two multicast forwarding trees, where the second network devices are previous-hop nodes of the network devices in a rendezvous point direction;
a receiving unit, configured to receive a first multicast packet sent by a multicast source device through the at least two multicast forwarding trees, respectively;
and the forwarding unit is used for forwarding one of the at least two first multicast messages to the multicast receiving equipment connected with the network equipment.
13. The network device of claim 12, wherein the forwarding unit is specifically configured to:
acquiring an identifier of the first multicast message;
if the identifier is not found in the local database, the forwarding unit saves the identifier in the local database, and forwards the first multicast message to the multicast receiving device;
and if the identifier is found in the local database, the forwarding unit discards the first multicast message.
14. The network device of claim 13, wherein the identifier is a sequence number, and wherein the sequence number is an order of the first multicast packet in a multicast data stream.
15. The network device of any of claims 12-14, wherein the receiving unit is further configured to:
and receiving a membership report message sent by the multicast receiving equipment, wherein the membership report message is used for indicating the multicast receiving equipment to request to join a multicast group.
16. The network device according to any of claims 12 to 14, wherein the sending unit is specifically configured to:
determining the at least two second network devices in the direction of the rendezvous point according to an equivalent routing protocol;
and respectively sending the multicast adding message to the at least two second network devices.
17. A system for transmitting multicast messages, the system comprising a first network device and at least two second network devices,
the first network device is configured to send multicast join packets to the at least two second network devices, respectively, where the second network devices are previous-hop nodes of the first network device in a rendezvous point direction;
the at least two second network devices are respectively used for establishing respective multicast forwarding trees according to the multicast joining message;
the first network device is further configured to receive a first multicast packet sent by a multicast source device through multicast forwarding trees respectively established by the at least two second network devices;
the first network device is further configured to forward one of the at least two first multicast messages to a multicast receiver connected to the first network device.
18. The system of claim 17, wherein the at least two second network devices are further configured to not perform querier elections or router elections.
19. The system of claim 17, wherein the first network device is specifically configured to:
determining the at least two second network devices in the direction of the rendezvous point according to an equivalent routing protocol;
and respectively sending the multicast adding message to the at least two second network devices of the previous hop.
20. The system according to any of claims 17-19, wherein the first network device is specifically configured to:
acquiring an identifier of the first multicast message;
if the identifier is not found in a local database, the first network device saves the identifier in the local database, and forwards the first multicast message to the multicast receiving device;
and if the identifier is found in the local database, the first network equipment discards the first multicast message.
21. The system of claim 20, wherein the identifier is a sequence number, and wherein the sequence number is an order of the first multicast packet in a multicast data stream.
22. The system of any of claims 17-19, wherein the first network device is further configured to:
and receiving a membership report message sent by the multicast receiving equipment, wherein the membership report message is used for indicating the multicast receiving equipment to request to join a multicast group.
CN201780093673.8A 2017-10-18 2017-10-18 Method, network equipment and system for transmitting multicast message Active CN110999230B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/106747 WO2019075674A1 (en) 2017-10-18 2017-10-18 Multicast packet transmission method, network device, and system

Publications (2)

Publication Number Publication Date
CN110999230A CN110999230A (en) 2020-04-10
CN110999230B true CN110999230B (en) 2021-06-01

Family

ID=66173016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780093673.8A Active CN110999230B (en) 2017-10-18 2017-10-18 Method, network equipment and system for transmitting multicast message

Country Status (2)

Country Link
CN (1) CN110999230B (en)
WO (1) WO2019075674A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822097B (en) * 2019-11-15 2024-06-18 华为技术有限公司 Message forwarding method, first network device and first device group
CN113765815B (en) * 2020-06-05 2024-03-26 华为技术有限公司 Method, equipment and system for sharing multicast message load
CN114205287B (en) * 2021-12-17 2024-03-19 锐捷网络股份有限公司 Multicast receiver information collection method and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468370A (en) * 2013-09-24 2015-03-25 杭州华三通信技术有限公司 Multicast data message transmitting method and device
CN106330731A (en) * 2016-09-12 2017-01-11 北京交通大学 Wireless Ad hoc network multicast tree establishing method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101827025A (en) * 2010-04-02 2010-09-08 华为技术有限公司 Communication network multicast protection method, system and device
CN103178976A (en) * 2011-12-22 2013-06-26 迈普通信技术股份有限公司 Method for multicast tree establishment and fault restoration
CN104518889A (en) * 2013-10-08 2015-04-15 中兴通讯股份有限公司 Multicast message responding method and multicast message responding device
CN104753782B (en) * 2013-12-26 2018-07-03 华为技术有限公司 A kind of method and apparatus that message is sent in transparent interconnection of lots of links interconnect TRILL network
CN105812259B (en) * 2014-12-31 2019-05-07 新华三技术有限公司 A kind of message forwarding method and equipment
CN106161248B (en) * 2015-04-27 2019-03-29 新华三技术有限公司 Message forwarding method and device in a kind of VXLAN network
US10104139B2 (en) * 2016-03-31 2018-10-16 Juniper Networks, Inc. Selectively signaling selective tunnels in multicast VPNs
CN106059962B (en) * 2016-06-07 2019-09-17 新华三技术有限公司 The retransmission method and device of multicast message in a kind of SPBM network
CN106933989B (en) * 2017-02-22 2021-01-05 深圳云视融通科技有限公司 System and method for publishing information on network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468370A (en) * 2013-09-24 2015-03-25 杭州华三通信技术有限公司 Multicast data message transmitting method and device
CN106330731A (en) * 2016-09-12 2017-01-11 北京交通大学 Wireless Ad hoc network multicast tree establishing method

Also Published As

Publication number Publication date
WO2019075674A1 (en) 2019-04-25
CN110999230A (en) 2020-04-10

Similar Documents

Publication Publication Date Title
JP3942033B2 (en) Multicast method in a network for point-to-point packet switching
US9871718B2 (en) Method and device for registering multicast source and establishing multicast path
EP3451596A1 (en) Multicast flow overlay using registration over a reliable transport
JP5462360B2 (en) Method and apparatus at multiple rendezvous points for co-processing multicast traffic from mobile multicast sources
US20060187950A1 (en) Architecture and provisioning tools for managed multicast virtual private LAN trees
US20120099422A1 (en) Fast convergence method, router, and communication system for multicast
US20120014309A1 (en) Wireless communication apparatus, wireless network system, data transfer method, and recording medium
US9203631B2 (en) Multicast distribution trees for mRSVP-TE based multicast virtual private networks
US8611346B1 (en) Multicast sparse-mode source redundancy
EP2989755B1 (en) Efficient multicast delivery to dually connected (vpc) hosts in overlay networks
WO2006063513A1 (en) A method for realizing multicasting in a virtual private network using a virtual router
US9160683B2 (en) Providing PIM-SSM support for MRSVP-TE based multicast virtual private networks
WO2010111956A1 (en) Method and system for multicast-forwarding-path convergence
CN110999230B (en) Method, network equipment and system for transmitting multicast message
CN102598586A (en) Method and devices for dealing multicast
KR101206415B1 (en) Method of sending a multipoint stream in a local area network and connection device implementing the method
US20230155921A1 (en) Multicast packet sending method, apparatus, and system
WO2012103748A1 (en) Multicast control method, routing device and multicast system
WO2020168982A1 (en) Method for sending and obtaining assert message and network node
JP4431173B2 (en) Source-specific multicast routing method
CN114915588B (en) Upstream multicast hop UMH extension for anycast deployment
CN105099907B (en) Path detection method, sink node device and communication system
Wang The MVPN Technology Study Report Based on Rosen Draft
JP2008244533A (en) Data transmission method, terminal device, and node
Hassan Explicit Multicast Routing

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