1

I'm currently studying about the CSMA protocol and I struggle to understand the meaning of "listen" in the well known definition:

CSMA is based on the principle "sense before transmit" or "listen before talk".

For example: Consider stations A,B. Let's say the cable is idle. So, A starts to transmit (it is true to say that only when finished transmitting, the propagation begins?)

Now, B want to transmit some frame. How B knows that A is transmitting? There is something that A sends to the other station before it start transmitting?

1
  • 1
    B knows A is transmitting because it sees A's signal on the wire. A collision will happen if B begins to transmit before A's signal has reached it. – Ricky Apr 7 '16 at 20:34
2

If station A needs to transmit, it tries to detect the presence of a carrier signal from another node before attempting it. If there is no carrier then it starts to transmit and this transmission starts to propagate.

It means that while the first bit reach the farthest point of the media, station A is still transmitting.

Let's suppose that station B needs to transmit, it detects a carrier in the media and then waits for the transmission in progress to end before initiating its own transmission.

The propagation delay is not the same for each media (air, coaxial cable, UTP, fiber optic, etc.). That's why there is a distance limit for each media. To be sure that whenever a station needs to use the media every other station is aware of the state of it.

Exceeding the recommended distance limit will cause late collisions: A type of collision that happens further than is allowed. It will decrease the throughput of the communication link because the data error will go up to the upper layers.

2

In an Ethernet segment (a collision domain), all the stations are connected to a common media or cable. In the original Ethernet implementation, it was a physical coax cable that ran though the building -- each station was connected to this cable. So when A transmits, B and everyone else can measure the electrical signal and detect that A is transmitting. Because it is a cable, the signals propagate at near the speed of light (about 0.6c).

1

it is true to say that only when finished transmitting, the propagation begins?

No, the signal starts propagating as soon as transmission starts but the propagation takes time.

Now, B want to transmit some frame. How B knows that A is transmitting?

The receiver in B will be active and will detect the signal coming from A.

Unfortunately with pure CSMA there is a time window when A has started transmitting but B is not aware of it. If B starts transmitting during this window you have a collision.

Ethernet gets arround this by using collision detection (Hence CSMA/CD). If a collision is detected then both transmitters back off for a random period before trying again. Reliable detection of collisions is ensured by the following measures.

  • Setting a minimum packet size and hence a minimum transmission time.
  • Setting a maximum size of the collision domain and hence a maximum propagation delay.

Wifi uses different techniques as direct collision detection is not feasible in the wireless environment.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.