Welk ICMP (Internet Control Message Protocol)?

2 juli 2024

Het Internet Control Message Protocol (ICMP) is een fundamenteel netwerklaagprotocol dat wordt gebruikt voor foutrapportage en diagnostiek in IP-netwerken. Het wordt gebruikt door netwerkapparaten, zoals routers en hosts, om foutmeldingen en operationele informatie te verzenden.

wat is het internetcontroleberichtprotocol

Wat is het Internet Control Message Protocol (ICMP)?

Het Internet Control Message Protocol (ICMP) is een integraal onderdeel van de internetprotocolsuite (TCP/IP), opererend op de netwerklaag om foutrapportage en netwerkdiagnostiek te vergemakkelijken. Het wordt voornamelijk gebruikt door netwerkapparaten, zoals routers en hosts, om problemen te communiceren die zich voordoen tijdens het verwerken van IP-pakketten. In tegenstelling tot andere protocollen die zich richten op gegevensoverdracht, is de primaire functie van ICMP het doorgeven van besturings- en foutmeldingen, waardoor de efficiรซnte en betrouwbare werking van het netwerk wordt gegarandeerd.

ICMP-berichten zijn ingekapseld in IP-pakketten en worden gegenereerd als reactie op verschillende netwerkomstandigheden, zoals onbereikbare hosts, netwerkcongestie en routeringsproblemen. Wanneer een pakket zijn bestemming niet kan bereiken, stuurt ICMP een bericht terug naar de bron waarin de aard van de fout wordt aangegeven. Dit feedbackmechanisme helpt bij het identificeren en oplossen van netwerkproblemen.

Hoe werkt ICMP?

Het Internet Control Message Protocol (ICMP) werkt op de netwerklaag om foutrapportage en netwerkdiagnostiek te vergemakkelijken. Wanneer een pakket een probleem tegenkomt tijdens het doorkruisen van het netwerk, genereert ICMP een foutmelding en stuurt deze terug naar de bron van het pakket. Deze feedback helpt de afzender te begrijpen wat er mis is gegaan en corrigerende maatregelen te nemen.

ICMP-berichten zijn ingekapseld in IP-pakketten. Wanneer een apparaat een ICMP-bericht genereert, bevat dit informatie over de aard van de fout of het verzoek. Deze IP-pakketten worden vervolgens net als elk ander pakket door het netwerk gerouteerd.

ICMP-gebruikscasussen

ICMP, of Internet Control Message Protocol, vervult verschillende cruciale functies in IP-netwerken, waarbij de nadruk vooral ligt op foutrapportage en netwerkdiagnostiek. Hier zijn belangrijke gebruiksscenario's die de praktische toepassingen van ICMP bij het onderhouden en beheren van netwerkactiviteiten benadrukken:

  • Testen van netwerkconnectiviteit. Netwerkbeheerders gebruiken vaak ICMP om de connectiviteit tussen apparaten te testen. Hulpmiddelen zoals "ping" ICMP-berichten verzenden naar een doelapparaat om te verifiรซren of het bereikbaar is en om de retourtijd te meten. Dit helpt bij het snel diagnosticeren van netwerkproblemen en het bevestigen van de operationele status van apparaten.
  • Paddetectie en probleemoplossing. ICMP is essentieel voor tools als 'traceroute', waarmee het pad in kaart wordt gebracht dat pakketten door het netwerk volgen om een โ€‹โ€‹bestemming te bereiken. Door elke stap langs de route te identificeren, kunnen beheerders vaststellen waar vertragingen of fouten optreden, waardoor een efficiรซnte probleemoplossing van routeringsproblemen en netwerkknelpunten wordt vergemakkelijkt.
  • Bewaking van netwerkprestaties. ICMP wordt gebruikt om de netwerkprestaties te bewaken, inclusief latentie en pakketverlies. Het regelmatig verzenden van ICMP-berichten naar kritieke netwerkknooppunten helpt bij het beoordelen van de gezondheid van het netwerk, het identificeren van prestatieverslechtering en het garanderen daarvan Service Level Agreements (SLA's) zijn ontmoet.
  • Netwerktopologie in kaart brengen. In grote en complexe netwerken helpt ICMP bij het in kaart brengen van de netwerk topologieDoor ICMP-berichten naar een reeks van IP adressenkunnen netwerkdetectietools actieve apparaten, hun IP-adressen en hun relaties identificeren, waardoor een uitgebreid beeld ontstaat van de netwerkstructuur.
  • Congestiebeheer. Hoewel het tegenwoordig minder gebruikelijk is, kan ICMP nog steeds een rol spelen bij congestiebeheer. Routers kunnen ICMP-berichten gebruiken om verzendende apparaten te waarschuwen dat ze hun transmissiesnelheden moeten verlagen tijdens perioden met veel verkeer, waardoor congestie wordt verminderd en de netwerkprestaties op peil worden gehouden.
  • Beveiliging en incidentrespons. ICMP is nuttig bij beveiligings- en incidentresponsscenario's. Beheerders kunnen ICMP gebruiken om onbereikbare netwerken of verkeerd geconfigureerde apparaten te detecteren, wat kan duiden op beveiligingsinbreuken of netwerkstoringen. Bovendien kan het monitoren van ICMP-verkeer helpen bij het identificeren van kwaadaardige activiteiten, zoals netwerkscans en DDoS-aanvallen, waardoor tijdige interventies mogelijk zijn.
  • Automatische netwerkconfiguratie. ICMP wordt gebruikt in automatische netwerkconfiguratieprotocollen, zoals het Router Discovery Protocol (RDP). Routers sturen ICMP-berichten om hosts te informeren over hun aanwezigheid, waardoor hosts hun netwerkinstellingen automatisch kunnen configureren en optimale routeringspaden kunnen ontdekken.

ICMP-pakketformaat

Het pakketformaat Internet Control Message Protocol (ICMP) is gestructureerd om essentiรซle controle- en foutmeldingsmogelijkheden binnen IP-netwerken te bieden. Een ICMP-pakket is ingekapseld in een IP-pakket en bestaat uit verschillende velden, die elk een specifiek doel dienen. Hier vindt u een gedetailleerde uitleg van het ICMP-pakketformaat.

  1. Type (1 byte). Het veld "Type" identificeert het specifieke ICMP-bericht. Verschillende typen duiden verschillende soorten berichten aan, zoals Echoverzoek, Echoantwoord, Bestemming onbereikbaar en Tijd overschreden.
  2. Code (1 byte). Het veld "Code" biedt verdere granulariteit aan het veld "Type" en biedt extra context voor het ICMP-bericht. Binnen het type Bestemming onbereikbaar geven verschillende codes bijvoorbeeld aan of het doelnetwerk, de host, het protocol of de poort onbereikbaar is.
  3. Controlesom (2 bytes). de "checksum"-veld garandeert de integriteit van het ICMP-bericht. Het is een eenvoudige foutdetectiecode die wordt berekend over het gehele ICMP-bericht (header en gegevens). Als de controlesom bij ontvangst niet overeenkomt met de berekende waarde, wordt het pakket als beschadigd beschouwd en verwijderd.
  4. Rest van header (4 bytes). Het veld "Rest van header" varieert afhankelijk van het type en de code van het ICMP-bericht. Het kan aanvullende informatie bevatten die relevant is voor het specifieke ICMP-bericht.
  5. Gegevens (variabele lengte). Het veld "Gegevens" bevat de payload van het ICMP-bericht. De inhoud en lengte zijn afhankelijk van het type en de code van het ICMP-bericht.

Hier is een voorbeeld van een ICMP Echo Request-pakket:

  • Type: 8 (geeft echoverzoek aan)
  • Code: 0 (specifiek voor echoverzoek)
  • Checksums: Berekend over het gehele ICMP-bericht
  • Rest van de kop: Bevat een identificatie- en volgnummer
  • Data: Bevat de payload die moet worden teruggestuurd in het Echo-antwoord

Voor een ICMP Destination Unreachable-pakket is het voorbeeld:

  • Type: 3 (geeft bestemming onbereikbaar aan)
  • Code: Varieert (bijvoorbeeld 0 voor netwerk onbereikbaar, 1 voor host onbereikbaar)
  • Checksums: Berekend over het gehele ICMP-bericht
  • Rest van de kop: Bevat een deel van de header van het oorspronkelijke pakket en de eerste 8 bytes van de gegevens
  • Data: bevat aanvullende context over de fout

Soorten ICMP-berichten

Elk ICMP-berichttype heeft een specifieke functie, waardoor efficiรซnte foutrapportage, diagnostiek en netwerkbeheer mogelijk zijn. Het begrijpen van deze typen is cruciaal voor het onderhouden van robuuste en betrouwbare IP-netwerken:

  • Echoverzoek (type 8) en echoantwoord (type 0). Echo Request- en Echo Reply-berichten worden gebruikt door de opdracht "ping" om de bereikbaarheid van een host op een netwerk te testen. Er wordt een echoverzoek naar de doelhost gestuurd, die reageert met een echoantwoord. Dit helpt bij het meten van de retourtijd en het controleren op pakketverlies.
  • Bestemming onbereikbaar (type 3). Destination Unreachable-berichten geven aan dat een pakket de beoogde bestemming niet kon bereiken. Dit type heeft verschillende codes die de reden specificeren, zoals netwerk onbereikbaar, host onbereikbaar, protocol onbereikbaar en poort onbereikbaar.
  • Bronquench (type 4). Source Quench-berichten worden gebruikt om congestie in het netwerk aan te geven. Wanneer een router of host overweldigd is, stuurt deze dit bericht naar de afzender, met het verzoek om een โ€‹โ€‹verlaging van de transmissiesnelheid om de congestie te verminderen.
  • Omleiding (type 5). Omleidingsberichten informeren een host dat er een betere route beschikbaar is voor een bepaalde bestemming. Dit helpt bij het optimaliseren van routeringsbeslissingen door de host te begeleiden om een โ€‹โ€‹efficiรซnter pad te gebruiken.
  • Tijd overschreden (type 11). Time Exceeded-berichten worden verzonden wanneer een pakket wordt verzonden Tijd tot live (TTL) waarde nul bereikt. Dit voorkomt dat pakketten voor onbepaalde tijd in het netwerk circuleren en geeft aan dat het pakket is verwijderd.
  • Parameterprobleem (type 12). Parameterprobleemberichten duiden op een fout in de header van het ontvangen pakket, zoals een ontbrekend of onjuist veld. Dit bericht helpt bij het identificeren en corrigeren van koptekstproblemen.
  • Tijdstempelverzoek (type 13) en tijdstempelantwoord (type 14). Timestamp Request- en Timestamp Reply-berichten worden gebruikt om de retourtijd te meten en klokken tussen apparaten te synchroniseren. De afzender verzendt een tijdstempelverzoek en de ontvanger antwoordt met een tijdstempelantwoord.
  • Adresmaskerverzoek (type 17) en adresmaskerantwoord (type 18). Adresmaskerverzoek- en adresmaskerantwoordberichten worden gebruikt om het subnetmasker van een netwerk te bepalen. Een apparaat verzendt een adresmaskerverzoek en het netwerkapparaat reageert met een adresmaskerantwoord, waarbij de subnetmaskerinformatie wordt verstrekt.
  • Routeradvertentie (Type 9) en Routeraanvraag (Type 10). Router Advertising- en Router Solicitation-berichten worden gebruikt bij het ontdekken van routers. Routers sturen periodiek routeradvertenties, en hosts kunnen routeraanvragen sturen om routers te vragen hun aanwezigheid en informatie bekend te maken.
  • Informatieverzoek (type 15) en informatieantwoord (type 16). Informatieverzoek- en informatieantwoordberichten worden gebruikt om informatie over het netwerk te verkrijgen. Een apparaat verzendt een informatieverzoek en het reagerende apparaat antwoordt met een informatieantwoord, waarbij de benodigde netwerkinformatie wordt verstrekt.

ICMP- en DDoS-aanvallen

ICMP (Internet Control Message Protocol) wordt vaak misbruikt Distributed Denial of Service (DDoS) -aanvallen, vooral via methoden als ICMP-overstromingsaanvallen. Bij dergelijke aanvallen wordt een overweldigend aantal ICMP Echo Request (ping)-berichten naar een doelsysteem gestuurd, waardoor dit reageert met Echo Reply-berichten. Deze stroom van verkeer verzadigt het netwerk van het doelwit bandbreedte en put de verwerkingsbronnen uit, waardoor het systeem of netwerk niet meer beschikbaar is voor legitieme gebruikers. Aanvallers gebruiken doorgaans een groot aantal gecompromitteerde apparaten, ook wel bekend als botnets, om de aanval te versterken, waardoor deze moeilijk te beperken is en de operaties van het doelwit aanzienlijk worden verstoord.


Anastasia
Spasojeviฤ‡
Anastazija is een ervaren contentschrijver met kennis en passie voor cloud computergebruik, informatietechnologie en onlinebeveiliging. Bij phoenixNAP, richt ze zich op het beantwoorden van brandende vragen over het waarborgen van de robuustheid en veiligheid van gegevens voor alle deelnemers aan het digitale landschap.