Internet Control Message Protocol

ICMP (engl. skraćenica za Internet Control Message Protocol) je dio skupa internet protokola što operativni sistemi koriste za rješavanje grešaka na mreži, naprimjer kada određena usluga na mreži nije dostupna, ili ako određeni host ili router nije dostižan. Pridružen mu je protokolni broj 1[1]. ICMP se također može koristiti za prosljeđivanje upitnih poruka.[2]

ICMP za Internet protokol verziju 4 (IPv4) je također poznat kao ICMPv4. IPv6 ima sličan protokol, ICMPv6.

Tehnički detalji uredi

ICMP je dio skupa internet protokola i definirano je u RFC-u 792.[3] ICMP poruke su tipično korištene za dijagnosticiranje ili kontrolu, i također se generišu kada se određena greška desi tokom neke IP operacije (specifirano u RFC-u 1122). ICMP greške su usmjerene prema izvornoj IP adresi koja je porijeklo relevantnog paketa.[2]

Na primjer, svaki uređaj (između pošiljatelja i primatelja) koji proslijedi IP datagram prvo umanji vrijednost polja za vrijeme života (TTL) sa jedan, u IP zaglavlju. Kada ovo polje dostigne vrijedno 0, onda se paket ignoriše i zatim se ICMP poruka Time To Live exceeded in transit pošalje izvornoj adresi datagrama.

Iako su ICMP poruke sadržane u normalnim IP paketima, ipak su procesirane kao posebni slučajevi što je različito od normalnog procesiranja IP paketa. Naime, u dosta slučajeva je potrebno provjeriti sadržaj ICMP poruke i zatim proslijediti izvornoj adresi odgovarajuću poruku za grešku koja je se desila.

Struktura ICMP paketa uredi

ICMP zaglavlje počinje poslije IPv4 zaglavlja i identifikuje se sa protokolnim brojem '1'. Svi ICMP paketi se sastoje od zaglavlja koje ima veličinu od 8 bajta i sekciju sa podacima promjenljive veličine. Prva 4 bajta od zaglavlja moraju uvijek biti konzistentni. Prvi bajt se koristi za vrstu ICMP-a, drugi za ICMP kod, treći i četvrti bajt za kontrolnu sumu, i ostatala četiri bajta za podatke, ovisno od tipa ICMP-a i korištenog koda.[2]

ICMP poruke grešaka sadrže sekciju za podatke koji uključuju čitavo IP zaglavlje zajedno sa prvih 8 bajta podataka od IP paketa koji je prvobitno prouzrokovao ovu poruku greške. Ovaj ICMP paket se zatim enkapsulira u jedan novi IP paket.[2]

Bitovi 0–7 8–15 16–23 24–31
0 Tip Kod Kontrolna suma
32 Ostatak zaglavlja
Tip – Tip ICMP-a kao što je navedeno ispod.
Kod – Podtip datog tipa.
Kontrolna suma – Za kontrolisanje podataka, izračunato na osnovu ICMP zaglavlja i ostatak podataka. Korišten je tzv. Internet Checksum, specifirano u RFC-u 1071.
Ostatak zaglavlja – Polje od četiri bajta. Podaci su promjenljivi, ovisno od tipa ICMP-a i korištenog koda.

Poruke uredi

Najvažnije poruke[4][5]
Tip Kod Poruka Opis
0 – Echo Reply[3]:14 0 Echo reply Odgovor na odjek (koristi se za pingovanje)
1 i 2 Rezervisano
3 – Destination unreachable[3]:4
(destinacija nedostižna)
0 Destination network unreachable Ciljana mreža nedostižna
1 Destination host unreachable Ciljani host nedostižan
2 Destination protocol unreachable Ciljati protokol nedostižan
3 Destination port unreachable Ciljati port nedostižan
4 Fragmentation required, and DF flag set Potrebna fragmentacija, i postavljena DF zastavica
5 Source route failed Izvorni put neuspješan
6 Destination network unknown Ciljana mreža je nepoznata
7 Destination host unknown Ciljani host je nepoznat
8 Source host isolated Izvorni host je izolovan
9 Network administratively prohibited Pristup mreži je administrativno zabranjen
10 Host administratively prohibited Pristup hostu je administrativno zabranjen
11 Network unreachable for TOS Mreža je nedostižna za ovaj tip usluge
12 Host unreachable for TOS Hostu je nedostižan za ovaj tip usluge
13 Communication administratively prohibited Komunikacija je administrativno zabranjena
14 Host Precedence Violation Router nije bio u mogućnosti proslijediti paket zbog nevažeće vrijednosti za precedence[6]:324
15 Precedence cutoff in effect Postoji minimum precedence vrijednost a navedena je manja vrijednost od potrebne[6]:324
4 – Source Quench 0 Source quench Nije moguće bilo procesirati datagram sa traženom brzinom zbog nedostatka memorije ili internih resursa[6]:76
5 – Redirect Message
(poruka za preusmjerenje)
0 Redirect Datagram for the Network Preusmjeri datagram za mrežu
1 Redirect Datagram for the Host Preusmjeri datagram za host
2 Redirect Datagram for the TOS & network Preusmjeri datagram za tip usluge i mrežu
3 Redirect Datagram for the TOS & host Preusmjeri datagram za tip usluge i host
6 Alternate Host Address Alternativna host adresa
7 Rezervisano
8 – Echo Request 0 Echo request Zahtjev za odjek (koristi se za pingovanje)
9 – Router Advertisement 0 Router Advertisement Obavještavanje routera da je prisutan
10 – Router Solicitation 0 Router discovery/selection/solicitation Pretraga za dostupne routere
11 – Time Exceeded[3]:6 0 TTL expired in transit Paket je istekao tokom prosljeđivanja
1 Fragment reassembly time exceeded Fragmenti datagrama nisu (svi) stigli na vrijeme
12 – Parameter Problem: Bad IP header
(Problem sa parametrom: nevažeće zaglavlje IP-a)
0 Pointer indicates the error Prikaz okteta gdje se greška nalazi
1 Missing a required option Nedostaje potrebna opcija
2 Bad length Nevažeća dužina
13 – Timestamp 0 Timestamp Pečat vremena
14 – Timestamp Reply 0 Timestamp reply Odgovor na pečat vremena
15 – Information Request 0 Information Request Zahtjev za informaciju
16 – Information Reply 0 Information Reply Odgovor na zahtjev za informaciju
17 – Address Mask Request 0 Address Mask Request Zahtjev za masku adrese
18 – Address Mask Reply 0 Address Mask Reply Odgovor na zahtjev masku adrese
19 Reserved for security Rezervisano za sigurnost
20 do 29 Reserved for robustness experiment Rezervisano za eksperiment robusnosti
30 – Traceroute 0 Information Request Zahtjev za informacije
31 Datagram Conversion Error Greška kod datagram konverzije
32 Mobile Host Redirect Preusmjerenje mobilnog hosta
33 Where-Are-You Pretraga za druge hostove na mreži (namjenjeno za IPv6)
34 Here-I-Am Odgovor na pretragu za druge hostove (namjenjeno za IPv6)
35 Mobile Registration Request Zahtjev za mobilnu registraciju
36 Mobile Registration Reply Odgovor na zahtjev za mobilnu registraciju
37 Domain Name Request Zahtjev za ime domena
38 Domain Name Reply Odgovor na zahtjev za ime domena
39 SKIP Algorithm Discovery Protocol Protokol za otkrivanje sa SKIP algoritmom
40 Photuris Propust sigurnosti
41 Za probne protokolne mobilnosti kao Seamoby [RFC4065]
42 do 255 Rezervisano

Također pogledajte uredi

Reference uredi

  1. ^ http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml
  2. ^ a b c d Forouzan, Behrouz A. (2007). Data Communications And Networking (Fourth izd.). Boston: McGraw-Hill. str. 621–630. ISBN 0-07-296775-7.
  3. ^ a b c d Postel, J. (September 1981), Internet Control Message Protocol, IETF. RFC 792, https://tools.ietf.org/html/rfc792. 
  4. ^ "IANA ICMP Parameters". Iana.org. 21. 9. 2012. Pristupljeno 7. 1. 2013.
  5. ^ Computer Networking – A Top-Down Approach, Kurose and Ross
  6. ^ a b c Heather Osterloh (2001). IP Routing Primer Plus. ISBN 978-067232210 Provjerite vrijednost parametra |isbn=: length (pomoć).

Vanjski linkovi uredi