0% found this document useful (0 votes)
33 views69 pages

Com NW005

The document discusses different approaches to managing access to shared communication channels at the data link layer. It describes channel partitioning protocols like TDMA, FDMA, and CDMA that divide channels into time slots, frequency bands, or codes. It also covers random access protocols like ALOHA and CSMA that allow nodes to transmit without coordination and manage collisions. Additionally, it outlines "taking turns" protocols like polling and token passing that aim to coordinate channel access to avoid inefficiencies at low or high traffic loads.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views69 pages

Com NW005

The document discusses different approaches to managing access to shared communication channels at the data link layer. It describes channel partitioning protocols like TDMA, FDMA, and CDMA that divide channels into time slots, frequency bands, or codes. It also covers random access protocols like ALOHA and CSMA that allow nodes to transmit without coordination and manage collisions. Additionally, it outlines "taking turns" protocols like polling and token passing that aim to coordinate channel access to avoid inefficiencies at low or high traffic loads.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 69

The Data Link Layer

Our goals:
❒ understand principles behind data link layer
services:
❍ error detection, correction
❍ sharing a broadcast channel: multiple access
❍ link layer addressing
❍ reliable data transfer, flow control: done!
❒ instantiation and implementation of various link
layer technologies
Link Layer: Introduction “link”
Some terminology:
❒ hosts and routers are nodes
(bridges and switches too)
❒ communication channels that
connect adjacent nodes along
communication path are links
❍ wired links
❍ wireless links
❍ LANs
❒ 2-PDU is a frame,
encapsulates datagram

data-link layer has responsibility of


transferring datagram from one node
to adjacent node over a link
Link Layer Services
❒ Framing, link access:
❍ encapsulate datagram into frame, adding header, trailer
❍ channel access if shared medium
❍ ‘physical addresses’ used in frame headers to identify
source, dest
• different from IP address!
❒ Reliable delivery between adjacent nodes
❍ we learned how to do this already (chapter 3)!
❍ seldom used on low bit error link (fiber, some twisted
pair)
❍ wireless links: high error rates
• Q: why both link-level and end-end reliability?

5a-3
Link Layer Services (more)
❒ Flow Control:
❍ pacing between adjacent sending and receiving nodes
❒ 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
❒ Half-duplex and full-duplex
❍ with half duplex, nodes at both ends of link can transmit,
but not at same time
5a-4
Adaptors Communicating
datagram
link layer protocol rcving
sending node
node
frame frame
adapter adapter

❒ link layer implemented in ❒ receiving side


“adaptor” (aka NIC) ❍ looks for errors, rdt, flow
❍ Ethernet card, PCMCI control, etc
card, 802.11 card ❍ extracts datagram, passes
to rcving node
❒ sending side:
❍ encapsulates datagram in ❒ adapter is semi-
a frame autonomous
❍ adds error checking bits, ❒ link & physical
rdt, flow control, etc. layers
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: Two Dimensional Bit Parity:
Detect single bit errors Detect and correct single bit errors

0 0
Checksumming: Cyclic Redundancy Check
❒ view data bits, D, as a binary number
❒ choose r+1 bit pattern (generator), G
❒ goal: choose r CRC bits, R, such that
❍ <D,R> exactly divisible by G (modulo 2)
❍ receiver knows G, divides <D,R> by G. If non-zero
remainder: error detected!
❍ can detect all burst errors less than r+1 bits
❒ widely used in practice (ATM, HDLC)
Multiple Access Links and Protocols
Two types of “links”:
❒ point-to-point
❍ PPP for dial-up access
❍ point-to-point link between Ethernet switch and host
❒ broadcast (shared wire or medium)
❍ traditional Ethernet
❍ upstream HFC
❍ 802.11 wireless LAN
Multiple Access protocols
❒ single shared broadcast channel
❒ two or more simultaneous transmissions by nodes:
interference
❍ only one node can send successfully at a time
multiple access protocol
❒ distributed algorithm that determines how nodes
share channel, i.e., determine when node can transmit
❒ communication about channel sharing must use channel
itself!
❒ what to look for in multiple access protocols:
Ideal Mulitple Access Protocol
Broadcast channel of rate R bps
1. When one node wants to transmit, it can send at
rate R.
2. When M nodes want to transmit, each can send at
average rate R/M
3. Fully decentralized:
❍ no special node to coordinate transmissions
❍ no synchronization of clocks, slots
4. Simple
MAC Protocols: a taxonomy
Three broad classes:
❒ Channel Partitioning
❍ divide channel into smaller “pieces” (time slots,
frequency, code)
❍ allocate piece to node for exclusive use
❒ Random Access
❍ channel not divided, allow collisions
❍ “recover” from collisions
❒ “Taking turns”
❍ tightly coordinate shared access to avoid
collisions
Channel Partitioning MAC protocols: TDMA

TDMA: time division multiple access


❒ access to channel in "rounds"
❒ each station gets fixed length slot (length = pkt
trans time) in each round
❒ unused slots go idle
❒ example: 6-station LAN, 1,3,4 have pkt, slots 2,5,6
idle
Channel Partitioning MAC protocols: FDMA

FDMA: frequency division multiple access


❒ channel spectrum divided into frequency bands
❒ each station assigned fixed frequency band
❒ unused transmission time in frequency bands go idle
❒ example: 6-station LAN, 1,3,4 have pkt, frequency
bands 2,5,6 idle
time
frequency
bands
Channel Partitioning (CDMA)
CDMA (Code Division Multiple Access)
❒ unique “code” assigned to each user; i.e., code set partitioning
❒ used mostly in wireless broadcast channels (cellular, satellite,
etc)
❒ all users share same frequency, but each user has own
“chipping” sequence (i.e., code) to encode data
❒ encoded signal = (original data) X (chipping sequence)
❒ decoding: inner-product of encoded signal and chipping
sequence
❒ allows multiple users to “coexist” and transmit simultaneously
with minimal interference (if codes are “orthogonal”)
Random Access Protocols
❒ When node has packet to send
❍ transmit at full channel data rate R.
❍ no a priori coordination among nodes
❒ two or more transmitting nodes -> “collision”,
❒ random access MAC protocol specifies:
❍ how to detect collisions
❍ how to recover from collisions (e.g., via delayed
retransmissions)
❒ Examples of random access MAC
protocols:
❍ slotted ALOHA
❍ ALOHA
❍ CSMA, CSMA/CD, CSMA/CA
Slotted ALOHA
Assumptions Operation
❒ all frames same size ❒ when node obtains fresh
❒ time is divided into frame, it transmits in next
equal size slots, time to slot
transmit 1 frame ❒ no collision, node can send
❒ nodes start to transmit new frame in next slot
frames only at ❒ if collision, node
beginning of slots retransmits frame in each
❒ nodes are synchronized subsequent slot with
❒ if 2 or more nodes
prob. p until success
transmit in slot, all
nodes detect collision
Slotted ALOHA

Pros Cons
❒ single active node can ❒ collisions, wasting slots
continuously transmit ❒ idle slots
at full rate of ❒ nodes may be able to
channel
detect collision in less
❒ highly decentralized: than time to transmit
only slots in nodes packet
need to be in sync
❒ simple 5a-27
Slotted Aloha efficiency
Efficiency is the long-run ❒ For max efficiency
fraction of successful slots with N nodes, find p*
when there’s many nodes, each that maximizes
with many frames to send Np(1-p)N-1
❒ For many nodes, take
❒ Suppose N nodes with limit of Np*(1-p*)N-1
many frames to send, as N goes to
each transmits in infinity, gives 1/e
slot with probability = .37
p At best: channel
❒ prob that 1st node has used for useful
success in a slot transmissions 37%
= p(1-p)N-1 of time!
❒ prob that any node has
a success = Np(1-p)N-1
CSMA (Carrier Sense Multiple Access)

CSMA: listen before transmit:


❒ If channel sensed idle: transmit entire frame
❒ If channel sensed busy, defer transmission

❒ Human analogy: don’t interrupt others!


“Taking Turns” MAC protocols
channel partitioning MAC protocols:
❍ share channel efficiently and fairly at high load
❍ inefficient at low load: delay in channel access,
1/N bandwidth allocated even if only 1 active
node!
Random access MAC protocols
❍ efficient at low load: single node can fully
utilize channel
❍high load: collision overhead
“taking turns” protocols
look for best of both worlds!
“Taking Turns” MAC protocols
Polling: Token passing:
❒ master node ❒ control token passed from
“invites” slave nodes one node to next
to transmit in turn sequentially.
❒ concerns: ❒ token message
❍ polling overhead ❒ concerns:
❍ latency ❍ token overhead
❍ single point of ❍ latency
failure (master) ❍ single point of failure
(token)
Summary of MAC protocols
❒ What do you do with a shared media?
❍ Channel Partitioning, by time, frequency or code
• Time Division,Code Division, Frequency Division
❍ Random partitioning (dynamic),
• ALOHA, S-ALOHA, CSMA, CSMA/CD
• carrier sensing: easy in some technologies (wire), hard
in others (wireless)
• CSMA/CD used in Ethernet
❍ Taking Turns
• polling from a central site, token passing
LAN technologies
Data link layer so far:
❍ services, error detection/correction, multiple
access
Next: LAN technologies
❍ addressing
❍ Ethernet
❍ hubs, bridges, switches
❍ 802.11
❍ PPP
❍ ATM
LAN Addresses and ARP
32-bit IP address:
❒ network-layer address
❒ used to get datagram to destination IP network
(recall IP network definition)
LAN (or MAC or physical or Ethernet)
address:
❒ used to get datagram from one interface to another
physically-connected interface (same network)
❒ 48 bit MAC address (for most LANs)
burned in the adapter ROM
LAN Addresses and ARP
Each adapter on LAN has unique LAN address
LAN Address (more)
❒ MAC address allocation administered by IEEE
❒ manufacturer buys portion of MAC address space
(to assure uniqueness)
❒ Analogy:
(a) MAC address: like Social Security Number
(b) IP address: like postal address
❒ MAC flat address => portability
❍ can move LAN card from one LAN to another
❒ IP hierarchical address NOT portable
❍ depends on IP network to which node is attached
Recall earlier routing discussion
Starting at A, given IP A 223.1.1.1
datagram addressed to B:
223.1.2.1
❒ look up net. address of B, find B 223.1.1.2
on same net. as A 223.1.1.4
❒ link layer send datagram to B B 223.1.2.9
223.1.1.3 223.1.3.27 223.1.2.2
inside link-layer frame E
223.1.3.1
frame source, datagram source, 223.1.3.2
dest address dest address

B’s MAC A’s MAC A’s IP B’s IP


IP payload
addr addr addr addr

datagram
frame
ARP: Address Resolution Protocol

Question: how to determine ❒ Each IP node (Host,


MAC address of B Router) on LAN
knowing B’s IP address? has ARP table
❒ ARP Table: IP/MAC
address mappings for
some LAN nodes
< IP address; MAC address;
TTL>
❍ TTL (Time To
Live): time after which
address mapping will be
forgotten (typically 20
min)
ARP protocol
❒ A wants to send datagram ❒ A caches (saves) IP-to-
to B, and A knows B’s IP MAC address pair in its
address. ARP table until information
❒ Suppose B’s MAC address becomes old (times out)
is not in A’s ARP table. ❍ soft state: information
❒ A broadcasts ARP query that times out (goes
packet, containing B's IP away) unless refreshed
address ❒ ARP is “plug-and-
❍ all machines on LAN play”:
receive ARP query ❍ nodes create their ARP
❒ B receives ARP packet, tables without
replies to A with its (B's) intervention from net
MAC address administrator
❍ frame sent to A’s MAC
address (unicast)
Routing to another LAN
walkthrough: send datagram from A to B via R
assume A knows B IP
address

R
B
❒ Two ARP tables in router R, one for each
IP network (LAN)
❒ A creates datagram with source A, destination B
❒ A uses ARP to get R’s MAC address for 111.111.111.110
❒ A creates link-layer frame with R's MAC address as dest,
frame contains A-to-B IP datagram
❒ A’s data link layer sends frame
❒ R’s data link layer receives frame
❒ R removes IP datagram from Ethernet frame, sees its
destined to B
❒ R uses ARP to get B’s physical layer address
❒ R creates frame containing A-to-B IP datagram sends
to B

R
B

5: DataLink Layer 5a-46


Ethernet
“dominant” LAN technology:
❒ cheap $20 for 100Mbs!
❒ first widely used LAN technology
❒ Simpler, cheaper than token LANs and ATM
❒ Kept up with speed race: 10, 100, 1000 Mbps

Metcalfe’s Ethernet
sketch
Ethernet Frame Structure
Sending adapter encapsulates IP datagram (or other
network layer protocol packet) in Ethernet
frame

Preamble:
❒ 7 bytes with pattern 10101010 followed by one
byte with pattern 10101011
❒ used to synchronize receiver, sender clock
rates
Ethernet Frame Structure
(more)
❒ Addresses: 6 bytes
❍ if adapter receives frame with matching destination
address, or with broadcast address (eg ARP packet), it
passes data in frame to net-layer protocol
❍ otherwise, adapter discards frame
❒ Type: indicates the higher layer protocol, mostly
IP but others may be supported such as Novell
IPX and AppleTalk)
❒ CRC: checked at receiver, if error is detected, the
frame is simply dropped
Unreliable, connectionless service
❒ Connectionless: No handshaking between sending
and receiving adapter.
❒ Unreliable: receiving adapter doesn’t send acks or
nacks to sending adapter
❍ stream of datagrams passed to network layer can have
gaps
❍ gaps will be filled if app is using TCP
❍ otherwise, app will see the gaps
Ethernet uses CSMA/CD
❒ No slots ❒ Before attempting a
❒ adapter doesn’t transmit retransmission,
if it senses that some adapter waits a
other adapter is random time, that is,
transmitting, that is, random access
carrier sense
❒ transmitting adapter
aborts when it senses
that another adapter is
transmitting, that is,
collision detection
Ethernet CSMA/CD algorithm
1. Adaptor gets datagram 4. If adapter detects
from and creates frame another transmission while
2. If adapter senses channel transmitting, aborts
idle, it starts to transmit and sends jam signal
frame. If it senses 5. After aborting, adapter
channel busy, waits until enters exponential
channel idle and then backoff: after the mth
transmits collision, adapter chooses
3. If adapter transmits a K at random from
entire frame without {0,1,2,…,2m-1}. Adapter
detecting another waits K*512 bit times and
transmission, the adapter returns to Step 2
is done with frame !
Ethernet’s CSMA/CD (more)
Jam Signal: make sure all Exponential Backoff:
other transmitters are ❒ Goal: adapt retransmission
aware of collision; 48 bits; attempts to estimated
Bit time: .1 microsec for 10 current load
Mbps Ethernet ; ❍ heavy load: random wait
for K=1023, wait time is will be longer
about 50 msec ❒ first collision: choose K
from {0,1}; delay is K x 512
bit transmission times
❒ after second collision:
See/interact with Java choose K from {0,1,2,3}…
applet on AWL Web site: ❒ after ten collisions, choose
highly recommended !
K from {0,1,2,3,4,…,1023}
CSMA/CD efficiency
❒ Tprop = max prop between 2 nodes in LAN
❒ ttrans = time to transmit max-size frame

1
efficiency 
1  5t prop / t trans
❒ Efficiency goes to 1 as tprop goes to 0
❒ Goes to 1 as ttrans goes to infinity
❒ Much better than ALOHA, but still decentralized,
simple, and cheap
Ethernet Technologies: 10Base2
❒ 10: 10Mbps; 2: under 200 meters max cable
length
❒ thin coaxial cable in a bus topology

❒ repeaters used to connect up to multiple segments


❒ repeater repeats bits it hears on one interface to
its other interfaces: physical layer device only!
❒ has become a legacy technology
10BaseT and 100BaseT
❒ 10/100 Mbps rate; latter called “fast ethernet”
❒ T stands for Twisted Pair
❒ Nodes connect to a hub: “star topology”; 100 m
max distance between nodes and hub

nodes

hub
❒ Hubs are essentially physical-layer repeaters:
❍ bits coming in one link go out all other links
❍ no frame buffering
❍ no CSMA/CD at hub: adapters detect
collisions
❍ provides net management functionality
Manchester encoding

❒ Used in 10BaseT, 10Base2


❒ Each bit has a transition
❒ Allows clocks in sending and receiving nodes to
synchronize to each other
❍ no need for a centralized, global clock among nodes!
❒ Hey, this is physical-layer stuff!
Gbit Ethernet
❒ use standard Ethernet frame format
❒ allows for point-to-point links and shared
broadcast channels
❒ in shared mode, CSMA/CD is used; short distances
between nodes to be efficient
❒ uses hubs, called here “Buffered Distributors”
❒ Full-Duplex at 1 Gbps for point-to-point links
❒ 10 Gbps now !
Interconnecting LAN segments
❒ Hubs
❒ Bridges
❒ Switches
❍ Remark: switches are essentially multi-port
bridges.
❍ What we say about bridges also holds for
switches!
Interconnecting with hubs
❒ Backbone hub interconnects LAN segments
❒ Extends max distance between nodes
❒ But individual segment collision domains become one
large collision domain
❍ if a node in CS and a node EE transmit at same time:
collision
❒ Can’t interconnect 10BaseT & 100BaseT
Bridges
❒ Link layer device
❍ stores and forwards Ethernet frames
❍ examines frame header and selectively
forwards frame based on MAC dest
address
❍ when frame is to be forwarded on segment,
uses CSMA/CD to access segment
❒ transparent
❍ hosts are unaware of presence of bridges
❒ plug-and-play, self-learning
❍ bridges do not need to be configured
Bridges: traffic isolation
❒ Bridge installation breaks LAN into LAN segments
❒ bridges filter packets:
❍ same-LAN-segment frames not usually
forwarded onto other LAN segments
❍ segments become separate collision
domains

collision collision = hub


domain bridge
domain = host

LAN segment LAN segment

LAN (IP network)


Forwarding

How do determine to which LAN segment to


forward frame?
• Looks like a routing problem...
Self learning
❒ A bridge has a bridge table
❒ entry in bridge table:
❍ (Node LAN Address, Bridge Interface, Time Stamp)
❍ stale entries in table dropped (TTL can be 60 min)
❒ bridges learn which hosts can be reached through
which interfaces
❍ when frame received, bridge “learns”
location of sender: incoming LAN segment
❍ records sender/location pair in bridge table
Bridge example
Suppose C sends frame to D and D replies back with
frame to C.

❒ Bridge receives frame from from C


❍ notes in bridge table that C is on interface 1
❍ because D is not in table, bridge sends frame into
interfaces 2 and 3
❒ frame received by D 5: DataLink Layer 5a-67
Bridge Learning: example

❒ D generates frame for C, sends


❒ bridge receives frame
❍ notes in bridge table that D is on interface 2
❍ bridge knows C is on interface 1, so selectively forwards
frame to interface 1
Interconnection without backbone

❒ Not recommended for two reasons:


- single point of failure at Computer Science hub
- all traffic between EE and SE must path
over CS segment
Backbone configuration

Recommended !
Bridges Spanning Tree
❒ for increased reliability, desirable to have
redundant, alternative paths from source to dest
❒ with multiple paths, cycles result - bridges may
multiply and forward frame forever
❒ solution: organize bridges in a spanning tree by
disabling subset of interfaces
Disabled
Some bridge features
❒ Isolates collision domains resulting in higher total
max throughput
❒ limitless number of nodes and geographical
coverage
❒ Can connect different Ethernet types
❒ Transparent (“plug-and-play”): no configuration
necessary
Bridges vs. Routers
❒ both store-and-forward devices
❍ routers: network layer devices (examine network layer
headers)
❍ bridges are link layer devices
❒ routers maintain routing tables, implement routing
algorithms
❒ bridges maintain bridge tables, implement filtering,
learning and spanning tree algorithms
Routers vs. Bridges
Bridges + and -
+ Bridge operation is simpler requiring less packet
processing
+ Bridge tables are self learning
- All traffic confined to spanning tree, even when
alternative bandwidth is available
- Bridges do not offer protection from broadcast
storms
Routers vs. Bridges
Routers + and -
+ arbitrary topologies can be supported, cycling is
limited by TTL counters (and good routing protocols)
+ provide protection against broadcast storms
- require IP address configuration (not plug and play)
- require higher packet processing

❒ bridges do well in small (few hundred hosts) while


routers used in large networks (thousands of hosts)
Ethernet Switches
❒ Essentially a multi-
interface bridge
❒ layer 2 (frame) forwarding,
filtering using LAN
addresses
❒ Switching: A-to-A’ and B-
to-B’ simultaneously, no
collisions
❒ large number of
interfaces
❒ often: individual hosts,
star-connected into switch
❍ Ethernet, but no
collisions!
Ethernet Switches
❒ cut-through switching: frame forwarded
from input to output port without awaiting
for assembly of entire frame
❍ slight reduction in latency
❒ combinations of shared/dedicated,
10/100/1000 Mbps interfaces
Not an atypical LAN (IP network)
Dedicated

Shared
Summary comparison

hubs bridges routers switches

traffic no yes yes yes


isolation
plug & play yes yes no yes

optimal no no yes no

routing
cut yes no no yes
through
IEEE 802.11 Wireless LAN
❒ 802.11b ❒ 802.11a
❍ 2.4-5 GHz unlicensed ❍ 5-6 GHz range
radio spectrum ❍ up to 54 Mbps
❍ up to 11 Mbps ❒ 802.11g
❍ direct sequence spread ❍ 2.4-5 GHz range
spectrum (DSSS) in
physical layer
❍ up to 54 Mbps
• all hosts use same ❒ All use CSMA/CA for
chipping code multiple access
❍ widely deployed, using ❒ All have base-station
base stations and ad-hoc network
versions
Ad Hoc Network approach
❒ No AP (i.e., base station)
❒ wireless hosts communicate with each other
❍ to get packet from wireless host A to B may
need to route through wireless hosts X,Y,Z
❒ Applications:
❍ “laptop” meeting in conference room, car
❍ interconnection of “personal” devices
❍ battlefield
❒ IETF MANET
(Mobile Ad hoc Networks)
working group
IEEE 802.11: multiple access
❒ Collision if 2 or more nodes transmit at same time
❒ CSMA makes sense:
❍ get all the bandwidth if you’re the only one transmitting
❍ shouldn’t cause a collision if you sense another transmission
❒ Collision detection doesn’t work: hidden terminal
problem
IEEE 802.11 MAC Protocol: CSMA/CA
802.11 CSMA: sender
- if sense channel idle for
DISF sec.
then transmit entire frame
(no collision detection)
-if sense channel busy
then binary backoff
802.11 CSMA receiver
- if received OK
return ACK after
SIFS
(ACK is needed due to
hidden terminal problem)
Collision avoidance mechanisms
❒ Problem:
❍ two nodes, hidden from each other, transmit complete
frames to base station
❍ wasted bandwidth for long duration !
❒ Solution:
❍ small reservation packets
❍ nodes track reservation interval with
internal “network allocation vector” (NAV)
A word about Bluetooth
❒ Low-power, small radius, ❒ Interference from
wireless networking wireless LANs, digital
technology cordless phones,
❍ 10-100 meters microwave ovens:
❒ omnidirectional ❍ frequency hopping
helps
❍ not line-of-
sight infrared ❒ MAC protocol
❒ Interconnects supports:
gadgets ❍ error correction
❒ 2.4-2.5 GHz unlicensed
❍ ARQ

radio band ❒ Each node has a 12-bit


❒ up to 721 kbps address

You might also like