Naar inhoud springen

Internet Control Message Protocol

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door TXiKiBoT (overleg | bijdragen) op 1 mrt 2007 om 10:27. (robot Erbij: an:Internet Control Message Protocol, eu:ICMP)
Deze versie kan sterk verschillen van de huidige versie van deze pagina.

Sjabloon:Internetprotocollen Het Internet Control Message Protocol (ICMP) is een onderdeel van TCP/IP.

ICMP, wat staat voor "Internet Control Message Protocol", is een netwerkprotocol dat gespecifieerd wordt in RFC 792, en deel uitmaakt van de TCP/IP netwerk-protocolstack.

Soms stuurt een gateway of een bestemmingshost een bericht naar een bronhost, bijvoorbeeld om een fout te rapporteren in de verwerking van een datagram. Voor zulke doelen wordt ICMP gebruikt. ICMP is integraal deel van het IP, en moet geimplementeerd worden door iedere IP module. ICMP wordt gedefinieerd in RFC 792. Voor Internet Protocol Version 6 (IPv6) wordt ICMP gedefinieerd in RFC 1885.

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. Hoewel het protocol beschreven wordt in een apart RFC-document, losstaand van het document dat IP, het Internet-protocol zelf, beschrijft, is het wel zo dat ICMP integraal deel uitmaakt van IP; een IP-implementatie die geen ICMP implementeert kan niet als volledig beschouwd worden.

ICMP is een connectionless protocol, met IP-protocolnummer 1.

Structuur

ICMP is een heel eenvoudig protocol, met slechts drie headervelden:

  • Type (1 byte). Het ICMP Type bepaalt het soort bericht. Voorbeelden zijn: destination unreachable, echo request, redirect.
  • Code (1 byte). De ICMP Code wordt niet bij alle ICMP Types gebruikt, maar is een manier om een type verder op te delen, indien nodig. Zo wordt destination unreachable verder opgedeeld in port unreachable, host unreachable e.a., terwijl er aan de andere kant geen verdere opdeling is van echo request.
  • Checksum (2 bytes). De checksum wordt berekend over het hele te verzenden ICMP-pakket (met het veld checksum geïnitialiseerd tot 0).

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 bytes 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.