orm@doc-tcpip.org

Erstellt: Mai 1999 - Letzte Modifikation: Oktober 2001

[ Main | Local ]


Die Grundlagen von Token Ring und Ethernet

Und etwas zu LAN, WAN, MAC, Ethernet II, LLC ...

Local Area Network und Konsorten

Man spricht meist von LANs (Local Area Networks), WANs (Wide Area Networks) und MANs (Metropolitan Area Networks). Die Technik wird immer besser, sodaß der Unterschied zwischen LANs und WANs geringer wird. Wo ein MAN anzusiedeln ist, war mir noch nie klar. Ich halte das für Marketing-Geschätz.

Die Bandbreite, also die Menge an Daten, die in einer gewissen Zeiteinheit vom Netz transportiert werden kann, muß unter den Teilnehmern aufgeteilt werden.

Es gibt zwei fundamentale Methoden der Bandbreitenzuteilung:
Das Token-Schema und Konkurriende Anforderung (Die deutschen Übersetzungen klingen ziemlich steif..).

Token: Wer das Token hat, darf senden. Dann muß das Token weitergegeben werden.

Konkurriende Anforderung: Wer senden will, prüft, ob das Medium (also das Netz, das Kabel) frei ist und sendet los.

LAN Standards

Dafür gibt es ein Kommitee des IEEE: Kommitee 802.
Das Kommitee teilt sich in weitere Gremien auf:

IEEE LAN-Adressen - MAC Adressen

Diese Adressen sind 48 Bit lang. Sie werden in 6 Oktette unterteilt. Dabei werden 24 Bit dem Kartenhersteller als Kennung zugeteilt, der Vendor Code bzw. auch OUI (Organizationally Unique Identifier). Die anderen 24 Bit kann der Hersteller dann auf seine Produkte verteilen, also die gebauten Karten durchnummerieren. Hier ein Beispiel mit weiteren Erläuterungen:

10011101.01001101.11011111.01010000.00000001.01010011
.     ==
.     |  G/I Bit: Gruppe/Individuum: 0 => eine bestimmte Station.
.     |                               1 => eine logische Gruppe von Stationen
.     G/L Bit: Global/Local: 0 => Die Adressen sind von globaler Autorität
.                                 (also eindeutig).
.                            1 => Die Adressen sind lokal festgelegt.
Im WWW finden sich an verschiedenen Stellen mehr oder minder komplette bzw. aktuelle Listen der Vendor Codes. Schließlich kommt es schon mal vor, das eine Sparte oder eine ganze Firma verkauft wird, und die MAC-Adressen Zuteilung wechselt dann natürlich auch den Besitzer. Die beste Seite dürfte die von der IEEE sein: standards.ieee.org/regauth/oui/index.html. Oder auch hier: www.cavebear.com/CaveBear/Ethernet/index.html.

802.3 (Ethernet, mehr oder minder)

Ethernet II ist das von Digital, Intel und Xerox (daher auch DIX) entwickelte Ethernet-Protokoll. Dieses Protokoll findet heute weiteste Verbreitung.

IEEE 802.3 ist das von der IEEE standardtisierte und weiterentwickelte Protokoll, was noch nicht so verbreitet ist.

Zunächst benutzen beide Protokolle folgende Methode zum Zugriff auf das Medium: CSMA/CD (Carrier Sense Multiple Access - Collision Detect). Auf gut Deutsch bedeutet das, daß es eine Leitungsüberwachung gibt, einen Mehrfachzugriff und eine Kollissionserkennung.

Wie das geht, zeigen folgende Bilder. s1 und s2 sind Stationen an den äußeren Enden des Netzes. Mit Tx sei die Zeit angegeben, die ein Signal auf diesem Netz braucht, um einmal von s1 nach s2 zu laufen (das hängt natürlich von der Physik und der Topologie des Netzes ab). Es geht los:

s1 ##>                                                     s2    0 Tx
s1 hat das Netz als frei erkannt (Carrier Sense) und sendet deshalb.

s1 ##################################################> <@@ s2  0.9 Tx
Millisekunden später ist das Signal durch 90% des Netzes durch, aber noch
nicht bei s2 angekommen. Just in diesem Moment prüft s2 das Netz, sieht
es als frei und sendet seinerseits.

s1 ##########################################<@#@#@#@#@#@> s2    1 Tx
Jetzt hat das Signal s2 erreicht; damit weiss s2, das es eine Kollision
gegeben hat. Damit sind beide Pakete zerstört, die Information also
unbrauchbar. Natürlich hört s2 nicht sofort auf zu senden - schließlich muß
s1 ja auch noch informiert werden, das es schiefgegangen ist.

s1 ######################<@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@> s2  1.5 Tx
Zu diesem Zeitpunkt weiss schon die Hälfte des Netzes, das es ein Problem
gegeben hat.

s1 <@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@> s2  2.0 Tx
Nachdem beide Signale das Netz voll durchlaufen haben, wissen beide
Stationen um die Kollission und den Verlust der Daten.

Diese Situation bzw. der Mechanismus definieren die Slot Time, die von Übertragungs-Geschwindigkeit und Ausdehnung des Netzes abhängt. Die Slot Time ist die Zeit, die ein Signal ans andere Ende des Netzes und wieder zurück braucht. Dabei ist es unerheblich, wo die Stationen genau sitzen - es könnte immer eine am extremen Ende zeitgleich gesendet haben!

Das ganze hat nur funktioniert, weil s2 trotz Erkennen der Kollision weitergesendet hat. Daraus folgt, das ein Paket mindestens so groß sein muß, daß seine Übertragung länger dauert als die Slot Time groß ist - sonst hätte s1 (der Sender) keine Change, die Kollision zu merken.

Was passiert, wenn kürzere Pakete möglich sind?

s1 ##>                                                     s2    0 Tx

s1                                    ###############> <@@ s2  0.9 Tx

s1                                        ###<@#@#@#@#@#@> s2    1 Tx

s1                       <@#@#@#@#@#@@@@@@@@@@@@@@@@@@@@@@ s2  1.5 Tx

s1 <@#@#@#@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@        s2  1.5 Tx

Die Station s1 hat ein kurzes Paket gesendet, und Station s2 hat kurz vor dem Empfang auch zu senden begonnen. Beide Pakete sind zerstört (besser: mit zerstörter Information gefüllt). Station s2 hat die Kollision gesehen, weiß das also, während s1 keine Ahnung hat, später ein Paket empfängt und versucht, mit den korrupten Daten etwas anzufangen. Es ist auch nicht möglich, diese Situation mit einem Satz verschiedener Timeouts abzufangen, den die oben geschilderte Situation ist nicht von folgender zu unterscheiden:

s1  <******* s3                           ###############> s2    1 Tx
Schließlich befinden wir uns auf einem Netz mit vielen Stationen...

Alle Pakete müßen also eine gewisse Mindestgröße haben. Da es möglich ist, daß ein höherliegendes Protokoll zu kleine Pakete generiert, muß ein Mechanismus vorhanden sein, der eventuell mit Nullen auffüllt.

802.3 und Ethernet II sind kompatibel. Man kann Stationen, die für sich eines der beiden Protokolle fahren, am selben Netz betreiben. Nur kommunizieren können sie nicht: Schlauerweise unterscheiden sich die Header.

Das ganze kommt daher, das IEEE 802 eine Schicht des OSI Protokoll Stapels, die Datenverbindungsschicht (zur Erinnerung: zuerst kommt die physikalische Schicht, dann die Datenverbindungsschicht), geteilt hat. Und zwar in MAC (Medium Access Control), also der für jede Art LAN typische Teil. Hier sind der Rahmenaufbau, die Fehlererkennung, die Kollisionserkennung, das Token-Handling etc. angesiedelt.

Und in LLC (Logical Link Control), also die Bereiche/Felder, die den weiter oben kommenden Protokollen die Benutzung des Links, der Verbindung, möglich machen.


[ Main | Local ]

[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | RPi | SMTP | Tracing | GPS | LW ]

Copyright 2001-2021 by Orm Hager - Es gilt die GPL
Feedback bitte an: Orm Hager (orm@doc-tcpip.org )