12 sept 2010

CCNP ROUTER 2: EIGRP - Ancho de banda WAN

EIGRP hace uso de ancho de banda para trasmitir las actualizaciones a sus vecinos, por defecto utiliza el 50% del ancho de banda de la interfaz para los mensajes entre vecinos, el ancho de banda que toma como referencia es el anunciado por la interfaz o el que se configure con el comando Bandwidth.

El comando bandwidth no configura el ancho de banda de una interfaz solo es informacion de referencia para diferentes procesos en el router. el Bw se da en Kbps.

Router(config-if)bandwidth 512

Bandwidth se configura en interfaces y sub-interfaces, con el comando bandwidth inherit todas las subinterfaces heredan el ancho de banda de la interfaz principal.

Uno de los usos mas altos del ancho de banda en EIGRP  son las actualizaciones (update) y los Query. para impedir que EIGRP desmejore el enlace cuando tenemos poco ancho de banda se debe configurar siempre el bandwidth y encaso de enlaces  menores  y de varios vecinos se debe limitar el ancho de banda con el comando  ip bandwidth-percent eigrp [AS] [% que utilizara EIGRP]

R1(config)#inter f0/0
R1(config-if)#bandwidth 256                    
R1(config-if)#ip bandwidth-percent eigrp 10 25
R1(config-if)#


En este ejemplo la interfaz F0/0 tiene un ancho de banda de 256Kbps y se limita el ancho de banda utilizado por EIGRP a 64Kbps ( 25% de 256).


Laboratorio de prueba del consumo de ancho de banda ( para referencia)

Escenario
Utilizaremos 2 router cisco 1751  con 10 redes cada uno y 5 rutas redistribuidas. El monitoreo se realiza por snmp , protocolo EIGRP con AS 10


Configuración de R1 , la configuración de R2 es similar pero con redes diferentes.
interface Loopback1
 ip address 172.1.0.1 255.255.255.255
!
interface Loopback2
 ip address 172.2.0.1 255.255.255.255
!
interface Loopback3
 ip address 172.3.0.1 255.255.255.255
!
interface Loopback4
 ip address 172.4.0.1 255.255.255.255
!
interface Loopback5
 ip address 172.5.0.1 255.255.255.255
!
interface Loopback6
 ip address 172.6.0.1 255.255.255.255
!
interface Loopback7
 ip address 172.7.0.1 255.255.255.255
!
interface Loopback8
 ip address 172.8.0.1 255.255.255.255
!
interface Loopback9
 ip address 172.9.0.1 255.255.255.255
!
interface Loopback10
 ip address 172.10.0.1 255.255.255.255
!
interface FastEthernet0/0
 description PRUEBA_CACTI
 ip address 172.100.0.1 255.255.255.252
 speed auto
!
router eigrp 10
 redistribute static
 network 172.0.0.0 0.255.255.255
 no auto-summary
!
ip classless
ip route 10.10.0.0 255.255.255.0 Null0
ip route 10.10.1.0 255.255.255.0 Null0
ip route 10.10.2.0 255.255.255.0 Null0
ip route 10.10.3.0 255.255.255.0 Null0
ip route 10.10.4.0 255.255.255.0 Null0
ip route 10.10.5.0 255.255.255.0 Null0

Para forzar la trafico EIGRP utilizamos el comando Clear ip eigrp obligando a que todo el proceso comienza nuevamente desde el descubrimiento de vecino hasta la propagación de rutas.
R2#clear ip eigrp 10 neighbors

Gráfica del consumo del ancho de banda

El consumo promedio es de 0.6Kbps  que se debe al mantenimiento de vecinos con picos de 4Kbps,  pero tenemos un pico máximo debido al descubrimiento de un vecinos el aprendizaje de la tabla topologica  de 12Kbps.

por las interfaces con EIGRP se mantiene un flujo de datos para mantener el protocolo. esto lo observamos en un debug con el comando  debug eigrp packets verbose



Conclusión
El consumo de ancho de banda de EIGRP en relación a los anchos de banda utilizados hoy en día es mínimo, de todas maneras se recomiendo siempre configurar el bandwidth en las interfaces que intervienen en EIGRP sobretodo en las de poco ancho de banda.


Seudotag
Bw en EIGRP, ancho de banda EIGRP , ajustar ancho de banda en EIGRP, bandwidth en EIGRP

10 sept 2010

CCPN ROUTER 2: EIGRP - Balanceo de Carga EIGRP

EIGRP permite el balanceo de carga en enlaces con igual y diferente costo.
EIGRP automáticamente realiza balanceo de carga a enlaces de cargas iguales, para enlace de cargas desiguales se utiliza el comando variance [multiplicador]

Escenario de Pruebas
Nube conformada por dos Router los cuales se conectan por 3 enlaces 2 enlaces seriales de 1024Kbps y un enlace Ethernet a 768 Kbps.


Configuración de balanceo de carga en enlaces con igual costo EIGRP
Se configura los anchos de bandas enunciados con el comando Bandwidth. El proceso de EIGRP escoje la mejor ruta de acuerdo a la métrica, en nuestro caso los dos enlace Seriales  tienen la misma métrica [90/3139840]  debido a su común ( Delay, bandwidth).

Configuracion R1
Configuracion R2
interface Loopback10
 ip address 192.168.10.1 255.255.255.252
!
interface FastEthernet0/0
 bandwidth 768
 ip address 192.168.1.1 255.255.255.252
 speed auto
!
interface Serial0/0
 bandwidth 1024
 ip address 192.168.2.1 255.255.255.252
!
interface Serial0/1
 bandwidth 1024
 ip address 192.168.3.1 255.255.255.252
!
router eigrp 10
 network 192.168.1.0 0.0.0.3
 network 192.168.2.0 0.0.0.3
 network 192.168.3.0 0.0.0.3
 network 192.168.10.0 0.0.0.3
 auto-summary
!
interface Loopback20
 ip address 192.168.20.1 255.255.255.252
!
interface FastEthernet0/0
 bandwidth 768
 ip address 192.168.1.2 255.255.255.252
 speed auto
!
interface Serial0/0
 bandwidth 1024
 ip address 192.168.2.2 255.255.255.252
!
interface Serial0/1
 bandwidth 1024
 ip address 192.168.3.2 255.255.255.252
!
router eigrp 10
 network 192.168.1.0 0.0.0.3
 network 192.168.2.0 0.0.0.3
 network 192.168.3.0 0.0.0.3
 network 192.168.20.0 0.0.0.3
 auto-summary
!

Tabla de enrrutamiento.

Show ip router eigrp
     192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
D       192.168.10.0/24 is a summary, 00:55:38, Null0
D    192.168.20.0/24 [90/3139840] via 192.168.3.2, 00:55:38, Serial0/1
                     [90/3139840] via 192.168.2.2, 00:55:38, Serial0/0

     192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
D       192.168.1.0/24 is a summary, 00:55:41, Null0
     192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
D       192.168.2.0/24 is a summary, 00:55:38, Null0
     192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
D       192.168.3.0/24 is a summary, 00:55:38, Null0
R1#

Revisando la topologia podemos ver los diferentes enlaces.

show ip eigrp topology
IP-EIGRP Topology Table for AS(10)/ID(192.168.20.1)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status

P 192.168.10.0/24, 2 successors, FD is 3139840
        via 192.168.3.1 (3139840/128256), Serial0/1
        via 192.168.2.1 (3139840/128256), Serial0/0
        via 192.168.1.1 (3463680/128256), FastEthernet0/0
P 192.168.1.0/24, 1 successors, FD is 28160
        via Summary (5002496/0), Null0
P 192.168.1.0/30, 1 successors, FD is 5002496
        via Connected, FastEthernet0/0
P 192.168.2.0/24, 1 successors, FD is 2169856
        via Summary (3011840/0), Null0
P 192.168.2.0/30, 1 successors, FD is 3011840
        via Connected, Serial0/0
P 192.168.3.0/30, 1 successors, FD is 3011840
        via Connected, Serial0/1
P 192.168.3.0/24, 1 successors, FD is 2169856
        via Summary (3011840/0), Null0
P 192.168.20.0/24, 1 successors, FD is 128256
        via Summary (128256/0), Null0
P 192.168.20.0/30, 1 successors, FD is 128256
        via Connected, Loopback20


Podemos observar  que  se escoje el FS  en este caso 3 sucesores de acuerdo a la menor FD.

Configuración de balanceo de carga en enlaces con desigual costo EIGRP
EIGRP  permite balancear carga en enlaces de diferentes costo, esto es posible gracias al comando Variance [multiplicador]. La variance es un numero que multiplicado por el Costo menor iguala o supera al costo mayor del grupo de enlaces a balancear.

En este laboratorio tenemos dos enlaces de 1024kbps y un enlace de 512kbps.
router eigrp 10
variance 2


El comando traffic-share balanced  permite que el router balance equitativamente las cargas dependiendo del costo en EIGRP, permitiendo enviar mas paquetes por el enlace de menor costo.

router eigrp 10
variance 2
traffic-share balanced


CEF (Cisco Express Forwarding) en el Balanceo de Carga
Esta caracteristica de cisco permite un a conmutación avanzada y rápida en equipos L3. Trabaja con Network Based Application Recognition (NBAR), permitiendo definir el próximo sato (next-hop) del flujo  analizando solo el primer paquete IP.

CEF crea una nueva tabla de ruteo rapido FIB(Forwarding information base) que se utiliza para conmutar el flujo de datos luego de decidir por ruteo el próximo salto con el primer paquete.

Balanceo de Carga
Es la habilidad del router de enviar paquetes pro diferentes enlaces. el router puede escojer el enlace de salida dependiendo del destino o por paquete.

Balanceo de carga por destino: Cuando el router enviá paquetes a un mismo destino el router siempre por la misma interfaz de salida.
R2#sh ip cef 192.168.10.1
192.168.10.0/24, version 17, epoch 0, per-destination sharing
0 packets, 0 bytes
  via 192.168.3.1, Serial0/1, 0 dependencies
    traffic share 1
    next hop 192.168.3.1, Serial0/1
    valid adjacency
  via 192.168.2.1, Serial0/0, 0 dependencies
    traffic share 1
    next hop 192.168.2.1, Serial0/0
    valid adjacency
  0 packets, 0 bytes switched through the prefix
  tmstats: external 0 packets, 0 bytes
           internal 0 packets, 0 bytes
R2#


Balanceo de carga por paquete
:  El router decide con cada paquete por que interfaz salir. Alterna los enlaces de salida.
R1#sh ip cef 192.168.20.1
192.168.20.0/24, version 19, epoch 0, per-packet sharing
0 packets, 0 bytes
  via 192.168.3.2, Serial0/1, 0 dependencies
    traffic share 1, current path
    next hop 192.168.3.2, Serial0/1
    valid adjacency
  via 192.168.2.2, Serial0/0, 0 dependencies
    traffic share 1
    next hop 192.168.2.2, Serial0/0
    valid adjacency
  0 packets, 0 bytes switched through the prefix
  tmstats: external 0 packets, 0 bytes
           internal 0 packets, 0 bytes
R1#


Observamos el comportamiento de los paquetes en R2
R2#debug ip packet 10
R2(config)#ip cef
R2(config)#access-list 10 permit 192.168.20.0 0.0.0.255


desde R1 generamos un ping hacia 192.168.20.1

Balanceo de Carga/ R(config-if)
Cisco express forwarding
Fast switching
Por destino
per-destination
ip cef
ip load-sharing per-destination
no ip cef
ip router-cache
Por paquete
per-packet
ip cef
ip load-sharing per-packet 
no ip cef
no ip router-cache

Balance de Carga por Destino (per-destination)
R2#
*Mar  1 00:45:23.599: %SYS-5-CONFIG_I: Configured from console by console
*Mar  1 00:45:30.403: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:45:30.407: IP: s=192.168.10.1 (Serial0/0), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:45:30.439: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:45:30.443: IP: s=192.168.10.1 (Serial0/0), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:45:30.479: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:45:30.479: IP: s=192.168.10.1 (Serial0/0), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:45:30.483: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:45:30.487: IP: s=192.168.10.1 (Serial0/0), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:45:30.523: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:45:30.523: IP: s=192.168.10.1 (Serial0/0), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:45:30.559: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:45:30.563: IP: s=192.168.10.1 (Serial0/0), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:45:30.599: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:45:30.603: IP: s=192.168.10.1 (Serial0/0), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:45:30.643: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB

Balanceo de carga por Paquete (per-packet)
*Mar  1 00:51:17.139: IP: s=192.168.10.1 (Serial0/1), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:51:17.143: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:51:17.143: IP: s=192.168.10.1 (
Serial0/0), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:51:17.147: IP: tableid=0, s=192.168.10.1 (Serial0/1), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:51:17.147: IP: s=192.168.10.1 (
Serial0/1), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:51:17.147: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:51:17.147: IP: s=192.168.10.1
(Serial0/0), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:51:17.151: IP: tableid=0, s=192.168.10.1 (Serial0/1), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:51:17.155: IP: s=192.168.10.1 (
Serial0/1), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:51:17.187: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:51:17.191: IP: s=192.168.10.1 (
Serial0/0), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:51:17.191: IP: tableid=0, s=192.168.10.1 (Serial0/1), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:51:17.195: IP: s=192.168.10.1 (
Serial0/1), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:51:17.199: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:51:17.199: IP: s=192.168.10.1 (
Serial0/0), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:51:17.203: IP: tableid=0, s=192.168.10.1 (Serial0/1), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:51:17.203: IP: s=192.168.10.1 (
Serial0/1), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:51:17.203: IP: tableid=0, s=192.168.10.1 (Serial0/0), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:51:17.207: IP: s=192.168.10.1 (
Serial0/0), d=192.168.20.1, len 100, rcvd 4
*Mar  1 00:51:17.239: IP: tableid=0, s=192.168.10.1 (Serial0/1), d=192.168.20.1 (Loopback20), routed via RIB
*Mar  1 00:51:17.239: IP: s=192.168.10.1 (
Serial0/1), d=192.168.20.1, len 100, rcvd 4