Mensajes ICMP Echo (8) y Echo Reply (0)
Los mensajes de echo son utilizados para detectar si otro equipo está activo en la red. Es utilizado por el comando Ping. El host que envía el mensaje de petición (request) inicializa los campos identifier, sequence number a valores escogidos por él, así como el contenido de los datos (data). El host receptor de la petición
cambia el tipo de mensaje a Echo Reply y devuelve el datagrama al emisor con los mismos valores en los campos identifier, sequence number y contenido que recibió, es decir realiza un ‘eco’ del mensaje recibido.
Mensaje ICMP Destination Unreachable (3)
Si este mensaje es recibido desde un router intermedio nos indicará que el router considera la dirección IP destino como inalcanzable.
Si el mensaje es recibido desde el equipo destino nos indicará que el protocolo especificado en campo protocol number del datagrama original no está activo o que el puerto especificado no está activo.
El campo código de la cabecera ICMP puede contener uno de los siguientes valores:
Código
|
Valor
|
0
|
Net unreachable
|
1
|
Host unreachable
|
2
|
Protocol unreachable
|
3
|
Port unreachable
|
4
|
Fragmentation needed and don’t fragment bit was set
|
5
|
Source route failed
|
6
|
Destination network unknown
|
7
|
Destination host unknown
|
8
|
Source host isolated
|
9
|
Destination network is administratively prohibited
|
10
|
Destination host is administratively prohibited
|
11
|
Destination network unreacheable for type of service
|
12
|
Destination host unreacheable for type of service
|
13
|
Communication Administratively prohibited
|
14
|
Host precedence violation
|
15
|
Precedence cutoff in effect
|
Si el router implementa el protocolo Path MTU Discovery, el formato del mensaje de destino inalcanzable es sustituido por el código 4. Incluirá la MTU de el link que no acepta el datagrama.
Mensaje ICMP Source Quench (4)
Si el mensaje es recibido desde un router intermedio nos indicará que el router no tiene capacidad en los buffer para encolar el datagrama.
Si el mensaje es recibido desde el equipo destino nos indicará que los datagramas entrantes llegan demasiado deprisa para ser procesados. El campo código de la cabecera ICMP siempre será 0.
Mensaje ICMP Redirect (5)
El ICMP redirect es un mecanismo que permite a los router transmitir información de routing a los host. Este mensaje informa a un host para que actualice su información de routing.
Si el mensaje es recibido desde un router intermedio nos indicará que el host debe enviar futuros mensajes a un router alternativo cuya dirección IP es especificada en el mensaje ICMP. Este router alternativo deberá estar en la misma subred que el host que envía el datagrama y el router que lo devuelve.
Este mensaje no será enviado si el datagrama IP contiene información de routing.
El campo código de la cabecera ICMP puede contener, especificando la razón para la redirección, los valores siguientes:
- 0. Error de red
- 1. Error de host
- 2. Error de tipo de servicio (TOS) y red
- 3. Error de tipo de servicio (TOS) y host
Mensaje ICMP Router Advertisement (9) and Router Solicitation (10)
Los mensajes de ICMP 9 y 10, de tipo Router discovery son opcionales y se encuentran descritos en la RFC 1256.
Periódicamente cada router envía mediante multicast mensajes router advertisement (RA) por cada una de sus interfaces anunciando la dirección IP de la misma. Los host descubren la dirección IP de sus routers adyacentes simplemente escuchando estos mensajes. Un host, cuando se conecta a una subred, también puede enviar un mensaje multicast de router solicitation (RS) para recibir un anuncio inmediato, en vez de tener que esperar al próximo anuncio periódico. Si no recibe respuesta, retransmitirá el mensaje un número limitado de veces, tras la cuales desistirá de su solicitud.
Estos mensajes para descubrir routers no constituyen un protocolo de routing. Únicamente permiten al host descubrir los routers existentes en su subred, pero no cuál de ellos es el mejor para alcanzar un destino concreto. Si un host elige uno de los routers que no es el mejor para alcanzar el destino, deberá recibir un mensaje ICMP de redirección indicándole el mejor.
La estructura del mensaje router advertisement es la siguiente:
Donde:
- Contador. Es el número de routers anunciados en este mensaje.
- Longitud. Indica la longitud de cada una de las entradas (palabras de 32 bit) para cada una de las direcciones de router. Este valor generalmente es 2 (32 bit para la dirección IP del router + 32 bit para el valor de nivel de preferencia).
- TTL. Indica el número máximo de segundos durante los cuales la dirección IP del router puede ser considerada válida. El router puede anunciarse como no disponible enviando este campo con el valor 0.
- Dirección IP del router. Dirección IPv4 del router anunciado
- Preferencia. La preferencia asignada a la dirección IP del router relativa a las direcciones de otros routers en la misma subred. A mayor valor mayor preferencia. El valor por defecto es 0, que se encuentra en la mitad del posible rango.
Mensaje ICMP Time exceeded (11)
Si este mensaje es recibido desde un router intermedio, nos indicará que el campo TTL de un datagrama IP ha expirado.
Si el mensaje lo recibimos desde el host destino, nos indicará que el timer TTL ha expirado durante el re-ensamblaje de un datagrama IP fragmentado (esperando a un fragmento del datagrama).
Estos mensajes son utilizados por el comando traceroute para identificar routers en el camino entre dos hosts.
La estructura de este mensaje es la siguiente:
Donde el campo código puede tener uno de los valores siguientes:
- 0. TTL excedido en tránsito
- 1. TTL excedido durante el re-ensamblaje
Mensaje ICMP Parameter Problem (12)
Este tipo de mensaje indica que se ha encontrado un problema durante el procesamiento de los parámetros de la cabecera IP. Este mensaje es generado en respuesta a cualquier error no cubierto específicamente por otro mensaje ICMP. No es generado en respuesta a un datagrama destinado a una dirección multicast.
La estructura de este mensaje es la siguiente:
Donde:
- Código. Puede tener uno de los valores siguientes:
- 0. Cabecera IP inválida
- 1. Una opción requerida no ha sido encontrada
- Puntero. En caso de una cabecera IP inválida (code=0) este campo indica el ‘byte offset’ del error en la cabecera.
Mensajes ICMP Timestamp Request
(13) and Timestamp Reply (14)
Estos dos mensajes son
para debugging y medidas de rendimiento.
El emisor del mensaje inicializa el identificador (identifier)
y el número de secuencia (sequence number; utilizado si se envían varias
solicitudes), marca el timestamp y envía
el datagrama al receptor. El host receptor rellena los timestamp de recepción (momento
en que lo recibe) y transmisión (momento en que lo envía), cambia el tipo de
mensaje a timestamp reply y se lo devuelve al emisor. Los campos identificador y número de secuencia deben
volver al emisor sin alterar.
El datagrama tiene dos timestamps si hay una diferencia de
tiempo perceptible entre los tiempos de recepción y transmisión. En la
práctica, la mayoría de las implementaciones realizan ambos (recepción y
transmisión) en una operación. Esto marca los dos tiempos con el mismo valor.
Los timestamps son el número en milisegundos transcurrido desde la medianoche
(UT).
Mensajes ICMP Address Mask Request (17) and Address Mask Reply (18)
El mensaje de solicitud de máscara es utilizado por un equipo para determinar la máscara de subred utilizada en la red donde está conectado. La mayoría de los equipos están configurados con su máscara, sin embargo, algunos equipos sin disco pueden obtener está información de un servidor. El equipo utiliza RARP (Reverse Address Resolution Protocol) para obtener su dirección IP. Para obtener la máscara de subred lanza una petición de máscara con el campo máscara a 0. Cualquier equipo que haya sido configurado para enviar respuestas de máscara de dirección rellena el campo de máscara de subred y devuelve el paquete al solicitante.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.