System method and system for realizing pause frame in data retransmission process

By discarding the wrong packets and sending NACK requests, the sending side limits the retransmission amount, solving the bandwidth waste problem in the link laminar flow control state, realizing controllable data retransmission, saving bandwidth and power consumption.

CN120454942APending Publication Date: 2025-08-08YUNHE ZHIWANG (SHANGHAI) TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510786948.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-13
Publication Date
2025-08-08

AI Technical Summary

Technical Problem

In the link laminar flow control state, periodic sending NACK requests causes retransmission packets to be discarded, occupying bandwidth and wasting power consumption, and the amount of retransmission data is unlimited, resulting in waste of link bandwidth.

Method used

When the receiving end judges that the packet is wrong, it discards and sends a NACK request. The sending end releases the buffer space and retransmits data according to the NACK request, limits the retransmission amount to realize the pause frame function, and determines the link bandwidth-delay product by configuring the maximum value.

Benefits of technology

Ensure that the retransmission packets in the buffer space are received, avoid multiple data retransmissions, realize controllable data retransmission, and save bandwidth and power consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120454942A_ABST
    Figure CN120454942A_ABST
Patent Text Reader

Abstract

The invention discloses a method and a system for realizing a pause frame in a data retransmission process, and the method comprises the steps: a receiving end receives a current data packet and judges whether the current data packet is a correct data packet or not in a link layer transmission process; when the receiving end judges that the current data packet is a wrong data packet, the receiving end discards the current data packet and subsequent data packets and sends an NACK request to the sending end; after the sending end receives the NACK request, on one hand, the buffer space is released, and on the other hand, data retransmission is carried out according to the NACK request; wherein the retransmitted data volume is all data packets which are not released in the buffer space; and the sending end feeds back to the upstream of the sending end when judging that the data volume of the data packet which is not released in the buffer space is greater than a preset maximum value, so that the upstream stops sending a new data packet to realize a frame pause function. According to the invention, it can be ensured that the retransmitted data packets in the buffer space can be received by the receiving end, multiple retransmission of data is effectively avoided, and controllable data retransmission is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of network technology, and in particular to a method and system for realizing a pause frame in a data retransmission process. Background Art

[0002] With the advancement of artificial intelligence and high-performance computing, any network delay has a significant impact on transmission efficiency, placing high-bandwidth, low-latency technical requirements on data transmission networks. For latency-sensitive workloads, relying solely on traditional end-to-end retransmission to address packet loss is no longer sufficient. To reduce transmission latency, network networks typically retransmit packets at the link layer.

[0003] During Ethernet link layer transmission, receiving a PAUSE frame halts the transmission of new packets, but does not halt retransmissions. In some designs, if the receiving end initiates flow control, it sends a PAUSE frame, discards the received packet, and issues a NACK to the peer end requesting a retransmission. Upon receiving the NACK, the local end initiates a retransmission. Upon receiving the retransmitted data, the receiving end continues to discard the data and issues a NACK, repeating this cycle until flow control ends and the link resumes normal transmission and retransmission.

[0004] like Figure 1 As shown in the figure, it shows the processing flow at both ends of the link when using PAUSE frames for flow control. Figure 1 In this scenario, under normal link conditions, the TX sends P1 / P2 packets, which the RX receives normally. After receiving the P2 packet, the RX's receive FIFO becomes full, and it sends a PAUSE frame and a NACK request to the TX. At this point, the link is in flow control, and the subsequent P3 packet is discarded. After receiving the NACK request, the TX retransmits P3, but the RX discards it and sends a NACK again. The TX then retransmits until the RX's receive FIFO is no longer full, the link returns to normal, and P3 is received normally.

[0005] The above solution implements link flow control by discarding retransmitted data packets when the link is in flow control state, ensuring the normal operation of the pause frame function.

[0006] When the receiving end's buffer is almost full and flow control is initiated, implementing the pause frame function by dropping packets is logically simple, but it has the following problems:

[0007] When a link is in flow control, the receiver periodically sends NACKs to the transmitter, triggering retransmissions. These retransmitted packets are discarded until flow control is lifted and the link returns to normal. This periodic NACKing and retransmission triggering consumes link bandwidth and has a certain impact on power consumption.

[0008] In the flow control state, when a NACK is received from the other end, the sender is triggered to retransmit. There is no limit on the flow of retransmitted data packets. If the amount of retransmitted data is large, the link will continue to send retransmitted data, and the retransmitted data packets will be discarded at the receiving end, wasting link bandwidth. Summary of the Invention

[0009] In view of the above problems, an object of the embodiments of the present invention is to provide a method and system for implementing a pause frame during data retransmission, so as to improve the above problems.

[0010] An embodiment of the present invention provides a method for implementing a pause frame during data retransmission, which includes:

[0011] During the link layer transmission process, the receiving end receives the current data packet and determines whether the current data packet is a correct data packet;

[0012] When the receiving end determines that the current data packet is an erroneous data packet, it discards the current data packet and subsequent data packets and sends a NACK request to the sending end;

[0013] After receiving the NACK request, the transmitting end releases the buffer space and retransmits the data according to the NACK request; wherein the amount of retransmitted data is all the data packets in the buffer space that have not been released;

[0014] When the sending end determines that the amount of data packets not released in the buffer space is greater than a preset maximum value, the sending end feeds back to the upstream of the sending end, causing the upstream to stop sending new data packets, thereby realizing the pause frame function.

[0015] Preferably, the preset maximum value is configured by a user and depends on the product of link bandwidth-delay.

[0016] Preferably, it also includes:

[0017] When the receiving end determines that the current data packet is a correct data packet, it periodically sends an ACK request to the sending end;

[0018] After receiving the ACK request, the sending end releases the corresponding buffer space according to the ACK request.

[0019] Preferably, the amount of data packets not released in the buffer space is calculated as follows:

[0020] The transmitter inputs the input data packet into the TX processing module in slices, accumulates the size of each slice in the PKT_SIZE_GEN module and calculates the size of the entire data packet pkt_size at the end of the frame.

[0021] The PKT_ID_GEN module generates a corresponding pkt_id for each data packet at the end of the frame;

[0022] Use pkt_id / pkt_size as the write address and data, write the packet size into the buffer PKT_SIZE_BUFF, and send the packet and the generated corresponding pkt_id to the receiving end.

[0023] Preferably, the ACK / NACK request includes the pkt_id corresponding to the data packet; and further includes:

[0024] When the sender receives the ACK / NACK, it determines the validity of the request. For a valid ACK / NACK request, it uses its pkt_id as the read address to read the size information corresponding to the data packet to be released and calculates the real-time data packet size.

[0025] Preferably, it also includes:

[0026] After receiving the ACK / NACK request, the sender reads the pkt_id from the previous ACK / NACK request to the pkt_id of the current ACK / NACK request continuously;

[0027] When it is determined that the interval between two ACK / NACK requests is relatively short, resulting in the previous one not being read completely but a new request being received, the sender updates the end address of the read and updates the end address to the pkt_id in the latest ACK / NACK request.

[0028] An embodiment of the present invention further provides a system for implementing a pause frame during data retransmission, comprising:

[0029] The receiving end is used to receive the current data packet and determine whether the current data packet is a correct data packet during the link layer transmission process;

[0030] The receiving end is further configured to discard the current data packet and subsequent data packets and send a NACK request to the sending end when the current data packet is determined to be an erroneous data packet;

[0031] The transmitting end is configured to release the buffer space after receiving the NACK request and retransmit the data according to the NACK request; wherein the amount of retransmitted data is all the unreleased data packets in the buffer space;

[0032] The sending end is further configured to provide feedback to the upstream of the sending end when it is determined that the amount of data packets not released in the buffer space is greater than a preset maximum value, so as to cause the upstream to stop sending new data packets, thereby realizing a pause frame function.

[0033] Preferably, the preset maximum value is configured by a user and depends on the product of link bandwidth-delay.

[0034] Preferably, the amount of data packets not released in the buffer space is calculated as follows:

[0035] The input data packet is input into the TX processing module in slices, and the size of each slice is accumulated in the PKT_SIZE_GEN module and the size of the entire data packet pkt_size is calculated at the end of the frame.

[0036] The PKT_ID_GEN module generates a corresponding pkt_id for each data packet at the end of the frame;

[0037] Use pkt_id / pkt_size as the write address and data, write the packet size into the buffer PKT_SIZE_BUFF, and send the packet and the generated corresponding pkt_id to the receiving end.

[0038] In summary, this embodiment of the present invention configures the maximum allowable buffer size for retransmitted packets based on the link bandwidth-delay product. It also calculates the amount of unreleased data in the retransmission buffer in real time based on ACK / NACK requests. Once the unreleased data reaches the configured maximum, backpressure is applied to the upstream. Therefore, when a pause frame is initiated, all retransmitted packets in the buffer are ensured to be received by the receiving end, effectively avoiding multiple data retransmissions and achieving controllable data retransmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] In order to more clearly illustrate the technical solution of the present invention, the following is a brief introduction to the drawings required for use in the implementation. Obviously, the drawings described below are only some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0040] Figure 1 This is a diagram of the existing link processing state when sending a pause frame.

[0041] Figure 2 It is a flowchart of a method for implementing a pause frame during data retransmission provided by the first embodiment of the present invention.

[0042] Figure 3 This is a link processing state diagram when sending a pause frame provided by an embodiment of the present invention.

[0043] Figure 4 This is the implementation diagram for calculating outstanding_data.

[0044] Figure 5 This is the calculation flow chart of outstanding_data. DETAILED DESCRIPTION

[0045] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0046] See also Figure 2 A first embodiment of the present invention provides a method for implementing a pause frame during data retransmission, which includes:

[0047] S101, during the link layer transmission process, the receiving end receives a current data packet and determines whether the current data packet is a correct data packet.

[0048] S102, when the receiving end determines that the current data packet is an erroneous data packet, the receiving end discards the current data packet and subsequent data packets and sends a NACK request to the sending end;

[0049] S103, after receiving the NACK request, the transmitting end releases the buffer space and retransmits the data according to the NACK request; wherein the amount of retransmitted data is all the unreleased data packets in the buffer space;

[0050] S104, when the sending end determines that the amount of unreleased data packets in the buffer space is greater than a preset maximum value, the sending end provides feedback to the upstream of the sending end, causing the upstream to stop sending new data packets, thereby realizing a pause frame function.

[0051] Specifically, if Figure 3 As shown, during the link layer transmission process, after receiving the correct data packet, the receiving end ( Figure 3 The RX in the Figure 3 The sender sends an ACK request (TX in the ACK request). After receiving the ACK request, the sender releases the corresponding buffer space based on the ACK request information. If an erroneous data packet is received, the receiver discards the erroneous packet and sends a NACK request. After receiving the NACK request, the sender releases the buffer space and retransmits the data based on the information in the NACK request. The amount of data retransmitted is equal to all the unreleased data packets in the buffer space.

[0052] The data retransmission process is as follows: Figure 3As shown in the figure, assuming that packets P0 / P1 / P2 are normally sent and received, after receiving packet P0, the receiver sends an ACK request for packet P0 to the sender, causing the sender to release the buffer space occupied by packets P0 and earlier. After receiving packet P0, the receiver's buffer space becomes full and a pause frame is issued. If an error occurs during the transmission of packet P3, the receiver discards packet P3 and all subsequent packets and sends a NACK request to the sender, requesting it to retransmit starting from packet P3. The issuance of the pause frame halts the transmission of new packets but does not prevent retransmissions. The sender will retransmit packet P3 and subsequent packets in response to the NACK request.

[0053] As can be seen, if retransmission is triggered during the pause frame's validity period, the sender will retransmit all unreleased packets in the buffer. However, if the number of unreleased packets in the buffer is too large, retransmission may fail. Therefore, this embodiment also requires calculating and constraining the number of unreleased packets in the buffer that need to be retransmitted, ensuring that the amount of retransmitted data does not exceed the bandwidth-delay product to ensure the normal function of the pause frame.

[0054] Specifically, the present invention defines the amount of unreleased packets in the buffer as outsdanding_data and provides a user-configured value to limit the maximum value of outstanding packets in the buffer, outstanding_data_max. The value of outstanding_data_max depends on the product of link bandwidth and latency. When outsdanding_data reaches the maximum value, the transmitter backpressures its upper layer (i.e., upstream of the transmitter) and stops sending new packets, thus implementing the pause frame function.

[0055] Among them, the calculation of outsdanding_data is as follows Figure 4 As shown:

[0056] Input packets enter the TX processing module in slices. The PKT_SIZE_GEN module accumulates the size of each slice and calculates the total packet size (pkt_size) at the end of the frame (EOP). The PKT_ID_GEN module generates a corresponding pkt_id for each packet at the EOP. Using the pkt_id / pkt_size combination as the write address and data, the packet size is written to the PKT_SIZE_BUFF buffer. Simultaneously, the TX sends the packet and the generated pkt_id to the receiver.

[0057] If the receiver receives a correct data packet, it will respond with an ACK request after a period of time. If it receives an incorrect data packet, it will respond with a NACK, prompting the sender to retransmit. The ACK / NACK request contains the pkt_id corresponding to the data packet. When the sender receives the ACK / NACK, it first verifies the validity of the request in the ACK_NACK_JUD module. For valid ACK / NACKs, it uses the pkt_id as the read address to read the size information corresponding to the data packet to be released. This information is then sent to the OUTSTANDING_DATA_CALC module to calculate the real-time outsdanding_data size.

[0058] In summary, this embodiment of the present invention configures the maximum allowable buffer size for retransmitted packets based on the link bandwidth-delay product. It also calculates the amount of unreleased data in the retransmission buffer in real time based on ACK / NACK requests. Once the unreleased data reaches the configured maximum, backpressure is applied to the upstream. Therefore, when a pause frame is initiated, all retransmitted packets in the buffer are ensured to be received by the receiving end, effectively avoiding multiple data retransmissions and achieving controllable data retransmission.

[0059] Some preferred embodiments of the present invention are further described below.

[0060] It should be noted that in the above embodiment, after receiving an ACK / NACK request, the sender will continuously read the pkt_id from the previous ACK / NACK request to the pkt_id of the current ACK / NACK request. If the interval between two ACK / NACK requests is relatively short, it may happen that the previous request is not fully read but a new request is received.

[0061] Therefore, in this embodiment, the sender also needs to update the end address of the read, and update the end address to the pkt_id in the latest ACK / NACK. At this time, the outstanding_data calculation process is as follows: Figure 5 As shown:

[0062] After receiving the EOP slice of the data packet, the sender calculates the size of the entire data packet. At this time, outstanding_data needs to be added with the size of the data packet. If a reasonable ACK / NACK request is received, it is determined whether the last ACK / NACK read of the buffer space has ended. If not, the read end address is updated to the latest pkt_id, and the buffer is continued to be read. If the previous read request has ended, the latest pkt_id is read continuously from the last read end address. At this time, the outstanding_data needs to be subtracted from the size of the read data packet. The calculated outstanding_data is compared with outstanding_data_max. If it is greater than or equal to outstanding_data_max, the upstream is blocked or back-pressured to stop the upstream from sending new data packets.

[0063] Based on this preferred embodiment, the read end address can be updated in real time according to ACK / NACK, ensuring that data can be read out continuously for outstanding_data calculation.

[0064] The second embodiment of the present invention further provides a system for implementing a pause frame during data retransmission, which includes:

[0065] The receiving end is used to receive the current data packet and determine whether the current data packet is a correct data packet during the link layer transmission process;

[0066] The receiving end is further configured to discard the current data packet and subsequent data packets and send a NACK request to the sending end when the current data packet is determined to be an erroneous data packet;

[0067] The transmitting end is configured to release the buffer space after receiving the NACK request and retransmit the data according to the NACK request; wherein the amount of retransmitted data is all the unreleased data packets in the buffer space;

[0068] The sending end is further configured to provide feedback to the upstream of the sending end when it is determined that the amount of data packets not released in the buffer space is greater than a preset maximum value, so as to cause the upstream to stop sending new data packets, thereby realizing a pause frame function.

[0069] Preferably, the preset maximum value is configured by a user and depends on the product of link bandwidth-delay.

[0070] Preferably, the amount of data packets not released in the buffer space is calculated as follows:

[0071] The input data packet is input into the TX processing module in slices, and the size of each slice is accumulated in the PKT_SIZE_GEN module and the size of the entire data packet pkt_size is calculated at the end of the frame.

[0072] The PKT_ID_GEN module generates a corresponding pkt_id for each data packet at the end of the frame;

[0073] Use pkt_id / pkt_size as the write address and data, write the packet size into the buffer PKT_SIZE_BUFF, and send the packet and the generated corresponding pkt_id to the receiving end.

[0074] In the several embodiments provided in the embodiments of the present invention, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device and method embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions, and operations of the devices, methods, and computer program products according to multiple embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or part of the code, which contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions marked in the boxes can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, as well as the combination of boxes in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified functions or actions, or can be implemented using a combination of dedicated hardware and computer instructions.

[0075] In addition, the functional modules in the various embodiments of the present invention may be integrated together to form an independent part, or each module may exist independently, or two or more modules may be integrated to form an independent part.

[0076] If the functions are implemented in the form of software modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the portion that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, electronic device, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The aforementioned storage media include various media that can store program code, such as USB flash drives, mobile hard drives, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical disks. It should be noted that, in this document, the terms "comprise," "include," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or device that includes a series of elements includes not only those elements but also other elements not explicitly listed, or also includes elements inherent to such process, method, article, or device. Without further constraints, an element defined by the phrase "comprises a..." does not preclude the existence of additional identical elements in the process, method, article or apparatus that includes the element.

[0077] The terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. The singular forms "a", "an", "the" and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise.

[0078] It should be understood that the term "and / or" as used herein is merely a description of the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.

[0079] The word "if," as used herein, may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to the determination" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)," depending on the context.

[0080] The "first" and "second" mentioned in the embodiments are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It is understood that the specific order or precedence of "first" and "second" can be interchanged where appropriate. It should be understood that the objects distinguished by "first" and "second" can be interchanged where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein.

[0081] The foregoing description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Those skilled in the art will readily appreciate that various modifications and variations of the present invention are possible. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present invention shall be included within the scope of protection of the present invention.

Claims

1. A method for implementing a pause frame during data retransmission, characterized in that: include: During the link layer transmission process, the receiving end receives the current data packet and determines whether the current data packet is a correct data packet; When the receiving end determines that the current data packet is an erroneous data packet, it discards the current data packet and subsequent data packets and sends a NACK request to the sending end; After receiving the NACK request, the transmitting end releases the buffer space and retransmits the data according to the NACK request; wherein the amount of retransmitted data is all the data packets in the buffer space that have not been released; When the sending end determines that the amount of data packets not released in the buffer space is greater than a preset maximum value, the sending end feeds back to the upstream of the sending end, causing the upstream to stop sending new data packets, thereby realizing the pause frame function.

2. The method for implementing a pause frame during data retransmission according to claim 1, wherein: The preset maximum value is configured by the user and depends on the link bandwidth-delay product.

3. The method for implementing a pause frame during data retransmission according to claim 1, wherein: Also includes: When the receiving end determines that the current data packet is a correct data packet, it periodically sends an ACK request to the sending end; After receiving the ACK request, the sending end releases the corresponding buffer space according to the ACK request.

4. The method for implementing a pause frame during data retransmission according to claim 3, wherein: The calculation process of the amount of data packets that have not been released in the buffer space is as follows: The transmitter inputs the input data packet into the TX processing module in slices, accumulates the size of each slice in the PKT_SIZE_GEN module and calculates the size of the entire data packet pkt_size at the end of the frame. The PKT_ID_GEN module generates a corresponding pkt_id for each data packet at the end of the frame; Use pkt_id / pkt_size as the write address and data, write the packet size into the buffer PKT_SIZE_BUFF, and send the packet and the generated corresponding pkt_id to the receiving end.

5. The method for implementing a pause frame during data retransmission according to claim 4, wherein: The ACK / NACK request contains the pkt_id corresponding to the data packet; it also includes: When the sender receives the ACK / NACK, it determines the validity of the request. For a valid ACK / NACK request, it uses its pkt_id as the read address to read the size information corresponding to the data packet to be released and calculates the real-time data packet size.

6. The method for implementing a pause frame during data retransmission according to claim 5, wherein: Also includes: After receiving the ACK / NACK request, the sender reads the pkt_id from the previous ACK / NACK request to the pkt_id of the current ACK / NACK request continuously; When it is determined that the interval between two ACK / NACK requests is relatively short, resulting in the previous one not being read completely but a new request being received, the sender updates the end address of the read and updates the end address to the pkt_id in the latest ACK / NACK request.

7. A system for implementing a pause frame during data retransmission, characterized in that: include: The receiving end is used to receive the current data packet and determine whether the current data packet is a correct data packet during the link layer transmission process; The receiving end is further configured to discard the current data packet and subsequent data packets and send a NACK request to the sending end when the current data packet is determined to be an erroneous data packet; The transmitting end is configured to release the buffer space after receiving the NACK request and retransmit the data according to the NACK request; wherein the amount of retransmitted data is all the unreleased data packets in the buffer space; The sending end is further configured to provide feedback to the upstream of the sending end when it is determined that the amount of data packets not released in the buffer space is greater than a preset maximum value, so as to cause the upstream to stop sending new data packets, thereby realizing a pause frame function.

8. The system for implementing a pause frame during data retransmission according to claim 7, wherein: The preset maximum value is configured by the user and depends on the link bandwidth-delay product.

9. The system for implementing a pause frame during data retransmission according to claim 7, wherein: The calculation process of the amount of data packets that have not been released in the buffer space is as follows: The input data packet is input into the TX processing module in slices, and the size of each slice is accumulated in the PKT_SIZE_GEN module and the size of the entire data packet pkt_size is calculated at the end of the frame. The PKT_ID_GEN module generates a corresponding pkt_id for each data packet at the end of the frame; Use pkt_id / pkt_size as the write address and data, write the packet size into the buffer PKT_SIZE_BUFF, and send the packet and the generated corresponding pkt_id to the receiving end.