Internet Control Message Protocol (ICMP)
Χρησιμοποιείται για τη μεταφορά μηνυμάτων ελέγχου και σφαλμάτων στο Διαδίκτυο
Λίστα μηνυμάτων ελέγχου ICMP
| 0 | Echo Reply | 17 | Address Mask Request |
| 1 | Reserved | 18 | Address Mask Reply |
| 2 | Reserved | 19 | Reserved for security |
| 3 | Destination Unreachable | 20 – 29 | Reserved for robustness experiment |
| 4 | Source Quench | 30 | Traceroute |
| 5 | Redirect Message | 31 | Datagram Conversion Error |
| 6 | Alternate Host Address | 32 | Mobile Host Redirect |
| 7 | Reserved | 33 | IPv6 Where-Are-You |
| 8 | Echo Request | 34 | IPv6 Here-I-Am |
| 9 | Router Advertisement | 35 | Mobile Registration Request |
| 10 | Router Solicitation | 36 | Mobile Registration Reply |
| 11 | Time Exceeded | 37 | Domain Name Request |
| 12 | Parameter Problem | 38 | Domain Name Reply |
| 13 | Timestamp | 39 | SKIP Algorithm Discovery Protocol, Simple Key-Management for Internet Protocol |
| 14 | Timestamp Reply | 40 | Photuris, Security failures |
| 15 | Information Request | 41 | ICMP for experimental mobility protocols such as Seamoby [RFC4065] |
| 16 | Information Request | 42 – 255 | Reserved |
Δομή πακέτου ICMP
| 32 bit | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | 4 bit | ||||||||||||||||||||||||
| Version | Header Length | TOS / DSCP / ECN | Total Length | ||||||||||||||||||||||||||||
| ID | Flags | Fragment Offset | |||||||||||||||||||||||||||||
| Time To Live (TTL) | Protocol | IP Header Checksum | |||||||||||||||||||||||||||||
| Source Address | |||||||||||||||||||||||||||||||
| Destination Address | |||||||||||||||||||||||||||||||
| Type | Code | Checksum | |||||||||||||||||||||||||||||
| ID | Sequence | ||||||||||||||||||||||||||||||
Type Ο κωδικός του τύπου μηνύματος ICMP.
| Type | Code | Περιγραφή |
|---|---|---|
| 0 | 0 | Echo Reply (Ping) Απάντηση σε ένα μήνυμα Echo Request. |
| 3 | 0-15 | Destination Unreachable Υποδεικνύει ότι ο προορισμός δεν είναι προσβάσιμος, με διάφορους κωδικούς για να περιγράψει τον λόγο. |
| 5 | 0-3 | Redirect Ενημερώνει τον αποστολέα ότι ο δρομολογητής της δικτύωσης θα πρέπει να αλλάξει τη διαδρομή. |
| 8 | 0 | Echo Request (Ping) |
| 11 | 0-1 | Time Exceeded Υποδεικνύει ότι το πακέτο δεδομένων δεν μπορεί να παραδοθεί εντός ενός χρονικού ορίου. |
| 12 | 0-2 | Parameter Problem Υποδεικνύει ότι υπάρχει πρόβλημα με τα δεδομένα της κεφαλίδας του πακέτου. |
| 13 | 0 | Timestamp Request |
| 14 | 0 | Timestamp Reply |
| 15 | 0 | Information Request |
| 16 | 0 | Information Reply |
Checksum Το πεδίο αυτό χρησιμοποιείται για τον έλεγχο σφαλμάτων.
ID Η τιμή ID του πακέτου, η οποία επιστρέφεται στον υπολογιστή που δημιούργησε το πακέτο στην περίπτωση που έχουμε απάντηση ECHO REPLY.
Sequence Αυτό το πεδίο περιέχει την τιμή σειράς του πακέτου και επιστρέφεται στον υπολογιστή που δημιούργησε το πακέτο στην περίπτωση που έχουμε απάντηση ECHO REPLY.
Code Το πεδίο αυτό χρησιμοποιείται ως επέκταση του προηγούμενου. Για παράδειγμα εάν το πεδίο Type περιέχει την τιμή 3 (Destination Unreachable), τότε το πεδίο αυτό μπορεί να περιέχει έναν κωδικό από το 1 έως το 15 που να δίνει τον λόγο για τον οποίο ο υπολογιστής που ψάχνουμε είναι εκτός δικτύου.