TCP/IP Seite 86 Kapitel 1: Grundlagen Seite 88 • Ende-zu-Ende-Protokolle TCP (Transmission Control Protocol; verbindungsorientiert) bzw. UDP (User Datagram Protocol; verbindungslos) • Netzwerkprotokoll IP; (Internet Protocol; verbindungslos) Das Ergebnis: • Flexibilität (d.h. soll sich für Anwendungen mit sehr unterschiedlichen Anforderungen eignen) • Maximal mögliche Zuverlässigkeit und Verfügbarkeit • Fehlertoleranz Anforderungen: Transmission Control Protocol / Internet Protocol (TCP/IP) Entwickelt 1974: Kapitel 1: Grundlagen • Netzrechner und Hostrechner getrennt • Paketvermittlung Designziel von ARPANET • Die Funktionsfähigkeit des Netzes sollte selbst nach einer größten anzunehmenden Katastrophe, z.B. einem Atomkrieg, erhalten bleiben, daher: hohe Vermaschung Ergebnis: ARPANET, 1969 (Vorläufer des heutigen Internet) • Die OSI-Spezifikation war noch lange nicht so weit. • Die Beteiligung des Militärs war die einzige Möglichkeit, ein außerordentlich anspruchsvolles und überaus teures Vorhaben sinnvoll angehen zu können. • Eine besonders wichtige Initiative dazu ging aus von der ARPA (Advanced Research Project Agency, mit militärischen Interessen). • Zusammenschaltung von Rechnern und Rechnernetzen unter Verwendung von einheitlichen Protokollen. Ziel: Auf dem Weg zum heutigen Internet Vom ARPANET zum Internet Seite 87 Kapitel 1: Grundlagen Seite 89 • 1990 bestand das Internet aus 3,000 Netzen mit 200,000 Rechnern. Das war aber erst der Anfang einer rasanten Entwicklung. • Kein festes, zentral verwaltetes Netzwerk, sondern ein weltweiter Zusammenschluss aus vielen einzelnen, verschiedenartigen Netzwerken unter lokaler Kontrolle (und Finanzierung) • Nutzbare Anwendungen waren im Wesentlichen eMail (elektronische Post), Remote Login (Ausführung von Jobs auf fremden Rechenanlagen) und File Transfer (Austausch von Datenbeständen) • Das so entstandene Gesamtnetz wurde zunehmend als weltweit verfügbares Netz (als “Internet”) aufgefasst und verlor allmählich seinen frühen militärisch dominierten Charakter. • Interkontinentale Anbindung von Netzen in Europa, Asien, Pazifik. • 1983 wurde TCP/IP offizielles Protokoll von ARPANET. ARPANET wurde mit vielen anderen USA-Netzen verbunden. Kapitel 1: Grundlagen Resultat: TCP/IP-Netze. Entwicklung einheitlicher Protokolle auf Transport- und Netzebene (ohne allzu exakte Definition dieser Ebenen, insbesondere ohne genaues Abstimmen mit den entsprechenden OSI-Ebenen). Deshalb: miteinander kommunizieren • konnten zunächst nicht miteinander verbunden werden und schon gar nicht • unterschiedliche Protokolle, Medien, ... All die LANs, MANs, WANs hatten Parallel zum ARPANET hatten sich noch weitere (kleinere) Netze entwickelt. Problem: Interworking! Interworking lokale Betreiber kontrollieren und finanzieren globale Koordination durch einzelne Organisationen Internet-Provider ermöglichen den Zugang für Privatleute • • • Nutzung von Anwendungen wie dem WWW zum internen Datenaustausch Seite 92 heterogene Netzstrukturen aus verschiedenen Unternehmensbereichen lassen sich mit TCP/IP leicht integrieren Rechner sind vom ‚globalen Internet‘ abgeschottet (Datensicherheit) unternehmensinterne Kommunikation mit gleichen Protokollen und Anwendungen wie im Internet Kapitel 1: Grundlagen • Intranet Kommunikation über das TCP/IP-Protokoll: ein Rechner „ist am Internet“, wenn er die TCP/IP-Protokolle verwendet, über eine IP-Adresse erreichbar ist und IP-Pakete versenden kann. Internet und Intranet Seite 90 • Internet Kapitel 1: Grundlagen • 1999: Das übertragene Datenvolumen verdoppelt sich in weniger als 4 Monaten • 1998: Die Zahl angeschlossener Rechner verdoppelt sich ca. alle 6 Monate. • 1995: Backbones, Zehntausende LANs, Millionen angeschlossener Rechner, exponentiell steigende Nutzerzahlen • Neue Anwendungen, z.B. E-Commerce • Millionen neuer, vorwiegend nichtakademischer Nutzer! • Aufkommen sogenannter Internet Service Provider, d.h. Firmen, die ihre Rechner als Einwahlkonten in das Internet zur Verfügung stellen. • Ab 1990: Das WWW (World Wide Web) - zunächst entwickelt vom CERN zur Vereinfachung der Kommunikation im Bereich der Hochenergiephysik wurde, zusammen mit HTML und Netscape-Browsern, die von wohl niemandem vorhergesehene “Killer Application”; das war der Durchbruch für die Akzeptanz des Internets. • Bis 1990: Internet vergleichsweise klein, nach außen kaum sichtbar. Wenig mehr als Spielwiese für Universitäten und Forschungseinrichtungen. Entwicklung des Internets g 33.000 19.540.000 81 82 83 84 85 86 8 7 88 89 90 9 1 9 2 9 3 9 4 9 5 9 6 9 7 9 8 9 9 0 0 0 1 g g g g g g g g g g g g g g g g g g g g A u Au A u A u A u Au Au Au Au Au Au Au Au A u A u A u A u Au A u A u 213 69.600.000 150.000.000 „Internet“ in Deutschland Kapitel 1: Grundlagen • Verbindung zu internationalen Netzen, z.B. in das Europäische Wissenschaftsnetz und in die USA, Russland oder China • Netzdienste • paketvermittelnd Gigabit-Wissenschaftsnetz (G-WIN) • insbesondere von Einrichtungen und Personen aus Wissenschaft, Forschung, Bildung und Kultur • in nationalen und internationalen Netzen • fördert die Kommunikation und den Informationsund Datenaustausch Der Verein zur Förderung eines Deutschen Forschungsnetzes e.V. (DFN) Kapitel 1: Grundlagen Seite 93 Seite 91 • Anfang 2002... (geschätzte) 150 Millionen Hosts an das Internet angeschlossen Au 160000000 140000000 120000000 100000000 80000000 60000000 40000000 20000000 0 Internet Hosts Entwicklung des Internets Stuttgart Dresden Seite 94 Regensburg Leipzig Berlin Garching Erlangen Augsburg Würzburg Ilmenau Göttingen Magdeburg Braunschweig IP - Internet Protocol Karlsruhe Heidelberg Frankfurt Marburg Bielefeld Hannover Oldenburg Essen Kaiserslautern GEANT Aachen St. Augustin Global Upstream Rostock Kiel Hamburg Kapitel 1: Grundlagen Derzeit flächendeckend eingesetzt: Version 4 des IP-Protokolls: IPv4 • Fragmentierung und Wiederherstellung von Paketen → 4 Adressenformate (inklusive Multicast) • Maximale Paketgröße: 64 Kbyte (in der Praxis: 1500 Byte) → 3 Netzklassen → hierarchische Adressierung → stellt eine logische 32-Bit-Adresse zur Verfügung • IP-Adressierung (IPv4): • Routing, Interoperabilität zwischen verschiedenen Netztypen Seite 96 IP: verbindungslose, unzuverlässige Übertragung von Datagrammen bzw. Paketen (“Best effort”) Kapitel 1: Grundlagen Anschluss an das europäische Wissenschaftsnetz 10 Gbit/s 2,4 Gbit/s 2,4 Gbit/s 622 Mbit/s Core Node Verbindungen z.B. in die USA Deutsches G-Win Type of Service Kapitel 1: Grundlagen DATA (variable) Padding Header Checksum Destination Address ARP RARP TFTP Wireless LAN UDP DNS Seite 95 Host-tonetwork Layer Internet Layer Transport Layer Application Layer Header Data Seite 97 IP Header, normalerweise 20 Bytes IP-Paket (IPv4) Fragment Offset Source Address Protocol DM FF SMTP Token Bus IP Total Length Options (variable, 0-40 Byte) Time to Live Telnet Token Ring ICMP TCP FTP 32 Bits (4 Bytes) Ethernet IGMP Identification Version IHL Kapitel 1: Grundlagen Netze Protokolle HTTP Die TCP/IP-Protokollfamilie frei Throughput D T R Delay Precedence Reliability Der IP-Header (2) Seite 98 Kapitel 1: Grundlagen Seite 100 • Source Address / Destination Address: Netz- und Hostadressen von sendendem und empfangenden Rechner. Diese Information benutzen die Router zur Wegebestimmung. • Header Checksum: Prüfsumme über den Header. Muss bei jedem Hop neu berechnet werden (da sich TTL ändert). • Protocol: welches Transportprotokoll wird im Datenteil verwendet (UDP, TCP, ...)? An welchen Transportprozess ist das Paket daher weiterzugeben? • Fragment Offset: Folgenummern der Fragmente eines Datagramms (213 = 8192 mögliche Fragmente). Der Offset sagt aus, an welche Stelle eines Pakets (gerechnet in 8 Byte-Stücken) ein Fragment gehört. Daraus ergibt sich für ein Paket eine Maximallänge von 8192 * 8 Byte = 65536 Byte. • MF: More Fragments. "1" - es folgen weitere Fragmente. "0" - letztes Fragment eines Datagramms. • DF: Don't Fragment. Alle Router müssen Pakete bis zu einer Größe von 576 Byte bearbeiten, alles darüber hinaus ist optional. Größere Pakete mit gesetztem DF-Bit können daher nicht jeden möglichen Weg im Netz nehmen. Kapitel 1: Grundlagen • Time-to-Live (TTL): Lebenszeit von Datagrammen begrenzen auf maximal 255 Hops (verhindert endloses Kreisen von Paketen im Netz). Prinzipiell soll auch noch die Verweilzeit in Routern berücksichtigt werden, was allerdings in der Praxis nicht geschieht. Der Zähler wird bei jedem Hop verringert, bei 0 wird das Datagramm verworfen und ein Warnpaket an den Quellhost gesendet. • Identification: eindeutige Kennzeichnung eines Datagramms • Total Length: Länge des gesamten Datagramms (in Byte, ≤ 216-1 = 65535 Bytes) 3 Bit Priorität (0 = normales Datagramm, 7 = Steuerungspaket) • Type of Service: Angabe der gewünschten Eigenschaften bei der Übertragung: Kombination aus Zuverlässigkeit (z.B. Dateitransfer) und Geschwindigkeit (z.B. Audio) • IHL: IP-Header-Length (in 32 Bit-Worten; zwischen 5 und 15, je nach Optionen) • Version: IP-Versionsnummer (mehrere IP-Versionen gleichzeitig einsetzbar) Der IP-Header (1) 0 x01 777 0 64 512 511 1024 1023 1200 1200 Bytes Data Der IP-Header (3) 777 x00 128 x01 0 0 Seite 99 Kapitel 1: Grundlagen Seite 101 • Time Stamp: Record Route (je 32 Bit) sowie Zeitstempel für jeden Router (je 32 Bit). Anwendung z.B. im Fehlermanagement. • Record Route: Aufzeichnung der IP-Adressen der durchlaufenen Router. (Maximal 9 IP-Adressen möglich, heutzutage zu wenig) • Loose Source Routing: die mitgeführte Liste von Routern muss in angegebener Reihenfolge durchlaufen werden. Zusätzliche Router sind erlaubt. • Strict Source Routing: Vollständiger Pfad vom Quell- zum Zielhost, definiert durch die IP-Adressen der zu passierenden Router. (Verwendung z.B. durch Systemmanager für Zeitmessungen) • Security: wie geheim sind die transportierten Informationen? (Anwendung z.B. im Militär: Umgehung bestimmter Länder/Netze) Options: Spielraum für zukünftige Erweiterungen. Umfang: Vielfaches von 4 Byte, daher ist möglicherweise Padding notwendig, d.h. wenn kein Vielfaches von 4 Byte vorliegt, werden so viele zufällige Bits eingefügt, bis die Anzahl ein Vielfaches von 4 Byte darstellt. Derzeit sind 5 Optionen zwar definiert, werden aber von keinem Router unterstützt: Kapitel 1: Grundlagen 777 x00 IP-Header 777 Ident. Flags Offset • eine zu große oder zu kleine Paketlänge verhindert eine gute Performance. Zusätzlich gibt es oft Größenbeschränkungen (Puffer, Längenangaben bei Protokollen, Standards, Kanalbelegungsdauer, ...). Daher kommt es vor, dass Router große Pakete vor der Übertragung fragmentieren. • Die Datenlänge muss ein Vielfaches von 8 Byte sein. Ausnahme: das letzte Fragment, dort werden nur die restlichen Daten eingefügt. • wenn das „Don`t Fragment“-Bit gesetzt ist, wird die Fragmentierung verhindert. Fragmentierung Für künftige Nutzung reserviert 1111 E 11100010 Class B-Adresse der RWTH Aachen Kapitel 1: Grundlagen 127 Netz beliebig 1 1 1 .................................1 1 1 1 1 1 ...............................................................1 1 1 Seite 104 Schleife, keine Ausgabe auf das Netz Broadcast im entfernten Netz Broadcast im lokalen Netz Host in diesem Netz Host 0 0 ................. 0 0 Terminal “Shadow” 10101001 Dieser Host Subnetz (Informatik 4) 01110000 0 0 0 ...............................................................0 0 0 Besondere Adressen: Class B-Adresse 10001001 137.226.12.174 Seite 102 2097151 Netze (LANs) 256 Hosts (ab 192.0.0.0) IP-Adressierung - Beispiele Network 16383 Netze 216 Hosts (ab 128.0.0.0) 127 Netze 224 Hosts adressierbar (ab 1.0.0.0) Die Darstellung der 32-Bit-Adresse erfolgt in 4 Teilstücken zu je 8 Bit: Kapitel 1: Grundlagen Multicast-Adresse 1110 D Host 110 Host C Network 10 B Host 0 Network A Class 32 Bits • Struktur der Adresse: Netzwerk-Adresse für physikalisches Netz (z.B. 137.226.0.0) und Rechner-Adresse für einen Host (z.B. 137.226.12.221) • Die IP-Adresse ist hierarchisch strukturiert und netzbezogen, d.h. Maschinen mit Anschluss an mehrere Netze haben mehrere IP-Adressen. • IP-Adressen sind 32 Bit lang und werden im Source Address- sowie im Destination Address-Bereich von IP-Paketen verwendet. • Eindeutige IP-Adresse für jeden Host und für jeden Router. IP-Adressierung 137.226.122.78 Kapitel 1: Grundlagen Seite 105 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 Rechneradressen blockiert. • Ineffiziente Nutzung des Adressraums. • Allzu viele Class A-Adressen wurden in den ersten Internetjahren vergeben. • Niemand hatte mit einem derart starken Wachstum des Internet gerechnet (sonst hätte man von Anfang an längere Adressen definiert). Probleme IP-Adressen werden knapp... Seite 103 Router oder Gateways, die mehrere Netze miteinander verknüpfen, haben für jedes angeschlossene Netz eine IP-Adresse Kapitel 1: Grundlagen jeder Host hat (wenigstens) eine weltweit eindeutige IP-Adresse • 137.226.12.21 10001001 11100010 00001100 00010101 137.226.112.1 Router 137.226.112.0 • Dotted Decimal Notation Binärformat 137.226.12.21 137.226.12.1 137.226.12.0 IP-Adresse Ethernet B Host Ethernet B Host 128.10.2.133 128.10.2.18 IP-Subnetze - Berechnung des Zielhosts Ethernet B Host 128.10.2.3 Ethernet B 128.10.2.0 128.10.1.70 128.10.1.26 Ethernet Ethernet A A Host Host 128.10.1.8 Ethernet A Host 128.10.2.1 Router 128.10.1.3 Ethernet A 128.10.1.0 Seite 106 . 255 . 225 00001100 AND 11100010 . 0 IP-Adresse 00010101 . 226 . 12 . 0 Kapitel 1: Grundlagen Der Router berechnet das Subnetz ‘137.226.12‘ und sendet das Paket an den Router, der dieses Teilnetz anschließt. Seite 108 Netzwerk des bezeichneten Hosts 1000 1001 1110 0010 0000 1100 0000 0000 137 Subnetz-Maske 1111 1111 1111 1111 1111 1111 0000 0000 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 Kapitel 1: Grundlagen Internet des Rest Aller Verkehr für 128.10.0.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. IP-Subnetze 10 Network Subnet Host 11111111111111111111110000000000 Host . 2 . 35 . 210 . 255 . 0 . 0 IP-Adresse . 2 . 0 . 0 Kapitel 1: Grundlagen Seite 109 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 Subnetz-Maske 1111 1111 1111 1111 0000 0000 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: IP-Subnetze - Berechnung des Zielhosts Seite 107 Router können durch Kombination einer IP-Adresse und einer SubnetzMaske ermitteln, in welches Teilnetz ein Paket geschickt werden muss. alle Hosts eines Netzes sollten die gleiche Subnetz-Maske haben Kapitel 1: Grundlagen • • SubnetzMaske Network eine Subnetz-Maske identifiziert die „missbrauchten“ Bits • Class BAdresse mit einer IP-Netzwerk-Adresse können mehrere physikalische Netze adressiert werden, indem einige Bits der IP-Rechner-Adresse als Netzwerk-ID genutzt werden • IP-Subnetze IPv6 - Eigenschaften Seite 110 Kapitel 1: Grundlagen – IHL: überflüssig, keine Optionen mehr – Protocol, Fragmentierung: überflüssig, wird durch Optionen mit abgedeckt – Checksum: Handhabung durch Schicht 2 und 4 • Einfacher Header: • Sicherheitsmaßnahmen – Authentifizierung und Privacy • Unterstützung der Reservierung von Ressourcen – Markieren von Paketen für speziellen Verkehr • Verbesserung der Adressflexibilität – Anycast Address: Erreiche irgendeinen von mehreren • Autokonfiguration von Adressen – Dynamische Zuordnung von IPv6-Adressen Seite 112 • Verbesserter Optionsmechanismus – Vereinfacht und beschleunigt die Verarbeitung von IPv6-Paketen für Router • Adressgröße – 128-Bit-Adressen (8 Gruppen zu je 4 Hexadezimal-Zahlen) Kapitel 1: Grundlagen IPv4 (September 1981) größerer Adressraum mehr Sicherheit Migrationstrategien bessere Performance einfachere Konfiguration mehr Automatismus . einfachere Struktur der Header 1. Anforderungen für IPng (Dezember 1993) Spezifikation für IPng (Dezember 1994) 1. Veröffentlichung des Standards (Januar 1995) IPv6 (Dezember 1995) Das neue IP - IPv6 Kapitel 1: Grundlagen • DestinationAddress: 128 Bit, die Adresse des Empfängers. • SourceAddress: 128 Bit, die Adresse des ursprünglichen Senders des Pakets. • HopLimit: 8 Bit, dekrementiert bei jedem Knoten. Bei Null wird das Paket verworfen. • NextHeader: 8 Bit Selektor, gibt den Typ des folgenden Erweiterungs-Headers an (oder, falls kein Erweiterungsheader verwendet wird, den Transport-Prozess, der die Daten entgegennimmt). • PayloadLen: 16 Bit, Paketlänge nach dem 40-Byte-Header. • FlowLabel: virtuelle Verbindung mit bestimmten Merkmalen/Anforderungen • Priority: 4 Bit für Priorität. 1 - News, 4 FTP, 6 - Telnet, 8 bis 15 - Echtzeitverkehr. 8 24 SourceAddress NextHeader FlowLabel 16 Next header/data DestinationAddress PayloadLen PrioVersion (4) rity (4) 4 HopLimit (24) Seite 113 32 Seite 111 Das Präfix einer Adresse charakterisiert geographische Bereiche, Provider, lokale interne Bereiche, ... 1 IPv6 Haupt-Header • Version: 4 Bit IP-Versionsnummer. Kapitel 1: Grundlagen – Möglichkeiten zur Fortentwicklung des Protokolls – Reduzierung des Umfangs der Routingtabellen – Vereinfachung des Protokolls, um eine schnellere Abarbeitung zu gewährleisten – 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 1: Grundlagen • Zieloptionen (Zusatzinformationen für das Ziel) Seite 114 • Verschlüsselte Sicherheitsdaten (Informationen zur Verschlüsselung der Daten) • 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, d.h. Paketen mit Überlänge (Hierbei wird eine Längenangabe eingetragen). Optionale Angaben folgen in Erweiterungs-Headern. Davon sind 6 definiert: IPv6 Erweiterungs-Header 8 Type of Service 16 Header Checksum Fragment Offset Total Length Next Header Flow Label Source Address Source Address NextHeader / DATA Destination Address Destination Address Destination Address Destination Address 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. Kapitel 1: Grundlagen 16 Source Address PayloadLen Priority 8 DATA Version 4 Source Address 32 Options (variable) / Padding Destination Address Source Address Protocol Identification IHL Time to Live Version 4 IPv4 vs. IPv6: Header Seite 115 Hop Limit 32