Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 1
Telecommunication Protocols Laboratory Course
Lecture 3
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 2
Last time
• We began our study of protocols at the Data Link Layer(DLL)
• DLL’s job: achieving reliable and efficient communication between 2 adjacent machines
• We have seen two-party protocols, devised for point-to-point networks
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 3
The Medium Access Control(MAC) Sub-layer
• Deals with broadcast channels and their (multi-party) protocols
• Key issue in broadcast networks: how to determine who gets to use the channel when there is competition for it
• MAC is a sub-layer of DLL• MAC is important for local area networks (LANs) and
wireless communicationso LANs use multi-access channel as a basis for communicationo Air transmission is inherently broadcast
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 4
Today
1. We study how to allocate a single broadcast channel among competitive users
2. We discuss teams and projects
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 5
Allocation Problem
• Static Channel Allocation• Dynamic Channel Allocation
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 6
Dynamic Channel Allocation Assumptions
• Station Model.
• Single Channel Assumption.
• Collision Assumption.
• (a) Continuous Time.(b) Slotted Time.
• (a) Carrier Sense.(b) No Carrier Sense.
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 7
Station model
• N independent stations (terminals), each generating frames for transmission
• When a frame is generated, the station blocks until successful transmission
o Station has one user
• Frames are generated at a constant rate
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 8
Single channel assumption
• Heart of the model• A single channel is available for all communications• All stations can transmit and receive on it• All stations are equivallent
o However, protocols may assign priorities to some of them
• No other external ways of communication
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 9
Collision Assumption
• If 2 frames are transmitted simultaneously => they overlap in time => resulting signal garbled ≡ COLLISION
• All stations can detect collisions• A collided frame must be retransmitted• There are no other errors except those due to collisions
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 10
Time
• Continuouso Frame transmission can start at any instanto No master clock dividing time into discrete intervals
• Slottedo Time divided into discrete intervals, called SLOTSo Frame transmission always begins at the start of a sloto Slot may contain
– 0 frames => idle– 1 frame => successful transmission– n, n>1 frames => collision
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 11
Carrier Sense (CS)• Yes
o Stations can tell if channel in use before trying to use ito If channel busy, no station attempts to send anything until it goes
idleo Stations may terminate their transmissions prematurely if collision
is detectedo LANs usually have CS
• Noo Stations cannot sense the channel before trying to use it, they
simply transmito Later they can determine if a transmission was successful or noto Wireless networks usually have no CS
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 12
Other issues
• Contention systemso Systems in which multiple users share a common channel in a way
possibly leading to conflicts (collisions)
• Broadcasting provides feedbacko A sender can always find out whether its transmitted frame was
destroyed, by listening to the channel, as all other stations doo LAN – immediate feedbacko Satellite systems – 270 msec delay
• MAC sub-layers do NOT guarantee reliable deliveryo Assuming no collisions, e.g., the receiver may have not copied the
frame correctly
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 13
Multiple Access Protocols
• ALOHA• Carrier Sense Multiple Access Protocols• Collision-Free Protocols• Limited-Contention Protocols• Wavelength Division Multiple Access Protocols• Wireless LAN Protocols
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 14
ALOHA
• Devised in the 70s, University of Hawaii, by Norman Abramson, extended later
• Originally: ground-based radio broadcasting, on 2 frequencies
o one for sending data, one for receiving acknowledgements
• Basic idea works for any system with uncoordinated users competing for a single shared channel
• Two versionso Continuous (pure)o Slotted
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 15
Pure ALOHA
• Users transmit whenever they have data to send• There will be collisions, collided frames damaged• Sender finds out if transmission was successful
o With feedback propertyo With acknowledgements
• If frame collided, sender waits random amount of time and sends again
• Efficiency of such channel allocation: ≈ 18%
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 16
Pure ALOHA 2
In pure ALOHA, frames are transmitted at completely arbitrary times.
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 17
Pure ALOHA 3
Vulnerable period for the shaded frame.
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 18
Slotted ALOHA• Time divided into slots• Each slot corresponds to one frame• Agreement on slot boundaries needed (synchronization)
o One special station can emit a “beep” at the start of each slot
• Users send at the beginning of slots only• Vulnerable period is halved wrt pure ALOHA => double
efficiency: ≈ 37%• Devised in 70s, used in some experimental early systems,
then abandoned• Reused again with Internet over cable, when a channel
needed to be shared among competing users
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 19
ALOHA 2
Throughput versus offered traffic for ALOHA systems.
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 20
Carrier Sense Multiple Access (CSMA) protocols
• Several typeso Persistent (and p-persistent)o Non-persistento CSMA with collision detection (CSMA/CD)
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 21
(1-)Persistent CSMA
• When a station has to send, it first listens to the channel• If channel busy, station waits until it becomes idle• If channel idle, station transmits frame (probability 1)• If collision occurs, a random amount of time passes and
everything starts over again• Better than ALOHAs• Propagation delays => bad efficiency• Since station transmits as soon as the channel becomes idle
=> still bad, even w/o delays
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 22
Non-persistent CSMA
• Station senses the channel• If channel idle station starts transmitting• If channel busy, station waits a random amount of time and
then it senses the channel again• Better efficiency than persistent CSMA’s
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 23
p-Persistent CSMA
• Applies to slotted channels• Station senses channel and if idle:
o Transmits with probability po Defers transmission until next slot with probability q=1-po At next slot, if idle, same thingo Algorithm repeated until frame transmitted or another station
begins transmissiono If channel busy, station waits a random time and senses again
• If channel initially busy, station waits until next slot and applies algorithm
• Better performances for small p
Persistent and Non-persistent CSMA
Comparison of the channel utilization versus load for various random access protocols.
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 25
CSMA / CD
• A different improvement wrt ALOHAo Stations abort transmission as soon as they detect a collision =>
saves time and bandwidth
• Widely used on LANs’ MAC (basis of Ethernet)• Model
o At t0 some station finished transmissiono Any other station may start transmitting => collisions may occuro After a detected collision, stations wait a random time and start
sending again, sensing the channel first
• When does a frame know it sent successfully?
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 26
CSMA/CD 2
CSMA/CD can be in one of three states: contention, transmission, or idle.
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 27
CSMA/CD 3
• Minimum time to detect a collisiono Time needed for a signal to propagate from a station to another
• Worst case scenarioo τ – the time needed for a signal to propagate between farthest
stationso It takes 2τ until a station is certain it seized the channel (if it
transmits for 2τ w/o hearing a collision, then it is sure)o Contention slot of 2τ
• A sending station must continually monitor the channelo To listen for noise bursts indicating a collision
• CSMA/CD inherently a half-duplex system
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 28
Collision detection
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 29
Collision-Free Protocols
• We assume the N stations have 0 to N-1 ”wired” as addresses inside them
• 2 protocolso Bit-map o Binary countdown
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 30
Bit-map protocol
• Contention period: N slots• If station j, j=0,...,N-1 has a frame to transmit, it sends a 1-
bit during the j-th slot• After all N slots passed by, stations with frames to send
start transmiting in numerical order => no collisions• After last station transmitted its frame (all stations can
monitor that) another N-bit contention period begins• An example of a reservation protocol
o The desire to transmit is broadcast before the actual transmission
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 31
Bit Map Protocol 2
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 32
Binary Countdown Protocol• Network address in binary form, all same length• Transmission delays assumed negligible • A station wanting to transmit broadcasts its address as a binary
bit string, high-order bit starting• x = addr0 ∨ addr1 ∨ … ∨ addrN-1
• Arbitration rule: when a station sees that a high-order bit position is 0 in its address and 1 in x, it gives up
• Station with highest address wins, starts transmitting; after that, another bidding cycle starts
• Higher numbered stations have a higher priority over lower numbered stations
Binary Countdown Protocol 2
A dash indicates silence.
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 34
Limited-Contention Protocol: motivation
• Contention and collision-free methods can be rated wrto Delay at low load (1)o Efficiency at high load (2)
• For (1) contentions are preferableo Low delay
• For (2) collision-free is bettero Good channel efficiency
• It would be good to combine these into a protocol using contention at low loads and collision-free at high loads
• Such protocol named limited contention
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 35
Acquisition probability for a symmetric contention channel
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 36
Limited-contention protocols
• Stations divided into groups (not necessarily disjoint)• Initially only members of group 0 compete for slot 0
o In one succeeds, it acquires channel and starts transmittingo If there is a collision, only members of group 1 contend for slot 1
etc
• By managing group division appropriately, the amount of contention for each slot can be reduced
• How to assign stations to slots?
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 37
Special cases• Each group has one member
o No collisions (binary countdown, e.g.)• Each group has 2 members
o Probability that both try to send: p2
o OK for small p• More and more stations assigned to one slot
o Probability of contention o Length of bit-map scan needed to give everyone a chance
• One slot with all stations => slotted ALOHA
⇒ Stations to slots have to be assigned dynamically
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 38
Adaptive Tree Walk protocol
• Stations: leaves of a binary tree• In slot 0 (first one following a successful transmission)
o All stations (they are all below node 1) try to acquire the channelo If one does, repeat algorithmo If there is a collision, go to slot 1
• In slot 1 o only stations falling below node 2 may competeo If one acquires channel, go to slot 2 with node 3o If collision, go to slot 2 with node 4
• And so on
Adaptive Tree Walk Protocol 2
The tree for eight stations.
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 40
Adaptive tree walk protocol 3
• If a collision occurs during slot 0, entire tree searched, depth first, to find all ready stations
• Each slot corresponds to a node• Collision in a slot (node) => search continues recursively
with the node’s left and right children• Slot (node) idle or successful transmission => search
finished for that node (all ready stations determined)
Wavelength division protocol• Different approach
o Divide the channel into sub-channels using FDM/TDM and dynamically allocate the sub-channels as needed
o Commonly used on fiber-optic LANs: permit different conversations using different wavelengths at the same time
• Each station has 2 channels (wavelength bands) assignedo Narrow control channelo Wide data channel
• Each channel divided into group of time slotso Control channel m slotso Data channel n+1 slots: n for data, one for station report status (which
slots on both channels are free)o On each channel the sequence of slots repeats endlessly, slot 1 being
marked specially for latecomers to detect
Wavelength Division Protocol 2
Wavelength division multiple access.
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 43
Wavelength division protocol 3
• Three traffic classes1. Constant data rate, connection-oriented (e.g. uncompressed video)2. Variable data rate, connection-oriented (e.g. file transfer)3. Datagram (e.g. UDP packets)
• Each station has 2 transmitters, 2 receiverso A fixed-λ receiver to listen to its own control channelo A fixed-λ transmitter to output data frameso A tunable-λ receiver for selecting a data transmitter to listen too A tunable-λ transmitter for sending on other stations’ control
channels
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 44
Example of WDMA
• A sets up a class 2 communication channel with Bo A tunes its data receiver to B’s data channel and waits for status slot => it
finds out which control slots are currently assigned and which freeo A picks one of the free control slots and inserts CONN_REQ thereo B constantly monitors its control channel, sees the request and grants a slot
to A (announced in its status slot)o A sees B’s status slot and notices a certain slot is now reserved for itself =>
A has now a unidirectional connectiono A now sends B a control message in that slot saying from which of its slots
the data should be takeno B gets message, tunes its receiver to A’s data channel to read data frame
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 45
Example of WDMA 2
• A sets up a class 1 communication channel with Bo When A asks for a connection it also asks if it’s OK to send a
frame in every occurrence of slot io If B able to accept (no previous commitment for slot i) then a
guaranteed bandwidth connection is establishedo If B not able to accept, then A can try other proposal (say, slot j)
• A sets up a class 3 communication channel with Bo Instead of CONN_REQ message into the free control slot of B, A
writes something like “data for you in slot i”o If B free during next data slot i (of A), transmission succeeds,
otherwise frame lost
Wireless LAN Protocols• Wireless LAN – system of notebooks communicating by radio
o In the presence of a base stationo W/o base station (ad-hoc networks)
• Standard 802.11 (‘97), 802.11a and 802.11b (‘99)o Compatible with Ethernet (“the” (wired) LAN) above DLL: sending IP
packets over wireless LANs same as over wired LANso In PL and DLL (MACsL included) several inherent differences wrt
Ethernet exist, so had to be dealt with by the standard
• CSMA with a wireless LAN is a naïve approacho CSMA merely tells if there’s activity around the station sensing the
carrier; in fact before transmitting, a station needs to know if there’s activity around the receiver
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 47
Wireless LAN Protocols 2
• The CSMA-related problemso Hidden station problem: the problem of a station not being able to
detect a potential competitor for the medium because the competitor is too far away
o Exposed station problem: the problem of a station detecting a false competitor for the medium because station is too close to it
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 48
Wireless LAN Protocols 3
A wireless LAN. (a) A transmitting. (b) B transmitting.
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 49
MACA Protocol
• MACA (’90) – multiple access with collision avoidanceo Sender stimulates receiver to output a short frame => stations
nearby detect this transmission and avoid transmitting for the duration of the upcoming (large) data frame
o RTS (request to send) and CTS (clear to send) frames used
• A wants to transmit a frame to B:o A sends RTS frame to B, of length 30 bytes in which it writes the
length of the upcoming data frameo B replies with CTS frame also containing the length of the
upcoming data frame, copied from RTSo Upon receipt of CTS, A starts transmission
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 50
Collisions in MACA
• Can still occuro B and C both send RTS frames to A, at the same time => these
frames collide and are losto The unsuccessful transmitter (the one not hearing CTS in expected
time interval) waits a random time and tries again latero BEBA also used
MACA illustration
(a) A sending an RTS to B.(b) B responding with a CTS to A.
March 18, 2004 http://www.abo.fi/~lpetre/teleprot/teleprot.html 52
MACAW protocol
• MACAW (’92) – MACA for wireless• Based on simulation studies on MACA, it essentially fine
tunes MACA for improved performance• Some features
o ACK frame introduced after each successful transmissiono CSMA added to keep a station from sending RTS to the same
destination with another station at the same timeo BEBA run separately for each data stream (source-destination pair)o Mechanism for stations to exchange information about congestion