CS485 Sylabus

### The Expontial Backoff Algorithm of the Ethernet

• The Backoff Protocol

• Recall the Ethernet CSMA/CD protocol:

Observe that:

 The backoff protocol is executed when a node have (already) detected a collision !!!!

Therefore:

 Multiple nodes are ready to transmit !!! (One transmission can never result in a collission.....)

• Goal of the Backoff protocol:

• Re-schedule the transmissions of the collided nodes so that:

 the likelihood (chance) of subsequent collisions is minimized.

• A simple-minded backoff protocol

• A simple-minded backoff protocol:

 Pick a random number r between [0..(N−1)]        (N is fixed) Wait r × τ time

Flow chart:

• Weakness of the simple-minded backoff algorithm:

• If N is small, and the system is very busy

(= many nodes have collided),

then:

• It will be very likely that more than one node will select the same random number

• Result:

 frequent collisions

• On the other hand, if N is large, but the system is lightly loaded, then:

• Nodes may select an large random value

Result:

 The node will back off for a long time (for nothing)....

• Result:

 Wasting of bandwidth.....

• Conclusion:

 We need a dynamic backoff algorithm that can adjust to different network operating conditions !!!!

• The Exponential Backoff Protocol

 Allow collided nodes to pick small back off periods in earlier re-transmission attempts And pick larger back off periods when there are more re-transmission attempts

• The exponential backoff algorithm flow chart:

• Explanation:

• When a frame is transmitted for the first time:

 ``` Reset k = 0 ```

• If there was a collision, the first retransmission attempt will use:

 ``` k = k + 1 = 0 + 1 = 1 N = 2k - 1 = 21 - 1 = 2 - 1 = 1 ```

For the first re-transmission attempt, the node will picks a random number r from the range:

 r ∈ [0, 1]

This range is suitable when there are very few (about 2) nodes involved in the collision

• It the node is involved in another collision while trying to transmit the same frame, then:

 ``` k = k + 1 = 1 + 1 = 2 N = 2k - 1 = 22 - 1 = 4 - 1 = 3 ```

So the second retransmission attempt for the same frame will use a random number r from the range:

 r ∈ [0..3]

The node is adjusting to accomodate for a larger number of nodes (i.e., a heavier loaded situation)

• If there is another collision, the third retransmission attempt of the same frame will use:

 r ∈ [0..7]

• And so on...

• A small adjustment: upper bound on random range

• Fact:

 One Ethernet network can support at most 500 nodes

Therefore:

• The maximum range from which the random numbers are selected is:

 [0..210-1]     =     [0..1023]

• The final version of the Ethernet Medium Access Control (MAC) algorithm: