Internet Control Message Protocol ICMP (Internet Control Message Protocol) je mechanizmus na hlásenie chýb, dôležitý podprotokol v TCP/IP protokolovom klastri, zvyčajne používaný IP vrstvou alebo vyššími protokolmi (TCP alebo UDP), patrí do protokolu sieťovej vrstvy, ktorý sa hlavne používa na prenos riadiacich správ medzi IP hostiteľmi a smerovačmi, slúži na hlásenie, či je hostiteľ dostupný, či je dostupná trasa a podobne. Hoci tieto riadiace správy neprenášajú používateľské dáta, zohrávajú kľúčovú úlohu pri zhromažďovaní rôznych sieťových informácií, diagnostikovaní a riešení rôznych poruch siete a prenose používateľských údajov.
Prečo potrebujete ICMP?
V procese prenosu dát poskytuje IP službu na princípe najlepšieho úsilia, čo znamená, že sa snaží posielať dátové pakety na cieľovú adresu. Neoveruje, či cieľový hostiteľ paket prijíma alebo nie, a nemôže vykonávať riadenie toku ani kontrolu chýb. Preto sú počas procesu prenosu paketov nevyhnutné rôzne chyby. ICMP bol vytvorený na efektívnejšie odosielanie IP paketov a zvýšenie šancí na úspešné doručenie paketov. Pri ICMP, keď nastane problém s prenosom paketov v sieti, hostiteľ alebo zariadenie nahlási chybovú situáciu protokolu vyššej vrstvy a poskytne správu o abnormálnej situácii, aby protokol vyššej vrstvy mohol posúdiť, či je komunikácia správna, prostredníctvom vlastného programu na kontrolu chýb pre riadenie prevádzky a kontrolu chýb, aby sa zabezpečila kvalita služby.
Aké sú aplikačné scenáre ICMP?
Hlásenie chýb
ICMP chybové hlásenia hlásia sieťové chyby, ako je nedostupnosť cieľa, časové limity alebo problémy s segmentáciou. Tieto správy sú obzvlášť dôležité pre User Datagram Protocol (UDP) s modelom komunikácie bez spojenia.
UDP neposkytuje spoľahlivý a usporiadaný prenos paketov. Pri odosielaní UDP paketov môžu byť pakety stratené alebo môžu zlyhať, napríklad chyby kontrolného súčtu počas prenosu. Ak sa to stane, príjemca pošle odosielateľovi správu o chybe ICMP, aby upozornil na problém.
Diagnóza
ICMP môžete použiť na diagnostiku siete. Najčastejšie sa používa na ping a traceroute príkazy.
Príkaz ping testuje dostupnosť sieťových zariadení tým, že posiela ICMP echo request pakety cieľovému zariadeniu. Ak je zariadenie prístupné, vráti sa ICMP echo odpoveď. Spoľahlivo kontroluje latenciu siete a zabezpečuje dostupnosť zariadenia.
Príkaz traceroute sleduje cestu, ktorou paket prešiel od zdroja k cieľu. Na to príkaz pošle echo požiadavku a echo odpoveď na zamýšľané miesto.
Echo požiadavky obsahujú hodnotu času do života (TTL), ktorá sa znižuje o 1 pre každý router, ktorým paket prejde. Keď paket dorazí k routeru s nulovým TTL, router odošle ICMP správu zdrojovému koncu.
Správa obsahuje informácie o trase, ktorou sa paket vydal. Traceroute zobrazuje presnú trasu paketu a môže vám poskytnúť podrobnosti o výkone vašej siete.
Kybernetická bezpečnosť
ICMP môžete použiť na detekciu neoprávnenej sieťovej prevádzky a povoliť prechod len legitímnej prevádzky. Firewally používajú ICMP na povolenie alebo blokovanie určitých typov prevádzky. Sieťoví administrátori tiež používajú ICMP monitorovacie nástroje na sledovanie stavu a konektivity sieťových zariadení a detekciu neznámych zariadení.
Môžete ho tiež použiť na odhalenie nezvyčajných dopravných vzorcov, ktoré môžu naznačovať neoprávnenú činnosť.
Formát protokolovej správy ICMP
Formát ICMP paketu je zobrazený na obrázku a každá ICMP správa obsahuje plnú IP hlavičku paketu, ktorý ICMP správu vytvoril, pričom ICMP paket je zapuzdrený v IP pakete ako súčasť IP paketu. Tri pevné polia zahrnuté v hlavičke ICMP sú hlavným základom pre určenie typu chyby, ktorá sa vyskytuje.
Pole Type označuje typ ICMP správy; Pole Kód predstavuje podtyp segmentu typu správy ICMP; Pole Checksum predstavuje kontrolný súčet ICMP paketov.
Rôzne typy ICMP paketov sa delia na dva typy: chybové pakety a dotazové pakety, ako je znázornené v klasifikačnej tabuľke ICMP paketov.
ICMP klasifikácia paketov
Typ | | | | Odpoveď 0-Echo | 0 | Echo odpovedá na správu | Informovať | 3- Účel je nedosiahnuteľný | 0 | Cieľová sieť sa k paketu nedostane | Chyba | 1 | Cieľový hostiteľ sa k paketu nedostane | Chyba | 2 | Cieľová dohoda sa k paketu nedostane | Chyba | 3 | Cieľový port nemôže dosiahnuť paket | Chyba | 4 | Segmentačné a DF flagové správy | Chyba | 5 | Pakety zlyhania zdrojovej trasy | Chyba | 6 | Neznáme cieľové sieťové pakety | Chyba | 7 | Hostiteľské pakety neznámeho cieľa | Chyba | 8 | Zdrojový hostiteľ izoluje pakety | Chyba | 9 | Sieťové pakety, ku ktorým je zakázaný prístup | Chyba | 10 | Hostiteľské správy, ku ktorým je zakázaný prístup | Chyba | 11 | Pakety nie sú dostupné pre konkrétnu TOS sieť | Chyba | 12 | Pakety nie sú dostupné konkrétnemu TOS hostiteľovi | Chyba | 13 | Pakety sú potláčané kvôli filtrovaniu sieťovej prevádzky | Chyba | 14 | Správa o prekročení právomocí hostiteľa | Chyba | 15 | Správa o účinnosti prioritného ukončenia | Chyba | 5- Presmerovanie | 0 | Presmerovanie sieťových paketov | Chyba | 1 | Presmerovať hostiteľské pakety | Chyba | 2 | Pakety presmerovania siete založené na TOS | Chyba | 3 | Pakety presmerovania hostiteľa založené na TOS | Chyba | 8- Echo požiadavka | 0 | Echo žiada pakety | Informovať | 9- Oznámenie routera | 0 | Správy o oznamovaní smerovania | Informovať | 10 - Požiadavka na router | 0 | Objavovať/vyberať/žiadať pakety pre smerovače | Informovať | 11 - Timeout ICMP | 0 | TTL správa o časovom limite | Chyba | 1 | Sharding a reorganizácia timeout paketov | Chyba | 12- Parametrové problémy | 0 | Chybová správa prvého parametra v správe IP | Chyba | 1 | Chýbajú požadované option pakety | Chyba | 2 | Nepodporované pakety dĺžky | Chyba | 13- Požiadavka na časovú pečiatku | 0 | Pakety požiadaviek na časové pečiatky | Informovať | 14-časovo označená odpoveď | 0 | Odpovedné pakety s časovou značkou | Informovať | 15- Žiadosť o informácie | 0 | Pakety žiadostí o informácie | Informovať | 16- Informačná odpoveď | 0 | Pakety odpovede na správu | Informovať |
Rozdiel medzi ICMP a TCP
TCP je protokol orientovaný na spojenie pre spoľahlivý, chybovo kontrolovaný prenos dát. Bežne sa používa na prehliadanie webu, e-mail, vzdialené prihlásenie a aplikácie na prenos súborov. TCP vyžaduje handshake, sériu správ, ktoré vytvárajú dôveru a autentifikáciu medzi odosielateľom a príjemcom. TCP zaručuje doručenie správ.
Naopak, protokol Internet Control Message Protocol (ICMP) je protokol bez spojenia. Nezaručuje doručenie správy. Keďže ICMP sa používa iba na hlásenie chýb, správy ICMP sú tiež menšie ako TCP pakety.
ICMP a TCP sa používajú spoločne na určenie príčiny zlyhania prenosu TCP. |