Internet Control Message Protocol (ICMP) je protokol trećeg sloja (mrežni sloj) u OSI modelu sa sedam slojeva. Protokol dijagnosticira probleme s mrežnom vezom ili prijenosom podataka između uređaja. Pomaže slanjem, primanjem i obradom ICMP poruka za prijavu problema s povezivanjem izvornom mrežnom uređaju.

Stoga je primarna svrha ICMP protokola prijaviti pogreške na mrežnom sloju. Međutim, zlonamjerni akteri mogu manipulirati njegovom funkcionalnošću kako bi pokrenuli napade poput Distributed Denial of Service (DDoS) i Ping of Death napada. Ovdje ćete naučiti o ICMP protokolu, njegovom slučaju upotrebe i parametrima koji su važni za razumijevanje ICMP poruka.

Kako radi ICMP?

Usmjerivači koriste ICMP protokol za obavljanje upravljanja mrežom i dijagnosticiranja problema. Generira i šalje poruke o pogrešci uređaju pošiljatelja kada mreža onemogući isporuku paketa na odredišni uređaj. Te poruke o pogrešci uključuju prekoračenje vremena, problem s parametrima, nedostupno odredište, zagušenje mreže itd.

instagram viewer

Na primjer, kada pošiljatelj šalje podatke s jednog uređaja na odredišni uređaj u obliku IP datagrama, on putuje kroz više usmjerivača ili posredničkih uređaja. Ponekad može doći do pogreške u prosljeđivanju tog IPV4 datagrama. Stoga su ICMP poruke podijeljene u dvije široke kategorije: poruke o grešci i poruke upita.

Poruke za prijavu grešaka

Ovo su poruke s kojima se usmjerivač ili posrednički host mogu suočiti u obradi datagrama:

  1. Prekoračeno vrijeme: ICMP paket ima parametar time-to-live da kada dosegne 0, usmjerivač ili host odbacuje datagram i šalje poruku o pogrešci o prekoračenom vremenu. Poruka se također šalje kada odredište ne primi sve fragmente podataka.
  2. Odredište nedostupno: Uređaj za pokretanje veze prima poruku pogreške nedostupnog odredišta kada je usmjerivač ili posrednički host ne uspije isporučiti. Posljedično, uređaji odbacuju datagram.
  3. Izvor Quench: Kada uređaji ne uspiju isporučiti datagram zbog zagušenja mreže, pošiljatelju poruke šalju ICMP "poruku za gašenje izvora". Poruka o izvješćivanju o pogrešci dodaje kontrolu protoka u mrežnom sloju informirajući izvorni uređaj o zagušenju na putu i usporavajući proces slanja podataka.
  4. Preusmjeravanje: Usmjerivač na neoptimalnom putu preusmjerava paket na usmjerivač s optimalnom stazom između izvora i odredišta. Kao takav, ažurira izvor o promjeni svoje rute.
  5. Problem s parametrom: Izvorni uređaj prima ovu poruku kada u zaglavlju datagrama nedostaje vrijednost. Na primjer, razlika u izračunatom kontrolnom zbroju na odredištu od izvora generira ovu ICMP poruku o pogrešci.

Poruke upita

Poruke upita javljaju se u parovima i pružaju specifične informacije od posrednih uređaja do izvornog uređaja.

  1. Echo-Request i Echo-Reply Poruka: Ove poruke pomažu u rješavanju problema s dijagnostikom mreže.
  2. Zahtjev za vremensku oznaku i odgovor: Ovi zahtjevi s vremenskim žigom i poruke s odgovorima pomažu u određivanju povratnog vremena između uređaja.

Razumijevanje ICMP parametara

Podaci ICMP poruka su enkapsulirani pod IP zaglavljem, što znači da zaglavlje ICMP datagrama dolazi nakon informacija o IPv4/v6. Prvi dio zaglavlja ICMP paketa sadrži parametre koji pomažu mrežnim uređajima da odrede poruku o pogrešci ili upitu.

Među prva 32 bita, prvih 8 bitova određuje vrstu poruke, sljedećih 8 bitova određuje kod poruke, a preostali bitovi sadrže informacije vezane za integritet podataka. Dakle, tri informacijska polja su: ICMP tipovi, ICMP kod i kontrolni zbroj.

ICMP vrste

Tip određuje svrhu ICMP paketa. Kako ukratko objašnjava zašto izvorni uređaj prima tu poruku. Postoji 0-255 vrsta ICMP poruka tako da svaka vrsta daje različite informacije. Neke važne vrste ICMP-a su:

0: Zahtjev za odjekom

3: Odredište nedostižno

4: Ugasiti izvor

5: Preusmjeravanje

8: Odgovor jeka

11: Vrijeme prekoračeno

12: Problem s parametrom

30: Traceroute

ICMP kod

ICMP kod daje dodatne informacije o porukama. Na primjer, ICMP tip 3 s kodom 0-15 specificira zašto je odredište nedostupno; odnosno, ako je kod 0, onda je to zato što je mreža nedostupna. Slično, za tip 3 kod 1, poruka navodi da je host nedostupan.

Štoviše, tip 8 kod 0 i tip 0 kod 0 predstavljaju poruke eho-zahtjeva i eho odgovora. Dakle, svaka vrsta poruke s istom vrijednošću koda daje različite informacije o mreži.

Kontrolni zbroj

Kontrolni zbroj je mehanizam za otkrivanje pogrešaka koji određuje integritet podataka. Vrijednost kontrolnog zbroja predstavlja bitove u prijenosnoj poruci. Pošiljatelj izračunava i uključuje kontrolni zbroj podataka, a primatelj ponovno izračunava vrijednost i uspoređuje je s izvornom kako bi utvrdio sve promjene izvorne poruke tijekom prijenos.

Drugi dio zaglavlja ukazuje na vrijednost bajta koja je uzrok problema u izvornoj poruci. Konačno, krajnji dio ICMP paketa je stvarni datagram.

ICMP slučaj upotrebe

Evo nekoliko radnih primjera ICMP protokola u raznim upravljanje mrežom i administrativne usluge.

Ping

Ping je uslužni program naredbenog retka koji se oslanja na ICMP echo-request i echo-reply poruke za testiranje dostupnosti mreže i kašnjenja između uređaja. Uslužni program jednostavno određuje dostupnost odredišnog poslužitelja procjenom ukupnog poslanog ili primljenog paketa i postotka gubitka paketa. Također pomaže u određivanju ukupne maksimalne veličine jedinice prijenosa (MTU).

Koristiti ping za određivanje dostupnosti google.com:

Traceroute

Traceroute je još jedan uslužni program naredbenog retka koji koristi echo-request i echo-reply poruke s TTL varijablom za mapiranje puta između izvornih i odredišnih uređaja. Također je korisno u određivanju kašnjenja odgovora i osigurava točnost upitom za svaki skok više puta.

Kako ICMP radi bez porta?

Iz gornjeg objašnjenja, ICMP je protokol bez povezivanja koji šalje podatke neovisno kao datagram, a njegovo se zaglavlje pojavljuje nakon detalja o IPv4. Međutim, također možete primijetiti izostanak broja porta što postavlja pitanje kako uređaji primaju ICMP podatke ili postaju svjesni bilo kakve veze?

Odgovor je prilično jednostavan. ICMP protokol je dizajniran da radi na mrežnom sloju OSI modela i komunicira između usmjerivača i hosta radi dijeljenja informacija. Brojevi portova su dio transportnog sloja, a ICMP nije ni TCP ni UDP protokol. Konačno, ICMP tip i kombinacija koda pomažu uređajima da odrede poruku i dobiju sve informacije o mreži.

Kontrola pogrešaka i protoka s ICMP-om

Gornji detalji o ICMP protokolu pokazuju kako osigurava kontrolu toka i kontrolu pogrešaka podataka na trećem sloju OSI modela. Poruke i parametri protokola u prvom dijelu zaglavlja ICMP paketa pokrivaju sve aspekte upravljanja mrežom i pitanja dijagnoze.

Važno je znati da neispravne postavke vatrozida mogu omogućiti napadačima da ping prođu kroz mrežu organizacije i učine je sklonim DDOS-u, pingu smrti i ICMP napadima poplave. Možeš koristiti Wireshark za hvatanje paketa s interneta i izvršiti detaljnu analizu ICMP paketa radi boljeg razumijevanja.

5 načina da popravite pogrešku "Nedostaje jedan ili više mrežnih protokola" u sustavu Windows 10

Pročitajte dalje

UdioCvrkutUdioE-mail

Povezane teme

  • Objašnjena tehnologija
  • Računalne mreže

O autoru

Rumaisa Niazi (Objavljeno 24 članka)

Rumaisa je slobodni pisac u MUO. Nosila je mnogo šešira, od matematičarke do entuzijasta za informacijsku sigurnost, a sada radi kao analitičarka SOC-a. Njezini interesi uključuju čitanje i pisanje o novim tehnologijama, distribucijama Linuxa i svemu oko informacijske sigurnosti.

Više od Rumaise Niazi

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu