Go-Back-N ARQ  packets transmitted continuously (when available) without waiting for ACK, up to N outstanding, unACK’ed packets  a logically different.

Slides:



Advertisements
Similar presentations
Primitives for Achieving Reliability 3035/GZ01 Networked Systems Kyle Jamieson Department of Computer Science University College London.
Advertisements

1 Wireless Sensor Networks Akyildiz/Vuran Administration Issues  Take home Mid-term Exam  Assign April 2, Due April 7  Individual work is required 
Transport Layer 4 Slides from Kurose and Ross
Transport Layer 3-1 Transport services and protocols  provide logical communication between app processes running on different hosts  transport protocols.
Go-Back-N Improve Stop-and-Wait by not waiting!
Flow and Error Control. Flow Control Flow control coordinates the amount of data that can be sent before receiving acknowledgement It is one of the most.
Chapter 3 outline 3.1 transport-layer services
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Transport Layer3-1 Data Communication and Networks Lecture 6 Reliable Data Transfer October 12, 2006.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 13 Introduction to Computer Networks.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
The Data Link Layer Chapter 3. Position of the data-link layer.
Transport Layer3-1 Reliable Data Transfer. Transport Layer3-2 Principles of Reliable data transfer r important in app., transport, link layers r top-10.
EE 122: Error detection and reliable transmission Ion Stoica September 16, 2002.
1 ITC242 – Introduction to Data Communications Week 10 Topic 16 Data link control.
Spring 2004 EE4272 Direct Link Networks (I) Hardware Building Blocks (nodes & links) 5 Issues before Exchanging Packets  Encoding  Framing  Error Detection.
CPSC 441: Reliable Transport1 Reliable Data Transfer Instructor: Carey Williamson Office: ICT Class.
Chapter 6 Errors, Error Detection, and Error Control
2: Application Layer 1 1DT066 Distributed Information System Chapter 3 Transport Layer.
20101 The Data Link Layer Chapter Design Issues Controls communication between 2 machines directly connected by “wire”-like link Services Provided.
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
18-Aug-154/598N: Computer Networks Overview Direct link networks –Error detection - Section 2.4 –Reliable transmission - Section 2.5.
Principles of Reliable Data Transfer. Reliable Delivery Making sure that the packets sent by the sender are correctly and reliably received by the receiver.
CSE 461 University of Washington1 Topic The sliding window algorithm – Pipelining and reliability – Building on Stop-and-Wait Yeah! Network.
Data Link Layer We have now discussed the prevalent shared channel technologies  Ethernet/IEEE  Wireless LANs (802.11) We have now covered chapters.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
15-1 Last time □ Reliable Data Transfer ♦ Provide rdt over unreliable network layer ♦ FSM model ♦ rdt 1.0: rdt over reliable channels ♦ rdt 2.0: rdt over.
Primitives for Achieving Reliability 3035/GZ01 Networked Systems Kyle Jamieson Lecture 7 Department of Computer Science University College London.
Chapter 5 Peer-to-Peer Protocols and Data Link Layer PART I: Peer-to-Peer Protocols ARQ Protocols and Reliable Data Transfer Flow Control.
1 Transport Layer Lecture 10 Imran Ahmed University of Management & Technology.
CS3505: DATA LINK LAYER. data link layer  phys. layer subject to errors; not reliable; and only moves information as bits, which alone are not meaningful.
Data Communications & Computer Networks, Second Edition1 Chapter 6 Errors, Error Detection, and Error Control.
rdt2.2: a NAK-free protocol
Part 3: Transport Layer: Reliable Data Transfer CSE 3461/5461 Reading: Section 3.4, Kurose and Ross 1.
Transport Layer3-1 rdt2.1: sender, handles garbled ACK/NAKs Wait for call 0 from above sndpkt = make_pkt(0, data, checksum) udt_send(sndpkt) rdt_send(data)
Transport Layer 3-1 Chapter 3 outline 3.4 Principles of reliable data transfer.
September 24 th, 2013 CS1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights.
Forward Error Correction vs. Active Retransmit Requests in Wireless Networks Robbert Haarman.
Transport Layer 3-1 Internet Transport Layer Lecture 8 Dr. Najla Al-Nabhan.
Prof. Younghee Lee 1 1 Computer Networks u Lecture 5: Transport services and protocols Prof. Younghee Lee * Some part of this teaching materials are prepared.
Transport Layer: Sliding Window Reliability
11.1 Flow and Error Control Flow Control Error Control.
Data Link Layer Flow and Error Control. Flow Control Flow Control Flow Control Specifies the amount of data can be transmitted by sender before receiving.
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1.Flow Control and ARQ Protocols.
9: Pipelined Protocols and RTT Transport Layer 3-1 Slides adapted from: J.F Kurose and K.W. Ross,
1 Direct Link Networks: Reliable Transmission Sections 2.5.
CSE331: Introduction to Networks and Security Lecture 4 Fall 2002.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
Computer Networking Lecture 16 – Reliable Transport.
Ch 3. Transport Layer Myungchul Kim
1 COMP 431 Internet Services & Protocols The Transport Layer Pipelined Transport Protocols Jasleen Kaur March 29, 2016.
NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS ( NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS (PRACTICAL PART) Tutorial 4 : Chapter 7 Data & computer.
Go-Back-N ARQ packets transmitted continuously (when available) without waiting for ACK, up to N outstanding, unACK’ed packets a logically different sender.
9. Principles of Reliable Data Transport – Part 1
Reliable Transmission
ERROR DETECTION AND CORRECTION
Performance of rdt3.0 rdt3.0 works, but performance stinks
Data Link Layer What does it do?
Introduction of Transport Protocols
rdt2.2: a NAK-free protocol
rdt2.2: a NAK-free protocol
Advanced Computer Networks
rdt2.2: a NAK-free protocol
Getting Connected (Chapter 2 Part 3)
9: Pipelined Protocols and RTT
The Transport Layer Reliability
Error detection: Outline
Error Checking continued
rdt2.2: a NAK-free protocol
Presentation transcript:

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 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

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

Go Back N: Example

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

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

Selective Repeat ARQ: example

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

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

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

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

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

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)

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

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)

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