The Go-Back- N ARQ protocol was an improved version of the traditional ARQ protocol. Its main features were as follows: 1. ** Sending mechanism ** - In this protocol, the sender did not need to send the next data packet after receiving the acknowledgment frame of the previous data packet. Instead, it could send data packets continuously. The sender did not have to wait before receiving an acknowledgment, and could continue to send multiple frames within the window. If the sender received an acknowledgment from the receiver, it could continue to send subsequent frames. - If the serial number of the frame is numbered with n bits, then the transmission window W should satisfy: W <2-1. 2. ** Resend mechanism ** - During the process of sending the data packets, if the sender receives a NAC (negative acknowledgment frame) corresponding to a certain data packet that has already been sent, the sender will resend the data packet corresponding to the NAC, and then resend the data packets after the data packet. This process was like retransmitting N frames that had already been sent from the wrong place. 3. ** Slide-window mechanism ** - The backward N-frame protocol uses a sliding window mechanism, and its transmission window W> Compared to stop-and-wait ARQ (the number of transmit and receive windows is 1), continuous ARQ reduces the waiting time and improves the transmission throughout and efficiency. 4. ** Upper-level transfer related ** - When the upper layer sends data, the sender should check whether the sending window is full. If it is not full, a frame will be sent. If the window is full, the sender's data will be returned to the upper layer (in fact, the sender can buffer this data). 5. ** Confirm mechanism ** - The confirmation of frame number n uses the cumulative confirmation method, indicating that the receiver has received all the data frames before frame number n. 6. ** Overtime processing ** - If the sender does not receive an acknowledgment message, the sender will resend all the frames that have been sent but not acknowledged. 7. ** Receiving party processing ** - If the receiver received frame number n correctly, the receiver would send an acknowledgment to the sender and pass the data to the upper layer. The rest would be discarded. "Choose" was equally exciting. Everyone was welcome to read it!
Go-back- N (GGN): - In the stop-and-wait protocol, the sender can only send one frame at a time, and the channel utilization rate is low. However, the backward N-frame protocol uses a sliding window method, and the sender maintains a set of sending windows, and can send multiple data frames at a time. The receiver uses the method of cumulative confirmation, and the sender moves the sending window forward after receiving the confirmation. When there was a problem (such as frame loss or long delay), the sender used the method of retreating N frames to re-transmit. The timer here was used to recover data frames or confirm the loss of frames, similar to the timer in the pause protocol. Choosing the Repeat protocol: - Different from the N-frame backward protocol, when the receiver receives an out-of-order frame, it will not discard all subsequent frames like the N-frame backward protocol. Instead, it will buffer the correctly received out-of-order frame. When the sender found that a frame was lost, it only retransmitted the lost frame, instead of retransmitting the subsequent N frames from the lost frame like the backward N frames protocol. This could avoid unnecessary data retransmissions and improve transmission efficiency, especially in a poor network environment with a high packet loss rate. Both of these two types of protocol were designed to deal with the loss of frames and the disorder of order during data transmission to improve the reliability and efficiency of data transmission. However, the specific ways in which they dealt with the problem were different. "Choose" was equally exciting. Everyone was welcome to read it!
In the backward N frames protocol (GGN protocol), the acknowledgment of frame n was done in a cumulative manner, indicating that the receiver had received all the data frames before frame n. "Choose" was equally exciting. Everyone was welcome to read it!
The N-frame Backoff (GGN) protocol allows the sender to send multiple data frames in succession to improve channel utilization. In the stop-and-wait protocol, the sender could only send one frame at a time, and the channel utilization rate was low. However, GGN adopted the sliding window method, and the sender maintained a set of sending windows, which could send multiple data frames at a time. The calculation of channel utilization is related to many factors, such as data transmission rate, one-way transmission delay, data frame length, etc. Suppose the data transmission rate is R (bit per second), the one-way transmission delay is T (s), and the data frame length is L (bit). In an ideal situation, the sender can continue to send data frames without considering errors and retransmissions during transmission. At this time, the channel utilization can be approximately expressed as: <U>=<frac{L}>{(2T +<frac{L}{R})R}>. In the GGN protocol, the larger the transmission window, the more data frames allowed to be transmitted, and the higher the channel utilization rate. However, the transmission window could not be infinitely large. When using n bits to code, the maximum transmission window is <<2> n>-<1>. However, if there was an error and the transmission needed to be repeated, the GGN protocol's transmission mechanism would affect the channel utilization. Since GGN uses a cumulative acknowledgment method, the sender will move the sending window forward after receiving the acknowledgment. If the sender does not receive the acknowledgment or receives a negative acknowledgment (NAC), it needs to retreat N frames and resend all the sent frames after the acknowledgment frame. When an error occurs, the frame that has been transmitted correctly will also be retransmitted, thus reducing the channel utilization to a certain extent. "Choose" was equally exciting. Everyone was welcome to read it!
When n bits are used to number the frames, the size of the transmission window should be less than 2n - 1. If the size of the transmission window is larger than 2n - 1, the receiver will not be able to distinguish between the new frame and the old frame. For example, 8 different serial numbers can be made with 3 bits, and the maximum number of transmission windows should be 8, but in fact, setting the transmission window to 8 will make the protocol unable to work under certain circumstances. " Choose " was equally exciting. Everyone was welcome to read it!
1. ** sender's angle ** - Let the time to send a frame be <T_f>, the transmission delay be <T_p>, and the size of the sending window be <W>. - In the stop-and-wait protocol (transmit window <<W = 1>>), the channel utilization rate <U>=<frac>{T_f}{T_f +2T_p}>. - For the backward frame protocol (GGN), the sender can send a continuous number of frames. The total time it takes for the sender to send the W frames is W, and the total time from the start of the transmission to the time it receives the first acknowledgment frame (assuming it is received correctly) is W. - Therefore, the channel utilization rate is <U>=<frac>{WTf>}{WTf +2Tp>}. 2. ** Receiving angle ** - The receiver used the cumulative confirmation method. - Assuming that the sender sent a number of frames, the receiver will discard all the frames after the number of frames. - The sender needs to re-transmit all the frames starting from the <k> th frame, which will affect the channel utilization. In the ideal case (error-free transmission), the channel utilization rate is calculated as before. In the case of errors, the channel utilization rate will be reduced due to retransmissions. The specific degree of reduction depends on the frequency and location of errors. 3. ** Overall consideration ** - The channel utilization is also related to the number of digits in the frame number, because the transmit window size, W, has a maximum limit, W'leqslant2 ^n- 1. When W is close to this maximum value, the channel utilization rate can be improved without error, but it also increases the risk of frame number confusion (like the example of the 2-bit number mentioned earlier). Once the error is retransmitted, the channel utilization rate will be greatly affected. "Choose" was equally exciting. Everyone was welcome to read it!
The Fallback N-frame protocol (GGN) was a continuous ARQ protocol. It was based on the pipeline transmission and used the transmission window to limit the number of packets that the sender could continuously send. Both the sender and the receiver use a certain number of bits to number the packets and use them repeatedly. The sender has a sending window, and the data packets whose sequence number falls within this window can be sent continuously without waiting for a reply. The size of the sending window is recorded as Wt, and the size of the receiving window is recorded as Wr. For the fallback N-frame protocol, Wr is usually taken as 1. Packets with sequence numbers falling within the receiving window can be received. Every time a packet is received, the receiving window will slide back and send a confirmation packet (using the cumulative confirmation method). The advantage of this kind of cumulative acknowledgment is that even if the acknowledgment packet is lost, the sender may not need to re-transmit, thereby reducing the overhead of the receiver and the occupation of network resources. When there is an error or interference, the receiver will discard the packet and the subsequent packets, and send an acknowledgment of the most recently received packet. Once the time-out timer is expired, these packets will all be retransmitted (that is, the N frames that have been sent out will be retransmitted from the error). However, if Wt exceeds the upper limit of its value (if the frame sequence number is numbered with n bits, then Wt <2-1), it may cause serious errors. For example, the receiver may not be able to distinguish between old and new packets, resulting in repeated packets. Moreover, the channel utilization rate may not be higher than that of the stop-and-wait protocol. "Choose" was equally exciting. Everyone was welcome to read it!
In the fallback N-frame protocol, if n bits are used to number the frames, the value range of the transmit window size is 1 < Wh < 2n- 1, and the value of the receive window size can only be 1. " Choose " was equally exciting. Everyone was welcome to read it!
The size of the sending window of the fallback N-frame protocol is greater than 1, and multiple data packets can be sent consecutively. " Choose " was equally exciting. Everyone was welcome to read it!
GGN (N-step Backward Agreement): - The sender's theory: - The sender uses the pipeline technology to allow multiple packets to be sent without waiting for acknowledgment, but it is limited by the number of unacknowledged packets in the pipeline cannot exceed the maximum number N. When the upper layer calls the send function (rdt_send ()), the sender first checks whether the send window is full (i.e., whether there are N sent but unacknowledged packets). If the window is not full, a packet is generated and sent, and the relevant variables are updated at the same time. If the window is full, the sender can choose to return the data to the upper layer (in reality, it is more likely to buffer the data or use a synchronization mechanism. The upper layer is only allowed to call the send function when the window is full). - The receiver acknowledges the packet with the sequence number n in a cumulative manner, indicating that the receiver has correctly received all the packets before and including the sequence number n. - If there is a time out (the timer is used to detect the loss of data or acknowledgment packets), the sender will resend all the packets that have been sent but not acknowledged. - Principle of the receiver: The receiver receives the packets and uses the cumulative confirmation method to feedback the situation of the correctly received packets to the sender. PR (select the replay protocol): - The sender and receiver had their own windows. The sender sends the packet without knowing the position of the receiver's window, and the receiver receives the packet without knowing the position of the sender's window. The two windows are not synchronized. - The problem was that if the size of the sequence number space and the window size did not meet a certain condition (for example, a scenario where the size of the sequence number space was 4 and the window size was 6 would be problematic), the receiver might not be able to distinguish between different situations. For example, the receiver might mistake the retransmitted packet as a new packet and receive it incorrectly. Different from the GGN protocol, the ACK (n) and TimeOut (n) in the GGN protocol would cause a lot of resources to be retransmitted, resulting in a waste of resources. The SSR protocol was more selective in dealing with situations such as retransmissions. "Choose" was equally exciting. Everyone was welcome to read it!
In the continuous ARQ protocol, the sender maintained a sending window of a certain size, and the packets within the window could be sent continuously without waiting for the other party's acknowledgment. The sender would slide the sending window forward by one packet every time it received an acknowledgment. The receiver usually uses the method of accumulating acknowledgement, that is, after receiving several packets, it sends an acknowledgement to the last packet that arrives in order, indicating that all the packets up to this packet have been received correctly. However, this method has shortcomings. For example, when the middle packet is lost, the sender cannot know the situation of the subsequent packets, and may need to re-transmit more packets. The sliding window protocol involves a sending window and a receiving window. The transmit window is the range of sequence numbers of the frames that have been sent but have not been acknowledged, and the receive window is the range of sequence numbers of the frames that are expected to be received. When the default window size is 1, you can operate according to the specific sending process. The sliding window protocol could improve the channel utilization and was a reliable transmission mechanism for data communication. The continuous ARQ protocol can be seen as a specific application form of the sliding window protocol under certain conditions (such as the cumulative acknowledgment method). They are all protocol mechanisms that exist to achieve effective and reliable data transmission in the network. "Choose" was equally exciting. Everyone was welcome to read it!