Internet layer/IP Der Internet Layer Internet Protocol (IP) Internet Control Message Protocol (ICMP) Routing Information Protocol (RIP) Open Shortest Path First Protocol (OSPF) Address Resolution Protocol (ARP) Reverse Address Resolution Protocol (RARP) Georges Awad 1 Internet layer/IP IP Internet Protocol ! IP ist "#auf der Vermittlungsschicht angesiedelt. "#verbindungslos; (falsche Reihenfolge, Verlust, Duplizierung der Datenpakete möglicht) " Es leitet Datenpakete über verschiedene Netze weiter, bis sie beim Zielrechner ankommen. " Dazu ist eine einheitliche und weltweit eindeutige Adressierung notwendig! Georges Awad 2 Internet layer/IP IP Internet Protocol ! IP ist " auf der Vermittlungsschicht angesiedelt. " verbindungslos; (falsche Reihenfolge, Verlust, Duplizierung der Datenpakete möglich). " Es leitet Datenpakete über verschiedene Netze weiter, bis sie beim Zielrechner ankommen. " Dazu ist eine einheitliche und weltweit eindeutige Adressierung notwendig! " Diese Adressierung muß: 1. unabhängig von irgendwelcher physikalischen Hardwareadressierung sein. 2. strukturiert sein (d.h. aus der Adresse muß z.B. das Land, die Stadt, die Organisation bzw. Der Benutzer zu entnehmen sein. Ähnlich einer Telefonnummer). Georges Awad 3 IP stellt die Endsystemverbindung zwischen Partnerrechnern her. IP ist ein ungesicherter Dienst. Pakete können verlorengehen, mehrfach zugestellt werden, einander überholen. Auch die Integrität der Nutzdaten wird nicht überprüft. Internet layer/IP Die Hauptaufgabe des Internet Protokolls ist das Adressieren von Rechnern und das Fragmentieren von Paketen der darüberliegenden Schicht. Selbst die Korrektheit der Quelladresse ist nicht garantiert. Eine Authentifikation muss auf höheren Schichten stattfinden. Damit IP auf verschiedene Subnetze aufsetzen kann müssen diese IPAdressen auf die Hardware adressen abgebildet sein! Da IP verbindungslos ist und damit unsicher sorgt die daraufliegende Schicht, die Transportschicht TCP für die Erkennung und Behebung dieser Probleme. Georges Awad 4 Anwendung Transport B Protokoll Anwendung Protokoll Transport Internet Internet Subnetz Internet layer/IP A Subnetz Internet Subnetz Subnetz Router Georges Awad 5 Internet layer/IP Adressierung eines Kommunikationspartners in der TCP/IP-Familie " Wenn Daten geroutet werden, müssen sie: 1. zu einem bestimmten Netzwerk 2. zu einem bestimmten Host in diesem Netzwerk 3. zu einem bestimmten Anwender oder Prozeß auf diesem Host geliefert werden. Anwendung Anwendung Host B Host A Netz 1 R Netz 2 " Für 1 und 2 werden IP-Adressen, für die Adressierung von Anwendungen (Punkt 3) Portnummern verwendet. Georges Awad 6 Der IP-Kopf hat Georges Awad einen festen Teil mit 20 Bytes und einen optionalen Teil von variabler Länge. Internet layer/IP IP-Paketformat 7 ICMP =1, EGP =8, TCP =6 UDP 17, ISO-TP4 =29 usw. Type of Service (Vorrang, Verzögerung,...) Version 0 8 4 16 Kopflänge TOS Gesamtlänge in Bytes Datagramm-Nummer Time To Live Zähler für Lebensdauer Altersgrenze ist = 0 31 Bit 0 D F M F Protokoll Internet Quell-Adresse Fragment Offset x 8Bytes Kopf-Prüfsumme (System- und Netzadresse des Senders) Internet Ziel-Adresse (System- und Netzadresse des Empfängers) Optionen Köpfe höherer Protokolle und Georges Awad Füllzeichen D A T E N 8 " Version: Das Feld Version hält fest, zu welcher Protokollversion das Datagramm gehört. " Kopflänge: Da die Länge des IP-Kopfes nicht konstant ist, wird in diesem Feld seine aktuelle Länge in 32-Bit-Worten angegeben. Der Minimalwert beträgt 5 Worte (=20 Bytes). " TOS (Type Of Service): " Gesamtlänge: Georges Awad Internet layer/IP IP-Kopf In diesem Feld enthält das Datagramm Routinghinweise auf das gewünschte Optimierungskriterium (z.B. Verzögerung, Bandbreite, Fehlerrate) und Routingvorschriften wie Vorrang, Sicherheitsstufen und Wegvorgaben. Dieses Feld enthält die Gesamtlänge des Datagramms (IP-Kopf und Daten-Feld). Sie darf maximal 65536 Bytes (64 KByte) betragen. 9 IP-Kopf IP-Kopf Fragment Georges Awad Internet layer/IP " Datagramm-Nummer: Sollte das Datagramm unterwegs zur Zielstation fragmentiert (bei ISO: segmentiert) werden, so kann die Zielstation durch die Angabe der DatagrammNummer die Fragmente einem Datagramm zuordnen. Alle Fragmente eines Datagramms enthalten die gleiche Datagramm-Nummer. Daten IP-Kopf Fragment IP-Kopf Fragment 10 ! Sehr lange Nachrichten monopolisieren die Verwendung von gemeinsam genutzten Ressourcen, besonders eines gemeinsam genutztes Übertragungsmediums, so dass sich die Zugriffsverzögerung für andere Benutzer erhöht. Internet layer/IP Notwendigkeit der Segmentierung von Nachrichten ! Ein Paket kann auf seinem Weg vom Sender zum Empfänger unter Umständen mehrere unterschiedliche Netzwerke mit unterschiedlichen Maximal-Paketgrößen durchlaufen (z.B. bei X.25 darf ein Paket nicht größer sein als 128 Bytes, während ein Ethernet-Paket bis zu 1526 Bytes transportieren kann). ! Wenn die Fehlerrate hoch ist, kann eine verbesserte Nutzleistung mit kürzeren Nachrichten erreicht werden. Georges Awad 11 Fragment Offset: gibt die Lage der Fragmentdaten relativ zum Anfang des Datenblocks im ursprünglichen Datagramm an. " Time To Live: In diesem Feld schützt sich das Protokoll durch Datagrammalterung. " Protokoll: Das Protokoll-Feld sagt aus, zu welchem der verschiedenen Transportprotokolle (TCP, UDP, ISO-TP4 usw.) das Datagramm gehört. Internet layer/IP " Fragmentierungsfelder (ein unbenutztes Bit, DF, MF, Fragment Offset): " Kopf-Prüfsumme: verifiziert nur den IP-Kopf. (IP-Kopf kann in einem Router (z.B. durch eine Fragmentierung) geändert werden). Georges Awad 12 Zusatzhinweise für Router und Zielsystem. Beispiele: Source Routing (feste Wegevorgabe): Hier kann eine Liste von Internet-Adressen hinterlegt werden, durch die dieses Datagramm hindurchlaufen soll. Internet layer/IP " Optionen: Record Routing (Routenmitschnitt): Die Knoten, die dieses Datagramm durchläuft, werden angewiesen, ihre InternetAdresse zu hinterlegen. Damit läßt sich ermitteln, welche Route dieses Datagramm genommen hat. Timestamp (Zeitstempel): Hier kann die Uhrzeit des Durchlaufs durch den Knoten hinterlegt werden, damit sich z.B. Verzögerungen auf Teilstrecken messen lassen. Weitere Optionen wie bestimmte Sicherheitsstufen und besondere Routenqualitäten wie geringe Verzögerung, niedrige Kosten, niedrige Bitfehlerrate u.a.m. sind ebenfalls möglich. Georges Awad 13 Anwendungsschicht SMTP (25) FTP (21) Telnet ...... (23) () SNMP TFTP .... (161) (69) () UDP (6) (17) ICMP (1) IP (0800) RARP (8035) TCP/IPProtokollfamilie TCP ARP (8086) Netzwerk-Schicht Georges Awad 14 " IP-Adressen sind 32 Bit lang und hierarchisch aufgebaut: Sie bestehen aus Netzwerk-identifier (Netzkennung) und Host-identifier (Rechnerkennung). 1.Byte 2.Byte 3.Byte Internet layer/IP IP-Adressen 4.Byte Der besseren Lesbarkeit halber fasst man jeweils ein Oktett zu einer Dezimalzahl zusammen. Beispiel: 11000000 10101000 00010110 00101111 wird zu 192 . 168 . 22 . 47 Georges Awad 15 IP-Adressen werden in 5 Klassen aufgeteilt, von denen nur 3 von Bedeutung sind: 126 Netzwerke mit ca. 17 Mio. Hosts Class A 0 7 Bit Net 24 Bit Host Internet layer/IP " 1 . 0 . 0 . 0 - 126 . 0 . 0 . 0 16.000 Netzwerke mit ca. 65.000 Hosts Class B 10 14 Bit Net 16 Bit Host 128 . 1 . 0 . 0 - 191 .254 . 0 . 0 Ca. 2 Mio Netzwerke mit je 254 Hosts Class C 110 21 Bit Net 8 Bit Host 192 . 0 . 1 . 0 - 223 . 255 . 254 . 0 Georges Awad 16 " Zur besseren Ausnutzung des IP-Adreßraums wurde die Möglichkeit geschaffen IP-Teilnetze (Subnetze) zu bestimmen. " Aus der 2-stufigen-Adressierung wird eine 3-stufige gemacht. IP-Adresse ohne Subnetting: IP-Adresse mit Subnetting: Internet layer/IP Subnetting und Netzmasken Netzwerk-ID + Host-ID Netzwerk-ID + Teilnetz-ID + Host-ID " Diese Aufteilung wird durch Netzmasken festgelegt und ist nur Netzintern von Bedeutung. " Eine (für das Netz einheitliche) Netzmaske legt fest, welche Bits das Subnetz (Angabe „1“ in der Netzmaske) und welche den Host-Anteil (Angabe „0“) bezeichnen " RFC 950 enthält eine Konvention zur Aufteilung der Host-Id zur Unterstützung des Routing in Subnetzen. Georges Awad 17 Wie sieht die Subnetzmaske aus, wenn ein IP-Netz der Klasse B in 25 Teilnetze bis zu 2000 Rechner angeschlossen werden können? 25 Teilnetze: 2000 Rechner: 5 Bits 11 Bits Internet layer/IP Beispiel: d.h. Aufteilung der 16 Bits Rechnerkennung auf 5 Bits Teilnetz und 11 Bits Rechnerkennung: Netzmaske binär: dezimal: Georges Awad 11111111.11111111.11111000.00000000 255 . 255 . 248 . 0 18 Klasse A Klasse B Klasse C 255.0.0.0 255.255.0.0 255.255.255.0 Internet layer/IP "# Standard Subnetzmasken für Weiterleiten von Paketen an das richtige Ziel Damit die SW feststellen kann, auf welchem Teilnetzwerk sich das Ziel befindet, muß sie lediglich über IP-Adresse und Subnetzmaske verfügen. Georges Awad 19 Class B Network mit Subnetz Die dazu verwendete Subnet-Mask lautet: 255.255.255.0 Georges Awad Internet layer/IP Beispiel: 20 Um zu wissen, ob Rechner C im gleichen Subnet ist (und er das Paket gleich direkt senden kann) oder ob Rechner C in einem anderen Subnet ist (und er das Paket an den Router senden muss) vergleicht er seine Subnet-Adresse mit der Subnet-Adresse von Rechner C. Internet layer/IP Rechner A will ein IP-Paket an Rechner C senden: Seine eigene Subnet-Adresse erhält er durch eine logische UNDVerknüpfung seiner IP-Adresse mit seiner Netzmaske: UND = Georges Awad 10101100 00010000 01001011 00010110 172. 16. 75. 22 11111111 11111111 11111111 00000000 255.255.255. 0 10101100 00010000 01001011 00000000 172. 16. 75. 00 21 UND 10101100 00010000 01001100 00101011 172. 16. 76. 43 11111111 11111111 11111111 00000000 255.255.255. 0 = 10101100 00010000 01001100 00000000 Internet layer/IP Nun prüft er, ob der Empfänger-Rechner im gleichen Subnet ist. Das Vorgehen ist gleich wie vorher: 172. 16. 76. 00 Ist 172.16.75.00 gleich 172.16.76.00? Nein. Also sendet Rechner A sein IP-Paket an den Router. Der Router prüft nun wiederum anhand der Netzmaske nach obigem Vorgehen, an welches Subnet er das Paket senden muss. Note: Georges Awad Netzwerk-ID ist der Bereich der IP-Adresse, der in der Netzmaske dem Bitwert 1 entspricht. 22 1. Anzahl benötigter Teilnetze definieren (zukünftiges Wachstum berücksichtigen) 2. Anzahl benötigter Hosts pro Teilnetz definieren Internet layer/IP Subnetting – Erstellen von Teilnetzen Für folgende Komponenten ist eine Host-ID erforderlich: ✔ Für jede TCP/IP-Computer-Netzschnittstellenkarte ✔ Für jede TCP/IP-Drucker-Netzschnittstellenkarte ✔ Für jede Router-schnittstelle in allen Teilnetzen (Router mit 2 Teilnetzen ➜ 2 Host-ID und darum auch 2 IP-Adressen). 3. Subnet Mask definieren Zu beachten: Ausschließliche Null-Adressen sind für die Adressierung eines Netzwerks und ausschließliche Einser-Adressen sind für Broadcasts reserviert. 4. Adressen der Teilnetzwerke (Teilnetzwerk-IDs) definieren 5. Host-Ids definieren und den Hosts IP-Adressen zuordnen. Georges Awad 23 " IP-Protokoll läuft in jedem Rechner, ob Host oder Router, in derselben Weise ab. " Situationen beim Weiterleiten eines Pakets: " IP-Zieladresse = eine der eigenen Adressen? Weiterreichen an eine höhere Schicht. Internet layer/IP IP-Vermittlung " IP-Zieladresse = Adresse eines Rechners von einem direkt angeschlossenen Netz? Weiterleiten an Zielrechner. " IP-Zieladresse = Adresse eines Rechners von einem nicht direkt angeschlossenen Netz? Weiterleiten an einen geeigneten IP-Router. Für die Entscheidung, an welchen IP-Router ein Paket weitergeleitet werden soll, wird in jeder IP-Protokollinstanz eine Wegewahltabelle (Routing-tabelle) benutzt. Georges Awad 24 Router 2.3 3.3 2.1 Netz 2 6.1 3.1 2.2 Internet layer/IP 2.4 Netz 3 1.1 6.3 1.2 Netz 6 3.2 1.4 Netz 1 5.2 4.1 1.3 6.2 5.4 Netz 5 Netz 4 4.2 5.1 4.3 Georges Awad 5.3 25 Zielnetz Netz 2 Netz 5 Netz 6 nächster IP-Router 3.1 4.2 3.1 Internet layer/IP Beispiele: IP-Router mit den Adresse 1.4, 3.2, 4.1 (s. Bild), benötigt folgende Informationen: ! eigene Adressen: 1.4, 3.2, 4.1 ! lokal angeschlossene Netze: 1, 3, 4 ! Routingtabelle: Station 1.1 benötigt folgende Informationen: ! eigene Adresse: 1.1 ! lokal angeschlossenes Netz: 1 ! Routingtabelle: Zielnetz alle nächster IP-Router (Standardrouter) 1.4 Routingtabellen geben an, welches der „beste“ Weg zu einem Zielnetz ist und werden ständig auf dem aktuellen Stand gehalten, indem die IP-Protokollinstanzen Informationen austauschen und die Tabellen neu berechnen. Georges Awad 26