EIGRP Stub

eigrp

Como muchos mencionan, EIGRP es un protocolo de convergencia rápida, y una de las características que posee, lo comprueba.

Esta característica es conocida como Stub, la cual no solo permite una convergencia veloz si no que, también la conservación de recursos.

Por defecto, EIGRP Stub solo anuncia las redes directamente conectadas y las redes sumarizadas, por lo mismo, los demás routers no envían queries cuando una ruta queda en modo activa. Pero, ¿cómo los demás routers saben que este dispositivo está trabajando con EIGRP Stub?

Los routers que trabajan en Stub, envían un campo con este feature activado en los mensajes hello (como se muestra en la siguiente imagen).

eigrp01

Como se puede observar, en el hello enviado desde un router stub, se especifica lo que se enseñará desde dicho router, lo que puede ser:

  • Redes directamente conectadas
  • Rutas estáticas
  • Rutas sumarizadas
  • Prefijos dinámicos basados en Leak-Map
  • Solo recibir rutas del vecino

NOTA: al momento de hacer capturas de diversos mensajes hellos, con distintas variaciones de la configuración de EIGRP Stub, los valores configurados con los aparecidos en las capturas no coincidían, la captura anterior corresponde a un mensaje con los parámetros por defecto (connected y summary).

Para las pruebas de laboratorio, usé la siguiente topología:

eigrp02

La configuración de cada router:

R1:

R1#sh run int f0/0
Building configuration...

Current configuration : 85 bytes
!
interface FastEthernet0/0
 ip address 192.168.12.1 255.255.255.0
 duplex full
end

R1#sh run int f1/0
Building configuration...

Current configuration : 85 bytes
!
interface FastEthernet1/0
 ip address 192.168.13.1 255.255.255.0
 duplex full
end

R1#sh run | sec eigrp 123
router eigrp 123
 network 192.168.12.1 0.0.0.0
 network 192.168.13.1 0.0.0.0
R1#

R2:

R2#sh run int f0/0
Building configuration...

Current configuration : 85 bytes
!
interface FastEthernet0/0
 ip address 192.168.12.2 255.255.255.0
 duplex full
end

R2#sh run int lo0 
Building configuration...

Current configuration : 61 bytes
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.0
 ip ospf 1 area 0
end

R2#sh run | sec eigrp 123
router eigrp 123
 network 192.168.12.2 0.0.0.0
 redistribute ospf 1 metric 8000000 500 255 1 1500
R2#

R3:

R3#sh run int f0/0
Building configuration...

Current configuration : 85 bytes
!
interface FastEthernet0/0
 ip address 192.168.13.3 255.255.255.0
 duplex full
end

R3#sh run | sec eigrp 123
router eigrp 123
 network 192.168.13.3 0.0.0.0
R3#

La configuración de Stub es muy sencilla, la cual se realiza a nivel de configuración de router.

Para este post, se configurará con sus parámetros por defecto, y luego para que permita las redistribuciones.

R2(config)#router eigrp 123
R2(config-router)#eigrp stub
R2(config-router)#
*Jan 31 12:22:35.491: %DUAL-5-NBRCHANGE: EIGRP-IPv4 123: Neighbor 192.168.12.1 (FastEthernet0/0) is down: peer info changed
R2(config-router)#
*Jan 31 12:22:36.719: %DUAL-5-NBRCHANGE: EIGRP-IPv4 123: Neighbor 192.168.12.1 (FastEthernet0/0) is up: new adjacency
R2(config-router)#

Como se puede observar, al momento de configurar EIGRP Stub, la adyacencia se reinicia.

Realizamos la validación de lo configurado, pero por parte del vecino EIGRP:

R1#show ip eigrp neighbors detail 
EIGRP-IPv4 Neighbors for AS(123)
H   Address                 Interface              Hold Uptime   SRTT   RTO  Q  Seq
                                                   (sec)         (ms)       Cnt Num
0   192.168.12.2            Fa0/0                    11 00:02:38   31   186  0  4
   Version 10.0/2.0, Retrans: 0, Retries: 0
   Topology-ids from peer - 0 
   Stub Peer Advertising (CONNECTED SUMMARY ) Routes
   Suppressing queries
1   192.168.13.3            Fa1/0                    13 00:11:17   32   192  0  3
   Version 10.0/2.0, Retrans: 1, Retries: 0
   Topology-ids from peer - 0 
R1#sh ip route eigrp              
Codes: L - local, C - connected, S - static, 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
       i - IS-IS, su - IS-IS summary, 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, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is not set

R1#

Como se puede ver, en lo indicado por R1, R2 es un peer stub, el cual solo está enseñando lo conectado y las redes sumarizadas, y por lo mismo, no se ve la red redistribuida desde OSPF.

Con respecto a la captura en wireshark de un mensaje hello, podemos ver que aparecen activos los bits de connected, summary y redistributed:

eigrp03

Ahora, al momento de configurar para permitir la redistribución, veremos que R1 aprenderá la loopback configurada en OSPF de R2:

-------- # R2 # --------

R2(config)#router eigrp 123
R2(config-router)#eigrp stub ?
  connected      Do advertise connected routes
  leak-map       Allow dynamic prefixes based on the leak-map
  receive-only   Set receive only neighbor
  redistributed  Do advertise redistributed routes
  static         Do advertise static routes
  summary        Do advertise summary routes
  

R2(config-router)#eigrp stub connected summary redistributed 
R2(config-router)#
*Jan 31 12:34:47.515: %DUAL-5-NBRCHANGE: EIGRP-IPv4 123: Neighbor 192.168.12.1 (FastEthernet0/0) is down: peer info changed
R2(config-router)#
*Jan 31 12:34:51.595: %DUAL-5-NBRCHANGE: EIGRP-IPv4 123: Neighbor 192.168.12.1 (FastEthernet0/0) is up: new adjacency
R2(config-router)#

-------- # R1 # --------

R1#sh ip route eigrp
Codes: L - local, C - connected, S - static, 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
       i - IS-IS, su - IS-IS summary, 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, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is not set

      2.0.0.0/24 is subnetted, 1 subnets
D EX     2.2.2.0 [170/156160] via 192.168.12.2, 00:04:28, FastEthernet0/0
R1#show ip eigr neighbors detail 
EIGRP-IPv4 Neighbors for AS(123)
H   Address                 Interface              Hold Uptime   SRTT   RTO  Q  Seq
                                                   (sec)         (ms)       Cnt Num
0   192.168.12.2            Fa0/0                    10 00:20:08   38   228  0  9
   Version 10.0/2.0, Retrans: 1, Retries: 0, Prefixes: 1
   Topology-ids from peer - 0 
   Stub Peer Advertising (CONNECTED SUMMARY REDISTRIBUTED ) Routes
   Suppressing queries
1   192.168.13.3            Fa1/0                    11 00:41:01   43   258  0  4
   Version 10.0/2.0, Retrans: 1, Retries: 0
   Topology-ids from peer - 0 
R1#

Y con respecto a la captura, podemos ver que los bits configurados en el Stub Options no coinciden:

eigrp04

Una cosa para tener en cuenta es que, si se están redistribuyendo redes directamente conectadas, EIGRP toma eso como connected y no como redistributed, por lo tanto, los vecinos EIGRP aprenderán estas redes con la configuración por defecto (eso sí, las aprenden como rutas externas D Ex).