ICMP (engl. Internet Control Messaging Protocol) je protokol sloja mreže koji obezbeđuje pojedine mehanizme oglašavanja. U suštini, ICMP obezbeđuje povratnu spregu u vezi problema u komunikaciji u okruženju. Primeri upotrebe ICMP-a su kada paket ne može da stigne do odredišta, ruter nema dovoljnu veličinu bafera da bi ga prosledio (korisnik da bi ga primio) ili kada ruter može da uputi poruku da postoji kraća ruta. U većini slučajeva, ICMP poruka se šalje kao odgovor na paket, bilo da ga šalje ruter koji se nalazi na putu datagrama ili host koji je odredište.

Iako je ICMP na istom sloju kao i IP u TCP/IP arhitekturi, on je u stvari korisnik IP-a. ICMP poruka se prvo napravi pa se onda predaje IP-u koji spaja poruku sa IP zaglavljem i onda prenosi rezultujući paket na već uobičajeni način. Pošto se ICMP poruke šalju kao IP paketi, njihova isporuka nije garantovana niti je njihovo korišćenje pouzdano.

Zaglavlje uredi

bit 0-7 8-15 16-31
Tip poruke kod Suma za proveru (Provera bitskih grešaka)
Parametri

Slika prikazuje ICMP poruke. Jedna ICMP poruka počinje sa 64-bitnim zaglavljem koje se sastoji od sledećih polja:

  • Tip (8 bita): Označava tip ICMP poruke.
  • Kod (8 bita): Koristi se da bi se specificirali parametari poruke koja se može kodovati sa jednim ili više bita.
  • Suma za proveru (16 bita): Suma za proveru ICMP poruke. Isti algoritam se koristi i u sumi za proveru IP-a.
  • Parametri (32 bita): Služi da bi se naznačili parametri koji slede.

Ova polja su uglavnom praćena dopunskim informacijonim poljima koja dalje opisuju sadržaj poruke.

U onim slučajevima u kojima se ICMP poruka odnosi na prethodni paket, informaciona polja sadrže celo IP zaglavlje plus prvih 64 bita polja podataka originalnog datagrama. Ovo omogućava izvorišnom hostu da uporedi dolazeću ICMP poruku sa prethodnim paketom. Razlog za uključivanje prvih 64 bita polja podataka je taj što će ovo omogućiti IP modulu u hostu da odredi koji protokol ili protokoli višeg sloja su bili uključeni. Prvih 64 bita bi uključilo deo TCP zaglavlja ili zaglavlja nekog drugog protokola transportnog sloja.

 

Parametri (tipovi poruka) uredi

ICMP poruka oglašavanja može biti poslata u nekom od sledećih slučajeva:

  1. Konfirmacija (potvrda) korisnika
  2. Nedostupnost destinacije ili servisa
  3. Obaveštenje o isteku života poruke
  4. Promena rute (maršrute)
  5. Poruka o stišavanju protoka iz izvorišta
  • Konfirmacija (potvrda) korisnika - Eho poruke i eho odziv poruke

Obezbeđuju mehanizam za testiranje da li je moguća komunikacija između dva entiteta. Primalac eho poruke je obavezan da vrati poruku u obliku poruke o eho odzivu. Identifikator i niz brojeva se pridružuju eho poruci da bi se prilagodila poruci sa eho odzivom. Identifikator se može koristiti kao pristupna tačka servisa da bi se identifikovala određena seansa, niz brojeva se može inkrementirati svaki put kada se pošalje eho zahtev. Ovaj mehanizam najčešće koristi PING aplikacija.

  • Odredište nedostupno

Kodovi koje koristi poruka u ovom slučaju:

    • 0 za nedostupnu mrežu (net unreachable)
    • 1 za nedostupnog korisnika (host unreachable)
    • 2 za nedostupan protokol (protocol unreachable)
    • 3 za nedostupan port (port unreachable)

Poruka pokriva brojne slučajeve. Ruter može da vrati ovu poruku ako ne zna kako da dođe do odredišne mreže. U nekim mrežama ruter može da proceni da je neki host nedostupan i onda vrati poruku o tome. Odredišni host takođe može da vrati ovu poruku ako je korisnički protokol ili neka od pristupnih tačaka servisa viših slojeva nedostupana. Ovo može da se desi ako je odgovarajuće polje u IP zaglavlju nepravilno podešeno. Ako je u paketu navedeno izvorišno rutiranje koje se ne koristi, poruka će biti vraćena. Na kraju, kada ruter treba da fragmentuje datagram, a podešen je kontrolni bit DF=1 „nemoj Fragmentovati“ je postavljen, ruter odbacuje datagram, a predajnoj strani se šalje poruka.

  • Obaveštenje o isteku života poruke

Ruter će vratiti poruku o isteku vremena ako životni vek datagrama istekne. Host će poslati ovu poruku ako ne završi sklapanje paketa u roku. Sintaksičke ili semantičke greške u IP zaglavlju prouzrokovale bi poruku o greškama u parametrima koju bi vratili ruter ili host. Na primer, nepravilni argumenti mogu postojati u polju opcija. Polje parametara sadrži pokazivač na oktet u originalnom paketu u kome je detektovana greška.

  • Promena rute (maršrute)

Ruter šalje poruku redirekcije hostu koji je prikačen na direktno povezan ruter da bi obavestio host o boljoj ruti ka određemom odredištu.

Obezbeđuje osnovnu formu o kontroli protoka. Ruteri ili odredište šalju ovu poruku izvorišnom hostu, tražeći da smanji brzinu slanja paketa prema odredištu. Kada se primi poruka o stišavanju protoka, izvorišni host bi trebalo da smanji brzinu kojom šalje pakete ka određenoj destinaciji dok ne prestane da dobija poruke o stišavanju protoka. Ova poruka može biti korišćena od stane rutera ili hosta koji mora da odbaci pakete zbog punog bafera. U tom slučaju će ruter ili host objavljivati poruku o smanjenju protoka za svaki datagram koji je odbačen. Sistem će upozoriti da je došlo do nagomilavanja ovom porukom kada se bafer približi gornjoj granici kapaciteta. U tom sličaju, paket koji pripada poruci o stišavanju protoka će biti uspešno isporučen. Ipak, prijem poruke o stišavanju protoka ne govori ništa o isporuci ili neisporuci odgovarajućeg paketa.

  • Poruka sa oznakom vremena i poruka sa odgovorom sa oznakom vremena

Pošiljalac poruke sa oznakom vremena može da uključi i identifikator i niz brojeva u parametarskim poljima i uključi vreme slanja poruke (početak oznake vremena). Primalac beleži vreme kada je primio poruku i vreme kada je poslao poruku sa odgovorom sa oznakom vremena. Ako je poruka sa oznakom vremena poslata korišćenjem striktnog izvorišnog rutiranja, onda mogu biti merene i karakteristike kašnjenja određene rute.

  • Poruke sa zahtevom adresne maske i poruke sa odgovorom sa adresnom maskom

Korisne su u okruženju sa podmrežama. Poruke sa zahtevom adresne maske i poruke sa odgovorom omogućavaju hostu da nauči adresnu masku za LAN za koji je vezan. Host šalje broadcast sa porukom sa zahtevom adresne maske na LAN. Ruter na LAN-u odgovara sa porukom sa odgovorom sa adresnom maskom koja sadrži adresnu masku.

Vidi još uredi

RFC uredi

  • RFC 792, Internet Control Message Protocol
  • RFC 950, Internet Standard Subnetting Procedure
  • RFC 1016, Something a Host Could Do with Source Quench: The Source Quench Introduced Delay (SQuID)
  • RFC 1122, Requirements for Internet Hosts – Communication Layers
  • RFC 1716, Towards Requirements for IP Routers
  • RFC 1812, Requirements for IP Version 4 Routers

Spoljašnje veze uredi