MAC Protocols Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012
Jan 11, 2016
MAC Protocols
Computer Networking A Top Down Approach 6th edition Jim Kurose Keith RossAddison-WesleyMarch 2012
Link layer context
datagram transferred by different link protocols over different links eg Ethernet on first
link frame relay on intermediate links 80211 on last link
each link protocol provides different services eg 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
Link Layer Services framing link access
encapsulate datagram into frame adding header trailer
channel access if shared medium ldquoMACrdquo addresses used in frame headers to identify
source dest bull 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
bull Q why both link-level and end-end reliability
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
bull 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
Multiple Access Links and Protocols
Two types of ldquolinksrdquo 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 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
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 ie determine when node can transmit
communication about channel sharing must use channel itself no out-of-band channel for coordination
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send
at rate R2 when M nodes want to transmit each can
send at average rate RM3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can
take longer turns
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 134 have pkt slots
256 idle
1 3 4 1 3 4
6-slotframe
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 134 have pkt
frequency bands 256 idle fr
equ
ency
bands time
FDM cable
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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions)
Examples of random access MAC protocols slotted ALOHA ALOHA CSMA CSMACD CSMACA
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
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Link layer context
datagram transferred by different link protocols over different links eg Ethernet on first
link frame relay on intermediate links 80211 on last link
each link protocol provides different services eg 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
Link Layer Services framing link access
encapsulate datagram into frame adding header trailer
channel access if shared medium ldquoMACrdquo addresses used in frame headers to identify
source dest bull 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
bull Q why both link-level and end-end reliability
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
bull 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
Multiple Access Links and Protocols
Two types of ldquolinksrdquo 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 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
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 ie determine when node can transmit
communication about channel sharing must use channel itself no out-of-band channel for coordination
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send
at rate R2 when M nodes want to transmit each can
send at average rate RM3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can
take longer turns
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 134 have pkt slots
256 idle
1 3 4 1 3 4
6-slotframe
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 134 have pkt
frequency bands 256 idle fr
equ
ency
bands time
FDM cable
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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions)
Examples of random access MAC protocols slotted ALOHA ALOHA CSMA CSMACD CSMACA
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
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Link Layer Services framing link access
encapsulate datagram into frame adding header trailer
channel access if shared medium ldquoMACrdquo addresses used in frame headers to identify
source dest bull 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
bull Q why both link-level and end-end reliability
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
bull 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
Multiple Access Links and Protocols
Two types of ldquolinksrdquo 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 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
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 ie determine when node can transmit
communication about channel sharing must use channel itself no out-of-band channel for coordination
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send
at rate R2 when M nodes want to transmit each can
send at average rate RM3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can
take longer turns
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 134 have pkt slots
256 idle
1 3 4 1 3 4
6-slotframe
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 134 have pkt
frequency bands 256 idle fr
equ
ency
bands time
FDM cable
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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions)
Examples of random access MAC protocols slotted ALOHA ALOHA CSMA CSMACD CSMACA
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
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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
bull 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
Multiple Access Links and Protocols
Two types of ldquolinksrdquo 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 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
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 ie determine when node can transmit
communication about channel sharing must use channel itself no out-of-band channel for coordination
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send
at rate R2 when M nodes want to transmit each can
send at average rate RM3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can
take longer turns
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 134 have pkt slots
256 idle
1 3 4 1 3 4
6-slotframe
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 134 have pkt
frequency bands 256 idle fr
equ
ency
bands time
FDM cable
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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions)
Examples of random access MAC protocols slotted ALOHA ALOHA CSMA CSMACD CSMACA
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
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Multiple Access Links and Protocols
Two types of ldquolinksrdquo 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 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
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 ie determine when node can transmit
communication about channel sharing must use channel itself no out-of-band channel for coordination
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send
at rate R2 when M nodes want to transmit each can
send at average rate RM3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can
take longer turns
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 134 have pkt slots
256 idle
1 3 4 1 3 4
6-slotframe
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 134 have pkt
frequency bands 256 idle fr
equ
ency
bands time
FDM cable
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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions)
Examples of random access MAC protocols slotted ALOHA ALOHA CSMA CSMACD CSMACA
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
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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 ie determine when node can transmit
communication about channel sharing must use channel itself no out-of-band channel for coordination
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send
at rate R2 when M nodes want to transmit each can
send at average rate RM3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can
take longer turns
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 134 have pkt slots
256 idle
1 3 4 1 3 4
6-slotframe
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 134 have pkt
frequency bands 256 idle fr
equ
ency
bands time
FDM cable
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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions)
Examples of random access MAC protocols slotted ALOHA ALOHA CSMA CSMACD CSMACA
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
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send
at rate R2 when M nodes want to transmit each can
send at average rate RM3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can
take longer turns
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 134 have pkt slots
256 idle
1 3 4 1 3 4
6-slotframe
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 134 have pkt
frequency bands 256 idle fr
equ
ency
bands time
FDM cable
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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions)
Examples of random access MAC protocols slotted ALOHA ALOHA CSMA CSMACD CSMACA
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
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
MAC Protocols a taxonomy
Three broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slots frequency code)
allocate piece to node for exclusive use
Random Access channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can
take longer turns
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 134 have pkt slots
256 idle
1 3 4 1 3 4
6-slotframe
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 134 have pkt
frequency bands 256 idle fr
equ
ency
bands time
FDM cable
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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions)
Examples of random access MAC protocols slotted ALOHA ALOHA CSMA CSMACD CSMACA
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
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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 134 have pkt slots
256 idle
1 3 4 1 3 4
6-slotframe
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 134 have pkt
frequency bands 256 idle fr
equ
ency
bands time
FDM cable
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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions)
Examples of random access MAC protocols slotted ALOHA ALOHA CSMA CSMACD CSMACA
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
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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 134 have pkt
frequency bands 256 idle fr
equ
ency
bands time
FDM cable
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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions)
Examples of random access MAC protocols slotted ALOHA ALOHA CSMA CSMACD CSMACA
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
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions)
Examples of random access MAC protocols slotted ALOHA ALOHA CSMA CSMACD CSMACA
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
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Slotted Aloha efficiency
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 = 1e = 37
Efficiency long-run fraction of successful slots (many nodes all with many frames to send)
At best channelused for useful transmissions 37of time
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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-
1t0+1]
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Pure Aloha efficiencyP(success by given node) = P(node transmits)
P(no other node transmits in [p0-1p0]
P(no other node transmits in [p0-1p0]
= p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
hellip choosing optimum p and then letting n -gt infty
= 1(2e) = 18
even worse than slotted Aloha
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Pure ALOHA
Throughput versus offered traffic for ALOHA systems
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
human analogy donrsquot interrupt others
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
CSMA collisions
collisions can still occurpropagation delay means two nodes may not heareach otherrsquos transmissioncollisionentire packet transmission time wasted
spatial layout of nodes
noterole of distance amp propagation delay in determining collision probability
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Nonpersistent CSMA
1 If medium is idle transmit otherwise go to 22 If medium is busy wait amount of time drawn
from probability distribution (retransmission delay) and repeat 1
Random delays reduces probability of collisions Consider two stations become ready to transmit at
same time bull While another transmission is in progress
If both stations delay same time before retrying both will attempt to transmit at same time
Capacity is wasted because medium will remain idle following end of transmission Even if one or more stations waiting
Nonpersistent stations deferential
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
1-persistent CSMA
To avoid idle channel time 1-persistent protocol used
Station wishing to transmit listens and obeys following
1 If medium idle transmit otherwise go to step 2
2 If medium busy listen until idle then transmit immediately
1-persistent stations selfish If two or more stations waiting collision
guaranteed Gets sorted out after collision
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
P-persistent CSMA
Compromise that attempts to reduce collisions Like nonpersistent
And reduce idle time Like1-persistent
Rules1 If medium idle transmit with probability p and
delay one time unit with probability (1 ndash p) Time unit typically maximum propagation delay
2 If medium busy listen until idle and repeat step 13 If transmission is delayed one time unit repeat
step 1 What is an effective value of p
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Value of p
Avoid instability under heavy load n stations waiting to send End of transmission expected number of stations
attempting to transmit is number of stations ready times probability of transmitting n x p
If n x p gt 1 on average there will be a collision Repeated attempts to transmit almost guaranteeing more
collisions Retries compete with new transmissions Eventually all stations trying to send
Continuous collisions zero throughput So nxp lt 1 for expected peaks of n If heavy load expected p small However as p made smaller stations wait longer At low loads this gives very long delays
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Persistent and Nonpersistent CSMA
Comparison of the channel utilization versus load for various random access protocols
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Which Persistence Algorithm
IEEE 8023 uses 1-persistent Both nonpersistent and p-persistent have
performance problems 1-persistent (p = 1) seems more unstable
than p-persistent Greed of the stations But wasted time due to collisions is short (if
frames long relative to propagation delay With random backoff unlikely to collide on
next tries To ensure backoff maintains stability IEEE
8023 and Ethernet use binary exponential backoff
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
CSMACD (Collision Detection)CSMACD 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
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
CSMACD collision detection
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
CSMACD (Collision Detection) With CSMA collision occupies medium
for duration of transmission Stations listen whilst transmitting
1 If medium idle transmit otherwise step 2
2 If busy listen for idle then transmit3 If collision detected jam then cease
transmission4 After jam wait random time then start
from step 1
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
ldquoTaking Turnsrdquo MAC protocolschannel partitioning MAC protocols
share channel efficiently and fairly at high load
inefficient at low load delay in channel access 1N 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
ldquotaking turnsrdquo protocolslook for best of both worlds
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodes to transmit in turn
typically used with ldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
ldquoTaking Turnsrdquo MAC protocolsToken passing control token
passed from one node to next sequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire)
hard in others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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)bull burned in NIC ROM also sometimes software
settable
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
ARP Address Resolution Protocol
Each IP node (host router) on LAN has ARP table
ARP table IPMAC address mappings for some LAN nodes
lt IP address MAC address TTLgt
TTL (Time To Live) time after which address mapping will be forgotten (typically 20 min)
Question how to determineMAC address of Bknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
ARP protocol Same LAN (network) A wants to send datagram
to B and Brsquos MAC address not in Arsquos ARP table
A broadcasts ARP query packet containing Bs IP address dest MAC address = FF-
FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs) MAC address frame sent to Arsquos 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 ldquoplug-and-playrdquo nodes create their ARP
tables without intervention from net administrator
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IP network (LAN)
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
A creates IP datagram with source A destination B A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees its
destined to B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220
111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Ethernet History
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s Roots in Aloha packet-radio network Standardized by Xerox DEC and Intel in 1978 LAN standards define MAC and physical layer connectivity
bull IEEE 8023 (CSMACD - Ethernet) standard ndash originally 2Mbpsbull IEEE 8023u standard for 100Mbps Ethernetbull IEEE 8023z standard for 1000Mbps Ethernet
CSMACD Ethernetrsquos Media Access Control (MAC) policy CS = carrier sense
bull Send only if medium is idle MA = multiple access CD = collision detection
bull Stop sending immediately if collision is detected
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Ethernet
ldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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 ldquospokerdquo runs a (separate) Ethernet protocol
(nodes do not collide with each other)
switch
bus coaxial cable star
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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 eg Novell IPX AppleTalk)
CRC checked at receiver if error is detected frame is dropped
Destaddr
64 48 32
CRCPreamble Srcaddr Type Body
1648
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Ethernet Frame Structure (more)
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Ethernet Unreliable connectionless connectionless No handshaking between sending
and receiving NICs unreliable receiving NIC doesnrsquot 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 uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Ethernet uses CSMACD
No slots adapter doesnrsquot
transmit if it senses that some other adapter is transmitting that is carrier sense
transmitting adapter aborts when it senses that another adapter is transmitting that is collision detection
Before attempting a retransmission adapter waits a random time that is random access
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Ethernet CSMACD algorithm
1 NIC receives datagram from network layer creates frame
2 If NIC senses channel idle starts frame transmission If NIC senses channel busy waits until channel idle then transmits
3 If NIC transmits entire frame without detecting another transmission NIC is done with frame
4 If NIC detects another transmission while transmitting aborts and sends jam signal
5 After aborting NIC enters exponential backoff after mth collision NIC chooses K at random from
012hellip2m-1 NIC waits K512 bit times returns to Step 2
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Ethernetrsquos CSMACD (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
Exponential Backoff Goal adapt retransmission
attempts to estimated current load heavy load random
wait will be longer first collision choose K
from 01 delay is K 512 bit transmission times
after second collision choose K from 0123hellip
after ten collisions choose K from 01234hellip1023
Seeinteract with Javaapplet on AWL Web sitehighly recommended
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Exponential Backoff
If a collision is detected delay and try again Delay time is selected using binary exponential
backoff 1st time choose K from 01 then delay = K 512us 2nd time choose K from 0123 then delay = K 512us nth time delay = K x 512us for K=02n ndash 1
bull Note max value for k = 1023 give up after several tries (usually 16)
bull Report transmit error to host
If delay were not random then there is a chance that sources would retransmit in lock step
Why not just choose from small set for K This works fine for a small number of hosts Large number of nodes would result in more collisions
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
State Diagram for CSMACD
Packet
Sense Carrier
Discard Packet
Send Detect Collision
Jam channel b=CalcBackoff()
wait(b)attempts++
No
Yes
attempts lt 16
attempts == 16
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Collisions
A B
A B
Collisions are caused when two adaptors transmit at the same time (adaptors sense collision based on voltage differences)
bull Both found line to be idlebull Both had been waiting to for a busy line to become idle
A starts attime 0
Message almost there at time T whenB starts ndash collision
How can we be sure A knows about the collision
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Collision Detection How can A know that a collision has taken place
There must be a mechanism to insure retransmission on collision
Arsquos message reaches B at time T Brsquos message reaches A at time 2T So A must still be transmitting at 2T
IEEE 8023 specifies max value of 2T to be 512us This relates to maximum distance of 2500m between hosts At 10Mbps it takes 01us to transmit one bit so 512 bits
(64B) take 512us to send So Ethernet frames must be at least 64B long
bull 14B header 46B data 4B CRCbull Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision 48 bit signal
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Collision Detection contd
A B
A B
A B
time = 0
time = T
time = 2T
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
MAC Algorithm from the Receiver Side Senders handle all access control Receivers simply read frames with
acceptable address Address to host Address to broadcast Address to multicast to which host belongs All frames if host is in promiscuous mode
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
CSMACD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
efficiency goes to 1 as tprop goes to 0 as ttrans goes to infinity
better performance than ALOHA and simple cheap decentralized
transprop ttefficiency
51
1
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Ethernet Performance
Efficiency of Ethernet at 10 Mbps with 512-bit slot times
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
8023 Ethernet Standards Link amp 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
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twisterpair) physical layer
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Ethernet Technologies 10Base2 10 10Mbps 2 under 185 (~200) meters cable length Thin coaxial cable in a bus topology
Repeaters used to connect multiple segments Repeater repeats bits it hears on one interface to its other interfaces physical layer device only
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Ethernet Cabling
The most common kinds of Ethernet cabling
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Physical Layer Configurations for 8023 Physical layer configurations are specified in three parts Data rate (10 100 1000)
10 100 1000Mbps Signaling method (base broad)
Basebandbull Digital signaling
Broadbandbull Analog signaling
Cabling (2 5 T F S L) 5 - Thick coax (original Ethernet cabling) F ndash Optical fiber S ndash Short wave laser over multimode fiber L ndash Long wave laser over single mode fiber
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Experiences with Ethernet
Ethernets work best under light loads Utilization over 30 is considered heavy
bull Network capacity is wasted by collisions
Most networks are limited to about 200 hosts Specification allows for up to 1024
Most networks are much shorter 5 to 10 microsecond RTT
Transport level flow control helps reduce load (number of back to back packets)
Ethernet is inexpensive fast and easy to administer
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Ethernet Problems
Ethernetrsquos peak utilization is pretty low (like Aloha)
Peak throughput worst with More hosts
bull More collisions needed to identify single sender Smaller packet sizes
bull More frequent arbitration Longer links
bull Collisions take longer to observe more wasted bandwidth Efficiency is improved by avoiding these conditions
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
IEEE 8022 Logical Link Control
(a) Position of LLC (b) Protocol formats
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Inter - Networking
Hubs Bridges Switches Routers
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Hubshellip physical-layer (ldquodumbrdquo) 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 CSMACD at hub host NICs detect collisions
twisted pair
hub
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Switch link-layer device smarter than hubs take active
role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links when frame is to be forwarded on segment uses CSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Switch allows multiple simultaneous transmissions
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-Arsquo and B-
to-Brsquo simultaneously without collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Switch Table
Q how does switch know that Arsquo reachable via interface 4 Brsquo reachable via interface 5
A each switch has a switch table each entry (MAC address of host interface
to reach host time stamp)
looks like a routing table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 23
45
6
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Switch self-learning
switch learns which hosts can be reached through which interfaces when frame received
switch ldquolearnsrdquo location of sender incoming LAN segment
records senderlocation pair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 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
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Self-learning forwarding example
A
Arsquo
B
Brsquo
C
Crsquo
1 23
45
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo
frame destination unknownflood
Arsquo A
destination A location known
Arsquo 4 60
selective send
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Interconnecting switches
switches can be connected together
A
B
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)
S1
C D
E
FS2
S4
S3
H
I
G
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1 S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
1
2
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Switch traffic isolation switch installation breaks subnet into LAN
segments switch filters packets
same-LAN-segment frames not usually forwarded onto other LAN segments
segments become separate collision domains
hub hub hub
switch
collision domain collision domain
collision domain
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Switches dedicated access Switch with many
interfaces Hosts have direct
connection to switch No collisions full duplex
Switching A-to-Arsquo and B-to-Brsquo simultaneously no collisions
switch
A
Arsquo
B
Brsquo
C
Crsquo
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
More on Switches
cut-through switching frame forwarded from input to output port without first collecting entire frameslight reduction in latency
combinations of shareddedicated 101001000 Mbps interfaces
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
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
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Repeaters Hubs Bridges Switches Routers and Gateways
(a) Which device is in which layer(b) Frames packets and headers
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Repeaters Hubs Bridges Switches Routers and Gateways (2)
(a) A hub (b) A bridge (c) a switch
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Router Architecture Overview
Two key router functions run routing algorithmsprotocol (RIP OSPF BGP) forwarding datagrams from incoming to outgoing link
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Input Port Functions
Decentralized switching given datagram dest lookup output
port using forwarding table in input port memory
goal complete input port processing at lsquoline speedrsquo
queuing if datagrams arrive faster than forwarding rate into switch fabric
Physical layerbit-level reception
Data link layereg Ethernetsee chapter 5
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Three types of switching fabrics
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Input Port Queuing
Fabric slower than input ports combined -gt queueing may occur at input queues
Head-of-the-Line (HOL) blocking queued datagram at front of queue prevents others in queue from moving forward
queueing delay and loss due to input buffer overflow
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Scheduling Policies scheduling choose next packet to send on link FIFO (first in first out) scheduling send in order of arrival to queue
real-world example discard policy if packet arrives to full queue who to discard
bull Tail drop drop arriving packetbull priority dropremove on priority basisbull random dropremove randomly
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Scheduling Policies morePriority scheduling transmit highest priority queued
packet multiple classes with different priorities
class may depend on marking or other header info eg IP sourcedest port numbers etc
Real world example
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Scheduling Policies still moreround robin scheduling multiple classes cyclically scan class queues serving one from each class (if available) real world example
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Scheduling Policies still moreWeighted Fair Queuing generalized Round Robin each class gets weighted amount of
service in each cycle real-world example
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Comparison
hubs routers switches
traffi c isolation
no yes yes
plug amp play yes no yes
optimal routing
no yes no
cut through
yes no yes
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices
Summary MAC Protocols a taxonomy MAC Addresses and ARP Ethernet CSMACD Inter-networking devices