2.5. El Internet Control Message Protocol

IP tiene otro protocolo complementario del que no hemos hablado todav�a. Este es el Internet Control Message Protocol (ICMP), usado por el c�digo de redes del n�cleo para comunicar mensajes de error a otros puestos. Por ejemplo, asumiremos que nos encontramos en erdos otra vez y queremos hacer telnet al puerto 12345 en quark, pero no hay procesos escuchando en ese puerto. Cuando el primer paquete TCP para este puerto llegue a quark, la capa de red reconocer� esta llegada e inmediatamente enviar� un mensaje ICMP a erdos empezando con “Port Unreachable.”[1]

El protocolo ICMP ofrece varios mensajes diferentes, muchos de ellos tratan con condiciones de error. De todas maneras, hay un mensaje muy interesante denominado mensaje Redirect[2]. Lo genera el m�dulo de encaminamiento cuando detecta que otro puesto est� us�ndolo como pasarela, aunque exista una ruta m�s corta. Por ejemplo, despu�s del arranque, la tabla de encaminamiento de sophus puede estar incompleta. Puede que contenga las rutas a la red de Matem�ticas, a la dorsal FDDI, y el encaminamiento por defecto apuntando a la pasarela del Groucho Computing Center ( gcc1). De este modo, los paquetes para quark ser�n enviados a gcc1 en vez de a niels, la pasarela del departamento de Fisicas. Cuando recibe un datagrama como �ste, gcc1 notar� que esa es una mala elecci�n como ruta y reenviar� el paquete a niels, mientras tanto env�a un mensaje Redirect ICMP a sophus dici�ndole la ruta superior.

Esta parece ser una forma muy inteligente de evitar la configuraci�n manual de las rutas excepto las m�s b�sicas. De cualquier forma, hay que decir que depender de esquemas de encaminamiento din�micos, sean RIP o mensajes Redirect ICMP, no es siempre una buena idea. Redirect ICMP y RIP ofrecen muy poca o ninguna capacidad de verificar si alguna informaci�n de encaminamiento es efectivamente aut�ntica. Esta situaci�n permite a mal�volos in�tiles perturbar el desarrollo del tr�fico de la red completa, o incluso algo peor. Consecuentemente, el c�digo de red de GNU/Linux trata los mensaje Network Redirect como si fuesen Host Redirects. Esto minimiza los da�os de un ataque restringi�ndolos a s�lo un puesto, en vez de la red completa. Por otro lado, esto significa que se gener� un poco m�s de tr�fico en las mismas condiciones, ya que cada puesto hace que se genere un mensaje Redirect ICMP. En la actualidad, se considera generalmente una mala costumbre depender de las redirecciones ICMP para algo.

Notas

[1]

N. del T.: Puerto Inalcanzable.

[2]

N. del T.: Redirecci�n.