ICMP
ICMP (eng. Internet Control Message Protocol) – komunikacijski protokol koji je ugrađen u svaki IP modul da bi omogućio mrežnim prolazima (usmjerivačima) ili računalima slanje kontrolnih poruka o greškama. Zadužen je samo za prijavljivanje grešaka, ali ne i za njihovo ispravljanje.
Sloj | Protokol |
---|---|
Aplikacijski | DNS, DHCP, TLS/SSL, TFTP, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SNMP, SSH, Telnet, BitTorrent, RTP, rlogin, … |
Transportni | TCP, UDP, DCCP, SCTP, IL, RUDP, |
Mrežni | IP (IPv4, IPv6), ICMP, IGMP, ARP, RARP, … |
Podatkovni | Ethernet, Wi-Fi, Token ring, PPP, SLIP, FDDI, ATM, DTM, Frame Relay, SMDS, … |
ICMP je dio IP protokola (definiranih unutar RFC 792 za IPv4). Detaljan rad ICMP protokola definiran je u RFC 1122. ICMP pogreške šalju se na izvorišnu IP adresu paketa za koji je vračena pogreška.
Struktura datagrama
urediZaglavlje
urediPomak | Oktet | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Oktet | Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 0 | Tip poruke | Kod | Kontrolni zbroj | |||||||||||||||||||||||||||||
4 | 32 | Ostatak zaglavlja |
Podatci
urediICMP poruke o pogrešci sadrže podatkovni dio, u kojem je sadržana kopija cijelog IPv4 zaglavlja, i barem prvih 8 bajtova podatkovnog dijela IPv4 paketa koji je uzrok pogreške. Maksimalna duljina ICMP poruke o pogrešci je 576 bajtova.[1] Podatkovni dio poruke koristi host kako bi upario poruku s računalnim procesom. Ako protokol višeg sloja koristi portove ili sockete, njihovi su brojevi sadržani unutar prvih osam bajtova podataka originalnog datagrama.[1]
Kontrolne poruke
urediTip | Kod | Stanje | Opis |
---|---|---|---|
0 – Echo Reply[4] | 0 | Echo Reply (odgovor na ping) | |
1 i 2 | nije dodijeljeno | Rezervirano | |
3 – Destination Unreachable (Odredište nedostupno)[1] | 0 | Destination network unreachable (mreža nedostupna) | |
1 | Destination host unreachable (host nedostupan) | ||
2 | Destination protocol unreachable (protokol nedostupan) | ||
3 | Destination port unreachable (port nedostupan) | ||
4 | Fragmentation required (uz postavljenu IPv4 DF zastavicu) (potrebna fragmentacija) | ||
5 | Source route failed (routing izvora neuspio) | ||
6 | Destination network unknown (nepoznata odredišna mreža) | ||
7 | Destination host unknown (nepoznat host) | ||
8 | Source host isolated (izvorni host izoliran) | ||
9 | Network administratively prohibited (mreža administrativno zabranjena) | ||
10 | Host administratively prohibited (host administrativno zabranjen) | ||
11 | Network unreachable for ToS (mreža nedostupna za vrstu usluge) | ||
12 | Host unreachable for ToS (host nedostupan za vrstu usluge) | ||
13 | Communication administratively prohibited (komunikacija administrativno zabranjena) | ||
14 | Host Precedence Violation (povreda prednosti) | ||
15 | Precedence cutoff in effect (na snazi je zanimarivanje prednosti) | ||
4 – Source Quench (gašenje izvora) | 0 | zastarjelo | Source quench (kontrola zagušenja) |
5 – Redirect Message (poruka preusmjeravanja) | 0 | Redirect Datagram for the Network (preusmjeri paket u drugu mrežu) | |
1 | Redirect Datagram for the Host (preusmjeri paket k drugom hostu) | ||
2 | Redirect Datagram for the ToS & network | ||
3 | Redirect Datagram for the ToS & host | ||
6 | zastarjelo | Alternate Host Address (alternativna adresa hosta) | |
7 | nije dodijeljeno | Rezervirano | |
8 – Echo Request (zahtjev za odgovorom) | 0 | Echo request (Ping) | |
9 – Router Advertisement (RDP) | 0 | Router Advertisement (oglašavanje routera) | |
10 – Router Solicitation | 0 | Router discovery/selection/solicitation (otkrivanje/odabir/zahtjev za podatcima o routeru) | |
11 – Time Exceeded[1] | 0 | TTL expired in transit (TTL je pao na 0 tijekom putovanja) | |
1 | Fragment reassembly time exceeded (prekoračeno vrijeme za ponovno sastavljanje fragmenta) | ||
12 – Parameter Problem: Bad IP header (pogreška u IP zaglavlju) | 0 | Pointer indicates the error (pokazivač indicira pogrešku) | |
1 | Missing a required option (nedostaje potreban podatak) | ||
2 | Bad length (pogrešna duljina) | ||
13 – Timestamp | 0 | Timestamp (zapis vremena) | |
14 – Timestamp Reply | 0 | Timestamp reply (odgovor na zapis vremena) | |
15 – Information Request | 0 | zastarjelo | Information Request (zahtjev za podatkom) |
16 – Information Reply | 0 | zastarjelo | Information Reply (odgovor na zahtjev za podatkom) |
17 – Address Mask Request | 0 | zastarjelo | Address Mask Request (zahtjev za mrežnom maskom) |
18 – Address Mask Reply | 0 | zastarjelo | Address Mask Reply (odgovor na zahtjev za mrežnom maskom) |
19 | rezervirano | Rezervirano sa sigurnost | |
20 - 29 | rezervirano | Rezervirano za pokuse robusnosti | |
30 – Traceroute | 0 | zastarjelo | Information Request (zahtjev za podatkom) |
31 | zastarjelo | Datagram Conversion Error (pogreška u pretvorbi datagrama) | |
32 | zastarjelo | Mobile Host Redirect (preusmjeravanje mobilnog hosta) | |
33 | zastarjelo | Where-Are-You (originally meant for IPv6) | |
34 | zastarjelo | Here-I-Am (originally meant for IPv6) | |
35 | zastarjelo | Mobile Registration Request (zahtjev za mobilnom registracijom) | |
36 | zastarjelo | Mobile Registration Reply (odgvoor na zahtjev za mobilnom registracijom) | |
37 | zastarjelo | Domain Name Request (zahtjev za nazivom domene) | |
38 | zastarjelo | Domain Name Reply (odgovor na zahtjev za nazivom domene) | |
39 | zastarjelo | SKIP Algorithm Discovery Protocol | |
40 | Photuris, Security failures | ||
41 | eksperimentalno | ICMP for experimental mobility protocols such as Seamoby [RFC4065] | |
42 – Extended Echo Request[5] | 0 | Request Extended Echo (XPing - vidi Extended Ping (Xping)) | |
43 – Extended Echo Reply[5] | 0 | No Error (nema pogreške) | |
1 | Malformed Query (pogreška u zahtjevu) | ||
2 | No Such Interface (ne postoji sučelje) | ||
3 | No Such Table Entry (ne postoji tablični unos) | ||
4 | Multiple Interfaces Satisfy Query (više sučelja zadovoljava zahtjev) | ||
44 - 252 | nije dodijeljeno | Rezervirano | |
253 | eksperimentalno | RFC3692-style Experiment 1 (RFC 4727) | |
254 | eksperimentalno | RFC3692-style Experiment 2 (RFC 4727) | |
255 | rezervirano | Rezervirano |
Izvori
uredi- ↑ a b c d Requirements for IP Version 4 Routers. doi:10.17487/RFC1812. RFC 1812. https://tools.ietf.org/html/rfc1812
- ↑ IANA ICMP Parameters. Iana.org. 21. rujna 2012. Pristupljeno 7. siječnja 2013.
- ↑ Kurose, J.F; Ross, K.W. 2006. Computer Networking: A Top-Down Approach,. World student series. Addison-Wesley. ISBN 9780321418494
- ↑ RFC 792
- ↑ a b PROBE: A Utility for Probing Interfaces. doi:10.17487/RFC8335. RFC 8335. https://tools.ietf.org/html/rfc8335