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.

IP Model
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

uredi

Zaglavlje

uredi
Format ICMP zaglavlja
Pomak 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

uredi

ICMP 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

uredi
Popis kontrolnih poruka[2][3]
Tip 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
  1. a b c d Requirements for IP Version 4 Routers. doi:10.17487/RFC1812. RFC 1812. https://tools.ietf.org/html/rfc1812 
  2. IANA ICMP Parameters. Iana.org. 21. rujna 2012. Pristupljeno 7. siječnja 2013.
  3. Kurose, J.F; Ross, K.W. 2006. Computer Networking: A Top-Down Approach,. World student series. Addison-Wesley. ISBN 9780321418494
  4. RFC 792
  5. a b PROBE: A Utility for Probing Interfaces. doi:10.17487/RFC8335. RFC 8335. https://tools.ietf.org/html/rfc8335 
Nedovršeni članak ICMP koji govori o računarstvu treba dopuniti. Dopunite ga prema pravilima Wikipedije.