Einleitung
Sicherungsschicht Data Link Layer, OSI Level 2 Architektur der zweiten Schicht HDLC Media Acces Control Ethernet Token Ring
Aufteilung der Schicht Die Sicherungsschicht besteht aus zwei Teilschichten Logic Link Control (LLC) Media Access Control (MAC)
Logic Link Control Aufgabe ist die Flusssteuerung und die Bereitstellung verschiedener Dienste für die Vermittlungsschicht Unbestätigter verbindungsloser Dienst Bestätigter verbindungsloser Dienst Verbindungsorientierter Dienst Daten der Vermittlungsschicht werden in Rahmen eingebettet und an die MAC weitergereicht Fehlererkennung und -korrektur
Rahmenbildung Bitübertragungsschicht liefert Bitstrom, der zwischen Sender und Empfänger verfälscht werden und sogar die Länge ändern kann Zur Fehlererkennung werden daher Rahmen gebildet, über die eine Prüfsumme berechnet werden kann Rahmen müssen eindeutig erkennbar sein Zeitlücken kommen aufgrund undefinierter Synchronisation nicht in Frage
Arten der Rahmenbildung Zeichenzählung Anfangs- und Endzeichensetung (Zeichstopfen) Anfangs- und Endflags (Bitstopfen) Verstöße gegen Kodierungsregeln der Bitüberstragungsschicht
Zeichenzählung Im Header eines Rahmens wird die Länge des Datenfeldes vermerkt Empfänger liest die Länge aus und interpretiert alle folgenden Zeichen als Daten Probleme gibt es wenn die Länge verfälscht wurde Nachteil: Durch die Prüfsumme wird ein Fehler erkannt, Resynchronisation ist jedoch nicht mehr möglich
Zeichenzählung Zeichenzählung ohne (a) und mit (b) Fehler
Zeichenstopfen Jeder Rahmen beginnt mit ASCII-Folge DLE STX und endet mit DLE ETX Um Übertragung von Binärdaten zu ermöglichen, die zu Rahmenkonflikten führen könnten wird ggf. ein DLE Zeichen eingefügt Bei Rahmenverlust muss lediglich bis zum nächsten DLE STX gewartet werden Nachteil ist die enge Bindung an ASCII
Zeichenstopfen (a) Daten der Vermittlungsschicht (b) Daten nach Zeichenstopfung der Sicherrungsschicht (c) Entstopfte Daten auf der Empfängerseite
Bitstopfen Neue Technik hat es ermöglicht, Datenrahmen für beliebige Bitfolgen zu gestatten Blöcke werden durch ein Flag getrennt => einfache Resynchronisation Damit ein Flag nicht mit Daten verwechselt werden kann, werden ggf. Bits in den Datenstrom eingefügt
Bitstopfen (a) Originaldaten (b) Daten nach dem Bitstopfen (c) Daten für die Vermittlungsschicht der Empfängerseite
Regelverstöße Sofern eine redundante Leitungskodierung verwendet wird, können diese zur Rahmenkennung genutzt werden Beispiel: Manchester Kodierung 1 = high/low 0 = low/high high/high und low/low nicht vorgesehen In der 802 Norm kommen diese Werte dennoch zur Rahmenkennzeichnung zum Einsatz
Effizienzsteigerung Beim Stopfen und bei Regelverstößen muss der komplette Datenstrom überprüft werden Daher: Kombination mit der ansonsten nicht mehr verwendeten Zeichenzählung Rahmenlänge wird vorher mitgeteilt, eine Kontrolle findet nur statt wenn das offizielle Ende erreicht wurde
Highlevel Data Link Control Weit verbreitetes Protokoll des OSI Layers 2 Erlaubt Punkt-zu-Punkt Verbindungen (balanced) Punkt zu Mehrpunkt Verbindungen (eine Hauptstation, mehrere Nebenstationen) Bitorientiert, Transparenz durch Bitstopfen Ähnliche oder erweiterte Protokolle sind z.b.: SDLC (von IBM) LAP B (Teil der X.25 Paketvermittlung) LAP D (Teil von ISDN) LLC (Logic Link Control)
HDLC Rahmenaufbau Das bereits bekannte Flag Adresse des Senders bzw. Empfängers Steuerung gibt die Art des Blocktyps an Daten zwischen 0 und 131 Bytes 2-Byte Prüfsumme mit G x =x 16 x 12 x 5 1
(a) Information HDLC Steuerfeld (b) Überwachung (Receive (not) ready, Reject (goback-n), Selective Reject) (c) Unnumeriert (Steuerung, Verbindungsverwaltung, Polling)
HDLC Steuerfeld Seq = Sequenznummer (0-7) P/F = Polling/Final (erzwingt ggf. Antwort) Typ = RR, RNR, SR (siehe Überwachung) Next = Huckepack Bestätigung (Piggyback)
Beispiel: HDLC-LAP B Link Access Procedure Balanced Herstellen und Freigeben von Schicht 2 Verbindungen (Punkt-zu-Punkt) Erhaltung der Übertragungsreihenfolge der Blöcke Fehlererkennung und -behebung (soweit möglich) Flusskontrolle
Begriffserklärung N(S) Sendefolgenummer N(R) Empfangsfolgenummer S Bits für Steuerung M Legt die Steuerungsfunktion fest P/F wie gehabt
Bits im Steuerfeld
Begriffserklärung Der Befehl SABM (Set Asynchronous Balanced Mode) fordert die Gegenstelle auf, in die Datenübertragungsphase des gleichberechtigten Spontanbetriebs überzugehen. Die Antwort auf diesen Befehl ist UA; zusätzlich werden alle internen Zähler (N(R), N(S)) auf null gesetzt. Der Befehl DISC (Disconnect) hält die Übermittlung an; die Gegenstation hat mit UA zu antworten, und die Station geht in den Zustand abgebrochen über.
Begriffserklärung Die Meldung UA (Unnumbered Acknowledge) bestätigt SABM- und DISC-Befehle, mit deren Ausführung (z.b. Nullsetzen von Zählern, Senden von Datenblöcken) bis zum Eintreffen dieser Nachricht gewartet wird. Die Meldung DM (Disconnected Mode) wird gesendet, wenn sich eine Station im Zustand abgebrochen befindet und zur Zeit nicht in einen anderen Zustand wechseln kann.
Korrekte Verbindung Beide Stationen senden zunächst nur flags zur Empfangsund Sendebereitschaft Verbindungsaufbau beginnt mit dem senden das SABM- Blocks
Fehlerhafte Verbindung SABM-Block kommt nicht an, wird nach Timeout erneut gesendet (max. N2 mal) Um Falle eines Disconnects ist der Ablauf ähnlich
Begriffserklärung I(N(R),N(S)) für einen Datenblock mit Folgenummern N(R) und N(S) RR(N(R)) für Receive-Ready-Block mit Folgenummer N(R) RNR(N(R)) für einen Receive-Not-Ready-Block mit Folgenummer N(R) REJ(N(R)) für einen Reject-Block mit Folgenummer N(R)
Begriffserklärung V(S): Sendefolgezähler; enthält die Nummer, mit der der nächste Datenblock zu senden ist. V(S) wird nach Senden eines Datenblocks um 1 (mod 8) erhöht. V0(S): Folgenummer N(R) des letzten von der Gegenstation empfangenen Blocks. Der Abstand zwischen V(S) und V0(S) (mod 8) darf niemals größer als sieben werden, damit niemals mehr als sieben unbestätigte Blöcke ausstehen.
Begriffserklärung V(R): Empfangsfolgezähler N(S) des nächsten erwarteten Datenblocks. Trifft ein fehlerfreier Block mit der Nummer N(S)=V(R) ein, so wird N(S) um 1 (mod 8) inkrementiert. K: Maximale Anzahl unquittierter Datenblöcke (z.b. 7) T1: Timer für die Zeitüberwachung. N2: Höchste Anzahl von Wiederholungen bei Zeitablauf. N3: Höchste Anzahl von Bits in einem Block.
Datenphase
Datenphase
Datenphase
Media Access Control Grundproblem: In Broadcast-Netzen steht ein Übertragunsmedium für viele Stationen zur Verfügung. Dieser Zugang muss geregelt werden Ziel ist eine möglichst effiziente Nutzung des Mediums Es gibt im wesentlichen zwei Verfahren Deterministische (Koordinierter Mehrfachzugriff) Stochastische Verfahren (Konkurrierender Mehrfachzugriff
IEEE Standard
Konkurrierende Verfahren pure ALOHA slotted ALOHA nicht-persistentes CSMA 1-persistentes CSMA p-persistence CSMA CSMA/CD CSMA=Carrier Sense Multiple Access, CD=Collision Detection
Ethernet
ALOHA 1970 an der Universität von Hawaii entwickelt zur Kanalzuteilung im bodengestützten Datenfunk Grundidee ist auf jedes System übertragbar, in dem unkoordinierte Benutzer um die Benutzung eines einzelnen Kanals konkurrieren: Sender sendet Paket sofort bei Sendebereitschaft Empfänger sendet Quittung Ausbleiben der Quittung = Paket wurde gestört (Sender wiederholt Paket nach zufälliger Wartezeit)
ALOHA
Slotted ALOHA Wie kann die kritische Zeit von 2t = doppelter Rahmenlänge reduziert werden? Durch die Einführung von definierten Zeitpunkten, zu denen ein Benutzer anfangen darf zu senden (Zeitschlitze). Welcher Nachteil entsteht dadurch im Gegensatz zum ursprünglichen Verfahren? Es wird ein zentraler Zeitgeber benötigt, auf den sich alle Stationen synchronisieren müssen.
Slotted ALOHA
Carrier Sense Multiple Access Problem ALOHA: Stationen interessieren sich nicht für die Aktivitäten der Nachbarstationen hohe Anzahl von Kollisionen schlechte Auslastung des Kanals Lösung: Überwachung der Kanalbelegung Protokolle, bei denen die Stationen einen Träger abhören, werden als Carrier Sense Protocols bezeichnet
CSMA Wie kann es trotz Trägererkennung (carrier sense) zu Kollisionen kommen? Problem: eine Station beginnt mit dem Senden, eine zweite Station ist solange nicht in der Lage dies zu erkennen, bis das Signal der ersten Station bei ihr eintrifft - negative Auswirkung von Signallaufzeiten Sonderfall: zwei (oder mehr) Stationen beginnen gleichzeitig mit der Aussendung
CSMA
CSMA-CD CD - Collision Detection nach dem Erkennen einer Kollision erfolgt der sofortige Rückzug vom Medium (Zeitersparnis) Senden eines JAM Signals es wird eine bestimmte Zeit (in Abhängigkeit von Persistenz) gewartet, bis ein neuer Sendeversuch gestartet wird CSMA/CD kommt in der Form IEEE 802.3 (Ethernet) weltweit zum Einsatz
CSMA-CD
CSMA-CD Wie lang muss ein Datenpaket (in Bit) mindestens sein, damit eine sichere Kollisionserkennung stattfinden kann?
CSMA-CD Worst Case: Stationen liegen 1000 m auseinander, Station 1 beginnt mit dem Senden, Station 2 beginnt kurz vor Eintreffen des ersten Bits von Station 1 ebenfalls mit dem Senden => Das erste gestörte Bit muss ebenfalls die gesamte Wegstrecke von Station 2 zu Station 1 zurücklegen. Zeit bis zum Eintreffen des ersten Bits bei Station 2: => T = 1000m 0,6 3 10 8 m/ s =5,6 s T Bit = L in Bit= 2 T = 11,2 s =112 Bit T Bit 0,1 s 1 10MBit /s =0,1 s
CSMA-CD nach IEEE 802.3 Maximale Reichweite bei 10MBit 5*500m = 2,5km Laufzeit + Verzögerung der Repeater = 51,2μs => Mindespakettlänge = 64 Byte Was ist bei höheren Übertragungsraten?
Ethernet Paketformat
Persistenz Nach erkannter Kollision gibt es unterschiedliche Verfahren, wie persistent (beharrlich) eine Station erneut auf das Medium zugreift 1-Persistent CSMA Eine sendewillige Station beginnt sofort nach freiwerden des Mediums zu senden. Bei wenigen Stationen kommt es kaum zu Wartezeiten, bei vielen sendewilligen Stationen jedoch zu vielen Kollisionen
Persistenz Non-Persistent CSMA Eine sendewillige Station wartet bei belegtem Medium immer einen Zeitraum mit zufälliger Länge ab, um einen erneuten Sendeversuch zu starten. So kommt es zwar nicht unmittelbar nach freiwerden des Mediums zu vielen Kollisionen, u.u. wird aber nicht gesendet, obwohl das Medium frei ist.
Persistenz P-Persistenz CSMA Mit einer im voraus festgelegten Wahrscheinlichkeit von P startet die Station nach Freiwerden des Mediums zu senden. Mit der Gegenwahrscheinlichkeit von 1-P wird eine bestimmte Zeit gewartet, bis ein neuer Versuch gestartet wird. So können bestimmten Stationen Vorrechte beim Zugriff auf das Medium zugeteilt werden
Binary Exponential Backoff Nicht-persistenter Algorithmus Bei Kollision wird der Kanal in zwei Zeitschlitze fester Länge eingeteilt (51,2 μs) Sendewillige Station(en) wählt zufällig einen Slot Kommt es wieder zu Kollisionen wird der Kanal wiederum unterteilt (4 Zeitschlitze) bis maximal 1024 Zeitschlitze erreicht sind (10 aufeinander folgende Kollisionen) Nach 16 Kollisionen wird die Übertragung abgebrochen und zur Fehlerbehandlung weitergereicht
Durchsatz der Verfahren
Koordinierte Verfahren Ein koordinierender Mechanismus sorgt dafür, dass jeweils nur eine sendewillige Station übertragen kann Es wird sichergestellt, dass die Rechte zum Senden unter allen sendewilligen Stationen gerecht verteilt werden Das mit Abstand wichtigste Verfahren in der Klasse der deterministischen Zugangsverfahren ist das Token Passing Die Norm IEEE 802.5 beschreibt das Verfahren IBM implementierte das Verfahren in seiner Token Ring Technologie Eine Weiterentwicklung des Token Rings, das Fiber Distributed Data Interface (FDDI) benutzt ebenfalls ein (verbessertes) Token Passing Verfahren
Token Passing Dem Verfahren zugrunde liegende Topologie ist immer ein Ring Das Token ist ein besonderer Rahmen, der im Ring von einer Station an die nächste weitergegeben wird (Bei Weiterleitung wird i.d.r. das Signal regeneriert) Das Token kann als beladen oder als frei gekennzeichnet sein Nur die Station, die gerade ein als frei gekennzeichnetes Token hat, darf senden
Token Passing Der Sender belegt das Token für sich und schickt es weiter Ein oder mehrere Daten Rahmen werden direkt im Anschluss an das Belegt-Token verschickt. Der Empfänger erkennt die für ihn bestimmten Rahmen am Adressfeld und empfängt die Daten und speichert sie in seinen Puffer Erreicht das Belegt-Token wieder den Sender, nimmt der es von Ring und wartet bis auch der letzte Datenrahmen bei ihm eingeht Evtl. kann er die empfangenen mit den gesendeten Daten zur Prüfung vergleichen Anschließend gibt er ein Frei-Token auf den Ring
Token Passing
Token Passing Monitorstationen behandeln Fehlersituationen Das Token verschwindet durch eine Störung Eine Station hält ein Token länger als die erlaubte Zeit Verwaiste Rahmen befinden sich auf dem Ring Die Monitorstation meldet sich regelmäßig mit einem Lebenszeichen (Spezieller Rahmen) bei den übrigen Stationen
Token Passing Fällt die Monitorstation aus, bzw. meldet sich nicht, so übernimmt eine andere Station deren Funktion: Diese sendet einen Claim-Token-Rahmen Passiert der Claim-Token-Rahmen den ganzen Ring und kommt zurück, dann wird die neue Station Monitorstation Jede Station kann prinzipiell Monitorstation werden
Token Ring Die Token Ring Technologie wurde von IBM in den 70er Jahren entwickelt Hinter Ethernet ist Token Ring die zweitwichtigste LAN Technologie Die Spezifikation IEEE 802.5 orientierte sich an IBMs Architektur IEEE 802.5 und Token Ring unterscheiden sich nur in wenigen Details IBM sieht eine physische Sterntopologie vor, während die IEEE Norm nichts festlegt IBM verwendet Twisted Pair Kabel, während die Norm keinen besonderen Kabeltyp vorsieht
Token Ring (Bypass)
Mehrere Verkabelungszentren
Toking Ring Format
Slotted Ring Monitor Bit: Monitorstation erkennt daran, ob Token zweiten Umlauf gemacht hat Antwort Bits: ignored (11), accepted (01), rejected (10), busy (00) Kontrollbits: Für andere Protokollschichten
Slotted Ring (Ablauf) Monitostation erzeugt einen oder mehrere Slots Sendewillige Station überprüft Belegt Bit, setzt es ggf. und füllt Daten ein Empfänger setzt je nach Zustand die Antwort Bits Monitorstation setzt beim ersten Vorbeilauf das Monitor Bit Sender erhält Rahmen mit gesetzten Antwort Bits Monitorstation erkennt erneuten Umlauf des Rahmens am gesetzten Monitor Bit und löscht ihn
Token Ring
DQDB Double Queue Double Bus
DQDB Kann als LAN und MAN verwendet werden Aufbau mit Lichtwellenleiter Reichweiten bis 100km Datenraten Geplant bis 600 Mbit/s Real bis 140 Mbit/s Technisch überholt und wird kaum noch verwendet
Automatic Repeat Request (ARQ) Problem: Wie erkennt der Absender, ob die Daten erfolgreich angekommen sind? Durch positive oder negative Bestätigung
ARQ Verlust eines Datenblocks: Senke wartet auf Daten Quelle wartet auf Bestätigung Verlust einer Quittung: Quelle wartet auf Bestätigung Senke wartet auf Daten Ohne Zeitschranke (time-out) wird der Sender im Falle eines Fehlers blockiert ACK = Acknowledge, Bestätigung
ARQ mit Zeitschranke a) Fehlerfreie Übertragung b) Nachrichtsverlust wird durch Ablauf der Zeitüberwachung erkannt
ARQ mit Zeitschranke Nach dem Time-out wird der Block ein zweites mal gesendet Empfänger kann nicht entscheiden, ob der Block bereits verarbeitet wurde
Zeitschranke + Sequenznummer Jeder Block erhält eine Sequenznummer Wird ein Block wiederholt gesendet, wird die Sequenznummer beibehalten
Sequenznummern Sequenzummern können auch bei Bestätigungen verwendet werden Dadurch können mehrere Blöcke am Stück bestätigt werden
Go-back-n ohne Puffer Das ACK bleibt aus, der Timer läuft ab Alle bisher unbestätigten Blöcke werden wiederholt gesendet
Go-back-n mit Puffer Das ACK für Block 2 bleibt aus, alle folgenden Blöcke werden zwischengespeichert Nach dem Timeout wird mit der Wiederholung des ersten nicht bestätigten Blockes begonnen (in diesem Fall Block 2)
Go-back-n mit Puffer Im Puffer stehen aber noch die Blöcke 3-8, so dass nun die Blöcke 2-8 vorhanden sind und bestätigt werden Erneut gesendete Blöcke 3-6 werden verworfen, 7 und 8 können eingespart werden Verfahren ist kompliziert und findet kaum Einsatz
Selektive Wiederholung Blöcke werden einzeln bestätigt Alle Blöcke werden gepuffert Bleibt die Bestätigung aus, wird nur der fehlerhafte Block neu gesendet Ebenfalls selten verwendet
Passive Fehlerkontrolle Keine Unterscheidung zwischen fehlenden und fehlerhaften Blöcken Starke Zeitverzögerung bis zur Wiederholung
Aktive Fehlerkontrolle Blöcke gehen selten vollständig verloren, meist werden nur Daten verfälscht Verfälschte Blöcke können vom Empfänger erkannt und mit NACK (negative ACK) bestätigt (somit neu angefordert) werden
Flusskontrolle
Flusskontrolle Sender ist leistungsstark oder schwach belastet Empfänger ist leistungsschwach oder stark belastet Damit der Empfänger nicht mit Daten überschwemmt wird, darf der Sender nur unter bestimmten Umständen senden Dies wird als Flusssteuerung (Flow Control) bezeichnet und wird in den Protokollen der Sicherungsschicht geregelt
Fenstermechanismus Sender darf so viele Informationsrahmen senden, wie die Fenstergröße angibt Danach muss eine Bestätigung abgewartet werden Empfänger kann bereits vor dem Erreichen der Fenstergröße eine Bestätigung senden
Schiebefenster Sliding window W=3 Sender: Sendeaktionen verschieben den hinteren Zeiger, ACK's den vorderen Empfänger: Eintreffende Blöcke verschieben den hinteren Zeiger, versendende den vorderen
Schiebefenster Öffnen und schließen eines Fensters Sequenznummern werden sowohl zur Flusssteuerung als auch zur Fehlerkontrolle verwendet
Zusammenfassung Teilschichten der Sicherungsschicht Beispiele für MAC: Ethernet Token Ring HDLC LAP B Automatic Repeat Request