Nachdem wir uns im vorherigen Kapitel mit der Bitübertragungsschicht (Layer 1) beschäftigt haben, bewegen wir uns nun eine Ebene höher im OSI-Referenzmodell zur Sicherungsschicht (Data Link Layer, Layer 2). Diese Schicht ist dafür verantwortlich, die rohen Bitströme der physikalischen Schicht in strukturierte Dateneinheiten zu organisieren und eine zuverlässige Übertragung zwischen direkt verbundenen Netzwerkknoten zu gewährleisten.
Im Zentrum der Sicherungsschicht steht das Konzept des “Frames” – der grundlegenden Datenübertragungseinheit auf dieser Ebene. Frames sind strukturierte Container, die Nutzdaten kapseln und mit zusätzlichen Informationen versehen, um eine geordnete und fehlerfreie Übertragung zu ermöglichen. Die Art und Weise, wie Frames strukturiert, erkannt und verarbeitet werden, wird durch verschiedene Framing-Techniken definiert.
In diesem Kapitel werden wir uns eingehend mit der Struktur von Frames, unterschiedlichen Framing-Techniken und deren praktischer Bedeutung befassen. Wir betrachten, wie Frames die Grundlage für die Kommunikation zwischen direkt verbundenen Netzwerkgeräten bilden und wie verschiedene Standards unterschiedliche Framing-Methoden implementieren.
Ein Frame (zu Deutsch: Rahmen) ist eine strukturierte Einheit von Daten, die auf der Sicherungsschicht (Layer 2) verarbeitet wird. Frames erfüllen mehrere wichtige Funktionen:
Ein Frame besteht typischerweise aus folgenden Komponenten:
Die Hauptherausforderung beim Framing besteht darin, den Anfang und das Ende eines Frames innerhalb eines kontinuierlichen Bitstroms eindeutig zu identifizieren. Eine Übertragung enthält keine natürlichen Trennzeichen zwischen Frames, weshalb spezielle Techniken erforderlich sind, um die Grenzen zu markieren.
Weitere Herausforderungen sind:
Die verschiedenen Framing-Techniken wurden entwickelt, um diese Herausforderungen zu bewältigen.
Im Laufe der Entwicklung der Netzwerktechnologie wurden verschiedene Framing-Techniken entwickelt. Die wichtigsten dieser Techniken werden im Folgenden vorgestellt.
Beim zeichenbasierten Framing werden spezielle Kontrollzeichen verwendet, um den Anfang und das Ende eines Frames zu kennzeichnen.
Eine klassische Methode des zeichenbasierten Framings ist das Byte-Stuffing, auch bekannt als Zeichenfüllung:
Beispiel: - Zu übertragene Daten:
A B STX C D - Frame mit Byte-Stuffing:
STX A B ESC STX C D ETX
Das Byte-Stuffing wurde in älteren Protokollen wie PPP (Point-to-Point Protocol) eingesetzt.
Vorteile: - Einfach zu implementieren - Gut für zeichenorientierte Übertragungen geeignet
Nachteile: - Overhead durch eingefügte Escape-Zeichen - Geringere Effizienz bei binären Daten mit vielen Kontrollzeichen
Beim bitbasierten Framing werden spezielle Bitmuster zur Frame-Abgrenzung verwendet.
Bit-Stuffing arbeitet auf der Bit-Ebene und nicht auf der Byte-Ebene:
01111110) markiert den Anfang und das Ende eines
Frames.Beispiel: - Zu übertragene Bitfolge:
110111111011 - Nach Bit-Stuffing:
11011111001011 (Eine 0 wurde nach fünf aufeinanderfolgenden
1-Bits eingefügt)
Bit-Stuffing wird in HDLC (High-Level Data Link Control) und verwandten Protokollen wie PPP verwendet.
Vorteile: - Geringerer Overhead als Byte-Stuffing bei bestimmten Datenarten - Effizient für synchrone Übertragungen
Nachteile: - Komplexere Implementation auf Bitebene - Auswirkungen auf die Timing-Eigenschaften der Übertragung
Beim längenfeldbasierten Framing wird die Länge des Frames explizit im Header angegeben:
Beispiel: - Längenfeld: 5 Byte - Nutzdaten: 5 Byte folgen auf das Längenfeld
Längenfeldbasiertes Framing wird bei Ethernet (IEEE 802.3) verwendet. In diesem Fall gibt das Längenfeld die Anzahl der Bytes im Datenfeld an.
Vorteile: - Keine Notwendigkeit für Escape-Sequenzen oder Stuffing - Effiziente Verarbeitung und Extraktion der Daten
Nachteile: - Bei Beschädigung des Längenfeldes kann der gesamte Frame nicht korrekt interpretiert werden - Erfordert präzise Zählung der Bytes
In der Praxis werden oft kombinierte Verfahren eingesetzt:
Längenfeld mit Begrenzern: - Ein Rahmenstart-Muster signalisiert den Anfang des Frames - Ein Längenfeld gibt die Größe der Daten an - Optional kann ein Rahmenende-Muster das Ende bestätigen
Dieses Verfahren bietet doppelte Sicherheit: Wenn ein Begrenzer nicht erkannt wird, kann die Längeninformation zur korrekten Extraktion des Frames verwendet werden.
Ethernet ist heute der dominierende Standard für lokale Netzwerke. Ethernet-Frames verwenden eine Kombination aus Begrenzermuster und Längenfeldern. Es gibt zwei Hauptvarianten des Ethernet-Framings:
Ein IEEE 802.3 Ethernet-Frame hat folgende Struktur:
10101010...) zur Synchronisation.10101011 markiert den tatsächlichen Beginn des Frames.Die Ethernet II Variante, auch als DIX (DEC, Intel, Xerox) Ethernet bekannt, unterscheidet sich vom IEEE 802.3 Standard in einem wichtigen Punkt:
Ethernet II ist heute die gebräuchlichere Variante und wird für die meisten Ethernet-Netzwerke verwendet.
Besonderheiten des Ethernet-Framings: - Minimale Frame-Größe: 64 Bytes (ohne Präambel und SFD) - Maximale Frame-Größe: 1518 Bytes (ohne Präambel und SFD) - Bei zu kurzen Daten erfolgt Auffüllung (Padding) auf mindestens 46 Bytes - Jumbo Frames: Erweiterte Frames mit bis zu 9000 Bytes Nutzdaten (nicht standardisiert)
HDLC ist ein von der ISO standardisiertes, bitorientieres Protokoll, das für synchrone Übertragungen verwendet wird.
Ein HDLC-Frame hat folgende Struktur:
01111110
markiert Anfang und Ende des Frames.01111110.HDLC verwendet Bit-Stuffing, um zu verhindern, dass die Flag-Sequenz in den Daten erscheint.
HDLC-Derivate: - PPP (Point-to-Point Protocol): Basiert auf HDLC, verwendet aber Byte-Stuffing. - SDLC (Synchronous Data Link Control): IBM-Variante von HDLC. - LAPB (Link Access Procedure, Balanced): Für X.25-Netzwerke verwendet.
PPP ist ein Protokoll für Punkt-zu-Punkt-Verbindungen, das häufig für Internet-Einwahlverbindungen und WAN-Links verwendet wurde.
Ein PPP-Frame hat folgende Struktur:
0x7E markiert
Anfang und Ende des Frames.0xFF
(Broadcast).0x03
(unnummerierte Informationen).0x7E.PPP verwendet Byte-Stuffing (ACCM - Asynchronous Control Character
Map) für Zeichen wie das Flag (0x7E) und das Escape-Zeichen
(0x7D).
ATM verwendet einen grundlegend anderen Ansatz als die bisher diskutierten Framing-Techniken:
ATM war besonders in Backbone-Netzwerken verbreitet, hat aber an Bedeutung verloren.
Diese Ring-basierten Netzwerktechnologien verwenden spezielle Framing-Strukturen:
Token Ring (IEEE 802.5): - Start Delimiter und End Delimiter markieren Anfang und Ende eines Frames. - Spezielle Token-Frames kontrollieren den Zugriff auf das Medium. - Verwendet AC (Access Control) und FC (Frame Control) Felder zur Steuerung.
FDDI (Fiber Distributed Data Interface): - Ähnlich wie Token Ring, aber für Glasfaser optimiert. - Verwendung von Symbol-Encoding für die Erkennung von Frame-Grenzen.
Beide Technologien sind heute weitgehend historisch, haben aber wichtige Konzepte zum Framing beigetragen.
SONET (Synchronous Optical Network) und SDH (Synchronous Digital Hierarchy) sind Standards für optische Übertragungstechniken mit hochstrukturiertem Framing:
SONET/SDH wird in Telekommunikations-Backbone-Netzen eingesetzt.
Die Wahl der Framing-Technik und die Frame-Größe haben erhebliche Auswirkungen auf die Netzwerkleistung:
Frame-Größe und Effizienz: - Kleine Frames: Geringere Latenz, aber höherer relativer Overhead - Große Frames: Höhere Effizienz, aber potenziell längere Blockierungszeiten für andere Geräte
Overhead-Betrachtung: - Jeder Frame hat einen gewissen Overhead durch Header und Trailer - Bei kleinen Datenmengen kann der Overhead einen signifikanten Anteil ausmachen - Beispiel: Ein minimaler Ethernet-Frame mit 46 Bytes Nutzdaten hat 18 Bytes Overhead (ohne Präambel und SFD) – ein Overhead von ca. 28%
Collision Domains: Bei Shared-Media-Netzwerken (wie dem ursprünglichen Ethernet) beeinflusst die Frame-Größe die Wahrscheinlichkeit von Kollisionen und damit die erreichbare Netzwerkeffizienz.
Framing spielt eine wichtige Rolle bei der Integration mit höheren Protokollschichten:
Protokollidentifikation: - Layer-2-Frames müssen die enthaltenen Protokolle der höheren Schichten identifizieren können - Bei Ethernet erfolgt dies über das Typ-Feld (Ethernet II) oder über LLC/SNAP (IEEE 802.3)
MTU und Fragmentierung: - Die maximale Frame-Größe (MTU - Maximum Transmission Unit) beeinflusst, ob höhere Protokollschichten ihre Daten fragmentieren müssen - Unterschiedliche MTUs in verschiedenen Netzwerksegmenten können zu Fragmentierung und Reassemblierung führen
QoS-Unterstützung: - Moderne Framing-Techniken beinhalten oft Felder für Quality-of-Service-Informationen - Diese werden von höheren Schichten genutzt, um Prioritäten und Verkehrsklassen zu implementieren
Die Implementierung von Framing-Mechanismen erfolgt in verschiedenen Netzwerkkomponenten:
In Netzwerkkarten (NICs): - Hardware-Unterstützung für das Erkennen von Frame-Grenzen - Generierung und Überprüfung von Prüfsummen - DMA-Übertragung kompletter Frames in den Arbeitsspeicher
In Switches und Routern: - Spezielle ASICs oder NPUs (Network Processing Units) für effizientes Frame-Processing - Frame-Puffer zur Zwischenspeicherung und Weiterleitung - Cut-Through vs. Store-and-Forward Switching basierend auf Frame-Eigenschaften
In Software-Stacks: - Betriebssysteme bieten APIs für den Zugriff auf Frame-Daten - Socket-Interfaces abstrahieren die Details des Framings - Protokolltreiber implementieren die spezifischen Framing-Mechanismen
Bei Netzwerkproblemen spielt die Analyse auf Frame-Ebene eine wichtige Rolle:
Typische Framing-Probleme: - Fehlerhafte Prüfsummen: Führen zur Verwerfung von Frames - Nicht erkannte Frame-Grenzen: Können zu Frame-Verlust führen - Baby Giants und Runts: Anomal große oder kleine Frames - Alignment Errors: Frames mit fehlerhafter Byte-Ausrichtung
Diagnosetools: - Netzwerk-Analyzers (z.B. Wireshark): Zeigen detaillierte Frame-Strukturen und Anomalien - SNMP-Monitoring: Erfasst Statistiken über fehlerhafte Frames - Specialized Hardware Analyzers: Bieten tiefere Einblicke in Timing- und Signalprobleme
Methodisches Vorgehen: 1. Identifikation von Mustern in fehlerhaften Frames 2. Isolierung der betroffenen Netzwerksegmente 3. Überprüfung physikalischer Verbindungen und Konfigurationen 4. Analyse der Frame-Struktur und Identifikation von Abweichungen