Transcript Link Layer
Chapter 5
Link Layer and LANs
A note on the use of these ppt slides:
We’re making these slides freely available to all (faculty, students, readers).
They’re in PowerPoint form so you can add, modify, and delete slides
(including this one) and slide content to suit your needs. They obviously
represent a lot of work on our part. In return for use, we only ask the
following:
If you use these slides (e.g., in a class) in substantially unaltered form,
that you mention their source (after all, we’d like people to use our book!)
If you post any slides in substantially unaltered form on a www site, that
you note that they are adapted from (or perhaps identical to) our slides, and
note our copyright of this material.
Computer Networking:
A Top Down Approach
5th edition.
Jim Kurose, Keith Ross
Addison-Wesley, April
2009.
Thanks and enjoy! JFK/KWR
All material copyright 1996-2009
J.F Kurose and K.W. Ross, All Rights Reserved
5: DataLink Layer
5-1
Chapter 5: The Data Link Layer
Our goals:
understand principles behind data link layer
services:
error detection, correction
sharing a broadcast channel: multiple access
link layer addressing
reliable data transfer, flow control: done!
instantiation and implementation of various link
layer technologies
5: DataLink Layer
5-2
Link Layer
5.1 Introduction and
services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 Link-layer
Addressing
5.5 Ethernet
5.6 Link-layer switches
5.7 PPP
5.8 Link virtualization:
MPLS
5.9 A day in the life of a
web request
5: DataLink Layer
5-3
Link Layer: Introduction
Some terminology:
hosts and routers are nodes
communication channels that
connect adjacent nodes along
communication path are links
wired links
wireless links
LANs
layer-2 packet is a frame,
encapsulates datagram
data-link layer has responsibility of
transferring datagram from one node
to adjacent node over a link
5: 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 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
5: DataLink Layer
5-5
Link Layer Services
framing, link access:
encapsulate datagram into frame, adding header, trailer
channel access if shared medium
“MAC” addresses used in frame headers to identify
source, dest
• 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
• Q: why both link-level and end-end reliability?
5: 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
5: DataLink Layer
5-7
Where is the link layer implemented?
in each and every host
link layer implemented in
“adaptor” (aka network
interface card NIC)
Ethernet card, PCMCI
card, 802.11 card
implements link, physical
layer
attaches into host’s
system buses
combination of
hardware, software,
firmware
host schematic
application
transport
network
link
cpu
memory
controller
link
physical
host
bus
(e.g., PCI)
physical
transmission
network adapter
card
5: DataLink Layer
5-8
Adaptors Communicating
datagram
datagram
controller
controller
receiving host
sending host
datagram
frame
sending side:
encapsulates datagram in
frame
adds error checking bits,
rdt, flow control, etc.
receiving side
looks for errors, rdt, flow
control, etc
extracts datagram, passes
to upper layer at receiving
side
5: DataLink Layer
5-9
Link Layer
5.1 Introduction and
services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 Link-layer
Addressing
5.5 Ethernet
5.6 Link-layer switches
5.7 PPP
5.8 Link virtualization:
MPLS
5.9 A day in the life of a
web request
5: DataLink Layer
5-10
Error Detection
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
otherwise
5: DataLink Layer
5-11
Parity Checking
Single Bit Parity:
Detect single bit errors
Two Dimensional Bit Parity:
Detect and correct single bit errors
0
0
5: DataLink Layer
5-12
Internet checksum (review)
Goal: detect “errors” (e.g., flipped bits) in transmitted
packet (note: used at transport layer only)
Sender:
treat segment contents
as sequence of 16-bit
integers
checksum: addition (1’s
complement sum) of
segment contents
sender puts checksum
value into UDP checksum
field
Receiver:
compute checksum of
received segment
check if computed checksum
equals checksum field value:
NO - error detected
YES - no error detected.
But maybe errors
nonetheless?
5: DataLink Layer
5-13
Checksumming: Cyclic Redundancy Check
view data bits, D, as a binary number
choose r+1 bit pattern (generator), G
goal: choose r CRC bits, R, such that
<D,R> exactly divisible by G (modulo 2)
receiver knows G, divides <D,R> by G. If non-zero remainder:
error detected!
can detect all burst errors less than r+1 bits
widely used in practice (Ethernet, 802.11 WiFi, ATM)
5: DataLink Layer
5-14
3. 差错检测
在传输过程中可能会产生比特差错:1 可能会
变成 0 而 0 也可能变成 1。
在一段时间内,传输错误的比特占所传输比特
总数的比率称为误码率 BER (Bit Error Rate)。
误码率与信噪比有很大的关系。
为了保证数据传输的可靠性,在计算机网络传
输数据时,必须采用各种差错检测措施。
课件制作人:谢希仁
循环冗余校验CRC原理 (Cyclic Redundancy
Check)
循环冗余校验CRC是一种检验数据错误的方法
原理:因为 被除数=除数×商+余数
被除数-余数=除数×商
在模2运算下,减法等同加法,因此,有
被除数+余数=除数×商
如果固定除数,把要发的数据+余数当作被除数
那么,有:被除数/除数=商+0
因此
将要发的数据位串加上某个冗余位串,使得除以事先确定的
除数后余数为零,不为零则,则传输出错。
循环冗余检验的原理
在数据链路层传送的帧中,广泛使用了循
环冗余检验 CRC 的检错技术。
在发送端,先把数据划分为组。假定每组 k
个比特。
假设待传送的一组数据 M = 101001(现在
k = 6)。我们在 M 的后面再添加供差错检
测用的 n 位冗余码一起发送。
课件制作人:谢希仁
冗余码的计算
用二进制的模 2 运算进行 2n 乘 M 的运算,
这相当于在 M 后面添加 n 个 0。
得到的 (k + n) 位的数除以事先选定好的
长度为 (n + 1) 位的除数 P,得出商是 Q
而余数是 R,余数 R 比除数 P 少1 位,
即 R 是 n 位。
课件制作人:谢希仁
冗余码的计算举例
现在 k = 6, M = 101001。
设 n = 3, 除数 P = 1101,
被除数是 2nM = 101001000。
模 2 运算的结果是:商 Q = 110101,
余数 R = 001。
把余数 R 作为冗余码添加在数据 M 的后面发
送出去。发送的数据是:2nM + R
即:101001001,共 (k + n) 位。
课件制作人:谢希仁
循环冗余检验的原理说明
110101 ← Q (商)
P (除数) → 1101 101001000 ← 2nM (被除数)
1101
1110
1101
0111
0000
1110
在 k = 6, M = 101001。
1101
n = 3, 除数 P = 1101,
0110
0000
1100
1101
001 ← R (余数),作为 FCS
课件制作人:谢希仁
帧检验序列 FCS
在数据后面添加上的冗余码称为帧检验
序列 FCS (Frame Check Sequence)。
循环冗余检验 CRC 和帧检验序列 FCS
并不等同。
CRC 是一种常用的检错方法,而 FCS 是添
加在数据后面的冗余码。
FCS 可以用 CRC 这种方法得出,但 CRC
并非用来获得 FCS 的唯一方法。
课件制作人:谢希仁
接收端对收到的每一帧进行 CRC 检验
(1) 若得出的余数 R = 0,则判定这个帧没有差
错,就接受(accept)。
(2) 若余数 R 0,则判定这个帧有差错,就丢
弃。
但这种检测方法并不能确定究竟是哪一个或哪
几个比特出现了差错。
只要经过严格的挑选,并使用位数足够多的除
数 P,那么出现检测不到的差错的概率就很小
很小。
课件制作人:谢希仁
应当注意
仅用循环冗余检验 CRC 差错检测技术只能做
到无差错接受(accept)。
“无差错接受”是指:“凡是接受的帧(即不
包括丢弃的帧),我们都能以非常接近于 1 的
概率认为这些帧在传输过程中没有产生差错”。
也就是说:“凡是接收端数据链路层接受的帧
都没有传输差错”(有差错的帧就丢弃而不接
受)。
要做到“可靠传输”(即发送什么就收到什么)
就必须再加上确认和重传机制。
课件制作人:谢希仁
要发送的数据为1101011011。采用CRC
的生成多项式是P(X)=X4+X+1。试求
应 添加在数据后面的余数。数据在传输
过程中最后一个1变成了0,问接收端能
否发现?若 数据在传输过程中最后两个
1都变成了0,问接收端能否发现?采用
CRC检验后,数据链 路层的传输是否就
变成了可靠的传输?
课件制作人:谢希仁
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.2r
G
]
5: DataLink Layer
5-25
Link Layer
5.1 Introduction and
services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 Link-layer
Addressing
5.5 Ethernet
5.6 Link-layer switches
5.7 PPP
5.8 Link virtualization:
MPLS
5.9 A day in the life of a
web request
5: DataLink Layer
5-26
Multiple Access Links and Protocols
Two types of “links”:
point-to-point
PPP for dial-up access
point-to-point link between Ethernet switch and host
broadcast (shared wire or medium)
old-fashioned Ethernet
upstream HFC
802.11 wireless LAN
shared wire (e.g.,
cabled Ethernet)
shared RF
(e.g., 802.11 WiFi)
shared RF
(satellite)
humans at a
cocktail party
(shared air, acoustical)
5: DataLink Layer
5-27
Multiple Access protocols
single shared broadcast channel
two or more simultaneous transmissions by nodes:
interference
collision if node receives two or more signals at the same time
multiple access protocol
distributed algorithm that determines how nodes
share channel, i.e., determine when node can transmit
communication about channel sharing must use channel
itself!
no out-of-band channel for coordination
5: DataLink Layer
5-28
Ideal Multiple Access Protocol
Broadcast channel of rate R bps
1. when one node wants to transmit, it can send at
rate R.
2. when M nodes want to transmit, each can send at
average rate R/M
3. fully decentralized:
no special node to coordinate transmissions
no synchronization of clocks, slots
4. simple
5: DataLink Layer
5-29
MAC Protocols: a taxonomy
Three broad classes:
Channel Partitioning
divide channel into smaller “pieces” (time slots,
frequency, code)
allocate piece to node for exclusive use
Random Access
channel not divided, allow collisions
“recover” from collisions
“Taking turns”
nodes take turns, but nodes with more to send can take
longer turns
5: DataLink Layer
5-30
Channel Partitioning MAC protocols: TDMA
TDMA: time division multiple access
access to channel in "rounds"
each station gets fixed length slot (length = pkt
trans time) in each round
unused slots go idle
example: 6-station LAN, 1,3,4 have pkt, slots 2,5,6
idle
6-slot
frame
1
3
4
1
3
4
5: DataLink Layer
5-31
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
FDM cable
frequency bands
bands 2,5,6 idle
5: DataLink Layer
5-32
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:
slotted ALOHA
ALOHA
CSMA, CSMA/CD, CSMA/CA
5: DataLink Layer
5-33
Slotted ALOHA
Assumptions:
all frames same size
time divided into equal
size slots (time to
transmit 1 frame)
nodes start to transmit
only slot beginning
nodes are synchronized
if 2 or more nodes
transmit in slot, all
nodes detect collision
Operation:
when node obtains fresh
frame, transmits in next
slot
if no collision: node can
send new frame in next
slot
if collision: node
retransmits frame in
each subsequent slot
with prob. p until
success
5: DataLink Layer
5-34
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, wasting slots
idle slots
nodes may be able to
detect collision in less
than time to transmit
packet
clock synchronization
5: DataLink Layer
5-35
Slotted Aloha efficiency
Efficiency : long-run
fraction of successful slots
(many nodes, all with many
frames to send)
suppose: N nodes with
many frames to send,
each transmits in slot
with probability p
prob that given node
has success in a slot =
p(1-p)N-1
prob that any node has
a success = Np(1-p)N-1
max efficiency: find
p* that maximizes
Np(1-p)N-1
for many nodes, take
limit of Np*(1-p*)N-1
as N goes to infinity,
gives:
Max efficiency = 1/e = .37
At best: channel
used for useful
transmissions 37%
of time!
5: DataLink Layer
!
5-36
Pure (unslotted) ALOHA
unslotted Aloha: simpler, no synchronization
when frame first arrives
transmit immediately
collision probability increases:
frame sent at t0 collides with other frames sent in [t0-1,t0+1]
5: DataLink Layer
5-37
Pure Aloha efficiency
P(success by given node) = P(node transmits) .
P(no other node transmits in [p0-1,p0] .
P(no other node transmits in [p0-1,p0]
= p . (1-p)N-1 . (1-p)N-1
= p . (1-p)2(N-1)
… choosing optimum p and then letting n -> infty ...
= 1/(2e) = .18
even worse than slotted Aloha!
5: DataLink Layer
5-38
CSMA (Carrier Sense Multiple Access)
CSMA: listen before transmit:
If channel sensed idle: transmit entire frame
If channel sensed busy, defer transmission
human analogy: don’t interrupt others!
5: DataLink Layer
5-39
CSMA collisions
spatial layout of nodes
collisions can still occur:
propagation delay means
two nodes may not hear
each other’s transmission
collision:
entire packet transmission
time wasted
note:
role of distance & propagation
delay in determining collision
probability
5: DataLink Layer
5-40
CSMA/CD (Collision Detection)
CSMA/CD: carrier sensing, deferral as in CSMA
collisions detected within short time
colliding transmissions aborted, reducing channel
wastage
collision detection:
easy in wired LANs: measure signal strengths,
compare transmitted, received signals
difficult in wireless LANs: received signal strength
overwhelmed by local transmission strength
human analogy: the polite conversationalist
5: DataLink Layer
5-41
CSMA/CD collision detection
5: DataLink Layer
5-42
“Taking Turns” MAC protocols
channel partitioning MAC protocols:
share channel efficiently and fairly at high load
inefficient at low load: delay in channel access,
1/N bandwidth allocated even if only 1 active
node!
Random access MAC protocols
efficient at low load: single node can fully
utilize channel
high load: collision overhead
“taking turns” protocols
look for best of both worlds!
5: DataLink Layer
5-43
“Taking Turns” MAC protocols
Polling:
master node
“invites” slave nodes
to transmit in turn
typically used with
“dumb” slave devices
concerns:
polling overhead
latency
single point of
failure (master)
data
poll
master
data
slaves
5: DataLink Layer
5-44
“Taking Turns” MAC protocols
Token passing:
control token passed
from one node to next
sequentially.
token message
concerns:
token overhead
latency
single point of failure
(token)
T
(nothing
to send)
T
data
5: DataLink Layer
5-45
Summary of MAC protocols
channel partitioning, by time, frequency or code
Time Division, Frequency Division
random access (dynamic),
ALOHA, S-ALOHA, CSMA, CSMA/CD
carrier sensing: easy in some technologies (wire), hard in
others (wireless)
CSMA/CD used in Ethernet
CSMA/CA used in 802.11
taking turns
polling from central site, token passing
Bluetooth, FDDI, IBM Token Ring
5: DataLink Layer
5-46
Link Layer
5.1 Introduction and
services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 Link-Layer
Addressing
5.5 Ethernet
5.6 Link-layer switches
5.7 PPP
5.8 Link virtualization:
MPLS
5.9 A day in the life of a
web request
5: DataLink Layer
5-47
MAC Addresses and ARP
32-bit IP address:
network-layer address
used to get datagram to destination IP subnet
MAC (or LAN or physical or Ethernet)
address:
function: get frame from one interface to another
physically-connected interface (same network)
48 bit MAC address (for most LANs)
• burned in NIC ROM, also sometimes software settable
5: DataLink Layer
5-48
LAN Addresses and ARP
Each adapter on LAN has unique LAN address
1A-2F-BB-76-09-AD
71-65-F7-2B-08-53
LAN
(wired or
wireless)
Broadcast address =
FF-FF-FF-FF-FF-FF
= adapter
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
5: DataLink Layer
5-49
LAN Address (more)
MAC address allocation administered by IEEE
manufacturer buys portion of MAC address space
(to assure uniqueness)
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
address depends on IP subnet to which node is attached
5: DataLink Layer
5-50
ARP: Address Resolution Protocol
Question: how to determine
MAC address of B
knowing B’s IP address?
137.196.7.78
1A-2F-BB-76-09-AD
137.196.7.23
Each IP node (host,
router) on LAN has
ARP table
ARP table: IP/MAC
address mappings for
some LAN nodes
137.196.7.14
LAN
71-65-F7-2B-08-53
137.196.7.88
< IP address; MAC address; TTL>
58-23-D7-FA-20-B0
TTL (Time To Live): time
after which address
mapping will be forgotten
(typically 20 min)
0C-C4-11-6F-E3-98
5: DataLink Layer
5-51
ARP protocol: Same LAN (network)
A wants to send datagram
to B, and B’s MAC address
not in A’s ARP table.
A broadcasts ARP query
packet, containing B's IP
address
dest MAC address = FFFF-FF-FF-FF-FF
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
5: DataLink Layer
5-52
Addressing: routing to another LAN
walkthrough: send datagram from A to B via R
assume A knows B’s IP address
88-B2-2F-54-1A-0F
74-29-9C-E8-FF-55
A
111.111.111.111
E6-E9-00-17-BB-4B
1A-23-F9-CD-06-9B
222.222.222.220
111.111.111.110
111.111.111.112
R
222.222.222.221
222.222.222.222
B
49-BD-D2-C7-56-2A
CC-49-DE-D0-AB-7D
two ARP tables in router R, one for each IP
network (LAN)
5: DataLink Layer
5-53
A creates IP datagram with source A, destination B
A uses ARP to get R’s MAC address for 111.111.111.110
A creates link-layer frame with R's MAC address as dest,
frame contains A-to-B IP datagram
This is a really important
A’s NIC sends frame
example – make sure you
understand!
R’s NIC receives frame
R removes IP datagram from Ethernet frame, sees its
destined to B
R uses ARP to get B’s MAC address
R creates frame containing A-to-B IP datagram sends to B
88-B2-2F-54-1A-0F
74-29-9C-E8-FF-55
A
E6-E9-00-17-BB-4B
111.111.111.111
222.222.222.220
111.111.111.110
111.111.111.112
222.222.222.221
1A-23-F9-CD-06-9B
R
222.222.222.222
B
49-BD-D2-C7-56-2A
CC-49-DE-D0-AB-7D
5: DataLink Layer
5-54
Link Layer
5.1 Introduction and
services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 Link-Layer
Addressing
5.5 Ethernet
5.6 Link-layer switches
5.7 PPP
5.8 Link virtualization:
MPLS
5.9 A day in the life of a
web request
5: DataLink Layer
5-55
Ethernet
“dominant” wired LAN technology:
cheap $20 for NIC
first widely used LAN technology
simpler, cheaper than token LANs and ATM
kept up with speed race: 10 Mbps – 10 Gbps
Metcalfe’s Ethernet
sketch
5: DataLink Layer
5-56
Star topology
bus topology popular through mid 90s
all nodes in same collision domain (can collide with each
other)
today: star topology prevails
active switch in center
each “spoke” runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus: coaxial cable
star
5: DataLink Layer
5-57
Ethernet Frame Structure
Sending adapter encapsulates IP datagram (or other
network layer protocol packet) in Ethernet frame
Preamble:
7 bytes with pattern 10101010 followed by one
byte with pattern 10101011
used to synchronize receiver, sender clock rates
5: DataLink Layer
5-58
Ethernet Frame Structure (more)
Addresses: 6 bytes
if adapter receives frame with matching destination
address, or with broadcast address (eg ARP packet), it
passes data in frame to network layer protocol
otherwise, adapter discards frame
Type: indicates higher layer protocol (mostly IP
but others possible, e.g., Novell IPX, AppleTalk)
CRC: checked at receiver, if error is detected,
frame is dropped
5: DataLink Layer
5-59
Ethernet: Unreliable, connectionless
connectionless: No handshaking between sending and
receiving NICs
unreliable: receiving NIC doesn’t send acks or nacks
to sending NIC
stream of datagrams passed to network layer can have gaps
(missing datagrams)
gaps will be filled if app is using TCP
otherwise, app will see gaps
Ethernet’s MAC protocol: unslotted CSMA/CD
5: DataLink Layer
5-60
Ethernet CSMA/CD algorithm
1. NIC receives datagram
4. If NIC detects another
from network layer,
transmission while
creates frame
transmitting, aborts and
sends jam signal
2. If NIC senses channel idle,
starts frame transmission 5. After aborting, NIC
If NIC senses channel
enters exponential
busy, waits until channel
backoff: after mth
idle, then transmits
collision, NIC chooses K at
random from
3. If NIC transmits entire
{0,1,2,…,2m-1}. NIC waits
frame without detecting
K·512 bit times, returns to
another transmission, NIC
Step 2
is done with frame !
5: DataLink Layer
5-61
Ethernet’s CSMA/CD (more)
Jam Signal: make sure all
other transmitters are
aware of collision; 48 bits
Bit time: .1 microsec for 10
Mbps Ethernet ;
for K=1023, wait time is
about 50 msec
See/interact with Java
applet on AWL Web site:
highly recommended !
Exponential Backoff:
Goal: adapt retransmission
attempts to estimated
current load
heavy load: random wait
will be longer
first collision: choose K from
{0,1}; delay is K· 512 bit
transmission times
after second collision: choose
K from {0,1,2,3}…
after ten collisions, choose K
from {0,1,2,3,4,…,1023}
5: DataLink Layer
5-62
CSMA/CD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency
1
1 5t prop /ttrans
efficiency goes to 1
as tprop goes to 0
as ttrans goes to infinity
better performance than ALOHA: and simple,
cheap, decentralized!
5: DataLink Layer
5-63
3.3.2 CSMA/CD 协议
最初的以太网是将许多计算机都连接到一根总
线上。当初认为这样的连接方法既简单又可靠,
因为总线上没有有源器件。
匹配电阻(用来吸收总线上传播的信号)
匹配电阻
只有 D 接受
B 发送的数据
A
不接受
B
B向 D
发送数据
C
不接受
D
E
接受
不接受
课件制作人:谢希仁
以太网的广播方式发送
总线上的每一个工作的计算机都能检测到 B 发
送的数据信号。
由于只有计算机 D 的地址与数据帧首部写入的
地址一致,因此只有 D 才接收这个数据帧。
其他所有的计算机(A, C 和 E)都检测到不是
发送给它们的数据帧,因此就丢弃这个数据帧
而不能够收下来。
具有广播特性的总线上实现了一对一的通信。
课件制作人:谢希仁
为了通信的简便
以太网采取了两种重要的措施
采用较为灵活的无连接的工作方式,即
不必先建立连接就可以直接发送数据。
以太网对发送的数据帧不进行编号,也
不要求对方发回确认。
这样做的理由是局域网信道的质量很好,因
信道质量产生差错的概率是很小的。
课件制作人:谢希仁
以太网提供的服务
以太网提供的服务是不可靠的交付,即
尽最大努力的交付。
当目的站收到有差错的数据帧时就丢弃
此帧,其他什么也不做。差错的纠正由
高层来决定。
如果高层发现丢失了一些数据而进行重
传,但以太网并不知道这是一个重传的
帧,而是当作一个新的数据帧来发送。
课件制作人:谢希仁
以太网发送的数据都使用
曼彻斯特(Manchester)编码
码元
1
0
0
0
1
0
0
1
1
基带数字信号
曼彻斯特编码
出现电平转换
课件制作人:谢希仁
1
载波监听多点接入/碰撞检测
CSMA/CD
CSMA/CD 表示 Carrier Sense Multiple
Access with Collision Detection。
“多点接入”表示许多计算机以多点接入的方
式连接在一根总线上。
“载波监听”是指每一个站在发送数据之前先
要检测一下总线上是否有其他计算机在发送数
据,如果有,则暂时不要发送数据,以免发生
碰撞。
总线上并没有什么“载波”。因此, “载波监
听”就是用电子技术检测总线上有没有其他计
算机发送的数据信号。
课件制作人:谢希仁
碰撞检测
“碰撞检测”就是计算机边发送数据边检测信道
上的信号电压大小。
当几个站同时在总线上发送数据时,总线上的
信号电压摆动值将会增大(互相叠加)。
当一个站检测到的信号电压摆动值超过一定的
门限值时,就认为总线上至少有两个站同时在
发送数据,表明产生了碰撞。
所谓“碰撞”就是发生了冲突。因此“碰撞检
测”也称为“冲突检测”。
课件制作人:谢希仁
检测到碰撞后
在发生碰撞时,总线上传输的信号产生
了严重的失真,无法从中恢复出有用的
信息来。
每一个正在发送数据的站,一旦发现总
线上出现了碰撞,就要立即停止发送,
免得继续浪费网络资源,然后等待一段
随机时间后再次发送。
课件制作人:谢希仁
电磁波在总线上的
有限传播速率的影响
当某个站监听到总线是空闲时,也可能
总线并非真正是空闲的。
A 向 B 发出的信息,要经过一定的时间
后才能传送到 B。
B 若在 A 发送的信息到达 B 之前发送自
己的帧(因为这时 B 的载波监听检测不到
A 所发送的信息),则必然要在某个时间
和 A 发送的帧发生碰撞。
碰撞的结果是两个帧都变得无用。
课件制作人:谢希仁
传播时延对载波监听的影响
t=0
A
1 km
B
碰撞
t
t = 2
B 发送数据
t=
t=
A 检测到发生碰撞
B 检测到发生碰撞
单程端到端
传播时延记为
1 km
A
t=0
B
碰撞
t = 2
t=0
A 检测到
信道空闲
发送数据
t=
t=
A 检测到发生碰撞
t
单程端到端
传播时延记为
B 检测到发生碰撞
A
B
A
A
A
t = 2
A 检测到
发生碰撞
STOP
B
t=
B 检测到信道空闲
发送数据
B
t=/2
发生碰撞
B
t=
B 检测到发生碰撞
停止发送
STOP
A
B 发送数据
B
重要特性
使用 CSMA/CD 协议的以太网不能进行全
双工通信而只能进行双向交替通信(半双
工通信)。
每个站在发送数据之后的一小段时间内,
存在着遭遇碰撞的可能性。
这种发送的不确定性使整个以太网的平均
通信量远小于以太网的最高数据率。
课件制作人:谢希仁
争用期
最先发送数据帧的站,在发送数据帧后至
多经过时间 2 (两倍的端到端往返时延)
就可知道发送的数据帧是否遭受了碰撞。
以太网的端到端往返时延 2 称为争用期,
或碰撞窗口。
经过争用期这段时间还没有检测到碰撞,
才能肯定这次发送不会发生碰撞。
课件制作人:谢希仁
二进制指数类型退避算法
(truncated binary exponential type)
发生碰撞的站在停止发送数据后,要推迟
(退避)一个随机时间才能再发送数据。
确定基本退避时间,一般是取为争用期 2。
定义重传次数 k ,k 10,即
k = Min[重传次数, 10]
从整数集合[0,1,…, (2k 1)]中随机地取出一个
数,记为 r。重传所需的时延就是 r 倍的基本
退避时间。
当重传达 16 次仍不能成功时即丢弃该帧,并
向高层报告。
课件制作人:谢希仁
争用期的长度
以太网取 51.2 s 为争用期的长度。
对于 10 Mb/s 以太网,在争用期内可发送
512 bit,即 64 字节。
以太网在发送数据时,若前 64 字节没有发
生冲突,则后续的数据就不会发生冲突。
课件制作人:谢希仁
最短有效帧长
如果发生冲突,就一定是在发送的前 64 字
节之内。
由于一检测到冲突就立即中止发送,这时
已经发送出去的数据一定小于 64 字节。
以太网规定了最短有效帧长为 64 字节,凡
长度小于 64 字节的帧都是由于冲突而异常
中止的无效帧。
课件制作人:谢希仁
强化碰撞
当发送数据的站一旦发现发生了碰撞时:
立即停止发送数据;
再继续发送若干比特的人为干扰信号(jamming
signal),以便让所有用户都知道现在已经发生
了碰撞。
课件制作人:谢希仁
人为干扰信号
A 发送数据
A
开始冲突
B 发送数据
B
TB
TJ
t
A 检测
到冲突
信
道
占
用
时
间
B 也能够检测到冲突,并立即停止发送数据帧,接
着就发送干扰信号。这里为了简单起见,只画出 A
发送干扰信号的情况。
802.3 Ethernet Standards: Link & Physical Layers
many different Ethernet standards
common MAC protocol and frame format
different speeds: 2 Mbps, 10 Mbps, 100 Mbps,
1Gbps, 10G bps
different physical layer media: fiber, cable
application
transport
network
link
physical
MAC protocol
and frame format
100BASE-TX
100BASE-T2
100BASE-FX
100BASE-T4
100BASE-SX
100BASE-BX
copper (twister
pair) physical layer
fiber physical layer
5: DataLink Layer
5-82
Manchester encoding
used in 10BaseT
each bit has a transition
allows clocks in sending and receiving nodes to
synchronize to each other
no need for a centralized, global clock among nodes!
Hey, this is physical-layer stuff!
5: DataLink Layer
5-83
Link Layer
5.1 Introduction and
services
5.2 Error detection
and correction
5.3 Multiple access
protocols
5.4 Link-layer
Addressing
5.5 Ethernet
5.6 Link-layer switches,
LANs, VLANs
5.7 PPP
5.8 Link virtualization:
MPLS
5.9 A day in the life of a
web request
5: DataLink Layer
5-84
Hubs
… physical-layer (“dumb”) repeaters:
bits coming in one link go out all other links at
same rate
all nodes connected to hub can collide with one
another
no frame buffering
no CSMA/CD at hub: host NICs detect
collisions
twisted pair
hub
5: DataLink Layer
5-85
Switch
link-layer device: smarter than hubs, take
active role
store, forward Ethernet frames
examine incoming frame’s MAC address,
selectively forward frame to one-or-more
outgoing links when frame is to be forwarded on
segment, uses CSMA/CD to access segment
transparent
hosts are unaware of presence of switches
plug-and-play, self-learning
switches do not need to be configured
5: DataLink Layer
5-86
Switch: allows multiple simultaneous
transmissions
A
hosts have dedicated,
direct connection to switch
switches buffer packets
Ethernet protocol used on
each incoming link, but no
collisions; full duplex
each link is its own collision
domain
switching: A-to-A’ and B-
to-B’ simultaneously,
without collisions
not possible with dumb hub
C’
B
6
1
5
2
3
4
C
B’
A’
switch with six interfaces
(1,2,3,4,5,6)
5: DataLink Layer
5-87
Switch Table
Q: how does switch know that
A’ reachable via interface 4,
B’ reachable via interface 5?
A: each switch has a switch
table, each entry:
C’
B
6
Q: how are entries created,
maintained in switch table?
something like a routing
protocol?
1
5
(MAC address of host, interface
to reach host, time stamp)
looks like a routing table!
A
2
3
4
C
B’
A’
switch with six interfaces
(1,2,3,4,5,6)
5: DataLink Layer
5-88
Switch: self-learning
switch learns which hosts
can be reached through
which interfaces
Source: A
Dest: A’
A A A’
C’
when frame received,
switch “learns” location of
sender: incoming LAN
segment
records sender/location
pair in switch table
B
1
6
5
2
3
4
C
B’
A’
MAC addr interface TTL
A
1
60
Switch table
(initially empty)
5: DataLink Layer
5-89
Switch: frame filtering/forwarding
When frame received:
1. record link associated with sending host
2. index switch table using MAC dest address
3. 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
5: DataLink Layer
5-90
Self-learning,
forwarding:
example
Source: A
Dest: A’
A A A’
C’
B
frame destination
unknown: flood
A6A’
1
2
4
5
destination A
location known:
selective send
C
A’ A
B’
3
A’
MAC addr interface TTL
A
A’
1
4
60
60
Switch table
(initially empty)
5: DataLink Layer
5-91
Interconnecting switches
switches can be connected together
S4
S1
S2
A
B
S3
C
F
D
E
I
G
H
Q: sending from A to G - how does S1 know to
forward frame destined to F via S4 and S3?
A: self learning! (works exactly the same as in
single-switch case!)
5: DataLink Layer
5-92
Self-learning multi-switch example
Suppose C sends frame to I, I responds to C
S4
1
S1
S2
A
B
C
2
S3
F
D
E
I
G
H
Q: show switch tables and packet forwarding in S1,
S2, S3, S4
5: DataLink Layer
5-93
Institutional network
to external
network
mail server
router
web server
IP subnet
5: DataLink Layer
5-94
Switches vs. Routers
both store-and-forward devices
routers: network layer devices (examine network layer
headers)
switches are link layer devices
routers maintain routing tables, implement routing
algorithms
switches maintain switch tables, implement
filtering, learning algorithms
5: DataLink Layer
5-95
VLANs: motivation
What’s wrong with this picture?
What happens if:
CS user moves office to EE,
but wants connect to CS
switch?
single broadcast domain:
Computer
Science
Electrical
Engineering
Computer
Engineering
all layer-2 broadcast
traffic (ARP, DHCP)
crosses entire LAN
(security/privacy,
efficiency issues)
each lowest level switch has
only few ports in use
5: DataLink Layer
5-96
VLANs
Port-based VLAN: switch ports grouped
(by switch management software) so
that single physical switch ……
Virtual Local
Area Network
Switch(es) supporting
VLAN capabilities can
be configured to
define multiple virtual
LANS over single
physical LAN
infrastructure.
1
7
9
15
2
8
10
16
…
…
Electrical Engineering
(VLAN ports 1-8)
Computer Science
(VLAN ports 9-15)
… operates as multiple virtual switches
1
7
9
15
2
8
10
16
…
Electrical Engineering
(VLAN ports 1-8)
…
Computer Science
(VLAN ports 9-16)
5: DataLink Layer
5-97
Port-based VLAN
router
traffic isolation: frames
to/from ports 1-8 can
only reach ports 1-8
can also define VLAN based on
MAC addresses of endpoints,
rather than switch port
dynamic membership:
ports can be dynamically
assigned among VLANs
1
7
9
15
2
8
10
16
…
Electrical Engineering
(VLAN ports 1-8)
…
Computer Science
(VLAN ports 9-15)
forwarding between VLANS:
done via routing (just as with
separate switches)
in practice vendors sell combined
switches plus routers
5: DataLink Layer
5-98
VLANS spanning multiple switches
1
7
9
15
1
3
5
7
2
8
10
16
2
4
6
8
…
Electrical Engineering
(VLAN ports 1-8)
…
Computer Science
(VLAN ports 9-15)
Ports 2,3,5 belong to EE VLAN
Ports 4,6,7,8 belong to CS VLAN
trunk port: carries frames between VLANS defined
over multiple physical switches
frames forwarded within VLAN between switches can’t be
vanilla 802.1 frames (must carry VLAN ID info)
802.1q protocol adds/removed additional header fields for
frames forwarded between trunk ports
5: DataLink Layer
5-99
802.1Q VLAN frame format
Type
802.1 frame
802.1Q frame
2-byte Tag Protocol Identifier
(value: 81-00)
Recomputed
CRC
Tag Control Information (12 bit VLAN ID field,
3 bit priority field like IP TOS)
5: DataLink Layer 5-100
Link Layer
5.1 Introduction and
services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 Link-Layer
Addressing
5.5 Ethernet
5.6 Link-layer switches
5.7 PPP
5.8 Link virtualization:
MPLS
5.9 A day in the life of a
web request
5: DataLink Layer 5-101
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!
5: DataLink Layer 5-102
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
5: DataLink Layer 5-103
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!
5: DataLink Layer 5-104
PPP Data Frame
Flag: delimiter (framing)
Address: does nothing (only one option)
Control: does nothing; in the future possible
multiple control fields
Protocol: upper layer protocol to which frame
delivered (eg, PPP-LCP, IP, IPCP, etc)
5: DataLink Layer 5-105
PPP Data Frame
info: upper layer data being carried
check: cyclic redundancy check for error
detection
5: DataLink Layer 5-106
Byte Stuffing
“data transparency” requirement: data field must
be allowed to include flag pattern <01111110>
Q: is received <01111110> data or flag?
Sender: adds (“stuffs”) extra < 01111110> byte
after each < 01111110> data byte
Receiver:
two 01111110 bytes in a row: discard first byte,
continue data reception
single 01111110: flag byte
5: DataLink Layer 5-107
Byte Stuffing
flag byte
pattern
in data
to send
flag byte pattern plus
stuffed byte in
transmitted data
5: DataLink Layer 5-108
PPP Data Control Protocol
Before exchanging networklayer data, data link peers
must
configure PPP link (max.
frame length,
authentication)
learn/configure network
layer information
for IP: carry IP Control
Protocol (IPCP) msgs
(protocol field: 8021) to
configure/learn IP
address
5: DataLink Layer 5-109
Link Layer
5.1 Introduction and
services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 Link-Layer
Addressing
5.5 Ethernet
5.6 Link-layer switches
5.7 PPP
5.8 Link virtualization:
MPLS
5.9 A day in the life of a
web request
5: DataLink Layer
5-110
Virtualization of networks
Virtualization of resources: powerful abstraction in
systems engineering:
computing examples: virtual memory, virtual
devices
Virtual machines: e.g., java
IBM VM os from 1960’s/70’s
layering of abstractions: don’t sweat the details of
the lower layer, only deal with lower layers
abstractly
5: DataLink Layer
5-111
The Internet: virtualizing networks
1974: multiple unconnected
nets
ARPAnet
data-over-cable
networks
packet satellite network (Aloha)
packet radio network
ARPAnet
"A Protocol for Packet Network Intercommunication",
V. Cerf, R. Kahn, IEEE Transactions on Communications,
May, 1974, pp. 637-648.
… differing in:
addressing
conventions
packet formats
error recovery
routing
satellite net
5: DataLink Layer
5-112
The Internet: virtualizing networks
Internetwork layer (IP):
addressing: internetwork
appears as single, uniform
entity, despite underlying local
network heterogeneity
network of networks
Gateway:
“embed internetwork packets in
local packet format or extract
them”
route (at internetwork level) to
next gateway
gateway
ARPAnet
satellite net
5: DataLink Layer
5-113
Cerf & Kahn’s Internetwork Architecture
What is virtualized?
two layers of addressing: internetwork and local
network
new layer (IP) makes everything homogeneous at
internetwork layer
underlying local network technology
cable
satellite
56K telephone modem
today: ATM, MPLS
… “invisible” at internetwork layer. Looks like a link
layer technology to IP!
5: DataLink Layer
5-114
ATM and MPLS
ATM, MPLS separate networks in their own
right
different service models, addressing, routing
from Internet
viewed by Internet as logical link connecting
IP routers
just like dialup link is really part of separate
network (telephone network)
ATM, MPLS: of technical interest in their
own right
5: DataLink Layer
5-115
Asynchronous Transfer Mode: ATM
1990’s/00 standard for high-speed (155Mbps to
622 Mbps and higher) Broadband Integrated
Service Digital Network architecture
Goal: integrated, end-end transport of carry voice,
video, data
meeting timing/QoS requirements of voice, video
(versus Internet best-effort model)
“next generation” telephony: technical roots in
telephone world
packet-switching (fixed length packets, called
“cells”) using virtual circuits
5: DataLink Layer
5-116
Multiprotocol label switching (MPLS)
initial goal: speed up IP forwarding by using fixed
length label (instead of IP address) to do
forwarding
borrowing ideas from Virtual Circuit (VC) approach
but IP datagram still keeps IP address!
PPP or Ethernet
header
MPLS header
label
20
IP header
remainder of link-layer frame
Exp S TTL
3
1
5
5: DataLink Layer
5-117
MPLS capable routers
a.k.a. label-switched router
forwards packets to outgoing interface based
only on label value (don’t inspect IP address)
MPLS forwarding table distinct from IP forwarding
tables
signaling protocol needed to set up forwarding
RSVP-TE
forwarding possible along paths that IP alone would
not allow (e.g., source-specific routing) !!
use MPLS for traffic engineering
must co-exist with IP-only routers
5: DataLink Layer
5-118
MPLS forwarding tables
in
label
out
label dest
10
12
8
out
interface
A
D
A
0
0
1
in
label
out
label dest
out
interface
10
6
A
1
12
9
D
0
R6
0
0
D
1
1
R3
R4
R5
0
0
R2
in
label
8
out
label dest
6
A
out
interface
in
label
6
outR1
label dest
-
A
A
out
interface
0
0
5: DataLink Layer
5-119
Link Layer
5.1 Introduction and
services
5.2 Error detection
and correction
5.3Multiple access
protocols
5.4 Link-Layer
Addressing
5.5 Ethernet
5.6 Link-layer switches
5.7 PPP
5.8 Link virtualization:
MPLS
5.9 A day in the life of a
web request
5: DataLink Layer 5-120
Synthesis: a day in the life of a web request
journey down protocol stack complete!
application, transport, network, link
putting-it-all-together: synthesis!
goal: identify, review, understand protocols (at
all layers) involved in seemingly simple scenario:
requesting www page
scenario: student attaches laptop to campus
network, requests/receives www.google.com
5: DataLink Layer 5-121
A day in the life: scenario
DNS server
browser
Comcast network
68.80.0.0/13
school network
68.80.2.0/24
web page
web server
64.233.169.105
Google’s network
64.233.160.0/19
5: DataLink Layer 5-122
A day in the life… connecting to the Internet
connecting laptop needs to
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
UDP
IP
Eth
Phy
router
(runs DHCP)
get its own IP address,
addr of first-hop router,
addr of DNS server: use
DHCP
DHCP request encapsulated
in UDP, encapsulated in IP,
encapsulated in 802.1
Ethernet
Ethernet frame broadcast
(dest: FFFFFFFFFFFF) on LAN,
received at router running
DHCP server
Ethernet demux’ed to IP
demux’ed, UDP demux’ed to
DHCP
5: DataLink Layer 5-123
A day in the life… connecting to the Internet
DHCP server formulates
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
DHCP
DHCP
DHCP ACK containing
client’s IP address, IP
address of first-hop
router for client, name &
IP address of DNS server
encapsulation at DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
UDP
IP
Eth
Phy
router
(runs DHCP)
server, frame forwarded
(switch learning) through
LAN, demultiplexing at
client
DHCP client receives DHCP
ACK reply
Client now has IP address, knows name & addr of DNS
server, IP address of its first-hop router
5: DataLink Layer 5-124
A day in the life… ARP (before DNS, before HTTP)
DNS
DNS
DNS
ARP query
before sending HTTP request,
DNS
UDP
IP
ARP
Eth
Phy
ARP
ARP reply
Eth
Phy
need IP address of www.google.com:
DNS
DNS query created, encapsulated
in UDP, encapsulated in IP,
encasulated in Eth. In order to
send frame to router, need MAC
address of router interface: ARP
ARP query broadcast, received
by router, which replies with
ARP reply giving MAC address
of router interface
client now knows MAC address
of first hop router, so can now
send frame containing DNS
query
5: DataLink Layer 5-125
A day in the life… using DNS
DNS
DNS
DNS
DNS
DNS
DNS
DNS
UDP
IP
Eth
Phy
DNS
DNS
DNS
UDP
IP
Eth
Phy
DNS server
DNS
Comcast network
68.80.0.0/13
IP datagram forwarded from
IP datagram containing DNS
query forwarded via LAN
switch from client to 1st hop
router
campus network into comcast
network, routed (tables created
by RIP, OSPF, IS-IS and/or
BGP routing protocols) to DNS
server
demux’ed to DNS server
DNS server replies to
client with IP address of
www.google.com 5: DataLink Layer 5-126
A day in the life… TCP connection carrying HTTP
HTTP
HTTP
TCP
IP
Eth
Phy
SYNACK
SYN
SYNACK
SYN
SYNACK
SYN
to send HTTP request,
SYNACK
SYN
SYNACK
SYN
SYNACK
SYN
TCP
IP
Eth
Phy
web server
64.233.169.105
client first opens TCP
socket to web server
TCP SYN segment (step 1
in 3-way handshake) interdomain routed to web
server
web server responds with
TCP SYNACK (step 2 in 3way handshake)
TCP connection established!
5: DataLink Layer 5-127
A day in the life… HTTP request/reply
HTTP
HTTP
HTTP
TCP
IP
Eth
Phy
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally (!!!)
displayed
HTTP request sent into
TCP socket
HTTP
HTTP
HTTP
HTTP
HTTP
TCP
IP
Eth
Phy
web server
64.233.169.105
IP datagram containing
HTTP request routed to
www.google.com
web server responds with
HTTP reply (containing
web page)
IP datgram containing
HTTP reply routed back to
client
5: DataLink Layer 5-128
Chapter 5: Summary
principles behind data link layer services:
error detection, correction
sharing a broadcast channel: multiple access
link layer addressing
instantiation and implementation of various link
layer technologies
Ethernet
switched LANS, VLANs
PPP
virtualized networks as a link layer: MPLS
synthesis: a day in the life of a web request
5: DataLink Layer 5-129
Chapter 5: let’s take a breath
journey down protocol stack complete
(except PHY)
solid understanding of networking principles,
practice
….. could stop here …. but lots of interesting
topics!
wireless
multimedia
security
network management
5: DataLink Layer 5-130