A BIER multicast message processing method and device
By using a message to process the chip and configure the combination of the chip under the network exchange device, identify and handle the first message in the BIER programming stream, generate and apply the message editing configuration, solve the BIER biography in the existing technology The problem of insufficient performance has achieved high -bandwidth and high -performance BIER transmission forwarding.
Patent Information
- Application Number
- CN202211665781.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-23
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2042-12-23
AI Technical Summary
When existing network switching devices process BIER multicast messages, CPU performance is limited and cannot meet BIER multicast processing in high bandwidth scenarios, and long-term high load affects CPU services.
Use the message processing chip to identify the first BIER multicast message in the BIER multicast stream, forward it to the configuration delivery chip, generate the message editing configuration, and use this configuration to process subsequent BIER multicast messages to avoid CPU is involved.
The transmission process of high -bandwidth and high -performance BIER group was implemented, reducing the CPU load and breaking through the performance bottleneck of traditional software solutions.
Smart Images

Figure CN115987920B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of network communication technology, and in particular to a method for processing BIER multicast messages and a device for implementing the processing method. Background Art
[0002] BIER (Bit Index Explicit Replication) is a new multicast technology. Compared with traditional multicast technology, it encapsulates the set of destination nodes of the multicast message in the form of a bit string in the message header for transmission, so that the intermediate nodes of the network do not need to establish a multicast tree for each multicast flow (Per-flow) and save the multicast flow status, and only need to copy and forward according to the set of destination nodes in the message header.
[0003] Currently, after receiving a BIER multicast message, the network switching device forwards the BIER multicast message to the CPU inside the network switching device. The CPU performs operations such as message editing, message forwarding and copying. In other words, the CPU performs operations such as message editing, message forwarding and copying for each BIER multicast message in the BIER multicast stream. However, the CPU performance inside the network switching device is limited, and it only supports BIER multicast processing with very small bandwidth, which cannot meet the BIER multicast processing in high-bandwidth scenarios. In addition, the CPU continues to process BIER multicast messages and is in a high-load state for a long time, which also affects the CPU's own business.
[0004] Therefore, how to achieve high-bandwidth, high-performance BIER multicast message forwarding processing is an urgent problem to be solved.
[0005] The information disclosed in this background technology section is only intended to enhance the understanding of the overall background of the invention and should not be regarded as an acknowledgment or any form of suggestion that the information constitutes the prior art already known to a person skilled in the art. Summary of the invention
[0006] The purpose of the present invention is to provide a method for processing BIER multicast messages, which can realize high-bandwidth and high-performance BIER multicast message forwarding processing.
[0007] Another object of the present invention is to provide a BIER multicast message processing device that can implement the message processing method and realize high-bandwidth, high-performance BIER multicast message forwarding processing.
[0008] To achieve the above purpose, an embodiment of the present invention provides a method for processing a BIER multicast message, the processing method comprising:
[0009] The message processing chip receives the BIER multicast message and determines whether it is the first BIER multicast message in the BIER multicast stream;
[0010] The message processing chip responds that it is the first BIER multicast message in the BIER multicast stream, and forwards the BIER multicast message to the configuration sending chip;
[0011] The message processing chip receives the message editing configuration corresponding to the BIER multicast message, and forwards and processes subsequent BIER multicast messages in the BIER multicast stream according to the message editing configuration. The message editing configuration is generated by the configuration sending chip based on the received BIER multicast message.
[0012] In one or more embodiments of the present invention, the message processing chip determines whether it is a BIER multicast message received for the first time by the following steps:
[0013] The message processing chip parses the BIER multicast message to obtain the BIFTID and BitString information;
[0014] The message processing chip uses the BIFTID and BitString information to search for the locally stored BIFTID and BitString information;
[0015] The message processing chip responds to not finding the message and determines that the BIER multicast message is the first BIER multicast message received.
[0016] In one or more embodiments of the present invention, the configuration sending chip generates a message editing configuration through the following steps:
[0017] Configure the chip to parse the BIER multicast message to obtain BIFTID and BitString information;
[0018] The configuration chip determines the corresponding BIER forwarding table according to the BIFTID, and uses BitString to search the BIER forwarding table to obtain the egress port and the message editing behavior corresponding to the egress port;
[0019] The configuration issuing chip forms a message editing configuration using the egress port and the message editing behavior corresponding to the egress port.
[0020] In one or more embodiments of the present invention, after receiving the message editing configuration, the message processing chip associates the egress port in the message editing configuration with the multicast table entry, and associates the message editing behavior corresponding to each egress port with the corresponding egress port.
[0021] In one or more embodiments of the present invention, the forwarding processing of the subsequent BIER multicast message according to the message editing configuration includes:
[0022] The message processing chip parses the BIER multicast message to obtain the BIFTID and BitString;
[0023] Obtain the corresponding multicast group and the outbound port members in the multicast group according to the BIFTID and BitString;
[0024] The message processing chip edits and forwards the multicast message according to the message editing behavior in the message editing configuration corresponding to each egress port.
[0025] In one or more embodiments of the present invention, when the egress port is a BIER domain edge port, local loopback forwarding is performed after the BIER message header is stripped off.
[0026] In one or more implementations of the present invention, the message processing chip periodically ages the message editing configuration.
[0027] In one or more embodiments of the present invention, the aging comprises:
[0028] Collect statistics for each BIER multicast stream;
[0029] Determine the stopped BIER multicast stream based on the statistical information, and delete the message editing configuration corresponding to the multicast stream.
[0030] An embodiment of the present invention provides a BIER multicast message processing device, characterized in that the processing device includes:
[0031] A message processing chip, used for receiving a BIER multicast message and determining whether it is the first BIER multicast message in the BIER multicast stream, and forwarding the BIER multicast message to a configuration sending chip when the BIER multicast message is the first BIER multicast message in the BIER multicast stream, further receiving a message editing configuration corresponding to the BIER multicast message, and forwarding and processing subsequent BIER multicast messages in the BIER multicast stream according to the message editing configuration;
[0032] The configuration and delivery chip is used to generate message editing configuration based on the received BIER multicast message and transmit it to the message processing chip.
[0033] In one or more implementations of the present invention, the configuration delivery chip is built into the network switching device where the message processing chip is located.
[0034] Compared with the prior art, the present invention identifies the first BIER multicast message in the BIER multicast stream through a message processing chip and transmits it to a configuration and delivery chip, which then delivers a message editing configuration for the BIER multicast message. In the subsequent BIER multicast message forwarding process, the message processing chip uses the message editing configuration to process subsequent BIER multicast messages without the need for the configuration and delivery chip (such as the CPU) to participate. This can improve the forwarding performance of network switching equipment for BIER multicast, break through the performance bottleneck of traditional software solutions, and perform high-performance, high-bandwidth BIER multicast forwarding under the existing network switching equipment architecture. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 It is a flow chart of a method for processing BIER multicast messages according to an embodiment of the present invention;
[0036] Figure 2 is a flow chart of a message processing chip acquiring a message editing configuration according to an embodiment of the present invention;
[0037] Figure 3 is a flow chart of a message processing chip processing a message using a message editing configuration according to an embodiment of the present invention;
[0038] Figure 4 This is a structural block diagram of a BIER multicast message processing device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0039] The specific implementation modes of the present invention are described in detail below in conjunction with the accompanying drawings, but it should be understood that the protection scope of the present invention is not limited by the specific implementation modes.
[0040] Unless explicitly stated otherwise, throughout the specification and claims, the term “comprise” or variations such as “include” or “comprising”, etc., will be understood to include the stated elements or components but not to exclude other elements or components.
[0041] like Figures 1 to 3 As shown, a method for processing BIER multicast messages according to a preferred embodiment of the present invention can achieve high-bandwidth, high-performance BIER multicast message forwarding processing. Specifically, the method for processing BIER multicast messages includes the following steps:
[0042] S100, the message processing chip receives the BIER multicast message and determines whether it is the first BIER multicast message in the BIER multicast stream;
[0043] Specifically, Figure 2As shown, in the BIER network, the BIER multicast stream is composed of multiple BIER multicast messages. In the same BIER multicast stream, the forwarding processing method corresponding to each BIER multicast message is the same. In order to achieve high-bandwidth, high-performance forwarding processing of BIER multicast messages, after receiving the BIER multicast message, the message processing chip in the network switching device first determines whether the BIER multicast message is the first BIER multicast message in the BIER multicast stream. The purpose of determining whether the BIER multicast message is the first BIER multicast message in the BIER multicast stream is to subsequently obtain the message editing configuration corresponding to the BIER multicast message, so that the message processing chip uses the message editing configuration to perform the same forwarding processing operation on subsequent BIER multicast messages in the BIER multicast stream.
[0044] Furthermore, the message processing chip determines whether the BIER multicast message is the first BIER multicast message in the BIER multicast stream through the following steps:
[0045] First, the message processing chip parses the BIER multicast message to obtain the BIFTID (BitIndexForwardingTableIdentityDocument) and BitString (bit string) information carried by the BIER multicast message. The BIFTID and BitString information here can be obtained by parsing the BIER header of the BIER multicast message. The BIER header includes a BIFTID field and a BitString field. Among them, BIFTID is used to identify the multicast group number; BitString is used to identify the destination device to which the BIER multicast message needs to be multicast copied. Therefore, by parsing the BIER header, the BIFTID and BitString information can be obtained.
[0046] Finally, the message processing chip uses the BIFTID and BitString information to search for the locally stored BIFTID and BitString information. When a match occurs, it is determined that the BIER multicast message is not the first BIER multicast message in the BIER multicast traffic. This is because: when the BIER multicast message has been processed by the message processing chip, the message editing configuration received by the message processing chip for processing the BIER multicast message includes the following: BIFTID is used to identify the multicast group number; BitString is used to identify the destination device to which the BIER multicast message needs to be multicast copied. Therefore, it is possible to determine whether it is the first BIER multicast message in the BIER multicast stream by using the BIFTID and BitString information. When no match is found, it is determined that the BIER multicast message is the first BIER multicast message in the BIER multicast traffic. In this embodiment, the message processing chip includes but is not limited to a switching chip.
[0047] S200, the message processing chip responds with the first BIER multicast message in the BIER multicast stream, and forwards the BIER multicast message to the configuration sending chip.
[0048] Specifically, Figure 2 As shown, when the message processing chip determines that the BIER multicast message is the first BIER multicast message in the BIER multicast traffic, the BIER multicast message is forwarded to the configuration sending chip, so that the configuration sending chip can send the corresponding message editing configuration according to the BIER multicast. The configuration sending chip here is preferably located in the CPU inside the network switching device, and the CPU analyzes the BIER multicast message through the corresponding software to determine the corresponding message editing configuration.
[0049] S300, the message processing chip receives the message editing configuration corresponding to the BIER multicast message, and forwards and processes subsequent BIER multicast messages in the BIER multicast stream according to the message editing configuration. The message editing configuration is generated by the configuration sending chip based on the received BIER multicast message.
[0050] Specifically, combined Figure 2 and Figure 3 As shown, after the message processing chip forwards the first BIER multicast message to the configuration sending chip, the configuration sending chip uses the relevant information carried by the BIER multicast message to generate a corresponding message editing configuration, and sends the message editing configuration to the message processing chip, so that the message processing chip can use the message editing configuration to forward and process subsequent BIER multicast messages in the BIER multicast stream.
[0051] From the above, it can be seen that the BIER header of the BIER multicast message carries BIFTID and BitString information. The configuration and delivery chip can use the BIFTID and BitString information to generate a message editing configuration, which includes the egress port during multicast replication and the message editing behavior corresponding to each egress port. In specific implementation, the configuration and delivery chip determines the BIER forwarding table based on the BIFTID, and uses the BitString and the F-BM of each entry in the BIER forwarding table to perform an AND operation, and determines the egress port based on the calculation result. At the same time, the configuration and delivery chip can also obtain the message editing behavior corresponding to the egress port. Finally, the configuration and delivery chip can use the BIFTID and BitString information carried by the BIER multicast message to obtain the egress port during multicast replication and the message editing behavior corresponding to each egress port, that is, to obtain the message editing configuration.
[0052] After the configuration sending chip obtains the message editing configuration, it sends the message editing configuration to the message processing chip, so that the message processing chip can use the message editing configuration to forward and process subsequent BIER multicast messages in the BIER multicast stream. In the message processing chip, the egress ports in the message editing configuration are associated through multicast table entries. At the same time, the message editing behavior corresponding to each egress port is associated with the corresponding egress port of the multicast table entry. At this point, the message processing chip configures the message editing configuration into itself, so that the subsequent BIER multicast messages can be processed accordingly using the message editing configuration.
[0053] Furthermore, in the message processing chip, the resources of the multicast table items are limited, and therefore the resource utilization of the multicast table items needs to be improved. In order to improve resource utilization, the present invention improves the resource utilization of the multicast table items by performing an aging process on the message editing configuration. That is, for a BIER multicast stream that has been stopped for a long time, its corresponding message editing configuration is aged. During implementation, real-time message statistics can be performed on each BIER multicast stream through the corresponding hardware (such as a message processing chip), and statistical information can be obtained periodically through software, and it is determined whether to perform aging processing on the message editing configuration based on the statistical information. For a BIER multicast stream that has been stopped for a long time, the corresponding message editing configuration in the message processing chip is aged, that is, the message editing configuration is deleted to complete the aging operation.
[0054] like Figure 3As shown, after the message processing chip receives the message editing configuration, it can then use the message editing configuration to forward and process subsequent BIER multicast messages. During specific processing, the message processing chip parses and processes the received BIER multicast message to obtain the BIFTID and BitString information carried by the BIER multicast message. Among them, BIFTID can be used to identify the multicast group number to distinguish each multicast domain. BitString can be used to determine the multicast member port. Therefore, the message processing chip can determine the BIER multicast stream of the BIER multicast message through BIFTID, and then determine the message editing configuration corresponding to the BIER multicast stream. At the same time, the BitString is used to determine the egress ports of all members in the multicast group. The message processing chip can obtain the message editing behavior corresponding to each egress port from the corresponding message editing configuration. As can be seen from the above, each BIER multicast message in the BIER multicast stream does not need to be processed by the CPU chip, and therefore, high-performance forwarding processing of BIER multicast messages can be achieved to reduce the CPU load.
[0055] Furthermore, when the egress port is a BIER domain edge port, it is also necessary to remove the BIER header from the BIER multicast message and then perform forwarding processing, that is, forward a multicast message with the BIER header stripped from the egress port. In specific implementation, the BIER multicast message first has the BIER header stripped, and then performs local loopback after stripping. After the local loopback, complete service forwarding processing is performed on the multicast message with the BIER header stripped.
[0056] like Figure 4 As shown, a BIER multicast message processing device according to a preferred embodiment of the present invention can implement the processing method described above, and can realize high-bandwidth, high-performance BIER multicast message forwarding processing. Specifically, the processing device includes a message processing chip and a configuration sending chip. Among them, the message processing chip is used for the message processing chip to receive the BIER multicast message and determine whether it is the first BIER multicast message in the BIER multicast stream, and when it is the first BIER multicast message in the BIER multicast stream, the BIER multicast message is forwarded to the configuration sending chip, and further receive the message editing configuration corresponding to the BIER multicast message, and forward the subsequent BIER multicast messages in the BIER multicast stream according to the message editing configuration; the configuration sending chip is used to generate a message editing configuration according to the received BIER multicast message. The configuration sending chip here is preferably arranged in the CPU inside the network switching device, and the CPU analyzes the BIER multicast message through the corresponding software to determine the corresponding message editing configuration. How the message processing chip and the configuration delivery chip implement the corresponding functions is described above in detail and will not be described here one by one.
[0057] The present invention identifies the first BIER multicast message in the BIER multicast stream through a message processing chip and transmits it to a configuration and sending chip. The configuration and sending chip sends a message editing configuration for the BIER multicast message. In the subsequent BIER multicast message forwarding processing, the message processing chip uses the message editing configuration to process subsequent BIER multicast messages without the participation of the configuration and sending chip (such as CPU). The forwarding performance of the network switching device for BIER multicast can be improved, breaking through the performance bottleneck of traditional software solutions, and performing high-performance, high-bandwidth BIER multicast forwarding under the existing network switching device architecture.
[0058] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0059] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks 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.
[0060] 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.
[0061] 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. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0062] The foregoing description of specific exemplary embodiments of the present invention is for the purpose of illustration and demonstration. These descriptions are not intended to limit the present invention to the precise form disclosed, and it is clear that many changes and variations can be made based on the above teachings. The purpose of selecting and describing the exemplary embodiments is to explain the specific principles of the present invention and its practical application, so that those skilled in the art can realize and utilize various different exemplary embodiments of the present invention and various different selections and changes. The scope of the present invention is intended to be limited by the claims and their equivalents.
Claims
1. A method for processing BIER multicast messages, characterized in that: The processing method comprises: The message processing chip receives the BIER multicast message and determines whether it is the first BIER multicast message in the BIER multicast stream; The message processing chip responds that it is the first BIER multicast message in the BIER multicast stream, and forwards the BIER multicast message to the configuration sending chip; The message processing chip receives the message editing configuration corresponding to the BIER multicast message, and forwards and processes subsequent BIER multicast messages in the BIER multicast stream according to the message editing configuration. The message editing configuration is generated by the configuration sending chip based on the received BIER multicast message.
2. The processing method according to claim 1, characterized in that: The message processing chip determines whether it is the first received BIER multicast message through the following steps: The message processing chip parses the BIER multicast message to obtain the BIFTID and BitString information; The message processing chip uses the BIFTID and BitString information to search for the locally stored BIFTID and BitString information; The message processing chip responds to not finding the message and determines that the BIER multicast message is the first BIER multicast message received.
3. The processing method according to claim 1, characterized in that: The configuration sending chip generates a message editing configuration through the following steps: Configure the chip to parse the BIER multicast message to obtain BIFTID and BitString information; The configuration chip determines the corresponding BIER forwarding table according to the BIFTID, and uses BitString to search the BIER forwarding table to obtain the egress port and the message editing behavior corresponding to the egress port; The configuration issuing chip forms a message editing configuration using the egress port and the message editing behavior corresponding to the egress port.
4. The processing method according to claim 3, characterized in that: After receiving the message editing configuration, the message processing chip associates the egress port in the message editing configuration with the multicast table entry, and associates the message editing behavior corresponding to each egress port with the corresponding egress port.
5. The processing method according to claim 1, characterized in that: The forwarding processing of the subsequent BIER multicast message according to the message editing configuration includes: The message processing chip parses the BIER multicast message to obtain the BIFTID and BitString; Obtain the corresponding multicast group and the outbound port members in the multicast group according to the BIFTID and BitString; The message processing chip edits and forwards the multicast message according to the message editing behavior in the message editing configuration corresponding to each egress port.
6. The processing method according to claim 5, characterized in that: When the outgoing port is a BIER domain edge port, the BIER message header is stripped off and local loopback forwarding is performed.
7. The processing method according to claim 1, characterized in that: The message processing chip periodically ages the message editing configuration.
8. The processing method according to claim 7, characterized in that: The aging includes: Collect statistics for each BIER multicast stream; Determine the stopped BIER multicast stream based on the statistical information, and delete the message editing configuration corresponding to the multicast stream.
9. A processing device for implementing the BIER multicast message processing method according to any one of claims 1 to 8, characterized in that: The processing device comprises: A message processing chip, used for receiving a BIER multicast message and determining whether it is the first BIER multicast message in the BIER multicast stream, and forwarding the BIER multicast message to a configuration sending chip when the BIER multicast message is the first BIER multicast message in the BIER multicast stream, further receiving a message editing configuration corresponding to the BIER multicast message, and forwarding and processing subsequent BIER multicast messages in the BIER multicast stream according to the message editing configuration; The configuration and delivery chip is used to generate message editing configuration based on the received BIER multicast message and transmit it to the message processing chip.
10. The processing device according to claim 9, characterized in that The configuration sending chip is built into the network switching device where the message processing chip is located.
Citation Information
Patent Citations
Message cross-board multicast copying and forwarding method and system based on CLOS architecture
CN114157533A