Multicast message processing method and equipment

By dividing logical frames in multicast message processing and marking and forwarding based on serial number marking and forwarding, the problem of poor load balancing effect in multicast message processing in the prior art is solved, and more efficient resource utilization and lower forwarding delay are achieved.

CN119583451APending Publication Date: 2025-03-07RUIJIE NETWORKS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311140632.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-05
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

In the process of multicast message, it is difficult to obtain good load balancing effects while taking into account internal resource occupation and forwarding delay in the equipment.

Method used

The uplink card divides the multicast messages into logical frames and marks and forwards based on the sequence number of the logical frames; the exchange network card copies the multicast messages according to the number of downlink cards; the downlink card reorders the multicast messages according to the sequence number of the logical frames.

Benefits of technology

Through logical frame division and serial number marking, the load balancing effect is improved, and the internal resource occupation and forwarding delay of the device are reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119583451A_ABST
    Figure CN119583451A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of communication, and discloses a multicast message processing method and equipment, which are used for improving the load balancing effect and forwarding performance of a multicast message and considering the internal resource occupation of the equipment. The method comprises the following steps: firstly, dividing a multicast message meeting a first preset condition into a logic frame on an uplink card, marking the multicast message based on a serial number of the logic frame to which the multicast message belongs, forwarding the multicast message marked with the serial number to a corresponding switching network card, and then switching the multicast message with the serial number on the switching network card. According to the number N of downlink line cards contained in a multicast group to which the multicast messages belong, the multicast messages are copied to obtain N parts of multicast messages, the N parts of multicast messages are forwarded to the corresponding downlink line cards, and finally, on the downlink line cards, the multicast messages are reordered according to the sequence of serial numbers of logic frames to which the multicast messages belong. And forwarding the reordered multicast message to a network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a method and device for processing multicast messages. Background Art

[0002] Multicast is a common data type on communication networks. Another common type is unicast, which has only one destination address. Multicast can be divided into multiple multicast groups, and each multicast group message can have multiple different destination addresses.

[0003] High-performance switching and routing equipment mainly adopts a parallel forwarding architecture, which consists of a upstream line card, a downstream line card, and b switching network cards. At the same time, the line card and the switching network card are connected to each other. Among them, multicast load balancing under this architecture is an important issue.

[0004] Currently, there are two main multicast replication methods: upstream replication + downstream replication, and switching network replication + downstream replication. Since multicast replication in the upstream will occupy the upstream bandwidth of the switching network, "switching network replication + downstream replication" is the main multicast replication solution, where "switching network replication" replicates and forwards multicast messages to each downstream line card, and "downstream replication" replicates and forwards multicast messages to each multicast group member (next-level device).

[0005] In the related art, there are the following problems:

[0006] 1. Multicast flow-by-flow load balancing, that is, multicast packets are treated as a data stream for each multicast group, and packets of the same multicast group take the same path. This solution uses multicast groups as units for load balancing, but due to the different lengths of data streams, the balancing effect is poor.

[0007] 2. Multicast packet-by-packet load balancing, that is, all multicast packets are load balanced and routed one by one based on the original packets without distinguishing the multicast groups. In this solution, the packets of multicast packets are scattered to different paths, so when the packets reach the downstream line card, there is a disorder, and because the lengths of the packets are different, the balancing effect is average.

[0008] 3. Multicast Cell-by-Cell load balancing, that is, on a Packet-by-Packet basis, the Packet is further divided into smaller cells, and the Cell is used for load balancing and routing. Because the Cells are of the same size, this solution has a good balancing effect, but the upstream and downstream line cards need to divide the Packet into Cells and reorganize the Cells into Packets, which consumes additional bandwidth and computing resources.

[0009] 4. Multicast load balancing by physical frame, similar to packet by packet, is to combine multicast packets into larger message frames, and then add a header (frame sequence number, length of each original message in the frame, etc.) to the frame header, and then use this physical frame as a unit for load balancing and routing. In the process of transmitting messages from the switching network card to the downstream line card, this solution occupies additional bandwidth resources because the switching network card uses this physical frame as a unit for replication and forwarding to each downstream line card. At the same time, when the message is physically framed on the upstream line card, it needs to wait for the subsequent message of the same frame, resulting in an increase in message forwarding delay.

[0010] Therefore, the method for processing multicast messages in the related art cannot achieve a good multicast message load balancing effect while taking into account the internal resource occupancy of the device and the forwarding delay. Summary of the invention

[0011] The purpose of this application is to provide a method and device for processing multicast messages, so as to improve the load balancing effect of multicast messages while taking into account the internal resource occupancy and forwarding delay of the device.

[0012] In a first aspect, the present application provides a method for processing a multicast message, which is applied to a routing device, wherein the routing device includes an uplink line card, a switching network card, and a downlink line card, and the method includes:

[0013] In the uplink line card, a multicast message that meets the first preset condition is divided into a logical frame, and the multicast message is marked based on the sequence number of the logical frame to which the multicast message belongs, and the multicast message marked with the sequence number is forwarded to the corresponding switching network card; wherein the forwarding path of the multicast messages belonging to the same logical frame is the same;

[0014] On the switching network card, according to the number N of downlink line cards included in the multicast group to which the multicast message belongs, N is a positive integer, the multicast message is copied to obtain N copies of the multicast message, and the N copies of the multicast message are forwarded to the corresponding downlink line cards;

[0015] On the downlink line card, the multicast messages are reordered according to the sequence number order of the logical frames to which the multicast messages belong, and the reordered multicast messages are forwarded to the network.

[0016] In a possible implementation, the method further includes:

[0017] Determine in the logic that the multicast message that meets the second preset condition is the last multicast message in the logical frame, and mark the last multicast message with a logical frame end marker EOP.

[0018] In a possible implementation manner, the following method is used to mark the sequence number of the logical frame to which the multicast message belongs and mark the logical frame end mark EOP for the multicast message in the logical frame:

[0019] Determine the sequence number SN of the current logical frame;

[0020] If the sum of the length of the forwarded multicast message in the current logical frame, the length of the current multicast message and the preset minimum length of the multicast message is not greater than the preset maximum length of the logical frame, the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN of the current logical frame;

[0021] If the sum of the length of the forwarded multicast message in the current logical frame, the length of the current multicast message and the preset minimum length of the multicast message is greater than the preset maximum length of the logical frame, and the sum of the length of the forwarded multicast message in the current logical frame and the length of the current multicast message is not greater than the preset maximum length of the logical frame, then the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN of the current logical frame, the logical frame end mark EOP is marked for the current multicast message, and the sequence number of the current logical frame is updated to SN+1;

[0022] If the sum of the length of the forwarded multicast message and the length of the current multicast message in the current logical frame is greater than the preset maximum length of the logical frame, an EOP signaling message corresponding to the current logical frame is generated, and the EOP signaling message is sent to the switching network card, the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN+1 of the next logical frame, and the sequence number of the current logical frame is updated to SN+1. The EOP signaling message is used to indicate that the forwarding of the multicast message in the current logical frame has ended.

[0023] In a possible implementation, the method further includes:

[0024] In the switching network card, if it is determined that the multicast message includes the EOP, an EOP signaling message corresponding to the current logical frame is generated;

[0025] According to the number M of downlink line cards that are not in the multicast group where the message containing the EOP is located, where M is an integer not less than 0, the EOP signaling message is copied M times and forwarded to the corresponding downlink line cards.

[0026] In a possible implementation manner, in the process of forwarding the multicast message marked with the sequence number to the corresponding switching network card, the method further includes:

[0027] If a congestion notification is received from the switching network card, the forwarding of the multicast message marked with the sequence number is suspended; the congestion notification is used to instruct the upstream line card to suspend forwarding the multicast message.

[0028] In a possible implementation manner, in the process of forwarding the N multicast messages to the corresponding downlink line cards, the method further includes:

[0029] If the congestion state of the switching network card queue does not reach the congestion waterline, the N multicast messages are forwarded to the corresponding downlink line card;

[0030] If the congestion state of the switching network card queue reaches the congestion waterline, the multicast message not containing EOP is discarded; the multicast message containing EOP is trimmed to obtain a header message containing EOP, and the header message containing EOP is forwarded to the corresponding downlink line card.

[0031] In a possible implementation manner, the congestion waterline includes a low congestion waterline and a high congestion waterline, and the method further includes:

[0032] When the congestion state of the switching network card queue reaches the low congestion watermark, the discarding and trimming of the multicast message is triggered;

[0033] When the congestion state of the switching network card queue reaches the high congestion watermark, a congestion notification is sent to the upstream line card to make the upstream line card suspend multicast message forwarding.

[0034] In a possible implementation manner, before copying the reordered multicast message, the method further includes:

[0035] The header message and EOP signaling message containing EOP from the switching network card are discarded.

[0036] In a possible implementation manner, the forwarding path of multicast messages belonging to the same logical frame is determined in the following manner:

[0037] Based on the sequence number of the logical frame to which the multicast message belongs, querying a state storage table, the state storage table is used to record the correspondence between the logical frame currently subjected to load balancing and the forwarding port;

[0038] If it is determined through query that the logical frame to which the multicast message belongs does not belong to a new logical frame, a first forwarding port corresponding to the logical frame to which the multicast message belongs is determined according to the corresponding relationship, and the multicast message is forwarded to the target line card through the first forwarding port; the new logical frame is a logical frame that is not currently load balanced;

[0039] If it is determined through query that the logical frame to which the multicast message belongs belongs to a new logical frame, each forwarding port in the state storage table is polled to determine a second forwarding port that meets the conditions for forwarding the current multicast message, and the multicast message is forwarded to the target line card through the second forwarding port.

[0040] In a second aspect, the present application provides a multicast message processing device, which is applied to a switching routing device, wherein the routing device includes an uplink line card, a switching network card, and a downlink line card, and the device includes:

[0041] The logic frame division module is configured to divide the multicast message that meets the first preset condition into a logic frame on the uplink line card, mark the multicast message based on the sequence number of the logical frame to which the multicast message belongs, and forward the multicast message marked with the sequence number to the corresponding switching network card; wherein the forwarding path of the multicast messages belonging to the same logical frame is the same;

[0042] The multicast message replication module is configured to replicate the multicast message in the switching network card according to the number N of downlink line cards included in the multicast group to which the multicast message belongs, where N is a positive integer, to obtain N copies of the multicast message, and forward the N copies of the multicast message to the corresponding downlink line cards;

[0043] The reordering module is configured to reorder the multicast messages on the downlink line card according to the sequence number order of the logical frames to which the multicast messages belong, and forward the reordered multicast messages to the network.

[0044] In a possible implementation manner, the module for dividing logical frames is further configured to:

[0045] Determine in the logic that the multicast message that meets the second preset condition is the last multicast message in the logical frame, and mark the last multicast message with a logical frame end marker EOP.

[0046] In a possible implementation manner, the logic frame division module is configured to mark the sequence number of the logical frame to which the multicast message belongs and mark the logical frame end mark EOP for the multicast message in the logical frame in the following manner:

[0047] Determine the sequence number SN of the current logical frame;

[0048] If the sum of the length of the forwarded multicast message in the current logical frame, the length of the current multicast message and the preset minimum length of the multicast message is not greater than the preset maximum length of the logical frame, the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN of the current logical frame;

[0049] If the sum of the length of the forwarded multicast message in the current logical frame, the length of the current multicast message and the preset minimum length of the multicast message is greater than the preset maximum length of the logical frame, and the sum of the length of the forwarded multicast message in the current logical frame and the length of the current multicast message is not greater than the preset maximum length of the logical frame, then the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN of the current logical frame, the logical frame end mark EOP is marked for the current multicast message, and the sequence number of the current logical frame is updated to SN+1;

[0050] If the sum of the length of the forwarded multicast message and the length of the current multicast message in the current logical frame is greater than the preset maximum length of the logical frame, an EOP signaling message corresponding to the current logical frame is generated, and the EOP signaling message is sent to the switching network card, the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN+1 of the next logical frame, and the sequence number of the current logical frame is updated to SN+1. The EOP signaling message is used to indicate that the forwarding of the multicast message in the current logical frame has ended.

[0051] In a possible implementation manner, the multicast message replication module is further configured to:

[0052] In the switching network card, if it is determined that the multicast message includes the EOP, an EOP signaling message corresponding to the current logical frame is generated;

[0053] According to the number M of downlink line cards that are not in the multicast group where the message containing the EOP is located, where M is an integer not less than 0, the EOP signaling message is copied M times and forwarded to the corresponding downlink line cards.

[0054] In a possible implementation manner, in the process of forwarding the multicast message marked with the sequence number to the corresponding switching network card, the device further includes:

[0055] The message forwarding suspension module is configured to suspend forwarding the multicast message marked with the sequence number if a congestion notification is received from the switching network card; the congestion notification is used to instruct the upstream line card to suspend forwarding the multicast message.

[0056] In a possible implementation manner, in the process of forwarding the N multicast messages to the corresponding downlink line cards, the multicast message replication module is further configured to:

[0057] If the congestion state of the switching network card queue does not reach the congestion waterline, the N multicast messages are forwarded to the corresponding downlink line card;

[0058] If the congestion state of the switching network card queue reaches the congestion waterline, the multicast message not containing EOP is discarded; the multicast message containing EOP is trimmed to obtain a header message containing EOP, and the header message containing EOP is forwarded to the corresponding downlink line card.

[0059] In a possible implementation manner, the congestion watermark includes a low congestion watermark and a high congestion watermark, and the multicast message replication module is further configured as follows:

[0060] When the congestion state of the switching network card queue reaches the low congestion watermark, the discarding and trimming of the multicast message is triggered;

[0061] When the congestion state of the switching network card queue reaches the high congestion watermark, a congestion notification is sent to the upstream line card to make the upstream line card suspend multicast message forwarding.

[0062] In a possible implementation manner, before copying the reordered multicast message, the reordering module is further configured to:

[0063] The header message and EOP signaling message containing EOP from the switching network card are discarded.

[0064] In a possible implementation manner, the logic frame division module is configured to determine the forwarding path of the multicast messages belonging to the same logical frame in the following manner:

[0065] Based on the sequence number of the logical frame to which the multicast message belongs, querying a state storage table, the state storage table is used to record the correspondence between the logical frame currently subjected to load balancing and the forwarding port;

[0066] If it is determined through query that the logical frame to which the multicast message belongs does not belong to a new logical frame, a first forwarding port corresponding to the logical frame to which the multicast message belongs is determined according to the corresponding relationship, and the multicast message is forwarded to the target line card through the first forwarding port; the new logical frame is a logical frame that is not currently load balanced;

[0067] If it is determined through query that the logical frame to which the multicast message belongs belongs to a new logical frame, each forwarding port in the state storage table is polled to determine a second forwarding port that meets the conditions for forwarding the current multicast message, and the multicast message is forwarded to the target line card through the second forwarding port.

[0068] In a third aspect, the present application provides an electronic device, including:

[0069] Processor and memory;

[0070] The memory is used to store executable instructions of the processor;

[0071] The processor is used to execute the executable instructions to implement the method for processing multicast messages as described in the first aspect above.

[0072] In a fourth aspect, the present application provides a computer-readable storage medium. When the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device can execute the method for processing multicast messages as described in the first aspect above.

[0073] In a fifth aspect, the present application provides a computer program product, including a computer program:

[0074] When the computer program is executed by the processor, the method for processing the multicast message as described in the first aspect above is implemented.

[0075] The technical solution provided by the embodiments of the present application brings at least the following beneficial effects:

[0076] In the embodiment of the present application, multiple multicast messages are divided into different logical frames according to the length of the multicast messages, thereby reducing the data length difference between the logical frames, ensuring that the logical frame length has a clear upper limit, and performing load balancing based on the logical frames, thereby improving the load balancing effect and the applicability in different scenarios without increasing too much additional bandwidth consumption; multicast replication is performed based on the multicast message as a unit, thereby reducing the bandwidth consumption from the switching network card to the downstream line card, reducing the complexity of the reordering of the downstream line card, and improving the reordering efficiency.

[0077] Other features and advantages of the present application will be described in the subsequent description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments of the present application will be briefly introduced below. Obviously, the drawings introduced below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0079] Figure 1 A schematic diagram of a framework of a method for processing multicast messages provided in an embodiment of the present application;

[0080] Figure 2 A schematic diagram of the internal structure of a routing device provided in an embodiment of the present application;

[0081] Figure 3 A schematic diagram of the overall process of the method for processing multicast messages provided in an embodiment of the present application;

[0082] Figure 4 Another flowchart of the method for processing multicast messages provided in the embodiment of the present application;

[0083] Figure 5 Another flowchart of the method for processing multicast messages provided in the embodiment of the present application;

[0084] Figure 6 A schematic diagram of a reordering queue provided in an embodiment of the present application;

[0085] Figure 7A schematic diagram of the structure of a multicast message processing device 700 provided in an embodiment of the present application.

[0086] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0087] In order to make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Among them, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0088] Furthermore, in the description of the embodiments of the present application, unless otherwise specified, “ / ” means or. For example, A / B can mean A or B. The “and / or” in the text is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, “multiple” refers to two or more than two.

[0089] In the following, the terms "first" and "second" are used for descriptive purposes only and should not be understood as suggesting or implying relative importance or implicitly indicating the number of technical features indicated. Thus, features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more.

[0090] Multicast is a common data type on communication networks. Another common type is unicast, which has only one destination address. Multicast can be divided into multiple multicast groups, and each multicast group message can have multiple different destination addresses. Taking IPTV (Internet Protocol Television) as an example, a channel in IPTV can be considered a multicast group. When different users subscribe to watch the same channel, the IPTV source forwards and copies the video stream (data stream, i.e., multicast message) of this channel (i.e., multicast group) through the communication network, and finally sends it to each user's receiving device. Different channels have different clarity, so the bandwidth of the data stream of different channels is different, such as 50Mbps for ultra-high-definition channels and 5Mbps for standard-definition channels.

[0091] The forwarding node (high-performance switching routing device) on the communication network is the device responsible for copying and forwarding multicast messages. It receives the message input from the multicast source, copies it according to the respective multicast group members (destination address) within the device, and finally forwards it to the next-level network forwarding nodes (devices).

[0092] High-performance switching and routing equipment mainly adopts parallel forwarding architecture, such as Clos architecture, as follows Figure 1 , which consists of N uplink line cards and downlink line cards, and M switching network cards in the switching network. At the same time, the line cards and switching network cards are connected to each other (a connection usually contains multiple links). Among them, multicast load balancing in this architecture is an important issue.

[0093] At present, there are two main multicast replication methods: upstream replication + downstream replication, switching network replication + downstream replication. Since multicast replication in the upstream will occupy more upstream bandwidth of the switching network, "switching network replication + downstream replication" is the main replication solution, where "switching network replication" is the switching network card to replicate and forward the multicast message to each downstream line card, and "downstream replication" is the downstream line card to replicate and forward the multicast message to each multicast group member (next-level device), such as the network.

[0094] In the related art, there are the following problems:

[0095] 1. Multicast flow-by-flow load balancing, that is, multicast packets are treated as a data stream for each multicast group, and packets of the same multicast group take the same path. This solution uses multicast groups as units for load balancing, but due to the different lengths of data streams, the balancing effect is poor.

[0096] 2. Multicast packet-by-packet load balancing, that is, all multicast packets are load balanced and routed one by one based on the original packets without distinguishing the multicast groups. In this solution, the packets of multicast packets are scattered to different paths, so when the packets reach the downstream line card, there is a disorder, and because the lengths of the packets are different, the balancing effect is average.

[0097] 3. Multicast Cell-by-Cell load balancing, that is, on a Packet-by-Packet basis, the Packet is further divided into smaller cells, and the Cell is used for load balancing and routing. Because the Cells are of the same size, this solution has a good balancing effect, but the upstream and downstream line cards need to divide the Packet into Cells and reorganize the Cells into Packets, which consumes additional bandwidth and computing resources.

[0098] 4. Multicast load balancing by physical frame, similar to packet by packet, is to combine multicast packets into larger message frames, and then add a header (frame sequence number, length of each original message in the frame, etc.) to the frame header, and then use this physical frame as a unit for load balancing and routing. In this solution, when the switch network card transmits messages to the downstream line card, the switch card uses this physical frame as a unit for replication and forwarding to each downstream line card, which occupies additional bandwidth resources.

[0099] Because multicast needs to be replicated in the switching network, the data stream sizes of different multicast groups vary greatly. Therefore, how to achieve good multicast message load balancing while taking into account the additional bandwidth and computing resource usage inside the device is a problem that needs to be solved.

[0100] In view of this, the present application provides a load balancing method and device for improving the load balancing effect of multicast messages, while taking into account the internal resource occupancy and forwarding delay of the device. The inventive concept of the present application can be summarized as follows: First, on the uplink line card, the multicast message that meets the first preset condition is divided into a logical frame, and the multicast message is marked based on the sequence number of the logical frame to which the multicast message belongs, and the multicast message marked with the sequence number is forwarded to the corresponding switching network card, and then, on the switching network card, according to the number N of downlink line cards included in the multicast group to which the multicast message belongs, the multicast message is copied to obtain N copies of the multicast message, and the N copies of the multicast message are forwarded to the corresponding downlink line card, and finally, on the downlink line card, the multicast message is reordered according to the sequence number order of the logical frame to which the multicast message belongs, and the reordered multicast message is forwarded to the network.

[0101] The embodiment of the present application divides multiple multicast messages into different logical frames according to the length of the multicast messages, reduces the data length difference between the logical frames, ensures that the logical frame length has a clear upper limit, performs load balancing based on the logical frames, improves the load balancing effect, and also improves the applicability in different scenarios without increasing too much additional bandwidth consumption; multicast replication is performed based on multicast messages, reduces the bandwidth consumption from the switching network card to the downstream line card, reduces the complexity of the reordering of the downstream line card, and improves the reordering efficiency.

[0102] After introducing the main inventive ideas of the embodiments of the present application, the following briefly introduces the application scenarios to which the technical solutions of the embodiments of the present application can be applied. It should be noted that the application scenarios introduced below are only used to illustrate the embodiments of the present application and are not limited. In specific implementation, the technical solutions provided by the embodiments of the present application can be flexibly applied according to actual needs.

[0103] In order to facilitate understanding of the multicast message processing method provided in the embodiment of the present application, it is further described below with reference to the accompanying drawings.

[0104] In a possible implementation manner, a device for processing multicast messages is as follows: Figure 2 As shown in the figure, the routing device is divided into three types of cards: uplink line card, switching network card in the switching network, and downlink line card.

[0105] The present application provides a method for processing a multicast message, which is applied to Figure 2 The routing device shown in the figure has the following process: Figure 3 As shown, including the following:

[0106] In step 301, the uplink line card divides the multicast message that meets the first preset condition into a logical frame, marks the multicast message based on the sequence number of the logical frame to which the multicast message belongs, and forwards the multicast message marked with the sequence number to the corresponding switching network card.

[0107] It should be noted that the forwarding paths of multicast messages belonging to the same logical frame are the same. When the upstream line card is grouping multicast messages into logical frames, the previous multicast message in the same logical frame does not need to wait for the subsequent multicast message, thereby reducing the forwarding delay; moreover, when the downstream line card is de-sequencing, it receives a multicast message of a non-sequential frame belonging to the same logical frame. The previous multicast message also does not need to wait for the subsequent multicast message, nor does it need to wait for the EOP signaling message. For example, if the logical frame sequence number copied and forwarded at the last moment is 2, if the logical frame sequence number of the multicast message received at this time is 3, then this multicast message is directly copied and forwarded, thereby reducing the forwarding delay.

[0108] In a possible implementation manner, in the uplink line card, the embodiment of the present application further determines that the multicast message that meets the second preset condition in the logic is the last multicast message in the logical frame, and marks the last multicast message with a logical frame end marker EOP.

[0109] like Figure 2 The uplink line card of the routing device contains three modules: message framing, load balancing, and FIFO (First Input First Output, message forwarding cache queue). After receiving the multicast message from the inlet, the uplink line card uses the following method to mark the sequence number of the logical frame to which the multicast message belongs and the end mark of the logical frame EOP for the multicast message in the logical frame, such as Figure 4 As shown, the following steps are included:

[0110] In step 401, the sequence number SN of the current logical frame is determined.

[0111] In step 402, if the sum of the forwarded multicast message length, the current multicast message length and the preset multicast message minimum length in the current logical frame is not greater than the preset logical frame maximum length, the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN of the current logical frame.

[0112] In step 403, if the sum of the length of the forwarded multicast message in the current logical frame, the length of the current multicast message and the preset minimum length of the multicast message is greater than the preset maximum length of the logical frame, and the sum of the length of the forwarded multicast message in the current logical frame and the length of the current multicast message is not greater than the preset maximum length of the logical frame, then the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN of the current logical frame, the logical frame end mark EOP is marked for the current multicast message, and the sequence number of the current logical frame is updated to SN+1.

[0113] In step 404, if the sum of the length of the forwarded multicast message and the length of the current multicast message in the current logical frame is greater than the preset maximum length of the logical frame, an EOP signaling message corresponding to the current logical frame is generated, and the EOP signaling message is sent to the switching network card, the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN+1 of the next logical frame, and the sequence number of the current logical frame is updated to SN+1. The EOP signaling message is used to indicate that the forwarding of the multicast message in the current logical frame has ended.

[0114] For example, the uplink line card receives a multicast message and determines that the sequence number SN of the current logical frame is logical frame 1, wherein the preset maximum length of the logical frame is 600B and the preset minimum length of the multicast message is 60B.

[0115] In the first case, if the length of the forwarded multicast message in the current logical frame is 400B and the length of the current multicast message is 100B, the sum of the length of the forwarded multicast message in the current logical frame, the length of the current multicast message and the preset minimum length of the multicast message is 560B, which is less than 600B. In the embodiment of the present application, the sequence number of the logical frame to which the current multicast message belongs is marked as logical frame 1.

[0116] In the second case, if the length of the forwarded multicast message in the current logical frame is 480b and the length of the current multicast message is 100B, the sum of the forwarded multicast message length, the current multicast message length and the preset multicast message shortest length in the current logical frame is 640B, which is greater than 600B, and the sum of the forwarded multicast message length and the current multicast message length in the current logical frame is 580B, which is less than 600B. In the embodiment of the present application, the sequence number of the logical frame to which the current multicast message belongs is marked as logical frame 1, the logical frame end mark EOP is marked for the current multicast message, and the sequence number of the current logical frame is updated to logical frame 2;

[0117] In the third case, if the length of the forwarded multicast message in the current logical frame is 550B and the length of the current multicast message is 100B, the sum of the length of the forwarded multicast message and the length of the current multicast message in the current logical frame is 650B, which is greater than 600B. The embodiment of the present application will generate an EOP signaling message corresponding to logical frame 1, and send the EOP signaling message to the switching network card, mark the serial number of the logical frame to which the current multicast message belongs as logical frame 2, and update the serial number of the current logical frame to logical frame 2.

[0118] In another possible implementation, after the uplink line card completes the division of the logical frame, the embodiment of the present application further adopts the following method to determine the forwarding path of the multicast message belonging to the same logical frame, such as: Figure 5 As shown, the following steps are included:

[0119] In step 501, based on the sequence number of the logical frame to which the multicast message belongs, a state storage table is queried, and the state storage table is used to record the correspondence between the logical frame currently undergoing load balancing and the forwarding port.

[0120] In step 502, if it is determined through query that the logical frame to which the multicast message belongs does not belong to a new logical frame, the first forwarding port corresponding to the logical frame to which the multicast message belongs is determined according to the corresponding relationship, and the multicast message is forwarded to the target line card through the first forwarding port; the new logical frame is a logical frame that is not currently load balanced.

[0121] In step 503, if it is determined through query that the logical frame to which the multicast message belongs belongs to a new logical frame, each forwarding port in the state storage table is polled to determine a second forwarding port that meets the conditions for forwarding the current multicast message, and the multicast message is forwarded to the target line card through the second forwarding port.

[0122] For example, in the uplink line card, the state storage table records the logical frame sequence numbers that have been currently load balanced as logical frame 1, logical frame 2, and logical frame 3, respectively. The corresponding relationship recorded in the state storage table and the forwarding ports that have not forwarded the message are: logical frame 1 and forwarding port 1; logical frame 2 and forwarding port 2; logical frame 3 and forwarding port 3; forwarding port 4; forwarding port 5. If the currently received multicast message belongs to logical frame 1, it is determined that the logical frame to which the multicast message belongs does not belong to a new logical frame, and the first forwarding port corresponding to the logical frame to which the message belongs is determined to be forwarding port 1 according to the corresponding relationship, and the message is forwarded to the target line card through forwarding port 1; if the currently received message of the uplink line card belongs to logical frame 4, it is determined that the logical frame to which the multicast message belongs belongs to a new logical frame, that is, logical frame 4 is a logical frame that has not been load balanced, and each forwarding port in the state storage table is polled, and the second forwarding port that meets the forwarding condition of the current message is determined to be forwarding port 4, and the multicast message is forwarded to the target line card through forwarding port 4.

[0123] The above steps of dividing the multicast messages into different logical frames and performing load balancing based on the logical frames ensure that the multicast messages in the same logical frame are forwarded to the same path, avoid disorder of the multicast messages in the logical frame, improve the load balancing effect, and improve the multicast message forwarding efficiency.

[0124] It should be noted that the embodiments of the present application can also determine the reordering queue to which the logical frame belongs according to the reordering queue identifier of the logical frame to which the multicast message belongs, and distinguish the logical frame to which the message belongs according to the sequence number of the logical frame to which the message belongs. For example, there is an uplink line card, and the uplink line card corresponds to 1 reordering queue. Each reordering queue needs to process 3 logical frames, and each logical frame can be recorded as A1, A2 and A3, where A is the reordering queue identifier of the logical frame, and 1, 2, and 3 are the sequence numbers of the logical frames. Based on the reordering queue identifier and sequence number of the above logical frame, the present application can distinguish the messages in the logical frame to avoid disorder.

[0125] It should be added that, in addition to polling each forwarding port, hash routing and other methods can also be used to determine the forwarding path of the multicast message.

[0126] In a possible implementation, when the uplink line card forwards the multicast message marked with the sequence number to the corresponding switching network card, if a congestion notification is received from the switching network card, the forwarding of the multicast message marked with the sequence number is suspended. The congestion notification is used to instruct the uplink line card to suspend forwarding the multicast message.

[0127] It should be added that the congestion notification also notifies the suspension time of the upstream line card, and the forwarding of multicast packets is restarted after the suspension countdown ends.

[0128] In step 302, the switching network card copies the multicast message to obtain N copies of the multicast message according to the number N of downstream line cards included in the multicast group to which the multicast message belongs, where N is a positive integer, and forwards the N copies of the multicast message to the corresponding downstream line cards.

[0129] It should be added that, if the number N of downlink line cards included in the multicast group to which the multicast message belongs is 0, the embodiment of the present application can discard the multicast message at the uplink line card or the downlink line card.

[0130] like Figure 2 As shown in FIG. 1 , the switching network card of the routing device includes five modules: trimming and discarding, multicast replication, load balancing, FIFO, and congestion awareness.

[0131] In a possible implementation manner, before the multicast message is copied, the congestion sensing module feeds back the congestion status information of the switching network card egress queue to the inlet trimming and discarding module. If the congestion status of the switching network card queue does not reach the congestion waterline, the multicast message is copied to obtain N copies of the multicast message according to the number N of downstream line cards included in the multicast group to which the multicast message belongs, and the N copies of the multicast message are forwarded to the corresponding downstream line cards.

[0132] If the congestion state of the switching network card queue reaches the congestion waterline, the multicast message not containing EOP is discarded, the multicast message containing EOP is trimmed to obtain the header message containing EOP, and the header message containing EOP is forwarded to the corresponding downstream line card.

[0133] In a possible implementation, the congestion watermark includes a low congestion watermark and a high congestion watermark. When the congestion state of the switching network card queue reaches the low congestion watermark, the discarding and trimming of the multicast message is triggered, that is, the above-mentioned trimming and discarding module executes the steps of discarding the multicast message that does not contain EOP and trimming the multicast message that contains EOP;

[0134] When the congestion state of the switching network card queue reaches the high congestion watermark, a congestion notification is sent to the upstream line card to cause the upstream line card to suspend multicast message forwarding.

[0135] For example, after the switching network card receives a multicast message marked with a serial number, the trimming and discarding module determines the congestion status information of the switching network card exit queue. For example, the switching network card has 4 exits, and exit 1 is congested. After the switching network card receives a multicast message marked with a serial number, it determines that the multicast group to which the multicast message belongs needs to be copied and forwarded from exits 1 and 2; the trimming and discarding module determines that the multicast group exit of the multicast message includes a congested exit, so the message is trimmed / discarded. If it is determined that the multicast group to which the multicast message belongs needs to be copied and forwarded from exits 2 and 3, it is determined that the number of downstream line cards N included in the multicast group to which the multicast message belongs is 2, the multicast message is copied to obtain 2 copies of the multicast message, and the 2 copies of the multicast message are forwarded to the corresponding downstream line cards.

[0136] In a possible implementation, in a switching network card, if it is determined that a multicast message contains EOP, an EOP signaling message corresponding to the current logical frame is generated; based on the number M of downstream line cards that are not in the multicast group where the message containing EOP is located, where M is an integer not less than 0, the EOP signaling message is copied M times and forwarded to the corresponding downstream line cards.

[0137] For example, the switching network card receives a multicast message marked with a sequence number and determines that the multicast message contains EOP, then generates an EOP signaling message corresponding to the current logical frame. If the number M of downstream line cards that are not in the multicast group where the message containing EOP is located is 2, namely downstream line card 2 and downstream line card 3, then the EOP signaling message is copied to obtain two copies of the EOP signaling message, and the two copies of the EOP signaling message are forwarded to downstream line card 2 and the downstream line card.

[0138] It should be noted that if the number M of downlink line cards not in the multicast group containing the EOP message is 0, since the EOP signaling message corresponding to the logical frame containing the current multicast message containing the EOP has been generated, there is no need to copy the EOP signaling message.

[0139] In another possible implementation, in the switching network card, if an EOP signaling message is directly received from an upstream line card, since the EOP signaling message is generated by the upstream line card, there are two situations for the EOP signaling message: there is a corresponding multicast group or there is no corresponding multicast group. For an EOP signaling message with a corresponding multicast group, the above step 302 is executed, and according to the number N of downstream line cards included in the multicast group to which the EOP signaling message belongs, the multicast message is copied to obtain N copies of the multicast message, and the N copies of the multicast message are forwarded to the corresponding downstream line card; for an EOP signaling message with no corresponding multicast group, the embodiment of the present application will copy the EOP signaling message according to the number of downstream line cards, for example, if the number of downstream line cards is 5, the EOP signaling message will be copied 5 times and forwarded to the corresponding downstream line card.

[0140] In step 303, the downlink line card reorders the multicast messages according to the sequence number order of the logical frames to which the multicast messages belong, and forwards the reordered multicast messages to the network.

[0141] like Figure 2 As shown, the downlink line card of the routing device contains four modules: frame reordering, EOP discarding, multicast replication, and FIFO. The downlink line card receives the multicast message forwarded by the switching network card and reorders it in logical frames. For example, the logical frame sequence number copied and forwarded at the last moment is 2. If the logical frame sequence number received at this time is 5, it is necessary to wait for the multicast message with logical frame sequence numbers 3 and 4 to arrive, so as to merge the multicast messages in logical frame 5, logical frame 3, and logical frame 4 and reorder them into logical frame 3, logical frame 4, and logical frame 5.

[0142] In one possible implementation, before the reordered multicast message is copied, since the header message containing EOP and the EOP signaling message are not complete messages and cannot be forwarded to the network, the embodiment of the present application also discards the header message containing EOP and the EOP signaling message from the switching network card through the EOP discard module of the downstream line card.

[0143] It should be added that when the downlink line card performs logical frame reordering, the multicast packets belonging to the same reordering queue of the uplink line card are reordered by the reordering queue of the same downlink line card. Figure 6 As shown in FIG. 1 , each upstream line card (i.e., the upstream line card is a source card) corresponds to a reordering queue, rather than each multicast group corresponding to a reordering queue. The number of upstream line cards is P, i.e., there are P reordering queues, so the downstream line card only needs P (the number of upstream line cards) reordering queues. The path of the multicast message is as follows: Figure 6 As shown by the dotted arrows, the present application can use the same number of reordering queues on the downstream line cards according to the number of upstream line cards, and does not need to provide a large number of reordering queues according to the number of multicast groups.

[0144] It should be noted that the reordering queue is not the same as the FIFO in the upstream line card, the switching network card, and the downstream line card.

[0145] In summary, the embodiment of the present application divides multiple multicast messages into different logical frames according to the length of the multicast messages, reduces the data length difference between the logical frames, ensures that the logical frame length has a clear upper limit, performs load balancing based on logical frames, improves the load balancing effect, and also improves the applicability in different scenarios without increasing too much additional bandwidth consumption; multicast replication is performed based on multicast messages, which reduces the bandwidth consumption from the switching network card to the downstream line card, reduces the complexity of the reordering of the downstream line card, and improves the reordering efficiency.

[0146] Based on the same inventive concept, the embodiment of the present application also provides a multicast message processing device, which is applied to a routing device, wherein the routing device includes an uplink line card, a switching network card, and a downlink line card, such as Figure 7 As shown, the device 700 includes:

[0147] The logic frame division module 701 is configured to divide the multicast message that meets the first preset condition into a logic frame on the uplink line card, mark the multicast message based on the sequence number of the logical frame to which the multicast message belongs, and forward the multicast message marked with the sequence number to the corresponding switching network card; wherein the forwarding path of the multicast messages belonging to the same logical frame is the same;

[0148] The multicast message copying module 702 is configured to copy the multicast message in the switching network card according to the number N of downlink line cards included in the multicast group to which the multicast message belongs, where N is a positive integer, to obtain N copies of the multicast message, and forward the N copies of the multicast message to the corresponding downlink line cards;

[0149] The reordering module 703 is configured to reorder the multicast messages on the downlink line card according to the sequence number order of the logical frames to which the multicast messages belong, and forward the reordered multicast messages to the network.

[0150] In a possible implementation manner, the module for dividing logical frames is further configured to:

[0151] Determine in the logic that the multicast message that meets the second preset condition is the last multicast message in the logical frame, and mark the last multicast message with a logical frame end marker EOP.

[0152] In a possible implementation manner, the logic frame division module is configured to mark the sequence number of the logical frame to which the multicast message belongs and mark the logical frame end mark EOP for the multicast message in the logical frame in the following manner:

[0153] Determine the sequence number SN of the current logical frame;

[0154] If the sum of the length of the forwarded multicast message in the current logical frame, the length of the current multicast message and the preset minimum length of the multicast message is not greater than the preset maximum length of the logical frame, the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN of the current logical frame;

[0155] If the sum of the length of the forwarded multicast message in the current logical frame, the length of the current multicast message and the preset minimum length of the multicast message is greater than the preset maximum length of the logical frame, and the sum of the length of the forwarded multicast message in the current logical frame and the length of the current multicast message is not greater than the preset maximum length of the logical frame, then the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN of the current logical frame, the logical frame end mark EOP is marked for the current multicast message, and the sequence number of the current logical frame is updated to SN+1;

[0156] If the sum of the length of the forwarded multicast message and the length of the current multicast message in the current logical frame is greater than the preset maximum length of the logical frame, an EOP signaling message corresponding to the current logical frame is generated, and the EOP signaling message is sent to the switching network card, the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN+1 of the next logical frame, and the sequence number of the current logical frame is updated to SN+1. The EOP signaling message is used to indicate that the forwarding of the multicast message in the current logical frame has ended.

[0157] In a possible implementation manner, the multicast message replication module is further configured to:

[0158] In the switching network card, if it is determined that the multicast message includes the EOP, an EOP signaling message corresponding to the current logical frame is generated;

[0159] According to the number M of downlink line cards that are not in the multicast group where the message containing the EOP is located, where M is an integer not less than 0, the EOP signaling message is copied M times and forwarded to the corresponding downlink line cards.

[0160] In a possible implementation manner, in the process of forwarding the multicast message marked with the sequence number to the corresponding switching network card, the device further includes:

[0161] The message forwarding suspension module is configured to suspend forwarding the multicast message marked with the sequence number if a congestion notification is received from the switching network card; the congestion notification is used to instruct the upstream line card to suspend forwarding the multicast message.

[0162] In a possible implementation manner, in the process of forwarding the N multicast messages to the corresponding downlink line cards, the multicast message replication module is further configured to:

[0163] If the congestion state of the switching network card queue does not reach the congestion waterline, the N multicast messages are forwarded to the corresponding downlink line card;

[0164] If the congestion state of the switching network card queue reaches the congestion waterline, the multicast message not containing EOP is discarded; the multicast message containing EOP is trimmed to obtain a header message containing EOP, and the header message containing EOP is forwarded to the corresponding downlink line card.

[0165] In a possible implementation manner, the congestion watermark includes a low congestion watermark and a high congestion watermark, and the multicast message replication module is further configured as follows:

[0166] When the congestion state of the switching network card queue reaches the low congestion watermark, the discarding and trimming of the multicast message is triggered;

[0167] When the congestion state of the switching network card queue reaches the high congestion watermark, a congestion notification is sent to the upstream line card to make the upstream line card suspend multicast message forwarding.

[0168] In a possible implementation manner, before copying the reordered multicast message, the reordering module is further configured to:

[0169] The header message and EOP signaling message containing EOP from the switching network card are discarded.

[0170] In a possible implementation manner, the logic frame division module is configured to determine the forwarding path of the multicast messages belonging to the same logical frame in the following manner:

[0171] Based on the sequence number of the logical frame to which the multicast message belongs, querying a state storage table, the state storage table is used to record the correspondence between the logical frame currently subjected to load balancing and the forwarding port;

[0172] If it is determined through query that the logical frame to which the multicast message belongs does not belong to a new logical frame, a first forwarding port corresponding to the logical frame to which the multicast message belongs is determined according to the corresponding relationship, and the multicast message is forwarded to the target line card through the first forwarding port; the new logical frame is a logical frame that is not currently load balanced;

[0173] If it is determined through query that the logical frame to which the multicast message belongs belongs to a new logical frame, each forwarding port in the state storage table is polled to determine a second forwarding port that meets the conditions for forwarding the current multicast message, and the multicast message is forwarded to the target line card through the second forwarding port.

[0174] like Figure 8 As shown, the electronic device 130 is in the form of a general electronic device. The components of the electronic device 130 may include but are not limited to: the at least one processor 131, the at least one memory 132, and a bus 133 connecting different system components (including the memory 132 and the processor 131).

[0175] Bus 133 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, or a local bus using any of a variety of bus architectures.

[0176] The memory 132 may include a readable medium in the form of a volatile memory, such as a random access memory (RAM) 1321 and / or a cache memory 1322 , and may further include a read-only memory (ROM) 1323 .

[0177] The memory 132 may also include a program / utility 1325 having a set (at least one) of program modules 1324, such program modules 1324 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0178] The electronic device 130 may also communicate with one or more external devices 134 (e.g., keyboards, pointing devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 130, and / or communicate with any device that enables the electronic device 130 to communicate with one or more other electronic devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 135. Furthermore, the electronic device 130 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 136. As shown, the network adapter 136 communicates with other modules for the electronic device 130 via a bus 133. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 130, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0179] In an exemplary embodiment, the present application further provides a computer-readable storage medium including instructions, such as a memory 132 including instructions, and the instructions can be executed by a processor 131 of an electronic device 130 to complete the above-mentioned multicast message processing method. Optionally, the computer-readable storage medium can be a non-temporary computer-readable storage medium, for example, the non-temporary computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0180] In an exemplary embodiment, a computer program product is also provided, including a computer program, and when the computer program is executed by the processor 131, the method for processing a multicast message as provided in the present application is implemented.

[0181] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0182] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0183] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0184] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0185] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A method for processing a multicast message, characterized in that: Applied to a switching routing device, the routing device includes an uplink line card, a switching network card, and a downlink line card, and the method includes: In the uplink line card, a multicast message that meets the first preset condition is divided into a logical frame, and the multicast message is marked based on the sequence number of the logical frame to which the multicast message belongs, and the multicast message marked with the sequence number is forwarded to the corresponding switching network card; wherein the forwarding path of the multicast messages belonging to the same logical frame is the same; On the switching network card, according to the number N of downlink line cards included in the multicast group to which the multicast message belongs, N is a positive integer, the multicast message is copied to obtain N copies of the multicast message, and the N copies of the multicast message are forwarded to the corresponding downlink line cards; On the downlink line card, the multicast messages are reordered according to the sequence number order of the logical frames to which the multicast messages belong, and the reordered multicast messages are forwarded to the network.

2. The method according to claim 1, characterized in that The method further comprises: Determine in the logic that the multicast message that meets the second preset condition is the last multicast message in the logical frame, and mark the last multicast message with a logical frame end marker EOP.

3. The method according to claim 2, characterized in that The following methods are used to mark the sequence number of the logical frame to which the multicast message belongs and the end of the logical frame mark EOP for the multicast message in the logical frame: Determine the sequence number SN of the current logical frame; If the sum of the length of the forwarded multicast message in the current logical frame, the length of the current multicast message and the preset minimum length of the multicast message is not greater than the preset maximum length of the logical frame, the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN of the current logical frame; If the sum of the length of the forwarded multicast message in the current logical frame, the length of the current multicast message and the preset minimum length of the multicast message is greater than the preset maximum length of the logical frame, and the sum of the length of the forwarded multicast message in the current logical frame and the length of the current multicast message is not greater than the preset maximum length of the logical frame, then the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN of the current logical frame, the logical frame end mark EOP is marked for the current multicast message, and the sequence number of the current logical frame is updated to SN+1; If the sum of the length of the forwarded multicast message and the length of the current multicast message in the current logical frame is greater than the preset maximum length of the logical frame, an EOP signaling message corresponding to the current logical frame is generated, and the EOP signaling message is sent to the switching network card, the sequence number of the logical frame to which the current multicast message belongs is marked as the sequence number SN+1 of the next logical frame, and the sequence number of the current logical frame is updated to SN+1. The EOP signaling message is used to indicate that the forwarding of the multicast message in the current logical frame has ended.

4. The method according to claim 1, characterized in that The method further comprises: In the switching network card, if it is determined that the multicast message includes the EOP, an EOP signaling message corresponding to the current logical frame is generated; According to the number M of downlink line cards that are not in the multicast group where the message containing the EOP is located, where M is an integer not less than 0, the EOP signaling message is copied M times and forwarded to the corresponding downlink line cards.

5. The method according to claim 1, characterized in that In the process of forwarding the multicast message marked with the sequence number to the corresponding switching network card, the method further includes: If a congestion notification is received from the switching network card, the forwarding of the multicast message marked with the sequence number is suspended; the congestion notification is used to instruct the upstream line card to suspend forwarding the multicast message.

6. The method according to claim 2, characterized in that In the process of forwarding the N multicast messages to the corresponding downlink line cards, the method further includes: If the congestion state of the switching network card queue does not reach the congestion waterline, the N multicast messages are forwarded to the corresponding downlink line card; If the congestion state of the switching network card queue reaches the congestion waterline, the multicast message not containing EOP is discarded; the multicast message containing EOP is trimmed to obtain a header message containing EOP, and the header message containing EOP is forwarded to the corresponding downlink line card.

7. The method according to claim 5 or 6, characterized in that: The congestion waterline includes a low congestion waterline and a high congestion waterline, and the method further includes: When the congestion state of the switching network card queue reaches the low congestion watermark, the discarding and trimming of the multicast message is triggered; When the congestion state of the switching network card queue reaches the high congestion watermark, a congestion notification is sent to the upstream line card to make the upstream line card suspend multicast message forwarding.

8. The method according to claim 4, characterized in that Before copying the reordered multicast message, the method further includes: The header message and EOP signaling message containing EOP from the switching network card are discarded.

9. The method according to claim 1, characterized in that: The forwarding path of multicast messages belonging to the same logical frame is determined in the following ways: Based on the sequence number of the logical frame to which the multicast message belongs, querying a state storage table, the state storage table is used to record the correspondence between the logical frame currently subjected to load balancing and the forwarding port; If it is determined through query that the logical frame to which the multicast message belongs does not belong to a new logical frame, a first forwarding port corresponding to the logical frame to which the multicast message belongs is determined according to the corresponding relationship, and the multicast message is forwarded to the target line card through the first forwarding port; the new logical frame is a logical frame that is not currently load balanced; If it is determined through query that the logical frame to which the multicast message belongs belongs to a new logical frame, each forwarding port in the state storage table is polled to determine a second forwarding port that meets the conditions for forwarding the current multicast message, and the multicast message is forwarded to the target line card through the second forwarding port.

10. A device, characterized in that: include: Processor and memory; The memory is used to store the processor executable instructions; The processor is configured to execute the instruction to implement the method for processing a multicast message according to any one of claims 1 to 9.

11. A computer-readable storage medium, characterized in that: When the instructions in the computer-readable storage medium are executed by a processor of a device, the device is enabled to execute the method for processing a multicast message according to any one of claims 1 to 9.