Dr. Mozafar Bag-Mohammadi Ilam University

Slides:



Advertisements
Similar presentations
EE 4272Spring, 2003 Chapter 7 Data Link Control Objectives: Effective & reliable data communication between two directly connected transmitting-receiving.
Advertisements

Lecture 3, 1Spring 2003, COM1337/3501CCN: Direct Link Networks Direct Link Networks Textbook: Computer Networks: A Systems Approach, L. Peterson, B. Davie,
5-1 Link Layer: Introduction Some terminology: r hosts and routers are nodes r communication channels that connect adjacent nodes along communication path.
Spring 2002CS 4611 Outline Encoding Framing Error Detection Sliding Window Algorithm Point-to-Point Links.
EE 122: Error detection and reliable transmission Ion Stoica September 16, 2002.
1 Outline Encoding Framing Error Detection Sliding Window Algorithm Point-to-Point Links.
1 Hardware Building Blocks Five Issues –Encoding –Framing –Error Detection –Reliable delivery –Access Mediation Direct Link Networks.
Chapter 5 Link Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 20.
Spring 2004 EE4272 Direct Link Networks (I) Hardware Building Blocks (nodes & links) 5 Issues before Exchanging Packets  Encoding  Framing  Error Detection.
Spring 2003CS 4611 Outline Encoding Framing Error Detection Sliding Window Algorithm Point-to-Point Links.
18-Aug-154/598N: Computer Networks Overview Direct link networks –Error detection - Section 2.4 –Reliable transmission - Section 2.5.
Introduction 1 Lecture 23 Link Layer (Error Detection/Correction) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
5: DataLink Layer5-1 Chapter 5 Link Layer and LANs Part 1: Overview of the Data Link layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose,
CS 640: Introduction to Computer Networks Aditya Akella Lecture 5 - Encoding and Data Link Basics.
CSE331: Introduction to Networks and Security Lecture 3 Fall 2002.
14-Oct-15Computer Networks1 Reliable Transmission.
CSS CSS432 Point-to-Point Links Textbook Ch2.1.2 – 2.5 Professor: Munehiro Fukuda.
Lecture 7: Reliable Packet Transmission. Cyclic Redundancy Check Add k bits of extra data (the CRC field) to an n-bit message to provide error detection.
CHAPTER 2 HARDWARE BUILDING BLOCK ENCODING FRAMING ERROR DETECTION.
Lecture 6: Framing and Error Detection-Data Link Layer Functions
27-Oct-15Computer Networks1 Outline Chapter 2: Direct Link Networks Encoding Framing Error Detection Sliding Window Algorithm Point-to-Point Links.
4: DataLink Layer1 Chapter 4: The Data Link Layer Our goals: r understand principles behind data link layer services: m error detection, correction m sharing.
Fall 2000Datacom 11 Outline Hardware Building Blocks Encoding Framing Error Detection Sliding Window Algorithm Point-to-Point Links.
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.
5: DataLink Layer5-1 Chapter 5 Link Layer and LANs Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross.
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Link Layer introduction,
1 CHAPTER 2 HARDWARE BUILDING BLOCK ENCODING FRAMING ERROR DETECTION.
Link Layer Dr. Mozafar Bag-Mohammadi Ilam University.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 12: Reliability Slides used with permissions.
Spring 2001CS 5851 Outline Building Blocks Shannon’s Theorem Encoding 11. Physical Layer.
9-Jan-164/598N: Computer Networks Overview Performance metrics - Section 1.5 Direct link networks –Hardware building blocks - Section 2.1 –Encoding - Section.
5: DataLink Layer5a-1 Chapter 5: The Data Link Layer Our goals: r understand principles behind data link layer services: m error detection, correction.
Transport Layer: Sliding Window Reliability
Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
1 Hardware Building Blocks Five Issues –Encoding –Framing –Error Detection –Reliable delivery –Access Media Direct Link Networks.
1 Point-to-Point Links: Encoding Encoding: Section 2.2 (Section 2.1 read on your own)
Network Layer4-1 Chapter 5: The Data Link Layer Our goals: r understand principles behind data link layer services: m error detection, correction m sharing.
1 Direct Link Networks: Reliable Transmission Sections 2.5.
Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
CS380 Int. to Comp. Networks Data Link Networks - Part II1 Reliable Transmission How to fix corrupted frames. –Error correcting codes too expensive –Should.
CS4470 Computer Networking Protocols
Simple Parity Check The simplest form of error detection is the parity check used with ASCII codes, originally on asynchronous modem links Each 7 bit ASCII.
Reliable Transmission
Getting Connected (Chapter 2 Part 1)
Data Link Networks Hardware Building Blocks Nodes & Links CS380
Data Link Layer.
Part III. Data Link Layer
Advanced Computer Networks
Data Link Layer What does it do?
Part III Datalink Layer 10.
ECE 4450:427/527 - Computer Networks Spring 2017
COMP/ELEC 429/556 Introduction to Computer Networks
CSS432 Point-to-Point Links Textbook Ch2.1 – 2.5
Link Layer and LANs Its not about how hard you hit... It's about how hard you can get hit and keep moving forward 5: DataLink Layer.
CSCI-1680 Link Layer Reliability
2. Getting connected (part 1)
Getting Connected (Chapter 2 Part 3)
Reliable transmission
Point-to-Point Links Outline Encoding Framing Error Detection
Ion Stoica September 6, 2001 EE 122: Lecture 4 Ion Stoica September 6, 2001.
Advanced Computer Networks
Fundamentals of Computer Networks
Hardware Building Blocks
CSE 461: Framing, Error Detection and Correction
Transport Layer Outline Intro to transport UDP
Data Link Layer: Overview; Error Detection
Error detection: Outline
EECS 122: EE122: Error Detection and Reliable Transmission
Data Link Layer. Position of the data-link layer.
Presentation transcript:

Dr. Mozafar Bag-Mohammadi Ilam University Link Layer Dr. Mozafar Bag-Mohammadi Ilam University

Contents Overview Encoding Framing Error detection Acknowledgements & Timeouts

1. Overview: Link Layer

Link layer application transport network network link link physical Communication service between two physically connected devices: host-router, router-router, host-host unit of data: frame implemented in “adapter” e.g., PCMCIA card, Ethernet card typically includes: RAM, DSP chips, host bus interface, and link interface application transport network link physical network link physical M H t n l data link protocol H l H t n M frame phys. link adapter card

Link Layer Services Framing, link access: encapsulate datagram into frame, adding header, trailer implement channel access if shared medium, ‘physical addresses’ used in frame headers to identify source, dest different from IP address! Reliable delivery between two physically connected devices: seldom used on low bit error link (fiber, some twisted pair) wireless links: high error rates

Link Layer Services (more) Flow Control: pacing between sender and receivers Error Detection: errors caused by signal attenuation, noise. receiver detects presence of errors: signals sender for retransmission or drops frame Error Correction: receiver identifies and corrects bit error(s) without resorting to retransmission

2.Encoding Encode binary data onto signals Bits flow is between network adaptors. How to send clock information? Extract from signals or data. The simplest way is 0 as low signal and 1 as high signal. This is known as Non-Return to zero (NRZ) Bits NRZ 1

Problem with NRZ Consecutive 0’s or 1’s may create problems. Synchronization problem because of difference in the sender or receiver clocks. The average of signals which is used to distinguish between low or high may move and make the decoding difficult. This is called baseline wander Unable to recover clock

Alternative Encodings Non-return to Zero Inverted (NRZI) make a transition from current signal to encode a 1; stay at current signal to encode a zero solves the problem of consecutive 1s Manchester encoding transmit XOR of the NRZ encoded data and the clock. 0 is being encoded as a low to high transition and 1 as high to low. It doubles the rate, then, it is only 50% efficient. The rate signal changing is called baud rate.

Encodings (cont) Bits NRZ Clock Manchester NRZI 1

4B/5B Encoding 4B/5B: The idea is insert extra bits to break the consecutive bit patterns. every 4 bits of data encoded in a 5-bit code

4B/5B Encoding (cont) 5-bit codes selected to have no more than one leading 0 and no more than two trailing 0s thus, never get more than three consecutive 0s resulting 5-bit codes are transmitted using NRZI achieves 80% efficiency. Unused code are used for control. I.e. 11111 is for line is idle or 00000 for the line is dead. FDDI is using this scheme.

3.Framing How to distinguish between data and garbage. Break sequence of bits into a frame Typically implemented by network adaptor

Byte-oriented Approaches Sentinel-based delineate frame with special pattern: 01111110 or STX, ETX, etc characters. e.g., HDLC, SDLC, PPP Header Body 8 16 CRC ASCII character 1 soh (start of header) ASCII character 4 eot (end of transmission) Header Body 8 16 CRC 01111110

Byte-oriented Approaches problem: special pattern or characters appear in the payload solution: bit stuffing sender: insert 0 after five consecutive 1s receiver: delete 0 that follows five consecutive 1s

Byte stuffing

Byte-oriented Approaches (cont) Counter-based include payload length in the header e.g., DDCMP protocol from DEC. problem: count field corrupted solution: catch when CRC fails

4.Error Detection To send extra information to find error in the frame. The simplest form is sending two copies, inefficient. Sending the sum of values (?) in the frame, checksum. In Internet, consider 16 bits sequences and then use one-complement to find the result. Sending parity, odd or even parity. Odd parity of is

Error Detection Two dimensional parity, adding one extra bit, parity bit, to code and also find the parity for each bit position for total data

Cyclic Redundancy Code (CRC) Add k bits of redundant data to an n-bit message Where k << n e.g., k = 32 and n = 12,000 (1500 bytes)

CRC(cont) Represent n-bit message as n-1 degree polynomial e.g., MSG=10011010 as M(x) = x7 + x4 + x3 + x1 Let k be the degree of some divisor polynomial e.g., C(x) = x3 + x2 + 1 Transmit polynomial T(x) that is evenly divisible by C(x) shift left k bits, i.e., M(x)xk subtract remainder of M(x)xk / C(x) from M(x)xk

CRC (cont) Receiver polynomial T(x) + E(x) E(x) = 0 implies no errors Divide (T(x) + E(x)) by C(x); remainder zero if: E(x) was zero (no error), or E(x) is exactly divisible by C(x) All operation is done in modulo 2 in which there is no carry. Then, the operation can be done by XOR only.

CRC(cont) Example: M(x)= 110101, C(x) = 1001 1 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 1 The final transmitted message is: T(x) = 1 1 0 1 0 1 0 1 1 R

Example

Internet Checksum Algorithm View message as a sequence of 16-bit integers; sum using 16-bit ones-complement arithmetic; take ones-complement of the result. u_short cksum(u_short *buf, int count) { register u_long sum = 0; while (count--) sum += *buf++; if (sum & 0xFFFF0000) /* carry occurred, so wrap around */ sum &= 0xFFFF; sum++; } return ~(sum & 0xFFFF);

5.Acknowledgements & Timeouts

Stop-and-Wait Problem: keeping the pipe full Example Sender Receiver Problem: keeping the pipe full Example 1.5Mbps link x 45ms RTT = 67.5Kb (8KB) 1KB frames imples 1/8th link utilization

Sliding Window Allow multiple outstanding (un-ACKed) frames Upper bound on un-ACKed frames, called window Sender Receiver T ime …

SW: Sender … Assign sequence number to each frame (SeqNum) Maintain three state variables: send window size (SWS) last acknowledgment received (LAR) last frame sent (LFS) Maintain invariant: LFS - LAR <= SWS Advance LAR when ACK arrives Buffer up to SWS frames £ SWS LAR LFS …

SW: Receiver … Maintain three state variables receive window size (RWS) largest frame acceptable (LFA) last frame received (LFR) Maintain invariant: LFA - LFR <= RWS Frame SeqNum arrives: if LFR =< SeqNum < = LFA  accept if SeqNum < LFR or SeqNum > LFA  discarded Send cumulative ACKs £ RWS LFR LFA …

Sequence Number Space SeqNum field is finite; sequence numbers wrap around Sequence number space must be larger then number of outstanding frames SWS <= MaxSeqNum-1 is not sufficient suppose 3-bit SeqNum field (0..7) SWS=RWS=7 sender transmit frames 0..6 arrive successfully, but ACKs lost sender retransmits 0..6 receiver expecting 7, 0..5, but receives second incarnation of 0..5 SWS < (MaxSeqNum+1)/2 is correct rule Intuitively, SeqNum “slides” between two halves of sequence number space

Concurrent Logical Channels Multiplex 8 logical channels over a single link Run stop-and-wait on each logical channel Header: 3-bit channel num, 1-bit sequence num 4-bits total same as sliding window protocol Maintain three state bits per channel channel busy current sequence number out next sequence number in Separates reliability from order