Upload
dhanamjay-kanipakkam
View
226
Download
3
Embed Size (px)
DESCRIPTION
5. Data Link Layer
Citation preview
Lszl Bszrmnyi Computer Networks Link Layer - 1
Computer Networks
5.Data Link Layer
Lszl Bszrmnyi Computer Networks Link Layer - 2
Nodes and Links Hosts and routers are nodes Comm. channels connecting
adjacent nodes are links Wired and wireless links LANs
A 2-PDU (L-PDU) is a frame, encapsulates a datagram
Path over different link protocols over different links Ethernet WLAN Ethernet
link
data-link layer has responsibility of transferring datagram from one node to an adjacent node over a single link
Lszl Bszrmnyi Computer Networks Link Layer - 3
Link Layer Services
Framing, link access Encapsulate datagram into frame, adding header, trailer Channel access if shared medium (MAC)
Media Access Control protocols Physical addresses used in frame headers to identify
source and destination Different from IP address!
Reliable delivery between adjacent nodes Transport layer learned a lot from the link layer (frame
numbering and retransmission if necessary) Seldom used on low bit error link (fiber, some twisted pair) Wireless links: high error rates
Lszl Bszrmnyi Computer Networks Link Layer - 4
Link Layer Services (more) Flow Control
Sliding window protocols (as in the transport layer) 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
Lszl Bszrmnyi Computer Networks Link Layer - 5
Adapters Communicating
Link layer implemented in adapter (aka NIC) Ethernet card, PCMCI card,
802.11 card Sending side:
Encapsulates datagram in a frame
Adds error checking bits, rdt, flow control, etc.
Receiving side Looks for errors, rdt, flow
control, etc Extracts datagram, passes to
the receiving node Adapter is semi-autonomous Link & physical layers
sendingnode
frame
rcvingnode
datagram
frame
adapter adapter
link layer protocol
Lszl Bszrmnyi Computer Networks Link Layer - 6
Error Detection
Error detection not 100% reliable! Protocol may miss some errors, but rarely Larger EDC field yields better detection and correction
EDC= Error Detection and Correction bits (redundancy)
D = Data protected by error checking, may include header fields
Lszl Bszrmnyi Computer Networks Link Layer - 7
Parity CheckingSingle Bit Parity:Detect single bit errors
Two Dimensional Bit Parity:Detect and correct single bit errors
0 0
Even (odd) parity scheme # of 1s in d+1 bits is
always even (odd) Receiver checks this Can detect 1 bit error Insufficient for usual
error-bursts
Lszl Bszrmnyi Computer Networks Link Layer - 8
Cyclic Redundancy Check (CRC) View data bits, D, as a binary number Choose r+1 bit pattern (generator), G, leftmost bit being 1 Goal: choose r CRC bits, R, such that
(d + r) exactly divisible by G (modulo 2, no carries: +,- XOR) D*2r XOR R = n*G D*2r = n*G XOR R R = remainder(D*2r / G) Receiver knows G, divides by G If non-zero remainder: error detected! Can detect all burst errors less than r+1 bits
Widely used in practice (ATM, HDLC); 8,12,16,32 bit G-s
Lszl Bszrmnyi Computer Networks Link Layer - 9
CRC Example
Want:D.2r XOR R = nG
equivalently:D.2r = nG XOR R
equivalently:if we divide D.2r by G, want remainder R
R = remainder[ ]D.2rG
Transmitted d+r (9) bits:101110 | 011
Lszl Bszrmnyi Computer Networks Link Layer - 10
Bit Stuffing in general Special pattern at start and end of frame
Flag: (7EH) (contains 6 consecutive 1s) Data transparency requirement
Data field must be allowed to include flag pattern If the data contains 7EH, change it in a predefined way
Sender (hardware) Adds (stuffs) an additional 0 bit after each 5
consecutive 1s Receiver (hardware)
Sees 5 1 bits, followed by a 0: destuff the 0 bit If no hardware support: use Byte Stuffing in sw.
Lszl Bszrmnyi Computer Networks Link Layer - 11
Bit Stuffing example
7 10
107
5
5
Lszl Bszrmnyi Computer Networks Link Layer - 12
Point to Point Data Link Control
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
Advanced error detection and retransmission mechanisms
Lszl Bszrmnyi Computer Networks Link Layer - 13
PPP Design Requirements [RFC 1557]
Packet framing Encapsulation of any NL (not only IP) datagr. in DL frame Ability to demultiplex upwards
Bit transparency Must carry any bit pattern in the data field May use byte-stuffing instead of bit-stuffing
Error detection (no correction) Multiple types of links Connection aliveness
Detect, signal link failure to network layer Network layer address negotiation
Endpoints can learn/set each others network address
Lszl Bszrmnyi Computer Networks Link Layer - 14
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!
Lszl Bszrmnyi Computer Networks Link Layer - 15
PPP Data Frame Flag
Every frame begins and ends with a flag byte (framing) Address and Control
Currently do nothing and can be omitted Protocol
Upper layer protocol (e.g, PPP-Link Control Protocol (LCP), IP, IP Control Protocol (IPCP), AppleTalk, etc)
Default max. length for info: 1500 bytes
Lszl Bszrmnyi Computer Networks Link Layer - 16
Multiple Access Links and Protocols Point-to-point links
E.g. PPP for dial-up access, or point-to-point link between Ethernet switch and host
Broadcast links (shared wire or medium) E.g. traditional Ethernet, or 802.11 wireless LAN (WiFi)
Lszl Bszrmnyi Computer Networks Link Layer - 17
Multiple Access (MAC) Protocols
Single shared broadcast channel Access must be regulated
If two or more nodes transmit simultaneously: 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 a certain node can transmit Communication about channel sharing must use the
same channel!
Lszl Bszrmnyi Computer Networks Link Layer - 18
Ideal Multiple Access Protocol
Assume a broadcast channel of rate R bps The ideal requirement is
1. When 1 node transmits, it can send at rate R2. When M nodes want to transmit, each can send
at an average rate R/M (fairness)3. Fully decentralized
No special node to coordinate transmissions No synchronization of clocks, no time-slots
4. Simple
Lszl Bszrmnyi Computer Networks Link Layer - 19
General MAC Protocol Classes
1.Channel Partitioning Divide channel into smaller pieces
(time slots, frequency or code division) Allocate piece to node for exclusive use
2.Random Access Channel not divided, allow collisions Recover from collisions
3. Taking turns Tightly coordinate shared access to avoid collisions
Lszl Bszrmnyi Computer Networks Link Layer - 20
Channel Partitioning MAC protocols: TDMA
TDM (Time Division Multiplexing) Channel divided into N time slots, one per user;
TDMA (Time Division Multiple Access ) Access to channel in "rounds" Each station gets fixed length slot
(length = frame transmission time) in each round Unused slots go idle Example: 6-station LAN, 1,3,4 have frame, slots 2,5,6 idle
Lszl Bszrmnyi Computer Networks Link Layer - 21
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
freq
uenc
y ba
nds
Lszl Bszrmnyi Computer Networks Link Layer - 22
Channel Partitioning MAC protocols: CDMA
CDMA (Code Division Multiple Access) Senders may send simultaneously, coding helps to
separate different sources All users share same frequency, but each user has own
chipping sequence (i.e., code) to encode data Allows code set partitioning (if codes are orthogonal) Used mostly in wireless broadcast channels (cellular,
satellite, etc) The code needs high frequency (chipping frequency) Encoded signal = (original data) X (chipping sequence) Decoding: inner-product of encoded signal and chipping
sequence Multiple users can coexist with minimal interference
Lszl Bszrmnyi Computer Networks Link Layer - 23
CDMA Encode/Decode
di: ith data bit cm: mth bit of the
code Zi,m : mth bit of
the encoded data bit
Makes no sense with one single sender-receiver pair
Lszl Bszrmnyi Computer Networks Link Layer - 24
CDMA: two-sender interference
Additive signals E.g if 4 senders
send 1,1,1,-1: The received
signal is 2 Receiver gets
the sum of all channels: Z*
Each receiver can recover its channel, if the codes are chosen orthogonally
Lszl Bszrmnyi Computer Networks Link Layer - 25
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:
ALOHA and slotted ALOHA CSMA, CSMA/CD (Ethernet), CSMA/CA
Lszl Bszrmnyi Computer Networks Link Layer - 26
Slotted ALOHA
Assumptions All frames same size (L) Time is divided into
equal size slots (L/R), time to transmit 1 frame
Nodes start to transmit frames only at beginning of slots
Nodes are synchronized If 2 or more nodes
transmit in the same slot, all nodes detect collision
Operation When node obtains fresh
frame, it transmits in next slot
No collision: node can send new frame in next slot
If collision, node retransmits frame in each subsequent slot with probability p until success
Toss a coin, probability of head: p, tails: 1-p
If head: retransmit If tails: skip the slot
Lszl Bszrmnyi Computer Networks Link Layer - 27
Slotted ALOHA
Pros Single active node can
continuously transmit at full rate of channel
Highly decentralized: only slots in nodes need to be in sync
Simple
Cons Collisions and wasting
slots Empty (idle) slots Nodes may be able to
detect collision in less than time to transmit packet
Slot evenets
Lszl Bszrmnyi Computer Networks Link Layer - 28
Slotted Aloha efficiency
Suppose N nodes with many frames to send, each transmits in a given slot with probability p
Probability that others do not transmit: (1-p)N-1
Probability of success of one node in a slot = p(1-p)N-1
Probability that any node has a success = Np(1-p)N-1
For max efficiency with N nodes, find p that maximizes Np(1-p)N-1
For many nodes, take limit of Np*(1-p*)N-1 as Ngoes to infinity
Gives: 1/e = .37(e: natural logarithm)
Efficiency is the long-run fraction of successful slots when theres many nodes, each with many frames to send
At best: channelused for useful transmissions 37%of time!
Lszl Bszrmnyi Computer Networks Link Layer - 29
Pure (unslotted) ALOHA Unslotted Aloha: simpler, no synchronization When frame first arrives
Transmit immediately Collision probability increases
Frame sent at t0 may collide with other frames sent in [t0-1,t0+1] Efficiency: half of that of slotted ALOHA: 18%
Lszl Bszrmnyi Computer Networks Link Layer - 30
CSMA (Carrier Sense Multiple Access)
CSMA If channel sensed idle:
transmit entire frame If channel sensed busy:
defer transmission Collisions can still
occur Two nodes may not
hear each others transmission due to propagation delay
Entire transmission time wasted
spatial layout of nodes
Lszl Bszrmnyi Computer Networks Link Layer - 31
CSMA/CD (CSMA+Collision Detection)
CSMA/CD Collisions detected fast Colliding transmissions
aborted Wasted time shorter
Collision detection: Easy in wired LANs
Compare transmitted and received signals
Difficult in wireless LANs
Lszl Bszrmnyi Computer Networks Link Layer - 32
Taking Turns MAC protocols
Channel partitioning MAC protocols: Share channel efficiently and fairly at high load Inefficient at low (resp. bursty) load:
Delay in channel access 1/N bandwidth allocated even if only 1 active node!
Random access MAC protocols Efficient at low (resp. bursty) load
Single node can fully utilize channel High load
Collision overhead Taking turns protocols
Look for best of both worlds!
Lszl Bszrmnyi Computer Networks Link Layer - 33
Taking Turns MAC protocols
Polling: Master node
invites slave nodes to transmit in turn
Concerns: polling overhead latency single point of failure
(master)
Token passing: Control token passed from one
node to next sequentially Token owner may send
(for a limited time) Token message Concerns:
token overhead latency token may get lost: must be
regenerated, but never duplicated
Lszl Bszrmnyi Computer Networks Link Layer - 34
Summary of MAC protocols What do we do with a shared media? Channel Partitioning, by time, frequency or code
Time Division, Frequency Division, Code 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
Computer NetworksNodes and LinksLink Layer ServicesLink Layer Services (more)Adapters CommunicatingError DetectionParity CheckingCyclic Redundancy Check (CRC)CRC ExampleBit Stuffing in generalBit Stuffing examplePoint to Point Data Link ControlPPP Design Requirements [RFC 1557]PPP non-requirementsPPP Data FrameMultiple Access Links and ProtocolsMultiple Access (MAC) ProtocolsIdeal Multiple Access ProtocolGeneral MAC Protocol ClassesChannel Partitioning MAC protocols: TDMAChannel Partitioning MAC protocols: FDMAChannel Partitioning MAC protocols: CDMACDMA Encode/DecodeCDMA: two-sender interferenceRandom Access ProtocolsSlotted ALOHASlotted ALOHASlotted Aloha efficiencyPure (unslotted) ALOHACSMA (Carrier Sense Multiple Access)CSMA/CD (CSMA+Collision Detection)Taking Turns MAC protocolsTaking Turns MAC protocols Summary of MAC protocols