orm@doc-tcpip.org | Erstellt: Mai 1999 - Letzte Modifikation: Oktober 2001 |
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.
Dafür gibt es ein Kommitee des IEEE: Kommitee 802.
Das Kommitee teilt sich in weitere Gremien auf:
802.1 Gemeinsame Eigenschaften aller LANs: Adressen, Verwaltung, Bridges
802.2 LLC (Logical Link control) Schicht
802.3 CSMA/CD (Carrier Sense Multiple Access - Collision Detect) Entwicklung des Ethernet
802.4 Token Bus LAN
802.5 Token Ring LAN
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.
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.
Ethernet II:
|Zieladr. 6 Byte|Quelladr. 6 Byte|Proto-Typ 2 Byte|Nutzdaten 46 - 1500 Byte|FCS 4 Byte|Der Protokoll-Typ ist z.B. IP.
802.3:
|Zieladr. 6 Byte|Quelladr. 6 Byte|Länge 2 Byte|DSAP 1 Byte|SSA 1
Byte|CTL 1 Byte|Nutzdaten 43 - 1497 Byte|FCS 4 Byte|
Dabei ist:
CTL: abhängig davon, ob es LLC Typ 1 (verbindungsloser Datagramm Verkehr)
oder LLC Typ 2 (verbindungsorientierter Verkehr) ist.
DSAP: Destination Service Access Point Zu welchem Service, welcher Schicht im
Protokoll-Stapel soll das Paket?
SSAP: Source Service Access Point Welcher Service, welche Schicht im
Protokoll-Stapel schickt das Paket?
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.
[ 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