## 2 Methods
### Reliable Transmission Design Mechanism
#### 2.1.2 NACK Dynamic Adjustment Transmission Mechanism
Figure 2: Processing flow of data packets from the receiver. The advantage of this algorithm is that dupthresh can be dynamically updated according to the network state, and it avoids the excessive influence of a single out-of-order packet length on dupthresh. As shown in Figure 3, whether the message generation unit qualitatively confirms the processing description of data messages depends on the context. When the expected sequence number is greater than the packet number, a confirmation task for the retransmission range is created based on the actual situation. The sequence number of the mapping bitmap is 1-8 (with the start sequence number determined by the expected sequence number when the packet is created), and the timer is used to set the sending time. When the packet with seven serial numbers is received at the last update, the time difference for updating the sending time of subsequent negative acknowledgment packets is recorded. The actual mapping bitmap to be sent is determined using the previously set sending time through EWMA. For example, when packet 5 is received, the mapping bitmap in the negative acknowledgment packet is 00000110. That is, packets numbered 6 or 7 need to be retransmitted. Note that when a retransmission acknowledgment task is created, the expected sequence number must be outside the acknowledgment range of an existing task. Figure 3 shows the third build. ### Discussion of Implementation Details

#### 2.2.1 Implementation Platform: Programmable Data Plane-Enabled Switch

The Data Plane Development Kit (DPDK) is a software programming framework designed for data plane operations on general-purpose CPU platforms. It is commonly employed to accelerate packet processing in Software-Defined Networking (SDN) software switches [24; 25]. The advantages of utilizing general-purpose CPU platforms include their inherent flexibility, programmability, advanced computational capabilities, and strengths in parallel processing. Software-based solutions can readily adapt to emerging network protocols and evolving service requirements, enhancing the flexibility of network design and maintenance. General-purpose CPUs are particularly adept at managing complex computational tasks, and with the widespread adoption of multi-core processors, parallel processing can significantly improve performance. With careful design, this approach can achieve line-rate speeds of up to 10 Gbps. This paper presents the development and validation of an enhanced transmission unit based on a DPDK programmable switch, which we refer to as a reliable transmission unit. While our work is applicable to various types of networks, we believe it holds particular significance for addressing failures in data center links and facilitating communication between data centers over wide-area networks that demand high bandwidth utilization [2]. Figure 3: Sending instructions for NACK. #### 2.2.2 New Reliable Header

As networks evolve to accommodate increasing data traffic and diverse service requirements, there is a pressing need for innovative solutions to enhance communication and optimize resource utilization. The introduction of new protocol fields within Software-Defined Networking (SDN) frameworks presents an opportunity to address these challenges by providing additional context and control mechanisms that can improve packet processing, error handling, and overall network reliability [26; 27]. As illustrated in Figure 4, we have developed a novel header, referred to as the reliable header, which is of variable length and is situated between the upper-layer header (e.g., TCP, UDP) and the lower-layer header (e.g., IP). This new header facilitates intermediate nodes, specifically programmable data plane-enabled switches, to self-estimate link loss using the information contained within the header. Consequently, these nodes can send control packets utilizing NACK to the receiver, thereby requesting retransmission. There are five fields in the header, which are described below.