ICMP
Da Wikipedia, l'enciclopedia libera.
Livello applicazioni | HTTP, HTTPS , SMTP, POP3, IMAP, FTP, DNS SSH, IRC, SNMP, SIP, RTSP, Rsync, Telnet, HSRP, BitTorrent, ... |
Livello di trasporto | TCP, UDP, SCTP, RTP, DCCP ... |
Livello di rete | IPv4, IPv6, ARP, DHCP, ICMP, BGP, OSPF, RIP, IGRP, IGMP, IPsec... |
Livello di collegamento | Ethernet, WiFi, PPP, Token ring, ATM, FDDI, LLC ... |
Livello fisico | Doppino, Fibra ottica, Cavo coassiale, Codifica Manchester, Codifica 4B/5B, WiFi ... |
Il protocollo ICMP (Internet Control Message Protocol) è un protocollo di servizio che si preoccupa di trasmettere informazioni riguardanti malfunzionamenti, informazioni di controllo o messaggi tra i vari componenti di una rete di calcolatori.
ICMP è incapsulato direttamente in IP, non è quindi garantita la consegna a destinazione dei pacchetti. Viene utilizzato da molti programmi, tra cui ping e traceroute.
È definito nelle seguenti RFC:
- RFC 0792: Internet Control Message Protocol - settembre 1981
- RFC 1788: ICMP Domain Name Messages - aprile 1995
- RFC 1349: Type of Service in the Internet Protocol Suite - luglio 1992
- RFC 2463: Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification - dicembre 1998
- RFC 2521: ICMP Security Failures Messages - marzo 1999
Indice |
[modifica] Incapsulamento
Un messaggio ICMP viene incapsulato come segue: +------------+-----------+-------------+---------- | Header MAC | Header IP | Header ICMP | Dati.... +------------+-----------+-------------+----------
[modifica] Header ICMP
Bit del messaggio: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Tipo | Codice | Checksum dell'Header ICMP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Dati.... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
[modifica] Tipo
Byte (8 bit), specifica il formato del messaggio ICMP:
- 0 Echo reply
- 1 Non assegnato
- 2 Non assegnato
- 3 Destinazione irraggiungibile
- 4 Source quench
- 5 Redirect
- 6 Indirizzo host alternativo
- 7 Non assegnato
- 8 Echo request
- 9 Router advertisement
- 10 Router selection
- 11 Richiesta scaduta
- 12 Errore nei parameteri
- 13 Timestamp request
- 14 Timestamp reply
- 15 Information Request
- 16 Information Reply
- 17 Richiesta address mask
- 18 Risposta address mask
- 19 Riservato (per sicurezza)
- 20-29 Riservati (per test di robustezza)
- 30 Traceroute
- 31 Errore di conversione datagramma
- 32 Redirect su host mobile
- 33 IPv6 Where-Are-You
- 34 IPv6 I-Am-Here
- 35 Mobile Registration Request
- 36 Mobile Registration Reply
- 37 Domain Name request
- 38 Domain Name reply
- 37-255 Non assegnati
La lista aggiornata dei valori ammissibili per il campo 'tipo' è consultabile sulla RFC 1700: ASSIGNED NUMBERS
[modifica] Codice
Byte (8 bit), ulteriore qualificazione del messaggio
[modifica] Checksum dell'Header ICMP
Word (16 bit), controllo della correttezza del messaggio.
È il complemento a uno, troncato a 16 bit, del complemento a uno della somma dei primi bit del messaggio con il campo "Tipo".
[modifica] Dati
Lunghezza variabile, sono i dati specifici del tipo di messaggio identificato dai campi "Tipo" e "Codice"