Internet Control Message Protocol ICMP (Internet Control Message Protocol) on virheilmoitusmekanismi, tärkeä aliprotokolla TCP/IP-protokollaklusterissa, jota yleensä käyttävät IP-kerroksen tai ylemmän kerroksen protokollat (TCP tai UDP). Se kuuluu verkkokerroksen protokollaan. Sitä käytetään pääasiassa ohjausviestien välittämiseen IP-isäntien ja reitittimien välillä, raportointiin, onko isäntä saavutettavissa, onko reitti käytettävissä jne. Vaikka nämä ohjausviestit eivät välitä käyttäjätietoja, niillä on keskeinen rooli erilaisten verkkotietojen keräämisessä, erilaisten verkkovikojen diagnosoinnissa ja vianetsinnässä sekä käyttäjätietojen lähettämisessä.
Miksi tarvitset ICMP:n?
Tiedonsiirtoprosessissa IP tarjoaa parhaan mahdollisen palvelun, eli datapakettien lähettämisen kohdeosoitteeseen. Se ei varmista, vastaanottaako kohdeisäntä paketin vai ei, eikä pysty suorittamaan virtaus- ja virheenhallintaa. Siksi erilaisia virheitä on väistämättä pakettien siirtoprosessin aikana. ICMP luotiin välittämään IP-paketteja tehokkaammin ja parantamaan pakettien toimitusmahdollisuuksia. ICMP:ssä, kun verkossa ilmenee ongelma pakettien siirrossa, isäntä tai laite raportoi virhetilanteen ylemmän kerroksen protokollalle ja toimittaa raportin poikkeavasta tilanteesta, jotta ylemmän kerroksen protokolla voi arvioida viestinnän oikeellisuuden, omalla virheenhallintaohjelmallaan liikenteen ja virheenhallinnan osalta, varmistaen palvelun laadun.
Mitkä ovat ICMP:n sovellusskenaariot?
Virheiden raportointi
ICMP-virheilmoitukset raportoivat verkkovirheistä, kuten kohteen saavuttamattomuudesta, aikakatkaisuista tai segmentointiongelmista. Nämä viestit ovat erityisen tärkeitä User Datagram Protocolissa (UDP), jossa on yhteysttömän viestintämallin.
UDP ei tarjoa luotettavaa ja järjestelmällistä pakettilähetystä. UDP-paketteja lähetettäessä paketteja voi kadota tai epäonnistua, kuten tarkistussummavirheet lähetyksen aikana. Jos näin tapahtuu, vastaanotin lähettää lähettäjälle ICMP-virheraportin ilmoittaakseen ongelmasta.
Diagnoosi
Voit käyttää ICMP:tä verkkodiagnostiikkaan. Sitä käytetään yleisimmin ping- ja traceroute-komentoihin.
Ping-komento testaa verkkolaitteiden saavutettavuutta lähettämällä ICMP-kaikupyyntöpaketteja kohdelaitteelle. Jos laite on käytettävissä, palautetaan ICMP-kaikuvastaus. Se tarkistaa verkon viiveen luotettavasti ja varmistaa laitteen saatavuuden.
traceroute-komento seuraa paketin kulkemaa reittiä lähteeltä määränpäähänsä. Tämän toteuttamiseksi komento lähettää echo-pyynnön ja echo-vastauksen tarkoitetulle määränpäälle.
Kaikupyynnöissä on aika-to-live (TTL) -arvo, joka pienenee yhdellä jokaiselle reitittimelle, jonka läpi paketti kulkee. Kun paketti saavuttaa reitittimen, jonka TTL on nolla, reititin lähettää ICMP-viestin lähdepäähän.
Viesti sisältää tietoa paketin valitsemasta reitistä. Traceroute näyttää paketin tarkan reitin ja voi antaa tietoja verkon suorituskyvystä.
Kyberturvallisuus
Voit käyttää ICMP:tä luvattoman verkkoliikenteen havaitsemiseen ja sallia vain laillisen liikenteen kulkea verkon läpi. Palomuurit käyttävät ICMP:tä tietynlaisen liikenteen sallimiseen tai estämiseen. Verkon ylläpitäjät käyttävät myös ICMP-valvontatyökaluja seuratakseen verkkolaitteiden tilaa ja yhteyksiä sekä tunnistaakseen tuntemattomia laitteita.
Voit myös käyttää sitä havaitsemaan epätavallisia liikennekuvioita, jotka voivat viitata luvattomaan toimintaan.
ICMP-protokollaviestimuoto
ICMP-pakettimuoto on esitetty kuvassa, ja jokainen ICMP-viesti sisältää paketin koko IP-otsikon, joka sai ICMP-viestin, ja ICMP-paketti on kapseloitu IP-paketin sisälle osana IP-pakettia. ICMP-otsikkoon sisältyvät kolme kiinteää kenttää ovat pääasiallinen perusta lähdelaitteen virheen tyypin määrittämiseen.
Tyyppikenttä ilmaisee ICMP-viestin tyypin; Koodikenttä edustaa ICMP-viestityyppisegmentin alatyyppiä; Checksum-kenttä edustaa ICMP-pakettien tarkistussummaa.
Eri ICMP-pakettityypit jaetaan kahteen tyyppiin: virhepaketteihin ja kyselypaketteihin, kuten ICMP-pakettiluokitustaulukossa on esitetty.
ICMP-pakettiluokittelu
Tyyppi | | | | 0-kaikuvaste | 0 | Echo vastaa viestiin | Tiedustella | 3- Tarkoitus on saavuttamaton | 0 | Kohdeverkko ei tavoita pakettia | Virhe | 1 | Kohdeisäntä ei pääse pakettiin | Virhe | 2 | Kohdesopimus ei voi saavuttaa pakettia | Virhe | 3 | Kohdeportti ei pääse pakettiin | Virhe | 4 | Segmentointi- ja DF-lippuviestit | Virhe | 5 | Lähdereitin epäonnistuneet paketit | Virhe | 6 | Tuntemattomat kohdeverkkopaketit | Virhe | 7 | Tuntemattomat kohdeisäntäpaketit | Virhe | 8 | Lähdeisäntä eristää paketit | Virhe | 9 | Verkkopaketit, joiden käyttö on kiellettyä | Virhe | 10 | Isäntäviestit, joihin pääsy on kielletty | Virhe | 11 | Paketteihin ei voi päästä tietyn käyttöoikeusverkon kautta | Virhe | 12 | Paketit eivät ole saavutettavissa tiettyyn käyttöehtojen isännälle | Virhe | 13 | Paketit tukahdutetaan verkkoliikenteen suodattamisen vuoksi | Virhe | 14 | Isännän ylitysvaltuuksien viesti | Virhe | 15 | Prioriteetin lopettamisen tehokas viesti | Virhe | 5- Uudelleenohjaus | 0 | Verkkopakettien uudelleenohjaus | Virhe | 1 | Isäntäpakettien uudelleenohjaus | Virhe | 2 | TOS-pohjaiset verkon uudelleenohjauspaketit | Virhe | 3 | TOS-pohjaiset isäntäohjauspaketit | Virhe | 8- Kaikupyyntö | 0 | Echo pyytää paketteja | Tiedustella | 9- Reitittimen ilmoitus | 0 | Reititysilmoitusviestit | Tiedustella | 10 - Reititinpyyntö | 0 | Löydä/valitse/pyydä paketteja reitittimille | Tiedustella | 11 - ICMP:n aikalisä | 0 | TTL-aikalisäviesti | Virhe | 1 | Aikakatkaisupakettien shardointi ja uudelleenjärjestely | Virhe | 12- Parametriongelmat | 0 | IP-raportin ensimmäinen parametrivirheilmoitus | Virhe | 1 | Puuttuvat vaaditut vaihtoehtopaketit | Virhe | 2 | Tuettomat pituuspaketit | Virhe | 13- Aikaleimapyyntö | 0 | Aikaleimapyyntöpaketit | Tiedustella | 14-aikaleimallinen vastaus | 0 | Aikaleimatut vastauspaketit | Tiedustella | 15- Tietopyyntö | 0 | Tietopyyntöpaketit | Tiedustella | 16- Informaatiovastaus | 0 | Viestivastepaketit | Tiedustella |
Ero ICMP:n ja TCP:n välillä
TCP on yhteyspohjainen protokolla luotettavaan ja virheentarkistettuun tiedonsiirtoon. Sitä käytetään yleisesti verkkoselaamiseen, sähköpostiin, etäkirjautumiseen ja tiedostonsiirtosovelluksiin. TCP vaatii kädenpuristuksen, joka on sarja viestejä, jotka luovat luottamuksen ja todennuksen lähettäjän ja vastaanottajan välille. TCP takaa viestin toimituksen.
Sen sijaan Internet Control Message Protocol (ICMP) on yhteydetön protokolla. Se ei takaa viestin toimitusta. Koska ICMP:tä käytetään vain virheraportointiin, ICMP-viestit ovat myös pienempiä kuin TCP-paketit.
ICMP:tä ja TCP:tä käytetään yhdessä TCP-siirron vian syyn selvittämiseen. |