A method and device for implementing multicast data packet visualization
Patent Information
- Application Number
- CN202311221491.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-20
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2043-09-20
AI Technical Summary
但是,MOD只能向采集器发送丢包数目但无法回溯被丢弃的三层组播数据报文,只能针对单播报文提供可视化,未能提供组播可视化的方案
[0006] The purpose of this application is to provide a method and device for visualizing multicast data packets, used to trace back lost multicast data packets.
Smart Images

Figure CN117411862B_ABST
Abstract
Description
Technical Field
[0001] This application relates to communication technology, specifically a method and device for visualizing multicast data packets. Background Technology
[0002] In recent years, the volume of various business operations has grown rapidly, and IT architectures have been fully transformed towards IaaS, PaaS, and SDN. The launch of numerous and complex business systems and the promotion of cloud environments have brought significant challenges to the business continuity management capabilities of operations and maintenance personnel. How to effectively monitor and mitigate risks in business systems, ensure the high performance and high availability of critical business operations, and optimize existing operations and maintenance processes to continuously improve efficiency and management levels have become critical issues that operations and maintenance departments urgently need to address.
[0003] Traffic analysis tools statistically analyze received network traffic, providing visualization and granular monitoring and analysis of network and application performance from a business perspective, achieving end-to-end monitoring of all service traffic and application performance. INT (In-band Telemetry) is a network monitoring technology that collects data from devices. The collector analyzes the received data to monitor the performance of network devices and the overall network operation.
[0004] INT's MOD (Mirror On Drop) function detects packet loss by detecting the internal unicast packet forwarding process of the device through flow tables, and sends the characteristics of the dropped unicast packets and the reasons for the drop to the collector. However, MOD can only send the number of dropped packets to the collector but cannot trace back the dropped Layer 3 multicast data packets. It can only provide visualization for unicast packets and does not provide a solution for multicast visualization. Attached Figure Description
[0005] Figure 1 A schematic diagram illustrating an embodiment of the method for visualizing multicast data packets provided in this application; Figure 2 The diagram shown is a network schematic of the visualization of multicast data packets provided in this application; Figure 3 The diagram shown is a schematic representation of an embodiment of the present application for obtaining and forwarding lost Layer 3 multicast data packets; Figure 4 This is a schematic diagram of an embodiment of a device for visualizing multicast data packets provided in this application. Summary of the Invention
[0006] The purpose of this application is to provide a method and device for visualizing multicast data packets, used to trace back lost multicast data packets.
[0007] To achieve the above objectives, this application also provides a method for visualizing multicast data packets. The method includes: setting two bitmaps with the same number of bits for multicast entries in a multicast stream; wherein the number of bits in each bitmap is equal to the number of bits in the identification field of the IP header of the Layer 3 multicast data packet; using one of the two bitmaps as the bitmap to be written; receiving multiple Layer 3 multicast data packets with in-band telemetry headers from a multicast source server of the multicast stream; finding the multicast entry based on each received Layer 3 multicast data packet; and setting the corresponding bit in the bitmap to be written based on the identification value of the IP header of each received Layer 3 multicast data packet.
[0008] To achieve the above objectives, this application also provides a device for visualizing multicast data packets, comprising a processor and a memory; the memory stores processor-executable instructions; wherein the processor executes the processor-executable instructions in the memory to perform the following operations: setting two bitmaps with the same number of bits for a Layer 3 multicast table entry of a multicast stream; wherein the number of bits in each bitmap is equal to the number of bits in the identifier value field of the IP header of the Layer 3 multicast data packet; writing one of the two bitmaps as the bitmap to be written; receiving multiple Layer 3 multicast data packets with in-band telemetry headers from a multicast source server of the multicast stream; finding the multicast table entry based on each received Layer 3 multicast data packet; and setting the bit corresponding to the bitmap to be written based on the identifier value of the IP header of each received Layer 3 multicast data packet.
[0009] The beneficial effect of this application is that by recording the identifiers of the Layer 3 multicast data packets received by the switch, lost multicast data packets can be back-forwarded, thereby achieving visualization of Layer 3 multicast data. Detailed Implementation
[0010] The following detailed description will be provided with reference to several examples illustrated in the accompanying figures. In this detailed description, numerous specific details are used to provide a comprehensive understanding of the present application. Known methods, steps, components, and circuits are not described in detail in the examples to avoid obscuring their meaning.
[0011] In the terminology used, the term "including" means including but not limited to; the term "containing" means including but not limited to; the terms "above," "within," and "below" include the number itself; the terms "greater than" and "less than" mean not including the number itself. The term "based on" means based on at least a portion of them.
[0012] Figure 1 The image shows a method for visualizing multicast data packets provided in this application. The method includes: Step 101: Set two bitmaps with the same number of bits for the multicast entry of the multicast stream; wherein the number of bits in each bitmap is equal to the number of bits in the identification field of the IP header of the Layer 3 multicast datagram. Step 102: Write one of the two bitmaps into the bitmap. Step 103: Receive multiple Layer 3 multicast data packets with in-band telemetry heads from the multicast source server of the multicast stream; Step 104: Locate the multicast entry for each received Layer 3 multicast data packet; set the corresponding bit in the bitmap based on the identifier value of the IP header of each received Layer 3 multicast data packet.
[0013] The beneficial effect of this application is that by recording the identifiers of the Layer 3 multicast data packets received by the switch, lost multicast data packets can be back-forwarded, thereby achieving visualization of Layer 3 multicast data.
[0014] Figure 2 The diagram shown is a network schematic of the visualization of multicast data packets provided in this application. Figure 2 In this context, the application server is equipped with a Smart NIC (Smart Network Interface Card), which is used to completely transfer the virtual switch function from the server CPU to the network interface card. The Smart NIC usually contains multiple ports and an internal switch, which can quickly forward data and intelligently map it to relevant applications based on network packets, application sockets, etc., and detect and manage network traffic.
[0015] To enable visualization of multicast data packets and quick location of lost multicast data packets, the smart network interface card in this application is equipped with a dedicated network interface card for storing multicast data packets sent by the multicast source.
[0016] When a multicast source in the application server sends a multicast message, the message is transmitted to the physical switch via the smart network interface card (NIC). The smart NIC encapsulates the Layer 3 multicast data packet with an INT header containing a timestamp, according to the INT protocol format. It then stores the Layer 3 multicast data packet with the INT header in a database on the hard drive. The smart NIC and the dedicated hard drive communicate via a PCIe channel. The dedicated hard drive searches for the key, identification, multicast source IP address, and multicast group destination IP address of the Layer 3 multicast data packet with the INT header.
[0017] In the process of developing this application, the inventors, through repeated experiments and simulations, found that when an application service needs to quickly locate lost Layer 3 multicast data packets, the time required to backtrack these packets is not particularly long. For example, if a check is performed once per minute, based on the commonly used 10G port speed of application servers, the amount of Layer 3 multicast data packets per minute is 600G. For hard drives with a storage capacity of terabytes or more, storing backtracked Layer 3 multicast data packets will not occupy too much storage resource on the dedicated hard drive. When the dedicated hard drive is full, previously written data can be overwritten cyclically. The dedicated hard drive of the smart network card will not affect the storage space used by the application server itself due to storing these Layer 3 multicast data packets with INT headers.
[0018] In implementing this application, the inventors cleverly utilized the Identification field in the IP header. The Identification field is a unique identifier for each datagram sent by the host, and its value is typically incremented by one for each datagram sent. Network devices usually use the Identification field to identify different fragments of the same datagram whose length exceeds the MTU (Maximum Transmission Unit) of the transmission network.
[0019] However, this application uses a single stream to define the sequence number of a message by the value of the Identification field, thus identifying the Layer 3 multicast data packets in each multicast stream. Since the Identification field is 16 bits in size, the sequence number of a message in a single stream can be at most 0-65535.
[0020] Figure 2 In this process, the application server sends out a multicast stream, which may be replicated at the core layer switch, aggregation layer switch, and access layer switch, and finally replicated to all multicast receivers.
[0021] For example, if a multicast stream has 10 multicast receivers, when the multicast source sends 100 messages, all 10 multicast receivers should receive all 100 messages, meaning that the 100 messages sent by the multicast source are replicated into 1000 messages.
[0022] However, before forwarding packets to multicast receivers, access layer switches sample Layer 3 multicast data packets and send them to the analyzer. Because the analyzer's packet processing capability is far weaker than that of the physical switch, not every packet can be sent to the analyzer. The access layer switch samples one packet and sends it to the analyzer for every 10,000 Layer 3 multicast packets it receives, according to a set sampling ratio, for example, 10000:1. The access switch receives the packet with an INT header, adds the outgoing port information from the access switch, and includes a timestamp of the access switch's reception time, before sending it to the analyzer. Thus, the analyzer receives the sampled Layer 3 multicast data packets from the access layer switch, with the INT header carrying the timestamp added by the smart network interface card, the outgoing port information added by the access switch, and the access switch's reception timestamp. Based on the information in the INT header and the IP header of the Layer 3 multicast data packets, the analyzer calculates the latency of each multicast stream at each multicast receiver.
[0023] After the access layer switch removes the INT header of the Layer 3 multicast data packet, it searches for the multicast data table entry.
[0024] In this application, the Layer 3 multicast table of the access layer switch is shown in Table 1 below.
[0025] Table 1 Each forwarding entry sets two bitmaps, i.e., bitmaps. Figure 1 and position Figure 2 .Bit Figure 1 and position Figure 2 It has the same number of bits as the Identification field of a message in a stream of the corresponding multicast data stream in the multicast table entry.
[0026] For example, when the Identification field of each multicast stream in Table 1 is 16 bits, and each multicast table entry is... Figure 1 and position Figure 2 Each has a 65536-bit bitmap indicating whether the corresponding identification message has been received.
[0027] After the access switch removes the INT header from the Layer 3 multicast data packet, when it finds the multicast table entry based on the multicast source IP address 1.1.1.1 and the multicast group destination IP address 224.0.0.1, it sets the bit corresponding to the currently written bitmap according to the Identification field value. For example, if the currently written bitmap is bit... Figure 1 If the Identification field value is 65533, then the bit will be... Figure 1 Setting bit 65533 to 1 indicates that a Layer 3 multicast data packet has been received. Because the Identification field value of a packet in the same multicast stream becomes 0 after the next packet in the same multicast stream reaches 65535, and this time is very short, this application sets up two bitmaps to prevent the device from mistaking the Identification field value of 0 in the next packet for the Identification value of 0 in the previous round of data.
[0028] If, after receiving a multicast data packet with an Identification field value of 65533, the access switch finds a multicast table entry matching the multicast source IP address 1.1.1.1 and the multicast group destination IP address 224.0.0.1 in a Layer 3 multicast data packet, and determines that the Identification field value is 0, then it switches to the other bitmap of the two bitmaps, i.e., bit... Figure 2 ; and will position Figure 2 The first bit, bit0, is set to 1 to indicate that it has been received.
[0029] Access switches can be configured with a bitmap switching time threshold; when switching to bitmap... Figure 2 When the bitmap switching time threshold is reached, for example, 10 microseconds, the bitmap is read. Figure 1 The bits that are 0; for example, bits. Figure 1 If bits 65534 and 65535 are 0, then the Identification messages corresponding to these 0 bits are considered lost.
[0030] Figure 3 The diagram shown is a schematic representation of an embodiment of the present application for obtaining and forwarding lost Layer 3 multicast data packets.
[0031] The access switch sends the multicast source IP address 1.1.1.1, the multicast group destination IP address 224.0.0.1, the multicast member port, and the identification 65534 and identification 65535 corresponding to bit 65535 from the multicast table entry to the analyzer. The access switch then processes the bits in this multicast table entry... Figure 1 All bits are initialized to 0.
[0032] The analyzer determines, based on the received information, that the number of packets lost in the service flow with multicast source IP address 1.1.1.1 and multicast destination IP address 224.0.0.1 is 2.
[0033] The analyzer sends a request for lost multicast data packets to the smart network card of the application server via gRPC protocol messages; the request includes the multicast source IP address 1.1.1.1, the multicast group destination IP address 224.0.0.1, the multicast member port, the identification 65534 corresponding to bit 65534, and bit 65535.
[0034] The smart network interface card (NIC) receives a request for a lost multicast data packet. Based on the information in the request, it searches for and forwards the lost Layer 3 multicast data packets in the dedicated hard drive according to the following: Identification 65534, multicast source IP address 1.1.1.1, and multicast group destination IP address 224.0.0.1. This enables the tracing of the source of the multicast data.
[0035] The smart network interface card (NIC) sends the lost multicast data packets it finds to the analyzer via gRPC protocol messages; the analyzer then retrieves the discarded multicast packets.
[0036] Figure 4 This is a schematic diagram of an embodiment of a device for visualizing multicast data packets provided in this application. The device 40 includes a processor 41 and a memory 42; the memory stores processor-executable instructions; wherein the processor executes the processor-executable instructions in the memory to perform the following operations: setting two bitmaps with the same number of bits for a Layer 3 multicast table entry of a multicast stream; wherein the number of bits in each bitmap is equal to the number of bits in the identifier value field of the IP header of the Layer 3 multicast data packet; using one of the two bitmaps as the bitmap to be written; receiving multiple Layer 3 multicast data packets with in-band telemetry headers from a multicast source server of the multicast stream; finding the multicast table entry according to each received Layer 3 multicast data packet; and setting the bit corresponding to the bitmap to be written according to the identifier value of the IP header of each received Layer 3 multicast data packet.
[0037] Processor 41 also performs the following operations by running processor-executable instructions in memory 42: when the identifier of the IP header of the received Layer 3 multicast datagram is set to the initial identifier value; switches the other of the two bitmaps to the new bitmap to be written; and sets the first bit of the new bitmap to be written.
[0038] Processor 41 also performs the following operations by running processor-executable instructions in memory 42: the switching time of the new bitmap being written reaches a specified duration; each unset bit in the bitmap being written before the switching is read; multicast entry information and the identifier value corresponding to each unset bit are sent to the analyzer; so that the analyzer analyzes the number of lost multicast data packets based on the number of identifier values corresponding to each unset bit; and requests the lost multicast data packets from the server where the multicast source is located based on the multicast entry information and the identifier value corresponding to each unset bit.
[0039] Processor 41 also performs the following operations by running processor-executable instructions from memory 42: setting all bits written to the bitmap before the switch to their initial state.
[0040] Before processor 41 executes the operation of finding the multicast table entry for each received Layer 3 multicast data packet through processor-executable instructions in runtime memory 42, processor 41 also performs the following operations through processor-executable instructions in runtime memory: samples the received multiple Layer 3 multicast data packets with in-band telemetry heads according to the sampling rate; adds a reception timestamp to the sampled Layer 3 multicast data packets with in-band telemetry heads and sends them to the analyzer; and removes the in-band telemetry heads from the multiple Layer 3 multicast data packets with in-band telemetry heads.
[0041] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A method for visualizing multicast data packets, characterized in that, The method includes, Two bitmaps with the same number of bits are set for the multicast entries of the multicast stream; wherein the number of bits in each bitmap is equal to the number of bits in the identification field of the IP header of the Layer 3 multicast datagram; One of the two bitmaps is written into the bitmap. Receive multiple Layer 3 multicast data packets with in-band telemetry heads from the multicast source server of the multicast stream; The multicast entry is located for each received Layer 3 multicast data packet; the bit corresponding to the bitmap is set according to the identifier value of the IP header of each received Layer 3 multicast data packet.
2. The method according to claim 1, characterized in that, The method includes: When the identifier in the IP header of the received Layer 3 multicast data packet is the initial identifier value; Switch the other of the two bitmaps to the new bitmap to be written; Set the first bit of the new bitmap that has been written to it.
3. The method according to claim 2, characterized in that, The method further includes: The switching time of the new bitmap being written reaches the specified duration; Read each unset bit in the bitmap written before the switch; The multicast entry information and the identifier value corresponding to each unset bit are sent to the analyzer; so that the analyzer can analyze the number of lost multicast data packets based on the number of identifier values corresponding to each unset bit; and request the lost multicast data packets from the server where the multicast source is located based on the multicast entry information and the identifier value corresponding to each unset bit.
4. The method according to claim 3, characterized in that, The method further includes: Set all bits written to the bitmap before the switch to their initial state.
5. The method according to claim 3, characterized in that, Before finding the multicast table entry for each received Layer 3 multicast data packet, the method includes: The received Layer 3 multicast data packets with in-band telemetry heads are sampled according to the sampling rate; Add a receive timestamp to the sampled Layer 3 multicast data packets with in-band telemetry heads and send them to the analyzer; Remove the in-band telemetry heads from the multiple Layer 3 multicast data packets with in-band telemetry heads.
6. A device for visualizing multicast data packets, characterized in that, The device includes a processor and a memory; the memory stores processor-executable instructions; wherein the processor executes the processor-executable instructions in the memory to perform the following operations: Two bitmaps with the same number of bits are set for the Layer 3 multicast entries of the multicast stream; wherein the number of bits in each bitmap is equal to the number of bits in the identifier value field of the IP header of the Layer 3 multicast datagram; One of the two bitmaps is written into the bitmap. Receive multiple Layer 3 multicast data packets with in-band telemetry heads from the multicast source server of the multicast stream; The multicast entry is located for each received Layer 3 multicast data packet; the bit corresponding to the bitmap is set according to the identifier value of the IP header of each received Layer 3 multicast data packet.
7. The device according to claim 6, characterized in that, The processor also performs the following operations by executing processor-executable instructions in the memory: When the identifier in the IP header of the received Layer 3 multicast data packet is the initial identifier value; Switch the other of the two bitmaps to the new bitmap to be written; Set the first bit of the new bitmap that has been written to it.
8. The device according to claim 7, characterized in that, The processor also performs the following operations by executing processor-executable instructions in the memory: The switching time of the new bitmap being written reaches the specified duration; Read each unset bit in the bitmap written before the switch; Send the multicast entry information and the identifier value corresponding to each unset bit to the analyzer; This enables the analyzer to analyze the number of lost packets in multicast data packets based on the number of identifier values corresponding to each unset bit; And based on the multicast entry information and the identifier value corresponding to each unset bit, request the lost multicast data packets from the server where the multicast source is located.
9. The device according to claim 6, characterized in that, The processor also performs the following operations by executing processor-executable instructions in the memory: Set all bits written to the bitmap before the switch to their initial state.
10. The device according to claim 6, characterized in that, Before the processor performs the operation of finding the multicast table entry based on each received Layer 3 multicast data packet by running processor-executable instructions in the memory, the processor also performs the following operations by running processor-executable instructions in the memory: The received Layer 3 multicast data packets with in-band telemetry heads are sampled according to the sampling rate; Add a receive timestamp to the sampled Layer 3 multicast data packets with in-band telemetry heads and send them to the analyzer; Remove the in-band telemetry heads from the multiple Layer 3 multicast data packets with in-band telemetry heads.
Citation Information
Patent Citations
Hardware multicast outgoing interface table item issuing method and NP (Network Processors) line card board
CN107947950A
Multicast method in wireless LAN
JP2009207147A