27 Eylül 2017 Çarşamba

Carrier Sense Multiple Access With Collision Detection - CSMA/CD

CSMA/CD Eski Bir Teknoloji
Half duplex ortamda kullanılır. Modern eternette yeri yok. Açıklaması şöyle
CSMA/CD is a protocol used for communication over half-duplex communications media.

10BASE-5 and 10BASE-2 links are half-duplex by nature but are extremely rare nowadays. Hubs (aka multiport repeaters) are also by their nature half-duplex.

10BASE-T, 100BASE-TX and 1000BASE-T links are full duplex at the electrical level but for backwards compatibility and to allow the use of hubs they support a half-duplex mode where simultanious transmission is treated as a collision.

Autonegotiation allows devices to automatically choose a speed and duplex, it was introduced alongside the 100 megabit standards. If one end supports autonegotiation and the other does not then for compatibility reasons the end with autonegotiation will default to half-duplex mode. As a general rule devices that support 100Mbps and higher support autonegotiation, 10Mbps only devices do not.

In principle you can run full duplex without autonegotiation by manually specifying full duplex mode on both ends of the link but in practice that way lies pain. It is very easy to end up with an inadvertant duplex mismatch which results in a link that works very badly in ways that are diffiult to troubleshoot.
Modern Eternet
Açıklaması şöyle. Modern eternette switch kullanıldığı için CSMA/CD kullanmaya gerek yok.
First, beware that modern switched Ethernet LANs are not CSMA/CD anymore. CSMA/CD was a technique that applied to 10mbit/sec and 100mbit/sec Ethernets that used hubs, not switches. And honestly there were never many 100BASE-TX hubs around; everyone went to switches around that time. The Gigabit Ethernet (1000BASE-T) spec requires switches; there's no such thing as a GigE hub.

On modern switched Ethernets, you don't have a shared medium anymore. When you're plugged into a switch, the "collision domain" is only between you and your switch port. And if you're in full duplex mode, which is almost always true with switches, then you don't have any possibility of collision at all. If you can't have a collision, you'll never detect a collision, so you'll never have reason to transmit a jam signal.
Ancak eğer switch yerine eski bir hub kullanılması durumunda modern eternet half duplex'i destekliyor. Half duplex modu 10GB eternet'ten itibaren desteklenmiyor. Açıklaması şöyle
In fact, there was a movement to not include half-duplex for 1000Base-T, but it still made it into the standard. For 10 Gb ethernet, half-duplex was dropped so there is no such thing as 10 Gbps half-duplex ethernet as a standard.

Unless you still have a hub (they are still around) or a device that doesn't support full-duplex (they exist, especially for 10Base-T), 10Base-T or 100Base-TX on UTP don't really need half-duplex.
"Gigabit Ethernet" kitabındaki açıkama şöyle
The answer is more political than technical. Gigabit Ethernet was developed under the auspices of the IEEE 802.3 Working Group. By definition, 802.3 networks must include the capability of CSMA/CD operation. [Note: This was true at the time of the writing of the Gigabit Ethernet stamdard; it is no longer the case.] If Gigabit Ethernet offered a full-duplex-only solution, it would have been difficult to justify its development within the IEEE 802.3 Working Group. [...]
  1. The resulting standard would have had difficulty calling itself “Ethernet,” since it would not use CSMA/CD (even as an option) and it would not have been developed as part of IEEE 802.3, the recognized “owner” of the Ethernet name.
Çakışma Olursa Ne Olur
Cihazlar rastgele bir süre daha bekler ve tekrar göndermeyi dener. Açıklaması şöyle
In CSMA/CD once a collision is detected, the colliding devices send a jam signal. Assuming you know the collision detection method used by CSMA/CD, the jam signals generated after collision informs the devices that a collision has occurred and invokes a random backoff algorithm which forces the devices on the Ethernet not to send any data until their timer expires. (everyone has a random timer value)
Coaxial Kablo
Coaxial kablolarda voltajın fazla olması ile çarpışma olduğu anlaşılıyordu. Açıklaması şöyle
Ethernet started out as a protocol for coaxial shared medium networks. In the event of a collision the voltage levels on the cable would be wrong and the transceivers would detect this and tell the MACs. Any data received at this point would be garbage.

The receiving MAC would ignore any data coming in, and possibly increment a collision counter. The MAC has no reason to pass the garbage coming in from the PHY up to the host computer. The sending MACs would also see the collision, they would keep transmitting for the minimum frame time to ensure the collision was seen throughout the network. They would then wait for a random backoff before trying to send the frame again, hopefully the random backoff times used by the two sending MACs would be sufficiently different that one of them would succesfully send it's frame while the other would detect the line as busy and wait it's turn.

Now enter repeaters (aka hubs). A repeater has a number of PHYs but no MACs. When a repeater detects a collision it outputs a "Jam signal". This ensures that the collision is seen across the whole network.



Hiç yorum yok:

Yorum Gönder