stringtranslate.com

trazarruta

En informática , traceroutey tracertson comandos de diagnóstico de redes informáticas para mostrar posibles rutas (rutas) y medir retrasos en el tránsito de paquetes a través de una red de Protocolo de Internet (IP). El historial de la ruta se registra como los tiempos de ida y vuelta de los paquetes recibidos de cada host sucesivo (nodo remoto) en la ruta (ruta); la suma de los tiempos medios en cada salto es una medida del tiempo total empleado para establecer la conexión. Traceroute continúa a menos que todos los paquetes enviados (normalmente tres) se pierdan más de dos veces; entonces la conexión se pierde y la ruta no se puede evaluar. Ping , por otro lado, solo calcula los tiempos finales de ida y vuelta desde el punto de destino.

Para el Protocolo de Internet versión 6 (IPv6), la herramienta a veces tiene el nombre [1] y . [2]traceroute6tracert6

Implementaciones

El comando traceroute está disponible en muchos sistemas operativos modernos . En sistemas tipo Unix como FreeBSD , macOS y Linux, está disponible como herramienta de línea de comandos. También se puede acceder gráficamente a Traceroute en macOS dentro de la suite Network Utilities ; Estas utilidades han quedado obsoletas desde el lanzamiento de macOS Big Sur . [3]

Microsoft Windows y ReactOS proporcionan un programa llamado tracertque realiza la misma función de seguimiento de rutas. Los sistemas operativos basados ​​en Windows NT también proporcionan PathPing , que combina la funcionalidad de ping con la de tracert. La versión ReactOS fue desarrollada por Ged Murphy y tiene licencia GPL . [4]

En sistemas operativos tipo Unix , traceroute envía, de forma predeterminada, una secuencia de paquetes UDP ( Protocolo de datagramas de usuario ), con números de puerto de destino que van del 33434 al 33534; las implementaciones de traceroute enviadas con Linux , [5] FreeBSD , [6] NetBSD , [7] OpenBSD , [8] DragonFly BSD , [9] y macOS incluyen una opción para usar paquetes ICMP Echo Request ( -I ), o cualquier protocolo arbitrario ( -P ) como UDP, TCP usando paquetes TCP SYN o ICMP. [10]

En Windows, tracert envía paquetes ICMP Echo Request, en lugar de los paquetes UDP que traceroute envía de forma predeterminada. [11]

El valor de tiempo de vida (TTL), también conocido como límite de saltos , se utiliza para determinar los enrutadores intermedios que se atraviesan hacia el destino. Traceroute envía paquetes con valores TTL que aumentan gradualmente de un paquete a otro, comenzando con un valor TTL de uno. Los enrutadores reducen los valores TTL de los paquetes en uno cuando enrutan y descartan los paquetes cuyo valor TTL ha llegado a cero, devolviendo el mensaje de error ICMP Tiempo excedido ICMP . [10] Para el primer conjunto de paquetes, el primer enrutador recibe el paquete, disminuye el valor TTL y descarta el paquete porque entonces tiene un valor TTL cero. El enrutador envía un mensaje ICMP de tiempo excedido a la fuente. Al siguiente conjunto de paquetes se le asigna un valor TTL de dos, por lo que el primer enrutador reenvía los paquetes, pero el segundo enrutador los descarta y responde con tiempo ICMP excedido. Al proceder de esta manera, traceroute utiliza los mensajes ICMP de tiempo excedido devueltos para crear una lista de enrutadores que atraviesan los paquetes, hasta que se alcanza el destino y devuelve un mensaje ICMP Destino inalcanzable si se están utilizando paquetes UDP o un mensaje ICMP Echo Reply si ICMP Echo Se están utilizando mensajes. [10]

Los valores de marca de tiempo devueltos para cada enrutador a lo largo de la ruta son los valores de retraso ( latencia ), generalmente medidos en milisegundos para cada paquete.

El remitente espera una respuesta dentro de un número específico de segundos. Si un paquete no se reconoce dentro del intervalo esperado, se muestra un asterisco. El Protocolo de Internet no requiere que los paquetes tomen la misma ruta hacia un destino particular, por lo que los hosts enumerados pueden ser hosts que hayan atravesado otros paquetes. Si el host en el salto #N no responde, el salto se omite en la salida.

Si una red tiene un firewall y opera sistemas tipo Windows y Unix, se debe habilitar más de un protocolo de entrada a través del firewall para que traceroute funcione y reciba respuestas.

Algunas implementaciones de traceroute utilizan paquetes TCP, como tcptraceroute y traceroute de capa cuatro (lft). PathPing es una utilidad introducida con Windows NT que combina la funcionalidad ping y traceroute. MTR es una versión mejorada de ICMP traceroute disponible para sistemas tipo Unix y Windows. Todas las diversas implementaciones de traceroute dependen del envío de paquetes ICMP de tiempo excedido (tipo 11) al origen.

En Linux, tracepath es una utilidad similar a traceroute, con la principal diferencia de que no requiere privilegios de superusuario . [12]

La implementación de traceroute de Cisco también utiliza una secuencia de datagramas UDP , cada uno con valores TTL incrementales , a un número de puerto no válido en el host remoto; De forma predeterminada, se utiliza el puerto UDP 33434. Una versión extendida de este comando (conocida como comando traceroute extendido ) puede cambiar el número de puerto de destino utilizado por los mensajes de la sonda UDP. [13]

Uso

Las direcciones de los enrutadores se pueden superponer a mapas de sus ubicaciones físicas. Este ejemplo muestra una solicitud desde Nueva Zelanda a una dirección IP en Massachusetts que toma una ruta que pasa por Europa .

La mayoría de las implementaciones incluyen al menos opciones para especificar la cantidad de consultas a enviar por salto, el tiempo de espera de una respuesta, el límite de saltos y el puerto a usar. Al invocar traceroute sin opciones especificadas se muestra la lista de opciones disponibles, mientras que man traceroute presenta más detalles, incluidos los indicadores de error mostrados. Un ejemplo en Linux:

$ traceroute  -w 3 -q 1 -m 16 ejemplo.com traceroute a ejemplo.com (93.184.216.34), 16 saltos máximo, paquetes de 52 bytes 1 192.xxx (192.xxx) 5.152 ms 2 10.xxx (10. xxx) 12.767 ms 3 172.xxx (172.xxx) 11.638 ms 4 172.xxx (172.xxx) 13.193 ms 5 xxx.xxxcox.net (68.xxx) 20.624 ms 6 xxx.xxx.xxx.edgecastcdn.net ( 192.xxx) 56.205 ms 7 xxx.xxx.xxx.edgecastcdn.net (192.xxx) 24.573 ms 8 * 9 * 10 93.xxx (93.xxx) 22.810 ms 11 93.xxx (93.xxx) 20.235 ms      

En el ejemplo anterior, las opciones seleccionadas son esperar tres segundos (en lugar de cinco), enviar solo una consulta a cada salto (en lugar de tres), limitar el número máximo de saltos a 16 antes de darse por vencido (en lugar de 30), con example.com como host final. En las líneas 8 y 9 (TTL 8 y 9) muestra asteriscos donde el enrutador no respondió dentro del tiempo de espera.

Traceroute se puede utilizar para ayudar a identificar definiciones incorrectas de tablas de enrutamiento o firewalls que pueden estar bloqueando el tráfico ICMP, o el ping UDP de puerto alto en Unix, a un sitio. [ aclarar ] Una respuesta de traceroute correcta no garantiza la conectividad de las aplicaciones, ya que un firewall puede permitir paquetes ICMP pero no permitir paquetes de otros protocolos.

Los probadores de penetración también utilizan Traceroute para recopilar información sobre la infraestructura de red y los rangos de direcciones IP alrededor de un host determinado.

También se puede utilizar al descargar datos, y si hay varios espejos disponibles para el mismo dato, se puede rastrear cada espejo para tener una idea de cuál sería el más rápido de usar.

Orígenes

La página del manual de traceroute indica que el programa traceroute original fue escrito por Van Jacobson en 1987 a partir de una sugerencia de Steve Deering , y que Guy Almes y Matt Mathis también tuvieron la idea al mismo tiempo que Deering. [14] El autor del programa ping , Mike Muuss , afirma en su sitio web que traceroute fue escrito utilizando el soporte ICMP del kernel que había codificado anteriormente para habilitar sockets ICMP sin formato cuando escribió el programa ping por primera vez. [15]

Limitaciones

Las limitaciones de Traceroute [16] son ​​bien conocidas y deben tenerse en cuenta al utilizar la herramienta. Por ejemplo, traceroute no descubre rutas a nivel de enrutador, sino a nivel de interfaz. Otra limitación aparece cuando los enrutadores no responden a las sondas o cuando los enrutadores tienen un límite para las respuestas ICMP. [17] En presencia de equilibrio de carga de tráfico , traceroute puede indicar una ruta que en realidad no existe; Para minimizar este problema existe una modificación de traceroute llamada Paris-traceroute, [18] que mantiene el identificador de flujo de las sondas para evitar el equilibrio de carga.

Ver también

Referencias

  1. ^ "Traceroute6(8) - página de manual de Linux".
  2. ^ "Tracert6(8): herramienta de rastreo de IPv6 - página de manual de Linux".
  3. ^ Rossingol, Joe (23 de junio de 2020). "Utilidad de red obsoleta en macOS Big Sur". MacRumors .
  4. ^ tracert.cpp en GitHub
  5. ^ traceroute(8)  –  Manual del programador de Linux – Administración y comandos privilegiados
  6. ^ traceroute(8)  -  Manual del administrador del sistema FreeBSD
  7. ^ traceroute(8)  -  Manual del administrador del sistema NetBSD
  8. ^ traceroute(8)  -  Manual del administrador del sistema OpenBSD
  9. ^ traceroute(8)  -  Manual de comandos de operación y mantenimiento del sistema DragonFly BSD
  10. ^ abc Comer, Douglas (2004). Red informática e Internet con aplicaciones de Internet . Pearson Education, Inc. págs. 360–362. ISBN 978-0131433519.
  11. ^ "Tracert". Documentos de Microsoft . 3 de febrero de 2023 . Consultado el 29 de julio de 2023 .
  12. ^ "tracepath(8) - página de manual de Linux". linux.die.net . Consultado el 21 de junio de 2015 .
  13. ^ "Comprensión de los comandos Ping y Traceroute". Versión principal del software Cisco IOS 12.1 . cisco.com. 29 de noviembre de 2006 . Consultado el 8 de diciembre de 2013 .
  14. ^ "código fuente de traceroute6.c". 2022-10-04 . Consultado el 17 de septiembre de 2023 .
  15. ^ "La historia del programa PING".
  16. ^ Ray Belleville (3 de marzo de 2017). "Explicación de las limitaciones de Traceroute".
  17. ^ Marchetta, P.; Montieri, A.; Pérsico, V.; Pescapé, A.; Cunha, Í; Katz-Bassett, E. (junio de 2016). Cómo y en qué medida traceroute confunde nuestra comprensión de las rutas de red . Simposio internacional IEEE 2016 sobre redes de área local y metropolitana (LANMAN). págs. 1–7. doi : 10.1109/lanman.2016.7548847. ISBN 978-1-4673-9882-4. S2CID  4643833.
  18. ^ "Trazaruta de París". paris-traceroute.net . Consultado el 10 de junio de 2017 .

Otras lecturas

enlaces externos