tipologia dei messaggi ICMP
I messaggi ICMP si dividono
in due categorie: i messaggi di errore (error messages) e di messaggi
di informazione (informational messages):
Messaggi di errore
-
SOURCE_QUENCH
(rallentamento, soffocamento della sorgente) Due sono i casi in cui viene
mandato un messaggio di questo tipo:
-
un gateway intermedio ha scartato
il pacchetto perché ha esaurito lo spazio di memoria destinato ad
ospitare la coda di messaggi diretta nella direzione della rete-destinazione
(generalmente i gateway cominciano a mandare messaggi di SOURCE_QUENCH
molto prima di trovarsi in situazioni così critiche, per cercare
di prevenirle).
-
l'host destinazione riceve troppi
pacchetti e non è in grado di processarli (in questi casi è
l'host destinazione stesso che manda messaggi ICMP all'host sorgente).
Nel ricevere un SOURCE_QUENCH il
mittente dovrebbe rallentare sensibilmente il ritmo al quale manda pacchetti
alla destinazione, e cercare poi progressivamente di aumentare la velocità
fino a che non si genera un nuovo messaggio di SOURCE_QUENCH. Nelle intenzioni
iniziali questo meccanismo avrebbe dovuto regolare automaticamente le congestioni
della rete, gestendo sia le situazioni di carattere episodico sia quelle
recidive. In realtà si è visto che quando si verifica una
congestione essa non si presenta come un fenomeno locale, ma come una situazione
critica generalizzata, e i pacchetti ICMP di tipo SOURCE_QUENCH non fanno
che aumentare il traffico globale. Per questo motivo questo tipo di messaggio
di errore è caduto in disuso, e nella nuova versione ICMPv6 (RFC
1885) è stato addirittura soppresso.
-
TIME_EXCEEDED
(tempo scaduto). Viene mandato quando un pacchetto arriva ad un intermediate
system con un time-to-live pari a zero. Può essere mandato
anche quando un pacchetto viene frammentato da un gateway, ma la macchina
che si occupa di ricomporlo, non riesce a portare a termine l'operazione
entro un ragionevole lasso di tempo. Nel pacchetto TIME_EXCEEDED un apposito
campo specifica quale di queste condizioni si è verificata.
-
DESTINATION_UNREACHABLE
- La macchina destinazione del pacchetto per qualche motivo è irraggiungibile.
Nel pacchetto un apposito campo specifica una causa tra le seguenti:
-
ad un gateway intermedio la rete
destinazione può risultare a distanza infinita (net unreachable).
-
l'host può essere spento,
o comunque non rispondere ad una chiamata ARP (host unreachable).
-
l'host può rifiutare il pacchetto
perché non conosce il protocollo che viaggia a bordo del pacchetto
stesso (protocol unreachable). In questo caso il messaggio ICMP
viene mandato alla sorgente dallo stesso host-destinazione.
-
il pacchetto potrebbe fermarsi lungo
la via perché per passare dovrebbe essere frammentato, ma questo
non è possibile a causa del suo DON'T_FRAGMENT_FLAG posto al valore
ON, che appunto lo proibisce (fragmentation needed and DF set).
-
REDIRECT
(ridireziona). Un gateway intermedio si accorge che il prossimo gateway
cui dovrebbe inoltrare il pacchetto sta sulla stessa sottorete del mittente,
e avvisa quest'ultimo dell'esistenza di una via più breve per la
destinazione.
-
PARAMETER_PROBLEM
(problema con i parametri). Il gateway ha ricevuto un pacchetto IP il cui
valore del checksum è corretto (non ci sono errori di trasmissione),
ma di cui non riesce ad interpretare i valori dei parametri. Questo messaggio
viene mandato alla sorgente del pacchetto solamente se il problema ha causato
la perdita del pacchetto stesso.
pagina precedente
prossima pagina