Chapter 2 Multiple Access Protocols Professor Rick Han University of Colorado at Boulder rhan@cs.colorado.edu Announcements • Previous lecture now online • Homework #1 is on the Web site, due Feb. 5 • Programming assignment #1 will be available on Web site on Tuesday, not today • Next, Chapter 2, MAC protocols Prof. Rick Han, University of Colorado at Boulder Recap of Previous Lecture • Designing reliable ARQ protocols • • • Acknowledgements Timeouts Sequence numbers • • Choose timeout wisely Keep the pipe full • Stop-and-Wait: one outstanding packet • Go-Back-N: sliding window, cumulative ACK • Selective Repeat: sliding window, selective ACK • Designing efficient reliable protocols Prof. Rick Han, University of Colorado at Boulder Direct-Link or Point-to-Point Networks • Physical layer handles bits • Data-link layer handles packets • • • Framing Error detection Retransmission-based protocols • • N point-to-point links Other possibilities? • How do I send to N hosts? Prof. Rick Han, University of Colorado at Boulder Shared-Media or Broadcast Networks • N senders and receivers connected by a shared medium (copper wire, atmosphere-TV!) • Sharing access to the same media • Analogy: How do N persons converse in a room or at the dinner table? At once, or one by one? What is the communications protocol? • Local Area Network (LAN) 802.11/Wireless Prof. Rick Han, University of Ethernet Ethernet (802.3) Colorado at Boulder Multiple Access Protocols • Determine which host is allowed to transmit next to a shared medium • • Channel reservation: TDMA, FDMA, CDMA, Token Ring, … Random access: ALOHA, CSMA/CD, CSMA/CA 802.11/Wireless Prof. Rick Han, University of Ethernet Ethernet Colorado at Boulder Multiple Access Protocols (2) Host A Data Link Layer MAC Layer • Also called Medium-Access Control (MAC) protocols • Before data link-layer packets can be sent, a sender has to gain access to the media • MAC layer is often placed in the stack between layer 2 and layer 1 Physical Layer Prof. Rick Han, University of Colorado at Boulder Time Division Multiple Access (TDMA) • Divide time into multiple slots • • • Each host sends in a pre-determined slot Out-of-band reservation mechanism Compare to Time Division Multiplexing (TDM) … 1 2 3 Host 1 1 2 3 Host 3 1 2 1 2 1 3 Host 2 2 Not Eth. Prof. Rick Han, University of Colorado at Boulder … 3 2 Router/ Mux 1 Frequency Division Multiple Access (FDMA) • Divide spectrum into frequency bins • Each host sends in a pre-determined frequency bin • • • Out-of-band reservation mechanism Also called Frequency Division Multiplexing (FDM) Example: AM/FM radio, TV Host 1 Host 2 AM FM 500-1700 KHz 88-108 MHz Prof. Rick Han, University of Colorado at Boulder Host 3 Satellite GHz range Freq. (Hz) Code Division Multiple Access (CDMA) • Use multiple orthogonal codes to partition a range of spectrum • Each host sends using a pre-determined code • • • Also called “spread spectrum” Direct-sequence spread spectrum (802.11, cell) Frequency-hopping spread spectrum (Bluetooth) Host 1 Freq: F1 F2 F3 Hopping sequence: F1, F3, F2, F1, F3, F2, … Host 1’s Code: 132, Host 2’s Code: 321, Bluetooth Host 3’s Code: 213 – all 3 codes orthogonal Prof. Rick Han, University of Colorado at Boulder Host 2 Host 3 Random Access: ALOHA Protocol • Developed at University of Hawaii in 1971 by Abramson • Ground-based UHF radios connect computers on several island campuses to main university computer on Oahu • “pure” ALOHA: hosts transmit whenever they have information to send – form of random access • • • Collision will occur when two hosts try to transmit packets at the same time Hosts wait a timeout=1 RTT for an ACK. If no ACK by timeout, then wait a randomly selected delay to avoid repeated collisions, then Prof. Rick Han, University of retransmit Colorado at Boulder Random Access: ALOHA Protocol (2) • Collision of packets can occur when a packet overlaps another packet Packet A time T0 Packet B Packet C Collision Collision Wasted Time Colliding with B Prof. Rick Han, University of Colorado at Boulder Wasted Time Due to a Collision = 2 packet intervals Random Access: Slotted ALOHA • Rather than sending a packet at any time, send along time slot boundaries • Collision are confined to one time slot Packet A time T0 Packet B Packet C Collision No Collision Prof. Rick Han, University of Colorado at Boulder Wasted Time Due to a Collision = 1 packet interval Random Access: Slotted ALOHA (2) • How do hosts synchronize to begin transmitting along time slot boundaries? • One central station transmits a synchronization pulse or beacon • Slotted ALOHA is more efficient than ALOHA because when there is a collision, the wasted time is confined to one time slot • • Assuming Poisson packet arrivals (memoryless), can compute the maximum throughput of ALOHA to be 18%. Maximum throughput of Slotted ALOHA is 37% • Why are ALOHA & slotted ALOHA so inefficient? Prof. Rick Han, University of Colorado at Boulder Random Access: CSMA • ALOHA & slotted ALOHA are inefficient because hosts don’t take into account what other hosts are doing before they transmit • Example: at party, everyone speaks whenever they want to, regardless of whether another person is speaking • Instead, “listen before you talk” = Carrier Sense Multiple Access (CSMA) • Sense for “carriers” (see if anyone else is transmitting) before you begin transmitting Packet A Host B listens delay Packet B PacketPacket X Y Host B sends Prof. Rick Han, University of Colorado at Boulder time Collision still possible over long prop. delays Random Access: 1-Persistent CSMA • If channel is busy, • • A host listens continuously When channel becomes free, a host transmits its packet immediately (with probability 1) Packet A Packet B Host B listens Host B sends • Collision scenarios • • • PacketPacket X Y time Collision Hosts A and B are far apart (long prop. delay). A’s signal takes a long time to reach B. So, B thinks channel is free, and begins transmitting. Hosts B and C transmit as soon as A finishes Still, CSMA is Prof. more efficient than ALOHA variants Rick Han, University of Colorado at Boulder Random Access: p-Persistent CSMA • Generalization of 1-persistent CSMA • • Typically applied to slotted channels Slot length is chosen as maximum propagation delay • A host senses the channel, and • • • If slot is idle, transmit with probability p, or defer with probability q=1-p If next slot is idle, transmit with probability p, or defer with probability 1-p, repeat… If channel is busy, then sense channel continuously until it becomes free, begin again Prof. Rick Han, University of Colorado at Boulder Random Access: Non-Persistent CSMA • Host does not sense channel continuously • Instead, if channel is busy, • • Wait/sleep a random interval before sensing again As with 1-persistent CSMA, as soon as channel is idle, then send a packet • Random interval reduces collisions • Higher throughput than 1-persistent CSMA when many senders Packet A Host B listens Packet B Random Sleep Host B sends Prof. Rick Han, University of Colorado at Boulder time Random Access: Ethernet CSMA/CD • Ethernet uses CSMA/CD, i.e. CSMA with Collision Detection (CD) • “Listen-while-talk” protocol • A host listens even while it is transmitting, and if a collision is detected, stops transmitting Not transmitted Packet B Packet A Host B senses carrier time delay Host B starts sending Packet B Prof. Rick Han, University of Colorado at Boulder Host B detects collision And stops sending Random Access: Ethernet CSMA/CD (2) • Can abort transmission sooner than end-ofpacket if there is a collision • • Can happen if prop. delays are long Better efficiency than pure CSMA • Unlike CSMA, which requires an ACK or timeout to detect a collision Collision detection is built into the transmitter When collision detected, begin retransmission • CSMA/CD doesn’t require explicit acknowledgement • • Prof. Rick Han, University of Colorado at Boulder Random Access: Ethernet CSMA/CD (3) • Exponential backoff strategy • • • • When a collision is detected, a host waits for some randomly chosen time, then retransmits a packet If a second collision is detected, a host doubles the original wait time, then retransmits the packet Each time there is another collision, the wait time is doubled before retransmission Variants: • • • At each retransmission, choose a random value from the exponentially increasing wait time. At each retransmission, choose randomly from among a discrete set of values within exponentially increasing wait time Retransmit a finite # of times Prof. Rick Han, University of Colorado at Boulder Random Access: Ethernet CSMA/CD (4) • CSMA/CD can be used with nonpersistent, 1persistent, or p-persistent variants of CSMA • Ethernet is synonymous with the IEEE 802.3 standard • • Initial work on Ethernet at Xerox in early 70’s Ethernet specifies 1-persistent CSMA/CD • Start to run into propagation delay issues and noise amplification issues Ethernet keeps its maximum length to 2500 m to keep prop. delays tight, so that CSMA/CD responds well • To extend an Ethernet, repeaters are placed. • Prof. Rick Han, University of Colorado at Boulder Random Access: 802.11 “Wireless” Ethernet • Employs CSMA/CA, i.e. CSMA with Collision Avoidance (CA) • Hidden terminal effect • Example: B can hear A and C, but A and C can’t hear each other. If A is sending B, C thinks channel is clear and starts sending => collision! • Doesn’t happen in wired Ethernet, because hosts can hear each other Host A Host B Host C Collision Prof. Rick Han, University of Colorado at Boulder Random Access: 802.11 “Wireless” Ethernet (2) • How to handle the hidden terminal effect? • • • • Host A sends a Request-To-Send (RTS) Host B sends a Clear-To-Send (CTS) Host C hears the CTS, and does not interrupt transmission between A and B This helps implement Collision Avoidance RTS Host A Host B CTS Host C CTS Data Host C Suppresses Its Data Prof. Rick Han, University of Colorado at Boulder Random Access: 802.11 “Wireless” Ethernet (3) • Acknowledgements are still needed • • After Host A has finished sending its data, Host B sends an ACK Host C hears this ACK, and sends its RTS Data Host A Host B ACK Host C ACK RTS Prof. Rick Han, University of Colorado at Boulder Random Access: 802.11 “Wireless” Ethernet (4) • 802.11 does not support Collision Detection • • In a wired LAN, transmitter can check voltage levels to see if there is a collision. A remote transmitter’s power doesn’t attenuate severely. In a wireless LAN, the transmitter’s power overwhelms a distant transmitter’s power, so it’s difficult to detect collision. • What happens if two RTS’s collide? • Senders realize after timeout that CTS did not come back, and then practice exponential backoff in trying to send new RTS’s Prof. Rick Han, University of Colorado at Boulder