27 puntos por GN⁺ 2025-11-09 | Aún no hay comentarios. | Compartir por WhatsApp
  • Página interactiva que visualiza en tiempo real la ruta que siguen los paquetes del usuario hasta llegar al servidor del sitio web a través de Internet
  • Su programa ktr de traceroute desarrollado por cuenta propia usa el valor TTL de los paquetes ICMP para recopilar información de cada salto de red
  • El sitio web funciona incluso sin JavaScript, y el servidor refleja los resultados de traceroute en HTML en formato de transmisión
  • Para analizar la ruta, usa datos de WHOIS y PeeringDB para mostrar el sistema autónomo (AS) y la información de la empresa a la que pertenece cada IP
  • Al combinar traceroute con la estructura de Internet basada en BGP, muestra que Internet es un conjunto de redes formadas por relaciones de peering entre empresas

El viaje que recorrió tu paquete

  • El traceroute en la parte superior de la página muestra la ruta de movimiento de los paquetes desde la computadora del usuario hasta el servidor
    • Pasa secuencialmente por redes como routers, ISP, Amazon, NTT Global IP Network y Hetzner
    • Algunos tramos aparecen como “(no response)”, lo que se debe a servidores que no responden
  • Dentro de la red de Hetzner, pasa por varios routers antes de llegar al servidor final
  • La dirección IP 213.239.252.10 aparece como core0.fra.hetzner.com mediante una consulta DNS inversa

Detrás de escena

  • Cuando el sitio web recibe la solicitud del usuario, ejecuta traceroute en el servidor y transmite el resultado en tiempo real
  • traceroute usa el protocolo ICMP y recopila la respuesta de cada salto incrementando el valor TTL (Time To Live) de uno en uno
  • Cuando el TTL llega a 0, el router correspondiente devuelve un mensaje de error, lo que permite rastrear la ruta recorrida por el paquete
  • ktr transmite los resultados de traceroute y, al mismo tiempo, consulta la información de IP, ASN y red propietaria de cada salto

Diversión en el frontend

  • Funciona incluso sin JavaScript, y el navegador simplemente lo percibe como una página que carga lentamente
  • El servidor mantiene la conexión HTTP abierta e inserta secuencialmente los resultados de traceroute en el HTML
  • En cada actualización, implementa el efecto de actualización en tiempo real insertando bloques CSS para ocultar los resultados anteriores

Del front al back, del back al front

  • En realidad, se ejecuta traceroute desde el servidor hacia la IP del usuario y el resultado se muestra en orden inverso
  • Esto es un “reverse traceroute”; aunque la ruta en ambos sentidos no es exactamente igual, por lo general muestra una ruta similar

Redes y sistemas autónomos (AS)

  • Internet es una red de redes empresariales llamadas sistemas autónomos (Autonomous System, AS)
  • Cada AS tiene un ASN (Autonomous System Number) único e intercambia tráfico mediante peering con otros
  • Internet no es de individuos, sino un conjunto de redes propiedad de empresas, y las conexiones se determinan mediante contratos económicos y procedimientos administrativos
  • Se puede solicitar un ASN a través de uno de los cinco registros regionales de Internet (RIR)

WHOIS y PeeringDB

  • Para encontrar el AS al que pertenece cada IP del traceroute, usa el protocolo WHOIS y la base de datos PeeringDB
  • WHOIS tiene una estructura simple: tras establecer una conexión TCP y enviar una consulta, el servidor devuelve la información
  • Como los nombres de los campos y los formatos varían según el servidor, el parser se implementó como una especie de simulador simple, cercano a la forma en que lee una persona
  • PeeringDB proporciona información empresarial sobre aproximadamente un tercio de todos los AS

BGP (Border Gateway Protocol)

  • BGP es el protocolo clave que determina la forma de Internet, ya que intercambia información de rutas entre AS
  • Los border routers mantienen una tabla de enrutamiento BGP y almacenan la lista de ASN de cada ruta
  • Cuando dos AS hacen peering, sus routers establecen una sesión BGP e intercambian anuncios de ruta (route advertisements)
  • Entre varias rutas, el router elige la más corta o la de mayor preferencia para reenviar los paquetes

Historia de BGP

  • Los experimentos de red que comenzaron en ARPANET en 1969 llevaron en 1989 al RFC 1105 de Cisco e IBM, con la aparición de BGP v1
  • Después se publicaron BGP v2 (1990) y v4 (1994), y v4 sigue en uso hasta hoy
  • BGP se consolidó como el protocolo estándar que determina las rutas de conexión entre todas las redes de Internet

Relación entre traceroute y BGP

  • Ruta de ejemplo: AS16509 → AS2914 → AS24940
    • Amazon (AS16509) → NTT Global IP Network (AS2914) → Hetzner (AS24940)
  • Incluso dentro del mismo ASN puede haber varios saltos, que se manejan mediante protocolos de enrutamiento internos o rutas fijas
  • Las relaciones de peering entre AS determinan la alcanzabilidad real en Internet

Resumen

  • El sitio web ejecuta traceroute hacia la IP del usuario y transmite el resultado como un flujo HTTP
  • traceroute usa el TTL de los paquetes ICMP para visualizar la ruta entre routers
  • Cada router pertenece a un sistema autónomo (AS) y está interconectado mediante BGP
  • Las relaciones de peering determinan la alcanzabilidad y la estructura de Internet

Epílogo

  • El autor sintió que le faltaba comprensión sobre la estructura de Internet y creó un artículo interactivo con enfoque educativo centrado en protocolos
  • En vez de esperar un gran proyecto perfectamente pulido, eligió publicar algo pequeño pero terminado
  • Se completó gracias al apoyo de la comunidad de Hack Club y aprovecha un programa traceroute de código abierto
  • Con el mensaje de que “aunque sea pequeño, es mejor que esté terminado”, espera que permanezca como contenido web sostenible

Aún no hay comentarios.

Aún no hay comentarios.