Internet Control Message Protocol
De Wikipedia, la enciclopedia libre
Nivel de aplicación | DNS, FTP, HTTP, IMAP, IRC, NFS, NNTP, NTP, POP3, SMB/CIFS, SMTP, SNMP, SSH, Telnet, SIP, ver más |
Nivel de presentación | ASN.1, MIME, SSL/TLS, XML, ver más |
Nivel de sesión | NetBIOS, ver más |
Nivel de transporte | SCTP, SPX, TCP, UDP, ver más |
Nivel de red | AppleTalk, IP, IPX, NetBEUI, X.25, ver más |
Nivel de enlace | ATM, Ethernet, Frame Relay, HDLC, PPP, Token Ring, Wi-Fi, STP, ver más |
Nivel físico | Cable coaxial, Cable de fibra óptica, Cable de par trenzado, Microondas, Radio, RS-232, ver más |
* según el Modelo OSI |
El Protocolo de Control de Mensajes de Internet o ICMP (por sus siglas de Internet Control Message Protocol) es el subprotocolo de diagnóstico y notificación de errores del Protocolo de Internet (IP). Como tal, se usa para enviar mensajes de error, indicando por ejemplo que un servicio determinado no está disponible o que un router o host no puede ser localizado
ICMP difiere del propósito de TCP y UDP ya que generalmente no se utiliza directamente por las aplicaciones de usuario en la red. La única excepción es la herramienta ping y traceroute, que envían mensajes de petición Echo ICMP (y recibe mensajes de respuesta Echo) para determinar si un host está disponible, el tiempo que le toma a los paquetes en ir y regresar a ese host y cantidad de hosts por los que pasa.
[editar] Aspectos técnicos
ICMP es parte del conjunto de protocolos IP tal cual y se definió en la RFC 792. Los mensajes ICMP son comúnmente generados en respuesta a errores en los datagramas de IP (según la especificación RFC 1122) o para diagnóstico y ruteo.
La versión de ICMP para IPv4 también es conocida como ICMPv4. IPv6 tiene su protocolo equivalente.
Los mensajes ICMP son construidos en el nivel de capa de red. IP encapsula el mensaje ICMP apropiado con una nueva cabecera IP (para obtener los mensajes de respuesta desde el host original que envía), y transmite el datagrama resultante de manera habitual.
Por ejemplo, cada router que reenvía un datagrama IP tiene que disminuir el campo de tiempo de vida (TTL) de la cabecera IP en una unidad; si el TTL llega a 0, un mensaje ICMP "Tiempo de Vida se ha excedido en transmitirse" es enviado a la fuente del datagrama.
Cada mensaje ICMP es enscapsulado directamente en un solo datagrama IP, y por tanto no garantiza la entrega del ICMP.
Aunque los mensajes ICMP son contenidos dentro de datagramas estándar IP, los mensajes ICMP se procesan como un caso especial del procesamiento normal de IP, algo así como el procesamiento de un sub-protocolo de IP. En muchos casos es necesario inspeccionar el contenido del mensaje ICMP y entregar el mensaje apropiado de error a la aplicación que generó el paquete IP original, aquel que solicitó el envío del mensaje ICMP.
La utilidad del protocolo ICMP es controlar si un paquete no puede alcanzar su destino, si su vida ha expirado, etc. Es decir, se usa para manejar mensajes de error y de control necesarios para los sistemas de la red, informando con ellos a la fuente original para que evite o corrija el problema detectado.
Muchas de las utilidades de red comunes están basadas en los mensajes ICMP. El comando traceroute está implementado transmitiendo datagramas UDP con campos especiales TTL IP en la cabecera, y buscando los mensajes de "Tiempo de Vida en tránsito" y "Destino inalcanzable" generados como respuesta. La herramienta ping está implementada utilizando los mensajes "Echo request" y "Echo reply" de ICMP.
[editar] Formato del protocolo
Bit 0 7 | Bit 8 15 | Bit 16 23 | Bit 24 31 |
---|---|---|---|
Tipo | Código | Suma de verificación | |
Datos (opcional) |
Lista de mensajes de control permitidos (incompleta):
- 0 - Echo Reply
- 1 - Reservado
- 2 - Reservado
- 3 - Destination Unreachable
- 4 - Source Quench
- 5 - Redirect Message
- 6 - Dirección Alterna de Host
- 7 - Reservado
- 8 - Echo Request
- 9 - Anuncio de Router
- 10 - Solicitud de Router
- 11 - Tiempo Excedido
- 12 - Problema de Parámetro
- 13 - Marca de tiempo
- 14 - Respuesta de Marca de tiempo
- 15 - Petición de Información
- 16 - Respuesta de Información
- 17 - Petición de Máscara de Dirección
- 18 - Respuesta de Máscara de Dirección
- 19 - Reservado para seguridad
- 20-29 - Reservado para experimentos de robustez
- 30 - Traceroute
- 31 - Error de Conversión de Datagrama
- 32 - Redirección de Host Móvil
- 33 - IPv6 ¿Dónde estas?
- 34 - IPv6 Estoy aquí
- 35 - Petición de Registro de Móvil
- 36 - Respuesta de registro de Móvil
- 37 - Petición de Nombre de Dominio
- 38 - Respuesta de Nombre de Dominio
- 39 - SKIP Protocolo de Algoritmo de Descubrimiento
- 40 - Photuris, Fallas de Seguridad
- 41-255 - Reservado
(Fuente: IANA ICMP Parameters)