# ICMP

Sare eta teknologia protokoloak* :
| Aplikazio geruza | DNS, FTP, HTTP, HTTPS, IMAP, IRC, NFS, NNTP, NTP, POP3, SMB/CIFS, SMTP, SNMP, SSH, Telnet, SIP, gehiago |
| Aurkezpen geruza | ASN.1, MIME, SSL/TLS, XML, gehiago |
| Saio geruza | NetBIOS, gehiago |
| Garraio geruza | SCTP, SPX, TCP, UDP, gehiago |
| Sare geruza | AppleTalk, IP, IPX, NetBEUI, X.25, gehiago |
| Lotura geruza | ATM, Ethernet, Frame Relay, HDLC, PPP, Token Ring, Wi-Fi, STP, gehiago |
| Geruza fisikoa | Kable ardazkide, Zuntz optiko, Pare kordatu, Mikrouhin-sarea, Irrati bidezko sarea, RS-232, gehiago |
| *OSI ereduaren arabera ||
ICMP (ingelesezko siglaren azalpena: Internet Control Message Protocol) TCP/IP ereduko protokolo bat da, RFC 792an definitua. Protokolo honetan, mezuak kontrolerako edo erreparaziotarako erabiltzen dira, eta IP mailako operazioetan gertatzen diren erroreei erantzun bezala sortzen dira (RFC 1122an azaltzen den bezala). ICMP errore mezu hauek iturburuko IP helbidera zuzentzen dira. Router bat edo host bat erabilgarri ez daudela jakinarazten diote igorleari.
ICMP protokoloa, ordea, ez da TCP edo UDP protokoloak bezala erabiltzen normalean, ICMP ez delako zuzenean sareko erabiltzaile aplikazioetan erabiltzen. Honen salbuespen dira ping eta traceroute, echo ICMP mezuak bidaltzen baitituzte hauek (eta bueltan echo reply mezuak), host bat atzigarri dagoen ala ez zehazteko, datagramen joan-etorrien denbora neurtzeko, eta host horretaraino dauden bideratzaile kopurua zehazteko.
Edozein mezuren bidalketaren tartean dauden makina guztiek, hau da, mezua birbidaltzen duten tarteko router guztiek datagramaren TTL (bizitzeko de denbora: “Time To Live”) balioari bat kentzen diote. Honela, TTLa 0 baliora iristen denean, mezua baztertuko da eta ICMP mezu bat bidaliko zaio mezu baztertuaren igorleari, denbora agortu dela esanez.

## ICMP segmentuaren egitura

ICMP goiburukoa IPv4 goiburukoaren ondoren hasten da, eta dagokion IP protokolo zenbakia ‘1’ da. ICMP pakete guztiek 8 byteko goiburukoa dute, eta datuen atalaren luzera aldakorra da. Goiburukoaren lehen 4 byte-ek formatu finkoa dute. Azken 4 byte-ek, ordea, ICMP pakete zehatz horren mota eta kodearen araberakoak dira. Hona hemen 8 byte horien formatua:
| Bit-a | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| Byte-a | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| | Mota | Mota | Mota | Mota | Mota | Mota | Mota | Mota | Kodea | Kodea | Kodea | Kodea | Kodea | Kodea | Kodea | Kodea | Checksum-a | Checksum-a | Checksum-a | Checksum-a | Checksum-a | Checksum-a | Checksum-a | Checksum-a | Checksum-a | Checksum-a | Checksum-a | Checksum-a | Checksum-a | Checksum-a | Checksum-a | Checksum-a |
| | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa | Goiburukoaren gainontzekoa |
Mota: ICMP mota, begiratu Kontrol mezuak atala.
Kodea: ICMP azpi-mota, begiratu Kontrol mezuak atala.
Checksum-a: Erroreak atzemateko datuak. ICMP goiburukotik eta datuetatik kalkulatzen da. RFC 1071ean zehazten da algoritmo hau.
Goiburukoaren gainontzekoa: Lau byte-eko tamaina du, baina benetan erabilitakoa alda daiteke ICMP mota eta kodearen arabera.
ICMP errore mezuek errorea sortu zuen mezuaren IPv4 goiburuko osoa dute, eta baita haren datuen lehen zortzi byte-ak ere. ICMP mezua, IPv4 mezu berri baten barruan enkapsulatzen da.

## Kontrol mezuak

Kontrol mezu garrantzitsuak :
| Mota | kodea | Azalpena |
| 0 – Echo Reply | 0 | Echo reply (ping egiteko) |
| 1 eta 2 | | Erreserbatuak |
| 3 – Destination Unreachable | 0 | Helburuko sarea eskuraezina |
| 3 – Destination Unreachable | 1 | Helburuko host-a eskuraezina |
| 3 – Destination Unreachable | 2 | Helburuko protokoloa eskuraezina |
| 3 – Destination Unreachable | 3 | Helburuko portua eskuraezina |
| 3 – Destination Unreachable | 4 | Fragmentazioa beharrezkoa |
| 3 – Destination Unreachable | 5 | Jatorrizko bidean errorea |
| 3 – Destination Unreachable | 6 | Helburuko sarea ezezaguna |
| 3 – Destination Unreachable | 7 | Helburuko host-a ezezaguna |
| 3 – Destination Unreachable | 8 | Jatorrizko host-a isolatuta |
| 3 – Destination Unreachable | 9 | Sarea administratiboki debekatuta |
| 3 – Destination Unreachable | 10 | Host-a administratiboki debekatuta |
| 3 – Destination Unreachable | 11 | Sarea eskuraezina |
| 3 – Destination Unreachable | 12 | Host-a eskuraezina |
| 3 – Destination Unreachable | 13 | Komunikazioa administratiboki debekatuta |
| 3 – Destination Unreachable | 14 | Host-aren lehentasunaren biolazioa |
| 3 – Destination Unreachable | 15 | Lehentasunaren mozketa |
| 4 – Source Quench | 0 | Source quench (kogestio kontrola egiteko) |
| 5 – Redirect Message | 0 | Datagrama birbideratu sarerako |
| 5 – Redirect Message | 1 | Datagrama birbideratu Host-erako |
| 5 – Redirect Message | 2 | Datagrama birbideratu TOS eta sarerako |
| 5 – Redirect Message | 3 | Datagrama birbideratu TOS eta host-erako |
| 6 | | Host helbide alternatiboa |
| 7 | | Erreserbatua |
| 8 – Echo Request | 0 | Echo request (ping egiteko) |
| 9 – Router Advertisement | 0 | Bideratzailearen iragarpena |
| 10 – Router Solicitation | 0 | Bideratzailearen eskaera |
| 11 – Time Exceeded | 0 | TTL-a amaitu da bidean zehar |
| 11 – Time Exceeded | 1 | Atal baten birmuntatzean denbora amaitu |
| 12 – Parameter Problem: IP goiburu okerra | 0 | Erakusleak errorea erakusten du |
| 12 – Parameter Problem: IP goiburu okerra | 1 | Beharrezko aukera bat falta da |
| 12 – Parameter Problem: IP goiburu okerra | 2 | Luzera desegokia |
| 13 – Timestamp | 0 | Timestamp (sinkronizaziorako) |
| 14 – Timestamp Reply | 0 | Timestamp reply (sinkronizaziorako) |
| 15 – Information Request | 0 | Informazio eskatzea |
| 16 – Information Reply | 0 | Informazio erantzuna |
| 17 – Address Mask Request | 0 | Helbide maskara eskaera |
| 18 – Address Mask Reply | 0 | Helbide maskara erantzuna |
| 19 | | Segurtasun kontuetarako erreserbatuta |
| 20 - 29 | | Sendotasun esperimentuentzat erreserbatuta |
| 30 – Traceroute | 0 | Informazio eskatzea |
| 31 - Datagram Conversion Error | | Datagrama transformatzean errorea |
| 32 - Mobile Host Redirect | | Host mugikorraren helbideraketa berria |
| 33 - Where-Are-You | | Non-zaude? (IPv6rako hasieran) |
| 34 – Here-I-Am | | Hemen-nago (IPv6rako hasieran) |
| 35 – Mobile Registration Request | | Erregistro mugikorraren eskaera |
| 36 – Mobile Registration Reply | | Erregistro mugikorraren erantzuna |
| 37 – Domain Name Request | | Domeinuaren izenaren eskaera |
| 38 – Domain Name reply | | Domeinuaren izenaren erantzuna |
| 39 | | SKIP algoritmo asmakizun protokoloa |
| 40 | | Segurtasun arazoak |
| 41 | | ICMP protokolo esperimentalentzako |
| 42 - 255 | | Erreserbatuak |

## Ikus, gainera

* IP helbide
* RARP
* ARP
* BOOTP
* TCP/IP eredu

## Erreferentziak

* Andrew S. Tanenbaum, Konputagailu-sareak (3. ed., 2002), EHU.
* Andrew S. Tanenbaum, Computer Networks (4. ed., 2003), Prentice Hall.

## Kanpo estekak

* TCP/IP ereduari buruzko liburua
* Datuak: Q13162
* Multimedia: ICMPv4 / Q13162