A multicast method, apparatus and equipment

By flooding multicast receiver and multicast source information across the entire network and utilizing the ISIS protocol module to quickly establish multicast entries, the problem of long multicast establishment time is solved, and multicast efficiency and performance are improved.

CN118474021BActive Publication Date: 2026-05-05NEW H3C TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NEW H3C TECH CO LTD
Filing Date
2024-05-24
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

Existing multicast methods have excessively long multicast setup and exit processes, slow multicast convergence speed, and low multicast efficiency and performance.

Method used

By using the ISIS protocol module to flood multicast receiver and multicast source information across the entire network, multicast entries can be quickly established, reducing the time required to establish multicast transfer tables and improving the efficiency of multicast path creation and convergence.

Benefits of technology

It enables rapid creation of multicast entries, reduces the time required to create multicast stream tables, and improves the efficiency of multicast path creation and convergence.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118474021B_ABST
    Figure CN118474021B_ABST
Patent Text Reader

Abstract

This invention provides a multicast method, apparatus, and device to solve the multicast efficiency problem. In this invention, the multicast protocol module in the router directly connected to the multicast receiver interacts with the routing protocol module to flood the multicast receiver information across the entire network, making the entire network aware of the multicast receiver's arrival. This allows routers on the optimal path within the network to quickly establish (*, G) multicast entries based on the multicast receiver information. After receiving a multicast stream, the designated router (DR) floods the multicast source message across the entire network through the routing protocol module, making the entire network aware of the multicast source traffic generation. This allows routers on the optimal path within the network to quickly establish (S, G) multicast entries. This invention reduces the time spent establishing the shared tree and the time spent establishing the multicast stream forwarding table, thereby improving the efficiency of multicast path creation and convergence.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication technology, and in particular to a multicast method, apparatus, and device. Background Technology

[0002] IP (Internet Protocol) multicast refers to the technology of sending data packets in a best-effort manner to a specific subset of nodes in an IP network. This subset is called a multicast group. IP multicast technology can be used to implement various network services, such as live online streaming, IPTV, distance education, and real-time video conferencing.

[0003] Figure 1 This is a schematic diagram of a typical multicast network structure. S1 acts as the multicast source, sending multicast messages; G1 acts as the multicast receiver, receiving multicast messages; and A1, B1, C1, D1, and E1 act as multicast domains, forwarding multicast messages. As a receiver, G1 needs to send an Internet Group Management Protocol (IGMP) message to E1, sending an IGMP(*, G) report message to node E1, requesting data from multicast group G (i.e., the multicast stream). After receiving the IGMP(*, G) report, node E1 generates a Protocol Independent Multicast (PIM) entry, namely the PIM(*, G) entry, adds an outgoing interface, and searches for the upstream node based on the address of the aggregation point, node B1. The PIM lookup result indicates that the upstream node on the primary path is node D1. Node E1 sends a PIM (*, G) Join message to node D1, triggering PIM-SM (Protocol Independent Multicast-Sparse Mode) to build the primary shared tree. After receiving the PIM (*, G) Join, node D1 generates a (*, G) entry, adds an outgoing interface, and continues to send PIM (*, G) Join messages hop-by-hop to the sink node B1. Similarly, after receiving the PIM (*, G) Join, node C1 also generates a (*, G) entry, adds an outgoing interface, and continues to send PIM (*, G) Join messages hop-by-hop to the sink node B1. Node B1 receives the PIM (*, G) Join from node C1, and then generates a (*, G) entry and adds an outgoing interface.

[0004] Node S1, acting as the source node of multicast group G, sends a unicast register message to the RP (Rendezvous Point). RP node B1 creates a PIM (S, G) entry and adds the (*, G) outgoing interface as the outgoing interface of (S, G), forwarding the multicast stream to node C1 through this outgoing interface. Node C1 receives the multicast stream, creates a PIM (S, G) entry based on the received multicast stream, adds the existing (*, G) outgoing interface as the outgoing interface of (S, G), and continues to forward the multicast stream downstream, such as to node D1. Node D1 receives the multicast stream from node C1 on the main path, creates a PIM (S, G) forwarding entry based on the received multicast stream, adds the existing (*, G) outgoing interface as the outgoing interface of (S, G), and forwards the multicast stream to its downstream receiver E1. Node E1 is directly connected to the receiver, receives the multicast stream from node D1 on the main path, creates a PIM (S, G) forwarding table entry based on the received multicast stream, adds the existing (*, G) outgoing interface as the outgoing interface of (S, G), and forwards the multicast stream to the receiver of its downstream G1.

[0005] The process of leaving a multicast group is as follows: G1 sends an IGMP leave message. After receiving the message, E1 deletes the downlink interfaces (*,G) and (S,G) of the multicast forwarding table, sends a PIM prune message to D1, and after receiving the prune message, D1 deletes the downlink interfaces (*,G) and (S,G) of the multicast forwarding table, sends a PIM prune message to C1, and after receiving the message, C1 deletes the downlink interfaces (*,G) and (S,G) of the multicast forwarding table, sends a PIM prune message to B1, and after receiving the message, B1 deletes the downlink interfaces (*,G) and (S,G) of the multicast forwarding table, sends a PIM prune message to A1, and after receiving the message, A1 deletes the downlink interfaces (*,G) and (S,G) of the multicast forwarding table.

[0006] As can be seen from the above multicast establishment and exit process, the Join and Prune messages of the PIM message in multicast are transmitted one by one, which causes the G1 of multicast to take a long time to receive the multicast stream after sending the IGMP message (this includes several time-consuming operations).

[0007]

[0008] The total time from joining a multicast IGMP stream to the multicast stream reaching the receiver is: E1(time option 01, time option 02, time option 03) + D1(time option 01, time option 02, time option 03) + C1(time option 01, time option 02, time option 03) + B1(time option 01, time option 02, time option 03) + A1(time option 01, time option 02).

[0009] The total time from multicast IGMP exit to the multicast stream being removed from the network is: E1(time option 01, time option 02, time option 03) + D1(time option 01, time option 02, time option 03) + C1(time option 01, time option 02, time option 03) + B1(time option 01, time option 02, time option 03) + A1(time option 01, time option 02).

[0010] The above protocol analysis reveals that the existing multicast setup process is too time-consuming, the multicast convergence speed is slow, and the multicast efficiency and performance are low. Summary of the Invention

[0011] In view of this, the present invention provides a multicast method, apparatus, and device for solving the multicast efficiency problem.

[0012] According to one aspect of an embodiment of the present invention, the present invention provides a multicast method, the method comprising:

[0013] When the first router (E1) of the receiver (G1) of the direct multicast group (G) receives the group report (IGMP Group Report) message sent by the multicast receiver (G1), the multicast protocol module (PIM protocol module) creates a (*,G) multicast table entry (first multicast table entry).

[0014] The multicast protocol module (PIM protocol module) of the first router provides multicast receiver information (including but not limited to the address of the multicast group, the designated router DR address and IGMP protocol related information) to the routing protocol module (ISIS protocol module).

[0015] The routing protocol module (ISIS protocol module) of the first router floods the multicast receiver information (via ISIS-IGMP Group Report message) to all routers in the network, so that all routers (E1, D1, C1, B1) on the optimal path between the first router (E1) and the multicast group meeting node RP (B1) send multicast join messages (PIM Join messages) to the next-level router (D1, C1, B1, A1).

[0016] Furthermore, the method also includes:

[0017] When the routing protocol module (ISIS protocol module) of the first router receives multicast source information (address of multicast group G, address of designated router DR and address of multicast source S) sent by the designated router DR (B1) (second designated router) (via ISIS-IGMP Source Report message) of multicast source (S), it provides the multicast source information to the multicast protocol module (PIM protocol module).

[0018] The multicast protocol module (PIM protocol module) creates a (S,G) multicast entry (second multicast entry) to the multicast receiver (G1) based on the multicast source information and the (*,G) multicast entry.

[0019] Furthermore, the routing protocol module (ISIS protocol module) of the first router calculates the optimal path between itself and the specified router DR based on the specified router DR in the multicast source information, thereby determining the ingress of the multicast stream packet; the multicast protocol module (PIM protocol module) creates the (S,G) multicast entry based on the determined ingress and the egress of the (*,G) multicast entry.

[0020] Furthermore, when the first router receives a multicast stream before creating the (S,G) multicast entry, it triggers the PIM protocol module to create the (S,G) multicast entry based on the already created (*,G) multicast entry.

[0021] According to another aspect of the embodiments of the present invention, the present invention also provides a multicast method, the method being applied to a designated router DR (A1) (first designated router) of a multicast group (G), the method comprising:

[0022] When the designated router DR (A1) of the multicast group (G) receives a multicast stream message sent by the multicast source (S1), it queries the local link-state database (LSDB) through the routing protocol module (ISIS protocol module) to determine whether there is multicast receiver information in the current domain (obtained from the received ISIS-IGMP Group Report message).

[0023] When it is determined that multicast receiver information exists, the multicast protocol module (PIM protocol module) provides multicast source information (including but not limited to the address of multicast group G, the address of the designated router DR, and the address of multicast source S) to the routing protocol module (ISIS protocol module).

[0024] The routing protocol module (ISIS protocol module) of the designated router DR (A1) floods the multicast source information (via ISIS Multicast Source Report message) to all routers in the network, so that all routers (B1, C1, D1, E1) on the optimal path between the designated router DR (A1) and the router (E1) directly connected to the multicast receiver (G1) create (S, G) multicast entries.

[0025] Furthermore, the method also includes:

[0026] If it is determined that multicast receiver information exists, the multicast protocol module (PIM protocol module) of the designated router DR (A1) will also send a multicast source registration message (PIM register message) to the meeting node RP (B1) so that the meeting node RP (B1) can create a (S,G) multicast table entry.

[0027] If it is determined that there is no multicast receiver information, the multicast protocol module (PIM protocol module) of the designated router DR (A1) will not send a multicast source registration message (PIM register message) to the meeting node RP (B1).

[0028] According to another aspect of the embodiments of the present invention, the present invention also provides a multicast method, the method comprising:

[0029] When the first router (E1) receives multicast receiver information (via ISIS-IGMP Group Report message) sent by the receiver (G1) of the direct multicast group (G) in a network-wide flooding manner, the routing protocol module (ISIS protocol module) calculates the optimal path between the meeting node (B1) connected to the specified router DR and the first router (E1) based on the multicast receiver information; it determines whether it is on the optimal path. If it is determined to be on the optimal path, it notifies the multicast protocol module (PIM protocol module) to send a multicast join (PIM Join) message to the upper-level router on the optimal path so that the upper-level router creates (*, G) entries.

[0030] Furthermore, the method also includes:

[0031] When the multicast source information (via ISISMulticast Source Report message) sent by the designated router DR (A1) of the multicast group in a network-wide flooding manner is received, the routing protocol module (ISIS protocol module) calculates the optimal path between the designated router DR and the router (E1) directly connected to the multicast receiver (G1) based on the multicast source information, determines whether it is on the optimal path, and if it is determined to be on the optimal path, determines the entry point of the multicast stream packet, and notifies the multicast protocol module (PIM protocol module) to create the (S,G) multicast entry based on the determined entry point and the exit point of the (*,G) multicast entry.

[0032] Furthermore, the method also includes:

[0033] If, upon receiving multicast source information, the routing protocol module (ISIS protocol module) determines that it is on the optimal path but does not have a (*, G) multicast entry locally, it notifies the multicast protocol module (PIM protocol module) to send a multicast join message (PIM Join) to the next-level router on the optimal path.

[0034] According to another aspect of the embodiments of the present invention, the present invention also provides a multicast device, the device comprising:

[0035] The first group management protocol module (IGMP protocol module) is used to receive group report messages sent by the receiver (G1) of the direct multicast group (G) and notify the first multicast protocol module (PIM protocol module) to create (*,G) multicast entries.

[0036] The first multicast protocol module (PIM protocol module) is used to create (*,G) multicast entries and provide multicast receiver information (including but not limited to the address of the multicast group, the address of the designated router DR, and IGMP protocol related information) to the first routing protocol module (ISIS protocol module).

[0037] The first routing protocol module (ISIS protocol module) is used to flood the network with multicast receiver information (via ISIS-IGMP Group Report message) to all routers in the network, so that all routers (E1, D1, C1, B1) on the optimal path between the first router (E1) and the multicast group meeting node RP (B1) send multicast join messages (PIM Join messages) to the next-level router (D1, C1, B1, A1).

[0038] According to another aspect of the embodiments of the present invention, the present invention also provides a multicast apparatus applied to a designated router DR (A1) of a multicast group (G), the apparatus comprising:

[0039] The second multicast protocol module (PIM protocol module) is used to receive multicast streams and forward multicast streams according to multicast table entries;

[0040] The second routing protocol module (ISIS protocol module) is used to query the local link-state database (LSDB) through the routing protocol module (ISIS protocol module) when receiving a multicast stream message sent by the multicast source (S1) to determine whether multicast receiver information exists in the current domain (obtained from the received ISIS-IGMP Group Report message); if multicast receiver information is determined to exist, multicast source information (including but not limited to the address of multicast group G, the address of the designated router DR, and the address of multicast source S) is obtained from the second multicast protocol module (PIM protocol module); and the multicast source information is notified to all routers in the network in a network-wide flood manner (through ISIS Multicast Source Report message), so that all routers (B1, C1, D1, E1) on the optimal path between the designated router DR (A1) and the router (E1) directly connected to the multicast receiver (G1) create (S, G) multicast entries.

[0041] According to another aspect of the embodiments of the present invention, the present invention also provides a multicast device, the device comprising:

[0042] The third routing protocol module (ISIS protocol module) is used to receive multicast receiver information (via ISIS-IGMP Group Report message) sent by the first router (E1) of the receiver (G1) of the directly connected multicast group (G) in a network-wide flooding manner. Based on the multicast receiver information, it calculates the optimal path between the meeting node (B1) connected to the designated router DR and the first router (E1), and determines whether it is on the optimal path. If it is determined to be on the optimal path, it notifies the third multicast protocol module (PIM protocol module).

[0043] The third multicast protocol module (PIM protocol module) is used to send a multicast join (PIM Join) message to the upstream router on the optimal path so that the upstream router can create (*, G) entries.

[0044] This invention relates to a multicast protocol module in a directly connected router that interacts with a routing protocol module. By flooding multicast receiver information across the entire network, the entire network becomes aware of the multicast receiver's arrival, enabling routers on the optimal path within the network to quickly establish (*, G) multicast entries based on this information. Similarly, a designated router (DR), upon receiving a multicast stream, floods the multicast source message across the network via the routing protocol module, making the entire network aware of the multicast source's traffic generation. This allows routers on the optimal path within the network to quickly establish (S, G) multicast entries. This invention reduces the time required to establish a shared tree and the time required to establish a multicast stream forwarding table, thereby improving the efficiency of multicast path creation and convergence. Attached Figure Description

[0045] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments of the present invention or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present invention. For those skilled in the art, other drawings can be obtained from these drawings of the embodiments of the present invention.

[0046] Figure 1 This is a schematic diagram of a typical multicast network structure;

[0047] Figure 2 This is a schematic diagram of a multicast path in one embodiment of the present invention;

[0048] Figure 3 This is a flowchart illustrating the process steps of accelerating the creation of (*, G) multicast entries through group report messages in one embodiment of the present invention;

[0049] Figure 4 This is a schematic diagram illustrating the steps of a process in which a designated router (DR) and a meeting point (RP) device send multicast registration messages and stop registration messages in an embodiment of the present invention.

[0050] Figure 5 This is a flowchart illustrating the steps of a process for accelerating the creation of (S, G) multicast entries using multicast source report messages in one embodiment of the present invention.

[0051] Figure 6 This is a schematic diagram of an electronic device structure for implementing the multicast method provided by the present invention, according to an embodiment of the present invention. Detailed Implementation

[0052] The terminology used in this embodiment of the invention is for the purpose of describing particular embodiments only and is not intended to limit the embodiments of the invention. The singular forms “a,” “the,” and “the” used in this embodiment are also intended to include the plural forms unless the context clearly indicates otherwise. Although embodiments of the invention may be described in terms such as first, second, and third, this descriptive method is only used to distinguish similar information, entities, or steps, and not to describe a specific order or sequence. For example, without departing from the scope of the embodiments of the invention, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Furthermore, in some scenarios, first information may refer to one piece of information or multiple pieces of information of the same kind. In addition, the word “if” used can be interpreted as “when…”, “when…”, or “in response to a determination.” The term “and / or” in this invention is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of this invention, unless otherwise stated, “multiple” means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can be expressed as: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0053] The specific implementation process of the present invention will be described in detail below with reference to the accompanying drawings and specific embodiments. It should be noted that the steps shown in the flowcharts of the drawings and embodiments can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowcharts, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0054] Figure 2 This is a schematic diagram of a multicast path in one embodiment of the present invention. Figure 1In the example network scenario, all routing devices are deployed with the ISIS (Intermediate System to Intermediate System) routing protocol. Device S1 is the multicast source (S) device, device A1 is the multicast designated router configured in the ISIS protocol, and device B1 is the rendezvous point (RP) device configured in the PIM (Protocol Independent Multicast) protocol. Devices C1, D1, and E1 are routers on the optimal path between the multicast source and the multicast receiver. Device G1 is the multicast receiver. In the multicast network scenario applying the multicast method provided by this invention, the routers (A1, B1, C1, D1, E1) are all deployed with ISIS protocol modules, PIM protocol modules, and IGMP protocol modules.

[0055] In this embodiment of the invention, the ISIS protocol module and the multicast protocol module can access each other via an interface. To support this feature, one embodiment of the invention provides a configuration command for the ISIS protocol, which enables the IGMP and PIM protocol access interfaces in the ISIS view. By enabling the access interfaces, the ISIS protocol can obtain multicast-related information (such as DR and RP information) from the IGMP and PIM protocol modules. The IGMP and / or PIM protocol modules can also obtain the required routing information from the ISIS protocol module, such as obtaining the optimal path from the routing device itself to the DR or RP.

[0056] Figure 2 Example routing devices A1, B1, C1, D1, and E1 all need to enable the IGMP and PIM protocol functions in the ISIS view. The purpose is to enable the IGMP and PIM protocol processes to interact with the ISIS protocol process, so that PIM can obtain multicast messages from ISIS.

[0057] ISIS is an Interior Gateway Protocol (IGP) for routing and link-state routing, used to build and maintain routing tables in computer networks. Besides ISIS, the technical solution of this invention is also applicable to other similar routing protocols such as OSPF (Open Shortest Path First).

[0058] Figure 3 This is a schematic flowchart illustrating the process steps for accelerating the creation of (*, G) multicast entries using group report messages in one embodiment of the present invention. The following uses... Figure 2Taking router E1, which is directly connected to multicast receiver G1 (IP address 20.1.1.11), as an example, the specific implementation of the multicast method provided by this invention is explained. Figure 2 The example multicast networking environment adopts Protocol Independent Multicast-Sparse Mode (PIM-SM). For other multicast modes, please refer to the embodiments of this invention for implementation, which will not be elaborated here.

[0059] Step SA1: Multicast receiver G1 sends a group report message to directly connected router E1, and router E1 establishes a (*, G) multicast table entry;

[0060] For a multicast receiver device G1 to join a multicast group (G, multicast group address is 225.0.0.1), it needs to send a group report message (IGMP Group Report) to the routing device E1. After receiving the message, E1 creates an IGMP Group entry, and at the same time, the PIM SM protocol module creates an entry (*, G).

[0061] The Internet Group Management Protocol (IGMP) is used to manage multicast membership between hosts and directly connected routers. IGMP Group entries record a host's membership in a specific multicast group. When a host joins a specific multicast group, it sends an IGMP Membership Report message to the directly connected router. The router then updates its IGMP Group entries to record which hosts are interested in which multicast groups. When router E1 receives an IGMP Group Report, it can use the IGMP protocol to know which multicast receivers on its interface have joined which multicast groups. Simultaneously, the IGMP module instructs the PIMP module to create a multicast forwarding table entry (*,G). In the (*,G) entry, the router records information about the meeting node (RP) associated with the specific multicast group.

[0062] For example, E1 learns from the IGMP Group Report message sent by G1 that device G1, connected to E1's device interface (M1) at address 20.1.1.11, has joined the multicast group at address 225.0.0.1. Simultaneously, the IGMP protocol module on E1 instructs the PIM protocol module to create a multicast forwarding table entry (*, G), i.e., (*, 225.0.0.1).

[0063] Step SA2: The PIM protocol module on E1 provides multicast receiver information to the ISIS protocol module through its interface. This multicast receiver information includes, but is not limited to: the multicast group address, the designated router DR address, IGMP protocol-related information, and the multicast source address. Different IGMP protocol versions may carry different information.

[0064] like Figure 2 For example, after the E1 PIM protocol module creates the (*, G) table entry, it sends a notification message to the ISIS protocol module through the interactive interface, notifying the ISIS protocol module that "E1's interface M1 is connected to the IGMP multicast group".

[0065] Step SA3: After obtaining the multicast receiver information, the ISIS protocol module notifies all routers in the network of the multicast receiver information through a network-wide flooding method;

[0066] In one embodiment of the present invention, a new ISIS Group Report message (ISIS-IGMP GroupReport) is added to the ISIS protocol. An example of the TLV structure carried in this message is shown in Table 1 below:

[0067] Table 1

[0068]

[0069] Step SA4: After receiving the ISIS group report message, each routing device in the network parses the message to obtain the TLV content, and determines whether it is on the optimal path between the multicast receiver's directly connected router E1 and the meeting node RP based on the local routing information of the ISIS protocol module.

[0070] In the ISIS protocol, each ISIS router maintains synchronized routing information across the entire network, thus each ISIS router has a local view of the network's routing topology. After the ISIS protocol module on E1 floods multicast receiver information across the network via ISIS-IGMP Group Report messages, all ISIS routers in the network (including A1, B1, C1, D1, E1, and other ISIS routers in the network) will receive this ISIS Group Report message. Upon receiving this message, the ISIS protocol module, based on the DR (Designated Router) address parsed from the message, the RP device address obtained from the PIM protocol module, and local routing information, uses an optimal path algorithm (e.g., Shortest Path First, SPF) to calculate the optimal path between the multicast receiver's directly connected router E1 and the determined meeting point RP device B1. After obtaining the optimal path, the router can determine whether it is on the optimal path based on its local routing information.

[0071] Step SA5: After determining that it is on the optimal path between the RP device and the router directly connected to the multicast receiver, the router sends a multicast join (PIM Join) message to the first-level router on the optimal path through the PIM protocol module.

[0072] Step SA6: If the router determines that it is not on the optimal path between the RP device and the router directly connected to the multicast receiver, it ignores the received ISIS group report message and does not process it.

[0073] For example, Figure 2 After receiving the flooded ISIS-IGMP Group Report message, D1 can calculate its optimal path between RP device B1 and E1 device directly connected to the multicast receiver. D1 then sends a multicast join message (PIM Join message) to its upstream router C1. Similarly, routers E1, D1, and C1 on the optimal path will send multicast join messages (PIM Join messages) to their respective upstream routers D1, C1, and B1. The group address in the multicast join message is the group address in the multicast identifier Group ID field of the ISIS-IGMP Group Report message.

[0074] In one embodiment of the present invention, when a link fails, each router ISIS needs to recalculate the SPF tree based on the content of the ISIS group report message to determine the optimal path. If the router's ISIS protocol module has IGMP enabled, the router needs to re-execute steps SA4 and SA5.

[0075] In one embodiment of the present invention, after the DR device A1 receives the ISIS-IGMP Group Report message flooded by E1, it indicates that a multicast receiver expects to receive the multicast stream. Since it is the DR device in the message, it will trigger the PIM protocol module of A1 to send a PIM multicast registration message to the RP device, thereby triggering the downstream routing device on the optimal path to quickly establish (S,G) multicast entries.

[0076] If A1 (the DR connecting the source device) sends a registration message to B1 (the RP device) before the multicast forwarding tree from B1 to E1 is established, B1 will send a registration stop message to A1. However, since B1 can receive ISIS-IGMP Group Report messages through the ISIS protocol module, it can detect the addition of an IGMP multicast member in advance. Therefore, B1 can quickly send a PIMJoin message to A1. This ensures that the establishment of the multicast forwarding tree from B1 (RP) to A1 (the multicast source) and the establishment of the multicast forwarding tree from E1 (the multicast receiver) to B1 (RP) can occur simultaneously, thereby reducing the time from the multicast join message to the establishment of the multicast forwarding tree and optimizing the overall multicast routing time.

[0077] By using the technical solution of the present invention, Figure 2 Routers D1, C1, and B1 will receive PIM Join messages from downstream devices and create PIM routing table (*, G) entries. The final result is the same as that created according to the traditional PIM SM (RFC 4601). However, the process of establishing the multicast join according to the technical solution of this invention is that each router calculates independently, which is a distributed computation. In contrast, the multicast join process in the traditional PIM SM (RFC 4601) is executed serially. That is, E1 sends a PIM Join message to D1, D1 completes the calculation, and then sends a PIM Join message to C1. C1 then completes the calculation and sends a PIM Join message to B1. The longer the intermediate link, the longer the time taken. The larger the device network, the slower the SPF calculation. The traditional method is also slower. The multicast method provided by this invention makes the multicast establishment process much faster. The time required for a multicast receiver to join the multicast is about 1 / N of the original time, where N is the number of routers on the multicast forwarding tree.

[0078] Figure 4 This is a schematic diagram illustrating the steps of a process in which a designated router (DR) and a meeting point (RP) device send multicast registration messages and stop registration messages, according to an embodiment of the present invention.

[0079] like Figure 2In the example, device S1 is the source node of multicast group G. After S1 receives the multicast stream, the traditional processing procedure is as follows: Device A1 sends a multicast registration message to RP device B1. Device B1 (RP device) receives the PIM Register multicast registration message, extracts the inner multicast content, and creates a PIM forwarding table (S, G) inheriting from (*, G) based on the message. After the multicast forwarding table entry (S, G) is established, B1 forwards the multicast packets forwarded by A1 to C1. B1 extracts the inner multicast data, forwards the multicast data, queries the multicast forwarding table (S, G), and the outgoing interface is the outgoing interface M7 connecting B1 to C1. The message is forwarded from M7. At the same time, B1 sends a PIM join message to the DR, i.e., the interface M10 connecting A1 to the multicast source. After receiving the PIM join message, A1 creates the (S, G) table entry. Device A1 sends multicast traffic to B1 based on the (S, G) table entry. If B1 receives a multicast registration message and finds that no multicast receiver has joined the multicast (i.e., there is no (*, G) multicast table entry locally), B1 will send a registration stop message to prevent A1 from sending registration messages frequently.

[0080] After receiving the multicast stream message from B1, C1 creates a PIM multicast entry (S, G) based on the message. The multicast entry (S, G) inherits the forwarding interface of the already established (*, G) multicast entry. The message reaches D1, which creates a PIM forwarding table (S, G) based on the message, inheriting the forwarding interface of (*, G). The message reaches E1, which is the last-hop device. E1 forwards the message to G1 via an IGMP entry. It can be seen that in the traditional process, the establishment of the multicast entry (S, G) is also carried out sequentially along the optimal path from RP to E1, and the multicast stream must pass through RP before it can be forwarded to the multicast receiver.

[0081] In the traditional approach, when a multicast receiver sends a leave message to E1, E1, upon receiving the leave message, if it finds that it no longer has a multicast receiver, deletes the downlink interface of the multicast entry and also sends a multicast pruning message (PIM prone) to the upstream router D1 of the optimal path. After receiving the PIM prone message, if D1 finds that it no longer has a multicast receiver, it will also delete the multicast forwarding downlink interface and thus send a PIM prone message to upstream C1. After receiving the PIM prone message, if C1 finds that it no longer has a multicast receiver, it will also delete the multicast forwarding downlink interface and thus send a PIMprone message to upstream B1. After receiving the PIM prone message, if B1 finds that it no longer has a multicast receiver, it will delete the multicast forwarding downlink interface and thus send a PIM prone message to upstream A1.

[0082] In the traditional pruning process, after DR device A1 performs multicast pruning based on the PIM prone message, even without a multicast receiver, device A1 can still receive the multicast stream sent by the multicast source. At this time, the (S,G) multicast table entry has no outgoing interface, but A1 will still periodically send PIM Register messages to device B1. After receiving the multicast registration message, B1 determines that it has no multicast receiver, discards the multicast registration message, and sends a registration stop message to the multicast source (all are traditional PIM protocol processes).

[0083] In one embodiment of the present invention, in order to limit the frequent sending of multicast registration messages and multicast registration stop messages between the DR and RP in the absence of multicast receivers, the PIM Sourceregister restraint function is enabled in the ISIS protocol view. After this function is enabled, the DR device A1 can detect and restrict the sending of multicast registration messages in the following manner:

[0084] Step SB01: With the energy registration restriction function enabled, the specified router DR device A1 queries the local link-state database (LSDB) via the ISIS protocol module after receiving a multicast stream packet.

[0085] Step SB02: Determine whether multicast receiver information exists in the current domain, i.e., whether an ISIS-IGMPReport message has been received;

[0086] Step SB03: If the local LSDB is queried, and the multicast group identifier carried in the TLV of the ISIS-IGMP Report message is matched, it is found that the multicast receiver information sent by the receiver-side router of multicast group G is received, indicating that there is a multicast receiver expecting to receive the multicast stream. Therefore, the PIM protocol module sends a multicast registration message to the RP device of multicast group G.

[0087] Step SB04: If no multicast receiver information is found after querying the local LSDB, it means that there is currently no multicast receiver expecting to receive the multicast stream, and therefore no multicast registration message will be sent to the RP.

[0088] By enabling the PIM Source register restraint configuration item, the DR can periodically and autonomously determine whether there are multicast receivers based on the local LSDB, and thus autonomously and accurately decide when to initiate a multicast registration message. This reduces the message interaction process where the DR of the multicast source periodically sends a registration message to the RP and the RP responds with a registration stop message when there are no multicast receivers, thereby reducing the sending of invalid multicast messages and reducing equipment overhead.

[0089] Figure 5 This is a flowchart illustrating the steps of a process in which the creation of (S, G) multicast entries is accelerated using multicast source report messages in one embodiment of the present invention.

[0090] Step SC01: When the designated router DR device A1, which is directly connected to the multicast source node (S1), receives the multicast stream packet sent by the multicast source, it queries the local link state database (LSDB) through the ISIS protocol module.

[0091] Step SC02: Determine whether multicast receiver information exists in the current domain;

[0092] In the aforementioned steps, after a multicast receiver joins a multicast group, the multicast group identifier (Group ID) is carried in the TLV of the ISIS-IGMP GroupReport message flooded by E1 to the entire network. A1 determines whether there is multicast receiver information in the current domain that has the same multicast group identifier as the multicast stream by querying the ISIS-IGMP Group Report message received in the local LSDB database.

[0093] Step SC03: When it is determined that multicast receiver information exists, the PIM protocol module provides multicast source information to the ISIS protocol module; the multicast source information includes, but is not limited to: the address of multicast group G, the address of the designated router DR, and the address of multicast source S; the ISIS protocol module notifies all routers in the network of the multicast source information through ISIS-IGMP Source Report messages in a network-wide flooding manner, so that all routers on the optimal path between A1 and the router E1 directly connected to the multicast receiver create (S, G) multicast entries.

[0094] Step SC04: When it is determined that there is no multicast receiver information, the ISIS protocol module enters a waiting state or actively sends a multicast composition message to the RP; when the ISIS protocol module detects and receives the ISIS-IGMP Group Report message, it then floods the multicast source information to all routers in the network through the ISIS-IGMP Source Report message.

[0095] When the PIM Source Register Restraint function is enabled and a multicast stream is received, the PIM protocol module of device A1 sends a PIM Multicast Source Report message to the ISIS protocol module. After parsing, the ISIS protocol module generates an ISIS Multicast Source Report message, which carries the TLV content in Table 2.

[0096] If the source registration restriction function is enabled first, and then the multicast stream is received, the PIM protocol module will directly send a Multicast Source Report message to the ISIS protocol module when the multicast stream is received by device A1. If the multicast stream is received first, and then the source registration restriction function is enabled, the PIMP protocol module will send a Multicast Source Report message to the ISIS module when the source registration restriction function is enabled.

[0097] Table 2

[0098]

[0099] Routers (e.g., B1, C1, D1, E1) that receive multicast source information sent in a network-wide flooding manner (via ISIS Multicast Source Report messages) have their routing protocol modules (ISIS protocol modules) calculate the optimal path between the specified router DR and the router (E1) directly connected to the multicast receiver (G1) in the local LSDB based on the specified router DR address in the multicast source information and the multicast receiver information (obtained from the ISIS-IGMP Group Report message), and determine whether they are on the optimal path.

[0100] If the path is determined to be on the optimal path, the entry point of the multicast stream packet can be determined based on the optimal path, and the multicast protocol module (PIM protocol module) is notified to create the (S, G) multicast entry based on the determined entry point and the exit point of the (*, G) multicast entry. If the path is not determined to be on the optimal path, the ISIS Multicast Source Report message can be ignored and no processing is required.

[0101] If router E1, which is directly connected to a multicast receiver, receives an ISIS Multicast Source Report message first, and then receives an IGMP Group Report message from multicast receiver G1, E1 determines whether the ISIS data contains multicast source information (ISIS Multicast Source Report). If it determines that multicast source information exists, it directly creates an (S, G) entry and simultaneously sends a PIM Join message to the upstream router by calculating the optimal path to the DR. Upon receiving the message, the upstream router can create a multicast (S, G) entry. If it determines that multicast source information does not exist, it does not generate an (S, G) entry, but it will still trigger the process of sending a multicast join (PIM Join) message to the upstream router device with the optimal path.

[0102] The above method allows for the rapid creation of optimal (S, G) entries from the multicast source to the multicast receiver, reducing the optimization time required for the original multicast process from the (*, G) forwarding table to the (S, G) forwarding table, thus reducing equipment overhead and improving forwarding efficiency. The entire (S, G) creation process can directly create (S, G) entries without relying on the RP (Redirect Resource Plane), thereby reducing the impact of RP link failures on multicast forwarding. The establishment of the entire (S, G) multicast forwarding tree relies on the device's distributed computing capabilities, resulting in faster convergence than traditional multicast methods. The computation time of the new method is approximately 1 / N of the original, where N is the number of routers in the forwarding tree (routers include all routers in the forwarding tree from the source to the receiver).

[0103] Figure 6 This is a schematic diagram of an electronic device 600 for implementing the multicast method provided by the present invention, according to an embodiment of the present invention. The device includes a processor 610, such as a central processing unit (CPU), a communication bus 620, a communication interface 640, and a memory 630. The processor 610 and the memory 630 can communicate with each other via the communication bus 620. The memory 630 stores a computer program, which, when executed by the processor 610, implements one or more steps of the multicast method provided by the present invention.

[0104] Memory refers to a device based on a storage medium used to store computer programs and / or data. It can be volatile memory (VM, often called main memory) or non-volatile memory (NVM). Main memory refers to internal storage that directly exchanges data with the processor. It can read and write data at any time and at high speed, serving as a storage medium for temporary data of the operating system and other running programs. Main memory can be Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), etc. Non-volatile memory refers to memory that uses persistent storage media, characterized by large capacity and persistent data retention. It can be Storage Class Memory (SCM), Solid State Drive (SSD), NAND flash memory, hard disks, etc. SCM is an industry term for a new type of storage medium that falls between main memory and flash memory. It is a composite storage technology that combines the characteristics of persistent storage and main memory, with access speeds slower than DRAM but faster than SSDs.

[0105] The processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0106] It should be recognized that embodiments of the present invention can be implemented or carried out by computer hardware, a combination of hardware and software, or by computer instructions stored in non-transitory (or non-persistent) memory. The method can be implemented using standard programming techniques, including a non-transitory storage medium configured with a computer program within the computer program, wherein such a storage medium causes the computer to operate in a specific and predefined manner. Each program can be implemented in a high-level procedural or object-oriented programming language to communicate with the computer system. However, if desired, the program can be implemented in assembly or machine language. In any case, the language can be a compiled or interpreted language. Furthermore, for this purpose, the program can run on a programmed application-specific integrated circuit. Furthermore, the operations of the processes described in this invention can be performed in any suitable order unless otherwise indicated by the invention or otherwise clearly contradicted by the context. The processes described in this invention (or variations and / or combinations thereof) can be executed under the control of one or more computer systems configured with executable instructions and can be implemented by hardware or a combination thereof as code (e.g., executable instructions, one or more computer programs, or one or more applications) that commonly executes on one or more processors. The computer program includes a plurality of instructions executable by one or more processors.

[0107] Furthermore, the method can be implemented in any suitable type of computing platform, including but not limited to personal computers, minicomputers, mainframes, workstations, networked or distributed computing environments, standalone or integrated computer platforms, or in communication with charged particle tools or other imaging devices. Aspects of the invention can be implemented as machine-readable code stored on a non-transitory storage medium or device, whether removable or integrated into a computing platform, such as a hard disk, optical read and / or write storage medium, RAM, ROM, etc., such that it is readable by a programmable computer, and when the storage medium or device is read by the computer, it can be used to configure and operate the computer to perform the processes described herein. Furthermore, the machine-readable code, or portions thereof, can be transmitted via wired or wireless networks. The invention includes these and other different types of non-transitory computer-readable storage media when such media comprises instructions or programs that implement the steps described above in conjunction with a microprocessor or other data processor. When programmed according to the methods and techniques described in the invention, the invention also includes the computer itself.

[0108] The above description is merely an embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of the present invention should be included within the scope of protection of the present invention.

Claims

1. A multicast method, characterized in that, The method includes: When the first router of a directly connected multicast group receives a group report message sent by the multicast receiver, the multicast protocol module creates the first multicast entry. The multicast protocol module of the first router provides the multicast receiver information, including the address of the multicast group, the designated router DR address, and IGMP protocol-related information, to the routing protocol module. The routing protocol module of the first router floods the multicast receiver information to all routers in the network, so that all routers on the optimal path between the first router and the multicast meeting node RP can send multicast join messages to the next-level router.

2. The method according to claim 1, characterized in that, The method further includes: When the routing protocol module of the first router receives multicast source information, including the address of the multicast group, the address of the designated router DR, and the address of the multicast source, sent by the second designated router DR of the multicast source, it provides the multicast source information to the multicast protocol module. The multicast protocol module creates a second multicast entry for the multicast receiver based on the multicast source information and the first multicast entry.

3. The method according to claim 2, characterized in that, The routing protocol module of the first router calculates the optimal path between itself and the specified router DR based on the specified router DR in the multicast source information, thereby determining the entry point of the multicast stream packet; The multicast protocol module creates the second multicast entry based on the determined ingress and the egress of the first multicast entry.

4. The method according to claim 1, characterized in that, If the first router receives a multicast stream before creating the second multicast entry, it triggers the PIM protocol module to create the second multicast entry based on the already created first multicast entry.

5. A multicast method, characterized in that, This method is applied to the first designated router (DR) of a multicast group, and the method includes: When the first designated router (DR) of a multicast group receives a multicast stream packet sent by the multicast source, it queries the local link-state database through the routing protocol module to determine whether there is multicast receiver information in the current domain, and obtains it from the received ISIS-IGMP Group Report message. When it is determined that multicast receiver information exists, the multicast protocol module provides the multicast source information, including the address of multicast group G, the address of the designated router DR, and the address of multicast source S, to the routing protocol module. The routing protocol module of the first designated router (DR) floods the multicast source information to all routers in the network, so that all routers on the optimal path between the first designated router (DR) and the router directly connected to the multicast receiver can create a second multicast entry.

6. The method according to claim 5, characterized in that, The method further includes: If it is determined that multicast receiver information exists, the multicast protocol module of the first designated router DR will also send a multicast source registration message to the meeting node RP so that the meeting node RP can create a second multicast entry. If it is determined that there is no multicast receiver information, the multicast protocol module of the first designated router (DR) will not send a multicast source registration message to the meeting node (RP).

7. A multicast method, characterized in that, The method includes: When the first router receives multicast receiver information from the receiver of the directly connected multicast group via a network-wide flooding method, the routing protocol module calculates the optimal path between the meeting node connected to the designated router DR and the first router based on the multicast receiver information; it determines whether it is on the optimal path. If it is determined to be on the optimal path, it notifies the multicast protocol module to send a multicast join message to the upstream router on the optimal path so that the upstream router can create the first entry.

8. The method according to claim 7, characterized in that, The method further includes: When the routing protocol module receives multicast source information sent by the first designated router (DR) of the multicast group in a network-wide flooding manner, it calculates the optimal path between the designated router (DR) and the router directly connected to the multicast receiver based on the multicast source information, determines whether it is on the optimal path, and if it is determined to be on the optimal path, it determines the entry point of the multicast stream packet and notifies the multicast protocol module to create a second multicast entry based on the determined entry point and the exit point of the first multicast entry.

9. The method according to claim 8, characterized in that, The method further includes: If, upon receiving multicast source information, the routing protocol module determines that it is on the optimal path but does not have a first multicast entry locally, it notifies the multicast protocol module to send a multicast join message to the upstream router of the optimal path.

10. A multicast device, characterized in that, The device includes: The first group management protocol module is used to receive group report messages sent by the receivers of the direct multicast group and notify the first multicast protocol module to create the first multicast table entry. The first multicast protocol module is used to create the first multicast table entry and provide the multicast receiver information, including the address of the multicast group, the address of the designated router DR, and IGMP protocol-related information, to the first routing protocol module. The first routing protocol module is used to notify all routers in the network of multicast receiver information in a network-wide flooding manner, so that all routers on the optimal path between the first router and the multicast group meeting node RP send multicast join messages to the next-level router.

11. A multicast device, characterized in that, This device is applied to the first designated router (DR) of a multicast group, and the device includes: The second multicast protocol module is used to receive multicast streams and forward multicast streams according to multicast table entries. The second routing protocol module is used to query the local link-state database through the routing protocol module when receiving multicast stream packets sent by the multicast source to determine whether multicast receiver information exists in the current domain. If multicast receiver information is determined to exist, the module obtains multicast source information from the second multicast protocol module, including the address of the multicast group, the address of the designated router DR, and the address of the multicast source. The module then floods the multicast source information to all routers in the network, so that all routers on the optimal path between the first designated router DR and the router directly connected to the multicast receiver can create a second multicast table entry.

12. A multicast device, characterized in that, The device includes: The third routing protocol module is used to receive multicast receiver information sent by the first router of the directly connected multicast group in a network-wide flooding manner, calculate the optimal path between the meeting node connected to the designated router DR and the first router based on the multicast receiver information, and determine whether it is on the optimal path; if it is determined to be on the optimal path, it notifies the third multicast protocol module. The third multicast protocol module is used to send a multicast join message to the upstream router on the optimal path, so that the upstream router can create the first entry.

13. An electronic device, characterized in that, It includes a processor, a communication interface, a storage medium, and a communication bus, wherein the processor, the communication interface, and the storage medium communicate with each other through the communication bus; Storage medium used to store computer programs; A processor, when executing a computer program stored on a storage medium, implements the method of any one of claims 1-9.

14. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it performs the method as described in any one of claims 1 to 9.

Citation Information

Patent Citations

  • Method and apparatus for routing multicast data

    CN103346968A

  • Method, device and system for creating bidirectional multicast distribution trees on basis of interior gateway protocol

    CN103546381A