Difference between 1-persistent, p-persistent and Non-persistent CSMA

Prerequisite – Carrier Sense Multiple Access (CSMA)

1. 1-persistent CSMA :
In 1-persistent CSMA, the station continuously senses the channel to check its state i.e. idle or busy so that it can transfer data or not. In case when the channel is busy, the station will wait for the channel to become idle. When station found idle channel, it transmits the frame to the channel without any delay. It transmits the frame with probability 1. Due to probability 1, it is called 1-persistent CSMA.

The problem with this method is that there are a large number of chances for the collision it is because there is a chance when two or more stations found channel in idle state and the transmit frames at the same time. On the time when collision occurs the station has to wait for the random time for the channel to be idle and to start all again.



Figure – 1-persistent CSMA



2. p-persistent CSMA :
This is the method that is used when channel has time-slots and that time-slot duration is equal to or greater than the maximum propagation delay time. When the station is ready to send the frames, it will sense the channel. If the channel found to be busy, the channel will wait for the next slot. If the channel found to be idle, it transmits the frame with probability p, thus for the left probability i.e. q which is equal to 1-p the station will wait for the beginning of the next time slot. In case, when the next slot is also found idle it will transmit or wait again with the probabilities p and q. This process is repeated until either the frame gets transmitted or another station has started transmitting.



Figure – p-persistent CSMA



3. Non-persistent CSMA :
In this method, the station that has frames to send, only that station senses for the channel. In case of an idle channel, it will send frame immediately to that channel. In case when the channel is found busy, it will wait for the random time and again sense for the state of the station whether idle or busy. In this method, the station does not immediately sense for the channel for only the purpose of capturing it when it detects the end of the previous transmission. The main advantage of using this method is that it reduces the chances of collision. The problem with this is that it reduces the efficiency of the network.



Figure – Non-persistent CSMA



Difference between 1-persistent, p-persistent and Non-persistent CSMA :

Parameter 1-persistent CSMA p-persistent CSMA Non-persistent CSMA
Carrier Sense It sends with the probability of 1 when channel is idle. It sends with the probability of p when channel is idle. It send when channel is idle.
Waiting It continuously senses the channel or carrier. It waits for the next time slot. It will wait for the random amount of time to check the carrier.
Chances of Collision There is highest chances of collision in this. Less chances as compared to 1-persistence and p-persistence. Less chances as compared to 1-persistence but more than the p-persistence.
Utilization It’s utilization is above ALOHA as frames are only sent when the channel is idle. It’s utilization is depend upon the probability p. It’s utilization is above 1-persistent as not all the stations constantly check the channel at the same time.
Delay Low Load It is low as frames are send when the channel become idle. It is large when p is small as station will not always send when channel is idle. It is small as station will send whenever channel is found idle but longer than 1-persistent since it checks for the random time when busy.
Delay High Load It is high due to collision. It is large when the probability p of sending is small when channel is idle and channel is rarely idle. It is longer than 1-persistent as channel is checked randomly when busy.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.