Giuseppe Bianchi Ethernet Carrier Sense Multiple Access with Collision Detection.
-
date post
18-Dec-2015 -
Category
Documents
-
view
223 -
download
3
Transcript of Giuseppe Bianchi Ethernet Carrier Sense Multiple Access with Collision Detection.
Giuseppe Bianchi
EthernetEthernet
Carrier Sense Multiple AccessCarrier Sense Multiple Accesswith Collision Detectionwith Collision Detection
Giuseppe Bianchi
Ethernet AncestorsEthernet Ancestors
Late 1960: ALOHA networkNorman Abramson, University of HawaiiApplication: radio network among islands
Distributed, uncoordinated network!First random access mechanism
(Pure aloha / Slotted aloha)
Giuseppe Bianchi
Birth of EthernetBirth of EthernetMay 22, 1973: Ethernet memo
Bob Metcalfe (Xerox Palo Alto Research Center)Carrier Sense Multiple Access with Collision
Detection and expo backoff3 mbps speed
US Patent 4.063.220“Multipoint Data CommunicationSystem with Collision Detection”end 1977
Giuseppe Bianchi
On the birth of EthernetOn the birth of Ethernet [quoting from Ethernet – The definitive guide”]: In late 1972, Metcalfe and his Xerox PARC colleagues
developed the first experimental Ethernet system to interconnect the Xerox Alto, a personal workstation with a graphical user interface. The experimental Ethernet was used to link Altos to one another, and to servers and laser printers. The signal clock for the experimental Ethernet interface was derived from the Alto's system clock, which resulted in a data transmission rate on the experimental Ethernet of 2.94 Mbps. Metcalfe's first experimental network was called the Alto Aloha Network. In 1973 Metcalfe changed the name to "Ethernet," to make it clear that the system could support any computer--not just Altos--and to point out that his new network mechanisms had evolved well beyond the Aloha system. He chose to base the name on the word "ether" as a way of describing an essential feature of the system: the physical medium (i.e., a cable) carries bits to all stations, much the same way that the old "luminiferous ether" was once thought to propagate electromagnetic waves through space. Thus, Ethernet was born.
Giuseppe Bianchi
Ethernet Standardization: Ethernet Standardization: from DIX to 802.3from DIX to 802.3
1980: DIX Ethernet StandardDIX = Digital-Intel-Xerox vendor consortium Interoperable products from the three founding companies
1982: Xerox relinquish “Ethernet” trademark
1985: IEEE 802.3Ethernet becomes an IEEE 802 standard
Minor modifications vs DIX standardPath towards worldwide interoperability
Speed: 10 mbpsMedium:
Thick coaxial, 500 mt max cable (10BASE5)Thin coaxial, 185mt max cable (10BASE2)Network extension via repeaters (up to a max limit)
Ethernet standard: the world’s FIRST open, multi-vendor standard!Quoting Metcalfe: “the invention of Ethernet as an open, non-proprietary,
industry-standard local network was perhaps even more significantthan the invention of Ethernet technology itself”
Thick-RG213
Thin-RG58
Giuseppe Bianchi
A note on Ethernet terminologyA note on Ethernet terminology
speed Signal method medium
Speed10, 100, 1000, 10G
Signal methodBase, Broad
Broad = RF modulated on coax» only one case: 10BROAD36, now obsolete
MediumOld notation: 2,5 = 200/500 mt (thin/thick coax)More recent notation: T, Tx, T4, T2, FX, X, CX, SX, LX
Depends on which specific twisted pair category & fibre category;Different labels (e.g. T, TX, T4, T2) account for different encoding
details
EXAMPLE: 100Base-T, 1000Base-LX, …
Giuseppe Bianchi
FDCBA E
FDCB EA
wrong!wrong!
Multiple Access shared transmission medium thick / thin coaxial cable
Historical Ethernet topology: Historical Ethernet topology: busbus
Giuseppe Bianchi
Ethernet transceiver Ethernet transceiver (10base-5)(10base-5)
Giuseppe Bianchi
Ethernet transceiver (10Base-2)Ethernet transceiver (10Base-2)
Giuseppe Bianchi
Breakthrough idea (1990)Breakthrough idea (1990)
FDCB EA
FDCB EA
Collapsed BackboneFrom BusTo Star topology
Multi-PortRepeater(HUB)
Giuseppe Bianchi
Twisted Pair revolutionTwisted Pair revolution
1990: 802.3i 10BASE-T twisted pair Invented by SynOptics Communications
Reuse structured cabling system standardsOvercomes management and installation
problems from coaxial cablingEthernet market takes-off!!
Alternatives UTP (Unshielded) FTP (Foiled)
1 shield for all the cable STP (Shielded):
One shield per pair
Giuseppe Bianchi
Ethernet RJ45 connectorEthernet RJ45 connector
Giuseppe Bianchi
Signal transmission & reception Signal transmission & reception on twisted pairon twisted pair
Pair 3 used for transmission Pair 2 used for reception Pairs 1 & 4 unused
In 10Base-T & 100Base-T(x) Ethernet Used in 1000Base-T
Giuseppe Bianchi
Straight & crossoverStraight & crossover RJ45 meant to connect PC to Hub What About PC to PC or Hub to Hub connection?
Giuseppe Bianchi
Ethernet FrameEthernet Frame
Preamble: For bit-level and frame-level synchronization
Destination address: Who’s this frame for (who is the intended receiver) Hardware address (48 bits address of the network interface card)
Source address: Who’s this frame from (who is the transmitter) Hardware address (48 bits address of the network interface card)
Type: Which type of information is carried by the frame (which upper layer protocol)
Frame Check Sequence Verifies if the frame has been received properly (not corrupted)
preamble Ethernet header DATA FCS8 bytes 14 bytes 46-1500 bytes 4 bytes
Source address TypeDestination address
6 bytes 6 bytes 2 bytes
64-1518 bytes
Giuseppe Bianchi
Transmission of bitsTransmission of bitsIdea:
send data + clock in the same signal!10 mbps Manchester encoding
1 1 1 0 00
When a frame is being transmitted, a signal level transition occurs every 0,2 s Allows to detect when transmissions are NOT occurring on the channel (IDLE channel)
Giuseppe Bianchi
Preamble (10 mbps)Preamble (10 mbps)8 bytes
7 bytes preamble 7 x (10101010) square wave @ 5 MHz for clock recovery
Last byte: SFD (Start Frame Delimiter) 1 x (10101011) signals the start of the frame
1 0 1 0 1 0 1 1SFD
bit sequence
Manchester Encoding
Giuseppe Bianchi
48 bit addresses48 bit addresses Typically referred to as
Interface addressHardware addressMAC address
First bit:0 = physical address of an interface
Unicast address1 = group address
Second bit:0 = globally administered address
Assigned by the manifacturer1 = locally administered address
Can be configured through driver
First 24 bits: OUI(Organization Unique Identifier)(unique for each vendor)
Typically written in hexe.g.: F0-11-00-4F-A2-1C
Each byte transmitted from LSB to MSB
0000.1111.1000.1000.0000.0000.1111.0010.0100.0101.1000.0011
mcast addresses: start with 1 (first octet LSB!)
Why destination first? Station who does not match dest may ignore rest of frame!
Giuseppe Bianchi
ExamplesExamples
Individual unicast: xy-xx-xx-xx-xx-xx y multiple of 4802.3 & 802.4: transmitted from LSB to MSB802.5 & FDDI: transmitted from MSB to LSB
Giuseppe Bianchi
Multiple Access: Ethernet vs Multiple Access: Ethernet vs AlohaAloha
Aloha:Transmit without
listeningRegardless of
channel activity
Transmit all the frame
Ethernet:Listen before
transmittingTransmit only if
channel idle
Listen while transmitting, and stop transmission if collision is detected
Giuseppe Bianchi
Ethernet vs Aloha: listen before Ethernet vs Aloha: listen before txtx
A
BALOHA
A
BETHERNET
Listen before transmit
Giuseppe Bianchi
Ethernet vs Aloha: Ethernet vs Aloha: collision handlingcollision handling
A
BALOHA
A
BETHERNET
Detect collision; enforce collision with JAM sequence; end transmission
Collision lasts until the end of the transmitted frames; waste of channel capacity
Giuseppe Bianchi
Carrier Sense Multiple Carrier Sense Multiple AccessAccess
1. Listen before talking
1. NIC ready totransmit a frame
2. Listen for at least an Inter Frame Spacing(channel must beidle meanwhile)
3. Transmit frame
Ethernet Notation = Inter Packet Gap (IPG)802.3 Notation = Inter Frame Spacing (IFS)Minimum: 96 bits (@ 10 Mbps = 9.6 s)
IFS
Giuseppe Bianchi
Carrier Sense Multiple Carrier Sense Multiple AccessAccess
2. If channel detected busy: defer
2. Listen
4. Defer
1. Frameready 3. Busy
Detect5. Listen for ≥ IFS
(similar defer situation if channel immediately busy)
Giuseppe Bianchi
Collision DetectionCollision Detection
3. Listen while talking
If collision detected:Continue to transmit other 32 bits of signal
(Collision Enforcement Jam Signal)Collision detection: media-dependent
On coax:Monitor average DC voltageWhen more than 1 station transmits, voltage gets greater than
given threshold
On point-to-point fiber or twisted pair links:Collision detected by the simultaneous occurrence of activity on
both transmit and receive paths
Giuseppe Bianchi
Why collisions occur?Why collisions occur?distance d (m)
prop delay d/200 s
Speed of EM signal in cable: ~200.000 km/s 200m/s
IFS
time
IFSStart tx
Detect collisionJam sequence
Start tx
Detect coll.Jam seq.
Collision occurs if stations access the channelin instants of time which differ for less than their
mutual propagation delay
Giuseppe Bianchi
When a frame is “too When a frame is “too short”…short”…
prop delay d/200 sIFS
time
IFSStart tx
Detect collision
Start tx
Can’tdetect collision!!
Thinks Tx was OK
TransmittingStation
Destination station
Interferer
Collision!
Giuseppe Bianchi
Network diameterNetwork diameter
Essential condition: a station MUST be able to
detect a collision Shortest possible
frame:6+6+2+46+4 = 64 bytes =
= 512 bits (excl preamble)
Condition on network diameter: a collision MUST be detected
on shortest possible frameBound on maximum RTT
Stations placed at opposite network edges
RTT=2 x prop must be lower than 512 bitstx time
64 bytes512 bitsframe
@ 10 Mbps: 512/10 [s] > 2d [m] / 200 [m/s] d < 5120 [m]@ 100 Mbps: 512/100 [s] > 2d [m] / 200 [m/s] d < 512 [m]NETWORK DIAMETER REDUCES AS SPEED INCREASES!!
Giuseppe Bianchi
Network diameter in Network diameter in practicepractice
Max RTT lower than 51,2 s 802.3 standard max RTT = 46,38 s
Max link length Thick coax up to 500 mt Fiber link betw. repeaters up to 2 km Transceiver cable up to 50 mt
Topological limits 5-4-3 rule: between any two nodes on
the network, there can only be a maximum of five segmentsconnected through four repeatersonly three of the five segments may
contain user connections. Repeaters add delay!
Must account for repeater delaysMin_TX_time >
2 x d/200 + N x Repeater_delay
MAX network diameter for 10Base-5: 2800 mt
Giuseppe Bianchi
The need for random backoffThe need for random backoff
Retransmission after collision must occur at different instant of times Otherwise collision will repeat forever
Deterministic rule? Hard, for a fully distributed mechanism
Idea: generate a random time after a collisionDifferent stations will extract (sooner or later) different
backoff times
A
B
IFS
IFS
IFS
IFS
Giuseppe Bianchi
Rationale for backoff “slots”Rationale for backoff “slots”
Max RTT delay: < 51,2 s
Detect coll & Jam
Retransmit immediately(neglect IFS for simplicity)
Detect coll & Jam
Schedule RetransmAfter random time T…… busy channel: defer!
T greater or equal than 51,2 us NO COLLISION with another STA that has immediately rtx-edT greater or equal than N x 51,2 us NO COLLISION with another STA that rtx-ed at (N-1) x 51,2
Giuseppe Bianchi
Backoff slot-timeBackoff slot-time Set to 512 bits
As minimum frame size As maximum RTT
guarantees that 1) A station transmitting at the beginning of the previous
backoff slot will be ALWAYS detected;2) A station transmitting for more than 512 bytes will acquire
for sure the channelo No “late collision” possibleo If they occur misconfiguration or hardware failures
Ethernet Backoff rule: extract a DISCRETE value B, and schedule transmission at timeB x 51,2 us
First 64 bytes
Collision possible
Remaining frame bytes (up to 1518 minus 64)
Collision impossible(Late Collision)
Giuseppe Bianchi
Ethernet (truncated) Ethernet (truncated) Exponential backoff rulesExponential backoff rules
Once a frame collides:End transmission with Jam signalLet N be the retry index
N=0 for a new frame; N=1 for first rtx; N=2 for second rtx, etcAbort transmission after N=16 unsuccessful retriesLet K=min(10,N)Extract a random integer number R in the range:
0 ≤ R < 2K
Example: if K=6, extract R in (0, 31)Max range: when K=10 R in (0, 1023)
Schedule retransmission at time:Backoff = R x 51,2 us (10 mbps case)
» Where 51,2 us = tx time of 512 bits @ 10 Mbps» 100 Mbps Ethernet: slot-time = 5,12 us
Retransmit at given time only if channel idle (otherwise defer until channel becomes idle for an IFS)
Giuseppe Bianchi
Ethernet (R)EvolutionEthernet (R)Evolution
From multiple access to From multiple access to point-to-point collision-free networkspoint-to-point collision-free networks
Giuseppe Bianchi
Ethernet RepeatersEthernet Repeaters Physical layer device 3R functions
Re-ShapingRestores the proper signal waveform
Re-TimingRestores the proper impulse duration (clock recovery)
Re-TransmittingRetransmits signal on “other” portRegardless of who’s the signal intended for
R ABCD
A sends frame to BC & D receive signal, too
Giuseppe Bianchi
Repeaters & collisionsRepeaters & collisionsRetransmits collisions, too
Actually, regenerates (extending them to 96 bits) 010101… jam sequences
And generates collisions when signal is received simultaneously on both ends
R ABCD
A sends frame to BC sends frame to D Repeater generates collision (Jam signal) on both links
Giuseppe Bianchi
Multi-port repeater (hub)Multi-port repeater (hub)
Signal regenerated & retransmitted on all repeater ports except the port from which the signal has arrived
R
Giuseppe Bianchi
Multiport repeaters Multiport repeaters star star topologytopology
Coax & transceivers no more necessary!
1990: emergence of 10Base-T technologyTransmission
medium = twisted pair point-to-point link
Hub distributes signal across all stations
Giuseppe Bianchi
Hub-based star topologies:Hub-based star topologies:Why collision detection?Why collision detection?
How collision is detected?How collision is detected?
HUBTX
RX
RX
TX
TX
TX RX
A
B
C
D
A&B detect collision by listening on RX
RX
A CB D
Signal-level collision occurs on C&D RX links
Giuseppe Bianchi
Ethernet bridgeEthernet bridge Data-link layer device Signal retransmission takes into account destination
address
B ABCD
A sends frame to B; Bridge recognizes that station B is on the same side the signal has been received and DOES NOT retransmit
B ABCD
A sends frame to D; Bridge recognizes that station D is on the other side: retransmits
Giuseppe Bianchi
Multiport bridge Multiport bridge Switch Switch
HUBbroadcasts signal on all linksLogically behaves as a busOnly one tx at a time
SWITCH Repeats signal on specifically
addressed linkBridging functionMany tx-rx pairs at a time
More bw!
FDCBA E
HUBHUB
FDCBA E
SWITCHSWITCH
Giuseppe Bianchi
Switches & collisionsSwitches & collisions
A sends frame to C; D sends frame to E No collision
Simultaneous transmission occurs
FDCBA E
SWITCHSWITCH
FDCBA E
SWITCHSWITCH
A sends frame to C; E sends frame to C
Switch understand that two frames are destined to a same link
“Collision” solved by buffering one frame & transmitting the other
Giuseppe Bianchi
Broadcast domain vs collision Broadcast domain vs collision domaindomain
SwitchHUB
HUB
Without Switching
LANCollisionDomain
Broadcast Domain
With switching
Switch
CollisionDomain
CollisionDomain
CollisionDomain
CollisionDomain
Broadcast Domain
Giuseppe Bianchi
Full-duplexingFull-duplexing Switched star network: only possible collision is on a same
link When both station and switch simultaneously start transmission
But rx and tx are carried out on different pairs collision is fictitious detected by the network interface card (activity sensed on Rx pair while NIC is transmitting) But it is not a real collision between the signals!
it would be with a central hub; it is not with central switch
1997: full duplex standard (802.3x) Simultaneously transmit and receive (2x speed increase) In a switched star network collision is no more possible!! CSMA/CD no more necessary Network diameter no more a concern
Arbitrary increase of the link speed is now possible!
1998-1999: Gigabit Ethernet 2002 (july): 10 GigaEthernet Ethernet in the metropolitan area (e.g. Fastweb, Telecom IT) Future: 40 Giga-Ethernet, 160 Giga-Ethernet
Giuseppe Bianchi
X A
B
C
D
BufferingBuffering
A B A
A
A
A
B
D
DD
C
C
Giuseppe Bianchi
X A
B
C
D
bufferingbuffering
A B A
A
A
A
B
D
DD
C CC
Giuseppe Bianchi
X A
B
C
D
bufferingbuffering
A
A
A
A B
A B
D
DD
C C
Giuseppe Bianchi
X A
B
C
D
bufferingbuffering
AA
A
A B
A B
D
DD
C C
Giuseppe Bianchi
X A
B
C
D
bufferingbuffering
A
AAA B
A B
D
DD
C C
Giuseppe Bianchi
BuffersBuffersSolve output port contention
1 packet transmittedOther stored in waiting line
May have finite capacityMax number of stored bytes or packetsIntroduce loss!!
Packet arriving when buffer full gets lost Introduce latency!!
Latency is NOT deterministic, but statistical
QUEUEING THEORY: we need a mathematical tool to quantitatively evaluate loss/delay introduced by networking devices
…. and much more
Giuseppe Bianchi
Bridge/Switch operationBridge/Switch operation
PADPreamble +
SFDData
LEN ortype
FCSDEST SRC
lookup Store & Forward: read frame (memorize into onboard buffer)Check CRC
Discard frame if » CRC fails» too short (<64 bytes, “runt”) » too long (>1518 bytes, “giant”)
Look up destination into forwarding (switching) table
Forward packet to outgoing port Cut-through
Just read first few bytes (until destination address)
Don’t do any checkLook up forwarding table and select destination forward frame while receiving it
Giuseppe Bianchi
Store & forward vs cut-through Store & forward vs cut-through latencylatency
1518 bytes frame
Assume full 8 bytes preamble receivedS&F @ 10 mbps ≥ 1526*8/10 s = 1222 sC-T @ 10 mbps ≥ 14*8/10 s = 11.2 s
S&F @ 100 mbps ≥ 122 sC-T @ 100 mbps ≥ 1.1 s
Not a real problem at high rate
Giuseppe Bianchi
S&F vs CT: Fragment-free modeS&F vs CT: Fragment-free mode
Compromise between cut-through and store-and-forwardReads first 64 bytes
includes the frame (+LLC) headerThen starts send packet
before the entire data field is read and the FCS is checked. Advantages:
Verify reliability of header information (addresses, frame type, LLC header information)
Detects & discards runts & collisions
PADPreamble +
SFDData
LEN ortype
FCSDEST SRC
Cut-through Store & ForwardFragment-free
Giuseppe Bianchi
Further issues with C-TFurther issues with C-TCut-through possible only if source
and destination ports have same bit rateSymmetric switching.
Different rates buffering necessary S&F only Asymmetric switching
Asymmetric switching typical in client/server environmentsMore bandwidth dedicated to the server port to
prevent a bottleneck
Giuseppe Bianchi
Forwarding databaseForwarding database
Mapping between MAC addresses and ports Ports: module/port-#
Static entries: Configured by sysadmin Permanent database
Dinamic entries: “Learned” Expire after ageing process
reaches upper valueE.g. 300 secondsconfigurable
Dest MAC Address Ports Age----------------- ----- ---00-00-08-11-aa-01 1/1 100-b0-8d-13-1a-f1 1/7 4a8-11-06-00-0b-b4 2/3 008-01-00-00-a7-64 2/4 100-ff-08-10-44-01 2/6 5
Giuseppe Bianchi
Address Learning /1Address Learning /1
STA 100-11-22-33-44-01
STA 208-55-66-77-88-02
STA 308-aa-bb-cc-dd-03
00-11-22-33-44-01 P108-55-66-77-88-02 P108-aa-bb-cc-dd-03 P208-01-02-f1-f2-04 P3
P1
P2
STA 408-01-02-f1-f2-04
Frame arrives at port XHence it has come
from LAN attached to port X
SRC address used to update forwarding DBSRC MAC Port
P3
Giuseppe Bianchi
Address Learning /2Address Learning /2
STA 100-11-22-33-44-01
STA 208-55-66-77-88-02
STA 308-aa-bb-cc-dd-03
00-11-22-33-44-01 P1 508-55-66-77-88-02 P1 708-aa-bb-cc-dd-03 P2 008-01-02-f1-f2-04 P3 608-00-0f-cc-cc-a2 P1 0
P1
P2
STA 408-01-02-f1-f2-04
Incoming frame whose SRCaddr not in forwarding DB:Create new entryAgeing-time=0
Incoming frame whose SRCaddr already in forwarding DB:Refresh ageing-timeAgeint-time=0
P3
08-00-0f-cc-cc-a2
Giuseppe Bianchi
Address Learning /3Address Learning /3
STA 100-11-22-33-44-01
STA 208-55-66-77-88-02
STA 308-aa-bb-cc-dd-03
00-11-22-33-44-01 P1 508-55-66-77-88-02 P1 708-aa-bb-cc-dd-03 P2 408-01-02-f1-f2-04 P3 608-00-0f-cc-cc-a2 P1 208-00-0f-cc-cc-a2 P2 0
P1
P2
STA 408-01-02-f1-f2-04
Incoming frame whose SRCaddr already in forwarding DB but associated to different port:Update associated portRefresh ageing time
P3
08-00-0f-cc-cc-a2
Giuseppe Bianchi
Frame forwardingFrame forwarding Very first operation performed by the bridge/switch
upon frame receptionBefore learning
PADPreamble +
SFDData
LEN ortype
FCSDEST SRC
1. Frame OK? CRC check Only for Store & Forward
2. Incoming port enabled (in forwarding state)? Switch port may be disabled
e.g. to isolate malfunctioning stations/LANs3. If DEST is NOT in forwarding DB
broadcast frame (flooding) forward frame to all ports EXCEPT incoming one
4. If DEST is in forwarding DB Check whether DEST port = incoming port
If YES, discard packet (dest on same LAN of src) If NO, forwards packet to output port
» Unless output port blocked
Port X
Port Y
Flooding occurs also for broadcast frames (obvious) and for multicast frames (unless more sophisticated policies are set)
Giuseppe Bianchi
Example / 1Example / 1start-upstart-up
P1
P2
P3
Initial state: forwarding DB = empty
Giuseppe Bianchi
Example / 2Example / 2STA 1 STA 1 STA 2 STA 2
00-11-22-33-44-01 P1 0
P1
P2
P3
STA 1 transmits frame to STA 2Flooding occurs (STA2 not registered in
DB)Bridge learns STA1=P1
STA 100-11-22-33-44-01
Giuseppe Bianchi
Example / 3Example / 3STA 2 STA 2 STA 1 STA 1
00-11-22-33-44-01 P1 200-aa-bb-cc-dd-02 P3 0
P1
P2
P3
STA 2 may respond depends on involved protocol/app rules (e.g. TCP handshake)
transmits frame to STA 1 Destination selected Bridge learns STA2=P3
STA 100-11-22-33-44-01
STA 200-aa-bb-cc-dd-02
Giuseppe Bianchi
Example / 4Example / 4STA 3 STA 3 STA 1 STA 1
00-11-22-33-44-01 P1 1200-aa-bb-cc-dd-02 P3 1008-80-f0-00-ff-03 P1 0
P1
P2
P3
STA 3 on LAN 1 transmits to STA 1 Frame arrives to STA1 on LAN 1
But arrives also to Bridge Bridge discards frame (STA1 on same port of incoming
frame) This operation is referred to as FILTERING FUNCTION
Bridge learns STA3=P1
STA 100-11-22-33-44-01
STA 200-aa-bb-cc-dd-02
STA 308-80-f0-00-ff-03
Giuseppe Bianchi
Example / 5Example / 5STA 1 moves; STA 1 STA 1 moves; STA 1 STA 3 STA 3
00-11-22-33-44-01 P1 1300-aa-bb-cc-dd-02 P3 1108-80-f0-00-ff-03 P1 100-11-22-33-44-01 P2 0
P1
P2
P3
STA 1 moves on LAN 2 Then transmits to STA 3 Frame arrives to Bridge on P2, and forwarded to P1
According to forwarding DB information Bridge learns that STA 1 moved
Deletes previous entry with P1 Adds new entry with P2
STA 100-11-22-33-44-01
STA 200-aa-bb-cc-dd-02
STA 308-80-f0-00-ff-03
Giuseppe Bianchi
Example / 6Example / 6STA 2 moves; STA 1 STA 2 moves; STA 1 STA 2 STA 2
00-aa-bb-cc-dd-02 P3 1308-80-f0-00-ff-03 P1 300-11-22-33-44-01 P2 2P1
P2
P3
STA 2 moves on LAN 1 STA 1 transmit frame to STA 2 Frame forwarded on old port P3!!
Bridge will learn only when STA2 will transmit first frameOR when ageing time will expire
and STA2 P3 entry will be removed from forwarding DB
STA 100-11-22-33-44-01
STA 200-aa-bb-cc-dd-02
STA 308-80-f0-00-ff-03
???
Giuseppe Bianchi
Why a station should move?Why a station should move?Fault-tolerant architectures!Fault-tolerant architectures!
P1
P2
Link 1 Link 2
As link 1 fails, server switches on link 2 server MOVES from original port P2 to new port P1 !!(need to reduce ageing time – but trade-off required: too short ageing time, too much burden on switch)(effective solution: i) periodically send “advertisement” frames ii) send frame after switching to link 2)
Giuseppe Bianchi
Wireless LANs (Wi-Fi)Wireless LANs (Wi-Fi)
Just a very basic overviewJust a very basic overview
Giuseppe Bianchi
WLAN historyWLAN history Original goal:
Deploy “wireless Ethernet” First generation proprietary solutions (end ’80, begin ’90):
WaveLAN (AT&T) HomeRF (Proxim)
Abandoned by major chip makers (e.g. Intel: dismissed HomeRF in april 2001)
IEEE 802.11 Committee formed in 1990 Charter: specification of MAC and PHY for WLAN First standard: june 1997
1 and 2 Mbps operation Reference standard: september 1999
Multiple Physical Layers Two operative Industrial, Scientific & Medical (ISM) shared unlicensed band
» 2.4 GHz: Legacy; 802.11b/g» 5 GHz: 802.11a
1999: Wireless Ethernet Compatibility Alliance (WECA) certification Later on named Wi-Fi Boosted 802.11 deployment!!
Giuseppe Bianchi
WLAN data ratesWLAN data rates Legacy 802.11
Work started in 1990; standardized in 1997 1 mbps & 2 mbps
The 1999 revolution: PHY layer impressive achievements 802.11a: PHY for 5 GHz
published in 1999 Products available since early 2002
802.11b: higher rate PHY for 2.4 GHz Published in 1999 Products available since 1999 Interoperability tested (wifi)
2003: extend 802.11b 802.11g: OFDM for 2.4 GHz
Published in june 2003 Products available, though no extensive
interoperability testing yet Backward compatibility with 802.11b Wi-Fi
Ongoing standardization effort: 802.11n
Launched in september 2003 Minimum goal: 108 Mbps (but higher numbers
considered)
Standard Transfer Method
Freq. Band
Data Rates Mbps
802.11 legacy FHSS, DSSS, IR
2.4 GHz, IR
1, 2
802.11b DSSS, HR-DSSS
2.4 GHz 1, 2, 5.5, 11
"802.11b+" non-standard
DSSS, HR-DSSS, (PBCC)
2.4 GHz 1, 2, 5.5, 11,
22, 33, 44
802.11a OFDM 5.2, 5.5 GHz
6, 9, 12, 18, 24, 36, 48, 54
802.11g DSSS, HR-DSSS, OFDM
2.4 GHz 1, 2, 5.5, 11; 6, 9, 12, 18, 24, 36, 48, 54
Giuseppe Bianchi
Why multiple rates?Why multiple rates?“Adaptive” (?) “Adaptive” (?)
coding/modulationcoding/modulation
Example: 802.11a case
Giuseppe Bianchi
Wireless Medium Wireless Medium UnreliabilityUnreliability
11 Mbps 802.11b outdoor measurements - Roma 2 Campus - roof nodes
Giuseppe Bianchi
Must rely on explicit ACKsMust rely on explicit ACKs
Successful DATA transmission:ONLY IF an ACK is received
ACK transmission provided by MAC layerImmediate retransmission
» Don’t get confused with higher layer rtx
DATA-ACK exchange:Also called two-way handshakeOr Basic Access Mechanism
SENDER RECEIVER
DATA
ACK
Giuseppe Bianchi
Must forget Collision Detection!Must forget Collision Detection! One single RF circuitry
Either TX or RX… Half-duplex
Even if two simultaneous TX+RX: large difference (100+ dB!) in TX/RX signal power Impossible to receive while transmitting
On a same channel, of course
Collision detection at sender: meaningless in wireless! Ethernet = collision detection at sender Wireless = large difference in the interference
power between sender & receiver! Collision OCCURS AT THE RECEIVER
STA
tx
rx
CA B
A detects a very low interference (C is far) no “collision”
B detects a disructive interference (C is near) collision occurs
Giuseppe Bianchi
Carrier Sense Multiple Carrier Sense Multiple AccessAccess Station may transmit ONLY IF senses channel IDLE for a
DIFS time DIFS = Distributed Inter Frame Space
Key idea: ACK replied after a SIFS < DIFS SIFS = Short Inter Frame Space
Other stations will NOT be able to access the channel during the handshake Provides an atomic DATA-ACK transaction
DIFSDATA
SIFS ACK
TX
RX
Packet arrival
OTHERSTA
DIFS
Packet arrival
Must measure a whole DIFS
OK!
Giuseppe Bianchi
Grasping wi-fi (802.11b) Grasping wi-fi (802.11b) numbersnumbers
DIFS = 50 sRationale: 1 SIFS + 2 slot-times
Slot time = 20 s, more later
PHY MAC header 24 (30) Payload FCS
SIFS = 10 sRationale: RX_TX turnaround time
The shortest possible!
DATA frame: TX time = f(rate) Impressive PHY overhead!
192 s per every single frame Total data frame time (1500
bytes) @1 Mbps: 192+12288= 12480 s
» PHY+MAC overhead = 3.3% @11 Mbps: 192+ 1117.1 = 1309.1 s
» PHY+MAC overhead = 16.% Overhead increases for small frames!
ACK frame: TX at basic rate Typically 1 mbps but 2 mbps possible… ACK frame duration (1mbps): 304 s
Preamble SFD PLCP hdr
128 16 48
1 mbps DBPSK
192 s
(28+payload) [bytes] x 8 / TX_rate [mbps] = s
PHY ACK 14
192 s
DATA
ACK
112 s
Giuseppe Bianchi
And when an ACK is And when an ACK is “hidden”?“hidden”?
SENDER RECEIVERSTA
1) Sender TX Receiver RX
STA defers
BUSY DETECT (DATA)
SENDER RECEIVERSTA
2)Receiver ACKs(after SIFS)STA cannot hear…
SIFSACK
STA STA TX!DIFS
SENDER RECEIVERSTA
3)STA tranmitsAnd destroys ACK!
Giuseppe Bianchi
The Duration FieldThe Duration Field
FrameControl
Duration / ID
Address 1 Address 2 Address 3SequenceControl
Address 4 DataFramecheck
sequence
2 2 2 40-23126666
0# microseconds1514131211109876543210
When bit 15 = 1 NOT used as duration (used by power-saving frames to specify station ID)
DIFSDATA
SIFS ACK
OTHERSTA
Physical carrier sensing
NAV (data)
Allows “Virtual Carrier Sensing”Other than physically sensing the channel, each station keeps a Network
Allocation Vector (NAV)Continuously updates the NAV according to information read in the
duration field of other frames
Virtual carrier sensing
Giuseppe Bianchi
And when a terminal is And when a terminal is “hidden”?“hidden”?
RECEIVER SENDERSTA
… this can be “solved” by increasing the sensitiveness of the Carrier Sense…Quite stupid, though (LOTS of side effects – out of the goals of this lecture)
SENDERSTA
… this can’s be “solved” by any means!
RECEIVER
The Hidden Terminal Problem SENDER and STA cannot hear each
other SENDER transmits to RECEIVER STA wants to send a frame
Not necessarily to RECEIVER…
STA senses the channel IDLE Carrier Sense failure
Collision occurs at RECEIVER Destroys a possibly very
long TX!!
Giuseppe Bianchi
DIFSDATA
SIFS ACK
TX
RX
Packet arrival
RTS
SIFS CTS SIFS
The RTS/CTS solutionThe RTS/CTS solution
TX
RX
hidden
others
RTS
NAV (RTS)
RTS/CTS: carry the amount of time the channelwill be BUSY. Other stations may update a Network Allocation Vector, and defer TX
even if they sense the channel idle (Virtual Carrier Sensing)
CTS CTS
NAV (CTS)
(Update NAV)
data
Giuseppe Bianchi
Why backoff?Why backoff?
DIFSDATA
SIFS ACKSTA1
STA2
STA3
DIFS
Collision!
RULE: when the channel is initially sensed BUSY, station defers transmission;THEN,when channel sensed IDLE again for a DIFS, defer transmission of a further random time (Collision Avoidance)
Giuseppe Bianchi
Slotted BackoffSlotted Backoff
STA2
STA3
DIFS
Extract random number in range (0, W-1)Decrement every slot-time
w=7
w=5
Note: slot times are not physically delimited on the channel!Rather, they are logically identified by every STA
Slot-time values: 20s for DSSS (wi-fi)Accounts for: 1) RX_TX turnaround time
2) busy detect time3) propagation delay
Giuseppe Bianchi
Backoff freezingBackoff freezing
When STA is in backoff stage:It freezes the backoff counter as long as the channel is
sensed BUSYIt restarts decrementing the backoff as the channel is sensed
IDLE for a DIFS period
DIFS DATA
SIFS ACK
STATION 1
DIFS
SIFS ACK 6 5
DIFS
Frozen slot-time 4BUSY medium
STATION 2
DIFS3 2 1
Giuseppe Bianchi
Why backoff between Why backoff between consecutive tx?consecutive tx?
A listening station would never find a slot-time after the DIFS (necessary to decrement the backoff counter)
Thus, it would remain stuck to the current backoff counter value forever!!
DIFS DATA
SIFS ACK
S 1
DIFS6 5
DIFS
Frozen slot-time 4
BUSY medium
S 2
DIFS3
DATA
SIFS ACK
DIFS
BUSY medium DIFS
Giuseppe Bianchi
Backoff rulesBackoff rules
First backoff value:Extract a uniform random number in range (0,CWmin)
If unsuccessful TX:Extract a uniform random number in range (0,2×(CWmin+1)-1)
If unsuccessful TX:Extract a uniform random number in range (0,22×(CWmin+1)-1)
Etc up to 2m×(CWmin+1)-1Exponential Backoff!For 802.11b:
CWmin = 31CWmax = 1023 (m=5)
Giuseppe Bianchi
Further backoff rulesFurther backoff rules Truncated exponential backoff
After a number of attempts, transmission fails and frame is droppedBackoff process for new frame restarts from CWminProtects against cannel capture
unlikely when stations are in visibility, but may occur in the case of hidden stations
Two retry limits suggested:Short retry limit (4), apply to frames below a given thresholdLong retry limit (7), apply to frames above given threshold (loose) rationale: short frames are most likely generated bu realk time
stationsOf course not true in general; e.g. what about 40 bytes TCP ACKs?
Giuseppe Bianchi
DCF overheadDCF overhead
min_
[ ]
[ ] / 2station
Frame Tx
E payload
E T DIFS CWS
_Frame Tx MPDU ACKT T SIFS T
TxCTSPLCPCTS
TxRTSPLCPRTS
TxACKPLCPACK
TxMPDUPLCPMPDU
RTT
RTT
RTT
RLTT
_
_
_
_
/148
/208
/148
/)28(8
_Frame Tx RTS CTS MPDU ACKT T SIFS T SIFS T SIFS T
Giuseppe Bianchi
Example: maximum achievable Example: maximum achievable throughput for 802.11bthroughput for 802.11b
DATA SIFSACK
DIFS
backoffDATA
Cycle time
Data Rate = 11 mbps; ACK rate = 1 mbps
Payload = 1500 bytes
MbpsThr
BackoffE
DIFSSIFS
T
T
ACK
MPDU
07.631050304101303
81500
310202
31][
50;10
3041/148192
130311/)150028(8192
Data Rate = 11 mbps; ACK rate = 1 mbps
Payload = 576 bytes
MbpsThr
BackoffE
DIFSSIFS
T
T
ACK
MPDU
53.33105030410631
8576
310202
31][
50;10
3041/148192
63111/)57628(8192
REPEAT RESULTS FOR RTS/CTS Not viable (way too much overhead) at high rates!
Giuseppe Bianchi
DCF overhead (802.11b)DCF overhead (802.11b)
0 2000 4000 6000 8000
Transmssion Time (usec)
Basic
RTS/CTS
Basic
RTS/CTS
DIFS Ave Backoff RTS+SIFS CTS+SIFS Payload+SIFS ACK
Giuseppe Bianchi
DCF overhead (802.11b)DCF overhead (802.11b)
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
100
300
500
700
900
1100
1300
1500
1700
1900
2100
2300
Payload Size (Bytes)
Nor
mal
ized
Thr
ough
put
BAS- 2Mbps
RTS- 2Mbps
BAS- 11Mbps
RTS- 11Mbps
Giuseppe Bianchi
Performance AnomalyPerformance Anomaly
Question 1: Assume that throughput measured for a single 11 mbps greedy station is approx 6 mbps.
What is per-STA throughput when two 11 mbps greedy stations compete? Answer 1:
Approx 3 mbps (easy )
Question 2: Assume that throughput measured for a single 2 mbps greedy station is approx 1.7 mbps.
What is per-STA throughput when two 2 mbps greedy stations compete? Answer 2:
Approx 0.85 mbps (easy )
Question 3: What is per-STA throughput when one 11 mbps greedy station compete with one 2 mbps
greedy station? Answer 3:
...
Giuseppe Bianchi
Understanding Answers 1&2Understanding Answers 1&2(neclect collision – indeed rare – just slightly reduce computed (neclect collision – indeed rare – just slightly reduce computed
value)value)
STA 1 SIFS
ACKDIFS
backoff
Cycle time
STA 2 SIFS
ACKDIFS
Frozen backoff
Data Rate = 11 mbps; ACK rate = 1 mbps Payload = 1500 bytes
][]2[]1[
81500
][
][]2[]1[
backoffEDIFSACKSIFSTDIFSACKSIFSTtimecycleE
payloadEThrThr
MPDUMPDU
MbpsThr
BackoffE
DIFSSIFS
T
T
ACK
MPDU
3.3310)50304101303(2
81500
310202
31][
50;10
3041/148192
130311/)150028(8192
Data Rate = 2 mbps; ACK rate = 1 mbps Payload = 1500 bytes
MbpsThr
BackoffE
DIFSSIFS
T
T
ACK
MPDU
88.0310)50304106304(2
81500
310202
31][
50;10
3041/148192
63042/)150028(8192
Giuseppe Bianchi
Emerging “problem”: Emerging “problem”: long-term fairness!long-term fairness!
If you have understood the previous example, you easily realize that
802.11 provides FAIR access to stations
in terms of EQUAL NUMBER of transmission opportunities in the long term!
But this is INDEPENDENT OF transmission speed!STA1 STA2 STA1 STA1STA2 STA2
Giuseppe Bianchi
Computing answer 3Computing answer 3
STA (2mbps) SIFS
ACKDIFS
Cycle time
STA 11 SIFS
ACKDIFS
Frozen backoff
RESULT: SAME THROUGHPUT (in the long term)!!
!!!!!!39.1310)5030410(213036304
81500
][]2[]1[
81500
][
][]2[]1[
Mbps
backoffEDIFSACKSIFSTDIFSACKSIFST
timecycleE
payloadEThrThr
MPDUMPDU
DRAMATIC CONSEQUENCE: throughput is limited bySTA with slowest rate (lower that the maximum throughput achievable by the slow station)!!
Giuseppe Bianchi
Performance anomaly into Performance anomaly into actionaction
Why the network is soooo slow today? We’re so Close, we have a 54 mbps and“excellent” channel, and we getLess than 1 mbps …
Hahahahahah!!Poor channel, Rate-fallbacked @ 1mbps