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
urediICMP 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
urediICMP 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
urediTip | 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- ICMP tunel
- Izbijanje rupa sa ICMP-om
- ICMPv6
- IRDP
- PathPing - program koji kombinuje funkcionalnosti iz ping i tracert programa
- PMTUD (engl. skraćenica za Path MTU Discovery) - standardizovana tehnika za utvrđivanje jedinice maksimalne transmisije
- Ping
- Smurf napad
- TCP
Reference
uredi- ^ http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml
- ^ 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.
- ^ a b c d Postel, J. (September 1981), Internet Control Message Protocol, IETF. RFC 792, https://tools.ietf.org/html/rfc792.
- ^ "IANA ICMP Parameters". Iana.org. 21. 9. 2012. Pristupljeno 7. 1. 2013.
- ^ Computer Networking – A Top-Down Approach, Kurose and Ross
- ^ a b c Heather Osterloh (2001). IP Routing Primer Plus. ISBN 978-067232210 Provjerite vrijednost parametra
|isbn=
: length (pomoć).