Kapitel 2: Kommunikationsprotokolle Mehrere Protokolle für die Kommunikationsformen IMP-IMP, Host-IMP, ... Ein Knoten besteht aus • einem IMP • einem Host Ein Subnetz besteht aus: • Interface Message Prozessoren (IMP), die durch gemietete Übertragungsstrecken miteinander verbunden sind. • Hohe Vermaschung (Zur Sicherstellung der geforderten Ausfallsicherheit) Host-Host Protocol Subnet P -IM IMP tocol Pro Source IMP to destination IMP protocol Host-IMP Protocol Seite 103 IMP Host IMP XDS 1-7 IMP California IMP DEC PDP-10 University of Utah Stanford Research Institute (SRI) University of California Los Angeles (UCLA) Kapitel 2: Kommunikationsprotokolle University of California Santa Barbara (UCSB) IBM 360/75 IMP XDS 940 Der Anfang von ARPANET Kommunikation und verteilte Systeme ARPANET Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle Kommunikation und verteilte Systeme Seite 101 Subnet • Netzrechner und Hostrechner getrennt Paketvermittlung bleiben, daher hohe Vermaschung und Katastrophe, z.B. einem Atomkrieg, erhalten nach einer größten anzunehmenden • Die Funktionsfähigkeit des Netzes sollte selbst Designziel von ARPANET Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle Ergebnis: ARPANET (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). Ziel: • Zusammenschaltung von Rechnern und Rechnernetzen unter Verwendung von einheitlichen Protokollen. ARPANET Kommunikation und verteilte Systeme Kommunikation und verteilte Systeme Auf dem Weg zum heutigen Internet Lehrstuhl für Informatik 4 Lehrstuhl für Informatik 4 Seite 102 Seite 104 ARPANET (Dezember 1969) 1969 ARPANET Advanced Research Projects Agency ARPA Harvard MIT Illinois ARPANET im April 1972 UCLA USC Utah Kapitel 2: Kommunikationsprotokolle Kapitel 2: Kommunikationsprotokolle Seite 107 • 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) Kapitel 2: Kommunikationsprotokolle ISO/OSI Bitebene (Physical Layer) Netzwerkebene (Network Layer) Sicherungsebene (Data Link Layer) Transportebene (Transport Layer) Sitzungsebene (Session Layer) Anwendungsebene (Application Layer) Darstellungsebene (Presentation Layer) TCP/IP und das OSI-Referenzmodell Kommunikation und verteilte Systeme Seite 105 Resultat: TCP/IP-Netze. TCP/IP Host-to-Network-Ebene Internetebene (IP) Transportebene (TCP/UDP) Anwendungsebene Seite 108 Seite 106 Entwicklung einheitlicher Protokolle auf Transport- und Netzwerkebene (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 • hatten unterschiedliche Protokolle, Medien, ... All die LANs, MANs, WANs Parallel zum ARPANET hatten sich noch weitere (kleinere) Netze entwickelt. Lehrstuhl für Informatik 4 Entwickelt 1974: TCP/IP MIT CMU ARPANET im September 1972 USC Harvard Aberdeen Illinois Kommunikation und verteilte Systeme UCLA UCSB Stanford Utah Problem: Interworking! Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle UCSB SRI SRI Sehr schneller Ausbau von ARPANET innerhalb kürzester Zeit: Interworking Kommunikation und verteilte Systeme Kommunikation und verteilte Systeme Ausbau von ARPANET Lehrstuhl für Informatik 4 Lehrstuhl für Informatik 4 Austausch von Datenbeständen Kapitel 2: Kommunikationsprotokolle File Transfer Seite 111 Elektronische Post (u.a. deshalb, weil die US-Post wenig zuverlässig war und weil die unterschiedlichen Zeitzonen die telefonische Erreichbarkeit des Gesprächspartners erschwerten) Remote Login Ausführen von Jobs auf fremden Rechenanlagen eMail In seiner Frühzeit war das Internet im wesentlichen auf folgende Anwendungen beschränkt: - Fähigkeit, IP-Pakete zu versenden - Erreichbarkeit über eine IP-Adresse - Verwendung der TCP/IP-Protokollfamilie Was heißt “ein Rechner ist am Internet”? Seite 110 Kapitel 2: Kommunikationsprotokolle • 1999: Das übertragene Datenvolumen verdoppelt sich in weniger als 4 Monaten Seite 112 • 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 (ISP), 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 Kommunikation und verteilte Systeme Internet Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle • 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) • 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. Kommunikation und verteilte Systeme Seite 109 Die Protokolle passten gut zum Modell. Das Modell war auf andere ProtokollSuites praktisch nicht übertragbar. Die Protokolle kamen früher als das Modell. Das Modell war wenig mehr als eine (nicht immer zureichende) Beschreibung des Systemverhaltens. Protokolländerungen sind schwierig und manchmal fast unmöglich Keine vergleichbar klare Trennung: TCP/IP: • 1983 wurde TCP/IP offizielles Protokoll von ARPANET. ARPANET wurde mit vielen anderen USA-Netzen verbunden. Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle Protokolldesigner hatten häufig nicht allzu viel Erfahrung. Das Modell war nicht auf OSIProtokolle beschränkt, sondern sehr allgemein verwendbar. Das OSI-Referenzmodell entstand früher als OSI-Protokolle und Produkte 1. Diensten 2. Schnittstellen 3. Protokollen Klare Abgrenzung zwischen: OSI: Beide Modelle basieren auf hierarchischen Protokoll-Suites Vom ARPANET zum Internet Kommunikation und verteilte Systeme Kommunikation und verteilte Systeme TCP/IP vs. OSI Lehrstuhl für Informatik 4 Lehrstuhl für Informatik 4 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 115 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 2: Kommunikationsprotokolle • 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 Kapitel 2: Kommunikationsprotokolle • Verbindung zu internationalen Netzen, z.B. in das Europäische Wissenschaftsnetz und in die USA, Russland oder China • Netzdienste • Paketvermittelnd, auf Basis von SDH 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) Gigabit-Wissenschaftsnetz Kommunikation und verteilte Systeme Internet und Intranet Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle Kommunikation und verteilte Systeme Seite 113 Entwicklung in Europa Kommunikation und verteilte Systeme Lehrstuhl für Informatik 4 Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle • Anfang 2003... (geschätzte) 171 Millionen Hosts an das Internet angeschlossen 200.000.000 180.000.000 160.000.000 140.000.000 120.000.000 100.000.000 80.000.000 60.000.000 40.000.000 20.000.000 0 Entwicklung des Internets Kommunikation und verteilte Systeme Lehrstuhl für Informatik 4 1.01.1981 1.01.1982 1.01.1983 1.01.1984 1.01.1985 1.01.1986 1.01.1987 1.01.1988 1.01.1989 1.01.1990 1.01.1991 1.01.1992 1.01.1993 1.01.1994 1.01.1995 1.01.1996 1.01.1997 1.01.1998 1.01.1999 1.01.2000 1.01.2001 1.01.2002 1.01.2003 Seite 116 Seite 114 Ethernet IGMP TCP Telnet Token Ring ICMP FTP Kapitel 2: Kommunikationsprotokolle Netze Protokolle HTTP Die TCP/IP Protocol Suite Token Bus IP SMTP ARP RARP Wireless LAN UDP Seite 119 Host-tonetwork Layer Internet Layer Transport Layer Application Layer Seite 117 Kapitel 2: Kommunikationsprotokolle • Verbindet mehr als 30 Länder • 2.5 Gbit/s Backbone, Upgrade nach 10 Gbit/s (2003) • europäisches Forschungsnetz seit 2001 (Vorgänger: TEN-155) Kapitel 2: Kommunikationsprotokolle Routingtabellen Routingprotkolle Grobe Aufteilung in drei Aufgabenbereiche: • Datentransfer über ein globales Netz • Wegwahl an den Zwischenknoten • Kontrolle über den Netz- oder Sendezustand Internet-Layer Kommunikation und verteilte Systeme TFTP Augsburg Dresden Regensburg Garching Erlangen Leipzig Berlin Lehrstuhl für Informatik 4 SNMP Stuttgart Würzburg Ilmenau Göttingen Magdeburg Braunschweig Europäisches Wissenschaftsnetz GÉANT Kommunikation und verteilte Systeme DNS Karlsruhe Heidelberg Frankfurt Marburg Bielefeld Hannover Oldenburg Essen Kaiserslautern GEANT Aachen St. Augustin Global Upstream Rostock Kiel Hamburg Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle Anschluss des G-WIN an • Deutsche Telekom AG / T-Online (34 MBit) • DE-CIX, zentraler Austauschpunkt der deutschen Internet-Provider (1 GBit) • US-Amerikanisches Internet (2x 622 MBit) • Europäisches Wissenschaftsnetz GÉANT (2,5 / 10 GBit) 10 Gbit/s 2,4 Gbit/s 2,4 Gbit/s 622 Mbit/s Core Node GÉANT Kommunikation und verteilte Systeme Kommunikation und verteilte Systeme Deutsches G-Win Lehrstuhl für Informatik 4 Lehrstuhl für Informatik 4 Kontrollprotokolle: ICMP, ARP Transferprotokolle: IPv4, IPv6 Seite 120 Seite 118 Delay frei Throughput D T R Reliability Kapitel 2: Kommunikationsprotokolle Seite 123 • 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) Precedence • Type of Service: Angabe des gewünschten Dienstes: 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) Kapitel 2: Kommunikationsprotokolle Seite 124 • Source Address / Destination Address: Netz- und Hostnummern von sendendem und empfangenden Rechner. Diese Information benutzen die Router zur Wegebestimmung. • Header Checksum: Komplement der Summe der 16-Bit-Halbwörter des Headers. 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. Seite 122 • Version: IP-Versionsnummer (mehrere IP-Versionen gleichzeitig einsetzbar) Data Der IP-Header (2) Kommunikation und verteilte Systeme Header IP Header, normalerweise 20 Bytes Der IP-Header (1) Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle DATA (variable) Kommunikation und verteilte Systeme Seite 121 Destination Address Padding Header Checksum Fragment Offset Source Address Protocol DM FF Options (variable, 0-40 Byte) Time to Live Identification Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle Derzeit flächendeckend eingesetzt: Version 4 des IP-Protokolls: IPv4 • Maximale Paketgröße: 64 KByte (in der Praxis: 1500 Byte) → 4 Adressenformate (inklusive Multicast) • Fragmentierung und Wiederherstellung der Pakete → 3 Netzklassen → hierarchische Adressierung → stellt eine logische 32-Bit-Adresse zur Verfügung • IP-Adressierung (IPv4): • Routing, Interoperabilität zwischen verschiedenen Netztypen Total Length Type of Service • Transparente Ende-zu-Ende-Kommunikation zwischen Rechnern Version IHL 32 Bits (4 Bytes) IP: verbindungslose, unzuverlässige Übertragung von Datagrammen bzw. Paketen (“Best effort”) IP-Paket Kommunikation und verteilte Systeme Kommunikation und verteilte Systeme IP – Internet Protocol Lehrstuhl für Informatik 4 Lehrstuhl für Informatik 4 x01 777 0 0 64 512 511 Seite 125 10 110 1110 1111 B C D E Host Host Host Kapitel 2: Kommunikationsprotokolle Für künftige Nutzung reserviert Multicast-Adresse Network Network 0 Network A 32 Bits Seite 127 2097151 Netze (LANs) 256 Hosts (ab 192.0.0.0) 16383 Netze 216 Hosts (ab 128.0.0.0) 127 Netze 224 Hosts adressierbar (ab 1.0.0.0) • Eindeutige IP-Adresse für jeden Host und für jeden Router. • IP-Adressen sind 32 Bit lang und werden im Source Address- sowie im Destination Address-Bereich von IP-Paketen verwendet. • Die IP-Adresse ist hierarchisch strukturiert und netzbezogen, d.h. Maschinen mit Anschluss an mehrere Netze haben mehrere IP-Adressen. • 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) IP-Adressierung Class Kapitel 2: Kommunikationsprotokolle 137.226.112.78 Kapitel 2: Kommunikationsprotokolle Seite 128 jeder Host hat (wenigstens) eine weltweit eindeutige IP-Adresse Router oder Gateways, die mehrere Netze miteinander verknüpfen, haben für jedes angeschlossene Netz eine IP-Adresse • 137.226.12.21 10001001 11100010 00001100 00010101 137.226.112.1 Router 137.226.112.0 • Dotted Decimal Notation 137.226.12.1 137.226.12.0 Binärformat 137.226.12.21 IP-Adresse Seite 126 • Time Stamp: Record Route (je 32 Bit) sowie Zeitstempel für jeden Router (je 32 Bit). Anwendung z.B. im Fehlermanagement. Kommunikation und verteilte Systeme 1200 • 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.) Lehrstuhl für Informatik 4 1024 1023 1200 Bytes Data Kommunikation und verteilte Systeme 777 x00 128 x01 0 0 • Strict Source Routing: Vollständiger Pfad vom Quell- zum Zielhost, definiert durch die IP-Adressen der zu passierenden Router. (Verwendung durch Systemmanager bei beschädigten Routingtabellen oder 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. Derzeit sind 5 Optionen zwar definiert, werden aber von keinem Router unterstützt: Lehrstuhl für Informatik 4 Kapitel 2: Kommunikationsprotokolle 777 x00 IP-Header 777 Ident. Flags Offset • wenn das „Don`t Fragment“-Bit gesetzt ist, wird die Fragmentierung verhindert. • 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, ...) • Die Datenlänge muss ein Vielfaches von 8 Byte sein. Ausnahme: das letzte Fragment, dort werden nur die restlichen Daten eingefügt, es erfolgt aber kein Padding auf 8-Byte-Einheiten. Der IP-Header (3) Kommunikation und verteilte Systeme Kommunikation und verteilte Systeme Fragmentierung Lehrstuhl für Informatik 4 Lehrstuhl für Informatik 4 11100010 Class B-Adresse der RWTH Aachen beliebig 1 1 1 .................................1 1 1 Kapitel 2: Kommunikationsprotokolle 127 Netz 1 1 1 ...............................................................1 1 1 Seite 129 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 Die Darstellung der 32-Bit-Adresse erfolgt in 4 Teilstücken zu je 8 Bit: Kapitel 2: Kommunikationsprotokolle 50,00% Adressraum 6,25% Kommunikation und verteilte Systeme Kommunikation und verteilte Systeme IP-Adressierung - Beispiele Lehrstuhl für Informatik 4 Lehrstuhl für Informatik 4 12,50% 25,00% 6,25% Seite 130 Klasse E Klasse C Klasse D Klasse B Klasse A