IEEE 802.5: Ring • • • • Token Ring Vielzahl von Punkt-zu-Punkt Verbindungen also kein Broadcast der Sendungen Kommunikation nur zwischen benachbarten Stationen Stationen kopieren Informationen bitweise von einer Leitung auf die andere Prinzip • Token ist ein Rahmen mit besonderem Bitmuster • Auf Ring zirkuliert genau ein Token • Bevor Station senden darf, muß sie Token besitzen und vom Ring entfernen • Station darf Token festgesetzte Zeit behalten und evtl. mehrere Rahmen senden • Nach dem Senden generiert Station neues Token Daten und Token auf dem Ring DTE C setzt die Response Bits am Rahmenende A erkennt anhand der Response Bits die Empfangssituation ⇒ die Daten zirkulieren tatsächlich einmal komplett um den Ring 2 Methoden der TokenWeitergabe a) Standard b) Early token release Early Token Release • das Standard-Verfahren gibt den Token erst weiter, wenn die Sendung wieder komplett beim Sender angekommen ist • der Ring ist dann komplett ohne Daten • bei höheren Datenraten wäre dann viel Kapazität verschwendet • ⇒ Early Token Release hängt Token an letzte Daten • ⇒ bessere Kanalausnutzung • trotzdem ist immer nur genau 1 Token im Umlauf Bitübertragungsschicht • Medien: Verdrillte Kupferkabel (Shielded Twisted Pair) oder Koaxialkabel • Digitale Übertragung: Differentielle ManchesterCodierung • Übertragungsrate: (1 und) 4 MBit/s Sender A: sendet Daten hängt Token an letzten Rahmen Sender B: nimmt Token vom Ring hängt Daten an vorhergehende Rahmen hängt Token an letzten Rahmen usw. • Anwendung im 16 MBit/s Token Ring • wird etwas variiert bei FDDI • max. 250 Stationen • meistens sind alle Umschalter in einem Hub/Verkabelungszentrum konzentriert • durch BypassModus Kabelbrüche in Anschlußleitungen überbrückbar Erweiterungen • Koaxialkabel, Lichtleiter (in Form von FDDI) • Höhere Übertragungsraten: 16 MBit/s mit Early Token Release Minimale Ringverzögerung Max. Wartezeit • Annahme: keine Station möchte senden • ⇒ nur Token zirkuliert auf Ring • ⇒ Ring muß lang genug sein, damit das Token komplett darauf paßt Frage Wie lange muß eine Station maximal warten, bis sie wieder die Sendeberechtigung erhält? V L K Signalgeschwindigkeit [200 m/µs] gesamte Ringlänge Übertragungskapazität [Bit/s] ⇒ Ringumlaufzeit U = L/V Ringbitzahl R=U*K RMax RT TT U K N TMax Beispiel 1: L = 1 000 m Anzahl Bits auf dem Ring K = 4 MBit/s ⇒ R = 20 Bit ⇒ Das Token von 802.5 (3 Byte) paßt nicht auf Ring! = = = = = = = max. Rahmenlänge [Bit] Token-Länge [Bit] Transportzeit für Token zum Nachbarknoten Ringumlaufzeit Übertragungskapazität Anzahl der Stationen Umlaufzeit eines kompletten Datenrahmens Station A sende einen Rahmen und gebe dann das Token weiter ⇒ ⇒ TMax TT = = Rmax /K + U RT /K + U / N Lösung: Künstliche Verzögerung in jeder Station durch Puffer Max. Wartezeit W tritt auf für den Fall: alle anderen senden einen Rahmen + D N Verzögerung / Station [Bit] Anzahl der angeschlossenen Stationen W ⇒ ⇒ Ringumlaufzeit U = L/V + N * D/K Ringbitzahl R = U * K = L * K/V + N * D Beispiel 2: L = 1 000 m K = 4 MBit/s N = 50 D = 1 (wie bisher skizziert) ⇒ R = 70 Bit Bei Abschaltung/Ausfall einiger Stationen muß ggf. die Verzögerung in einer Station dynamisch vergrößert werden = = = (N-1) (RMax /K + U) (N-1) (RMax /K + U) (N-1) (RMax /K + U) + + + Token N mal weitergegeben N (RT /K + U / N) N RT /K + U U = 0 für RT << Rmax Rahmenformat Abhörmodus Token ⇒ ⇒ Tokenbit T in AC = 0 ⇒ Rahmen = Token Tokenlänge = 3 Byte Rahmen Bytes • Bitweise kopieren von Input nach Output (dabei automatisch Signalregeneration) Start of Frame Durch Checksum abgedeckt End of Frame Zieladresse zwischenspeichern Zieladresse = Stationsadresse ? Wenn ja, Rahmen bitweise übernehmen Access Control (AC) ⇒ LSB - first P T = = M R = = • Start-of-Frame - Sequenz entdeckt • Token identifiziert & sendewillig Ändere Token in Start-of-Frame - Sequenz Gehe in Sendemodus Priority-Bits Token Bit T = 0 : Rahmen = Token T = 1 : Datenrahmen Monitor Bit (zur Erkennung verwaister Rahmen) Reservierungs-Bits "Entfernen des Tokens vom Ring": T := 1 “Start of Frame”-Sequenz: SD AC mit T = 1 • da das Datenfeld beliebig lang sein kann und keine Längeninfo wie bei 802.3 CSMA/CD vorliegt, kann über den Ending Delimiter ED auf die Rahmenlänge geschlossen werden Sendemodus Prioritätensteuerung Steuerung über Prioritäts- und Reservierungsbits in AC von Datenrahmen und Token P R Priorität des ankommenden Tokens (0 = niedrig / 7 = maximal) Priorität der Reservierung für nächstes Token Station möchte Rahmen mit Priorität N senden Starte Timer (10ms = max. Sendezeit pro Station) • Solange noch kein Timeout & Sendewunsch Rahmen bitweise senden Entfernen der umgelaufenen Bits vom Ring • Wenn Senden beendet Neues Token generieren Gehe in den Abhörmodus • bekommt Token nur, wenn N ≥ P • wenn nicht, kann sie nächstes Token mit Priorität N reservieren, indem sie in die Reservierungsbits des anliegenden Tokens oder Datenrahmens N einträgt (R := N ), aber nur, wenn N > R • gerade sendende Station bemerkt die Reservierung (R > 0) beim Wegnehmen „ihrer“ Rahmen vom Bus, generiert neuen Token mit Priorität R (P := R) • die nächste Station mit N ≥ P, die diesen empfängt, kann senden • liegt am Übertragungsende keine Reservierung vor, wird ein Token mit der gleichen Priorität desjenigen erzeugt, der für die Übertragung benutzt wurde Rücksetzen der erhöhten Priorität • wurde ein Token erhöhter Priorität von einer Station erzeugt, ist sie auch dafür verantwortlich, daß diese auf den ursprünglichen Wert zurückgesetzt wird: • dazu merkt sie sich die ursprüngliche Priorität und beobachtet alle eingehenden Token • findet sie einen mit der erhöhter Priorität ohne Reservierungseinträge, setzt sie diesen Token auf die ursprüngliche Priorität zurück Weitere Steuerfelder Ring-Management • Eine aktive Monitorstation pro Ring Frame Control Feld legt Typ des Rahmens fest (Steuer- oder Datenrahmen) • Standby Monitorstationen in allen anderen Stationen • Monitor benutzt Steuer-Rahmen: Adreßfelder Adressen werden vom IEEE vergeben Prüfsumme schützt nicht alle Felder, da einige durch andere Stationen veränderbar trotzdem durch zusätzliche Kontrollmechanismen sicher CLAIM_TOKEN: Versuch, Monitor zu werden DUPLICATE_ADDRESS_TEST: Überprüft, ob zwei Stationen dieselbe Adresse haben ACTIVE_MONITOR-PRESENT: Zeigt Vorhandensein eines aktiven Monitors an. Wird periodisch vom Monitor gesendet. STAND_BY_MONITOR_PRESENT: Zeigt Vorhandensein von potentiellen Monitoren an Frame Status Feld A = address recognized C = frame copied r = reserved ⇒ Empfänger existiert ⇒ Empfänger hat Daten gelesen AC = 00 ⇒ Empfängerstation inaktiv oder nicht existent AC = 11 ⇒ Datenübertragung o.k. AC = 10 ⇒ Empfänger wahrscheinlich derzeit überlastet PURGE: Reinitialisiert Ring BEACON: Zur Meldung/Lokalisierung von Ringunterbrechungen Managementaufgaben Stationen • entdecken Ausfall des Monitors • bestimmen einen Monitor (Claim Token - Prozedur) IBM Token Ring • bis 250 Stationen • 4 und 16 MBit/s Verbindung von Ringen Monitor erkennt und behandelt Fehler, z. B. verwaiste Rahmen • entstanden z.B. durch Ausfall einer sendenden Station, die ihre Rahmen nicht mehr entfernen kann • sendende Stationen setzen das Monitorbit auf 0 • das Monitorbit aller am Monitor vorbeikommenden Rahmen wird auf 1 gesetzt • wenn ein Rahmen mit Monitorbit = 1 am Monitor vorbeikommt, muß er verwaist sein • ⇒ PURGE verlorene Token • Monitor verwaltet Timer, um Verlust eines Tokens zu entdecken • Timer wird gestartet, immer wenn ein Token passiert • Timeout-Intervall: längstmögliches Intervall ohne Token • Timeout ⇒ • PURGE • Monitor generiert neues Token Brücke = Rechner mit zwei Schnittstellenkarten Vorteile • höhere Zuverlässigkeit • mehr als 250 Stationen • unterschiedliche Übertragungsraten in unterschiedlichen Ringen • Rahmenlänge nicht begrenzt IEEE 802.4: Token Bus • Wurde im Rahmen von MAP (Manufacturing Automation Protocol) unter der Federführung von General Motors entwickelt • Anwendung: Prozeßsteuerungen in der Industrieautomatisierung Bitübertragungsschicht Übertragungsmedium: Breitband-Koaxialkabel (75 Ohm) Lineare (bus-) oder baumförmige Topologie • entspricht der üblichen Kabelnetzverdrahtung • die Möglichkeit von Verzweigungen erlaubt effektive Verkabelung Analoge Übertragung • Breitbandtechnik mit Trägersignal • relativ unempfindlich gegen niederfrequente Einstreuungen (in Fabriken usw.) • Physikalisch: Logisch: Bus Ring • hier: A und D nicht im Ring • Zugriffsmethode: Token • Um Ring auf dem Bus zu bilden, muß jede Station die Adresse ihres Nachfolgers (und Vorgängers) kennen • Beachte:beim Token Ring schon durch physische Struktur gegeben Übertragungsgeschwindigkeiten • 1 MBit/s • 5 MBit/s • 10 MBit/s Ankopplung • anders als Token Ring hier keine aktive Regeneration des Signals, sondern rein passive Ankopplung an den Bus • damit auch kein „physischer“ Bypass für inaktive Stationen nötig MAC Protokoll Format von Token und Datenrahmen Prinzip • Stationen im logischen Ring nach Adressen geordnet • Token Passing von höheren zu niedrigeren Adressen (mit Ausnahme zwischen der „letzten“ und „ersten“ Station) • Station empfängt Token Daten senden ? ja: Starte Timer Sende solange Rahmen bis alle gesendet oder Timeout Sende Token an Nachfolger nein: Sende Token an Nachfolger Präambel: Empfängersynchronisation Frame Control: Rahmentyp (Token, Daten, Management) Token ⇒ FD = 00001000 Data_Unit = 0 Byte lang Adressen: wie bei 802.3 und 802.5 Data_Unit: 0 - 8182 Bytes (bzw. 8174 bei 6-Byte Adressen) Prioritätsmechanismus Ring-Management 4 Prioritätsklassen: 0, 2, 4, 6 (höchste Priorität) Prinzip: • Jede Station darf Token gleich lang behalten • eine Station entspricht 4 logischen Stationen, eine pro Priorität • Token Passing: Si6 ⇒ Si4 ⇒ Si2 ⇒ Si0 • Effekt: Stationen mit höherer Priorität können Token länger halten Beispiel: • 50 Stationen • 10 MBit/s Übertragungsrate • Für Prio 6 wird 1/4 der Bandbreite einer Station reserviert • ⇒ 50 kBit/s Bandbreite/Station für Prio 6 garantiert Keine zentrale Management-Station • verteilte Kontrolle • meistens organisiert durch die Station, die Token besitzt, mittels Managementrahmen verglichen mit Token-Ring sehr viel mehr Management nötig • Initialisieren des logischen Rings (beim Start und nach schweren Fehlern) • Festlegen der Reihenfolge durch Adreßvergabe • Einfügen und Ausgliedern von Stationen in logischen Ring • dafür ist dies, anders bei Token-Ring, durch die passive Ankopplung auch im laufenden Betrieb möglich • Verwaltung des Token Management-Rahmen (beanspruche Token) CLAIM_TOKEN: • Token während der Initialisierung anfordern (Bitte um Nachfolger) SOLICIT_SUCCESSOR: • Eintreten von Stationen in den Ring (löse Konflikt auf) RESOLVE_CONTENTION: • Behandlung von Kollisionen beim Eintritt von Stationen (setze Nachfolger fest) SET_SUCCESSOR: • Entfernen von Stationen aus dem Ring (wer folgt) WHO_FOLLOWS: • Entfernen zusammengebrochener Stationen aus dem Ring Einige Management-Operationen I Einige Management-Operationen II Ring Initialisierung • 1. Station im Ring sendet CLAIM_TOKEN an alle Entfernen zusammengebrochener Stationen • Station X entdeckt Fehler ihres Nachfolgers N • Sendet WHO_FOLLOWS (To:N; From:X) (Broadcastbit in Adresse aktiv) • Keine weiteren CLAIM-TOKEN-Anforderungen (nach 2τ) ? ja: Generiere Token (einzige Station im Ring) nein: Kollision ⇒ Auflösungsalgorithmus • Einfügen weiterer Stationen: SOLICIT_SUCCESSOR_1 Einfügen von Stationen • Token-Besitzer X sendet periodisch • Nachfolger NN von N sieht WHO_FOLLOWS ⇒ sendet SET_SUCCESSOR (To:X; Succ:NN) mögliches Problem: NN antwortet nicht: Derzeitiger Nachfolger SOLICIT_SUCCESSOR_1 (From:X; Succ:S) • Stationen im Bereich [X, S] können sich melden • Meldung erfolgt (innerhalb von 2 τ)? nein: response window geschlossen, normaler Fortgang ja: genau eine Meldung erfolgt? ja: Station wird in Ring aufgenommen nein: Kollision: RESOLVE_CONTENTION ⇒ X verbreitet SOLICIT_SUCCESSOR_2 • jede aktive Station soll sich melden • genau eine Station? ja: Station wird Nachfolger von X nein: Kollisionsbehandlung Token-Verlust • Station hat Timer T • Übertragung ⇒ T = 0 Entfernen von Stationen • Token-Besitzer X will Ring verlassen hat Nachfolger N hat Vorgänger V • Sendet SET_SUCCESSOR (To:V; Succ:N) • Timeout T ⇒ Claim Token (Ringinitialisierung) Mehrere Tokens • Tokenbesitzer bemerkt Übertragung • Wegwerfen des eigenen Tokens Zusammenfassung Ethernet (10 MBit/s) Zusammenfassung Token-Ring (10 MBit/s) 802.3: 802:5 + am meisten verbreitet + nur digitale Technik + Anschluß von Stationen, ohne Netz abzuschalten + Vielzahl von Übertragungsmedien + keine Modems, da Basisband + Verkabelungszentren: Automatisches Erkennen und Beseitigen von + praktisch keine Wartezeit bei geringer Auslastung Kabelbrüchen + Deterministisches Verhalten (max. Wartezeit) - analoge Komponente zur Kollisionserkennung + Prioritäten - minimale Rahmengröße (64 Bytes) + beliebig lange Rahmen - nicht deterministisch (keine max. Wartezeit) + guter Durchsatz bei hoher Auslastung - keine Prioritäten - mit steigender Auslastung Zunahme von Kollisionen - zentraler Monitor - Verzögerungen durch Warten auf Token - teurer als 802.3 Ethernet ⇒ schlechter Durchsatz bei hoher Auslastung Zusammenfassung Token-Bus (10 MBit/s) 802:4 + weitverbreitetes Medium (TV-Kabel) + deterministisch (max. Wartezeit) + Prioritäten + Guter Durchsatz bei hoher Auslastung + Breitbandkabel: Unterstützung mehrerer Kanäle (Daten, Sprache, Video) - viel Analogtechnik (z. B. Breitbandverstärker, Modems) - komplexes Protokoll - Verzögerungen durch Warten auf Token Zusammenfassung: Lokale Netzwerke
© Copyright 2024 ExpyDoc