Administrivia. FEC vs. ARQ. Reliable Transmission FEC. Last time: Framing Error detection. FEC provides constant throughput and predictable delay

Similar documents
The Transport Layer Reliability

CS 640 Introduction to Computer Networks. Role of data link layer. Today s lecture. Lecture16

Reliable Transmission

2.4 Error Detection Bit errors in a frame will occur. How do we detect (and then. (or both) frames contains an error. This is inefficient (and not

Lecture 5. Homework 2 posted, due September 15. Reminder: Homework 1 due today. Questions? Thursday, September 8 CS 475 Networks - Lecture 5 1

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

Point-to-Point Links. Outline Encoding Framing Error Detection Sliding Window Algorithm. Fall 2004 CS 691 1

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

EE 122: Error detection and reliable transmission. Ion Stoica September 16, 2002

Direct Link Networks (II)

High Level View. EE 122: Error detection and reliable transmission. Overview. Error Detection

L5: Building Direct Link Networks III. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

Networking Link Layer

Principles of Reliable Data Transfer

CSCI-1680 Link Layer Reliability Rodrigo Fonseca

Lecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren

Error Detection Codes. Error Detection. Two Dimensional Parity. Internet Checksum Algorithm. Cyclic Redundancy Check.

Computer Network. Direct Link Networks Reliable Transmission. rev /2/2004 1

Transport Layer Marcos Vieira

CSCI-1680 Link Layer Reliability John Jannotti

Lecture 7: Flow Control"

Problem Statement. Physical and Data Link Layer Overview. Five Tasks Encoding. Make two computers talk to each other

Flow Control, and Congestion Control

CSCI-1680 Link Layer I Rodrigo Fonseca

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture)

CSE 461: Framing, Error Detection and Correction

Reliable Byte-Stream (TCP)

Flow Control, and Congestion Control

CS43: Computer Networks Reliable Data Transfer. Kevin Webb Swarthmore College October 5, 2017

CSMC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 4. September 09 CMSC417 Set 4 1

CSE 123: Computer Networks Alex C. Snoeren. HW 1 due NOW!

Communications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall

End-to-End Protocols. End-to-End Protocols

TCP. Sliding Windows, Flow Control, and Congestion Control. Networks : TCP Sliding Windows 1

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 2.

Data Link Control Protocols

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

CS 43: Computer Networks. 16: Reliable Data Transfer October 8, 2018

Transport Layer (TCP/UDP)

ERROR AND FLOW CONTROL. Lecture: 10 Instructor Mazhar Hussain

Computer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure

10.1 REVIEW QUESTIONS

Reliable Data Transfer

6.033 Lecture 12 3/16/09. Last time: network layer -- how to deliver a packet across a network of multiple links

The flow of data must not be allowed to overwhelm the receiver

Lecture 4: CRC & Reliable Transmission. Lecture 4 Overview. Checksum review. CRC toward a better EDC. Reliable Transmission

CPE 448/548 Exam #1 (100 pts) February 14, Name Class: 448

Page 1. Goals for Today" Discussion" Example: Reliable File Transfer" CS162 Operating Systems and Systems Programming Lecture 11

Lecture 7: Flow & Media Access Control"

TCP congestion control:

file:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H...

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

Problem 7. Problem 8. Problem 9

ICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections

Chapter 3. The Data Link Layer. Wesam A. Hatamleh

UNIT IV -- TRANSPORT LAYER

CSE 123: Computer Networks

NWEN 243. Networked Applications. Layer 4 TCP and UDP

Reliable Transport : Fundamentals of Computer Networks Bill Nace

Answers to Sample Questions on Transport Layer

Reliable Transport I: Concepts and TCP Protocol

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Outline. CS5984 Mobile Computing

Data Link Control. Surasak Sanguanpong Last updated: 11 July 2000

Internet Networking recitation #10 TCP New Reno Vs. Reno

TCP : Fundamentals of Computer Networks Bill Nace

CPE 548 Exam #1 (50 pts) February 17, 2016

Data Link Layer, Part 5 Sliding Window Protocols. Preface

Department of Computer and IT Engineering University of Kurdistan. Data Communication Netwotks (Graduate level) Data Link Layer

The GBN sender must respond to three types of events:

The Transport Layer: TCP & Reliable Data Transfer

Lecture 15: TCP over wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday

CSCD 330 Network Programming

ELEN Network Fundamentals Lecture 15

Networked Systems and Services, Fall 2018 Chapter 2. Jussi Kangasharju Markku Kojo Lea Kutvonen

Chapter 3 Transport Layer

Application Service Models

DATA LINK LAYER UNIT 7.

Communication Networks

rdt2.0 has a fatal flaw!

Basic Reliable Transport Protocols

Reliable Transport I: Concepts and TCP Protocol

Chapter 3 Transport Layer

Analyzation of Automatic Repeat Request (ARQ) Protocols

Congestion Control 3/16/09

CSCI Topics: Internet Programming Fall 2008

CS 356: Introduction to Computer Networks. Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3. Xiaowei Yang

Computer Networks. Sándor Laki ELTE-Ericsson Communication Networks Laboratory

CS 421: Computer Networks SPRING MIDTERM I April 7, minutes

CSC 401 Data and Computer Communications Networks

Lecture 10: Transpor Layer Principles of Reliable Data Transfer

Chapter 3 Transport Layer

CS 349/449 Internet Protocols Final Exam Winter /15/2003. Name: Course:

The Transmission Control Protocol (TCP)

TCP: Flow and Error Control

Chapter 11 Data Link Control 11.1

CMSC 332 Computer Networks Reliable Data Transfer

Question 1 (6 points) Compare circuit-switching and packet-switching networks based on the following criteria:

Transcription:

FEC vs. ARQ Administrivia FEC provides constant throughput and predictable delay If high error rate, need long codes/complex circuitry Does not protect against all errors, or packet loss Last time: Framing Error detection Today: reliable transmission how to correct problems after we find them SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 3 SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 1 FEC Reliable Transmission How do we do Forward Error Correction? Which is harder, Error Detection or Error Correction? Need to recover from corrupt frames Correct them using Error Correction Codes (ECC) Forward Error Correction (FEC) Alternatively, detect errors and retransmit if necessary Automatic Repeat request (ARQ) Which should you use? What is the tradeoff? SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 4 SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 2

Hamming Code (cont d) Forward Error Correction (or Error Correcting Codes) At the receiver, the received word is (r0,...,r7) The following are computed s0 = r1 + r2 + r3 + r4; s1 = r0 + r1 + r3 + r5; s2 = r0 + r2 + r3 + r6; What is the value of (s0, s1, s2) if there are no errors? Try by example General idea is to include enough redundant information to allow recovery from many errors Majority Encoding: Repeat every message (or character) several times; assume the majority is correct Example: Transmit HHHEEELLLLLLOOO WWWOOORRRLLLDDD instead of HELLO WORLD Can recover from 1 character errors If you receive HAHEEELL1aLLO!O WWWOO)RRLLLL1DD you can recover the message by taking majority for each character SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 7 SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 5 (s0,s1,s2) Error Location 000 None 001 r6 010 r5 011 r0 100 r4 101 r2 110 r1 111 r3 Can correct any 1 error Error Location How does it compare to majority encoding? SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 6 m = (m0, m1, m2, m3) c = (m0, m1, m2, m3, b0, b1, b2) b0= (m1 + m2 + m3) b1= (m0 + m1 + m3) b2= (m0 + m2 + m3) Let the message blocks and code words be as follows (for Hamming code 4, 7) Hamming Code SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 8

Alternative Approach: Retransmission Error Correction: a little Intuition If you can figure out that a packet was corrupted, retransmit it How to detect that a packet was corrupted? Suggestion 1: If error check fails send a warning? (Negative Acknowledgement or N) What if packet is lost completely? What if N is lost? Suggestion 2: If error check succeeds send acknowledgement () Retransmit if is not received during a specified time limit How will this work? How do spell checkers work? Suppose you receive STIP, what are the possible original transmissions? English Words are close to each other, difficult to correct sometimes if close, easy to turn one into the other and difficult to correct On the Other hand... rhearecsers in Cmdrabgie hvae funod out taht the haumn mnid deos not raed ervey lteter. So it can frgiue out waht is witretn as lnog as the frsit and lsat lrttees are crorcet. The rset can be a mses! SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 11 SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 9 SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 12 Potential of duplication of packets How to discriminate packet from duplicate? Delayed packets? What are the problems/drawbacks? (b) (d) Sender Receiver Sender Receiver (a) (c) Time Sender Receiver Sender Receiver Idea: use acknowledgements and timeouts Automatic Repeat ReQuest (ARQ) Reliable Transmission Every packet has to be received correctly Need to recover from corrupt frames (bit errors) Bit Errors Correct them using Error Correction Codes? What if they are too messed up? What about missing packets? What about delayed packets? SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 10

Stop-and-wait Dont send a packet until you receive for previous one Problem: Keeping the pipe full; the link can be severely underutilized Example: T-1 link (1.5Mbps) with 45 ms RTT = 67.5Kb (8KB). Assuming a frame size of 1KB, stop-and-wait uses one eighth of link capacity What can we do to improve this? Problem 2: delay time to detect loss can be large SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 13 Sliding Window Protocols Use Pipelining Time Sender Receiver Idea: allow sender to send multiple frames before receiving an ack for one of them There is a limit on the number of frames that can be outstanding Limit chosen to keep the pipe full? SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 14 Sliding Window Algorithm Sender Receiver Assign Sequence Number to each frame (seqnum) Maintain three state variables: send window size (SWS) last ack received (LAR) last frame sent (LFS) Keep LFS LAR SWS LAR SWS When arrives, advance LAR, thereby opening window (allowing sending another frame) Buffer up to SWS frames LFS Maintain three state variables receive window size (RWS) last frame received (LFR) largest acceptable frame (LAF) KeepLAF LFR RWS seqnum arrives: NFE RWS if LFR < seqnum LAF accept the frame, otherwise discard What happens when a frame times out? Two flavors of sliding window algorithm Go- Back-N and Selective Repeat LFA SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 15 SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 16

Go-Back-N Selective Repeat s are cumulative; an of a frame indicates that all frames before it have already been received Traditional GBN receiver discards frames received out of order why?? When a timeout occurs, resend all the frames that have been sent but not acknowledged what do you think? Can we improve on this? Use Nack s? GBN has several drawbacks; if the channel has a lot of errors, many redundant retransmissions Selective Repeat: each frame acknowledged/times out independently Sender resends frames that timeout Receiver acknowledges frames as they come; when the base frame is received, advance the window to the next unack d frame Lets do an example TCP uses a hybrid of both (in detail when we get to TCP) SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 17 SUNY-BINGHAMTON CS428/528 SPRING 2013 LEC. #6 18