2

Take the coxial cable for example, I already understand in CSMA/CD all stations use the same channel to transit data,and if two stations transit data at the same time,a collision occurs and once the collision is detected,a jamming signal will be sent to notify all stations.
I want to know some more detailed information in this process: Let's assume a LAN with 3 stations A,B,C using coxial cable and hub.

  1. If A and B are sending data to C at the same time.How to detect the collision? Maybe the voltage on the coxial cable?
  2. Which station will detect the collision or all stations will detect the collision? I guess all stations should detect it because they all use the same channel,if the voltage changes,all stations will detect the voltage change.
  3. If all stations will detect the collision,what's the purpose of jamming signal?it seems that there is no need to use jamming signal.
  4. If one station detects the collision,and it sends a jamming signal to notify other stations,including the station which is sending data(station A). will the jamming signal collide with the normal signal? and NIC card of station A work in half duplex mode,how could it receive the jamming signal when it is sending data?
0
  1. On (obsolete) coax cable, a collision is detected by the channel voltage exceeding the normal scope (less than -1.5 V, see IEEE 802.3 Clauses 8.3.1.5 and 10.4.1.5).
  2. Some stations detect a collision sooner than others - the overlap of concurrent signals is local to each station, due to the limited propagation speed of the signals.
  3. Concurrent signals interfere with each other and produce different voltage levels all over the bus (running in different directions with limited speed). To make sure that all stations sense a collision, a jamming sequence makes sure that it's propagated throughout the collision domain. E.g. when two stations close to each other produce a collision, a station further away might not detect it due to the (short) signals not overlapping at its location.
  4. Yes, the jamming signal collides with a possibly still continuing transmission - one of the transmitting stations might not have sensed the collision yet. The transmitting station needs to monitor its tap for voltage anomalies.

Note that collision detection is simpler, more reliable and faster for full-duplex capable channels like fiber or twisted pair (channels, not links which would mean switching). Since there are dedicated send and receive channels, the sender simply needs to monitor its receive channel for a carrier, signaling a collision. That is the exact reason why the 5-4-3 rule allows more link segments (point-to-point) than it does mixing ones (multi-tap).

For reference, IEEE 802.3 defines jamming this way (the exact jamming sequence is defined in each PHY):

4.2.3.2.4 Collision detection and enforcement (half duplex mode only)

Collisions are detected by monitoring the collisionDetect signal provided by the Physical Layer. When a collision is detected during a packet transmission, the transmission is not terminated immediately. Instead, the transmission continues until additional bits specified by jamSize have been transmitted (counting from the time collisionDetect went on). This collision enforcement or jam guarantees that the duration of the collision is sufficient to ensure its detection by all transmitting stations on the network. The content of the jam is unspecified; it may be any fixed or variable pattern convenient to the Media Access implementation; however, the implementation shall not be intentionally designed to be the 32-bit CRC value corresponding to the (partial) packet transmitted prior to the jam.

Of course, coax cabling and half-duplex communication are all but obsolete. Modern networks use full-duplex, fully-switched links throughout.

| improve this answer | |
  • thank you for your reply. I couldn't understand why we need to send a jamming sequence to "make sure" all stations could sense the collision. In my opinion,all stations in the collision domain connect to the same bus,if there is a voltage change in somewhere in the bus,then everywhere in the bus could sense the voltage change. – aaron Jan 4 at 3:45
  • @aaron You seem to be ignoring the limited propagation speed of the colliding signals - the collision + jam signal need to fill the whole transmission slot or some stations might not detect it. – Zac67 Jan 4 at 8:05
  • Thank you Zac,the propagation speed is the one factor that I ignored :) – aaron Jan 6 at 1:55
0

Since, CSMA/CD is a Media Access Control protocol, whenever a PC wants to send data, it first sends out a dummy electrical signal into the channel to check whether any incoming data traffic is coming down or the line is free.

If, however, a collision is detected, which is simply voltage change on the medium the hosts that sent data, sense the voltage change (Jam signal), and immediately interrupt the transmission so that they go in recovery mode.

Then the two hosts that caused the collision, start a random back-off algorithm, once a random time expires the hosts immediately start to probe the channel again. This is how the data collision is avoided in half-duplex channels.

enter image description here

| improve this answer | |
  • 1
    “...immediately interrupts the transmission and sends an interference signal (JAM signal) so that all other stations can also detect the collision.” if it doesn't send the jam signal,all other stations will not detect the collision? all stations use the same channel,why couldn't they sense the voltage change if there is a collision? – aaron Jan 4 at 3:38
  • I wasn't entirely correct and edited the answer. As you suggest, it turns out the 'Jam Signal' is the voltage change on the wire itself and is sensed by nodes that are transmitting data or probing the channel. As long as stations are transmitting data, they listen for collisions (Jam Signals) down the line. – Bobby Voychine Jan 4 at 15:10
  • @aaron Did any answer help you? If so, can you please accept the answer so that the question doesn't keep popping up looking for an answer? – Bobby Voychine Jan 5 at 21:56
  • Thank you for your reply Bobby :) – aaron Jan 6 at 2:00

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.