Pređi na sadržaj

Korisnik:Pdjurdjic/ICMP

S Vikipedije, slobodne enciklopedije

ICMP obezbeđuje sredstvo za transmisiju poruka od rutera i ostalih hostova do hostova. U suštini, ICMP obezbeđuje povratnu spregu u vezi problema u komunikaciji u okruženju. Primer upotrebe ICMP-a je kada datagram ne može da stigne do odredišta, kada ruter nema dovoljnu veličinu bafera da bi prosledio datagram i kada ruter može da uputi stanicu da šalje pakete kraćom rutom. U većini slučajeva, ICMP poruka se šalje kao odgovor na datagram, bilo od strane rutera koji se nalazi na putu datagrama ili od strane hosta koji je odredište datagrama. Iako je ICMP na istom sloju kao i IP u TCP/P arhitekturi, on je ustvari 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 datagram na već uobičajeni način. Iz razloga što se ICMP poruke šalju kao IP datagrami, njihova isporuka nije garantovana niti njihovo korišćenje pouzdano.


Zaglavlje[uredi | uredi izvor]

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.
  • Čeksuma (16 bita): Čeksuma ICMP poruke. Isti algoritam se koristi i u čeksumi 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 odnosti na prethodni datagram, 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 datagramom. 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čilodeo TCP zaglavlja ili zaglavlja nekog drugog protokola transportnog sloja.

Parametri (tipovi poruka)[uredi | uredi izvor]

  • Odredište nedostupno

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 datagramu navedeno izvorišno rutiranje koje se ne koristi, poruka će biti vraćena. Na kraju, kada ruter treba da fragmentuje datagram, a fleg Nemoj Fragmentovati je postavljen, ruter odbacuje datagram, a izvorišnom hostu se šalje poruka. Ruter će vratiti poruku o isteku vremena ako životni vek datagrama istekne. Host će poslati ovu poruku ne završi sklapanje datagrama u roku. Sintaksičke ili semantičke greške u IP zaglavlju prouzrokovale bi poruku o graškama u parametrima koja bi bila vraćena od strane rutera ili hosta. Na primer, nepravilni argumenti mogu biti dati od strane polja opcija. Polje parametara sadrži pokazivač na oktet u originalnom datagramu u kome je detektovana greška.

  • Poruka o stišavanju protoka iz izvorišta (source quench)

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, datagram 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 datagrama. 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.

  • 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.

  • 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 u poruci 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.