E N D
ICMP (1) • Quando un router o un host di destinazione devono informare il mittente di errori o di eventi avvenuti nell’inoltro di un pacchetto IP utilizza il protocollo Internet Control Message Protocol (ICMP). Gli avvisi relativi al recapito dei pacchetti IP NON riguardano pacchetti ICMP (per evitare cicli infiniti). • ICMP definisce uno header aggiuntivo rispetto a quello IP, ma va considerato parte integrante di IP: chi implementa IP deve supportare anche ICMP. • Quando segue un header ICMP, il campoprotocol dello header IP è impostato ad uno e il campo TOSa zero. • Il campo type specifica il tipo di messaggio.
ICMP (2) • ICMP: che cosa permette? • Ai router: • di scambiarsi informazioni di servizio (messaggi router-to-router); • di tenere sotto controllo le modalità con cui gli host generano pacchetti, inviando loro messaggi per rallentare o dirottare altrove un flusso di pacchetti (messaggi router-to-host). Agli host: • di scambiarsi informazioni di servizio e di richiedere ai router informazioni utili sul funzionamento e la topologia della rete (messaggi host-to-host).
ICMP: punti di attenzione • I pacchetti ICMP vengono instradati dai router prima dei pacchetti IP ordinari • Per pacchetti IP frammentati, i messaggi ICMP sono relativi al solo frammento 0. • I messaggi ICMP NON sono mai inviati in risposta a pacchetti IP con indirizzo mittente che non rappresenta un host unico (0.0.0.0, 127.0.0.1, IP broadcast). • I messaggi ICMP non sono mai inviati in risposta a messaggi di errore ICMP, ma possono essere inviati in risposta a messaggi ICMP di interrogazione.
HOST (1) Pacchetto IP (3) Messaggio ICMP Redirect (2) Pacchetto IP ROUTER 1 ROUTER 2 ICMP redirect • Un router utilizza ICMP per comunicare al mittente di un pacchetto che il pacchetto IP viene inoltrato a un altro router sulla stessa rete. • L’host terrà conto di questa indicazione e userà il router “giusto” per i pacchetti successivi diretti alla stessa destinazione. Esempio di ICMP redirect:
Comando PING • Manda un messaggio ICMP “echo request” ad un host, e si aspetta un messaggio ICMP “echo reply” di ritorno. • Normalmente, se un host non risponde ad un comando ping, non sarà possibile raggiungerlo con nessun protocollo basato su IP (oggi molti host non rispondono al ping per motivi di sicurezza). • PING misura anche il tempo di andata e ritorno (round trip time, RTT) dalla destinazione. Il comando PING serve per verificare la raggiungibilità a livello IP di un host. Attenzione: PING può impostare il valore di TTL nello header IP. Sapreste spiegare come si possono usare PING multipli per realizzare il comando TRACERT?
Limiti dell’instradamento statico • La tabella d'instradamento statica deve essere configurata manualmente dall'amministratore di rete specificando l'indirizzo IP del router d'inoltro per ogni net_id di destinazione all'interno dell'inter-rete. • Se l'inter-rete comprende numerose sottoreti, la creazione delle tabelle d'instradamento può diventare un compito molto oneroso. • Se la struttura dell'inter-rete viene cambiata e/o vengono aggiunte nuove sottoreti, tutte le tabelle d'instradamento coinvolte devono essere aggiornate manualmente. Questa operazione non è possibile su inter-reti complesse come Internet.
FINE Instradamento dinamico • I router IP dedicati, detti router dinamici, sono in grado di comunicare tra loro usando appositi protocolli per la costruzione e l'aggiornamento automatico delle tabelle, come RIP o OSPF, che tratteremo prossimamente. • Gli host possono trarre vantaggio dall'instradamento dinamico senza che sia necessaria alcuna configurazione speciale: basterà che il gateway predefinito della sottorete su cui si trovano sia un router dinamico dedicato. Attenzione! Anche se un host IP si trova su una sottorete con un gateway predefinito statico, il gateway predefinito può comunque instradare pacchetti a un router dinamico remoto: basta che la tabella d'instradamento statico del gateway sia configurata con il router dinamico come destinazione.