Pakete

  • Netzwerke zerteilen Dateien nicht als Strom von Bits
  • Sie zerteilen die Daten in kleine Blöcke, sg. Pakete
  • Pakete werden unabhängig voneinander übertragen
  • Solche Netzwerke werden auch Paket-Netzwerke genannt

Gründe

  1. Bessere Fehlererkennung und Ausbesserung: Nur das Fehlerhafte Paket und nicht die ganze Datei müssen neu übertragen werden
  2. Faire Ressourcenverteilung
  3. Effiziente Ressourcenverteilung:
    • Ohne: Bei 1Gbps können nur 10 Nutzer mit 100Mbps senden, aber nicht jeder nutzt immer seine 100Mbps
    • Mit: Wenn ein Nutzer nicht sendet, können andere die Bandbreite nutzen -> Mehr Nutzer möglich

Header und Trailer

  • Sender versieht Datenblock mit einem Rahmen (-> Frame):
  • Header (=Kopf)
  • Trailer (= Anhänger)

Terminologie

  • Frame: Header + Nutzdaten + Trailer
  • Paket: Header + Nutzdaten (ohne Trailer)
  • Datagramm: Paket, das unzuverlässig übertragen wird
  • Segment: Paket, das bei Fehler wiederholt übertragen wird

Ethernet

  • 22 Byte Header (Präambel, SFD, MAC-Adressen, Typ-Feld)
  • 0-1500 Byte Daten inkl. Auffüllzeichen (“PAD”). Die sind dazu da, dass das Paket die Mindestgröße einhält
  • 4 (+12) Byte Trailer (CRC, Idle)

-> Min. 64, Max. 1518 Byte

Effizienz

Zu welchem Anteil wird die verfügbare Kapazität des Netzwerks zur Übertragung der eigentlichen Nutzdaten genutzt?

Übertragungsfehler

  • Elektromagnetische Störungen
  • Hintergrundrauschen, Signal-Rauschabstand, SNR
  • Inteferenzen können sogar dazu sorgen, dass was empfangen wird obwohl nix gesendet wird

Fehlererkennung

Idee: Sendung zusätzlicher Daten, die die Daten charakterisieren, Empfänger überprüft ob die Daten sinn machen

Parity Check

  • Redundante Information: 1 Bit
  • Even Parity Bit: Anzahl der 1er Bits ist gerade
  • Odd Parity Bit: Anzahl der 1er Bits ist ungerade
  • Fehlererkennung von einem Bitfehler, 2 oder 4… Fehler werden nie erkannt
  • Erkennt nicht wo der Fehler liegt

Zweidimensionale Parität

Checksum

  • 16-Bit checksum (Gibt auch 32-Bit checksum oder andere):
  • Interpretiere immer 16 Bit als ganze Zahlen und summiere diese
  • Verwende davon den niederwertigeren Teil (die unteren 16 Bits)
  • Addiere den Übertrag (alles was über den unteren 16 Bits ist) dazu
  • Vorteile: Eine einzige Prüfsumme wird verwendet, wenig overhead
  • Nachteile: Nicht alle üblichen Fehler werden übertragen, z.B. ein Byte ist eins größer, ein anderes ist eins kleiner -> Checksum geht auf

Cyclic Redundancy Checksum (CRC)

  • Einsatzgebiete: Ethernet, WLAN, … - gut per Hardware berechenbar
  • Komponenten: XOR-Gatter, Shift-Register
  • Phasen: Init (Alle Register auf 0), Input (Lege Nächstes Bit an Start an), Shift, Input, Shift, …
  • CRC (=Inhalt der Register nach dem kompletten durchgehen) wird angehängt und gesendet

Fehlerbehebung

2 Möglichkeiten:

  1. Sende weitere redundante Daten an denen der Empfänger den Fehler beheben kann
  2. Der Empfänger fordert das Datenpaket nochmal an

Bei geringer BER (Bit-Error-Rate) ist die zweite Möglichkeit effizienter

Es gibt zwei Anforderungsverfahren:

  1. Empfänger schickt dem Sender nur bei einem Fehler dass er das Paket bitte nochmal senden möge
  2. Empfänger schickt dem Sender nach jedem Paket dass es fehlerfrei empfangen wurde

Meistens Methode 2. Bei Methode 1 kann es ja sein dass das Paket beim Empfänger gar nicht erst ankommt und der Sender denkt “alles ist ok”

Mehrere Unterverfahren:

  1. Stop and Wait: Erst nächstes Senden nach Bestätigung
    • Aber: Geringe Datenrate, da immer auf Antwort gewartet werden muss (Nur eine Spur)
  2. Sliding Window: Bestätigung nach (Window) Paketen
    • Die beste Effizienz wird erzielt, wenn das Fenster doppelt so groß ist wie das Fassungsvermögen der Leitung