ch5_DATALINK_0708

Download Report

Transcript ch5_DATALINK_0708

Communication Networks
P. Demeester
Chapter 5
Data Link Layer
Computer networking A top-down approach featuring the
internet
4th Edition, 2008
Addison Wesley
James F. Kurose, Keith W. Ross
ISBN 0-321-49770-8
DataLink Layer
Part of slides provided by J.F Kurose and K.W. Ross, All Rights Reserved
5-1
Chapter 5: The Data Link Layer
Our goals:
 understand principles behind data link layer
services (using Ethernet and PPP examples):




[error detection, correction]
sharing a broadcast channel: multiple access
link layer addressing
reliable data transfer, flow control: done
DataLink Layer
5-2
Chapter 5 outline
 5.1 Introduction and
 5.6 Hubs, bridges, and





services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 LAN addresses
and ARP
5.5 Ethernet



switches
5.7 Wireless links and
LANs
5.8 PPP
5.9 ATM
5.10 Frame Relay
DataLink Layer
5-3
Link Layer: Introduction
“link”
Some terminology:
 hosts and routers are “nodes”
 communication channels that
connect adjacent nodes along
communication path are links



IP forwarding
wired links
wireless links
LANs
 Layer 2-PDU is a frame,
encapsulates datagram
data-link layer has responsibility of
transferring datagram from one node
to adjacent node over a link
DataLink Layer
5-4
Link layer: context
 Datagram transferred by
different link protocols
over different links:

e.g., Ethernet on first link,
frame relay on
intermediate links, 802.11
on last link
 Each link protocol
provides different
services

e.g., may or may not
provide reliable data
transfer (rdt) over link
transportation analogy
 trip from Princeton to
Lausanne
 limo: Princeton to JFK
 plane: JFK to Geneva
 train: Geneva to Lausanne
 tourist = datagram
 transport segment =
communication link
 transportation mode =
link layer protocol
 travel agent = routing
algorithm
DataLink Layer
5-5
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, destination
• 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
DataLink Layer
5-6
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
DataLink Layer
5-7
Adaptors Communicating
datagram
sending
node
frame
adapter
rcving
node
link layer protocol
frame
adapter
 link layer implemented in  receiving side
“adaptor” (aka NIC)
 looks for errors, rdt, flow
control, etc
 Ethernet card, PCMCIA
 extracts datagram, passes
card, 802.11 card
to receiving node
 sending side:
 adapter is semi encapsulates datagram in
autonomous
a frame
 adds error checking bits,
 link & physical layers
rdt, flow control, etc.
DataLink Layer
5-8
Chapter 5 outline
 5.1 Introduction and
 5.6 Hubs, bridges, and





services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 LAN addresses
and ARP
5.5 Ethernet



switches
5.7 Wireless links and
LANs
5.8 PPP
5.9 ATM
5.10 Frame Relay
DataLink Layer
5-9
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 (1976)
DataLink Layer 5-10
Ethernet
A
C
?
D
B
Use of address
How to send a frame from A to B ?
• How to know that the frame is for B ?
Carrier Sense
• When are you allowed to send a frame ?
• What happens if 2 frames are put on the bus at the same time ?
Collision detection
and back-off
DataLink Layer
5-11
Ethernet Frame Structure
Bitrate : 10 Mbit/s
preamble
7
frame destination source type
delimiter address
address
1
6
6
2
data
pad
checksum
0-1500
0-46
4
Preamble : for synchronization of the receiver (7 bytes : 10101010)
==> 10 MHz square, 5.6 msec
(Manchester coding)
Frame delimiter (10101011) : indicates the frame start (=data will follow)
Destination address : worldwide unique hardware address of receiver (6 bytes)
(3 bytes “fixed” per manufacturer, 3 bytes “configured”)
Source address : worldwide unique hardware address of sender (6 bytes)
Type : the type of data that are transported by the Ethernet frame
Data : the information to be transferred (variable length)
Pad : padding bytes to be added
Checksum : a 4 byte CRC code
(in order to obtain a minimum frame length of 64 bytes)
Address example : 00.20.8A.05.D4.40
DataLink
Layer
5-12
Note : Between the frames there is a minimum IPG (Inter Packet
Gap)of
12 bytes
Manchester encoding
 Used in 10BaseT, 10Base2
 Each bit has a transition (double clockrate
required : 20 MHz)
 Allows clocks in sending and receiving nodes to
synchronize to each other

no need for a centralized, global clock among nodes!
 [ this is physical-layer]
DataLink Layer 5-13
Unreliable connectionless service
 Addressing
 if adapter receives frame with matching destination
address, or with broadcast address, it passes data in frame
to network-layer protocol
 otherwise, adapter discards frame
 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
DataLink Layer 5-14
Carrier Sense Multiple Access
C
A
B
A has a frame to send : if bus idle ==> start sending
B has a frame to send : bus busy ==> wait sending
A finished sending : bus becomes idle
==> B starts sending
DataLink Layer 5-15
Carrier Sense Multiple Access
A
C
100 m, 0.5 msec
A starts sending
B
0.5 msec
10 bit
1 msec
B wants to send
but has to wait
(bus is busy)
time
A finished sending
1 msec
B starts sending
because bus is idle
(wait 96 bits)
B finished sending
DataLink Layer 5-16
Carrier Sense Multiple Access / Collision Detection
A
B
C
B wants to send
but has to wait
(bus is busy)
time
B starts sending
because bus is idle
A wants to send
but has to wait
(bus is busy)
C wants to send
but has to wait
(bus is busy)
A stops sending
(collision detection)
C stops sending
(collision detection)
==> start exponential back-off
DataLink Layer 5-17
Successful Collision Detection ?
A
B
C
C starts sending
because bus is idle
C stops sending frame
and adds 48 bits jamming
(collision detection)
C did not receive
frame from A correctly
but A doesn’t know !
A finished sending
!!! DID NOT DETECT COLLISION !!!
Frame duration > 2 times propagation time : correct collision detection
==> minimum frame length = 64 bytes or 512 bits
==> at 10 Mbit/s this gives a maximum of 51.2 msec roundtrip delay
(5 msec delay per km cable ==> max 5 km cable)
see notes
DataLink Layer 5-18
Binary Exponential Backoff
COLLISION DETECTION ==>
Minimum frame length = 51.2 msec
time slot (512 bit times)
two frames collide
two stations wait 0 or 1 time slot
two stations wait 0,1,2 or 3 time slots
two station wait 0 … 23-1 time slots
maximum of 1023 time slots
OK
DataLink Layer 5-19
CSMA/CD efficiency
 Tprop = max propagation time between 2 nodes in LAN
 ttrans = time to transmit max-size frame
efficiency 
1
1  5t prop / t trans
 Efficiency goes to 1 as tprop goes to 0
 Goes to 1 as ttrans goes to infinity
DataLink Layer 5-20
Ethernet Technologies: 10Base2
 10: 10Mbps; 2: under “200” meters max cable length
(actually : 185 m)
 thin coaxial cable in a bus topology : segment
(max. 30 nodes)
 repeater : repeats bits it hears on one interface to
its other interfaces: physical layer device only!
 repeaters used to connect different segments
(max of 4 repeaters or 5 segments)
 has become a legacy technology
(IEEE 802.3 standard)
DataLink Layer 5-21
10BaseT and 100BaseT
 10/100 Mbps rate; latter called “fast ethernet”
 T stands for Twisted Pair (actually : 2 twisted pairs :
one for transmitting and one for receiving)
 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 network management functionality
(fast ethernet : IEEE 802.3u standard, 1995)
DataLink Layer 5-22
Fast Ethernet
Name
Cable
100Base-T4
Twisted Pair 100 m
(4 TP’s)
Use cat. 3 UTP
(telephone cable)
100Base-TX Twisted Pair 100 m
(2 TP’s)
Full duplex at 100
Mb/s (cat.5 UTP)
100Base-FX
Full duplex at 100
Mb/s
Fiber
(2 fibers)
Max.
Segment
2 km
Advantages
100Base-T4 : existing telephony cables, 4 TP’s required,
low clock rate (25 MHz using special tricks)
100Base-TX : 4B/5B coding (clock rate 125 MHz) :
4 bits (or 16 combinations) are coded in 5 bits
(16 combinations may be used for other purposes,
e.g. marking frame boundaries)
[100Base-T = T4 and TX]
Note : Fast Ethernet not on standard coax plant
DataLink Layer 5-23
Ethernet Hub
Ethernet-NIC
HUB
DataLink Layer 5-24
Ethernet Hub
Collision domain
HUB
RX
TX
RX
TX
RX
TX
4 pins used :
one TP to transmit (TX)
one TP to receive (RX)
! Crossed and straight cables !
DataLink Layer 5-25
Gbit Ethernet
 standard since mid 1998
 use standard Ethernet frame format
 allows for point-to-point links (switch) and shared
broadcast channels (hub)
 in shared mode, CSMA/CD is used; short distances
between nodes (<25 m, unless use of carrier extension
or frame bursting to min. 512 bytes)  not very
useful mode (not efficient)
 Full-Duplex at 1 Gbps for point-to-point links (switch)
 10 Gbps now (IEEE 802.ae, 2002) !
(fast ethernet : IEEE 802.3z standard, 1998)
DataLink Layer 5-26
Gbit Ethernet
Name
Cable
Max.
Segment
Advantages
1000Base-SX
Fiber
550 m
Multimode fiber
1000Base-LX
Fiber
5 km
Single or Multimode
Fiber
1000Base-CX
Twisted Pair 25 m
(2 STP’s)
Shielded Twisted Pair
1000Base-T
Twisted Pair 100 m
(4 UTP’s)
Standard cat. 5 UTP
On fiber : 8B/10B (1 byte or 8 bits coded in 10 bits, 1.25 GHz clock)
On cat. 5 UTP : 5 level encoding (for 2 bit combinations : 00,01,10,11)
and 4 twisted pairs (2 TX en 2 RX)
 clock : 125 MHz (allowing 1 Gb/s operation)
Support of flow control on the data link level
Note : Fast Ethernet not on standard coax plant
DataLink Layer 5-27
Other Issues
• Standardization CSMA/CD MAC : IEEE 802.3
note : Ethernet is an implementation of 802.3
• Protocol Stack : more complex
network layer
LLC sublayer
data link layer
MAC sublayer
physical layer
IEEE 802.2 : LLC
(Logical Link Control
Sublayer, HDLC like)
IEEE 802.3 : CSMA/CD
IEEE 802.4 : Token Bus
IEEE 802.5 : Token Ring
• LLC: extra features not in MAC, uniform interface towards L3
e.g.: reliability (seq and ack numbers), source/destination access point, …
L3
IP packet
L2
LLC
IP packet
L1
MAC LLC
IP packet
MAC
DataLink Layer
Chapter 5 outline
 5.1 Introduction and
 5.6 Hubs, bridges, and





services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 LAN addresses
and ARP
5.5 Ethernet



switches
5.7 Wireless links and
LANs
5.8 PPP
5.9 ATM
5.10 Frame Relay
DataLink Layer 5-29
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
IP : 157.193.122.1
Eth : 00:12:27:BE:12:C1
IP : 157.193.122.11
Eth : 00:60:97:A4:3D:CD
IP : 157.193.122.10
Eth : 00:50:97:A3:3E:10
IP : 157.193.122.12
Eth : 00:60:97:A4:3D:CE
IP : 157.193.122.15
Eth : 00:60:97:A4:3D:CF
DataLink Layer 5-30
LAN Address (more)
 MAC address allocation administered by IEEE
 manufacturer buys portion of MAC address space
(to assure uniqueness)
 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
DataLink Layer 5-31
Forwarding to an external subnetwork ?
Problem : 157.193.102.3 (A) wants to send IP packet to 157.193.103.12 (B)
Routing table in A : go to router (157.193.102.254)
Packet leaving A has destination address 157.193.103.12
(and not 157.193.102.254)
How does the packet know that it has to go to the router ?
Use of the layer 2 Ethernet address of the router !
How does A know the Ethernet address of the router ?
Use of ARP (Address Resolution Protocol)
B
157.193.103.12
Subnetwork
157.193.103.0
S-IP : 157.193.102.3
D-IP : 157.193.103.1
157.193.103.254
router
157.193.102.254
Subnetwork
157.193.102.0 157.193.102.51
Routing table A :
157.193.103.0/24 to 157.193.102.254
A
157.193.102.3
DataLink Layer
Forwarding to an external subnetwork ?
B
Subnetwork
157.193.103.0
157.193.103.12
00.90.96.15.15.15
Ethernet + IP
S-IP : 157.193.102.3
S-MAC : 00.90.96.14.14.14
D-IP : 157.193.103.12
D-MAC : 00.90.96.15.15.15
…
Ethernet + IP
S-IP : 157.193.102.3
S-MAC : 00.90.96.12.12.12
D-IP : 157.193.103.12
D-MAC : 00.90.96.13.13.13
…
157.193.103.254
00.90.96.14.14.14
router
157.193.102.254
00.90.96.13.13.13
A
Subnetwork
157.193.102.0
157.193.102.3
DataLink Layer
00.90.96.12.12.12
Address Resolution Protocol : ARP
ARP cache:
157.193.122.11  00:60:97:A3:3D:CD (TTL = 20 min)
IP : 157.193.122.10
Eth : 00:50:97:A3:3E:10
IP : 157.193.122.1
Eth : 00:12:27:BE:12:C1
2: ARP reply :
Eth address for
IP: 157.193.122.11
00:60:97:A4:3D:CD
IP : 157.193.122.11
Eth : 00:60:97:A4:3D:CD
1: ARP request :
Eth address for
IP: 157.193.122.11 ?
IP : 157.193.122.12
Eth : 00:60:97:A4:3D:CE
IP : 157.193.122.15
Eth : 00:60:97:A4:3D:CF
DataLink Layer
ARP protocol
 A wants to send datagram to
B, and A knows B’s IP address.
 Suppose B’s MAC address is
not in A’s ARP table.
 A broadcasts ARP query
packet, containing B's IP
address
 all machines on LAN
receive ARP query
 B receives ARP packet, replies
to A with its (B's) MAC
address

frame sent to A’s MAC
address (unicast)
 A caches (saves) IP-to-
MAC address pair in its
ARP table until information
becomes old (times out)
 soft state: information
that times out (goes
away) unless refreshed
 ARP is “plug-and-play”:
 nodes create their ARP
tables without
intervention from net
administrator
DataLink Layer 5-35
Chapter 5 outline
 5.1 Introduction and
 5.6 Hubs, bridges, and





services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 LAN addresses
and ARP
5.5 Ethernet



switches
5.7 Wireless links and
LANs
5.8 PPP
5.9 ATM
5.10 Frame Relay
DataLink Layer 5-36
Interconnecting LAN segments
 Hubs
 Bridges
 Switches
 Remark: switches are essentially multi-port
bridges.
 What we say about bridges also holds for
switches!
DataLink Layer 5-37
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 at same time
collision
domain
hub
CS
EE
SE
DataLink Layer 5-38
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

DataLink Layer 5-39
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
domains
bridge
CS
EE
SE
DataLink Layer 5-40
Forwarding : Self learning
 How do determine to which LAN segment to forward
frame?
 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
DataLink Layer 5-41
Filtering/Forwarding
When bridge receives a frame:
index bridge table using MAC dest address
if entry found for destination
then{
if dest on segment from which frame arrived
then drop the frame
else forward the frame on interface indicated
}
else flood
forward on all but the interface
on which the frame arrived
DataLink Layer 5-42
Bridge example
Send frame from X to Y
Send frame back from Y to X
Fill in bridge table
X  1
D
1
A
1 2
2
4
3
B
Y  4
3
4
1 2
4
C
3
X
X  1
Y  3
1
2
3
Y
X  4
X  4
Y  1
DataLink Layer 5-43
Interconnection without backbone
bridge
hub
bridge
CS
SE
EE
 Not recommended for two reasons:
- single point of failure at Computer Science hub
- all traffic between EE and SE must path over
CS segment
 Recommended
DataLink Layer 5-44
Bridges Spanning Tree
 for increased reliability, desirable to have
redundant, alternative paths from source to dest
(example : fully redundant versus single link/node failures)
 with multiple paths, cycles result - bridges may
multiply and forward frame forever
 solution: organize bridges in a spanning tree by
disabling subset of interfaces
DataLink Layer 5-45
Example UGent
DataLink Layer 5-46
Some bridge features
 Isolates collision domains resulting in higher total
max throughput
 limitless number of nodes and geographical
coverage
 Can connect different Ethernet types (e.g. 10/100,
fibre/TP)
 Transparent (“plug-and-play”): no configuration
necessary
DataLink Layer 5-47
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
DataLink Layer 5-48
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 + 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
DataLink Layer 5-49
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!
DataLink Layer 5-50
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
DataLink Layer 5-51
Not an atypical LAN (IP network)
Dedicated
Shared
DataLink Layer 5-52
Summary comparison
hubs
bridges
routers
switches
traffic
isolation
no
yes
yes
yes
plug & play
yes
yes
no
yes
optimal
routing
cut
through
no
no
yes
no
yes
no
no
yes
DataLink Layer 5-53
Chapter 5 outline
 5.1 Introduction and
 5.6 Hubs, bridges, and





services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 LAN addresses
and ARP
5.5 Ethernet



switches
5.7 Wireless links and
LANs
5.8 PPP
5.9 ATM
5.10 Frame Relay
DataLink Layer 5-54
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 (Data link
used to be considered “high layer” in protocol
stack!
DataLink Layer 5-55
PPP Design Requirements [RFC 1557]
 packet framing: encapsulation of network-layer




datagram in data link frame
 carry network layer data of any network layer
protocol (not just IP) at same time
 ability to demultiplex upwards
bit transparency: must carry any bit pattern in the
data field
error detection (no correction)
connection liveness: detect, signal link failure to
network layer
network layer address negotiation: endpoint can
learn/configure each other’s network address
DataLink Layer 5-56
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!
DataLink Layer 5-57
PPP Frame
flag
01111110
1
Start
of
frame
address
control protocol payload Checksum
11111111 00000011
1
1
1 or 2
variable
2 or 4
flag
01111110
1
End
of
frame
Flag : delineate the frame
Address : no specific address used
Control : unnumbered frame (no reliable transmission)
(no sequence numbers, no ACK, …)
Protocol : which kind of packet
LCP, NCP, IP, IPX, AppleTalk, ...
Payload : the information to be transferred (typ. 1500 bytes)
Checksum : a CRC code
DataLink Layer 5-58
Byte Stuffing
 “data transparency” requirement: data field must
be allowed to include flag pattern <01111110>
 Is received <01111110> data or flag?
 Sender: adds (“stuffs”) control escape byte
<01111101> byte before each < 01111110> data byte
 Receiver:
 <01111101><01111110>: discard first byte,
continue data reception
DataLink Layer 5-59
Byte Stuffing
flag byte
pattern
in data
to send
flag byte pattern plus
stuffed byte in
transmitted data
DataLink Layer 5-60
PPP Data Control Protocol
Before exchanging network-layer
data, data link peers must :
 LCP (Link Control Protocol) :
configure PPP link (max. frame
length, authentication,
compressed frame header, …)
 NCP (Network Control Protocol) :
learn/configure network layer
information
 Different for different
network layers (DECnet, Apple
Talk, IP, …)

for IP: carry IP Control
Protocol (IPCP) msgs
(protocol field: 8021) to
configure/ learn IP address,
IP compression, …
dead
LCP
terminate
LCP
establish
authenticate
NCP
negotiate
open
DataLink Layer 5-61
Table of contents
 5.1 Introduction and services
 5.4 LAN addresses and ARP
 5.5 Ethernet
 5.6 Hubs, bridges, and switches
 5.8 PPP
 Table of contents
3
29
9
36
54
62
DataLink Layer 5-62