Überblick -...

58
Überblick / Fragmentierung / IPv4 / Aufbau / ICMP / Adress Auflösung / IPv6

Transcript of Überblick -...

Überblick

/ Fragmentierung

/ IPv4

/ Aufbau

/ ICMP

/ Adress Auflösung

/ IPv6

TCP/IP Referenzmodell

Das Internet

Kommunikation im Internet

/ Versenden von Paketen mit maximaler Größe von 65k möglich

/ Durchschnittlich 1500 Bytes

/ IP schreibt mindestlänge 576 Oktette vor

/ Problem: Durchschnittliche Paketgröße > 576 Oktette!

Fragmentierung

FragmentierungStrategie 1

/ Transparente Fragmentierung (z.B. ATM, dort als Segmentierung bezeichnet)

/ Ausgangsgateway setzt Fragmente wieder zu Paketen zusammen

/ Fragmentierung muss ggf. wiederholt werden (Overhead)

FragmentierungStrategie 2

/ Einmal fragmentierte Pakete werden nicht wieder zusammengesetzt

/ Jeder Host muss somit in der Lage sein zu reassemblieren

/ Overhead, da jedes Fragment als Eigenständig gilt (vollständiger Header)

/ Geht ein Fragment verloren, gilt das ganze Paket als verloren

Internet Protokoll (IP)

/ IP arbeitet mit Datagrammen, deren Kopf min. 20 und max. 60 Bytes lang ist

/ D.h. Es stehen 40 Bytes für Optionen zur Verfügung

/ Daten liegen in High−Order vor, d.h. Auf Rechnern mit beispielsweise Pentium Prozessoren muss Umrechnung auf beiden Seiten erfolgen

/ Übertragung erfolgt nach dem �Best−Effort�−Prinzip

IP Header

IP−Header/ Version: Hier steht eine 4!

/ IHL: Länge des Kopfes in Langworten (32 Bit), kann also zwischen 5 und 15 liegen

/ Type of Service: 8 Bit, davon sind

/ 3 Bit Priorität, mit �000� am geringsten

/ 1 Bit für möglichst geringe Verzögerung (Delay)

/ 1 Bit für möglichst hohen Durchsatz (Throughput)

/ 1 Bit für möglichst hohe Zuverlässigkeit (Reliability)

/ 2 ungenutze Bits

IP−Header/ Total Lenght: Gesamtlänge des Paketes, Header und

Daten, max 65k

/ Identification: Dient zur Erkennung von Fragmenten die zum gleichen Paket gehören (haben alle gleiche Identifikation)

/ 1 Bit ungenutzt

/ 1 Bit DF: (Don’t fragment) Wenn dieses Bit gesetzt ist, darf das Paket nicht fragmentiert werden

/ 1Bit MF: (More fragments) ist bei allen Fragmenten ausser dem letzten gesetzt

IP−Header/ Fragment offset: Position des Fragments im Paket,

vielfaches von 8, 8192 Fragmente pro Paket erlaubt

/ Time To Live: Zähler, der bei jedem Hop reduziert wird, bei �0� wird das Paket verworfen und Quelle informiert

/ Protocol: Vermittlungsschicht muss wissen, an welchen Transportprozess des Paket weitergereicht werden soll, z.B. TCP oder UDP, weitere im RFC 1700

/ Checksum: Modulo 2^16 Addition im Zweikomplement über den Header, Gesamtergebnis muss �0� sein, wegen TTL stets neu berechnet!

IP−Optionen

/ Jede Option beginnt mit 1−Byte Identifikation

/ Optional kann ein weiteres Feld für Besonderheiten eingefügt werden

/ Dann kommen die Daten

/ Optionen werden auf 4−Byte Grenz aufgefüllt

/ 5 Optionen sind definiert

IP−Optionen

/ Security: Kennzeichnet die Geheimhaltung, z.B. könnten bestimmte Länder �umroutet� werden

/ Strict Source Routing: Die zu verwendende Route wird strikt vorgegeben, 9 Hops sind möglich, sinnvoll z.B. bei Verlust von Routingtabellen oder bei Zeitmessungen

/ Loose Source Routing: Eine Reihe von Routern wird vorgegeben, zwischendrin können aber weitere liegen (politische oder wirtschaftliche Gründe)

IP−Optionen

/ Record Route: Zeichnet den Verlauf eines Paketes auf, jeder Hop wird vermerkt, ebenfalls mit 9 Hops heute zu knapp bemessen

/ Time Stamp: Wie Record Route, jedoch wird ein Zeitstempel mit abgespeichert, nützlich zur Fehlerbehandlung

IP−Adressen

/ Jeder Router und jeder Host im Internet haben eigene IP

/ IP Adresse muss eindeutig sein

/ Adresse ist 32−Bit lang und wird üblicherweise byteweise dezimal dargestellt: w.x.y.zDotted Decimal Notation (DDN)

/ Rechner können mehrere verschiedene Adressen besitzen

IP−Adressen

IP−Adressen

/ Anhand der IP−Adresse lässt sich erkennen, welcher Klasse sie zugeordnet ist

/ Es gibt bis zu 126 Klasse A Netzen mit bis zu 16 Millionen Hosts

/ 16382 Klasse B Netze mit 65000 Hosts (z.B. Uni)

/ Klasse C, 2 Mio Netze mit 254 Hosts

/ Adressen werden vom Network Information Center (NIC) vergeben um Konflikte zu vermeiden

Spezielle Adressen/ IP Adresse 0.0.0.0 eigener Host (Initialisierung)

/ �0� als Netzkennzeichnung für Host im eigenen Netz

/ �0� als Hostkennung bezieht sich auf eigenen Host

/ 255.255.255.255 ist Broadcastadresse

/ 127.0.0.1 ist Loopback

/ 224.0.0.0−239.255.255.255 (Klasse D) Multicastadressen

/ Private Adressbereiche 172.16.0.0−172.31.254.254 und 192.168.0.0−192.168.254.254

/ Klasse E Netze experimentell

Spezielle Adressen

Subnetze/ Große Netzwerke speziell Klasse A und B lassen sich

sinnvoller Weise in logische Gruppen (Teilnetze/Subnetze) unterteilen

/ Neben Adresse wird Netzwerkmaske benötigt

/ Eingehende Adresse wird mit der Maske UND−Verknüpft

/ Anhand des Ergebnisses erkennt der Router, ob sein Subnetz gemeint ist

/ Erspart umfangreiche Routingtabellen

/ Ebenfalls im DDN Format

Classless Interdomain Routing

/ CIDR ist unabhängig von den vordefinierten Klassen

/ Ein ISP kann ein Klasse B Netz aufteilen und mehreren Kunden Teile zuweisen

/ Notation ist IP−Adresse/Anzahl der Netzwerkbits, z.B. 134.106.55.1/26 statt134.106.55.1/255.255.255.192

/ Netzwerkbits entsprechen den Maskenbits

Netzmaske

Internet Steuerprotokolle

/ ICMP (Internet Control Message Protocol)

/ ARP (Address Resolution Protocol)

/ RARP (Reverse Address Resolution Protocol)

/ BOOTP (Bootstrap Protocol)

ICMP

/ RFC 792 (Request for Comments)

/ Schwerwiegende Probleme (z. B. Unterbrechung einer Leitung) werden zur Vermeidung von Folgefehlern mittels ICMP den Kommunikationspartnern mitgeteilt

/ Ist in IP−Datagramm gekapselt

ICMP/ Es gibt verschiedene Nachrichtentypen, die jeweils

verschiedene Header haben

/ Einzelne Paketverluste werden nicht gemeldet (unzuverlässiger Datagrammdienst)

/ ICMP meldet keine Fehler bzgl. ICMP−Pakete

/ ICMP unterstützt den Austausch von Statusanfragen und Zustandsinformation zur Kontrolle und Fehlersuche im Netz (Test von Routen; Messen von Verzögerungen etc.)

/ Bekannteste Anwendung: �Ping�

ICMP Header

ICMP Typen

ARP

/ Problem: IP Adressen sind virtuell, d.h. sie werden von der Software verwaltet

/ Für den Benutzer sind IP Adressen verständlich und vermitteln den Eindruck eines großen Netzes

/ Die Rahmenübertragung findet aber auf Schicht 2 statt, hier sind IP−Adressen unverständlich

/ Zur Datenübertragung ist deshalb die Hardwareadresse notwendig

ARP Beispiel

ARP Lokal

/ Möglichkeit 1: Alle lokalen Hardwareadressen werden von einem Server verwaltet

/ Möglichkeit 2:

/ Der Sender sendet ein Broadcast mit IP−Adresse des gewünschten Zielrechners

/ Nur Zielrechner antwortet und übermittelt Hardwareadresse

ARP Optimierung/ Bei einer Anfrage sendet die Quelle gleich die

eigene Hardwareadresse mit

/ Eingehende HW−Adressen kommen in einen Cache

/ Zur Erkennung neuer Hardware läuft Cache ab

/ Neuer Rechner sendet zu Beginn Anfrage mit eigener IP, weil

/ Doppelte IP würde erkannt werden (Bei Antwort)

/ HW−Adresse wird allen mitgeteilt (für Cache)

ARP Global

/ 1. Möglichkeit: ARP−Proxy

/ Router erkennt, dass sich die Anfrage auf ein anderes Netz bezieht

/ Spezielle Routinginformationen müssen dem Router bekannt sein (dafür weniger Overhead im Netz)

/ 2. Möglichkeit: Host ist bekannt, dass Empfänger in anderem Netz liegt

/ IP−Paket mit Adressangabe wird an Router geschickt

ARP Global/ Genereller Ablauf:

/ Rahmen mit IP−Paket wird zum Router gesendet

/ Router liest IP−Paket aus

/ Ziel wird aus Routingtabelle bestimmt

/ Paket wird zum Zielrouter gesendet, im Beispiel in einem FDDI Rahmen, ggf. findet auch hier vorher ein Adress Auflösung statt

/ Zielrouter holt die Information aus dem FDDI Rahmen und sendet HW−Adresse zurück (falls bekannt) oder sendet das Paket ins eigene LAN

/ Dann wie gehabt

ARP

ARP

/ Hardware Address Type: Art der benutzten Hardware, enthält z.B. eine 1 für Ethernet

/ Protocol Address Type: Art des verwendeten Protokolls, z.B. 0x0800 für IP

/ HaddrLen/PaddrLen: Anzahl von Bytes, die für die Hardware− bzw. Protokolladresse benötigt werden

ARP

/ Operation: Enthält entweder �1� oder �2� zur Unterscheidung zwischen Anfrage und Antwort (wichtig z.B. bei Ethernet)

/ Sender Haddr/Paddr: Hardware− bzw. Protokolladresse des Senders

/ Target Haddr/Paddr: Hardware− bzw. Protokolladresse des Empfängers wobei Target Haddr. Im Anfragepaket �0� ist

RARP

/ Ermittelt Protokolladresse (z.B. IP) zu einer Hardwareadresse

/ Vorteil: Festplattenlose Rechner müssen eigene IP nicht fest �verdrahten� (flexibler und Bootsoftware kann unmodifiziert für viele Systeme verwendet werden)

/ Nachteil: Anfrage geschieht über Broadcast (wird nicht geroutet) => jedes Subnetz benötigt eigenen Server

BOOTP

/ Alternative zu RARP

/ Erlaubt Endsystemen ohne Festplatte IP−Adresse und weitere Standardinformationen vom Server zu holen

/ Verwendet UDP und TFTP => kann Netzweite Anfragen stellen

IPv6

/ IPv4 hat einen Adressraum von knapp 4Mrd.

/ Durch enorme Zuwachszahlen im Internet wird der Adressraum bald erschöpft sein

/ 1990 begann die IETF (Internet Engineering Task Force) mit Entwicklung eines neuen IP

/ Ergebnis ist IPv6

Ziele von IPv6

/ Größerer Adressraum

/ Reduzierung von Routing−Tabellen

/ Vereinfachung des Protokoll, damit Router Pakete schneller abwickeln können

/ Höhere Sicherheit (Authentifikation und Datenschutz)

/ Mehr Gewicht auf Dienstarten (speziell Echtzeitanwendungen)

Ziele von IPv6

/ Unterstützung von Multicast durch Definition des Umfangs

/ Einfache Adressänderung (z.B. für Reisen)

/ Flexible Gestaltung, damit Weiterentwicklung möglich ist

/ Unterstützung der alten Protokolle um einen sanften (langjährigen) Übergang zu gestatten

IPv6

/ IPv6 ist bezüglich der Headergestaltung flexibler geworden

/ Es gibt einen Basisheader und beliebige optionale Header

IPv6 Basisheader

Header beinhaltet keine Prüfsumme mehr!

IPv6 Basisheader

/ Version: Versionsnummer des Protokolls

/ Traffic Class: Verkehrsklasse zur Spezifikation allgemeiner Eigenschaften, z.B. wenn geringe Verzögerung erforderlich ist

/ Flow Label: Bereitstellung einer Dienstklasse, ist dieser Wert gesetzt, werden alle Pakete über die gleiche Route gesendet(simuliert verbindungsorientierte Übertragung)

IPv6 Basisheader

/ Payload Lenght: Länge des Nutzdatenfeldes (vgl. IPv4, dort war Gesamtlänge angegeben)

/ Next Header: Enthält entweder den Typ des nächsten (optionalen) Headers oder den Typ der Datenart im Datenteil (z.B. TCP oder UDP)

/ Hop Limit: Gibt an, nach wie vielen Hops das Paket verworfen wird

/ Source/Destination Address: Jeweils 128−Bit Adressraum für Quell− und Zieladresse

IPv6 Header/ Beispiel für den NEXT−Header Zeiger:

(a) Keine Optionen, NEXT zeigt auf Nachrichtentyp

(b) NEXT zeigt auf Option ROUTE, NEXT von ROUTE gibt den Nachrichtentyp an

IPv6 Optionen

/ Woran wird Beginn des Folgeheaders erkannt?

(a) Einige Header haben feste Länge, Basisheader z.B. 40 Bytes, wird am Typ erkannt

(b) Header die Optionen beinhalten, werden über das Feld HEADER LEN in ihrer Länge definiert

Sinn mehrerer Header

/ Wirtschaftlichkeit

/ Geringerer Overhead durch Maßschneiderung

/ Beispiel: Fragmentierungsinformationen bei IPv4 stets mitgesendet aber selten benötigt

/ Erweiterbarkeit

/ Einführung neuer Standards möglich, ohne Protokoll grundlegend zu verändern (IPv4 Header −> IPv6)

/ Experimentelle Header zweier Systeme können durchs Internet geroutet werden, sofern Routing Header vor experimentellen Headern stehen

Fragmentierung

/ Wie bei IPv4 kommt ein Präfix vor jedes Fragment

/ Da Basisheader keine Fragmentierungs−informationen mehr beinhaltet wird Fragmentheader benötigt

/ Fragmente werden ausschließlich am Header erkannt

/ Alle Fragmente haben gleiche Länge, außer dem letzten

Fragmentierung

Fragmentierung

/ Wichtigster Unterschied: Unter IPv6 wird nicht von Routern fragmentiert!

/ Bestimmung der MTU (Maximum Transfer Unit) ist nun Aufgabe des Hosts

/ Prozess (Path MTU Discovery) verläuft normalerweise iterativ

/ Router verwerfen zu große Pakete mit einer Fehlermeldung

IPv6 Adressierung

/ Wegfall von Broadcast, statt dessen

/ Unicast: Ansprechen eines Ziels

/ Multicast: Gruppe von mehreren Computern, die ggf. verschiedene Standorte haben, ersetzt Broadcast, Gruppenzugehörigkeit ist jeder Zeit änderbar

/ Anycast: Anfrage an redundante Server möglich, Zuweisung kann z.B. nach Last oder Nähe entschieden werden

IPv6 Adressierung

/ Adressraum beträgt nun 128 Bit

/ Entspricht ca. 3,4*10^38 Adressen

/ Oder 667 Billiarden Adressen/mm^2 Erde

/ Aufgrund der Darstellungslänge in DDN gibt es neue Schreibweise (jetzt in hex):

/ z.B. 3ffe:400:280:0:0:0:0:1 oder kurz

/ 3ffe:400:280::1 (EINE Gruppe von Nullen kann durch :: ausgespart werden)

IPv6 Adressierung

/ IPv4 Adressen können durch ::ffff:139.18.38.71 dargestellt werden, entspricht ::ffff:8b12:2647

/ Schreibweise mit Präfix

/ IPv6/Präfix, z.B. 3ffe:400:280:0:0:0:0:1/48

/ d.h. 128−48=80 Bit für lokale Adressierung

Aufteilung der Adressen

reserviert für spezielle Anwendungen 0::0/8 0,4%noch nicht zugeordnet 100::0/8 0,4%Abbildung von NSAP−Adressen 200::0/7 0,8%Abbildung von IPX−Adressen 400::0/7 0,8%noch nicht zugeordnet 600::0/7 0,8%noch nicht zugeordnet 800::0/5 3,1%noch nicht zugeordnet 1000::0/4 6,3%global eindeutige Adressen 2000::0/3 12,5%noch nicht zugeordnet 6000::0/3 12,5%noch nicht zugeordnet 8000::0/3 12,5%noch nicht zugeordnet A000::0/3 12,5%noch nicht zugeordnet C000::0/3 12,5%noch nicht zugeordnet E000::0/3 6,3%noch nicht zugeordnet F000::0/5 3,1%noch nicht zugeordnet F800::0/6 1,6%noch nicht zugeordnet FE00::0/7 0,8%noch nicht zugeordnet FE00::0/9 0,2%auf eine Verbindung begrenzte Adressen FE80::0/10 0,1%auf eine Einrichtung begrenzte Adressen FEC0::0/10 0,1%Multicast−Adressen FF00::0/8 0,4%

IPv6 Sonstiges

/ Trotz des großen Adressraumes gibt es wiederum private Adressbereich, vergeleichbar dem 192.168. Bereich

/ Einführung des Protokolls noch ungewiss

/ Vorwiegendes Interesse in Europa und Asien, wenig Interesse Seitens der USA (da im Besitz von ca. 75% des IPv4 Adressraumes)

Zusammenfassung

/ Ausschnitte aus der Vermittlungsschicht

/ Routing

/ Etwas Hardware

/ IPv4 incl. ICMP

/ ARP, RARP, BOOTP

/ Fragmentierung

/ IPv6