Upload
maida
View
19
Download
0
Embed Size (px)
DESCRIPTION
Data-link layer Functions. CSE524: Lecture 15. Administrative. 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. Where we’re at…. - PowerPoint PPT Presentation
Citation preview
1
CSE524: Lecture 15
Data-link layerFunctions
2
Administrative
• 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
3
Where we’re 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
4
Data-link layer
5
Data-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
applicationtransportnetwork
linkphysical
networklink
physical
M
M
MM
Ht
HtHn
HtHnHl MHtHnHl
framephys. link
data linkprotocol
adapter card
6
Data-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
7
DL: Digital to analog conversion
• Bits sent as analog signals– Photonic pulses of a given wavelength over optical
fiber– Electronic signals of a given voltage
8
DL: 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
9
DL: RZ
• Return to Zero (RZ)– 1=pulse to high, dropping back to low– 0=no transition
10
DL: NRZ-L
• Non-Return to Zero Level (NRZ-L)– 1=high signal, 0=lower 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 XOR’s bit sequence to ensure frequent transitions
– Used in early magnetic tape storage
11
DL: NRZ-L
12
DL: NRZ-M
• Non-Return to Zero Mark– Less power to transmit versus NRZ– 1=signal transition at start of bit, 0=no change– No problem with string of 1’s– NRZ-like problem with string of 0’s– Used in SDLC (Synchronous Data Link Control)– Used in modern magnetic tape storage
13
DL: NRZ-S
• Non-Return to Zero Space– 1=no change, 0=signal transition at start of bit– No problem with string of 0’s– NRZ-like problem with string of 1’s
14
DL: Manchester (Bi-Phase-Level) coding
• Used by Ethernet
• 0=low to high transition, 1=high to low transition
• Transition for every bit simplifies clock recovery
• Not very efficient– Doubles the number of transitions– Circuitry must run twice as fast
15
DL: Manchester coding
• Encoding for 110100
Bit stream
1 1 0 1 0 0
Manchester encoding
16
DL: Other coding schemes
• Bi-Phase-Mark, Bi-Phase-Space– Level change at every bit period boundary– Mid-period transition determines bit
• Bi-Phase-M: 0=no change, 1=signal transition
• Bi-Phase-S: 0=signal transition, 1=no change
17
DL: 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: 0=signal transition, 1=no change
• Diff-Bi-Phase-S: 0=no change, 1=signal transition
18
DL: 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)
19
DL: 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
20
DL: 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
21
DL: 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
22
DL: 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
23
DL: 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
24
DL: Physical addressing
• 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 network to which one attaches
25
DL: 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
< IP address; MAC address; TTL> < …………………………..
>
– TTL (Time To Live): time after which address mapping will be forgotten (typically 20 min)
Question: how to determineMAC address of Bgiven B’s IP address?
26
DL: 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
27
DL: 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
RB
28
– A creates IP packet with source A, destination B
– A uses ARP to get R’s 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
– A’s data link layer sends Ethernet frame
– R’s data link layer receives Ethernet 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
A
RB
29
DL: RARP, BOOTP, DHCP
ARP: Given an IP address, return a hardware addressRARP: Given a hardware address, give me the IP
addressDHCP, BOOTP: Similar to RARPHosts (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
30
DL: 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
31
DL: Demux to upper protocol
• http://www.cavebear.com/CaveBear/Ethernet/type.html
• 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)
32
DL: 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
33
DL: 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
34
DL: Parity checking
Single Bit Parity:Detect single bit errors
Two Dimensional Bit Parity:Detect and correct single bit errors
0 0
35
DL: Checksums
Sender:• treat segment contents as
sequence of 16-bit integers• checksum: addition (1’s
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 ….
Goal: detect bit errors in transmitted segment
36
DL: Cyclic Redundancy Check (CRC)
• Polynomial code– Treat packet bits a coefficients of n-bit polynomial– Choose r+1 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
37
DL: Cyclic Redundancy Check (CRC)
• Calculate code using modulo 2 division of data by generator polynomial– Subtraction equivalent to XOR
– Weak definition of magnitude• X >= 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
38
DL: Cyclic Redundancy Check (CRC)
39
DL: CRC example
Data:
101110
Generator Polynomial:
x3 + 1 (1001)
Send:
101110011
40
DL: CRC example
Data:
10000
Generator Polynomial:
x2 + 1 (101)
Send:
1000001
101 1000000 101 010 000 100 101 010 000 100 101 01
10101
D
G
R
41
DL: Cyclic Redundancy Check (CRC)
• CRC-16 implementation
• Shift register and XOR gates
42
DL: 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)
43
DL: 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.
44
DL: Flow control
• Pacing between sender and receiver
• Sender prevented from overrunning receiver
• Ready-To-Send, Clear-To-Send
45
DL: 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)
46
DL: 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….
47
DL: 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)
48
DL: 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
49
DL: 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
50
DL: 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
51
DL: 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
52
DL: 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
frequ
ency
bands time
53
DL: 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”)
54
DL: Channel Partitioning MAC protocols
• CDMA Encode/Decode
55
DL: Channel Partitioning MAC protocols
• CDMA: two sender interference
56
DL: 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 -> “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
57
DL: 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
58
DL: Random access MAC protocols
• Slotted Aloha efficiencyQ: 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 -> infty ...
= 1/e = .37 as N -> infty
At best: channeluse for useful transmissions 37%of time!
59
DL: 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, t0+1]
60
DL: 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,p0+1]
= 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 -> infty ... = 1/(2e) = .18
S =
thro
ughput
=
“goodput”
(
succ
ess
rate
)
G = offered load = Np0.5 1.0 1.5 2.0
0.1
0.2
0.3
0.4
Pure Aloha
Slotted Aloha
protocol constrainseffective channelthroughput!