Protocollo ICMP, comandi ping e traceroute



Похожие документы
Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it

Lezione n.9 LPR- Informatica Applicata

ICMP. (Internet Control Message Protocol) Cosa è l ICMP? Messaggi di ICMP. Applicazioni di ICMP: ULP, Ping, Traceroute, Path MTU discovery

Sommario. Configurazione della rete con DHCP. Funzionamento Configurazione lato server Configurazione lato client

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

Il protocollo IP (Internet Protocol)

9. IP: Messaggi di errore e di controllo (ICMP)

Il protocollo IP A.A. 2005/2006. Walter Cerroni

Il firewall Packet filtering statico in architetture avanzate

IL PROTOCOLLO ICMP. La famiglia dei protocolli TCP/IP. Applicazioni ,ftp,telnet,www. IEEE 802-Ethernet-X25-Aloha ecc. Collegamento fisico

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

IP Internet Protocol

ARP e instradamento IP

Come si può notare ogni richiesta ICMP Echo Request va in timeout in

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 4

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Laboratorio di Networking Operating Systems. Lezione 2 Principali strumenti di diagnostica

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Il protocollo TCP. Obiettivo. Procedura

Reti di Telecomunicazione Lezione 8

IL LIVELLO RETE IN INTERNET Protocollo IP

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Sommario. Configurazione della rete con DHCP. Funzionamento Configurazione lato server Configurazione lato client

Reti di Calcolatori

Configurazione delle interfacce di rete

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

Parte II: Reti di calcolatori Lezione 16

Reti di Calcolatori. Il software

Protocolli di Comunicazione


Introduzione allo sniffing

Instradamento IP A.A. 2005/2006. Walter Cerroni. IP: instradamento dei datagrammi. Routing : scelta del percorso su cui inviare i dati

Comandi di Rete. Principali Comandi di Rete. Verificare, testare ed analizzare da Riga di Comando

Internetworking TCP/IP: esercizi

Il modello TCP/IP. Sommario

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

Transmission Control Protocol

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Laboratorio di. Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica A.A. 2016/2017. Ing. Niccolò Iardella

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Corso GNU/Linux - Lezione 5. Davide Giunchi - davidegiunchi@libero.it

Il livello 3 della pila ISO/OSI. Il protocollo IP e il protocollo ICMP

INTRODUZIONE ALLE RETI: UN APPROCCIO PRATICO

Reti di Calcolatori - Laboratorio. Lezione 8. Gennaro Oliva

Uso di sniffer ed intercettazione del traffico IP

Network Intrusion Detection

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

8. IP: Instradamento dei datagrammi

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

DA SA Type Data (IP, ARP, etc.) Padding FCS

Inizializzazione degli Host. BOOTP e DHCP

Multicast e IGMP. Pietro Nicoletti

RoutingInternet Protocol. Algoritmi di instradamento di tipo Distance vector

ASSEGNAZIONE INDIRIZZI IP

Dal protocollo IP ai livelli superiori

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

Informatica per la comunicazione" - lezione 8 -

Gestione degli indirizzi

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000

Livello di Rete. Gaia Maselli

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2

Internet e protocollo TCP/IP

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

Reti di calcolatori. Lezione del 10 giugno 2004

Dispense corso Laboratorio di Internet

Elementi di Informatica e Programmazione

Servizi orientati alla connessione

ESERCIZIO NUMERO 1 ESERCIZIO NUM. 2

Reti di Calcolatori IL LIVELLO RETE

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

I canali di comunicazione

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00

Internet. Introduzione alle comunicazioni tra computer

Reti di Telecomunicazione Lezione 6

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e

9 Febbraio 2015 Modulo 2

Apparecchiature di Rete

PROF. Filippo CAPUANI TCP/IP

Транскрипт:

Protocollo ICMP, comandi ping e traceroute Internet Control Message Protocol Internet Control Message Protocol (ICMP): usato dagli host, router e gateway per comunicare informazioni riguardanti il livello di rete, in particolari errori - Es. Il messaggio Destination host is unreachable nel protocollo HTTP ha origine dall ICMP Il messaggio ICMP è incapsulato in un datagram IP ICMP header ICMP dati Header del datagram Area dati del datagram Header del frame Area dati del frame ICMP, ping e traceroute 1 1

Internet Control Message Protocol (2) ICMP usato per: - congestione e controllo di flusso dei datagram - comunicare periodicamente cambiamenti nelle tabelle di routing - determinare cammini circolari o eccessivamente lunghi - stimare il tempo di trasmissione da mittente a destinatario ICMP, ping e traceroute 2 Campo Time-To-Live del datagramma IP Poiché le tabelle di instradamento dei router non sono sempre corrette, è possibile che un pacchetto entri in cicli da cui non riesca ad uscire Per evitare congestioni dovute a situazioni di questo tipo, si fissa un limite al tempo entro cui un pacchetto può restare sulla rete. Nei pacchetti IP il campo Time-To-Live misura il tempo di vita rimanente al pacchetto. Ciascun router deve decrementare il TTL di almeno una unità (RFC 1812). Nella pratica, i pacchetti raramente rimangono in un router per più di un secondo ed i router semplicemente decrementano di uno il TTL prima di instradare un pacchetto ICMP, ping e traceroute 3 2

Campo Time-To-Live del datagramma IP (2) Quindi, indipendentemente dal nome, il TTL conta il numero di hop che il pacchetto può fare prima di giungere a destinazione o di essere scartato. I router controllano se il TTL è uguale a zero dopo il decremento, subito prima dell inoltro. Se il destinatario del pacchetto è il router stesso questo non viene mai scartato (RFC 1812). ICMP, ping e traceroute 4 protocolli che offrono servizi portano dati utente le loro pdu vengono imbustate in accordo alla pila iso-osi esempi: 4 tcp 3 IP 2 1 ethernet Protocolli di supporto protocolli di supporto portano dati di controllo e non offrono direttamente servizi la loro posizione nella pila è indipendente da come vengono imbustate le pdu esempi: viaggia in pdu di livello 3 (ip) viaggiano in pdu di livello 2 ICMP ARP/RARP protocolli di routing ICMP, ping e traceroute 5 IP 4 3 2 1 3

Internet Control Message Protocol (ICMP), RFC 792 Scopi Notifica situazioni di errore o anomalie Supporta debugging interattivo della rete ICMP è funzionale ad IP e viaggia in pacchetti IP ICMP porta informazioni di controllo e di notifica di errori. Non porta dati. I pacchetti ICMP viaggiano all interno dei pacchetti IP. Le funzionalità fornite da ICMP sono accessorie al livello 3, quindi ICMP è considerato un protocollo di livello 3. ICMP è sempre presente a fianco di IP. ICMP, ping e traceroute 6 ICMP Message Types Echo Request Echo Response Destination Unreachable Time Exceeded Redirect (route change) altri... ICMP, ping e traceroute 7 4

Relazione tra ICMP e IP icmp hdr icmp data ip header ip data frame header frame data trailer regola 1: nessun messaggio ICMP viene generato a seguito ad eventuali errori rilevati su messaggi ICMP regola 2: se il pacchetto viene frammentato solo il primo frammento può generare messaggi di errore ICMP regola 3: i broadcast e multicast non generano ICMP ICMP, ping e traceroute 8 Messaggi di errore Questi messaggi di errore seguono un pacchetto scartato: TIME_ EXCEEDED (tempo scaduto) il pacchetto ha TTL=0 DESTINATION_UNREACHABLE un gateway vede la rete destinazione a distanza infinita (net unreachable) l'host non risponde ad una chiamata ARP (host unreachable) l'host destinazione non conosce il protocollo nel pacchetto (protocol unreachable) il pacchetto non può essere frammentato (fragmentation needed and DF set) Far riferimento alla RFC 792 per ulteriori approfondimenti in particolare alle sezioni description per ciasun messaggio. ICMP, ping e traceroute 9 5

Messaggi di errore (2) PARAMETER_PROBLEM (problema con i parametri). Il gateway non riesce ad interpretare il pacchetto ricevuto a causa di un valore errato, possibile errore software SOURCE_QUENCH obsoleto (rallentamento, soffocamento della sorgente) congestione di un gateway intermedio host destinazione lento nell acquisizione ICMP, ping e traceroute 10 Messaggi di informazione ECHO_REQUEST e REPLY (richiesta di echo e relativa risposta) controllo di raggiungibilità di un host TIMESTAMP e TIMESTAMP_REPLY come ECHO più informazioni su orario invio misura di velocità del collegamento sincronizzazione (approssimativa) dell ora di sistema REDIRECT Un router intermedio si accorge che il percorso che il datgram sta seguendo non è ottimale: gli dice di cambiare percorso, ma nel frattempo inoltra il datagram originale verso la sua destinazione ICMP, ping e traceroute 11 6

ping Invia una successione di pacchetti ICMP ECHO_REQUEST e attende la relativa risposta ECHO_REPLY Misura il tempo che intercorre tra l invio e la ricezione di ogni pacchetto e riporta semplici statistiche Il comando ping fa parte della dotazione standard di tutte le macchine sia Unix che Windows anche se con sintassi leggermente diverse. L indirizzo wilma.cs.brown.edu viene risolto in un indirizzo IP normale che dall output è 128.148.19.15 In questo output alcuni pacchetti risultano persi, esattamente il 68% Ulteriori informazioni: manuale in linea di ping (sui sistemi Unix: man ping) ICMP, ping e traceroute 12 ping <patrigna@pascal ~> ping wilma.cs.brown.edu PING wilma.cs.brown.edu: (128.148.19.15): 56 data bytes 64 bytes from 128.148.19.15: icmp_seq=1 ttl=239 time=1736 ms 64 bytes from 128.148.19.15: icmp_seq=2 ttl=239 time=1507 ms 64 bytes from 128.148.19.15: icmp_seq=6 ttl=239 time=1209 ms 64 bytes from 128.148.19.15: icmp_seq=8 ttl=239 time=762 ms 64 bytes from 128.148.19.15: icmp_seq=9 ttl=239 time=1235 ms 64 bytes from 128.148.19.15: icmp_seq=11 ttl=239 time=1566 ms 64 bytes from 128.148.19.15: icmp_seq=13 ttl=239 time=586 ms 64 bytes from 128.148.19.15: icmp_seq=14 ttl=239 time=352 ms 64 bytes from 128.148.19.15: icmp_seq=22 ttl=239 time=910 ms ^C ----wilma.cs.brown.edu PING Statistics---- 29 packets transmitted, 9 packets received, 68% packet loss round-trip min/avg/max = 352/1095/1736 ms <patrigna@pascal ~> ICMP, ping e traceroute 13 7

traceroute Il comando traceroute permette di capire per quali router passano i pacchetti IP quando sono diretti ad una data destinazione. traceroute è compreso nella dotazione standard di tutte i sistemi Unix. Nei sistemi Windows il comando ha il nome tracert e sintassi leggermente differente. traceroute trova utilizzo anche nell ambito dell amministrazione della rete per isolare guasti o incoerenze nelle tabelle di routing. Dal punto di vista didattico la sua utilità è di mostrare il percorso dei pacchetti svelando un po della topologia nascosta di Internet. ICMP, ping e traceroute 14 traceroute <utente@pascal ~>traceroute wilma.cs.brown.edu traceroute to wilma.cs.brown.edu (128.148.19.15), 30 hops max, 40 byte packets 1 gw1.fis.uniroma3.it (193.204.160.1) 3 ms 3 ms 2 ms 2 141.108.132.1 (141.108.132.1) 832 ms 967 ms 402 ms 3 mp4rm1.roma1.infn.it (141.108.127.6) 267 ms 106 ms 417 ms 4 atm-garrten-rm.infn.it (192.135.31.5) 100 ms 939 ms 839 ms 5 cnafint-ten34.infn.it (192.135.34.21) 1100 ms * 1056 ms 6 mix-serial3-4.washington.mci.net (204.189.152.161) 618 ms * * 7 * core1-fddi-0.washington.mci.net (204.70.2.1) 1249 ms * 8 * * * 9 wtn-bbn-nap.washington.mci.net (206.157.77.218) 766 ms * * ICMP, ping e traceroute 15 8

traceroute (2) 10 * * chicago1-br1.bbnplanet.net (4.0.1.5) 857 ms 11 * * * 12 * boston1-br1.bbnplanet.net (4.0.2.245) 846 ms * 13 boston1-br2.bbnplanet.net (4.0.2.250) 680 ms * * 14 * * boston1-mr4.bbnplanet.net (4.0.44.19) 648 ms 15 providence-cr1.bbnplanet.net (4.0.45.106) 416 ms providencecr1.bbnplanet.net (4.0.45.102) 1298 ms * 16 brown.bbnplanet.net (131.192.32.2) 1444 ms 615 ms 802 ms 17 * * * 18 * ftp.cs.brown.edu (128.148.19.15) 834 ms 435 ms <utente@pascal ~> ICMP, ping e traceroute 16 Esempio: traceroute Si ipotizzi di inviare un pacchetto, ad esempio un ECHO_REQUEST con TTL=n basso. Se il destinatario è troppo lontano l ultimo router risponderà con un TIME_EXCEEDED, se il destinatario risponde con ECHO_REPLY allora è raggiungibile con n hop In realtà alcuni traceroute non utilizzano gli ECHO_REQUEST se non gli viene chiesto esplicitamente ma altri protocolli (UDP). Inoltre manda 3 pacchetti per ogni valore di n. Se non si osserva un TIME_EXCEEDED entro un tempo prestabilito traceroute visualizza un asterisco * Il manuale in linea di traceroute è estremamente interessante e mostra anche esempi di strani comportamenti da parte dei router ICMP, ping e traceroute 17 9

ttl=1 Esempio: traceroute (2) router1 time exceeded (mitt: router1) router1 ttl=2 ttl=1 router1 router2 time exceeded (mitt: router2) router1 router2 ICMP, ping e traceroute 18 10