ethernet collisions
het verleden:
Collisions kwamen vooral voor in nu verouderde Ethernet-varianten (10BASE5, 10BASE2, 10BASE-T en 100BASE-TX) die gebruik maken van coax media en repeaters, of twisted pair netwerken verbonden via hubs.
switched ethernet:
Moderne ethernet-netwerken, gebouwd rond switches met full-duplexverbindingen, veroorzaken zelden collisions gezien elk ethernet-segment een point to point verbinding is tussen switch en host of tussen twee switches onderling -- telkens met een apart kanaal voor elke richting.
Vandaag wordt een collisiondomain slechts actief bij een slechte kabel, die toch nog werkt in half-duplex, of indien een switch rechtstreeks verbonden is met een hub, of een coax transceiver.
wat is een collision:
Indien twee pakketten gelijktijdig op een medium (coax of utp kabel) terechtkomen, spreekt men over een collision. Bij een collision ontvangt geen van beide destinations een volledig frame.
Collisions worden automatisch gedetecteerd, en gecorrigeerd in drie stappen:
-
collision detection:
Op coax 10BASE5 of 10BASE2, worden collisions gedetecteerd door transmitted data te vergelijken met received data of ook door het detecteren van hogere signaal amplitudes (gemixt signaal zorgt hier en daar voor dubbele amplitudes). - jamming signal:
Is een media-vuller met een 32-bit bit patroon verzonden door afzenders na een positieve collision detection. Doel is de andere stations te informeren dat er een collision heeft plaatsgevonden.
wikipedia jam-signal
A station noting a collision has occurred is sending a 4 to 6 byte long pattern composed of 16 1-0 bit combinations. The purpose of this is to ensure that any other node which may currently be receiving a frame will receive the jam signal in place of the correct 32-bit MAC CRC, this causes the other receivers to discard the frame due to a CRC error.
- backoff algorithm:
Beide afzenders zoeken een methode om hun pakket toch te verzenden zonder de andere te storen. Dat gebeurt met random number generators. Die kiezen elk een random getal per afzender. De typische interframe-tijd wordt vervolgens vermenigvuldigd met dit getal vooraleer toegang te vragen tot het medium. Gezien beide deelnemers waarschijnlijk een ander getal genereren, wordt het éne frame verstuurd voor het andere zonder collision. Bij een tweede collision wordt de bovengrens van de random generator verdubbeld, en herhalen ze het proces, nu met dubbel zoveel kansen op succes. Die verdubbelling kan zo nodig verschillende malen na mekaar voorkomen.