Internet Control Message Protocol (ICMP) is een protocol van de derde laag (netwerklaag) in het zevenlagenmodel van OSI. Het protocol diagnosticeert problemen met netwerkconnectiviteit of gegevensoverdracht tussen apparaten. Het helpt bij het verzenden, ontvangen en verwerken van ICMP-berichten om verbindingsproblemen met het bronnetwerkapparaat te melden.

Daarom is het primaire doel van het ICMP-protocol het rapporteren van fouten op de netwerklaag. Kwaadwillenden kunnen echter de functionaliteit manipuleren om aanvallen zoals Distributed Denial of Service (DDoS) en Ping of Death-aanvallen uit te voeren. Hier leert u over het ICMP-protocol, de use case en de parameters die belangrijk zijn om ICMP-berichten te begrijpen.

Hoe werkt ICMP?

Routers gebruiken het ICMP-protocol om netwerkbeheer uit te voeren en diagnose te stellen. Het genereert en verzendt foutmeldingen naar het verzendende apparaat wanneer het netwerk de levering van pakketten aan het bestemmingsapparaat uitschakelt. Deze foutmeldingen omvatten tijdsoverschrijding, parameterprobleem, onbereikbare bestemming, netwerkcongestie, enz.

Wanneer een afzender bijvoorbeeld gegevens van het ene apparaat naar het bestemmingsapparaat verzendt in de vorm van een IP-datagram, reist het via meerdere routers of tussenliggende apparaten. Soms kan er een fout optreden bij het doorsturen van dat IPV4-datagram. Daarom zijn ICMP-berichten onderverdeeld in twee brede categorieën: foutmeldingen en queryberichten.

Foutrapporterende berichten

Dit zijn de berichten waarmee de router of intermediaire host te maken kan krijgen bij de verwerking van datagrammen:

  1. Tijd overschreden: Het ICMP-pakket heeft een time-to-live-parameter dat wanneer het 0 bereikt, de router of host het datagram verwijdert en een tijdoverschrijdingsfoutbericht verzendt. Het bericht wordt ook verzonden wanneer de bestemming niet alle datafragmenten ontvangt.
  2. Bestemming onbereikbaar: Het apparaat dat de verbinding tot stand brengt, ontvangt een onbereikbare bestemmingsfoutmelding wanneer de router of tussenliggende host deze niet kan leveren. Bijgevolg negeren de apparaten het datagram.
  3. Bron Quench: Wanneer de apparaten het datagram niet kunnen afleveren vanwege netwerkcongestie, sturen ze een ICMP "source quench message" naar de afzender van het bericht. Het foutrapportagebericht voegt stroomregeling toe aan de netwerklaag door het bronapparaat te informeren over congestie in het pad en het verzenden van gegevens te vertragen.
  4. omleiding: Een router in een niet-optimaal pad leidt het pakket om naar een router met een optimaal pad tussen de bron en de bestemming. Als zodanig werkt het de bron bij over de wijziging in zijn route.
  5. Parameterprobleem: Het bronapparaat ontvangt dit bericht wanneer er een ontbrekende waarde in de datagramheader is. Het verschil in berekende checksum op de bestemming van de bron genereert bijvoorbeeld deze ICMP-foutmelding.

Berichten opvragen

De opvraagberichten komen in paren voor en geven specifieke informatie van de tussenliggende apparaten aan het bronapparaat.

  1. Echo-verzoek en Echo-Reply-bericht: Deze berichten helpen bij het oplossen van netwerkdiagnoseproblemen.
  2. Tijdstempel verzoek en antwoord: Deze tijdstempelverzoeken en antwoordberichten helpen bij het bepalen van de retourtijd tussen de apparaten.

ICMP-parameters begrijpen

De ICMP-berichtgegevens zijn ingekapseld onder de IP-header, wat betekent dat de ICMP-datagramheader na IPv4/v6-informatie komt. Het eerste deel van de ICMP-pakketheader bevat de parameters die netwerkapparaten helpen bij het bepalen van het fout- of querybericht.

Van de eerste 32 bits bepalen de eerste 8 bits het berichttype, de volgende 8 bits bepalen de code van het bericht en de overige bits bevatten informatie met betrekking tot de gegevensintegriteit. De drie informatieve velden zijn dus: ICMP-types, ICMP-code en Checksum.

ICMP-typen

Het type bepaalt het doel van het ICMP-pakket. Omdat het kort uitlegt waarom het bronapparaat dat bericht ontvangt. Er zijn 0-255 typen ICMP-berichten, zodat elk type andere informatie geeft. Enkele belangrijke ICMP-typen zijn:

0: Echoverzoek

3: Bestemming onbereikbaar

4: Bron Quench

5: Omleiden

8: Echo Antwoord

11: Tijd overschreden

12: Parameterprobleem

30: Traceerroute

ICMP-code

De ICMP-code geeft aanvullende informatie over de berichten. ICMP type 3 met code 0-15 geeft bijvoorbeeld aan waarom de bestemming onbereikbaar is; dat wil zeggen, als de code 0 is, komt dit omdat het netwerk niet beschikbaar is. Evenzo geeft het bericht voor type 3 code 1 aan dat de host onbereikbaar is.

Bovendien vertegenwoordigen type 8 code 0 en type 0 code 0 echo-verzoek- en echo-antwoordberichten. Elk berichttype met dezelfde codewaarde geeft dus verschillende netwerkinformatie.

controlesom

De checksum is een foutdetectiemechanisme dat de gegevensintegriteit bepaalt. De controlesomwaarde vertegenwoordigt de bits in het transmissiebericht. De afzender berekent en neemt de gegevenscontrolesom op, en de ontvanger herberekent de waarde en vergelijkt het met het origineel om eventuele wijzigingen in het oorspronkelijke bericht te bepalen tijdens overdragen.

Het tweede deel van de header verwijst naar de bytewaarde die de oorzaak is van het probleem in het oorspronkelijke bericht. Ten slotte is het eindgedeelte van het ICMP-pakket het eigenlijke datagram.

ICMP-gebruiksscenario

Hier zijn enkele werkende voorbeelden van het ICMP-protocol in verschillende: netwerkbeheer en administratieve hulpprogramma's.

Ping

Ping is een opdrachtregelprogramma dat vertrouwt op ICMP-echo-request- en echo-reply-berichten om de netwerkbeschikbaarheid en latentie tussen apparaten te testen. Het hulpprogramma bepaalt eenvoudigweg de beschikbaarheid van de bestemmingsserver door een schatting te maken van het totale verzonden of ontvangen pakket en het percentage pakketverlies. Het helpt ook bij het bepalen van de totale maximale transmissie-eenheid (MTU) grootte.

Gebruik ping om de beschikbaarheid van google.com te bepalen:

Traceroute

Traceroute is een ander opdrachtregelprogramma dat echo-request- en echo-reply-berichten met een TTL-variabele gebruikt om het pad tussen bron- en bestemmingsapparaten in kaart te brengen. Het is ook handig bij het bepalen van de responsvertragingen en zorgt voor nauwkeurigheid door elke hop meerdere keren op te vragen.

Hoe werkt ICMP zonder poort?

Uit de bovenstaande uitleg blijkt dat ICMP een verbindingsloos protocol is dat gegevens onafhankelijk als een datagram verzendt, en de kop ervan verschijnt na IPv4-details. U kunt echter ook de afwezigheid van een poortnummer opmerken, wat de vraag oproept hoe apparaten de ICMP-gegevens ontvangen of zich bewust worden van een verbinding?

Het antwoord is vrij eenvoudig. Het ICMP-protocol is ontworpen om te werken op de netwerklaag van het OSI-model en om te communiceren tussen routers en hosts om informatie te delen. Poortnummers maken deel uit van de transportlaag en ICMP is geen TCP- of UDP-protocol. Ten slotte helpen de ICMP-type- en codecombinatie apparaten om het bericht te bepalen en alle informatie over het netwerk te krijgen.

Fout- en stroomregeling met ICMP

De bovenstaande details over het ICMP-protocol laten zien hoe het zorgt voor flowcontrole en foutcontrole van gegevens op laag drie van een OSI-model. De protocolberichten en parameters in het eerste deel van de ICMP-pakketheader behandelen alle aspecten van netwerkbeheer en diagnosekwesties.

Het is belangrijk om te weten dat aanvallers met onjuiste firewallinstellingen het netwerk van de organisatie kunnen pingen en het vatbaar maken voor DDOS, ping of death en ICMP-flood-aanvallen. Je kunt gebruiken Wireshark om pakketten van internet vast te leggen en voer een gedetailleerde analyse uit van de ICMP-pakketten voor een beter begrip.

5 manieren om de fout "Een of meer netwerkprotocollen ontbreken" in Windows 10 op te lossen

Lees volgende

DelenTweetenDelenE-mail

Gerelateerde onderwerpen

  • Technologie uitgelegd
  • Computer netwerken

Over de auteur

Rumaisa Niazi (24 artikelen gepubliceerd)

Rumaisa is freelance schrijver bij MUO. Ze heeft veel hoeden gedragen, van wiskundige tot liefhebber van informatiebeveiliging, en werkt nu als SOC-analist. Haar interesses omvatten lezen en schrijven over nieuwe technologieën, Linux-distributies en alles wat met informatiebeveiliging te maken heeft.

Meer van Rumaisa Niazi

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren