## 2 Methods
### Reliable Transmission Design Mechanism
#### 2.1.2 NACK Dynamic Adjustment Transmission Mechanism
The Type field specifies the protocol type of the packet and is used to indicate whether the reliable transmission feature is enabled. Additionally, it distinguishes between regular data packets and control packets like NACK used to trigger retransmissions and performs different processing. The Dst_ID field represents the next hop address identifier of the packet, which can be an IP address or a custom overlay source-destination identifier. Similarly, the Src_ID field denotes the current node address identifier, which can also be an IP address or a custom overlay source-destination identifier. The Type, Dst_ID, and Src_ID fields are utilized to identify a reliable transmission flow through mechanisms such as flow table matching. The reliable transmission flow refers to the data stream that employs the reliable transmission method provided by this invention. The Pkt_num field indicates the sequence number of the reliable transmission data packet. The Pkt_num field is employed for packet loss detection and data packet retransmission. The usage and mechanisms of this field are discussed later. The variable Para. field can be used for critical control information in control packets. We enable a bitmap within the NACK packet as a field to inform the sender which data packets need to be retransmitted. This approach allows a single NACK to carry more information, enhancing its efficiency. The length of the bitmap we utilize is 64 bits. #### 2.2.3 Implementation Details

Our switch can function both as a sender and a receiver. When a data packet enters the node, it first acts as a receiver, forwarding the packet to the reliable transmission unit. After that, the packet proceeds through the other components of the switch, such as flow table matching and other processing routines. Once the packet is ready to exit the switch, it

Figure 4: Reliable header. is sent back to the reliable transmission unit, where it is then processed as a sender and renumbered for sending. Now, we provide a detailed explanation of how this system ensures a low packet loss rate between two nodes. The packet transmission topology is illustrated in Figure 5.

The structure of the reliable transmission unit is shown in Figure 6, connected to the prototype DPDK switch via a virtual network interface. We first discuss how LL-ReTX ensures a low link-loss rate between nodes. The previous hop node increments the sequence number of the transmitted packet and caches it, while also handling negative acknowledgment (NACK) packets received from the next hop. When a retransmission request from the next hop arrives, the node searches for the corresponding data packet in the cache. The next hop node maintains an expected packet sequence number and monitors for anomalies in the data packets. If the packet sequence number does not match the expected sequence number, it is considered an anomaly and is handed over to the data reception unit for processing. Upon receiving a normal data packet or handling a packet with a sequence number greater than the expected sequence number, the next hop node updates the current expected sequence number. Figure 5: Topology of the 10 Gb/s testbed, using DPDK to model LL-ReTx and faulty links. Figure 6: Processing flow of the reliable transmission unit. When the next hop node detects an anomalous packet, it forwards the information to the NACK generation unit for processing. If the packet sequence number is greater than the expected sequence number, a new retransmission confirmation task is created, or an existing task is updated, using the starting sequence number and a bitmap to mark the sequence numbers of packets that need retransmission. If the packet sequence number is lower than the expected sequence number, the bitmap in the existing task is updated. Each retransmission confirmation task is controlled by a timer to manage the transmission time. The bitmap is used to merge retransmission information for multiple packets, tolerating potential out-of-order packets on the link and thus reducing bandwidth consumption.