Go backward to Announcements
Go up to Top

Aloha

  1. Ethernet is just one example of the general class of medium access control protocols called contention protocols.

  2. To appreciate the design decisions that distinguish Ethernet, it is useful to consider alternate contention protocols.

  3. As a form of homage, it is traditional to start discussions of contention protocols with a consideration of the first such protocol implemented, the Aloha protocol. Consideration of Aloha is useful to illustrate the impact of the choices between slotted and unslotted and between using and not using carrier sensing.

  4. The Aloha protocol was designed as part of a project at the University of Hawaii. It provided data transmission between computers on several of the Hawaiian Islands using radio transmissions.

  5. Unlike Ethernet, Aloha stations did not check to make sure no one else was sending before they began transmitting.

  6. An Aloha station would start transmitting as soon as a new message was presented for delivery and complete the transmission without listening for other, interfering transmissions. Then, it would listen for an ack. If no ack arrived it would wait a random time and try again.

  7. While I will not try to present a detailed analysis of the efficiency of any of the variations of the Aloha protocol some consideration of what such an analysis would look like can help you appreciate the motivation for the variations.

  8. Even imprecise and incomplete analyses require simplifying assumptions. For this discussion, we will assume that all packets are of equal length, L, an require TRF time for transmission.

  9. Both the efficiency of the overall system and the delay experienced by any single station will depend upon the expected number of transmission of a given packet required before it is transmitted without colliding with another station.

    In particular, the formula for the efficiency of Aloha should look like

    (TRF)/(TRF + CT)
    Where CT is the time stations spend in contention before one station wins and gets its packet delivered.

    Given our experience deriving formulas for expected values, it is clear that the correct for CT will involve the probability, p, that a given attempt to transmit a packet fails due to a collision. The bigger this probability, the bigger CT will be.

  10. All other things being equal, the probability of a packet suffering a collision will increase with the time it takes to transmit the packet.

  11. Things are actually even a bit worse than you might think. A given transmission will obviously collide with any transmission started within TRF after its start time. It will also collide with any transmission started within TRF before its start time.

    Basically, any two stations that get the urge to transmit within 2 TRF of one another will collide.

  12. Slotted Aloha is a variation of "Pure" Aloha intended to improve performance by reducing the length of the window in time during which stations that start transmissions will collide.

  13. The key idea behind the difference between pure and slotted Aloha is that shrinking the "window of vulnerability" during which a packet may suffer a collision around the beginning of its transmission is a way to improve efficiency.

  14. Generally, the window of vulnerability can be cut even further by making stations listen before they send a packet.

  15. CSMA (as narrowly proposed/described above), decreases the probability of collisions, but it does not reduce the cost of those collisions that do occur.

  16. As soon as the nature of a network makes listening possible, it is natural to go beyond using CSMA and also incorporate early collision detection by having stations continue to listen while they send and abort as soon as a collision is detected.

  17. Note that although adding the initials CD to a protocol certainly suggests we have added collision detection to the protocol, this is not really the case. Even pure Aloha incorporates collision detection. It just takes a long time (until a station times out waiting for an ack). Thus, what CD really stands for is early collisions detection.

Computer Science 336
Department of Computer Science
Williams College

Prev Up