Internet Control Message Protocol ICMP (Internet Control Message Protocol) je mehanizem za poročanje o napakah, pomemben podprotokol v TCP/IP protokolnem gruči, ki ga običajno uporabljajo protokoli IP plasti ali višjih plasti (TCP ali UDP), pripada protokolu omrežne plasti, ki se večinoma uporablja za prenos kontrolnih sporočil med IP gostitelji in usmerjevalniki, služi za poročanje, ali je gostitelj dosegljiv, ali je pot na voljo itd. Čeprav ta kontrolna sporočila ne prenašajo uporabniških podatkov, igrajo ključno vlogo pri zbiranju različnih omrežnih informacij, diagnosticiranju in odpravljanju različnih omrežnih napak ter prenosu uporabniških podatkov.
Zakaj potrebujete ICMP?
Pri prenosu podatkov IP zagotavlja storitev po najboljših močeh, kar pomeni, da se po najboljših močeh potrudi poslati podatkovne pakete na ciljni naslov. Ne preverja, ali ciljni gostitelj prejme paket ali ne, in ne more izvajati nadzora pretoka in nadzora napak. Zato so med procesom prenosa paketov neizogibne različne napake. ICMP je bil ustvarjen za učinkovitejše posredovanje IP paketov in izboljšanje možnosti za uspeh dostave paketov. Pri ICMP, kadar pride do težave s prenosom paketov v omrežju, gostitelj ali naprava sporoči situacijo napake protokolu višje plasti in poda poročilo o nenavadni situaciji, da lahko protokol višje plasti oceni, ali je komunikacija pravilna, preko lastnega programa za nadzor napak za nadzor prometa in napak, da zagotovi kakovost storitve.
Kakšni so scenariji uporabe ICMP?
Poročanje o napakah
ICMP sporočila o napakah poročajo o omrežnih napakah, kot so nedosegljiva destinacija, časovne omejitve ali težave s segmentacijo. Ta sporočila so še posebej pomembna za User Datagram Protocol (UDP) z modelom komunikacije brez povezave.
UDP ne zagotavlja zanesljivega in urejenega paketnega prenosa. Pri pošiljanju UDP paketov se lahko paketi izgubijo ali odpovejo, na primer napake kontrolne vsote med prenosom. Če se to zgodi, prejemnik pošlje pošiljatelju ICMP poročilo o napaki, da obvesti o težavi.
Diagnoza
ICMP lahko uporabite za diagnostiko omrežja. Najpogosteje se uporablja za ukaze ping in traceroute.
Ukaz ping preizkuša dostopnost omrežnih naprav tako, da ciljni napravi pošlje pakete zahteve za ICMP odmev. Če je naprava dostopna, se vrne ICMP odmevni odgovor. Zanesljivo preverja omrežno zakasnitev in zagotavlja razpoložljivost naprav.
Ukaz traceroute sledi poti, ki jo je paket prehodil od izvora do cilja. Za to ukaz pošlje zahtevo za odmev in odgovor na odmev na želeno destinacijo.
Echo zahteve vsebujejo vrednost časa do življenja (TTL), ki se zmanjša za 1 za vsak usmerjevalnik, skozi katerega paket prehaja. Ko paket doseže usmerjevalnik z ničelnim TTL, usmerjevalnik pošlje ICMP sporočilo izvorni strani.
Sporočilo vsebuje informacije o poti, ki jo je paket izbral. Traceroute prikazuje natančno pot paketa in vam lahko ponudi podrobnosti o zmogljivosti vašega omrežja.
Kibernetska varnost
ICMP lahko uporabite za zaznavanje nepooblaščenega omrežnega prometa in dovolite, da skozi omrežje prehaja le legitimni promet. Požarni zidovi uporabljajo ICMP za dovoljenje ali blokiranje določenih vrst prometa. Omrežni administratorji uporabljajo tudi orodja za spremljanje ICMP za spremljanje stanja in povezljivosti omrežnih naprav ter zaznavanje neznanih naprav.
Uporabite ga lahko tudi za odkrivanje nenavadnih prometnih vzorcev, ki lahko kažejo na nepooblaščene dejavnosti.
Format sporočila protokola ICMP
Format ICMP paketa je prikazan na sliki, vsako ICMP sporočilo pa vsebuje celotno IP glavo paketa, ki je izviral iz ICMP sporočila, ICMP paket pa je zapakiran znotraj IP paketa kot del IP paketa. Tri fiksna polja, vključena v glavo ICMP, so glavna osnova, na kateri izvorna naprava določi vrsto napake, ki se pojavi.
Polje Type označuje vrsto ICMP sporočila; Polje Code predstavlja podtip segmenta tipa sporočila ICMP; Polje Kontrolna vsota predstavlja kontrolno vsoto ICMP paketov.
Različne vrste ICMP paketov so razdeljene na dve vrsti: napake pakete in poizvedbene pakete, kot je prikazano v tabeli ICMP klasifikacije paketov.
ICMP klasifikacija paketov
Vrsta | | | | Odziv 0-Echo | 0 | Echo odgovori na sporočilo | Poizvedeti | 3- Namen je nedosegljiv | 0 | Ciljno omrežje ne more doseči paketa | Napaka | 1 | Ciljni gostitelj ne more doseči paketa | Napaka | 2 | Ciljni dogovor ne more doseči paketa | Napaka | 3 | Ciljna vrata ne morejo doseči paketa | Napaka | 4 | Sporočila o segmentaciji in DF zastavici | Napaka | 5 | Paketi neuspešne poti izvorne poti | Napaka | 6 | Neznani ciljni omrežni paketi | Napaka | 7 | Gostiteljski paketi neznanega cilja | Napaka | 8 | Izvorni gostitelj izolira pakete | Napaka | 9 | Omrežni paketi, do katerih je dostop prepovedan | Napaka | 10 | Sporočila gostitelja, do katerih je dostop prepovedan | Napaka | 11 | Paketi niso dosegljivi za določeno omrežje TOS | Napaka | 12 | Paketi niso dosegljivi do določenega gostitelja TOS | Napaka | 13 | Paketi so potlačeni zaradi filtriranja omrežnega prometa | Napaka | 14 | Sporočilo o prekoračitvi pooblastil gostitelja | Napaka | 15 | Sporočilo o učinkovitem prekinitvi prioritete | Napaka | 5- Preusmeritev | 0 | Preusmeri omrežne pakete | Napaka | 1 | Preusmeri pakete gostitelja | Napaka | 2 | Paketi preusmeritve omrežja na osnovi TOS | Napaka | 3 | TOS-osnovani paketi preusmeritve gostitelja | Napaka | 8- Zahteva za odmev | 0 | Echo zahteva pakete | Poizvedeti | 9- Napoved usmerjevalnika | 0 | Sporočila o napovedi usmerjanja | Poizvedeti | 10 - Zahteva usmerjevalnika | 0 | Odkrij/izberi/zahtevaj pakete za usmerjevalnike | Poizvedeti | 11 - ICMP časovni odmor | 0 | Sporočilo TTL o časovni omejitvi | Napaka | 1 | Razdeljevanje in reorganizacija časovnih paketov | Napaka | 12- Problemi parametrov | 0 | Sporočilo o napaki prvega parametra v poročilu IP | Napaka | 1 | Manjkajoči potrebni paketi možnosti | Napaka | 2 | Nepodprti paketi dolžine | Napaka | 13- Zahteva za časovni žig | 0 | Paketi za zahtevo časovnih žigov | Poizvedeti | 14-časovno označen odgovor | 0 | Paketi odgovorov s časovnim žigom | Poizvedeti | 15- Zahteva za informacije | 0 | Paketi za zahtevo informacij | Poizvedeti | 16- Informacijski odziv | 0 | Paketi za odziv na sporočila | Poizvedeti |
Razlika med ICMP in TCP
TCP je protokol, usmerjen v povezavo, za zanesljiv prenos podatkov s preverjanjem napak. Pogosto se uporablja za brskanje po spletu, elektronsko pošto, oddaljeno prijavo in aplikacije za prenos datotek. TCP zahteva rokovanje, serijo sporočil, ki vzpostavijo zaupanje in avtentikacijo med pošiljateljem in prejemnikom. TCP zagotavlja dostavo sporočil.
Nasprotno pa je protokol Internet Control Message Protocol (ICMP) protokol brez povezave. To ne zagotavlja dostave sporočil. Ker se ICMP uporablja le za poročanje o napakah, so ICMP sporočila prav tako manjša od TCP paketov.
ICMP in TCP se uporabljata skupaj za ugotavljanje vzroka okvare prenosa TCP. |