Internet Control Message ProtocolHet Internet Control Message Protocol (ICMP) is een onderdeel van het internetprotocol (IP). Het wordt vooral gebruikt door besturingssystemen voor het sturen van foutmeldingen, bijvoorbeeld om te melden dat een bepaalde netwerkvoorziening niet beschikbaar is, of dat een bepaalde host of router niet bereikbaar is. Soms komt een computergebruiker ook direct met het protocol ICMP in aanraking, voornamelijk bij gebruik van de netwerkdiagnoseprogramma's ping en traceroute. Hoewel het protocol beschreven wordt in een apart RFC-document dat losstaat van het document dat het IP zelf beschrijft, is ICMP een integraal onderdeel van IP en wordt de implementatie ervan voor iedere IP-module voorgeschreven. ICMP wordt gedefinieerd in RFC 792.[1] Voor Internet Protocol versie 6 (IPv6) wordt ICMP gedefinieerd in RFC 1885.[2] ICMP is een verbindingsloos protocol met IP-protocolnummer 1 voor IPv4 en 58 voor IPv6.[3] Men zou ICMP kunnen beschrijven als het protocol dat de administratie van een netwerk verzorgt; het laat gebruikers toe problemen uit te pluizen en stelt TCP/IP-implementaties in staat om foutberichten te sturen naar communicatiepartners. StructuurICMP is een heel eenvoudig protocol, met slechts drie headervelden:
Wat na de header komt, is afhankelijk van het ICMP-type. In de meeste gevallen worden er vier bytes overgeslagen en volgen dan de 64 eerste bits uit het originele IP-pakket dat het versturen van dit ICMP-pakket tot gevolg had, zodat de communicatiepartner kan begrijpen waarom die dat ICMP-pakket aankrijgt. De vier bytes tussenin worden gebruikt voor eventuele extra parameters. Wanneer het ICMP-pakket echter geen reactie is op het verzenden van een eerder pakket (zoals bij echo en echo reply, ook wel gekend als ping en pong), is de verdere structuur van het pakket anders. |