1 / 19

Go-Back-N ARQ

Go-Back-N ARQ. packets transmitted continuously (when available) without waiting for ACK, up to N outstanding, unACK’ed packets a logically different sender timer association with each unACK’ed packet: extension of AB protocol Receiver:

estherw
Download Presentation

Go-Back-N ARQ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Go-Back-N ARQ • packets transmitted continuously (when available) without waiting for ACK, up to N outstanding, unACK’ed packets • a logically different sender timer association with each unACK’ed packet: extension of AB protocol Receiver: • ACK packet if correctly received and in-order, pass to higher layer • NACK or ignore (possibly discard) corrupt or out-of-order packet Sender : if NACK received, or timeout, for packet n, begin resending from n all over again • cumulative ACK: ACK of n implicitly acknowledges up through n

  2. Go-Back-N continued • no receiver transport buffering with discard • saves resources at receiver • avoids large bursts of packet delivery to higher layers • simplicity in buffering and protocol processing at sender and receiver • tradeoff between buffering/processing complexity and bandwidth

  3. Go Back N: Example

  4. Selective Repeat ARQ As in go back-N: • packet transmitted when available, up to limit timer associated with each unACK’ed packet • receiver NACK’s or ignores corrupted packets Unlike Go-Back-N: • out-of-order (but otherwise correct) packet is ACK’ed • receiver: buffers out-of-order packets • sender: on timeout or NACK of packet n, just retransmit n

  5. Selective Repeat ARQ (cont) Notes: • more receiver buffering than Go back-N • more complicated buffer management by both sides • saves bandwidth: no need to retransmit correctly received packets

  6. Selective Repeat ARQ: example

  7. How Big Can a Window Be? Suppose sequence number space size is N Q: How big can window be and have SR still work? Partial answer: N-1 won’t work: Fundamental problem: sender and receiver • do not have synchronized info • cannot know exact same information

  8. Throughput Comparison p - loss probability t_trans - pkt transmission time rtt - round trip time tput_SW = (1-p)/(rtt+t_trans) tput_GB = (1-p)/(p rtt + t_trans) tput_SR = (1-p)/t_trans

  9. Throughput Comparison 1GB/sec link 1KB pkt -> t_trans = 8ms rtt =1ms

  10. Throughput Comparison 1GB/sec link 1KB pkt -> t_trans = 8ms rtt =30ms

  11. Detecting Errors: checksums Need to detect errors: bits in packet may be flipped while in transit or stored at intermediate notes. Approach: add extra bits to packets that will allow us to detect (possibly correct) bit errors

  12. Simple example: Parity Given n-1 bit packet, add n-th bit, choosing value so that total number of 1 • bits in packets (including nth bit) is odd (odd parity). • example packet: At receiver: • count # 1’s in packet, if even, then error! • what if even number of bit flips? • what if odd number of bit flips? error detection seq ack data (parity bit) 0111 0001 10101011 0

  13. Simple example: Parity Note: • many codes with more powerful error detection capabilities • CRC-16: 16 bit code, detects 2 random bit errors, 16 errors in sequence. • packet header itself often separately checksummed • checksumming also done at data link layer • hardware support for transport-level checksum: SGI

  14. Forward Error Correction: FEC ARQ protocols operate by detecting errors and retransmitting • retransmission needs round-trip delay to recover • may be too long for deep space, or high-speed, real-time applications • FEC: key idea is to transmit enough redundant data to allow receiver to recover from errors itself! (no sender transmission required)

  15. row parity d1,1 … d1,J d1,J+1 d2,1 … d2,J d2,J+1 dI,1 … dI,J dI,J+1 dI+1,1 … dI+1,J d1,j+1 seq # ACK# data EDF column parity (b) packet format (a) 2-dimensional parity 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 (d) example: single bit error (c) example: no errors

More Related