- Aufbau eines Datenrahmens nach Senden einer Station
o Startbegrenzer und Endbegrenzer: Kennzeichnen Anfang und Ende eines Rahmens o Zugriffssteuerung: Token-Bit, sowie Monitorbit, Prioritätsbits und Reservierungsbits o Rahmensteuerung: unterscheidet Datenrahmen von vers. Steuerrahmen o Rahmenstatus: A (an Zieladresse angekommen) o. C (Kopieren des Rahmens)
- Token-Haltezeit o Station darf Token höchstens für die Dauer der Token-Haltezeit behalten: normal bei 10ms o Falls nach Übertragung des ersten Rahmens noch genug Zeit bleibt, dürfen weitere Rahmen gesendet werden o Falls Zeit abgelaufen o. keine weiteren Datenrahmen zum Senden wird 3Byte-Token wieder auf den Ring gegeben
- Ringwartung o Überwachungsstation (Monitor Station), die ganzen Ring im Überblick hat o Bei Ausfall kann jede andere Station zur Überwachungsstation ernannt werden (durch Konkurrenzprotokoll) o Aufgaben: Überwachung des Tokens, Maßnahmen bei Ringzusammenbruch, Säuberung von Rahmenbruchstücken, verwaiste Rahmen behandeln o Verwaiste Rahmen: wenn Station Rahmen sendet und Empfängerstation dann aussteigt/ausfällt bevor Rahmen wieder abgezogen wird -> endloses Kreisen -> MS setzt M-Bit im AC-Bereich des Token -> wenn Rahmen das 2. Mal an MS vorbei kommt, löscht diese ihn o Verlorene Token: Timer mit tokenlosen Zeitintervall; wenn dieser abläuft, wird Ring geleert und neues Token erzeugt o Verstümmelte Rahmen: kann durch ungültiges Rahmenformat o. Prüfsumme entdeckt werden; Ring wird entleert und neues Token erzeugt
IEEE-Norm 802.4: Token Bus
- Physisch aus linearen o. baumförmigen Kabel, an dem Stationen angeschlossen sind (physische Reihenfolge der Stationen spielt keine Rolle) - Jede Station kennt Adresse ihrer beiden Nachbarn
- Ringinitialisierung o Einfügen der Station in der Reihenfolge ihrer Stationsadressen (von der höchsten zur niedrigsten)
o Station mit höchster Nummer schickt den ersten Rahmen; dann Erlaubnisübergabe an unmittelbaren Nachbarn durch Tokenweitergabe (Steuerrahmen)
- Token bewegt sich durch logischen Ring; nur Besitzer des Tokens hat Sendeerlaubnis -> keine Kollisionen - Broadcast-Medium: o jede Station empfängt jeden Rahmen (Verwerfen, wenn nicht an sie adressiert) o bei Tokenweitergabe spezielle Adressierung an den Nachbarn (gleichgültig wo sich dieser physisch im Netz befindet)
- Prioritätsklassen o 0,2,4,6 (0 ist niedrigste Klasse, 6 die höchste) o Jede Station wird intern in vier Unterklassen aufgeteilt o Wenn MAC-Teilschicht Daten schickt, werden sie auf die Prioritäten geprüft und zu einer der vier Unterstationen weitergeleitet
o Präambel: Takt des Empfängers synchronisieren o Startbegrenzer und Endbegrenzer: Kennzeichnen der Rahmengrenzen o Rahmensteuerung: unterscheidet Datenrahmen (auch Rahmenpriorität) von Steuerrahmen; Indikator für korrekten oder fehlerhaften Empfang eines Rahmens, Token-Weitergabe, Wartungsrahmen
- Steuerrahmen
- Wartung o Eintreten in den Ring (neue Station): Token-Inhaber ermöglicht periodische Abfrage von Stationen außerhalb des Rings, die sich einklinken wollen -> Senden eines SOLICIT_SUCCESSORRahmen; beinhaltet Sender- und Empfängeradresse; nur Stationen innerhalb dieses Bereichs können eintreten -> Ring bleibt richtig sortiert o Verlassen des Rings: Station X mit Nachfolger S und Vorgänger P sendet an P den Rahmen SET_SUCCESSOR und teilt ihm dadurch mit, dass S der neue Nachfolger ist; X stellt danach Übertragung ein
o Ausfallen einer Station: Vorgängerstation sendet WHO_FOLLOWS-Rahmen mit Adresse der ausgefallenen Station; erkennt Nachfolger der ausgefallenen Station den Rahmen schickt dieser darauf einen SET_SUCCESSOR-Rahmen und ernennt sich somit zum neuen Nachfolger; ausgefallene Station wird so entfernt o Tokenbesitzerausfall: Jede Station besitzt Timer, der auf 0 gesetzt wird, sobald ein Rahmen erscheint; wenn Timer Grenzwert überschreitet: CLAIM_TOKEN-Rahmen -> Empfänger des Tokens wird bestimmt o Vorhandensein mehrerer Token: Wenn eine Station, die Token besitzt, eine Übertragung einer anderen Station bemerkt, verwirft sie das eigene Token
ETHERNET
Verkabelung
a) 10Base5: Thick Ethernet - Anschlüsse über Vampirabzweige (Vampire Tab): ein Stift wird bis zur Hälfte in den Kern eines Koaxialkabels gedrückt b) 10Base2 c) 10Base-T
Nachteile
Fehlersuche bei Coax
Viele Stationen an einem Kabel verbunden
Wenn Kabel im Netz kaputt geht Mehrere Maschinen offline (schwierige Fehleranalyse)
Fehlersuche bei Twisted Pair
Viele Stationen an einem HUB verbunden
Wenn nur ein Computer offline: Kabel kaputt Wenn alle offline: Hub kaputt
Repeater, Hub und Transceiver
Repeater
- Signalverstärker (empfängt, verstärkt und überträgt Signale) - Ermöglicht Verbindung mehrerer Kabelsegmente Limitationen: max. Distanz zwischen zwei Stationen: 2,5km
Hub
- Gerät/Büchse, das mehrere Kabel vereint - Verteilt Signale auf mehrere Geräte
Transceiver
- Wird fest auf das Kabel geklemmt, sodass seine Spitze das innere Kabel berührt - Enthält Elektronik zur Träger- und Kollisionserkennung - Bei Kollisionserkennung: Senden eines Ungültigkeitssignals - Bei 10Base2 wird Transceiver an Schnittstellenkarte im Rechner angeschlossen
o Länge: Anzahl der Bytes des Datenfeldes (mind. 64 Byte, um gültige Rahmen von Müll zu unterscheiden; falls Datenteil kleiner, wird dieser aufgefüllt) o Präambel: Signalsynchronisation o Quell- und Ziel 0 für normale Adressen, 1 für Gruppenadressen (Multicast) o Pad: füllt Datenrahmen, damit dieser zulässige Mindestgröße hat o Daten: bis zu 1500 Bytes o Prüfsumme: Fehlermeldung
Kollisionen
- Carrier Sense: nur senden, wenn Kanal frei ist - Bei Kollision: Binärer exponentieller Backoff-Algorithmus o Zeit wird in Schlitze unterteilt, deren Länge der vollen Übertragungszeit im schlechtesten Fall entspricht (512 Bitzeiten) o Nach 1. Kollision entweder 0 oder 1 Schlitzzeit warten, bevor erneuter Sendeversuch o Bei 2. Kollision: zufällige Wahl einer Schlitzzeit {0,1,2,3} o Bei 3. Kollision: nächste zufällige Wartezeit zwischen 0 und 2^3-1 o Für i Kollisionen: Zufallszeit zwischen 0 und 2^i-1 o Nach 16 Kollisionen: Aufgabe und Fehlermeldung an Software Layer
Switched Ethernet
Verwendung eines Switches für zielgerichtetes Verschicken von Datenrahmen; Daten werden mithilfe von MAC-Adressen direkt an einen Netzwerkteilnehmer geschickt
MAC Adresse (Media Access Control Address)
- Hardwareadresse jedes einzelnen Netzwerkadapters (eindeutige Adresse) -> wichtig für Netzwerkkommunikation - Aber keine Angaben zum Standort: deshalb IP-Adresse - IP Adressierung enthält ungefähren Ort des Zielrechners (notwendig fürs Routing)
WLAN
Verschiedene Versionen (unterschieden sich in Technik und Geschwindigkeit)
Ethernet und WLAN werden auf Layer 2 verbunden, warum nicht auf Layer 3?
- Layer 2 benutzt man in Gebäuden/Firmen - Verbindung auf Layer 3 realisiert das Internet - Größe: mehrere kleine Netzwerke werden miteinander zu einem größeren verbunden -> erhöhte Bandbreite - Zuverlässigkeit: mehrere kleinere Switches besser vor kompletten Ausfällen geschützt als ein großer Switch - Sicherheit: einzelne Netze bleiben unter sich - Geschichte: Zusammenschluss von vers. Firmen
PCF und DCF Modi (zur Vermeidung von Hidden und Exposed Station Problem)
PCF (Point Coordination Function)
- Zentrale Station (Access Point) vergibt Senderechte an einzelne Stationen, dazu fragt sie nach der Reihe ab, ob eine Station Senden möchte (Polling) - Durch zentrale Steuerung werden Kollisionen vermieden Vermeidung von Hidden Station und Exposed Station Problem
- Zugriffssteuerung auf Medium durch zeitliche Gliederung (Slot-Zuweisung) Vermeidung von Hidden Station Problem, aber nicht von Exposed Station Problem
BRIDGE
- Ermöglichen Verbindungen von LANs
- Gründe o Vers. Abteilungen (z.B. in Universitäten) -> vers. Ziele -> vers. LANs, um unabhängig von anderen Abteilungen zu entscheiden -> Bridge für spätere Zusammenarbeit o Weit voneinander entfernte Gebäude/Maschinen (Bridges günstiger als Koaxialkabelverbindungen) o Belastungsverteilung (benötigte Bandbreite zu hoch für einzelnes LAN) o Zuverlässigkeit (ein defektes LAN setzt nicht komplettes System aus) o Sicherheit (Teile des Netzes können isoliert werden)
- Prinzip o Frame in bestimmtes LAN schicken mithilfe von Tabellen (müssen dynamisch sein) o Adresse des Empfängers steht im Frame o Probleme, wenn Empfänger nicht in anliegenden LAN ist, sondern weiter enfernt
Bridging Algorithmen
- Frame kommt an Bridge an o Frame hat Sender X und Empfänger Y o Frame kommt aus LAN1 - Wenn Y = LAN1 o Frame löschen, da bereits in LAN1 - Wenn Y ein andres LAN, z.B. LAN2 o Wenn Bridge mit LAN2 verbunden, Frame schicken o Wenn nicht verbunden, suche nach LANk, dass mit LAN2 verbunden ist o Frame senden an LANk - Wie findet man das LAN von Y? Riesige Tabelle in der alle Rechner der Welt stehen mit zugehörigen Bridges und LANs (für Realität viel zu aufwendig)
- Frame wird einfach von einem Netzwerk in das nächste übertragen/kopiert - Header- und Daten-Bereich werden dabei nicht verändert
Wie erstelle ich meine Hash-Tabelle?
Second Chance Algorithmus
- Bitschalter wird zu jedem Tabelleneintrag hinzugefügt, wenn Frame empfangen wird (Node, Lan, Flag) - Ist ein Frame von C über LAN L empfangen worden o Ja: (C, L, 1) -> (C, L, 0) refresh o Nein: (C, L, 1) - 2. Chance: Rechner noch aktiv? o Ja: (C, L, 0) -> (C, L, 1) o Nein: (C, L, 1) -> Löschen (Rechner wird aus Hash-Tabelle entfernt)
Backward Learning
Lernen, wo Absender sich befinden aufgrund deren Sendeaktivität -> Eintrag in Tabelle
- Bridges können jeden Frame ihres LANs sehen - Immer wenn Frame Bridge passiert, prüft sie über welches Netzwerk Frame kam und wer der Absender ist -> Erkenntnis, wo Absender sich befindet (Bsp.: (A, LAN k) -> Frame kam von Maschine A über LAN k)
Tabellenupdate o Ist A mir schon bekannt? -> neuer Eintrag in Hash-Tabelle: A ist über LAN k erreichbar o Habe ich die richtigen Informationen über A? -> Eintrag erneuern o Wenn ich A schon richtig kenne: Second Chance
Flooding Algorithmus
- Bei erstmaliger Installation der Bridges Hash-Tabelle leer (keiner der Bridges weiß, wo welches Ziel liegt) - Jeder eintreffende Rahmen (mit unbekanntem Ziel) wird auf jedes angeschlossene LAN ausgegeben, außer auf das, von dem er gekommen ist - Bridge lernt mit der Zeit, wo alle Ziele liegen
Topologie
Maschinen und Bridges können ein- und ausgeschaltet oder verlegt werden
Für dynamische Topologie wird Ankunftszeit des Rahmens in den HashTabelleneintrag mit aufgenommen Jedes Mal, wenn Frame ankommt, wird Zeit aktualisiert
Schleifenbildung bei Switches
Parallele Nutzung von zwei oder mehr Bridges zwischen zwei LANs -> Überlastung -> Frames werden dupliziert
Spanning Tree Protocol - Bei Ausfall einer Bridge, wird Spanning Tree neu berechnet -> andere Bridge wird aktiviert
Spanning Tree Algorithmus
- Um fiktive schleifenlose Topologie aufzubauen, werden einige potenzielle Verbindungen zwischen den LANs ignoriert - Identifizierung von Mehrfachwegen, indem Topologien mit redundanten Wegen durch logische Blockierung bestimmter Pfade in eine Baumtopologie überführt - Genau ein Pfad von jedem LAN zu jedem anderen (Schleifen somit unmöglich) Bildung eines überspannenden Baumes - Baum wird über Pfadkosten und die jeweilige Seriennummer der Bridges erstellt
Repeater, Hub, Bridge, Switch, Router
Data Link Layer: Services provided to Network Layer
Framing
Wie Anfang und Ende eines Frames erkenne?
- Anhand der Framelänge: Nachteil, da bei Error (Bit kippt) der Frame und auch alle darauffolgenden Frames zerstört werden, da nicht mehr erkannt wird, an welcher Stelle nächster Frame beginnt Flags an Anfang und Ende des Frames (Flag, Payload, Flag)
Bitstopfen
Einfügen eines oder mehrerer Füllbits in eine Datenübertragung, um Signalinformationen (keine Nutzdaten) an Empfänger zu übermitteln
- Nach jeder fünften 1 eine 0 einfügen - Beispiel: o 1011 1111 1111 0010 o 1011 1110 1111 1000 10
Fehlererkennungscode
Empfänger kann Fehler feststellen (aber nicht die Art) und bittet um erneute Übertragung
Fehlerkorrekturcodes
Empfänger kann Fehler feststellen und korrigieren
Hamming-Abstand
Anzahl der Bitpositionen, in denen sich zwei Codewörter unterscheiden
- Beispiel: 0110 & 1111 -> Hammingabstand = 3 - Korrekturbits (wie viele nötig?) 2^r-r-1 = m - Paritätsbit zur Aufdeckung von einzelnen Bitfehlern o Gerade Parität: gerade Anzahl von 1 = 0 ungerade Anzahl von 1 = 1 o Ungerade Parität: Gerade Anzahl von 1 = 1 Ungerade Anzahl von 1 = 0 o Beispiel: 1011 1111 1111 0010 -> pro Byte ein Paritätsbit mit gerader Parität -> 1011 1111 1 1111 0010 1
Beispiel: 1011 1111 1111 0010
1) m = 1011
1. 2. 3. 4. 5. 6. 7. 0 1 1 0 0 1 1 20 21 22
Mithilfe einer Binäruhr
0 1 2 3 4 5 6 7 20 X X X X 21 X X X X 22 X X X X
- Anfangscode (4 Bits) wird um 3 Bits erweitert (an Stelle der ersten drei 2er-Potenzen) - Summe der in der Binäruhr markierten Stellen muss gerade sein
2) m = 1111 -> 1111111 3) m = 1111 -> 1111111 4) m = 0010 -> 0101010
0110011 1111111 1111111 0101010
Burstfehler
- Mehrere Bits hintereinander fehlerhaft - Fehler oft voneinander abhängig (ein Fehler verursacht viele andere) - Problem Hamming Code: bei mehreren Fehlern an einer Stelle funktioniert Fehlerkorrektur nicht mehr Lösung: Interleaving o Bits werden zu einem Byte auf ganzen Datenstrom aufgeteilt o Wenn z. B. 4 Bits im Datenstrom nacheinander kippen, diese aber zu 4 unterschiedlichen Bytes gehören, kann der Hamming Code diese noch korrigieren
Uneingeschränktes Simplex-Protokoll
- Datenübertragung nur in eine Richtung (Empfänger kann Sender nicht senden) - Sender sendet kontinuierlich (stoppt nicht, verlangsamt nicht) - Empfänger empfängt kontinuierlich - Keine Fehler
- Problem: Empfänger ist eventuell zu langsam, kann nicht alle Daten empfangen A) Sender pausiert zwischen zwei Frames B) Empfänger sagt Sender, wann er fortfahren darf (mittels Bestätigungsrahmen)
Symplex-Protokoll für rauschende Leitungen
- Problem für Stop-and-Wait bei rauschendem Kanal: o Bestätigungspakete gehen verloren o Sender kommt nur selten zum senden (obwohl Empfänger die Last verarbeiten könnte)
Automatic Repeat Request (ARQ) zur Fehlerkontrolle - Bei Fehlererkennung des Empfängers, wird Frame verworfen und sendet negatives Bestätigungspaket (NACK) an den Sender o Sender empfängt NACK: kaputter Rahmen wird nochmals gesendet o NACK geht verloren (Sender empfängt keine Bestätigung): Sender startet beim Senden einen Timer, läuft dieser ab ohne das Sender
eine Bestätigung erhalten hat, wird der Rahmen noch einmal gesendet (wird so oft wiederholt, bis Rahmen ankommt)
- Problem: Empfänger hat Paket bereits unbeschädigt erhalten, aber Bestätigungsrahmen an Sender geht verloren -> Sender schickt neues Paket Anhand von Folgenummern im Header kann Empfänger erkennen, ob es sich um einen neuen Rahmen handelt oder um ein Duplikat