Internet Protokolle
Transcrição
Internet Protokolle
Internet Protokolle ICMP & Ping Internet Controll Message Protokolls ICMP I ICMP Einführung II ICMP Meldungstypen III Zusammenfassung Einführung ● Im (heterogenen) Internet ist es nicht möglich Fehler hardwarebasiert zu melden. ● IP besitzt keine Fehlerkorrektur ➔ ICMP dient zur Lösung dieses Problems Einführung ● ICMP dient zum Fehler- und Informationsmeldungsaustausch zwischen Rechnern/Routern in einem Netz. ● Ermöglicht die Koordination von Routern und Endsystemen ● Definiert in RFC 792 ICMP V.4 von J.Postel (1981) ● Erweitert in RFC 1885 ICMP V.6 NWG (1995) ● ICMP Mitteilungen werden in IP Paketen versendet ICMP ● ● ● ● ● Auch wenn ICMP in IP Protokollen versand wird, wird es nicht als „higher level protocol“ angesehen ICMP wird durch einen Trigger (jeweiliger Fehler bzw. ICMP Anfrage) ausgelöst Bei Fehlermeldungen befinden sich im Anhang die ersten 64 Bit des fehlerhaften Datenpackets ICMP wird immer an den Sender geschickt, nie an beteiligte Router, etc. Die Auswertung und Fehlerkorektur wird dem Sender überlassen Aufbau einer ICMP Meldung ● Aufbau eines ICMP Pakets: Aufbau einer ICMP Meldung ● ● Die im Datenteil anhängige ICMP Meldung ist wie folgt aufgebaut: Sie bestehen aus ICMP Header, Type Code Checksum ● Und Anhängen, je nach ICMP Typ ICMP Header ● Aufbau des ICMP Header: ICMP im Netzwerk ● ● Nachteil: wenn bei Netzwerküberlastungen ICMP versand werden, kann das zu weiteren Überlastung führen, z.B. „Source Quenche“ Um die Netzwerkbelastung geringer zu halten und/oder Schleifen auszuschließen, generieren Fehler durch ICMP Pakete keine neuen ICMP Fehlermeldungen ICMP Meldungstypen ● Type 0, 8 Echo Reply, Request ● Type 3 Destination Unreachable ● Type 4 Source Quench ● Type 5 Redirect ● Type 9 Router Advertisement ● Type 10 Router Solicitation ● Type 11 Time To Live Exceeded ● Type 12 Parameter Problem ● Type 13,14 Timestamp Request, Reply ● Type 15,16 Information Request, Reply ● Type 17,18 Address Mask Request, Reply PING (Typ 8/0) ● ● ● Anwendung: Fehlersuche im Netzwerk Rechner A sendet ICMP-Request an Rechner B, Rechner B antwortet mit ICMP-Reply Zeitdifferenz und Paketverluste als Maßstab der Netzperformance Beispiel eines „Pings“ C:\>ping google.com Ping google.com [216.239.37.99] mit 32 Bytes Daten: Antwort Antwort Antwort Antwort von von von von 216.239.37.99: 216.239.37.99: 216.239.37.99: 216.239.37.99: Bytes=32 Bytes=32 Bytes=32 Bytes=32 Zeit=693ms Zeit=524ms Zeit=579ms Zeit=481ms TTL=48 TTL=48 TTL=48 TTL=48 Ping-Statistik für 216.239.37.99: Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0 (0% Verlust), Ca. Zeitangaben in Millisek.: Minimum = 481ms, Maximum = 693ms, Mittelwert = 569ms Destination Unreachable (Typ 3) ● ● Wird versand wenn ein Router ein IP Paket nicht ausliefern kann Im „Code“ Feld wird Fehler näher spezifiziert Destination Unreachable Codes ● 0 network unreachable ● 1 host unreachable – 9 destination network administratively prohibited – 10 destination host administratively prohibited ● 2 protocol unreachable ● 3 port unreachable – 4 fragmentation needed but but don‘t fragment bit set 11 network unreachable for requested type of service – 12 host unreachable for requested type of service – 13 communication administratively prohibited by filtering – 14 host precedence violation – 15 precedence cutoff in effect ● ● ● 5 source route failed 6 destination network unknown ● 7 destination host unkown ● 8 source host isolated Überlast und Flusskontrolle ● ➔ ● ➔ IP ist verbindungslos, keine Reservierung von Ressourcen im vorraus möglich Gefahr: Pakete werden schneller erhalten, als verarbeitet Mögliche Ursachen: Einzelner Rechner der viele Last erzeugt, oder die Gesamlast vieler Rechner Pakete werden gespeichert, solange Ressourcen vorhanden, danach Löschung und Versand einer „Source Quench“ ICMP Message. Source Quench (Typ 4) ● ● ➔ Wird für jedes gelöschte Paket versendet Für jedes „Source Quench“ verringert Sender Menge der Pakete pro Zeiteinheit; im Gegenzug wird Menge erhöht bis wieder „SQ“ eingeht Dadurch dynamische Regelung der Last bei Erhalt des höchstmöglichen Durchsatzes Route Change Request (Typ 5) ● ● ➔ Ursache: Paket wird suboptimal über einen Router versendet Wenn dieser besseren Weg kennt, sendet er „RCR“ an Sender um dessen Routingtabelle upzudaten Sender kann dann Pakete auf besserem Weg senden Ringschlüsse und überlange Routen Time Exceeded (Typ 11) ● ● Jedes IP-Paket enthält TTL Feld, ist dieses auf 0 wird das Paket zerstört und „time exceeded“ Meldung mit Code 0 versendet Code 1 wird bei Fragmentierten Paketen verwendet, bei denen ein Fragment nicht rechtzeitig ankommt Parameter Problem (Typ 12) ● ● ● Wird bei Problemen die nicht durch andere ICMP Meldungen abgedeckt werden, zB falscher Datagram Header, versendet Um die Meldung eindeutig zu machen wird POINTER auf Octet des Datagramms gesetzt, welches den Fehler erzeugte (Code 0) Code 1 bezeichnet fehlende Option im Datagramm Timestamp Request/Reply (Typ 13/14) ● Wird verwendet um „Uhr“ zu kontrollieren / synchronisieren ● Erfragt die Uhrzeit eines anderen Rechners / Routers ➔ Aus den Zeitdifferenzen Empfang/Versand kann Uhrzeit berechnet werden Information Request/Reply (Typ 15/16) ● Verfahren um eigene Internetadresse zu ermitteln ● Veraltet, sollte nicht mehr verwendet werden ● Aktuelles Verfahren: RARP/BOOTP Adress Mask Request/Reply (Typ 17/18) ● ➔ Um Subnetadresse des eigenen Netzwerkes zu erfahren kann Request an einen Router oder per Broadcast versendet werden Router antwortet mit Adresse in Reply Router discovery via Router Advertisement /Solicitation (Typ 9/10) ● Nutzen: Router ausfindig machen, ohne sie zu kennen ● Dynamisch, da Router Multi/Broadcasts Advertisements absetzen ● Statische Counterparts: BOOTP/DHCP Protokolle ● Probleme dieser Protokolle: Routerausfälle Zusammenfassung ICMP Meldungen ➔ ➔ ➔ ➔ Es gibt zwei ICMP Klassen: Fehlermeldungen und Informationsmeldungen ICMP-Messages werden in IP-Paketen versendet Der Header der ICMP-Messages enthält allgemein drei festgelegte Felder: Type, Code und Checksum, der Rest ist Meldungsabhängig ICMP ist wesentlicher Bestandteil des IP-Protokolls, es bietet Kommunikations-möglichkeiten zwischen Routern und Rechnern zur Fehler- und Informationsmeldung Ausblick: traceroute ● ● ● ● Mit Traceroute lassen sich lassen sich die Wege nachvollziehen die IP-Pakete nehmen Anwendung: Debugging/Information Mechanismus: Pakete mit TTL n+1 werden aufeinanderfolgend verschickt und die time exceeded ICMPMitteilungen ausgewertet IP-Protokoll bietet keine Garantie das aufeinanderfolgende Pakete die selbe Route nehmen, trotzdem passiert dies fast immer ICMP & PING Dustin Brinktriene & Christian Altrogge Internet Protokolle WS 2003/04 Literatur: ● ● ● Postel, Jon, "Internet Control Message Protocol – DARPA Internet Program Protocol Specification", RFC 792, Network Information Center, SRI International, Menlo Park, Calif., September 1981 Douglas E. Comer: Internetworking with TCP/IP volume 1 principles, protocols and architecture. Prentice-Hall, New Jersey Stevenson: „TCP/IP Illustrated“