Host Kapitel 2: Kommunikationsprotokolle Seite 133 Router können durch Kombination einer IP-Adresse und einer Subnetz-Maske ermitteln, in welches Teilnetz ein Paket geschickt werden muss. Subnet • Network alle Hosts eines Netzes sollten die gleiche Subnetz-Maske haben 10 11111111111111111111110000000000 • SubnetzMaske Host eine Subnetz-Maske identifiziert die „missbrauchten“ Bits • Network einige Bits der Rechner-Adresse werden als Netzwerk-ID genutzt • Class BAdresse mit einer IP-Netzwerk-Adresse können mehrere physikalische Netze adressiert werden • Seite 132 . 255 . 225 00001100 AND 11100010 . 226 . 12 . 0 Subnetz-Maske 0000 0000 . 0 IP-Adresse 00010101 Kapitel 2: Kommunikationsprotokolle Seite 134 Der Router berechnet das Subnetz ‘137.226.12‘ und sendet das Paket an den Router, der dieses Teilnetz anschließt. Netzwerk des bezeichneten Hosts 1000 1001 1110 0010 0000 1100 0000 0000 137 1111 1111 1111 1111 1111 1111 255 0111 1000 10001001 Der Eingangs-Router der RWTH, der das IP-Paket empfängt, weiß nicht, wo sich der Host ‘12.21‘ befindet. . 12 . 21 137 . 226 Ethernet B Host 128.10.2.133 128.10.2.18 Ethernet B Host IP-Subnetze - Berechnung des Zielhosts Kommunikation und verteilte Systeme IP-Subnetze Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle Ethernet B Host 128.10.2.3 Ethernet B 128.10.2.0 128.10.2.1 Router 128.10.1.70 128.10.1.26 Ethernet A Host Ethernet A Host 128.10.1.8 Ethernet A Host 128.10.1.3 Kommunikation und verteilte Systeme Seite 131 Internet des Rest Aller Verkehr für 128.10.0.0 Ethernet A 128.10.1.0 Beispiele für Subnetze: Subnetz-Maske 255.255.255.0 Problem: Class C-Netze sind sehr klein, Class B-Netze oft aber schon wieder zu groß. Daher gibt es die Möglichkeit, ein durch die IP-Adresse identifiziertes Netz in sogenannte Subnetze zu zerlegen. Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle Aber: Der Erfolg von IPv6 ist keineswegs sicher! (Die flächendeckende Einführung von IPv6 ist ungeheuer schwierig: Interoperabilität, Kosten, Migrationsstrategien, ....) ⇒ IP Version 6 hat 128 Bit-Adressen ⇒ 7 x 1023 IP-Adressen pro Quadratmeter der Erdoberfläche (incl. der Ozeane!) ⇒ eine Adresse pro Molekül auf der Erdoberfläche! Erweiterung des Adressraums bei IPv6 gegenüber der aktuellen Version IPv4 Lösungsversuch Beispiel: wenn 500 Geräte in einem Unternehmen angeschlossen werden sollen, braucht man eine Class B-Adresse, die unnötigerweise mehr als 65.000 Nutzeradressen blockiert. • Ineffiziente Nutzung des Adressraums. • Allzu viele Class-A-Adressen wurden in den ersten Internetjahren vergeben. Probleme • Niemand hatte mit einem derart starken Wachstum des Internet gerechnet (sonst hätte man von Anfang an längere Adressen definiert). IP-Subnetze Kommunikation und verteilte Systeme Kommunikation und verteilte Systeme IP-Adressen werden knapp... Lehrstuhl für Informatik 4 Lehrstuhl für Informatik 4 . 2 . 35 . 210 . 255 . 0 . 2 . 0 0 . 0 Subnetz-Maske 0000 0000 . IP-Adresse Kapitel 2: Kommunikationsprotokolle Seite 137 • Beispiel: 137.250.3/17: Die ersten 17 Bit der IP-Adresse werden für die NetzwerkIdentifikation verwendet • Einsatz in Verbindung mit Routing: Backbone-Router, z.B. an Transatlantik-Link, betrachtet z.B. nur die ersten 13 Bit; dadurch kleine Routing-Tabellen, wenig Rechenaufwand • Router eines ISP betrachtet z.B. nur die ersten 15 Bit • Router in Firmennetz betrachtet z.B. nur die ersten 25 Bit Trennung von starrer Klasseneinteilung durch Ersetzen der festen Klassen durch Netzwerk-Präfixe variabler Länge Abhilfe: Classless Inter-Domain Routing (CIDR) Problem: starre Klasseneinteilung Seite 136 Kapitel 2: Kommunikationsprotokolle Seite 138 • Nur Router, die an die Außenwelt angeschlossen sind, benötigen eine globale Adresse • Vergabe einer einzigen (oder einiger weniger) IP-Adressen an eine Firma • Intern verwendet jeder Rechner eine eigene IP-Adresse. Dazu sind 'private' Adressbereiche reserviert worden, die jeder innerhalb seiner eigenen Netze verwenden darf und die nie im Internet geroutet werden: • 10.0.0.0 10.255.255.255 • 172.16.0.0 172.31.255.255 • 192.168.0.0 192.168.255.255 • Bei Verlassen des eigenen Netzes findet eine Adressumsetzung statt • Problem: wie kann die Rückübersetzung in die interne IP-Adresse stattfinden? NAT – Network Address Translation Kommunikation und verteilte Systeme Flexiblere Adressierung Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle 254 Rechner pro Subnetz: • Rechner haben die Adressen 1 – 254 • Die 0 ist für das Subnetz selbst reserviert • Die 255 ist für Broadcast im Subnetz reserviert 137.227.10.0 Andere Schreibweise für Adressen in Subnetzen: 137.226.12.221/24 Kommunikation und verteilte Systeme Seite 135 137.226.112.0 Subnetzmaske für jedes Teilnetz = 255.255.255.0 137.226.8.0 137.226.12.0 InfoIV Zugeteilte Netzwerkadresse für die RWTH 137.226.0.0 Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle Der Router weiß nun, dass die beiden letzten Byte den Zielrechner direkt bezeichnen. Netzwerk des bezeichneten Hosts 0111 1000 0000 0010 0000 0000 0000 0000 120 1111 1111 1111 1111 0000 0000 255 AND 0111 1000 0000 0010 0010 0011 1101 0010 120 Keine Aufteilung in Subnetze, es liegt ein großes Class-B-Netz vor: Beispiel für ein Subnetz Kommunikation und verteilte Systeme Kommunikation und verteilte Systeme IP-Subnetze - Berechnung des Zielhosts Lehrstuhl für Informatik 4 Lehrstuhl für Informatik 4 1500 TCP 10.5.3.7 1500 10.0.0.1 1066 Kapitel 2: Kommunikationsprotokolle – Möglichkeiten zur Fortentwicklung des Protokolls – Reduzierung des Umfangs der Routingtabellen – Vereinfachung des Protokolls, um eine schnellere Abarbeitung zu gewährleisten Seite 141 – Unterstützung von Mobilität (Hosts können ohne Adressänderung auf Reisen gehen) – Mehr Gewicht für Dienstarten, insbesondere für Echtzeitanwendungen – Sicherheitsmechanismen (Authentifikation und Datenschutz) – Bessere Unterstützung der Echtzeitanwendungen – Dramatisch anwachsender Bedarf für neue IP-Adressen Warum ein Wechsel, wenn IPv4 gut funktioniert? IPv6 Kapitel 2: Kommunikationsprotokolle Seite 140 Kapitel 2: Kommunikationsprotokolle Seite 142 – IHL: überflüssig, keine Optionen mehr – Protocol, Fragmentierung: überflüssig, wird durch Optionen mit abgedeckt – Checksum: Handhabung durch Schicht 2 und 4 • Einfacher Header: – Authentifizierung und Privacy • Sicherheitsmaßnahmen – Markieren von Paketen für speziellen Verkehr • Unterstützung der Reservierung von Ressourcen – Anycast Address: Erreiche irgendeinen von mehreren • Verbesserung der Adressflexibilität – Dynamische Zuordnung von IPv6-Adressen • Autokonfiguration von Adressen – Vereinfacht und beschleunigt die Verarbeitung von IPv6-Paketen für Router • Verbesserter Optionsmechanismus – 128-Bit-Adressen (8 Gruppen zu je 4 Hexadezimal-Zahlen) • Adressgröße IPv6 - Eigenschaften Kommunikation und verteilte Systeme Seite 139 IPv4 (September 1981, RFC 791) größerer Adressraum mehr Sicherheit Lehrstuhl für Informatik 4 80 21 Port (Ziel) Kommunikation und verteilte Systeme 198.60.42.12 207.17.4.21 198.60.42.12 137.226.12.221 IP (Ziel) Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle 1066 TCP Protokoll Port (lokal) IP (lokal) Port (global) IP (global) Migrationstrategien bessere Performance einfachere Konfiguration mehr Automatismus . einfachere Struktur der Header 1. Anforderungen für IPng (Dezember 1993, RFC 1550) Spezifikation für IPng (Dezember 1994, RFC 1726) 1. Veröffentlichung des Standards (Januar 1995, RFC 1752) IPv6 (Dezember 1995, RFC 1883) Das neue IP - IPv6 Kommunikation und verteilte Systeme Kommunikation und verteilte Systeme NAT – Network Address Translation Lehrstuhl für Informatik 4 Lehrstuhl für Informatik 4 4 8 16 Type of Service Flow Label Next Header Kapitel 2: Kommunikationsprotokolle Der IPv6-Header ist zwar länger, doch dies liegt nur an den längeren Adressen. Ansonsten ist er ‚besser sortiert‘ und im Router einfacher abzuarbeiten. Destination Address DATA NextHeader / DATA Destination Address Destination Address Destination Address Source Address Options (variable) / Padding Source Address PayloadLen Priority Source Address Version Destination Address Header Checksum Fragment Offset Total Length 32 Source Address 16 Source Address Protocol Identification 8 Seite 145 Hop Limit 32 Kapitel 2: Kommunikationsprotokolle Seite 144 VPN Seite 146 Unter einem virtuellen privaten Netz (VPN) wird eine Netzinfrastruktur verstanden, bei der Komponenten eines privaten Netzwerkes über ein öffentliches Netz (z.B. Internet) miteinander kommunizieren. VPNs werden häufig zur Verbindung geographisch verteilter Organisationen eingesetzt (Intranet im Internet). VPNs gewährleisten einen authentifizierten Zugriff und erlauben durch Verschlüsselung, den Schutz von sensiblen Daten in verteilten Netzen sicherzustellen. Die logische Verbindung zwischen privaten Komponenten über ein öffentliches Netz hinweg wird durch die Tunneling-Technik erreicht. Kapitel 2: Kommunikationsprotokolle • • • • Virtual Private Network (VPN) Kommunikation und verteilte Systeme Seite 143 • Zieloptionen (Zusatzinformationen für das Ziel) • Verschlüsselte Sicherheitsdaten • Authentifikation (des Senders) • Fragmentierung (Verwaltung von Fragmenten) Unterschied zu IPv4: Nur die Quelle kann eine Fragmentierung vornehmen. Router, für die ein Paket zu groß ist, schicken eine Fehlermeldung an die Quelle. • Routing (Definition einer vollen oder teilweise festgelegten Route) • Hop-by-Hop (Informationen für Teilstrecken) Alle Router müssen dieses Feld prüfen. Momentan definiert ist nur die Unterstützung von Jumbogrammen (Längenangabe). Optionale Angaben folgen in Erweiterungs-Headern. Davon sind 6 definiert: Lehrstuhl für Informatik 4 IHL Time to Live Version HopLimit (24) 32 Kommunikation und verteilte Systeme IPv4 vs. IPv6: Header 4 Next header/data DestinationAddress SourceAddress FlowLabel 24 NextHeader 16 PayloadLen 8 PrioVersion (4) rity (4) 4 Das Präfix einer Adresse charakterisiert geographische Bereiche, Provider, lokale interne Bereiche, ... 1 Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle • Version: 4 Bit IP Version Nummer. • Priority: 4 Bit für Priorität. 1 - News, 4 FTP, 6 - Telnet, 8 bis 15 - Echtzeitverkehr. • FlowLabel: virtuelle Verbindung mit bestimmten Merkmalen/Anforderungen • PayloadLen: 16 Bit Unsigned Integer. Paketlänge nach dem 40-Byte-Header • NextHeader: 8 Bit Selektor. Gibt den Typ des folgenden Erweiterungs-Headers an (oder den Transport-Header) • HopLimit: 8 Bit Unsigned Integer. Dekrementiert bei jedem Knoten. Bei Null wird das Paket verworfen • SourceAddress: 128 Bits. Die Adresse des ursprünglichen Senders des Pakets • DestinationAddress: 128 Bits. Die Adresse des Empfängers (nicht unbedingt das endgültige Ziel, wenn es einen Optional Routing Header gibt) IPv6 Erweiterungs-Header Kommunikation und verteilte Systeme Kommunikation und verteilte Systeme IPv6 Haupt-Header Lehrstuhl für Informatik 4 Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle Tunneling: Nutzung einer Netzinfrastruktur zum gesicherten Transfer von Daten von einem Netzwerk zu einem anderen. Die transportierten Daten sind Pakete, die zusätzlich gekapselt und geschützt werden. Tunneling-Technik Kommunikation und verteilte Systeme Lehrstuhl für Informatik 4 Seite 147