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“

Documentos relacionados