Hoe werkt ethernet?

Inhoudsopgave
  1. 1. Inleiding
  2. 2. Protocol stack
  3. 3. Ethernet
  4. 4. MAC-adressen
  5. 5. Coax
  6. 6. Hubs en switches
  7. 7. Snelheden
  8. 8. Frames
  9. 9. Jumbo frames

MAC-adressen

De adressering van datapakketten binnen een ethernetnetwerk in huis of in een bedrijf maakt gebruik van zogenaamde MAC-adressen, waarbij MAC staat voor Media Access Control. Zo MAC-adres is een volledig unieke code die ieder netwerkapparaat heeft. Ethernet maakt gebruik van 48-bit adressen, zoals gestandaardiseerd en uitgegeven door de IEEE-organisatie. Dat betekent dat er in totaal 248 = 281.474.976.710.656 verschillende MAC-adressen mogelijk zijn. Zelfs de meest pessimistische schattingen zeggen dat op zijn vroegst in het jaar 2100 overgestapt moet gaan worden op 64-bit MAC-adressen om extra ruimte te creëren.

De eerste 24-bits van een MAC-adres zijn een fabrikantscode. Met de laatste kan een fabrikant alle netwerkproducten die van de band rollen opvolgend van een eigen uniek adres voorzien. Dat adres wordt opgeslagen in een stuk read-only geheugen in de firmware van een apparaat. MAC-adressen worden over het algemeen genoteerd als een reeks van zes maal twee hexadecimale karakters, gescheiden door streepjes of dubbele punten. Bijvoorbeeld: 68:6a:82:b3:af:12:3d. Ethernet is niet de enige standaard die gebruik maakt van IEEE’s 48-bit MAC-adressen, ook onder meer Bluetooth en Wi-Fi maken er gebruik van.

In de header van een ethernet frame zit zowel het MAC-adres van de zender als dat van de ontvanger. Ethernetcontrollers ‘bekijken’ de headers van het verkeer dat ze via de netwerkkabel binnenkrijgen. Herkennen ze hun eigen adres als geadresseerde, dan zullen ze de binnenkomende data verwerken. Wordt het eigen adres niet herkend, dan wordt het betreffende frame geheel genegeerd. Hierop bestaat één uitzondering: wanneer een bepaald pakket naar alle computers in het netwerk verstuurd moet worden, wordt gebruik gemaakt van ff:ff:ff:ff:ff:ff als doeladres.

Collision detection

Tegenwoordig zijn vrijwel alle ethernetnetwerken opgebouwd als sternetwerk – waarover verderop meer – maar bij de eerste implementaties waren alle computers fysiek verbonden met één en dezelfde kabel (in jargon: een busstructuur). Net zoals je vermoedelijk niets gaat verstaan wanneer drie mensen in één ruimte tegelijkertijd beginnen met praten, is één van de belangrijkste onderdelen van de ethernetstandaard een technologie die ervoor zorgt dat computers één voor één en niet allemaal tegelijkertijd data op de kabel zetten. De gebruikte technologie heet CSMA/CD (Carrier Sense Multiple Access with Collision Detection) en werkt in een notendop als volgt. Wanneer een ethernet-apparaat data wil gaan versturen, bekijkt het of de kabel in gebruik is. Zo ja, dan wacht het apparaat totdat de bestaande communicatie klaar is, wacht daarna een willekeurige tijd en begint daarna zelf met zenden.

Mochten onverhoopt twee of meer apparaten op exact hetzelfde moment beginnen met data verzenden, dan wordt dat herkend en wordt alle communicatie stopgezet. Alle apparaten wachten dan opnieuw een willekeurige, maar deze keer wat langere tijdsduur, waarna ze het opnieuw proberen. Het apparaat met de kortste willekeurige tijdsduur trekt aan het langste eind en kan aan de slag. Mocht opnieuw twee apparaten exact op hetzelfde moment beginnen met zenden, dan wordt opnieuw gestopt, weer een willekeurige tijd gewacht en vervolgens opnieuw geprobeerd, totdat uiteindelijk slechts één apparaat de bus gaat gebruiken.

Advertentie
0