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

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

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

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

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

CSCI-1680 Link Layer Reliability Rodrigo Fonseca

CSCI-1680 Link Layer Reliability John Jannotti

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

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

Data Link Layer. Srinidhi Varadarajan

Networking Link Layer

CSCI-1680 Link Layer I Rodrigo Fonseca

CSE 461: Framing, Error Detection and Correction

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

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

The Transport Layer Reliability

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

CSMC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. Nov 1,

I. INTRODUCTION. each station (i.e., computer, telephone, etc.) directly connected to all other stations

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

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

Telecom Systems Chae Y. Lee. Contents. Flow Control Error Detection/Correction Link Control (Error Control) Link Performance (Utility)

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

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

CSE 123: Computer Networks

SRI RAMAKRISHNA INSTITUTE OF TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY COMPUTER NETWORKS UNIT - II DATA LINK LAYER

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

Links. CS125 - mylinks 1 1/22/14

PART III. Data Link Layer MGH T MGH C I 204

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

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

CS321: Computer Networks Error Detection and Correction

UNIT I FUNDAMENTALS & LINK LAYER

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

Chapter 10 Error Detection and Correction. Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Data Link Layer: Overview, operations

CS422 Computer Networks

CSE123A discussion session

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

DATA LINK LAYER UNIT 7.

Chapter 10 Error Detection and Correction 10.1

Lecture 6: Reliable Transmission. CSE 123: Computer Networks Alex Snoeren (guest lecture) Alex Sn

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

Ch. 7 Error Detection and Correction

Introduction to Computer Networks. 03 Data Link Layer Introduction

Data Link Networks. Hardware Building Blocks. Nodes & Links. CS565 Data Link Networks 1

Direct Link Networks (II)

Transport Layer Marcos Vieira

The data link layer has a number of specific functions it can carry out. These functions include. Figure 2-1. Relationship between packets and frames.

Lecture 5: Data Link Layer Basics

CS254 Network Technologies. Lecture 2: Network Models & Error Detection and Correction. Dr Nikos Antonopoulos

The Data Link Layer Chapter 3

Chapter Six. Errors, Error Detection, and Error Control. Data Communications and Computer Networks: A Business User s Approach Seventh Edition

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

Data Link Technology. Suguru Yamaguchi Nara Institute of Science and Technology Department of Information Science

Advanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science

CSEP 561 Error detection & correction. David Wetherall

Flow Control, and Congestion Control

Inst: Chris Davison

ISO/OSI Reference Model. Data Link Layer. 7. Application. 6. Presentation. 5. Session. 4. Transport. 3. Network. 2. Data Link. 1.

CS 3640: Introduction to Networks and Their Applications

Reliable Transmission

CompSci 356: Computer Network Architectures. Lecture 4: Link layer: Encoding, Framing, and Error Detection Ref. Chap 2.2, 2.3,2.4

CS/ECE 438: Communication Networks for Computers Spring 2018 Midterm Examination Online

Computer Networks. Shyam Gollakota

EE 122 Fall st Midterm. Professor: Lai Stoica

CSE 123: Computer Networks

TYPES OF ERRORS. Data can be corrupted during transmission. Some applications require that errors be detected and corrected.

Data Link Layer (1) Networked Systems 3 Lecture 6

Outline. EEC-484/584 Computer Networks. Data Link Layer Design Issues. Framing. Lecture 6. Wenbing Zhao Review.

4. Error correction and link control. Contents

COMPUTER NETWORKS UNIT-3

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

Message, Segment, Packet, and Frame Link-layer services Encoding, framing, error detection, transmission control Error correction and flow control

Transport Layer (TCP/UDP)

Lecture 2 Error Detection & Correction. Types of Errors Detection Correction

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

Communication Networks. Part I

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 7

Computer Networking : Principles, Protocols and Practice

(Refer Slide Time: 2:20)

Data Link Layer (part 2)

Computer and Network Security

Lecture 7: Flow Control"

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

Goals of Today s Lecture. Adaptors Communicating

Data Link Control Protocols

INF Data Communication Data Link Layer

Reliable Byte-Stream (TCP)

Copyright 2010, Elsevier Inc. All rights Reserved

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

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame

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

Data link layer functions. 2 Computer Networks Data Communications. Framing (1) Framing (2) Parity Checking (1) Error Detection

COMPUTER NETWORKS UNIT I. 1. What are the three criteria necessary for an effective and efficient networks?

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

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

2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS Collision Free Protocols 2.3 FDDI 2.4 DATA LINK LAYER DESIGN ISSUES 2.5 FRAMING & STUFFING

EITF25 Internet Techniques and Applications L3: Data Link layer. Stefan Höst

Computer Networks. Homework #4: No Grading

Transcription:

High Level View EE 22: Error detection and reliable transmission Ion Stoica September 6, 22 Goal: transmit correct information Problem: bits can get corrupted - Electrical interference, thermal noise Solution - Detect errors - Recover from errors Correct errors Retransmission istoica@cs.berkeley.edu 2 Overview Error Detection Error detection Reliable transmission Problem: detect bit errors in packets (s) Solution: add redundancy bits to each packet Goals: - Reduce overhead, i.e., reduce the number of redundancy bits - Increase the number and the type of bit error patterns that can be detected Examples: - Two-dimensional parity - Checksum - Cyclic Redundancy Check (CRC) istoica@cs.berkeley.edu 3 istoica@cs.berkeley.edu 4

Two-dimensional Parity How Many Errors Can you Detect? Add one extra bit to a 7-bit code such that the number of s in the resulting 8 bits is even (for even parity, and odd for odd parity) Add a parity byte for the packet Example: five 7-bit character packet, even parity All -bit errors Example: error bit odd number of s istoica@cs.berkeley.edu 5 istoica@cs.berkeley.edu 6 How Many Errors Can you Detect? All 2-bit errors Example: How Many Errors Can you Detect? All 3-bit errors Example: error bits error bits odd number of s on column odd number of s on column istoica@cs.berkeley.edu 7 istoica@cs.berkeley.edu 8 2

How Many Errors Can you Detect? Most 4-bit errors Example of 4-bit error that is not detected: error bits Checksum Sender: add all words of a packet and append the result (checksum) to the packet Receiver: add all words of a packet and compare the result with the checksum Can detect all -bit errors Example: Internet checksum - Use s complement addition How many errors can you correct? istoica@cs.berkeley.edu 9 istoica@cs.berkeley.edu s Complement Revisited Cyclic Redundancy Check (CRC) Negative number x is x with all bits inverted When two numbers are added, the carry-on is added to the result Example: -5 + 6; assume 8-bit representation 5 = -5 = + 6 = + -5+6 = Represent a (n+)-bit message by an n-degree polynomial M(x) - E.g., M(x) = x 7 + x 5 + x 3 + x 2 + x Choose a divisor k-degree polynomial C(x) Compute reminder R(x) of M(x)*x k / C(x), and then compute T(x) = M(x)*x k - R(x) - T(x) is divisible by C(x) - First n coefficients of T(x) represent M(x) Sender: - Compute and send T(x), i.e., the coefficients of T(x) Receiver: - Let T (x) be the (n+k)-degree polynomial generated from the received message - If C(x) divides T (x) no errors; otherwise errors istoica@cs.berkeley.edu istoica@cs.berkeley.edu 2 3

Some Polynomial Arithmetic Modulo 2 Properties If C(x) divides B(x), then degree(b(x)) >= degree(c(x)) Subtracting C(x) from B(x) reduces to perform an XOR on each pair of matching coefficients of C(x) and B(x) - E.g.: B(x) = x 7 + x 5 + x 3 + x 2 + x C(x) = x 3 + x + x B(x) - C(x) = x 7 + x 5 + x 2 + x Computing T(x) Compute the reminder R(x) of M(x)*x k / C(x) T(x) = M(x)*x k - R(x) Example: send packet, assume C(x) = - k = 2, M(x)*x K - Compute R(x) ) R(x) - T(x) = M(x)*x k - R(x) xor = istoica@cs.berkeley.edu 3 istoica@cs.berkeley.edu 4 CRC Properties Overview Detect all single-bit errors if coefficients of x k and x of C(x) are one Detect all double-bit errors, if C(x) has a factor with at least three terms Detect all number of odd errors, if C(x) contains factor (x+) Detect all burst of errors smaller than k bits Error detection Reliable transmission istoica@cs.berkeley.edu 5 istoica@cs.berkeley.edu 6 4

Reliable Transmission Problem: obtain correct information once errors are detected Solutions: - Use error correction codes (can you give an example of error detection code that can also correct errors?) - Use retransmission (we ll do this in details) Algorithmic challenges: - Achieve high link utilization, and low overhead istoica@cs.berkeley.edu 7 Latency, Bandwidth, Round-Trip Time Latency = propagation + transmit + queue - Propagation: time it takes the signal to propagate along the link - Transmit: time it takes to transmit the packet = (packet_size)/(link_bandwidth) - Queue: time for which the packet waits into the adapter at the sender before being transmitted Note: next we ll assume short packets, i.e, transmit term can be neglected! Round-Trip Time (RTT) = time it takes to a packet to travel from sender to destination and back - RTT = one-way latency from sender to receiver + oneway latency from receiver to sender istoica@cs.berkeley.edu 8 Automatic Repeat Request (ARQ) Algorithms Stop-and-Go Use two basic techniques: - Acknowledgements (s) - Timeouts Two examples: - Stop-and-go - Sliding window Receiver: send an acknowledge () back to the sender upon receiving a packet () Sender: excepting first packet, send a packet only upon receiving the for the previous packet Sender Receiver Time istoica@cs.berkeley.edu 9 istoica@cs.berkeley.edu 2 5

What Can Go Wrong? Stop-and-Go Disadvantage Sender Timeout Receiver Sender Timeout Receiver Sender Timeout Receiver May lead to inefficient link utilization Example: assume - One-way propagation = 5 ms - Bandwidth = Mbps - Packet size = bytes transmit = (8*)/ 8 =.8ms - Neglect queue delay Latency = approx. 5 ms; RTT = 3 ms Frame lost on Timeout resent it lost resent packet Need a mechanisms to detect duplicate packet delayed resent packet Need a bit to differentiate between for current and previous packet Propagation = 5 ms Bandwidth = Mbps istoica@cs.berkeley.edu 2 istoica@cs.berkeley.edu 22 Stop-and-Go Disadvantage (cont d) Send a message every 3 ms Throughput = (8*)/.3 =.2666 Mbps Thus, the protocol uses less than.3% of the link capacity! Sender Receiver Solution Don t wait for the of the previous packet before sending the next one! 3 ms 3 ms istoica@cs.berkeley.edu 23 istoica@cs.berkeley.edu 24 6

Sliding Window Protocol: Sender Example Each packet has a sequence number - Assume infinite sequence numbers for simplicity Sender maintains a window of sequence numbers - SWS (sender window size) maximum number of packets that can be sent without receiving an - LAR (last received) - LFS (last sent) Assume SWS = 3 Sender Receiver 2 3 2 3 2 3 4 2 3 4 5 2 2 3 4 5 Acknowledged packets Packets not acknowledged yet LAR LFS seq. numbers Note: usually contains the sequence number of the first packet in sequence expected by receiver istoica@cs.berkeley.edu 25 istoica@cs.berkeley.edu 26 Sliding Window Protocol: Receiver Sliding Window Protocol: Receiver Receiver maintains a window of sequence numbers - RWS (receiver window size) maximum number of outof-sequence packets that can received - LFR (last received) last received in sequence - LAF (last acceptable ) - LAF LFR <= RWS Let seqnum be the sequence number of arriving packet If (seqnum <= LFR) or (seqnum >= LAF) - Discard packet Else - Accept packet - largest sequence number seqnumtoack, such that all packets with sequence numbers <= seqnumtoack were received Packets in sequence Packets out-of-sequence istoica@cs.berkeley.edu 27 LFR LAF seq. numbers istoica@cs.berkeley.edu 28 7

Properties of ARQ Protocols Summary Reliability Increase link utilization (only for sliding window protocols) Flow control: a sender cannot send at a rate greater than the rate at which the receiver can consume the packets Packet order - In the case the Sliding Window Protocol the size of receiver window (RWS) specifies how many out-oforder packets can be stored at the receiver There are two steps required to transmit s (packets) reliable - Detect when packets experience errors or are lost (we ll talk more about packet loss in the context of TCP) Two-dimensional parity Checksum Cyclic Redundancy Check (CRC) - Use packet retransmission to recover from errors Stop-and-go Sliding window protocol istoica@cs.berkeley.edu 29 istoica@cs.berkeley.edu 3 8