Saltos invisibles en el traceroute

Saltos invisibles en el traceroute

de Gaston Bonilla Ramos -
Número de respuestas: 3

Buen día.

Leyendo en Internet encontré varias fuentes que dicen lo siguiente: 

Hay dispositivos en la ruta de un paquete que no decrementan el TTL y no dan respuesta alguna por lo cual serían saltos invisibles, es decir ni siquiera generan asteriscos en la salida del traceroute.

Así como leí también que hay dispositivos que decrementan el TTL sin dar respuesta y que tampoco aparecen en la salida del traceroute, es decir son saltos invisibles al igual que lo anterior.

Es alguna de estas afirmaciones correcta? 

Lo pregunto porque realmente no encontré material confiable que haga referencia a lo planteado anteriormente.

Muchas gracias.

Saludos,

Gastón.

En respuesta a Gaston Bonilla Ramos

Re: Saltos invisibles en el traceroute

de Jhonatan Matias Manrique De Leon -

Ambas afirmaciones son correctas.

En la primera, cuando un dispositivo no decrementa el ttl es invisible en el traceroute, ya que no descarta los paquetes que recibe con ttl=1, simplemente lo reenvía al siguiente hop sin tocar el ttl. Por ejemplo los firewall Cisco ASA hacen esto por defecto.

La segunda se da cuando el dispositivo sí decrementa el ttl, pero no envía un mensaje de error al descartar el paquete. Es decir, recibe un paquete con ttl=1, lo derementa y como ahora el ttl=0 lo descarta, pero no envía el mensaje ICMP de tipo 11 código 0. Entonces en el traceroute solo ves asteriscos.

Es decir, si ves algo así

>tracert -d 5.5.5.5

Traza a 5.5.5.5 sobre caminos de 30 saltos como máximo.

  1    <1 ms    <1 ms    <1 ms  1.1.1.1
  2    <1 ms    <1 ms    <1 ms  2.2.2.2
  3    <1 ms    <1 ms    <1 ms  3.3.3.3
  4     *        *        *     Tiempo de espera agotado para esta solicitud.
  5    <1 ms    <1 ms    <1 ms  5.5.5.5

Traza completa.

es bastante probable que haya un dispositivo entre el 3.3.3.3 y el 5.5.5.5 que haga lo de la segunda afirmación. Si hiciera lo de la primera afirmación ni siquiera verías los asteriscos (5.5.5.5 aparecería como el 4to hop).

Si quisieras material confiable capaz que tendrías que ver el manual de algún dispositivo en particular que haga estas cosas, o confiar en algún libro de redes que lo diga. No sé si el Kurose habla sobre esto.

Saludos.

 

En respuesta a Jhonatan Matias Manrique De Leon

Re: Saltos invisibles en el traceroute

de Gaston Bonilla Ramos -

Muchas gracias por la respuesta.

Respecto a la segunda afirmación me refería específicamente si es posible que un dispositivo decremente el TTL y este llegue a 0 pero ni siquiera ver los asteriscos en el traceroute. Es esto posible?

Gracias nuevamente!

Saludos,

Gastón.

En respuesta a Gaston Bonilla Ramos

Re: Saltos invisibles en el traceroute

de Jhonatan Matias Manrique De Leon -

Mmm. Me parece que eso no es posible, o al menos no es... común.

Supongamos que un router decrementa el ttl y este llega 0. El estandar dice que si el ttl llega a 0 el paquete debe ser descartado [rfc791]. Si lo descarta y no manda un mensaje de error ICMP, entonces vas a ver los asteríscos, porque el traceroute espera cierto tiempo a que llegue un mensaje ICMP con el error, y si no llega te muestra el asterisco.

De todos modos, no todos lo equipos siguen el estandar al pie de la letra (algunos no decrementan el ttl, por ejemplo). Por el amor a la discusión vamos a suponer que no lo descarta, sino que lo manda al siguiente hop con ttl=0. Entonces depende de lo que haga el siguiente hop. No encontré en los RFCs qué debería hacer un equipo cuando recibe un paquete con TTL=0, es decir, tiene que descartarlo, pero no dice si tiene que mandar un mensaje de error particular.

- Tal vez el siguiente hop descarta el paquete y responde con un mensaje ICMP igual al que respondería si el TTL que recibió es igual a 1 (en este caso no verías los asteriscos, es decir que verías la salida del traceroute igual a la primer afirmación que diste).

- Tal vez lo descarta y no manda ningún mensaje de error (en este caso sí verías los asteriscos).

- Tal vez lo descarta y manda otro mensaje de ICMP, por ejemplo un Parameter Problem Message [rfc792]. Ahí hay que ver qué hace la implementación del traceroute.

No sé, esas se me ocurren que son posible, o sea que tecnicamente es posible que decremente el TTL y no aparescan los asterisco (creo), pero es como que le estamos buscando la decimo octaba pata al gato, no creo que pase. Y si pasa en la "vida real" no importa mucho.

Saludos.