CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 10 Introduction to Computer...

Preview:

Citation preview

1CMPE 150- Introduction to Computer Networks

CMPE 150

Fall 2005Lecture 10

Introduction to Computer Networks

2CMPE 150- Introduction to Computer Networks

Announcements

• No labs next week!– Except for make-up sessions.

• Homework 2 is up.• Graded homework 1 should be back next

week.

3CMPE 150- Introduction to Computer Networks

Today

• Layer 2!!!!• Tanenbaum chapter 3.

4CMPE 150- Introduction to Computer Networks

Data Link Layer

Application

Transport

Network

PHY

DLL

5CMPE 150- Introduction to Computer Networks

What does it do?

• What functions it performs?• Typically:– Handling transmission errors, a.k.a., error

control.

– Flow control.

– Framing.

6CMPE 150- Introduction to Computer Networks

Framing

7CMPE 150- Introduction to Computer Networks

DLL and the Stack

• (a) Virtual communication• (b) Actual communication

8CMPE 150- Introduction to Computer Networks

DLL Between Routers

9CMPE 150- Introduction to Computer Networks

The DDL and PHY

• The PHY delivers raw sequence of bits.– Unreliable service.

• The DLL must detect and, in some cases, correct errors.

10CMPE 150- Introduction to Computer Networks

DLL’s Error Control

• Break bit stream into frames.• Check if frames arrived correctly.• If not:– Discards frame.

– In some cases also request retransmisssion.

11CMPE 150- Introduction to Computer Networks

Framing (Revisited)

• Not trivial.• Different methods.

12CMPE 150- Introduction to Computer Networks

Framing: Using Counters

(a) Without errors. (b) With one error.

13CMPE 150- Introduction to Computer Networks

Character Counter

• Main problem?

14CMPE 150- Introduction to Computer Networks

Framing: Flag Byte

• Each frame starts and ends with special bytes: flag bytes.

• Two consecutive flag bytes indicate end of frame and beginning on new frame.

• Problem?

15CMPE 150- Introduction to Computer Networks

Framing: Flag Byte

• Each frame starts and ends with special bytes: flag bytes.

• Two consecutive flag bytes indicate end of frame and beginning on new frame.

• Problem?– What if flab bit pattern occurs in data?

16CMPE 150- Introduction to Computer Networks

Byte Stuffing

• (a) A frame delimited by flag bytes.• (b) Four examples of byte sequences before and after stuffing.

17CMPE 150- Introduction to Computer Networks

Byte Stuffing (Cont’d)

• Single ESC: part of the escape sequence.• Doubled ESC: single ESC is part of data.• De-stuffing.

• Problem: – What if character encoding does not use 8-bit

characters?

18CMPE 150- Introduction to Computer Networks

Bit Stuffing

• Allows character codes with arbitrary bits per character.

• Each frames begins and ends with special pattern.

• Example: 01111110.• When sender’s DLL finds 5 consecutive 1’s in

data stream, stuffs 0.• When receiver sees 5 1’s followed by 0, de-

stuffs.

19CMPE 150- Introduction to Computer Networks

Bit Stuffing: Example

• (a) Original data.• (b) Data as they appear on the line.• (c) Data after de-stuffing.

20CMPE 150- Introduction to Computer Networks

Error Control

21CMPE 150- Introduction to Computer Networks

Error Control

• Reliable delivery.– Hop-by-hop!

• Detecting errors.• Detecting and correcting errors.

22CMPE 150- Introduction to Computer Networks

Acknowledgments

• Special control info (in the case of the DLL, control frame) acknowledging receipt of data.

• Positive and negative ACKs.– ACKs.

– NACKs.

• Are ACKs sufficient?

23CMPE 150- Introduction to Computer Networks

Reliable Delivery

• Timers.• Retransmission.• Duplicate detection.

24CMPE 150- Introduction to Computer Networks

Flow Control

• Handles mismatch between sender’s and receiver’s speed.– Receiver’s buffer limitation.

• Feedback-based flow control.– Explicit permission from receiver.

• Rate-based flow control.– Implicit mechanism for limiting sending rate.

• DLL typically uses feedback-based flow control.

Recommended