0% found this document useful (0 votes)
34 views20 pages

CS 457 - Lecture 3 Link Layer Protocols: Fall 2011

This document summarizes key topics from the lecture "Link Layer Protocols". It discusses how link layer protocols encode and frame data, provide error detection, and enable reliable transmission over unreliable mediums. Specific protocols covered include Ethernet, WiFi, cellular, PPP, and HDLC. Error detection techniques like parity checking and cyclic redundancy checks are also summarized. Reliable data transfer is identified as an essential networking function, and early approaches like stop-and-wait are outlined.

Uploaded by

fx_ww2001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views20 pages

CS 457 - Lecture 3 Link Layer Protocols: Fall 2011

This document summarizes key topics from the lecture "Link Layer Protocols". It discusses how link layer protocols encode and frame data, provide error detection, and enable reliable transmission over unreliable mediums. Specific protocols covered include Ethernet, WiFi, cellular, PPP, and HDLC. Error detection techniques like parity checking and cyclic redundancy checks are also summarized. Reliable data transfer is identified as an essential networking function, and early approaches like stop-and-wait are outlined.

Uploaded by

fx_ww2001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 20

CS 457 Lecture 3

Link Layer Protocols


Fall 2011

The Internet Hourglass Design


Application Layer
Protocol Layer
Transport Layer
Network Layer
Link Layer
Data Communication
Physical Layer
[Deering98]

Topics
Link-layer services
Encoding, framing, and error detection
Error correction and flow control
Forms necessary background

Reliable Transmission
First look at an essential part of networking

Ethernet, WiFi, Cellular


How to share a transmission medium
Carrier sense, collision detection, and random
access

Message, Segment, Packet, & Frame


host

HTTP message

HTTP

router

Ethernet
interface

HTTP

TCP segment

TCP

IP

host

IP packet

IP

Ethernet
interface

Ethernet frame

TCP

router
IP packet

SONET
interface

SONET
interface

IP packet

IP

Ethernet
interface

SONET frame
WE ARE HERE IN THE LAYERS

IP

Ethernet
interface

Ethernet frame

Adaptors Communicating
datagram

sending

link layer protocol

frame

frame

adapter

adapter receiving

node

node

Link layer implemented in adaptor (network interface card)


Ethernet card, PCMCIA card, 802.11 card

Sending side:
Encapsulates datagram in a frame
Adds error checking bits, flow control, etc.

Receiving side
Looks for errors, flow control, etc.
Extracts datagram and passes to receiving node

Point to Point Data Links


One sender, One receiver, One link:
easier than broadcast link:
no Media Access Control
no need for explicit MAC addressing
e.g., dialup link, ISDN line
Popular Point-to-Point DLC protocols:
PPP (point-to-point protocol)
HDLC: High level data link control

PPP Design Requirements [RFC 1557]


Packet framing: encapsulation of network-layer
datagram in data link frame
carry network layer data of any network layer
protocol (not just IP) at same time
ability to demultiplex upwards
Bit transparency: must carry any bit pattern in the
data field
Error detection (no correction)
Connection liveness: detect, signal link failure to
network layer
Network layer address negotiation: endpoint can
learn/configure each others network address

PPP non-requirements

No error correction/recovery
No flow control
Out of order delivery OK
No need to support multipoint links
(e.g., polling)
Error recovery, flow control, data re-ordering
all relegated to higher layers!

PPP Data Frame


Flag: delimiter (framing)
Address: does nothing (only one option)
Control: does nothing; in the future possible
multiple control fields
Protocol: upper layer protocol to which frame
delivered (eg, PPP-LCP, IP, IPCP, etc)

PPP Data Frame


info: upper layer data being carried
check: cyclic redundancy check for error
detection

Ethernet Frame Structure


Sending adapter encapsulates packet in frame

Preamble: synchronization
Seven bytes with pattern 10101010, followed by
one byte with pattern 10101011
Used to synchronize receiver, sender clock rates

Ethernet Frame Structure (Cont.)


Addresses: source and destination MAC addresses
Adaptor passes frame to network-level protocol
If destination address matches the adaptor
Or the destination address is the broadcast address

Otherwise, adapter discards frame

Type: indicates the higher layer protocol


Usually IP
But also Novell IPX, AppleTalk,

CRC: cyclic redundancy check


Checked at receiver
If error is detected, the frame is simply dropped

Encoding Bits
Simple idea of high for 1 and low for 0
Say 1 usec per bit. Sender sends 4 bits with 4 usec high
Receiver sees 4.6 usec of high. Was that 4 or 5 bits?

Allows clocks in sending and receiving nodes to


synchronize to each other
no need for a centralized, global clock among nodes!

Physical-layer stuff for Electrical Engineers!

Error Detection
EDC= Error Detection and Correction bits (redundancy)
D

= Data protected by error checking, may include header fields

Error detection not 100% reliable!


protocol may miss some errors, but rarely
larger EDC field yields better detection and correction

Parity Checking
Single Bit Parity:
Detect single bit errors

Two Dimensional Bit Parity:


Detect and correct single bit errors

Internet Checksum
Goal: detect errors (e.g., flipped bits) in transmitted
segment
Receiver:

Sender:

treat segment contents as


sequence of 16-bit integers
checksum: addition (1s
complement sum) of
segment contents
sender puts checksum
value into UDP checksum
field

compute checksum of received


segment
check if computed checksum
equals checksum field value:
NO - error detected
YES - no error detected. But
maybe errors nonetheless?
More later .

Checksumming:
Cyclic Redundancy Check
view data bits D as a polynomial
choose r+1 polynomial C
goal: choose r CRC bits, R, such that
<D,R> exactly divisible by C (modulo 2)
receiver knows C, divides <D,R> by C. If non-zero
remainder: error detected!
can detect all burst errors less than r+1 bits

widely used in practice (ATM, HDCL)

Reliable Transfer
Fundamental Networking Topic
Most important topic thus far in this course
Frames may be lost or corrupted
Encoding failures where clocks get out of sync
Error detection reports packet is corrupted
And a vast number of other reasons.

Can we build link so it appears reliable?


Build link so errors never occur??
not feasible

Add error correction to frames?


requires lots of additional overhead bytes for each frame
doesnt help if entire frame lost (e.g. clock sync error)

Stop and Wait


(first attempt has an error)
Sender writes frame onto wire
and sets a timeout to wait for an ACK
Sender now stops and waits for the ACK

Upon receiving a packet,


receiver sends an ACK
Sender Will Either
1) receive an ACK and can send next frame
2) times out and receives the lost frame

ACK

Packet lost

ACK

Pack
et
ACK

Timeout

Pack
et

Timeout

Pack
et

Timeout

Pack
et

Timeout

Timeout

Timeout

Reasons for Retransmission


Pack
et
K
C
A
Pack
et
ACK

ACK lost

Early timeout

DUPLICATE
PACKET

DUPLICATE
PACKETS

You might also like