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
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
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
Die Hauptaufgabe des Internet Protokolls ist das Adressieren von Rechnern und das Fragmentieren von Paketen der darüberliegenden Schicht. 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. 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 IP- Adressen 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
A Anwendung Protokoll B Anwendung Transport Protokoll Transport Internet Internet Internet Subnetz Subnetz Subnetz Subnetz Router Georges Awad 5
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 Host A Anwendung Host B 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
IP-Paketformat Der IP-Kopf hat einen festen Teil mit 20 Bytes und einen optionalen Teil von variabler Länge. Georges Awad 7
Version Type of Service (Vorrang, Verzögerung,...) ICMP =1, EGP =8, TCP =6 UDP 17, ISO-TP4 =29 usw. 0 8 16 31 Bit 4 Kopflänge TOS Gesamtlänge in Bytes Datagramm-Nummer 0 D M Fragment Offset F F x 8Bytes Zähler für Lebensdauer Altersgrenze ist = 0 Time To Live Protokoll Kopf-Prüfsumme Internet Quell-Adresse (System- und Netzadresse des Senders) Internet Ziel-Adresse (System- und Netzadresse des Empfängers) Optionen Füllzeichen Köpfe höherer Protokolle und D A T E N Georges Awad 8
IP-Kopf " 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): 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. " Gesamtlänge: Dieses Feld enthält die Gesamtlänge des Datagramms (IP-Kopf und Daten-Feld). Sie darf maximal 65536 Bytes (64 KByte) betragen. Georges Awad 9
" Datagramm-Nummer: Sollte das Datagramm unterwegs zur Zielstation fragmentiert (bei ISO: segmentiert) werden, so kann die Zielstation durch die Angabe der Datagramm- Nummer die Fragmente einem Datagramm zuordnen. Alle Fragmente eines Datagramms enthalten die gleiche Datagramm-Nummer. IP-Kopf Daten IP-Kopf Fragment IP-Kopf Fragment IP-Kopf Fragment Georges Awad 10
Notwendigkeit der Segmentierung von Nachrichten! 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.! 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
" Fragmentierungsfelder (ein unbenutztes Bit, DF, MF, Fragment Offset): 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. " 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
" Optionen: 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. Record Routing (Routenmitschnitt): Die Knoten, die dieses Datagramm durchläuft, werden angewiesen, ihre Internet- Adresse 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) () ICMP (1) TCP (0800) UDP (6) (17) IP Netzwerk-Schicht RARP ARP (8035) (8086) Protokollfamilie TCP/IP- Georges Awad 14
IP-Adressen " 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 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: Class A 126 Netzwerke mit ca. 17 Mio. Hosts 0 7 Bit Net 24 Bit Host 1. 0. 0. 0-126. 0. 0. 0 Class B 16.000 Netzwerke mit ca. 65.000 Hosts 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
Subnetting und Netzmasken " 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: Netzwerk-ID + Host-ID IP-Adresse mit Subnetting: 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
Beispiel: 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: 5 Bits 2000 Rechner: 11 Bits d.h. Aufteilung der 16 Bits Rechnerkennung auf 5 Bits Teilnetz und 11 Bits Rechnerkennung: Netzmaske binär: 11111111.11111111.11111000.00000000 dezimal: 255. 255. 248. 0 Georges Awad 18
"# Standard Subnetzmasken für Klasse A 255.0.0.0 Klasse B 255.255.0.0 Klasse C 255.255.255.0 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
Beispiel: Class B Network mit Subnetz Die dazu verwendete Subnet-Mask lautet: 255.255.255.0 Georges Awad 20
Rechner A will ein IP-Paket an Rechner C senden: 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. Seine eigene Subnet-Adresse erhält er durch eine logische UND- Verknüpfung seiner IP-Adresse mit seiner Netzmaske: 10101100 00010000 01001011 00010110 172. 16. 75. 22 UND 11111111 11111111 11111111 00000000 255.255.255. 0 = 10101100 00010000 01001011 00000000 172. 16. 75. 00 Georges Awad 21
Nun prüft er, ob der Empfänger-Rechner im gleichen Subnet ist. Das Vorgehen ist gleich wie vorher: 10101100 00010000 01001100 00101011 172. 16. 76. 43 UND 11111111 11111111 11111111 00000000 255.255.255. 0 = 10101100 00010000 01001100 00000000 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: Netzwerk-ID ist der Bereich der IP-Adresse, der in der Netzmaske dem Bitwert 1 entspricht. Georges Awad 22
Subnetting Erstellen von Teilnetzen 1. Anzahl benötigter Teilnetze definieren (zukünftiges Wachstum berücksichtigen) 2. Anzahl benötigter Hosts pro Teilnetz definieren 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-Vermittlung " 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. " 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
3.3 3.1 2.2 2.3 Netz 2 2.4 2.1 6.1 Router Netz 3 1.2 1.1 6.3 Netz 6 Netz 1 1.4 3.2 4.1 5.2 1.3 Netz 5 6.2 5.4 4.3 Netz 4 4.2 5.1 5.3 Georges Awad 25
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: Zielnetz nächster IP-Router Netz 2 3.1 Netz 5 4.2 Netz 6 3.1 Station 1.1 benötigt folgende Informationen:! eigene Adresse: 1.1! lokal angeschlossenes Netz: 1! Routingtabelle: Zielnetz nächster IP-Router (Standardrouter) alle 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