Was bisher geschah - Ethernet
Ethernet ermöglicht den Aufbau von LANs.
Switching erlaubt eine Punkt-zu-Punkt Kommunikation
Sind MAC-Adressen den Switches nicht bekannt werden Frames auf allen Ports weitergeleitet.
MAC Adressen werden durch die Hardware festgelegt.
Nicht geeignet für globale Netze:
Kein Strukturierung, da MAC-Adressen an die Hardware gekoppelt sind.
Broadcast-Kommunikation skaliert nicht bei vielen Teilnehmern
Switching-Tabellen sind begrenzt in Anzahl von Einträgen
Internet Layer
Der Zweck dieser Schicht besteht in der Wegewahl der Pakete durch das Netzwerk und in der logischen Adressierung der Netzteilnehmer.
IP - Best Effort
IP arbeitet nach dem “best effort” - Prinzip, d.h. es ist möglich, dass
Verluste von Paketen auftreten
die Übertragung von Paketen stark verzögert wird
Fehler innerhalb von Paketen auftreten
Pakete nicht in der Reihenfolge des Aussendens empfangen werden
Zusammengehörige Pakete unterschiedliche Wege nehmen
IP ist verbindungslos
Sender bekommt keine Infos über die erfolgreiche Zustellung der Daten am Empfänger
Pakete können verzögert, verloren oder verfälscht werden.
Header vs. Nutzdaten
IP Header
Version: Version des verwendeten Protokolls, aktuell gibt es die Version 4 und 6
IHL: Internet Header Length
Type of Service: angeforderte Qualität des Dienstes, z.B. benötigt IP-Telefonie geringe Verzögerungen was für ein Datendownload weniger wichtig ist
Paketlänge: gesamt Länge des Paketes
Identification: Eindeutige Nummer eines Paketes
Flag: Don’t Fragment, More Fragments, …
IP-MTU (Maximum Transfer Unit)
Die größte Paketeinheit, die ein Knoten verarbeiten kann wird als MTU (Maximum Transfer Unit) bezeichnet
Nicht alle Verbindungen können die gleiche Paketgröße verarbeiten
IP Fragmentierung & Reassembly
IP-Fragmentierungsfelder
Drei felder des IP-Headers bestimmen die Fragmentierung
ID = Identifikation des Fragmentes
Fragment-Offset = Identifikation des Fragmentes im Paketstrom
Flags
MF=0 bedeutet “keine weiteren Fragmente” / MF=1 bedeutet weitere Fragmente
DF=0 erlaubt die Fragmentierung
Der Verlust eines Fragmentes verursacht das Verwerfen aller anderen zugehörigen Fragmente.
Fragmentierung sollte möglichst vermieden werden.
IP Fragment-Offset
Gibt die Länge relativ zum Beginn des Datenbereichs im ursprünglichen Datagram an
Ermöglicht dem Empfänger mehrere Fragmente in richtiger Reihenfolge zusammenzusetzen und fehlende Fragmente zu erkennen
Bei vollständigen Datagramen (keine Fragmentierung) und beim ersten Fragment hat der Fragment Offset immer den Wert 0
Fragment-Bits
DF (Don’t Fragment): 0 = May Fragment ; 1 = Don’t Fragment
MF (More Fragment): 0 = Last Frament ; 1 = More Fragment
Fragmentierungsgrundsatz
IP-Paketlebenszeit
Problem: beim Routen (durch vermaschte Netze), können Datagrame / Fragmente ziellos und unendlich lange kreisen (z.B. falsche Routingtabelle)
Lösung: TTL-Feld (Time To Live) Reduzierung des Wertes in jedem Router. Beim Erreichen des Wertes “0”, wird das Paket vernichtet (nicht weitergereicht)
IP Protokollnummern
IP Checksum
Dient zur Überprüfung von Fehlern des IP Headers
Wird über alle Felder des IP Headers berechnet
Neuberechnung auf jedem Router, da die TTL pro Hop reduziert wird
IP-Besonderheiten
Die Header-Prüfsumme muss von jedem Zwischenrouter wegen Veränderung des TTL-Eintrags neu berechnet werden.
Daher wird sie aus Effizienzgründen nur für den Header berechnet.
Die Zustellung von IP-Paketen ist unzuverlässig, d.h. Pakete können verloren gehen, verzögert werden oder beim Empfänger in einer Reihenfolge zugestellt werden, die nicht der Reihenfolge des Absendens beim Sender entspricht.
Wenn die Länge eines IP-Paketes MTU übersteigt, wird das IP-Paket vom Router in Fragmente zerlegt, die einzeln zum nächsten Router weitergeschickt werden.
IP-Adresse
Version 4:
Bitfolge bestehend aus 32 Bit
Darstellung:
4 Zahlen zwischen 0 und 255, getrennt durch Punkte
Jede Zahl stellt eine 8 Bitfolge dar, d.h. der Wert liegt zwischen 0 und 255
Minimale IP: 0.0.0.0
Maximale IP: 255.255.255.255
0.0.0.0 und 255.255.255.255 sind keine gültigen Hostadressen und haben eine besondere Bedeutung
ARP - Problemstellung
Bevor eine Kommunikation im Ethernet statt findet muss der Sender die Ziel MAC-Adresse kennen und die Zuordnung zwischen IP und MAC Adresse kennen.
Hierzu wird das Address Resolution Protocol (ARP) eingesetzt.
Address Resolutio Protocol (ARP)
Jede Station verwaltet eine gesonderte ARP-Tabelle
ARP Request: Eine Station, die zu einer IP-Adresse die zugehörige MAC-Adresse sucht, versendet einen Broadcast
ARP Response: Erkennt eine lokale Station seine IP-Adresse, antwortet sie mit der gesuchten MAC-Adresse.
ARP Cache (Beispiel: Linux vereinfacht)
Ist ein ARP Request erfolgreich, speichert das Betriebssystem die Zuordnung im ARP Cache.
Erfolgt keine Kommunikation zu der IP, wird nach einem Intervall ein erneuter ARP Request ausgelöst.
Bei erfolgreicher Antwort bleibt die Zuordnung im Cache.
Erfolgt keine Antwort, wird der Eintrag entfernt.
So lernt und verlernt ein Host die IP/MAC Zuordnungen der Nachbarstationen.
Ein automatisches Verlernen ist wichtig, falls Hosts ausgeschaltet werden oder sich die Adressen ändern.
ARP-Request-Inhalt
Durch die Angabe der Adressgröße für die Hardware-Adresse und Protokoll-Adresse ist ARP theoretisch an andere Protokolle als Ethernet und IPv4 anpassbar. In der Praxis wird aber in der Regel in Verbindung mit Ethernet und IPv4 eingesetzt.
Beispiel: Zwei Geräte im gleichen Subnetz
Beispiel: Adresssuche
Host Steffen sendet das Paket entweder:
a) direkt zur Zielstation Host Karl (wie in Abbildung)
oder
b) an das Defaultgateway - den Router - der das Paket zustellt. (Host Karl im anderen Subnetz)
Woher weiß der Host Steffen nun, wohin er das Paket senden muss?
Die Antwort hängt davon, ob sich die Zieladresse im gleichen Subnetz befindet oder nicht.
Der Sender muss ermitteln, ob sich das Ziel auf seinem Subnetz befindet.
Subnetze
Bisher: alle Host im selben Subnetz
Router trennen Subnetze
Router leiten Daten zwischen Subnetze weiter
Die Subnetz Mask ist eine 32 Bitfolge
Sie beginnt mit aufeinanderfolgenden “1” und endet mit aufeinanderfolgenden “0”
Sie trennt die IP Adressen in einen Netz- und Host-Anteil
Haben IP-Adressen den gleichen Host-Teil befinden Sie sich im selben Subnetz, wenn nicht in unterschiedlichen Subnetzen
Schreibweise: Beispiel 17 führende Einsen mit IP Adresse 10.10.10.10
10.10.10.10 255.255.128.0
10.10.10.10/17
Subnetze - Routing
Anhand der Subnet Mask kann ein Host feststellen, ob der Empfänger im gleichen oder anderen Subnetz ist
Ist der Empfänger im anderen Subnetz, sendet der Host das Paket zum Router.
Der Router leitet das Paket weiter.
Meistens kennen Hosts nur einen Router, das Default Gateway
Hosts senden alle Pakete mit Empfängern in anderen Subnetzen über das Default Gateway
Senden eines Pakets: Empfänger im gleichen Subnetz
Sender ist konfiguriert mit IP Adresse, Subnetz Maske, IP des Default Gateway
Dem Sender ist Empfänger IP bekannt.
Sender stellt fest, ob Empfänger im gleichen Subnetz ist, anhand IP und Subnet Mask.
Empfänger im gleichen Subnet:
Sender schickt ARP Request für IP des Empfängers.
Empfänger empfängt ARP Request und sendet ARP Response.
Sender lernt MAC-Adresse des Empfängers und sendet IP Paket.
Empfänger empfängt IP Paket
Senden eines Pakets: Empfänger in anderen Subnetz
Sender ist Empfänger IP bekannt
Empfänger im anderen Subnet:
Sender schickt ARP Request für IP des Default Gateways.
Default Gateway empfängt die ARP Request und sendet ARP Response.
Sender lernt MAC-Adresse des Default Gateways und sendet IP Paket an Default Gateway, d.h. Ziel-MAC ist die des Default Gateways, Ziel IP des finalen Hosts.
Router empfängt Paket und leitet es weiter in Richtung des Ziels.
Ggf. Wiederholung des obigen Schritte, bis Paket im Subnetz des Hosts mit der Ziel IP
Empfänger empfängt Paket
Hintergrund
Internet Control Message Protocol (ICMP)
Problem: IP-Header-Prüfsumme erkennt nur Übertragungsfehler
Andere mögliche unerkannte Fehler:
Pakete an ungültige IP-Adresse
Pakete werden auf Grund von Fehlern verworfen
Pakete werden an nicht erreichbare Stationen oder Netze gesendet
Protokolle der höheren Schichten (wie ICMP oder TCP) müssen diese Situationen behandeln
ICPM-Funktionen
ICMP liefert Fehlerreports und -diagnosen für ein IP-Netzwerk
ICMP ermöglicht keine Fehlerkorrektur
ICMP trägt zu Fehlerfreiheit einer TCP/IP-Implementation bei
ICMP ist integraler Bestandteil einer IP-Implementierung
ICMP nutzt IP als Transportweg für Nachrichten
ICMP Nachrichtenkategorien
Fehler-Meldungen und Info-Meldungen:
Error-Pakete beinhalten, neben der Fehlermeldung, auch immer den Header und die ersten 64 Bit des den Fehler verursachenden Paketes.
Info-Meldungen basieren auf einem Request-/ Response-Verfahren
ICMP-Nachrichtenstruktur
Beispiele häufiger Fehler-Meldungen
Destination Unreachable:
Ein Ziel ist nicht erreichbar. Der Knoten, der dies feststellt, schickt diese Meldung an den Sender. Beispiel: Ein Router kennt keinen Weg Empfänger, ein Server empfängt keine Nachrichten für einen bestimmten Port.
Time Exceeded
Jeder Router auf dem Weg zum Ziel verringert den Wert im TTL Feld des IP Headers, erreicht der Wert 0 wird das Datenpaket verworfen und eine Meldung an den Sender geschickt.
Redirect Message
Ein Router kennt einen besseren Weg zum Ziel und informiert den Sender, dass ein anderer Router im gleichen Subnetz besser geeignet ist.
Kontrollnachrichten
Echo: Überprüfung der Funktionsfähigkeit der IP Schicht, Software zum Versenden heißt üblicherweise ping
ping
Viele weitere existieren, wurden aber durch modernere Protokolle ersetzt:
Zeitsynchronisation: Timestamp, ersetzt durch das Network Time Protocol (NTP)
Konfiguration: Information request, Address mask request. ersetzt durch Dynamic Host Configuration Protocol (DHCP)
Echo-Beispiel: Software Ping
Host 1 versendet mit Hilfe der Software Ping einen Echo Request an Host 4
Host 4 antwortet mit einem Echo Reply
Dies bestätigt die Funktionsweise der Netzwerkschicht auf beiden Systemen.
Zusammenfassung
Internet Protokoll
Ziel: Aufbau großer strukturierter Kommunikationsnetze
Logische Adressierung von Hosts
IPv4: 32 Bit Adresse, pro Host eine eindeutige Adresse
Address Resolution Protocol:
Auflösung von IP-Adressen zu MAC-Adressen: i.d.R. nur IP Adresse bekannt
Subnetze:
Empfänger im gleichen Subnetz: Nutzung der MAC-Adresse des Empfänger
Empfänger im anderen Subnetz: Nutzung der MAC-Adresse des (Default-) Routers
Subnetzmaske unterteilt IP-Adressen in Netzwerk- und Hostteil
Bei gleichen Networkteil sind Hosts im gleichen Subnetz, ansonsten in unterschiedlichen
Internet Control Message Protocol
Austausch von Informationen und Fehler bzgl. des IP Layer
Wird vom Tool Ping genutzt zur Überprüfung, ob eine IP-Adresse erreichbar ist.
Zuletzt geändertvor einem Tag