Title: CSE524: Lecture 15
1CSE524 Lecture 15
- Data-link layer
- Functions
2Administrative
- No office hours next Wednesday
- Demos 12/9
- See web site for available slots
- Sign up for a slot after class or via e-mail
- Read e-mail message for instructions on what to
submit before demo
3Where were at
- Internet architecture and history
- Internet protocols in practice
- Application layer
- Transport layer
- Network layer
- Data-link layer
- Functions
- Specific link layer examples and devices
- Physical layer
4Data-link layer
5Data-link layer
- Two physically connected devices
- host-router, router-router, host-host,
host-switch, host-hub - Implemented on network adapter card
- typically includes RAM, DSP chips, host bus
interface, and link interface
network link physical
data link protocol
frame
phys. link
adapter card
6Data-link layer functions
- Moving datagrams between adjacent nodes
- Digital to analog conversion
- Framing
- Physical addressing
- Demux to upper protocol
- Error detection and correction
- Flow control
- Reliable delivery
- Security
- Media access and quality of service
7DL Digital to analog conversion
- Bits sent as analog signals
- Photonic pulses of a given wavelength over
optical fiber - Electronic signals of a given voltage
8DL Digital to analog conversion
- Will cover electronic transmission (optical
transmission left for you to research) - Biggest issue
- When to sample voltage?
- Detecting sequences involves clocking with the
same clock - How to synchronize sender and receiver clocks?
- Need easily detectible event at both ends
- Signal transitions help resync sender and
receiver - Need frequent transitions to prevent clock skew
- http//www.mouse.demon.nl/ckp/telco/encode.htm
9DL RZ
- Return to Zero (RZ)
- 1pulse to high, dropping back to low
- 0no transition
10DL NRZ-L
- Non-Return to Zero Level (NRZ-L)
- 1high signal, 0lower signal
- Long sequence of same bit causes difficulty
- DC bias hard to detect low and high detected by
difference from average voltage - Clock recovery difficult
- Used by Synchronous Optical Network (SONET)
- SONET XORs bit sequence to ensure frequent
transitions - Used in early magnetic tape storage
11DL NRZ-L
12DL NRZ-M
- Non-Return to Zero Mark
- Less power to transmit versus NRZ
- 1signal transition at start of bit, 0no change
- No problem with string of 1s
- NRZ-like problem with string of 0s
- Used in SDLC (Synchronous Data Link Control)
- Used in modern magnetic tape storage
13DL NRZ-S
- Non-Return to Zero Space
- 1no change, 0signal transition at start of bit
- No problem with string of 0s
- NRZ-like problem with string of 1s
14DL Manchester (Bi-Phase-Level) coding
- Used by Ethernet
- 0low to high transition, 1high to low
transition - Transition for every bit simplifies clock
recovery - Not very efficient
- Doubles the number of transitions
- Circuitry must run twice as fast
15DL Manchester coding
Bit stream
1
1
0
1
0
0
Manchester encoding
16DL Other coding schemes
- Bi-Phase-Mark, Bi-Phase-Space
- Level change at every bit period boundary
- Mid-period transition determines bit
- Bi-Phase-M 0no change, 1signal transition
- Bi-Phase-S 0signal transition, 1no change
17DL Other coding schemes
- Differential Bi-Phase-Space, Differential
Bi-Phase-Mark - Level change at every mid-bit period boundary
- Bit period boundary transition determines bit
- Diff-Bi-Phase-M 0signal transition, 1no change
- Diff-Bi-Phase-S 0no change, 1signal transition
18DL Framing
- Data encapsulation for transmission over physical
link - Data embedded within a link-layer frame before
transmission - Data-link header and/or trailer added
- Physical addresses used in frame headers to
identify source and destination (not IP)
19DL Fixed length framing
- Length delimited
- Beginning of frame has length
- Single corrupt length can cause problems
- Must have start of frame character to
resynchronize - Resynchronization can fail if start of frame
character is inside packets as well
20DL Variable length framing
- Byte stuffing
- Special start of frame byte (e.g. 0xFF)
- Special escape byte value (e.g. 0xFE)
- Values actually in text are replaced (e.g. 0xFF
by 0xFEFF and 0xFE by 0xFEFE) - Worst case can double the size of frame
- Bit stuffing
- Special bit sequence (0x01111110)
- 0 bit stuffed after any 11111 sequence
21DL Clock-Based Framing
- Used by SONET
- Fixed size frames (810 bytes)
- Look for start of frame marker that appears every
810 bytes - Will eventually sync up
22DL Physical addressing
- LAN (or MAC or physical) address
- Used to get datagram from one interface to
another physically-connected interface (same
network) - IP address used to route between networks
- 48 bit MAC address (for most LANs) burned in
adapter ROM - ifconfig a
- arp -a
- Address space assigned and managed by IEEE
- Manufacturer buys portion of MAC address space to
ensure uniqueness - Special LAN broadcast address
- FF-FF-FF-FF-FF-FF
23DL Physical addressing
- Why have separate IP and hardware addresses?
- Assign adapters an IP address
- Hardware only works for IP (no IPX, DECNET)
- Must be reconfigured when moved
- Use hardware address as network address
- Need standardized fixed length hardware address
- No route aggregation
24DL Physical addressing
- Analogy
- (a) MAC address like Social Security
Number - (b) IP address like postal address
- MAC flat address gt portability
- can move LAN card from one LAN to another
- IP hierarchical address NOT portable
- depends on network to which one attaches
25DL ARP Address Resolution Protocol
- Each IP node (Host, Router) on LAN has ARP
module, table - ARP Table IP/MAC address mappings for some LAN
nodes - lt IP address MAC address TTLgt
- lt .. gt
- TTL (Time To Live) time after which address
mapping will be forgotten (typically 20 min)
26DL ARP protocol
- A knows B's IP address, wants to learn physical
address of B - A broadcasts ARP query pkt, containing B's IP
address - all machines on LAN receive ARP query
- B receives ARP packet, replies to A with its
(B's) physical layer address - A caches (saves) IP-to-physical address pairs
until information becomes old (times out) - soft state information that times out (goes
away) unless refreshed
27DL Routing to another LAN
- walkthrough routing from A to B via R
- In routing table at source Host, find router
111.111.111.110 - In ARP table at source, find MAC address
E6-E9-00-17-BB-4B, etc
A
R
B
28- A creates IP packet with source A, destination B
- A uses ARP to get Rs physical layer address for
111.111.111.110 - A creates Ethernet frame with R's physical
address as dest, Ethernet frame contains A-to-B
IP datagram - As data link layer sends Ethernet frame
- Rs data link layer receives Ethernet frame
- R removes IP datagram from Ethernet frame, sees
its destined to B - R uses ARP to get Bs physical layer address
- R creates frame containing A-to-B IP datagram
sends to B
A
R
B
29DL RARP, BOOTP, DHCP
- ARP Given an IP address, return a hardware
address - RARP Given a hardware address, give me the IP
address - DHCP, BOOTP Similar to RARP
- Hosts (host portion)
- hard-coded by system admin in a file
- DHCP Dynamic Host Configuration Protocol
dynamically get address plug-and-play - host broadcasts DHCP discover msg
- DHCP server responds with DHCP offer msg
- host requests IP address DHCP request msg
- DHCP server sends address DHCP ack msg
30DL Demux to upper protocol
- Protocol type specification interfaces to network
layer - Data-link layer can support any number of network
layers - Type field in data-link header specifies network
layer of packet - IP is one of many network layers
- Each data-link layer defines its own protocol
type numbering for network layer
31DL Demux to upper protocol
- http//www.cavebear.com/CaveBear/Ethernet/type.htm
l - Some Ethernet protocol types
- 0800 DOD Internet Protocol (IP)
- 0806 Address Resolution Protocol (ARP)
- 8037 IPX (Novell Netware)
- 80D5 IBM SNA Services
- 809B EtherTalk (AppleTalk over Ethernet)
32DL Error detection/correction
- Errors caused by signal attenuation, noise.
- Receiver detects presence of errors
- Possible actions
- Signal sender for retransmission
- Drops frame
- Correct bit errors if possible and continue
33DL Error detection/correction
- 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
34DL Parity checking
Two Dimensional Bit Parity Detect and correct
single bit errors
Single Bit Parity Detect single bit errors
0
0
35DL Checksums
- Sender
- treat segment contents as sequence of 16-bit
integers - checksum addition (1s complement sum) of
segment contents - simple to implement, weak detection (easily
tricked by common bit error patterns) - used by TCP, UDP, IP..
- sender puts checksum value into header
- Receiver
- compute checksum of received segment
- check if computed checksum equals checksum field
value - NO - error detected
- YES - no error detected. But maybe errors
nonethless? More later .
36DL Cyclic Redundancy Check (CRC)
- Polynomial code
- Treat packet bits a coefficients of n-bit
polynomial - Choose r1 bit generator polynomial (well known
chosen in advance) - Add r bits to packet such that message is
divisible by generator polynomial - Better loss detection properties than checksums
- All single bit errors, all double bit errors, all
odd-numbered errors, burst errors less than r
37DL Cyclic Redundancy Check (CRC)
- Calculate code using modulo 2 division of data
by generator polynomial - Subtraction equivalent to XOR
- Weak definition of magnitude
- X gt Y iff position of highest 1 bit of X is the
same or greater than the highest 1 bit of Y - Record remainder after division and send after
data - Result divisible by generator polynomial
38DL Cyclic Redundancy Check (CRC)
39DL CRC example
- Data
- 101110
- Generator Polynomial
- x3 1 (1001)
- Send
- 101110011
40DL CRC example
- Data
- 10000
- Generator Polynomial
- x2 1 (101)
- Send
- 1000001
G
10101
101 1000000 101 010
000 100 101
010 000 100
101 01
D
R
41DL Cyclic Redundancy Check (CRC)
- CRC-16 implementation
- Shift register and XOR gates
42DL CRC polynomials
- CRC-16 x16 x15 x2 1 (used in HDLC)
- CRC-CCITT x16 x12 x5 1
- CRC-32 x32 x26 x23 x22 x16 x12 x11
x10 x8 x7 x5 x4 x2 x 1 (used in
Ethernet)
43DL Forward error correction
- FEC
- Use error correcting codes to repair losses
- Add redundant information which allows receiver
to correct bit errors - Suggest looking at information and coding theory
work.
44DL Flow control
- Pacing between sender and receiver
- Sender prevented from overrunning receiver
- Ready-To-Send, Clear-To-Send
45DL Reliable delivery
- Reliability at the link layer
- Handled in a similar manner to transport
protocols - When and why should this be used?
- Rarely done over twisted-pair or fiber optic
links - Usually done over lossy links for performance
improvement (versus correctness)
46DL Security
- Mainly for broadcast data-link layers
- Encrypt payload of higher layers
- Hide IP source/destination from eavesdroppers
- Important for wireless LANs especially
- Parking lot attacks
- 802.11b and WEP
- If time permits, security will be covered at the
end of the course.
47DL Media access and quality of service
- How and when can a node transmit?
- Directly controls per-hop quality-of-service
- Three types of links
- point-to-point (single wire, e.g. PPP, SLIP)
- broadcast (shared wire or medium e.g, Ethernet,
Wavelan, etc.) - switched (e.g., switched Ethernet, ATM etc)
48DL Media access
- Point-to-point link and switched media no problem
- Broadcast links?
- Network arbitration
- Give everyone a fixed time/freq slot?
- Ok for fixed bandwidth (e.g., voice)
- What if traffic is bursty?
- Centralized arbiter
- Ex cell phone base station
- Single point of failure
- Distributed arbitration
- Aloha/Ethernet
- Humans use multiple access protocols all the time
49DL Media access protocols
- single shared communication 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
stations share channel, i.e., determine when
station can transmit - communication about channel sharing uses channel
itself! - what to look for in multiple access protocols
- synchronous or asynchronous
- information needed about other stations
- robustness (e.g., to channel errors)
- performance
50DL Media access protocols
- Three broad classes
- Channel Partitioning
- divide channel into smaller pieces (time slots,
frequency) - allocate piece to node for exclusive use
- Random Access
- allow collisions
- recover from collisions
- Taking turns
- tightly coordinate shared access to avoid
collisions
Goal efficient, fair, simple, decentralized
51DL Channel Partitioning MAC protocols
- Synchronous TDMA time division multiple access
- TDM (Time Division Multiplexing) channel divided
into N time slots, one per user access to
channel in "rounds" - each station gets fixed length slot (length pkt
trans time) in each round - unused slots go idle
- inefficient with low duty cycle users and at
light load. - example 6-station LAN, 1,3,4 have pkt, slots
2,5,6 idle
52DL Channel Partitioning MAC protocols
- 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
53DL Channel Partitioning MAC protocols
- CDMA (Code Division Multiple Access)
- unique code assigned to each user ie, code set
partitioning - used mostly in wireless broadcast channels
(cellular, satellite,etc) - each user has own chipping sequence (ie, 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)
54DL Channel Partitioning MAC protocols
55DL Channel Partitioning MAC protocols
- CDMA two sender interference
56DL Random access protocols
- Asynchronous TDMA
- When node has packet to send
- transmit at full channel data rate R.
- no a priori coordination among nodes
- Two or more transmitting nodes -gt collision
- To avoid deterministic collisions randomize
- Random-access MAC protocols
- specify how to recover from collisions (e.g., via
delayed retransmissions) - Examples slotted ALOHA, ALOHA, CSMA, CSMA/CD
57DL Random access MAC protocols
- Slotted Aloha
- Time is divided into equal size slots ( pkt
trans. time) - Node with new arriving pkt transmit at beginning
of next slot - if collision retransmit pkt in future slots with
probability p, until successful.
Success (S), Collision (C), Empty (E) slots
58DL Random access MAC protocols
- Slotted Aloha efficiency
- Q what is max fraction slots successful?
- A Suppose N stations have packets to send
- each transmits in slot with probability p
- prob. successful transmission S is
- by single node S p (1-p)(N-1)
-
- by any of N nodes
- S Prob (only one transmits)
- N p (1-p)(N-1)
- choosing optimum p as n -gt infty
... - 1/e .37 as N -gt infty
59DL Random access MAC protocols
- Pure (unslotted) ALOHA
- Simpler, no synchronization
- Packet needs transmission
- Send without awaiting for beginning of slot
- Collision probability increases
- Packet sent at t0 collides with other packets
sent in t0-1, t01
60DL Pure Aloha (cont.)
- P(success by given node) P(node transmits) .
- P(no
other node transmits in p0-1,p0 . - P(no
other node transmits in p0,p01 - p .
(1-p)(N-1) . (1-p) (N-1) - P(success by any of N nodes) N p . (1-p) (N-1).
(1-p) (N-1) -
choosing optimum p as n -gt infty ...
1/(2e) .18
S throughput goodput (success rate)