Internet Control Message Protocol (ICMP) je protokol tretje plasti (omrežna plast) v sedemplastnem modelu OSI. Protokol diagnosticira težave z omrežno povezljivostjo ali prenosom podatkov med napravami. Pomaga s pošiljanjem, prejemanjem in obdelavo sporočil ICMP za poročanje o težavah s povezljivostjo izvorni omrežni napravi.
Zato je glavni namen protokola ICMP poročanje o napakah na omrežni plasti. Vendar pa lahko zlonamerni akterji manipulirajo z njegovo funkcionalnostjo, da sprožijo napade, kot sta porazdeljeno zavrnitev storitve (DDoS) in napadi Ping of Death. Tukaj boste izvedeli o protokolu ICMP, njegovem primeru uporabe in parametrih, ki so pomembni za razumevanje sporočil ICMP.
Kako deluje ICMP?
Usmerjevalniki uporabljajo protokol ICMP za upravljanje omrežja in diagnozo težav. Generira in pošilja sporočila o napakah pošiljateljski napravi, ko omrežje onemogoči dostavo paketov ciljni napravi. Ta sporočila o napakah vključujejo prekoračen čas, težavo s parametri, cilj nedosegljiv, preobremenjenost omrežja itd.
Na primer, ko pošiljatelj pošlje podatke iz ene naprave ciljni napravi v obliki datagrama IP, potuje skozi več usmerjevalnikov ali vmesnih naprav. Včasih lahko pride do napake pri posredovanju tega datagrama IPV4. Zato so sporočila ICMP razdeljena v dve široki kategoriji: sporočila o napakah in sporočila poizvedbe.
Sporočila za poročanje o napakah
To so sporočila, s katerimi se lahko usmerjevalnik ali vmesni gostitelj sooči pri obdelavi datagramov:
- Presežen čas: Paket ICMP ima parameter časa do življenja, da ko doseže 0, usmerjevalnik ali gostitelj zavrže datagram in pošlje sporočilo o napaki prekoračitve časa. Sporočilo se pošlje tudi, če cilj ne prejme vseh fragmentov podatkov.
- Cilj nedosegljiv: Naprava, ki sproži povezavo, prejme sporočilo o napaki nedosegljivega cilja, ko ga usmerjevalnik ali vmesni gostitelj ne dostavi. Posledično naprave zavržejo datagram.
- Source Quench: Ko naprave ne uspejo dostaviti datagrama zaradi prezasedenosti omrežja, pošljejo ICMP "sporočilo za ugasnitev vira" pošiljatelju sporočila. Sporočilo o poročanju o napakah doda nadzor pretoka v omrežni plasti tako, da obvesti izvorno napravo o prezasedenosti poti in upočasni postopek pošiljanja podatkov.
- preusmeritev: Usmerjevalnik na neoptimalni poti preusmeri paket na usmerjevalnik z optimalno potjo med izvorom in ciljem. Tako posodablja vir o spremembi svoje poti.
- Težava s parametrom: Izvorna naprava prejme to sporočilo, ko v glavi datagrama manjka kakšna vrednost. Na primer, razlika v izračunani kontrolni vsoti na cilju od vira ustvari to sporočilo o napaki ICMP.
Poizvedbena sporočila
Sporočila poizvedbe se pojavljajo v parih in zagotavljajo specifične informacije od vmesnih naprav do izvorne naprave.
- Sporočilo odmevne zahteve in odmevnega odgovora: Ta sporočila pomagajo rešiti težave pri diagnostiki omrežja.
- Zahteva za časovni žig in odgovor: Te zahteve za časovni žig in odgovorna sporočila pomagajo določiti čas povratne vožnje med napravama.
Razumevanje parametrov ICMP
Podatki sporočil ICMP so zajeti pod glavo IP, kar pomeni, da je glava datagrama ICMP za informacijo IPv4/v6. Prvi del glave paketa ICMP vsebuje parametre, ki omrežnim napravam pomagajo določiti sporočilo o napaki ali poizvedbi.
Med prvimi 32 biti prvih 8 bitov določa vrsto sporočila, naslednjih 8 bitov določa kodo sporočila, preostali biti pa vsebujejo informacije, povezane z integriteto podatkov. Zato so tri informativna polja: vrste ICMP, koda ICMP in kontrolna vsota.
Vrste ICMP
Tip določa namen paketa ICMP. Ker na kratko pojasnjuje, zakaj izvorna naprava prejema to sporočilo. Obstaja 0-255 vrst sporočil ICMP, tako da vsaka vrsta zagotavlja različne informacije. Nekatere pomembne vrste ICMP so:
0: Zahteva za odmev
3: Cilj nedosegljiv
4: Ugasnitev vira
5: Preusmeritev
8: Odmev odgovor
11: Čas je presežen
12: Težava s parametri
30: Traceroute
Koda ICMP
Koda ICMP zagotavlja dodatne informacije o sporočilih. Na primer, tip ICMP 3 s kodo 0-15 določa, zakaj je cilj nedosegljiv; če je koda 0, je to zato, ker omrežje ni na voljo. Podobno za kodo 1 tipa 3 sporočilo določa, da je gostitelj nedosegljiv.
Poleg tega koda tipa 8 0 in koda tipa 0 0 predstavljata sporočila z odmevnim zahtevkom in odmevnim odgovorom. Zato vsaka vrsta sporočila z enako vrednostjo kode daje različne informacije o omrežju.
kontrolna vsota
Kontrolna vsota je mehanizem za odkrivanje napak, ki določa celovitost podatkov. Vrednost kontrolne vsote predstavlja bite v sporočilu za prenos. Pošiljatelj izračuna in vključi kontrolno vsoto podatkov, prejemnik pa ponovno izračuna vrednost in ga primerja z izvirnim, da ugotovi morebitne spremembe izvirnega sporočila med prenos.
Drugi del glave kaže na bajtno vrednost, ki je vzrok za težavo v izvirnem sporočilu. Končni del paketa ICMP je dejanski datagram.
Primer uporabe ICMP
Tukaj je nekaj delovnih primerov protokola ICMP v različnih upravljanje omrežja in administrativni pripomočki.
Ping
Ping je pripomoček ukazne vrstice, ki se zanaša na sporočila ICMP echo-request in echo-reply za testiranje razpoložljivosti omrežja in zakasnitve med napravami. Pripomoček preprosto določi razpoložljivost ciljnega strežnika z oceno celotnega poslanega ali prejetega paketa in odstotka izgube paketa. Prav tako pomaga določiti skupno največjo velikost enote prenosa (MTU).
Uporaba ping za določitev razpoložljivosti google.com:
Traceroute
Traceroute je še en pripomoček ukazne vrstice, ki uporablja sporočila echo-request in echo-reply s spremenljivko TTL za preslikavo poti med izvorno in ciljno napravo. Uporaben je tudi pri določanju zamud pri odzivu in zagotavlja natančnost z večkratnim poizvedovanjem po vsakem skoku.
Kako ICMP deluje brez vrat?
Glede na zgornjo razlago je ICMP protokol brez povezave, ki pošilja podatke neodvisno kot datagram, njegova glava pa je prikazana za podrobnostmi IPv4. Vendar pa lahko opazite tudi odsotnost številke vrat, ki postavlja vprašanje, kako naprave prejmejo podatke ICMP ali zaznajo kakršno koli povezavo?
Odgovor je precej preprost. Protokol ICMP je bil zasnovan tako, da deluje na omrežni plasti modela OSI in komunicira med usmerjevalniki in gostitelji za izmenjavo informacij. Številke vrat so del transportne plasti, ICMP pa ni ne protokol TCP ne UDP. Nazadnje, kombinacija vrste ICMP in kode pomaga napravam določiti sporočilo in pridobiti vse informacije o omrežju.
Nadzor napak in pretoka z ICMP
Zgornje podrobnosti o protokolu ICMP kažejo, kako zagotavlja nadzor pretoka in nadzor napak podatkov na nivoju 3 modela OSI. Sporočila in parametri protokola v prvem delu glave paketa ICMP pokrivajo vse vidike upravljanja omrežja in težav pri diagnostiki.
Pomembno je vedeti, da lahko neustrezne nastavitve požarnega zidu napadalcem omogočijo, da ping počistijo omrežje organizacije in jo naredijo nagnjeno k napadom DDOS, ping smrti in napadom poplav ICMP. Lahko uporabiš Wireshark za zajemanje paketov iz interneta in opravite podrobno analizo paketov ICMP za boljše razumevanje.
5 načinov za odpravo napake "Eden ali več omrežnih protokolov manjka" v sistemu Windows 10
Preberite Naprej
Povezane teme
- Razložena tehnologija
- Računalniška omrežja
O avtorju

Rumaisa je svobodna pisateljica pri MUO. Nosila je veliko klobukov, od matematike do navdušenca za informacijsko varnost, zdaj pa dela kot analitik SOC. Njena zanimanja vključujejo branje in pisanje o novih tehnologijah, distribucijah Linuxa in karkoli v zvezi z informacijsko varnostjo.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!
Kliknite tukaj, da se naročite