Das TCP/IP-Modell OSI-Modell Application Level Transmission Level Virtual Terminal Electronic Mail Transmission Contol Protocol (TCP) Internet Level Network Level File Transfer Name Server NFS YP User Datagram Protocol (UDP) Internet Protocol (IP) Internet Control Message Protocol (ICMP), ARP, RARP ARPANET Rechnernetze: Kap. 6, IP-Protokoll Satelliten Netzwerk 08.04.17 X.25 Ethernet Seite 1 Token Ring Schicht 5-7 Schicht 4 Schicht 3 Schicht 1/2 Kommunikationsprotokolle (Glossary) Bestandteile der TCP/IP-Protokollfamilie IP (Internet Protocol): Dieses Protokoll ist eine Sammlung von Programmroutinen, auf die das TCP-Protokoll und andere Protokolle zugreifen. IP überträgt die TCP-Datenpakete als eigenständige, voneinander unabhängige Datagramme. Es arbeitet verbindungslos und unzuverlässig. Verbindungslos bedeutet, daß zwischen Sender und Empfäger keine Vereinbarung über eine Sendung getroffen wird. Es existiert keine Fehlerkontrolle. Sendefolge und Empfangsfolge können unterschiedlich sein. TCP (Transmission Control Potocol): Dieses Protokoll ist eine Sammlung von Programmroutinen, auf die diejenigen Anwendungen zugreifen, die eine zuverlässige verbindungsorientierte Kommunikation zwischen entfernten Rechnern benötigen. Es wird eine virtuelle duplexfähige Ende-zu-EndeVerbindung zwischen einem Quell- und einem Zielrechner aufgebaut. Abstimmung über die Länge der TCP-Frames Segmentierung der zu sendenden Dateien Sicherung der Reihenfolge der TCP-Frames durch Sequenznummern Sicherheit der Übertagung durch wiederholte Übertragung UDP (User Datagramm Protocol): Das ist ein Protokoll für die verbindungslose Kommunikation zwischen zwei entfernten Anwenderprozessen. Im Gegensatz zu TCP ist UDP verbindungslos und nicht zuverlässig. UDP gibt keine Garantie für die korrekte Übermittlung von Datenblöcken. UDP wird vorwiegend im Netzmanagement verwendet. APR (Address Resolution Protocol): Dieses Protokoll unterstützt die Adressierung und hat die Aufgabe, für jede angegebene logische InternetAdresse ihre zugeordnete MAC-Adresse zu ermitteln. RARP (Reverse Address Resolution Protocol): Dieses Protokoll unterstützt ebenfalls die Adressierung und stellt das Gegenstück zu APR dar. Es hat die Aufgabe, für eine MAC-Adresse ihre entsprechende Internet-Adresse zu ermitteln. ICMP (Internet Control Message Protocol): Dieses Protokoll dient der Übertragung von Fehlermeldungen und Steuerinformationen Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Seite 2 Internet-Adressklassen 1 8 0 1 Netz-ID 0 24 1 0 1 1 1 1 1 Klasse A Host-ID Netz-ID 0 1 32 Host-ID Netz-ID 1 1 16 Host-ID Host-Gruppe (Multicast) 0 reserviert zur späteren Verwendung Klasse B Klasse C Klasse D Klasse E Beispiele für IP-Adressen: Klasse A: 00001010 . 00000000 . 00000000 . 00100000 = 10 . 0 . 0 . 64 Netz z. B. IBM, Compaq Klasse B: 10001011 . 00011110 . 00000111 . 10010010 = 139 . 30 . 7 . 146 Netz z. B. Uni Rostock Klasse C: 11000000 . 00001001 . 10010100 . 10000000 = 192 . 9 . 148 . 128 Netz Aufbau eines IP-Paketes Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Seite 3 0 16 Version des IP Header Length 31 TOS Total Length Länge des IP-Paketes Identification Kennzeichnung einer Datei Flags 0 DF Time to live Protocol der höheren Schicht Fragment Offset MF Checksum CRC-Kontrolle im TCP Source-IP-Address (4 Byte) Destination-IP-Address (4 Byte) Option für Zeitmarken, Routing, Management Padding TCP-Header Nutzdaten ......................... Beispiele für Protokollnummern: 6 - TCP 17 - UDP 89 - OSPF Open Shortest Path First Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Seite 4 Fragmentierung eines IP-Paketes ID= 43 MF= 0 FA= 0 TCP + Nutzdaten IP-Header 20 Byte ID= 43 250 Byte MF= 1 FA= 0 IP-Header 20 Byte Fragment 104 Byte ID= 43 MF= 1 FA= 13 Fragment IP-Header 20 Byte 104 Byte ID= 43 MF= 0 IP-Header 20 Byte FA= 26 Fragment 42 Byte FA - Fragment-Abstand Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Seite 5 Bildung von Subnets Motive für die Bildung von Subnets Jedes an das Internet angeschlossene lokale Netzwerk braucht eine IPAdresse. (IP-Netzwerknummer) Die Adreßklasse legt die Anzahl der adressierbaren Netzkomponenten fest. Hinweis auf Adeßklassen. Bereits kleine Institutionen unterhalten häufig mehrere Netze. Die Gründe sind Einsatz unterschiedlicher Netztechnologien Beschränkungen der lokalen Netze auf Grund der Kabellängen, Anzahl der angeschlossenen Stationen, organisatorische Strukturierung usw. Reformance-Optimierung Die einmal eingeführte Adressierungsmethode von IP kann nur mit gr0ßem Aufwand fundamental verändert werden. Außerdem kann man an einer Vergrößerung der Zahl der Adressen der Netze nicht interessiert sein, da sonst die Zahl der Eintragungen in den Routern (Routertabellen) vergrößert werden muß. In der Zukunft (ab 2004) ist eine Erweiterung des IP-Adreßraums jedoch unumgänglich. Mit der IP-Version V.6 sind die Vorarbeiten bereits abgeschlossen. Die Adresse besteht dabei aus 16 Byte. Durch die Methode der Subnet-Bildung wird eine Ergänzung eingeführt, die den Aufbau des IP-Frames nicht ändert. (RFC 950). Als zusätzliches Ordnungsmerkmal wird die Subnet – Nummer eingeführt. Jedem Subnetz wird eine Subnet-Maske zugeteilt. Organisation und Vergabe obliegt ausschließlich der Empfängerseite d. h. sie werden lokal vergeben und werden damit nicht mit den IPFrames transpotiert. Die Subnet-Maske dient dazu, eine IP-Adresse in verschiedene Komponenten zu zerlegen, um die Subnet und die Hostnummern zu gewinnen. Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Seite 6 Bildung der Hostnummer: Komplementbildung der Subnet-Maske. Damit stehen alle Bits auf 1, die zur Host-Nummer gehören. Der entstehende Wert wird nun mit der gegebenen IP-Adresse durch eine AND- Operation ermittelt. Hostnummer = IP-Adresse AND Not(Subnet-Maske) Netzwerknummer: Sie ist durch eine AND-Operation der gegebenen IP-Adresse und der Subnet-Maske zu erhalten Netzwerknummer = IP-Adresse AND Subnet-Maske Die Subnet-Maske wird binär definiert, jedoch in der Regel als dezimale Zahlenfolge in der IP-Notierung angegeben. Z. B. 255.255.255.192 wenn die Host-Nummer in den untersten 6 Bit steht. Beispiele: 1. Gegeben ist eine ist Class-C-Adresse: Sie soll für 6 lokale Netze genutzt werden. Wie ist die Netzmaske? Wieviel Hosts können in den einzelnen Teilnetzen an geschlossen werden? 2. Gegeben ist eine Class-B-Adresse (z. B. 220.40.132.24): Es sollen 300 lokale Netze gebildet werden. Schlagen Sie eine Netzmaske vor. Was bewirkt die Netzmaske 255.255.255.240? Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Seite 7 ICMP (Internet Control Message Protocol) ICMP ist ein Protokoll, daß Router und Hosts untereinander verwenden, um sich z. B. über Betriebsstörungen bei der Weitergabe von IP-Frames zu informieren. Wenn ein Frame zwischen zwei Routern verlorengeht, so ist das „Schicksal“. Geht ein Frame dagegen verloren, weil ein Router ein Frame aus Gründen der Überlastung nicht zu einem anderen Router geben kann, so ist es sinnvoll, die Umgebung darüber zu informieren, um rechzeitig andere Routewege einstellen zu können. ICMP ist in Schicht 3 angesiedelt. Das Schichtenmodell der Internetwelt FTP Telnet WWW TCP SNMP UDP ICPM IP IGMP ARP RARP BOOTP Bitübertragung Flußkontrolle: Wenn ein Router oder Zielrechner den eingehenden Strom von Datagrammen nicht bearbeiten kann, sendet er an den Absender eine ICMP-Meldung (Meldung 4), die den Absender damit auffordert die sendung vorübergehend einzustellen. Erkennen unerreichbarer Ziele: Wenn ein Ziel nicht erreichbar ist, so sendet das System, das dieses merkt eine Nachricht an den Absender.(Meldung 3) Änderungen des Routing: Ein Router schickt eine Route-Redirect-Meldung, um einem Rechner mitzuteilen, daß er sein Ziel über einen anderen Router erreichen soll. Statusabfrage: Ein Rechner kann eine ICMP-Echo-Nachricht schicken, um zu testen, ob ein anderes System über IP ansprechbar ist. Das Kommando ping benutzt also das ICMP. Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Seite 8 ARP (Adress Resolution Protocol) In einem Netzwerk existiert das Problem, daß die logischen Adressen der Schicht 3 (IP-Adressen) den physikalischen Adressen der Schicht 2 zugeordnet werden müssen. Das ist wegen der unterschiedlichen Bytezahl (4 bzw. 6) eine Schwierigkeit. Eine Möglichkeit ist die statische Zuordnung der Adressen in einer Tabelle. Das führt jedoch zu einem hohen Verwaltungsaufwand bei Änderungen. Zuordnung heute mit dem ARP-Mechanismus Algorithmus des ARP-Ablaufs Ist MACAdr. im Cache? Ja nein ARP an alle: Wie ist MACAdr von IP-Adr X.X.X.X? Einer schickt ARP-Antwort: (IP-Adresse, MAC-Adresse) Entnehme ARP legt Erg. in Cache Hinweis auf arp-Befehl: arp -a gibt die komplette ARP-Liste aus. Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Seite 9 Zuordnung von IP-Adressen zu MAC-Adressen TCP verbinde mit 12 . 0 . 0 . 21 TCP IP 12 . 0 . 0 . 34 12 . 0 . 0 . 21 08002B90102 456 ???????????? ?? Internet IP Aufbau des ARP-Frames Netzwerk Typ HLEN PLEN Sender PA 1=Ethernet 6=IEEE 802.2 Protokoll Typ: 2048=IP HLEN: 2=16 Bit MAC 6=48 Bit MAC PLEN: 4=32 Bit IP Adresse Betriebs-Code: 1=Request; 2=Reply Sender MAC: Hardwareadresse Sender PA: IP-Adresse des Senders Target MAC: Hardwareadresse Target PA: IP-Adresse des Empfängers Protokoll Typ Betriebs-Code Sender MAC Sender MAC Netzwerk Typ: Sender PA Target MAC Target MAC Target PA Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Seite 10 TCP/IP-Routing Protokoll RIP (Routing Information Protocol) RIP - einfaches entfernungsorientiertes Routing-Protokoll (spezifiziert in RFC 1058 ). Wichtigstes Routing-Protokoll neben OSPF (Open Shortest Path First). RIP-Routing-Tabelle Subnetz ....... Port ...... Metrik ........ Timer ......... Für den Austausch der Inhalte von Routers-Tabellen (Routing-Information) wird ein spezielles RIP-Datagramm verwendet. RIP-Datagramm im IP-Format 0 15 16 Befehl (Antwort| Anforderung) Version des RIP 31 0 2 für IP 0 IP-Subnetzadresse 0 0 Metrik (1, 2, ... , 16) Hop-Zahl Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Seite 11 Modifikation einer Routing-Tabelle 15 Hops zwischen Router und Zielnetz sind zulässig. Der Wert 16 weist darauf hin, daß das Zielnetz unerreichbar ist. B2 B1 A2 R2 B3 A1 R2 InternetTeil RT neu SN D A1 2 A 2 a2+1 ... ... ai+1 Ai B1 1 B2 1 B3 1 SN B1 B2 B3 D 1 1 1 Ai RT alt SN B3 A1 A2 ... Ai D 1 1 a2 ... ai SN: Subnetz D: Distanz (Hop-Anzahl) Modifikation einer RIP-Routing-Tabelle. In der Skizze wird angenommen, daß der Router R2 neu konfiguriert wurde. Dabei wurden die IP-Adressen der lokalen Subnetze (manuell) in die Routing-Tabellen eingetragen. Der Nachbar R1 kennt die Ziele im Internet, die durch ein RIP-Diagramm R2 bekannt gemacht wird. Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Seite 12 Beispiel für eine Veränderung der Routing-Tabellen a 1 direkt b 1 direkt a 1 direkt b 1 direkt a b c d 1 direkt 1 direkt 2 R2 3 R2 a b c d 1 direkt 1 direkt 2 R2 3 R2 a b c d 1 direkt 1 direkt 2 R2 3 R2 b 1 direkt c 1 direkt d 2 R3 b 1 direkt c 1 direkt d 2 R3 a b c d 2 R1 1 direkt 1 direkt 2 R3 a b c d 2 R1 1 direkt 1 direkt 2 R3 c 1 direkt d 1 direkt b 2 R2 c 1 direkt d 1 direkt b 2 R2 c 1 direkt d 1 direkt a b c d 3 R2 2 R2 1 direkt 1 direkt Schritt 2 Schritt 3 Schritt 4 R1 b 1 direkt c 1 direkt R2 c 1 direkt d 1 direkt R3 Schritt 1 Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Schritt 5 Seite 13 Beispiel für einen RIP-Ablauf Beispielnetz Router R1, R2, R3 Internet-Adressen a, b, c, d 5 Schritte zur Aktualisierung aller Routing-Tabellen R1 a=123.1 b=123.2 R2 c=123.3 R3 Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 d=123.4 Seite 14 Kommunikationsprotokolle (Glossary) Wichtige Anwendungsprotokolle der TCP/IP-Familie FTP (File Transfer Protocol) dient der Übermittlung von Daten (Files) von mehreren Rechnern aus (Datei-Zugriff) und dem Transfer von Dateien zwischen verschiedenen Rechnern. SMTP (Simple Mail Transport Protocol) dient der Übertragung von elektronischer Post. TELNET eröffnet eine Sitzung an einem fernen Rechner, wenn dieser ferne Rechner das TELNET-Protokoll unterstützt. Dabei muß der ferne Rechner kein UNIX-System sein. TELNET ist im eigentlichen Sinne ein virtuelles Terminalprotokoll. TFTP (Trivial File Transfer Protocol) ist ein einfaches DateitransferProtokoll. NFS (Network File System) ist ein verteiltes Netzwerk-Dateisystem. YP (Yellow Pages = Gelbe Seiten) ist ein Verzeichnis-Dienst. Er wird auch als NIS (Network Information Service) bezeichnet. SNMP (Simple Network Management Protocol) unterstützt das NetzwerkManagement. Rechnernetze: Kap. 6, IP-Protokoll 08.04.17 Seite 15