Traceroute no refleja el path correcto de los datos
Clase de CCNA 1: 28 de mayo del
2023
Escenario
Este lab refleja el comportamiento de un
traceroute (tracert en Windows) desde un host a otro y que no nos muestra
fielmente el camino
que toma el tráfico, lo cual puede conducir a
diagnósticos erróneos.
Inicialmente tenemos una topología que funciona,
pero que está configurada de una manera particular, y sólo falla en este tipo
de casos,
lo que sirve para entender nuestra percepción en
las clases de CCNA 1 (aunque aplica a otras clases también) de como fluye el
tráfico
en redes multipath y las variables involucradas.
Este escenario se realizó en Packet Tracer, pero
el comportamiento es casi fiel a los equipos reales.
1.- Verificación inicial de
conectividad desde la PC al server:
Podemos observar que la conectividad existe tanto
en un ping (ICMP) como en tráfico web (TCP).
C:\>ping 192.168.1.10
Pinging 192.168.1.10 with 32 bytes of data:
Reply from 192.168.1.10: bytes=32 time<1ms
TTL=125 (vemos que el
origen de la respuesta se encuentra a 3 routers de distancia (128-3))
Reply from 192.168.1.10: bytes=32 time<1ms TTL=125
Reply from 192.168.1.10: bytes=32 time<1ms TTL=125
Reply from 192.168.1.10: bytes=32 time<1ms TTL=125
3.- Realizamos un trace
desde la PC al server:
C:\>tracert 192.168.1.10
Tracing route to 192.168.1.10 over a maximum of 30 hops:
1 0 ms
0 ms 0 ms 192.168.2.1 (correcto,
es el default Gateway de la PC)
2 0 ms
0 ms 0 ms 10.0.0.5 (normalmente debería ser 10.0.0.2)
3 0 ms
0 ms 0 ms 10.0.0.10 (normalmente debería ser 10.0.0.6)
4 0 ms
0 ms 0 ms 192.168.1.10 (correcto, es el host final)
Trace complete.
4.- Análisis del trace:
Este sería el trace esperado: 192.168.2.1 –
10.0.0.2 – 10.0.0.6 – 192.168.1.10
Pero esto es lo que tenemos:
4.1.a- Primer salto
(esperado):
4.1.b.- Primer salto (real):
En este caso no hay diferencias, es el primer
salto y no hay otra alternativa.
4.2.a.- Segundo salto
(esperado):
4.2.b.- Segundo salto
(real):
El Router2, al “matar” el paquete por recibirlo
con TTL 1 (ejecutaría un TTL 1-1), envía el mensaje de tiempo expirado en
tránsito,
pero no desde la IP 10.0.0.2 que es la interface
más cercana a Router1, sino que lo envía desde 10.0.0.5, que es la interface en
el mismo segmento que el próximo salto en su ruta
por defecto vía Router4.
4.3.a.- Tercer salto
(esperado):
4.3.b.- Tercer salto (real):
El Router4, al “matar” el paquete por recibirlo
con TTL 1 (ejecutaría un TTL 1-1), envía el mensaje de tiempo expirado en
tránsito,
pero no desde la IP 10.0.0.6 que es la interface
más cercana a Router2, sino que lo envía desde 10.0.0.10, que es la interface
en
el mismo segmento que el próximo salto en su ruta
por defecto vía Router3.
4.4.a.- Cuarto salto
(esperado):
4.4.b.- Cuarto salto (real):
En este caso, quien “mata” el paquete con TTL 1
es el host destino, por lo que el mensaje ICMP de tiempo expirado en tránsito
se envía indistinta y transparentemente por un
camino u otro sin percibirlo en el trace.
5.- Análisis de las rutas en
cada router:
5.1.- Router1:
Router1#sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP
external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type
1, N2 - OSPF NSSA external type 2
E1 - OSPF external type
1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS
level-2, ia - IS-IS inter area
* - candidate default, U -
per-user static route, o - ODR
P - periodic downloaded
static route
Gateway of last resort is 10.0.0.2 to network 0.0.0.0
10.0.0.0/30 is subnetted, 2
subnets
C 10.0.0.0 is directly
connected, GigabitEthernet1/0
C 10.0.0.12 is directly
connected, GigabitEthernet2/0
C 192.168.2.0/24 is directly
connected, GigabitEthernet0/0
S* 0.0.0.0/0 [1/0] via 10.0.0.2 (via Router2)
Router1#
5.2.- Router2:
Router2#sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP
external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type
1, N2 - OSPF NSSA external type 2
E1 - OSPF external type
1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS
level-2, ia - IS-IS inter area
* - candidate default, U -
per-user static route, o - ODR
P - periodic downloaded
static route
Gateway of last resort is 10.0.0.6 to network 0.0.0.0
10.0.0.0/30 is subnetted, 2
subnets
C 10.0.0.0 is directly
connected, GigabitEthernet1/0
C 10.0.0.4 is directly
connected, GigabitEthernet2/0
S* 0.0.0.0/0 [1/0] via 10.0.0.6 (via Router4)
Router2#
5.3.- Router3:
Router3#sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP
external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type
1, N2 - OSPF NSSA external type 2
E1 - OSPF external type
1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS
level-2, ia - IS-IS inter area
* - candidate default, U -
per-user static route, o - ODR
P - periodic downloaded
static route
Gateway of last resort is 10.0.0.14 to network 0.0.0.0
10.0.0.0/30 is subnetted, 2
subnets
C 10.0.0.8 is directly
connected, GigabitEthernet1/0
C 10.0.0.12 is directly
connected, GigabitEthernet2/0
S* 0.0.0.0/0 [1/0] via 10.0.0.14 (via Router1)
Router3#
5.4.- Router4:
Router4#sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP
external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type
1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external
type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS
level-2, ia - IS-IS inter area
* - candidate default, U -
per-user static route, o - ODR
P - periodic downloaded
static route
Gateway of last resort is 10.0.0.9 to network 0.0.0.0
10.0.0.0/30 is subnetted, 2
subnets
C 10.0.0.4 is directly
connected, GigabitEthernet2/0
C 10.0.0.8 is directly
connected, GigabitEthernet1/0
C 192.168.1.0/24 is directly
connected, GigabitEthernet0/0
S* 0.0.0.0/0 [1/0] via 10.0.0.9 (via Router3)
Router4#
6.- “Arreglando” el trace:
6.1.- Router1:
En este router no debemos cambiar nada a menos
que quisiéramos que el tráfico vaya “por arriba” via el Router3.
6.2.- Router2:
6.2.1.- Configuramos:
Router2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)#no ip route
0.0.0.0 0.0.0.0 10.0.0.6
Router2(config)#ip route
192.168.1.0 255.255.255.0 10.0.0.6 (via Router4)
Router2(config)#ip route
192.168.2.0 255.255.255.0 10.0.0.1 (via Router3)
Router2(config)#end
Router2#
6.2.2.- Verificamos:
Router2#sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external,
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type
1, N2 - OSPF NSSA external type 2
E1 - OSPF external type
1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS
level-2, ia - IS-IS inter area
* - candidate default, U -
per-user static route, o - ODR
P - periodic downloaded
static route
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 2
subnets
C 10.0.0.0 is directly
connected, GigabitEthernet1/0
C 10.0.0.4 is directly
connected, GigabitEthernet2/0
S 192.168.1.0/24 [1/0] via
10.0.0.6
S 192.168.2.0/24 [1/0] via
10.0.0.1
Router2#
6.3.- Router3:
Este router no es necesario cambiar nada si
queremos que el trace sólo vaya “por abajo”, pero normalizamos
las rutas en caso de querer ir “por arriba”
cambiando rutas en los routers 1 y 4.
6.3.1.- Configuramos:
Router3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router3(config)#no ip route
0.0.0.0 0.0.0.0 10.0.0.14
Router3(config)#ip route
192.168.1.0 255.255.255.0 10.0.0.10 (via Router4)
Router3(config)#ip route
192.168.2.0 255.255.255.0 10.0.0.14 (via Router1)
Router3(config)#end
Router3#
6.3.2.- Verificamos:
Router3#sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP
external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type
1, N2 - OSPF NSSA external type 2
E1 - OSPF external type
1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS
level-2, ia - IS-IS inter area
* - candidate default, U -
per-user static route, o - ODR
P - periodic downloaded
static route
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 2
subnets
C 10.0.0.8 is directly
connected, GigabitEthernet1/0
C 10.0.0.12 is directly
connected, GigabitEthernet2/0
S 192.168.1.0/24 [1/0] via
10.0.0.10
S 192.168.2.0/24 [1/0] via
10.0.0.14
Router3#
6.4.- Router4:
En este caso dejamos configurado para que el
tráfico sólo vaya “por abajo”.
6.4.1.- Configuramos:
Router4#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router4(config)#ip route
192.168.2.0 255.255.255.0 10.0.0.5 (via Router2)
Router4(config)#end
Router4#
6.4.2.- Verificamos:
Router4#sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP
external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type
1, N2 - OSPF NSSA external type 2
E1 - OSPF external type
1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS
level-2, ia - IS-IS inter area
* - candidate default, U -
per-user static route, o - ODR
P - periodic downloaded
static route
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 2
subnets
C 10.0.0.4 is directly
connected, GigabitEthernet2/0
C 10.0.0.8 is directly connected,
GigabitEthernet1/0
C 192.168.1.0/24 is directly
connected, GigabitEthernet0/0
S 192.168.2.0/24 [1/0] via 10.0.0.5
Router4#
7.- Verificamos con el
trace:
C:\>tracert 192.168.1.10
Tracing route to 192.168.1.10 over a maximum of 30 hops:
1 0 ms
0 ms 0 ms 192.168.2.1 (correcto
es el gateway de la red 2)
2 5 ms
0 ms 0 ms 10.0.0.2 (correcto, es el Router2 desde la interface más cercana a Router1, como en
el punto 4.2.a.)
3 0 ms
6 ms 0 ms 10.0.0.6 (correcto, es el Router4 desde la interface más cercana a Router2, como en
el punto 4.3.a.)
4 0 ms
0 ms 0 ms 192.168.1.10 (correcto, es el host destino)
Trace complete.
8.- Resumen:
En ambientes multipath en ocasiones debemos ser
cautelosos con el resultado de un trace si no tenemos en mente la topología
general con su direccionamiento IP, lo que nos
puede llevar a un diagnóstico erróneo del problema.
(2023) Your route is my
route…
Rosario, Argentina