Communication Networks NETW 501 Lecture 9 Data Link Layer: Error Control & Flow Control Course Instructor: Dr.-Ing. Maggie Mashaly maggie.ezzat@guc.edu.eg C3.220
Selective Repeat ARQ Protocol
Selective Repeat ARQ Basics What is the problem of Go-Back N? Go Back-N retransmits the erroneous frame and all subsequent frames This reduces efficiency especially for High Error Channels Selective Repeat ARQ Introduce a receive window to store CORRECT out of sequence frames Retransmit individual frames TCP uses a form of selective repeat
Error Recovery in Selective Repeat ARQ Receiver Sender Fr_0 ACK_1 Fr_1 ACK_2 Fr_2 Fr_3 Fr_4 NAK_2 ACK_2 Fr_2 ACK_5 Fr_5 ACK_6
Operation of Selective Repeat WS=WR=2 , m=2 Receiver Sender Fr_0 Sending Window Fr_1 Receiving Window NAK_0 Fr_0 Fr_0 Fr_0 Fr_1 Fr_1 ACK_2 Fr_2 Fr_3 ACK_3 ACK_0 Frame Sequences that are allowed to be sent Frame Sequences that are allowed to be received Outstanding Frame Sequences Frame Sequences that are received correctly and buffered
Operation of Selective Repeat WS=WR=2 , m=2 Receiver Sender Fr_0 Sending Window Fr_1 Receiving Window NAK_0 Fr_0 Fr_0 Fr_0 Fr_1 Fr_1 ACK_2 Fr_2 Fr_3 ACK_3 ACK_0 Frame Sequences that are allowed to be sent Frame Sequences that are allowed to be received Outstanding Frame Sequences Frame Sequences that are received correctly and buffered
Operation of Selective Repeat WS=WR=2 , m=2 Receiver Sender Fr_0 Sending Window Fr_1 Receiving Window NAK_0 Fr_0 Fr_0 Fr_0 Fr_1 Fr_1 ACK_2 Fr_2 Fr_3 ACK_3 ACK_0 Frame Sequences that are allowed to be sent Frame Sequences that are allowed to be received Outstanding Frame Sequences Frame Sequences that are received correctly and buffered
Operation of Selective Repeat WS=WR=2 , m=2 Receiver Sender Fr_0 Sending Window Fr_1 Receiving Window NAK_0 Fr_0 Fr_0 Fr_0 Fr_1 Fr_1 ACK_2 Fr_2 Fr_3 ACK_3 ACK_0 Frame Sequences that are allowed to be sent Frame Sequences that are allowed to be received Outstanding Frame Sequences Frame Sequences that are received correctly and buffered
Operation of Selective Repeat WS=WR=2 , m=2 Receiver Sender Fr_0 Sending Window Fr_1 Receiving Window NAK_0 Fr_0 Fr_0 Fr_0 Fr_1 Fr_1 ACK_2 Fr_2 Fr_3 ACK_3 ACK_0 Frame Sequences that are allowed to be sent Frame Sequences that are allowed to be received Outstanding Frame Sequences Frame Sequences that are received correctly and buffered
Operation of Selective Repeat WS=WR=2 , m=2 Receiver Sender Fr_0 Sending Window Fr_1 Receiving Window NAK_0 Fr_0 Fr_2 Fr_0 Fr_1 Fr_3 ACK_2 Fr_2 Fr_3 ACK_3 ACK_0 Frame Sequences that are allowed to be sent Frame Sequences that are allowed to be received Outstanding Frame Sequences Frame Sequences that are received correctly and buffered
Operation of Selective Repeat WS=WR=2 , m=2 Receiver Sender Fr_0 Sending Window Fr_1 Receiving Window NAK_0 Fr_2 Fr_2 Fr_0 Fr_3 Fr_3 ACK_2 Fr_2 Fr_3 ACK_3 ACK_0 Frame Sequences that are allowed to be sent Frame Sequences that are allowed to be received Outstanding Frame Sequences Frame Sequences that are received correctly and buffered
Operation of Selective Repeat WS=WR=2 , m=2 Receiver Sender Fr_0 Sending Window Fr_1 Receiving Window NAK_0 Fr_2 Fr_2 Fr_0 Fr_3 Fr_3 ACK_2 Fr_2 Fr_3 ACK_3 ACK_0 Frame Sequences that are allowed to be sent Frame Sequences that are allowed to be received Outstanding Frame Sequences Frame Sequences that are received correctly and buffered
Operation of Selective Repeat WS=WR=2 , m=2 Receiver Sender Fr_0 Sending Window Fr_1 Receiving Window NAK_0 Fr_2 Fr_3 Fr_0 Fr_3 Fr_0 ACK_2 Fr_2 Fr_3 ACK_3 ACK_0 Frame Sequences that are allowed to be sent Frame Sequences that are allowed to be received Outstanding Frame Sequences Frame Sequences that are received correctly and buffered
Operation of Selective Repeat WS=WR=2 , m=2 Receiver Sender Fr_0 Sending Window Fr_1 Receiving Window NAK_0 Fr_2 Fr_3 Fr_0 Fr_3 Fr_0 ACK_2 Fr_2 Fr_3 ACK_3 ACK_0 Frame Sequences that are allowed to be sent Frame Sequences that are allowed to be received Outstanding Frame Sequences Frame Sequences that are received correctly and buffered
Send and Receive Window Size m=2 WS=WR=3 WS=WR=2 Receiver Receiver Sender Sender Fr_0 Fr_0 ACK_1 ACK_1 Fr_1 Fr_1 ACK_2 ACK_0 Fr_2 Fr_0 Receive Window {2,3} Fr_0 ACK_3 Fr_0 rejected Receive Window {3,0,1} GENERAL RULE: WS+ WR ≤2m
Efficiency Plots Frame Size 1024, R=1.5 Mbps, tprop=5 ms, Window Size = 4
References NETW 501 Lectures slides by Assoc. Prof. Tallal El-Shabrawy “Communication Networks 2nd Edition”, A. Leon-Garcia and I. Widjaja, McGraw Hill, 2013 “Computer Networks 4th Edition”, A. S. Tanenbaum, Pearson International