A data transmission method and device, electronic equipment and storage medium
By enabling multicast receiver-side devices in PIM-SM networks to immediately send passive and active join messages after receiving multicast group report messages, multicast tables can be quickly established, solving the problem of slow multicast table establishment and improving the forwarding efficiency of multicast data.
Patent Information
- Application Number
- CN202211441953.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-17
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2042-11-17
AI Technical Summary
Under the existing PIM-SM mechanism, the multicast table establishment speed of multicast receivers is too slow, which affects the forwarding efficiency of multicast data.
After receiving the multicast group report message, the multicast receiver-side device immediately sends a passive join message through the upstream interface in the passive multicast table, and creates a passive multicast table when necessary to quickly establish a shared tree; at the same time, if an active multicast table is available, it immediately sends an active join message through the upstream interface in the active multicast table to accelerate the establishment of the shortest path tree.
By quickly establishing multicast tables, the forwarding efficiency of multicast data is improved, and the latency and delay of multicast data transmission are reduced.
Smart Images

Figure CN116192728B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of multicast, and in particular to a data transmission method and device, electronic equipment and storage medium. BACKGROUND
[0002] PIM-SM (Protocol Independent Multicast-Sparse Mode) is a multicast protocol in sparse mode, which can provide a better multicast data transmission channel for a communication network with a large scale and a large number of scattered multicast receivers.
[0003] In the existing communication network under the PIM-SM mechanism, the multicast receiver side DR (Designated Router) connected to the multicast receiver, after obtaining the IGMP (Internet Group Management Protocol) Report message sent by the multicast receiver and determining that the output interface exists, waits to send the Join message to the upstream device after the periodic timing mechanism of the (J, P) timer ends.
[0004] However, such a message transmission method often leads to slow establishment of the multicast table in the PIM-SM network, and further affects the forwarding efficiency of the multicast data. SUMMARY
[0005] The present application provides a data transmission method and device, electronic equipment and storage medium to solve the problem of low multicast data forwarding efficiency.
[0006] According to an aspect of the present application, a data transmission method is provided, applied to a multicast receiver side device under a sparse mode independent multicast protocol, comprising:
[0007] In response to obtaining a multicast group report message sent by a first host device, determining a matched first multicast group according to the multicast group report message;
[0008] Determining whether the multicast receiver side device has a passive multicast table of the first multicast group;
[0009] If it is determined that the passive multicast table is available, a passive join message is sent through a first upstream interface in the passive multicast table.
[0010] According to another aspect of the present application, a data transmission device is provided, applied to a multicast receiver side device under a sparse mode independent multicast protocol, comprising:
[0011] a multicast group obtaining module, configured to determine a matched first multicast group according to the multicast group report message in response to obtaining the multicast group report message sent by the first host device;
[0012] a passive multicast table judging module, configured to judge whether the multicast receiver side device has a passive multicast table of the first multicast group;
[0013] a passive joining message sending module, configured to send a passive joining message through a first upstream interface in the passive multicast table if it is determined that the passive multicast table is available.
[0014] According to another aspect of the present application, an electronic device is provided, which comprises at least one processor and a memory connected with the at least one processor in communication; wherein the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the data transmission method according to any one of the embodiments of the present application.
[0015] According to another aspect of the present application, a computer readable storage medium is provided, which stores computer instructions for enabling a processor to execute the data transmission method according to any one of the embodiments of the present application when executed by the processor.
[0016] The technical solution of the embodiments of the present application determines a matched first multicast group according to a multicast group report message in response to obtaining the multicast group report message sent by a first host device, and sends a passive joining message through a first upstream interface in a passive multicast table of the first multicast group if it is determined that the multicast receiver side device has the passive multicast table, thereby quickly guiding multicast data from a convergence point to the multicast receiver side device, accelerating the establishment of an active multicast table and a shortest path tree, and improving the forwarding efficiency of multicast data.
[0017] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present application, nor is it used to limit the scope of the present application. Other features of the present application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.
[0019] Figure 1A is a flowchart of a data transmission method provided by the first embodiment of the present application;
[0020] Figure 1A is a structural schematic diagram of a PIM-SM based topology network provided by the embodiment one of the present application;
[0021] Figure 2A is a flow chart of a data transmission method provided by the embodiment two of the present application;
[0022] Figure 2B is a structural schematic diagram of a PIM-SM based topology network provided by the embodiment two of the present application;
[0023] Figure 2C is a topology structure schematic diagram of a PIM-SM network composed of ground network equipment and train internal network equipment provided by the specific application scenario one of the present application.
[0024] Figure 3 is a structural schematic diagram of a data transmission device provided by the embodiment three of the present application;
[0025] Figure 4 is a structural schematic diagram of an electronic device for implementing the data transmission method of the embodiment of the present application. DETAILED DESCRIPTION
[0026] In order to make the personnel in the technical field better understand the present application scheme, the technical scheme in the embodiment of the present application will be described clearly and completely below in combination with the drawings in the embodiment of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by the person skilled in the art without creative labor should belong to the scope of protection of the present application.
[0027] It should be noted that the terms "first", "second" and the like in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not necessarily limit to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0028] Embodiment one
[0029] Figure 1AA flowchart of a data transmission method provided for the first embodiment of the present application, the embodiment can be applicable to sending a passive join message immediately when a multicast group report message is acquired and it is judged that there is a passive multicast table, the method can be executed by a data transmission device, the data transmission device can be realized in the form of hardware and / or software, and the data transmission device can be configured in an electronic device such as a switch or a router under a sparse mode independent multicast protocol. As shown in FIG. 1, the method comprises the following steps. Figure 1A
[0030] S101, in response to acquiring a multicast group report message sent by a first host device, determining a matched first multicast group according to the multicast group report message.
[0031] In the PIM-SM network, each network device (for example, a switch or a router) can elect a network device in the network as a rendezvous point (RP) of a multicast group through a rendezvous point election mechanism; wherein, a network device can also serve as a rendezvous point of one or more multicast groups; the rendezvous point is a root node of an RPT (shared tree) in the PIM-SM network, which divides the multicast network into two parts: one part is from the rendezvous point to a multicast receiver, and the other part is from a multicast source to the rendezvous point; the rendezvous point can also be pre-configured through a static designated manner; in the embodiment of the present application, the acquisition manner of the rendezvous point is not limited.
[0032] Meanwhile, each network device in the PIM-SM network can also elect a DR (Designated Router, designated router) device located on the side of the multicast receiver, i.e., a multicast receiver side device, and a DR device located on the side of the multicast source, i.e., a multicast source side device, through a DR election mechanism; wherein, the multicast receiver side device is in communication connection with a multicast member, and is used to send a passive join message of a passive multicast group to the rendezvous point, i.e., a (*, G) table Join message; the multicast source side device is in communication connection with a multicast source, and is used to send a unicast Register message to the rendezvous point; in the embodiment of the present application, the election manners of the multicast receiver side device and the multicast source side device are not limited.
[0033] The multicast receiver side device sends a multicast group query message (i.e., an IGMP Query message) according to a sending period of the multicast group query message. If a host device (i.e., a first host device) connected to the multicast receiver side device needs to join a certain multicast group to obtain multicast messages under the multicast group or has joined a certain multicast group and needs to continue to obtain multicast messages under the multicast group, the host device sends a multicast group report message (i.e., an IGMP Report message) to the multicast receiver side device, and the host device becomes a multicast receiver of the multicast group. The multicast receiver side device determines information of a multicast group (i.e., a first multicast group) that the first host device wants to obtain multicast messages from according to the multicast group report message when the multicast receiver side device obtains the multicast group report message sent by the first host device.
[0034] S102, determining whether the multicast receiver side device has a passive multicast table of the first multicast group.
[0035] The passive multicast table, i.e., a (*, G) table, exists in a shared tree and indicates a state of a certain multicast group in the shared tree. The multicast source can be any multicast source. The multicast receiver side device generates the passive multicast table locally, sends a passive join message to a rendezvous point, and each network device along the way establishes a multicast routing entry of (*, G), thereby forming a shared tree with the rendezvous point as a root. As shown in Figure 1B Switch A, switch C, and switch F are elected as a multicast source side device, a rendezvous point, and a multicast receiver side device, respectively. The passive multicast table exists in a shared tree composed of switch C, switch E, and switch F.
[0036] The active multicast table, i.e., an (S, G) table, indicates a multicast data stream. S indicates an IP address of a multicast source that sends multicast data, and G indicates a destination address, i.e., a multicast group address, of the multicast data. Still taking Figure 1B Switch A, switch B, and switch C form a data transmission channel from the rendezvous point to the multicast source, and switch C, switch E, and switch F form a shared tree from the rendezvous point to the multicast receiver, thereby forming a multicast data transmission path composed of switch A, switch B, switch C, switch E, and switch F.
[0037] Meanwhile, after the multicast receiver side device obtains the multicast data through the transmission path, the multicast receiver side device generates an active multicast table locally, selects a shortest path tree from the shared tree to the multicast source side device as a root, and specifically sends a Join message, i.e., an active join message, to the multicast source side device. Each network device along the way establishes a multicast routing entry of (S, G), thereby forming a shortest path tree with the multicast source side device as a root. As shown in Figure 1BAs shown, a shortest path tree is formed by switch A, switch D, switch E and switch F; the active multicast table exists in the shortest path tree formed by switch A, switch D, switch E and switch F.
[0038] S103, if it is determined that the passive multicast table is available, a passive join message is sent through a first upstream interface in the passive multicast table.
[0039] When the multicast receiver side device determines that it has the passive multicast table, it indicates that the shared tree rooted at the rendezvous point has been created; if the multicast receiver side device determines that it does not have the active multicast table at the same time, it indicates that the shortest path tree rooted at the multicast source side device has not been created; the upstream interface is an interface through which multicast data sent by the multicast source or the rendezvous point can be obtained; the first upstream interface is an interface through which multicast data sent by the rendezvous point can be obtained, i.e., an interface between the multicast receiver side device and an upstream adjacent network device in the shared tree. Figure 1B For example, the first upstream interface is a communication channel between switch F and switch E.
[0040] In the prior art, after the multicast receiver side device obtains the IGMP Report message, it needs to wait until the current timing ends based on the periodic timing mechanism of the (J, P) timer (for example, the timing time is 60 seconds), and then sends a passive join message to the rendezvous point through the first upstream interface, which makes it necessary to wait for 59 seconds before sending the passive join message to the rendezvous point if there is still a long time, for example, 59 seconds, to the end of the current timing, which greatly affects the forwarding efficiency of the multicast data.
[0041] The above technical solution shows that in the embodiment of the application, after the receiver side device obtains the IGMP Report message, it can determine that the output interface in the local created (*, G) table still maintains a communication state, and immediately sends a passive join message to the rendezvous point through the first upstream interface at this time, thereby quickly guiding the multicast data from the rendezvous point to the multicast receiver side device, accelerating the establishment of the active multicast table and the shortest path tree, and thereby improving the forwarding efficiency of the multicast data.
[0042] Optionally, in the embodiment of the present application, after determining that the passive multicast table is established, the method further comprises: judging whether the remaining time of the join message timer is less than or equal to a first time threshold; and if it is determined that the remaining time is less than or equal to the first time threshold, issuing a passive join message through the first upstream interface in the passive multicast table when the remaining time is zero; and the issuing of the passive join message through the first upstream interface in the passive multicast table comprises: if it is determined that the remaining time is greater than the first time threshold, issuing the passive join message through the first upstream interface in the passive multicast table.
[0043] Specifically, the first time threshold can be set to a small value, for example, 3 seconds, according to requirements. When the remaining time of the join message timer is relatively long, in order to avoid a long waiting time for issuing the passive join message, the passive join message can be immediately issued through the first upstream interface to the direction of the rendezvous point, so as to accelerate the establishment of the active multicast table, and thereby improve the forwarding efficiency of multicast data. Meanwhile, when the remaining time is relatively short, the passive join message can be ensured to be timely issued based on the message reporting mechanism of the join message timer itself without changing the message sending period, thereby reducing the complexity of message management.
[0044] Optionally, in the embodiment of the present application, after judging whether the multicast receiver side device has the passive multicast table of the first multicast group, the method further comprises: if it is determined that the passive multicast table is not established, creating the passive multicast table of the first multicast group, and obtaining an output interface and a first upstream interface corresponding to the rendezvous point of the first multicast group; adding the output interface and the first upstream interface to the passive multicast table, and issuing a passive join message through the first upstream interface.
[0045] Specifically, when the multicast receiver side device determines that it does not have the passive multicast table, it indicates that the shared tree rooted at the rendezvous point is not created. At this time, the multicast receiver side device first creates the passive multicast table, and adds an output interface and a first upstream interface corresponding to the rendezvous point of the first multicast group to the passive multicast table. The output interface is a communication interface between the multicast receiver side device and the first host device, and the first upstream interface is a communication interface between the multicast receiver side device and a network device upstream of the rendezvous point obtained according to the unicast routing table, so as to Figure 1B For example, the output interface is a communication interface between the switch F and the multicast receiver, and the first upstream interface is a communication interface between the switch F and the switch E. After the passive multicast table is created, a passive join message is immediately issued through the first upstream interface to the direction of the rendezvous point, so as to accelerate the establishment of the shared tree between the multicast receiver side device and the rendezvous point, and thereby accelerate the establishment of the active multicast table and the shortest path tree, and improve the forwarding efficiency of multicast data.
[0046] Optionally, in the embodiment of the application, the data transmission method further comprises: obtaining a matched first query period according to the load rate of the multicast receiver side device, and sending a multicast group query message based on the first query period. As described in the above technical solution, after the multicast receiver side device obtains the multicast group report message, it immediately sends a passive join message to the convergence point direction according to the existing passive multicast table or the newly created passive multicast table. Therefore, the sending frequency of the passive join message can be further improved by reducing the first query period, i.e., increasing the detection frequency of the multicast group report message, so as to speed up the establishment of the active multicast table. At the same time, since reducing the first query period increases the Central Processing Unit (CPU) load rate of the multicast receiver side device, when the CPU load rate of the multicast receiver side device is high, e.g., greater than or equal to a first load threshold, a first query period with a larger value is obtained to reduce the running load of the CPU and ensure the stable operation of the CPU. When the CPU load rate of the multicast receiver side device is low, e.g., less than the first load threshold, a first query period with a smaller value is obtained to increase the sending frequency of the passive join message and the establishment speed of the active multicast table, thereby improving the forwarding efficiency of the multicast data.
[0047] The technical solution of the embodiment of the application responds to the acquisition of the multicast group report message sent by the first host device, determines a matched first multicast group according to the multicast group report message, and if it is determined that the multicast receiver side device has a passive multicast table of the first multicast group, immediately sends a passive join message through the first upstream interface in the passive multicast table. In this way, the multicast data is quickly guided from the convergence point to the multicast receiver side device, the establishment of the active multicast table and the shortest path tree is accelerated, and the forwarding efficiency of the multicast data is improved.
[0048] Embodiment Two
[0049] Figure 2A A flowchart of a data transmission method provided for the second embodiment of the application is based on the above-mentioned embodiments and is embodied in the present embodiment. After the passive join message is sent through the first upstream interface in the passive multicast table, the present embodiment further comprises judging whether the multicast receiver side device has an active multicast table of the first multicast group. The method comprises:
[0050] S201, in response to the acquisition of the multicast group report message sent by the first host device, determining a matched first multicast group according to the multicast group report message; and performing S202.
[0051] S202, judging whether the multicast receiver side device has a passive multicast table of the first multicast group; if not, performing S203; if yes, performing S204.
[0052] S203, creating a passive multicast table of the first multicast group, and obtaining an output interface and a first upstream interface corresponding to a rendezvous point of the first multicast group, and adding the output interface and the first upstream interface into the passive multicast table; performing S204.
[0053] S204, issuing a passive join message through the first upstream interface in the passive multicast table; performing S205.
[0054] S205, judging whether the multicast receiver side device has an active multicast table of the first multicast group; if yes, performing S206; if no, performing S207.
[0055] S206, issuing an active join message through a second upstream interface in the active multicast table.
[0056] The second upstream interface is an interface through which multicast data issued by a multicast source can be obtained, and is also an interface between the multicast receiver side device and an upstream adjacent network device in a shortest path tree; the second upstream interface and the first upstream interface can be the same interface or different interfaces; for example, as shown in FIG. 2, a shared tree is composed of switches C, E and F, and the first upstream interface is an interface between the switch E and the switch F; a shortest path tree is composed of switches A, D, E and F, and the second upstream interface is an interface between the switch E and the switch F, and obviously the first upstream interface and the second upstream interface are the same interface; as another example, as shown in FIG. 3, a shared tree is composed of switches C and E, and the first upstream interface is an interface between the switch E and the switch C; a shortest path tree is composed of switches A, D and E, and the second upstream interface is an interface between the switch E and the switch D, and obviously the first upstream interface and the second upstream interface are different interfaces. Figure 1B Figure 2B As described in the above technical solution, if the multicast receiver side device determines that it has the active multicast table, it indicates that the shortest path tree with the multicast source side device as the root has been created; in a traditional technical solution, after obtaining the IGMP Report message, the multicast receiver side device also needs to wait for the end of the current timing based on the periodic timing mechanism of the (J, P) timer, and then issues an active join message to the multicast source through the second upstream interface, which may need to wait for a long time to complete the interface maintenance of the active multicast table by each network device in the shortest path tree, and also affects the forwarding efficiency of the multicast data.
[0057] As described in the above technical solution, if the multicast receiver side device determines that it has the active multicast table, it indicates that the shortest path tree with the multicast source side device as the root has been created; in a traditional technical solution, after obtaining the IGMP Report message, the multicast receiver side device also needs to wait for the end of the current timing based on the periodic timing mechanism of the (J, P) timer, and then issues an active join message to the multicast source through the second upstream interface, which may need to wait for a long time to complete the interface maintenance of the active multicast table by each network device in the shortest path tree, and also affects the forwarding efficiency of the multicast data.
[0058] The technical scheme shows that, in the embodiment of the application, after the receiver side device obtains the IGMP Report message, the output interface in the locally created (S, G) table can be used to determine that the output interface still maintains a communication state, and immediately sends a source join message to the multicast source direction through the second upstream interface, thereby accelerating the interface maintenance speed of each network device in the shortest path tree for the source multicast table, and improving the forwarding efficiency of multicast data.
[0059] Optionally, in the embodiment of the application, the sending of the source join message through the second upstream interface in the source multicast table comprises: refreshing a second timer of the output interface, and sending the source join message through the second upstream interface in the source multicast table.
[0060] Specifically, the timer of the output interface is used to record the on-off state of the output interface; when the value of the timer is not 0, it indicates that the output interface is still in a connected state; when the value of the timer is 0, it indicates that the output interface is still in a disconnected state; and each time the multicast group report message about the first multicast group is obtained, the value of the timer is refreshed, and the value of the timer is re-adjusted to a preset maximum value, and the timer continues to count down; by setting different timers for the output interface, i.e., the first timer for the source multicast table and the second timer for the source multicast table, the output interface maintenance operations of the source multicast table and the source multicast table are split, so that the abnormality of the timer in one multicast table does not affect the interface maintenance operation of the other multicast table, and at the same time, the two timers should perform the refreshing operation at the same time under normal conditions, and when the counting results of the two timers are inconsistent, i.e., one counting result is not 0 (i.e., indicating a connected state) and the other counting result is 0 (i.e., indicating a disconnected state), the output interface can be determined to be in a connected state based on the timer with the counting result not being 0, so that when one timer cannot be refreshed, the other timer can also obtain the accurate output interface state based on the normal refreshing result of the other timer, thereby providing a fault tolerance mechanism for output interface state detection.
[0061] S207, waiting for obtaining the multicast data of the first multicast group, and when the multicast data of the first multicast group is obtained, creating a source multicast table of the first multicast group, and copying the output interface in the source multicast table to the source multicast table; and performing S208.
[0062] If the passive multicast table is available but the active multicast table is not available, at the current time, only the passive multicast table needs to be maintained, that is, as described in the above technical solution, a passive join message is sent to the convergence point through the first upstream interface in the passive multicast table; at the same time, multicast data forwarded by the convergence point is waited to be acquired; when the multicast data is acquired, the active multicast table is created, and the output interface in the passive multicast table is copied to the active multicast table.
[0063] In S208, the communication state of the output interface is queried, and when it is determined that the output interface is in a connected state, an active join message is sent through the second upstream interface in the active multicast table.
[0064] After the active multicast table is created, the communication state of the output interface is determined by querying the timer value of the output interface, and when it is determined that the input interface is in a connected state, an active join message is immediately sent through the second upstream interface in the active multicast table, so as to accelerate the construction speed of the shortest path tree and the interface maintenance speed of each network device in the shortest path tree to the active multicast table, and thereby improve the forwarding efficiency of the multicast data.
[0065] The technical solution of the embodiment of the application, after sending a passive join message through the first upstream interface in the passive multicast table, if it is determined that the multicast receiver side device still has the active multicast table of the first multicast group, an active join message is sent through the second upstream interface in the active multicast table, thereby accelerating the interface maintenance speed of each network device in the shortest path tree to the active multicast table, and improving the forwarding efficiency of the multicast data.
[0066] Specific application scenario one
[0067] Figure 2C The topological structure diagram of the PIM-SM network composed of ground network devices and train internal network devices provided for the specific application scenario one of the application is shown in Figure 2C
[0068] PC1 is a multicast source, and PC2 is a multicast receiver. PC1 is connected in communication with the upper interface of the ground three-layer switch through VLAN353; the lower interface of the ground three-layer switch is connected in communication with the upper interface of the ground two-layer switch through VLAN354; link A, link B, link C and link D are all connected to VLAN354 through VLAN Trunk technology (virtual local area network trunk technology), that is, the left interface of the ground two-layer switch is connected in communication with the upper interface of the train head three-layer switch through VLAN354, via wireless AP devices AP1 and AP3.
[0069] Meanwhile, the right interface of the ground second-layer switch is connected with the upper interface of the tail third-layer switch through the wireless AP devices AP2 and AP4 via VLAN 354; the link E and the link F are connected with VLAN 2 and VLAN 10 via VLAN Trunk technology, that is, the right interface of the head third-layer switch is connected with the left interface of the in-car second-layer switch via VLAN 2 and VLAN 10; the left interface of the tail third-layer switch is connected with the right interface of the in-car second-layer switch via VLAN 2 and VLAN 10; the aggregation point and the multicast source side device are the ground third-layer switch.
[0070] In the normal working state, the VLAN 10 of the head third-layer switch is elected as the multicast receiver side device; when PC2 sends the multicast report message of the first multicast group, the head third-layer switch judges whether it has the passive multicast table of the first multicast group; if the passive multicast table does not exist at this time, the passive join message is sent through the VLAN 354 (i.e. the first upstream interface) after the passive multicast table is created, so as to accelerate the construction speed of the shared tree composed of the ground third-layer switch, the ground second-layer switch, the head third-layer switch and the in-car second-layer switch; if the passive multicast table exists at this time, the passive join message is sent through the VLAN 354 immediately, so as to quickly introduce the multicast data from the ground third-layer switch (i.e. the aggregation point), accelerate the establishment of the active multicast table, and accelerate the establishment of the shortest path tree composed of the ground third-layer switch, the ground second-layer switch, the head third-layer switch and the in-car second-layer switch, thereby improving the transmission efficiency of the multicast data forwarded to PC2.
[0071] When the active multicast table is established, the second upstream interface is VLAN 354 and the output interface is VLAN 10; when the A link is disconnected, due to the change of the route, the multicast data in the downstream will pass through the tail third-layer switch, the tail third-layer switch will establish the active multicast table with the second upstream interface of VLAN 354 and the output interface of VLAN 2, and the head third-layer switch will establish the active multicast table with the second upstream interface of VLAN 2 and the output interface of VLAN 10, so as to forward the multicast data to VLAN 10 of the in-car second-layer switch.
[0072] When the A link is restored, the route will switch back to the head third-layer switch, the head third-layer switch establishes the active multicast table with the second upstream interface of VLAN 354 and the output interface of VLAN 10; if the multicast group report message sent by PC2 is obtained at this time, since the active multicast table already exists, the active join message is sent through the second upstream interface in the active multicast table, so as to accelerate the interface maintenance speed of the active multicast table of each switch in the shortest path tree, and quickly introduce the multicast data from the ground third-layer switch, thereby improving the forwarding efficiency of the multicast data.
[0073] Meanwhile, the head three-layer switch also sends a PRUNE message to the tail three-layer switch to prune the traffic of the output interface of the tail three-layer switch; under normal circumstances, pruning denial occurs in the VLAN 354; the tail three-layer switch sends a PRUNE message to the upstream ground three-layer switch to prune the output interface of the VLAN 354; however, the head three-layer switch also receives the message, and the head three-layer switch discovers that it has the output interface VLAN 10 and sends a Join message to the upstream ground three-layer device to deny the PRUNE message of the tail three-layer switch, so as to prevent the ground three-layer switch from pruning the output interface and causing the multicast data to be unable to be transmitted.
[0074] Since the VLAN 354 and the VLAN 10 are shared networks, under the impact of data messages, the CPU load rate of the head three-layer switch can be too high. Specifically, the pruning denial mechanism requires to be completed within 3 seconds, that is, the head three-layer switch needs to reply to the Join message within 3 seconds to ensure that the ground three-layer switch does not prune the output interface thereof; when the CPU load rate of the head three-layer switch is high, or due to the multicast queue speed limit, the PRUNE message sent by the tail three-layer switch can not be processed, and the Join message is not replied to the ground three-layer switch; at this time, the ground three-layer switch erroneously prunes the output interface VLAN 354, causing the multicast data to be unable to be transmitted. In the traditional technical solution, the head three-layer switch can only wait for the expiration of the (J, P) timer to send the Join message to the upstream, and the ground three-layer switch receives the Join message to guide the multicast data to the output interface VLAN 354; the above technical solution shows that the Join message is immediately sent through the upstream interface, which can greatly speed up the introduction of the multicast data.
[0075] Meanwhile, the addition of the upstream interface VLAN 354 in the head three-layer switch is performed after the routing change is perceived, and the CPU load rate can be too high to cause the notification message to be lost, thereby causing the upstream interface not to be added, that is, the upstream interface is NULL; in addition, the PRUNE message sent by the tail three-layer switch can be abandoned due to the multicast speed limit of the head three-layer switch, so that the head three-layer switch cannot obtain the PRUNE message, and the timely sending mechanism of the Join message can enable the ground three-layer switch to more quickly establish the active multicast table after the output interface is deleted, and speed up the forwarding of the multicast data.
[0076] Embodiment three
[0077] Figure 3 A structure schematic diagram of a data transmission device provided for the embodiment three of the application is shown in FIG. 3. Figure 3 As shown in the figure, the device comprises:
[0078] The multicast group obtaining module 301 is configured to, in response to obtaining the multicast group report message sent by the first host device, determine a matched first multicast group according to the multicast group report message.
[0079] The passive multicast table judging module 302 is configured to judge whether the multicast receiver side device has a passive multicast table of the first multicast group.
[0080] The passive join message sending module 303 is configured to, if it is determined that the passive multicast table is available, send a passive join message through a first upstream interface in the passive multicast table.
[0081] The technical scheme of the embodiment of the application is characterized in that, in response to obtaining the multicast group report message sent by the first host device, a matched first multicast group is determined according to the multicast group report message, if it is determined that the multicast receiver side device has a passive multicast table of the first multicast group, a passive join message is immediately sent through a first upstream interface in the passive multicast table, thereby quickly guiding the multicast data from the convergence point to the multicast receiver side device, accelerating the establishment of the active multicast table and the shortest path tree, and improving the forwarding efficiency of the multicast data.
[0082] Optionally, the data transmission device further comprises:
[0083] The active multicast table judging module is configured to judge whether the multicast receiver side device has an active multicast table of the first multicast group.
[0084] The active join message sending module is configured to, if it is determined that the active multicast table is available, send an active join message through a second upstream interface in the active multicast table.
[0085] Optionally, the passive join message sending module is specifically configured to refresh a first timer of an output interface, and send a passive join message through a first upstream interface in the passive multicast table.
[0086] The active join message sending module is specifically configured to refresh a second timer of the output interface, and send an active join message through a second upstream interface in the active multicast table.
[0087] Optionally, the data transmission device further comprises:
[0088] The active multicast table obtaining module is configured to: if it is determined that the active multicast table is not available, wait for obtaining multicast data of the first multicast group, and when the multicast data of the first multicast group is obtained, create an active multicast table of the first multicast group, and copy the output interface in the passive multicast table into the active multicast table; query the communication state of the output interface, and when it is determined that the output interface is in a connected state, send an active join message through a second upstream interface in the active multicast table.
[0089] Optionally, the data transmission device further comprises:
[0090] The remaining time judging module is configured to judge whether the remaining time of the join message timer is less than or equal to a first time threshold.
[0091] Optionally, the passive join message sending module is specifically configured to: if it is determined that the remaining time is less than or equal to the first time threshold, send a passive join message through a first upstream interface in the passive multicast table when the remaining time is zero; and if it is determined that the remaining time is greater than the first time threshold, send a passive join message through the first upstream interface in the passive multicast table.
[0092] Optionally, the data transmission device further comprises:
[0093] The passive multicast table obtaining module is configured to: if it is determined that the passive multicast table is not available, create a passive multicast table of the first multicast group, and obtain an output interface and a first upstream interface corresponding to a convergence point of the first multicast group; add the output interface and the first upstream interface into the passive multicast table, and send a passive join message through the first upstream interface.
[0094] Optionally, the data transmission device further comprises:
[0095] The multicast group query message sending module is configured to: obtain a matched first query period according to the load rate of the multicast receiver side device, and send a multicast group query message based on the first query period.
[0096] The above device can execute the data transmission method provided by any embodiment of the application, has the corresponding function modules and beneficial effects of executing the method. Technical details not described in detail in the embodiment can be referred to the data transmission method provided by any embodiment of the application.
[0097] Embodiment Four
[0098] Figure 4A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0099] like Figure 4 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0100] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0101] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as data transfer methods.
[0102] In some embodiments, the data transmission method can be implemented as a computer program tangibly embodied in a computer readable storage medium, e.g., a memory device. In some embodiments, parts or all of the computer program can be loaded and / or installed onto the heterogeneous hardware accelerator via a ROM and / or communication unit. When the computer program is loaded into RAM and executed by the processor, one or more steps of the data transmission method described above can be performed. Alternatively, in other embodiments, the processor can be configured to perform the data transmission method by any other suitable means, e.g., with the aid of firmware.
[0103] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a programmable logic device (PLD), a computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0104] Computer programs used to implement the methods of the present application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer program, when executed by the processor of the machine, implements the functions / acts specified in the flowcharts and / or block diagrams. The computer program can be executed entirely on a machine, partially on a machine, partially on a machine and partially on a remote machine or entirely on a remote machine or server.
[0105] In the context of the present application, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. A computer-readable storage medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of a machine-readable storage medium will include one or more lines of a program of instructions in a transitory signal, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0106] To provide for interaction with a user, the systems and techniques described here can be implemented on a heterogeneous hardware accelerator having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the heterogeneous hardware accelerator. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0107] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), blockchain network, and the Internet.
[0108] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and VPS service.
[0109] It should be understood that the various forms of flow shown above can be used to reorder, add or delete steps. For example, each step described in the present application can be executed in parallel, sequentially or in a different order, as long as the desired results of the technical solutions of the present application can be achieved, which is not limited herein.
[0110] The above detailed description does not constitute a limitation on the protection scope of the present application. Those skilled in the art should understand that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A data transmission method, characterized by, The application is applied to a multicast receiver side device under a sparse mode independent multicast protocol, and comprises: In response to obtaining a multicast group report message sent by a first host device, a matched first multicast group is determined according to the multicast group report message; wherein the multicast receiver side device is elected based on a designated router election mechanism; It is judged whether the multicast receiver side device has a passive multicast table of the first multicast group; wherein the passive multicast table exists in a shared tree with a rendezvous point as a root; If it is determined that the passive multicast table is possessed, a passive join message is sent to the rendezvous point through a first upstream interface in the passive multicast table, so as to guide multicast data of the first multicast group to the multicast receiver side device; It is judged whether the multicast receiver side device has an active multicast table of the first multicast group; If it is determined that the active multicast table is possessed, an active join message is sent through a second upstream interface in the active multicast table; If it is determined that the active multicast table is not possessed, the multicast receiver side device waits for obtaining multicast data of the first multicast group, and when the multicast data of the first multicast group is obtained, an active multicast table of the first multicast group is created, and output interfaces in the passive multicast table are copied into the active multicast table; A shortest path tree with a multicast source side device as a root is obtained by sending an active join message to the multicast source side device, so that a multicast data transmission path of the first multicast group is transferred from the shared tree to the shortest path tree.
2. The method of claim 1, wherein, The passive join message sent to the rendezvous point through the first upstream interface in the passive multicast table specifically comprises: A first timer of the output interface is refreshed, and the passive join message is sent to the rendezvous point through the first upstream interface in the passive multicast table; The active join message sent through the second upstream interface in the active multicast table specifically comprises: A second timer of the output interface is refreshed, and the active join message is sent through the second upstream interface in the active multicast table.
3. The method of claim 1, wherein, After it is determined that the passive multicast table is possessed, the following steps are further included: It is judged whether a remaining time of a join message timer is less than or equal to a first time threshold; If it is determined that the remaining time is less than or equal to the first time threshold, when the remaining time is zero, the passive join message is sent to the rendezvous point through the first upstream interface in the passive multicast table; The passive join message sent to the rendezvous point through the first upstream interface in the passive multicast table comprises: If it is determined that the remaining time is greater than the first time threshold, the passive join message is sent to the rendezvous point through the first upstream interface in the passive multicast table.
4. The method of claim 1, wherein, After it is judged whether the multicast receiver side device has the passive multicast table of the first multicast group, the following steps are further included: If it is determined that the passive multicast table is not possessed, a passive multicast table of the first multicast group is created, and an output interface and a first upstream interface corresponding to a rendezvous point of the first multicast group are obtained; The output interface and the first upstream interface are added into the passive multicast table, and the passive join message is sent to the rendezvous point through the first upstream interface.
5. The method according to any of claims 1 to 4, characterized in that, The data transmission method further comprises: According to a load rate of the multicast receiver side device, a matched first query period is acquired, and a multicast group query message is sent based on the first query period.
6. A data transmission apparatus characterized by comprising: The multicast receiver side device applied to a sparse mode independent multicast protocol comprises: A multicast group acquisition module is configured to, in response to acquiring a multicast group report message sent by a first host device, determine a matched first multicast group according to the multicast group report message; wherein the multicast receiver side device is elected based on a designated router election mechanism; A passive multicast table judgment module is configured to judge whether the multicast receiver side device has a passive multicast table of the first multicast group; wherein the passive multicast table exists in a shared tree with a rendezvous point as a root; A passive join message sending module is configured to, if it is determined that the passive multicast table is available, send a passive join message to a rendezvous point direction through a first upstream interface in the passive multicast table, so as to guide multicast data of the first multicast group to the multicast receiver side device; The data transmission device is further configured to judge whether the multicast receiver side device has an active multicast table of the first multicast group; if it is determined that the active multicast table is available, send an active join message through a second upstream interface in the active multicast table; if it is determined that the active multicast table is unavailable, wait for acquiring multicast data of the first multicast group, and when the multicast data of the first multicast group is acquired, create the active multicast table of the first multicast group, and copy an output interface in the passive multicast table to the active multicast table; send an active join message to a multicast source side device to acquire a shortest path tree with the multicast source side device as a root, so as to transfer a multicast data transmission path of the first multicast group from the shared tree to the shortest path tree.
7. An electronic device, comprising: The electronic device comprises: at least one processor; and a memory connected with the at least one processor in communication; wherein The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the data transmission method in any one of claims 1-5.
8. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions for enabling the processor to execute the data transmission method in any one of claims 1-5 when executed.
Citation Information
Patent Citations
Method and equipment for transmitting multicast data
CN102111279A
Method and device for realizing multicast service in Internet protocol (IP) network
CN102316083A
Multicast table item synchronization method and equipment
CN107612809A