Download ppt - The Fengs

Document related concepts

Network tap wikipedia , lookup

Dynamic Host Configuration Protocol wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Computer network wikipedia , lookup

Deep packet inspection wikipedia , lookup

Point-to-Point Protocol over Ethernet wikipedia , lookup

AppleTalk wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Code-division multiple access wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Internet protocol suite wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

I²C wikipedia , lookup

IEEE 1355 wikipedia , lookup

CAN bus wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Transcript
CSE524: Lecture 15
Data-link layer
Functions
1
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
2
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
3
Data-link layer
4
Data-link layer
• Two physically connected devices:
– host-router, router-router, host-host, host-switch, hosthub
• Implemented on network adapter card
– typically includes: RAM, DSP chips, host bus interface,
and link interface
M
Ht M
Hn Ht M
Hl Hn Ht M
application
transport
network
link
physical
data link
protocol
phys. link
adapter card
network
link
physical
Hl Hn Ht M
frame
5
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
6
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
7
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
8
DL: RZ
• Return to Zero (RZ)
– 1=pulse to high, dropping back to low
– 0=no transition
9
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
10
DL: NRZ-L
11
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
12
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
13
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
14
DL: Manchester coding
• Encoding for 110100
Bit stream
1
1
0
1
0
0
Manchester encoding
15
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
16
DL: Other coding schemes
• Differential Bi-Phase-Space, Differential BiPhase-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
17
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)
18
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
19
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
20
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
21
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
22
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
●
23
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
24
DL: ARP: Address Resolution Protocol
Question: how to determine
MAC address of B
given B’s IP address?
• 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
25
min)
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
26
DL: Routing to another LAN
walkthrough: routing from A to B via R
A
R
B
– In routing table at source Host, find router 111.111.111.110
– In ARP table at source, find MAC address E6-E9-00-17-BB4B, etc
27
– 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
R
B
28
DL: 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
29
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
30
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)
31
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
32
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
33
DL: Parity checking
Two Dimensional Bit Parity:
Single Bit Parity:
Detect and correct single bit errors
Detect single bit errors
0
0
34
DL: Checksums
Goal: detect bit errors in transmitted segment
Sender:
Receiver:
• 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
• 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 ….
35
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 oddnumbered errors, burst errors less than r
36
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
37
DL: Cyclic Redundancy Check (CRC)
38
DL: CRC example
Data:
101110
Generator Polynomial:
x3 + 1 (1001)
Send:
101110011
39
DL: CRC example
Data:
G
10101
10000
101 1000000
101
Generator Polynomial:
010
2
x + 1 (101)
000
100
Send:
101
1000001
010
D
000
100
101
01
R
40
DL: Cyclic Redundancy Check (CRC)
• CRC-16 implementation
• Shift register and XOR gates
41
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)
42
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.
43
DL: Flow control
• Pacing between sender and receiver
• Sender prevented from overrunning receiver
• Ready-To-Send, Clear-To-Send
44
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)
●
45
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….
46
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)
47
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
48
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)
49
• performance
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, decentralized50
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
51
DL: Channel Partitioning MAC protocols
frequency bands
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
52
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”)
53
DL: Channel Partitioning MAC protocols
• CDMA Encode/Decode
54
DL: Channel Partitioning MAC protocols
• CDMA: two
sender interference
55
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
56
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
57
DL: 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 -> infty ...
= 1/e = .37 as N -> infty
At best: channel
use for useful
transmissions 37%
of time!
58
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]
59
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)
S = throughput = “goodput”
(success rate)
… choosing optimum p as n -> infty ... = 1/(2e) = .18
0.4
0.3
Slotted Aloha
0.2
0.1
Pure Aloha
0.5
1.0
1.5
2.0
G = offered load = Np
protocol constrains
effective channel
throughput!
60