Upload
latham
View
29
Download
0
Embed Size (px)
DESCRIPTION
CMPE 150 Fall 2005 Lecture 10. 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. Today. Layer 2!!!! Tanenbaum chapter 3. Data Link Layer. Application. Transport. Network. - PowerPoint PPT Presentation
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.