3.3 ICMP protokol
ICMP (Internet Control Message Protocol) je protokol internet razine i sastavni dio IP protokola. Definiran je RFC-om 792. Osnovna namjena ICMP protokola je osigurati kontrolu prijenosa podataka do odredišta. Ovaj protokol ne osigurava pouzdani prijenos podataka, to treba osigurati protokol više razine. Poruke se šalju samo kao odgovor na poslane IP pakete, na poslane ICMP pakete odgovor se ne šalje. U slučaju gubitka ICMP poruke, ne generira se nova ICMP poruka o nastaloj pogrešci.
ICMP poruke se šalju koristeći osnovno IP zaglavlje. Prvi oktet polja podataka IP paketa definira tip ICMP poruke, čime je određen format ostatka paketa. Vrijednost polja "Protocol" za ICMP poruku je 1. Svaka ICMP poruka sadrži i IP zaglavlje poruke o čijem gubitku izvješćuje te prvih 64 bita podataka originalnog paketa.
Format ICMP paketa je prikazan na slici 3-6.
 |
Slika 3-6: Format ICMP paketa |
Značenja polja su:
- Type – Tip ICMP poruke (poruke i njihova značenja su navedeni u nastavku).
- Code – Za svaki tip poruke definirani su određeni kodovi
- Checksum – Kontrolni zbroj paketa
- Identifier – Identifikator paketa
- Sequence number – Broj sekvence
- Address mask – 32-bitna maska
ICMP generira osam različitih tipova poruka, od kojih tri zahtijevaju odgovor. Te poruke su:
- Odredište nedostupno (engl. Destination Unreachable) - Šalje se kad nije moguće uspostaviti vezu ili pronaći put do odredišnog računala, kao i u slučaju kad odredišno računalo ne može prepoznati koja se usluga od njega potražuje, tj. ne prepoznaje priključnu točku usluge (engl. port). Ako je nedostupna mreža ili računalo, poruku šalje usmjernik, a ako nije prepoznata priključna točka onda ju šalje odredišno računalo.
- Istek vremena (engl. Time Exceeded) - Šalje se kad je paket odbačen jer je polje "TTL" postalo jednako nuli. Koristi se za određivanje puta kroz mrežu.
- Problem s parametrima (engl. Parametar Problem) - Poruku generiraju usmjernik ili odredišno računalo kad paket treba biti odbačen jer zbog problema s parametrima u zaglavlju ne mogu završiti obradu paketa.
- Blokiranje izvorišta (engl. Source Quench) - Generira se kad paketi stižu brže nego što ih odredište može obraditi pa usmjernik ili odredišno računalo šalju izvorištu ICMP poruku za privremeni prekid slanja paketa.
- Preusmjeravanje (engl. Redirection) - ICMP poruka koju šalje usmjernik kad u svojoj tablici usmjeravanja nađe bolji put do odredišta. Drugi usmjernik mora se nalaziti u istoj mreži.
- Eho zahtjev / eho odgovor (engl. Echo Request / Echo Reply) - Par poruka kojima se saznaje je li odredište aktivno. Adrese izvorišta i odredišta zahtjeva zamjene mjesta u odgovoru. Ove poruke koristi naredba ping.
- Vrijeme / odgovor o vremenu (Timestamp / Timestamp Reply) - Šalju se kad je potrebno saznati za koje vrijeme se poruka preko odredišta vrati do izvorišta (RTT - Round Trip Time).
- Zahtjev za informacijom / odgovor na zahtjev za informacijom (engl. Information Request / Information Reply) - Koriste se za doznavanje adrese vlastite mreže.