Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Convenciones

Antecedentes

¿Qué es el balance de carga?

Antes de Cisco Express Forwarding – Recopilación de múltiples trayectos o rutas

Configuración de distribución de carga Cisco Express Forwarding

Mecanismos internos de equilibrio de carga de Cisco Express Forwarding

Verificación del balance de carga del reenvío express de Cisco

Carga a compartir después de un cambio de link

Información de carga a compartir programada para eliminación

Problemas conocidos

Soporte del hardware para equilibrio de carga en Cisco Express Forwarding

Información Relacionada

Conversaciones relacionadas de la comunidad de soporte de Cisco

Introducción

Este documento aclara cómo Cisco IOS? El software implementa el balanceo de carga de Capa 3 a través de varios links paralelos cuando se usa Cisco Express Forwarding.

Prerequisites

Requirements

Este documento asume una comprensión de las dos estructuras de datos de Cisco Express Forwarding.

- Base de información de reenvío (FIB)

- Tabla de adyacencia

Consulte la sección "Información Relacionada" de este documento para obtener una descripción general de la operación de Cisco Express Forwarding.

Componentes Utilizados

Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.

La información que se presenta en este documento se originó a partir de dispositivos dentro de un ambiente de laboratorio específico. All of the devices used in this document started with a cleared (default) configuration. Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener un comando antes de ejecutarlo.

Convenciones

Para obtener más información sobre las convenciones del documento, consulte Convenciones de Consejos Técnicos de Cisco.

Antecedentes

El switching IP es el mecanismo interno utilizado por Cisco IOS para reenviar paquetes a través del router. Los mecanismos disponibles incluyen process switching, fast switching y Cisco Express Forwarding. Según cuál de los tres mecanismos se use para conmutar la mayoría de los paquetes, el rendimiento general del sistema y el equilibrio de carga son afectados.

Los mecanismos de conmutación de IP admiten dos modos generales, por paquete y por destino. La tabla siguiente describe las ventajas y desventajas de ambos modos.

Por destino

Por paquete

Mecanismo de conmutación IP

Fast Switching y Cisco Express Forwarding por destino.

Conmutación de procesos y Cisco Express Forwarding por paquete.

Ventajas

Con el fast switching, se garantiza que los paquetes con un destino determinado tomarán el mismo trayecto, incluso si hay varios trayectos disponibles. Con la conmutación de Cisco Express Forwarding, se garantiza que los paquetes para un par de host de origen-destino determinado tomen el mismo trayecto, incluso si hay varias trayectorias disponibles. El tráfico destinado a diferentes pares tiende a tomar diferentes trayectorias.

La utilización del trayecto con equilibro de carga por paquete es buena ya que permite que el router envíe paquetes sucesivos de datos sobre los trayectos independientemente de los host individuales o sesiones de usuario. Utiliza el método de ordenamiento cíclico para determinar qué trayecto hace cada paquete hacia el destino

Desventajas

Con fast switching, el switching por destino puede resultar en un reparto desigual de la carga porque los paquetes a un destino siempre siguen la misma trayectoria. El switching de Cisco Express Forwarding puede dar como resultado una distribución desigual con un pequeño número de pares de origen-destino. El equilibrio de carga por destino depende de la distribución estadística del tráfico; el uso compartido de carga se vuelve más efectivo a medida que aumenta el número de pares de origen y destino.

Los paquetes de un host con un par origen/destino determinado pueden tomar trayectos diferentes, lo que podría resultar en un reordenamiento de paquetes. Esto no se recomienda para Voz sobre IP (VoIP) y otros flujos que requieren entrega en secuencia.

¿Qué es el balance de carga?

El equilibro de cargas describe la capacidad de un router de transmitir paquetes a una dirección IP de destino (también conocida como prefijo IP) a través de más de un trayecto.

Al tratar el tema del equilibrio de carga, primero necesitamos definir los siguientes términos.

Término

Definición

Prefijo

Describe una red IP de destino, como 192.16.10.0/24. El IOS de Cisco agrega un prefijo IP de destino a la tabla de ruteo utilizando información obtenida del intercambio de mensajes mediante un protocolo de ruteo dinámico o la configuración manual de rutas estáticas.

Trayecto:

Describe una ruta válida para alcanzar un prefijo de destino. Cisco IOS asigna un costo a cada trayectoria. Un conjunto de trayectos activos a un prefijo de destino puede tener costos iguales o desiguales.

Sesión

Describe un flujo de comunicación unidireccional entre dos nodos de IP. Todos los paquetes en una sesión usan la misma dirección IP de origen y de destino.

Para obtener más información, vea ¿Cómo funciona el balance de carga?

Antes de Cisco Express Forwarding – Recopilación de múltiples trayectos o rutas

Cisco Express Forwarding usa la información del trayecto en la tabla de IP Routing para equilibrar el tráfico por links múltiples. Por esta razón, la confirmación del balance de carga adecuado de Cisco Express Forwarding comienza con la confirmación de los contenidos de la tabla de IP Routing.

En la siguiente topología, dos routers, el Router A y el Router B, se conectan directamente en tres interfaces seriales con encapsulación de High-Level Data Link Control (HDLC).

Router A

Router B

interface Ethernet 0

ip address  192.168.20.1 255.255.255.0

!

interface Serial1

ip address 10.10.10.1 255.255.255.0

!

interface Serial2

ip address 20.20.20.1 255.255.255.0

!

interface Serial3

ip address 30.30.30.1 255.255.255.0

ip ospf cost 100

!

router ospf 1

network 10.10.10.0 0.0.0.255 area 0

network 20.20.20.0 0.0.0.255 area 0

network 30.30.30.0 0.0.0.255 area 0

network 192.168.20.0 0.0.0.255 area 0

interface Serial1

ip address 10.10.10.2 255.255.255.0

clockrate 2000000

!

interface Serial2

ip address 20.20.20.2 255.255.255.0

clockrate 148000

!

interface Serial3

ip address 30.30.30.2 255.255.255.0

ip ospf cost 100

clockrate 148000

router ospf 1

network 10.10.10.0 0.0.0.255 area 0

network 20.20.20.0 0.0.0.255 area 0

network 30.30.30.0 0.0.0.255 area 0

maximum-paths 1

Veamos cómo el router B selecciona una o más rutas para llegar a la red IP 192.168.20.0 de interfaz Ethernet del Router A.

- De manera predeterminada, Abrir el trayecto más corto primero (OSPF) soporta cuatro trayectos de igual costo a un destino. En este escenario, el Router B se configura con trayectos máximos iguales a uno. Por lo tanto, el Router B elegirá solamente una trayectoria entre las trayectorias iguales posibles en función de la cual recibió primero. El Router B se inicia al seleccionar Serial 2 como el trayecto único para la red 192.168.20.0. Utilice los comandos show ip cef y show ip route para ver el conjunto de trayectoria actual.

RouterB#show ip cef  192.168.20.0

192.168.20.0/24, version 59, cached adjacency to Serial2

0 packets, 0 bytes

via 20.20.20.1, Serial2, 0 dependencies

next hop 20.20.20.1, Serial2

valid cached adjacency

RouterB#show ip route  192.168.20.0

Routing entry for  192.168.20.0/24

Known via "ospf 1", distance 110, metric 74, type intra area

Redistributing via ospf 1

Last update from 20.20.20.1 on Serial2, 00:03:58 ago

Routing Descriptor Blocks:

* 20.20.20.1, from 204.204.204.1, 00:03:58 ago, via Serial2

Route metric is 74, traffic share count is 1

- Utilice el comando maximum-paths bajo OSPF para permitir más de un trayecto a la tabla de ruteo. El OSPF permite sólo el equilibrio de cargas de igual costo. Para configurar el uso compartido de la carga de costo desigual, configure el Protocolo de ruteo de puerta de enlace interior mejorado/Protocolo de ruteo de puerta de enlace interior (EIGRP/IGRP) como su Protocolo de puerta de enlace interior (IGP). Consulte ¿Cómo Funciona el Equilibrio de Carga de Trayectoria de Costo Desigual (Variance) en IGRP y EIGRP? para obtener más información.

RouterB(config)#router ospf 1

RouterB(config-router)#maximum-paths ?

<1-6>  Number of paths

RouterB(config-router)#maximum-paths 3

- Utilice el comando show ip ruote para confirmar que la tabla de ruteo contiene dos trayectos hacia 192.168.20.0.

RouterB#show ip route  192.168.20.0

Routing entry for  192.168.20.0/24

Known via "ospf 1", distance 110, metric 74, type intra area

Redistributing via ospf 1

Last update from 10.10.10.1 on Serial1, 00:00:11 ago

Routing Descriptor Blocks:

* 20.20.20.1, from 204.204.204.1, 00:00:11 ago, via Serial2

Route metric is 74, traffic share count is 1

10.10.10.1, from 204.204.204.1, 00:00:11 ago, via Serial1

Route metric is 74, traffic share count is 1

!--- The route metric is 74 for both paths.

- A pesar que configuramos OSPF para soportar los tres trayectos de igual costo, solo dos trayectos activos se muestran en la salida de show ip route. Para determinar el motivo, se puede utilizar el comando show ip ospf interface. El Serial 3 tiene un costo mayor que el Serial 1 y Serial 2, y por lo tanto es desigual.

RouterB#show ip ospf interface s1

Serial1 is up, line protocol is up

Internet Address 10.10.10.4/24, Area 0

Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 64

RouterB#show ip ospf interface s2

Serial2 is up, line protocol is up

Internet Address 20.20.20.2/24, Area 0

Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 64

RouterB#show ip ospf interface s3

Serial3 is up, line protocol is up

Internet Address 30.30.30.2/24, Area 0

Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 100

- Utilice el comando show run para confirmar si el Serial 3 está configurado con el comando ip ospf cost 100. Utilice el comando no ip ospf cost 100 sub-interface para eliminarlo de la configuración y hacer que los costos en los tres links seriales sean iguales.

RouterB#show run interface s3

Building configuration...

Current configuration:

!

interface Serial3

ip address 30.30.30.2 255.255.255.0

no ip directed-broadcast

ip ospf cost 100

ip ospf interface-retry 0

- El comando show ip route muestra tres trayectos de igual costo hacia la red 192.168.20.0.

RouterB#show ip route  192.168.20.0

Routing entry for  192.168.20.0/24

Known via "ospf 1", distance 110, metric 74, type intra area

Redistributing via ospf 1

Last update from 10.10.10.1 on Serial1, 00:00:01 ago

Routing Descriptor Blocks:

* 20.20.20.1, from 204.204.204.1, 00:00:01 ago, via Serial2

Route metric is 74, traffic share count is 1

30.30.30.1, from 204.204.204.1, 00:00:01 ago, via Serial3

Route metric is 74, traffic share count is 1

10.10.10.1, from 204.204.204.1, 00:00:01 ago, via Serial1

Route metric is 74, traffic share count is

Ahora veamos cómo el balanceo de carga de Cisco Express Forwarding utiliza la información de la tabla de ruteo para reenviar paquetes.

Configuración de distribución de carga Cisco Express Forwarding

Cisco Express Forwarding logra un equilibrio de reenvío con el uso de la tabla de compartición de carga. Al igual que con todas las otras soluciones de equilibrio de carga en los routers Cisco, la decisión de equilibrio de carga se toma en las interfaces salientes. A diferencia de otros métodos de conmutación, el reenvío express de Cisco realiza un seguimiento de los trayectos en función de las direcciones de origen y de destino del trayecto. Para simplificar esto, podría decir que la trayectoria es una sesión IP y que cada sesión se identifica lógicamente como un par de direcciones de origen y destino único.

Para comprender cómo se realiza el equilibrio de carga, primero tiene que entender cómo se relacionan las tablas. La tabla de Cisco Express Forwarding señala 16 cubetas de troceo (tabla load share), que señalan la tabla de adyacencia para los trayectos paralelos. Consulte la sección Mecanismos Internos de Balanceo de Carga de Cisco Express Forwarding para obtener más detalles. Cada paquete a conmutar se divide en el par de direcciones de origen y destino y se verifica en la tabla de carga compartida.

Nota: Hay dos tipos principales de switching de Cisco Express Forwarding, por destino y por paquete. Si ambos tipos se usan en un router, cada tipo tiene su propia tabla de cargas compartidas.

El equilibrio de carga por destino permite que el router utilice varios trayectos para lograr compartir la carga. El equilibrio de carga por destino se activa de manera predeterminada cuando el usuario activa la auditoria de seguridad activa de Cisco, y es el método de equilibrio de carga de preferencia en la mayoría de las situaciones. Dado que el balance de carga por destino depende de la distribución estadística del tráfico, la distribución de carga es más eficaz a medida que aumenta la cantidad de pares de origen-destino.

El balanceo de carga por paquete permite que el router envíe paquetes de datos sucesivos por trayectos sin tener en cuenta los hosts individuales o las sesiones de usuario. Utiliza el método de ordenamiento cíclico para determinar qué trayecto hace cada paquete hacia el destino. El equilibrio de carga por paquete asegura el equilibrio sobre los links múltiples. La utilización de trayecto con equilibrio de carga por paquete es buena, pero los paquetes para un par de host de origen-destino determinado pueden tomar diferentes trayectos, lo que puede provocar que los paquetes se reordenen. Por esta razón, el balanceo de carga por paquete es inapropiado para ciertos tipos de tráfico de datos, como VoIP, que dependen de los paquetes que llegan al destino en secuencia. Utilice el balanceo de carga por paquete para ayudar a garantizar que una trayectoria para un único par de origen y destino no se sobrecargue.

Utilice el comando ip load-sharing para cambiar entre los métodos por paquete y por destino.

7200-1.3(config)#interface fast 0/0

7200-1.3(config-if)#ip load-sharing ?

per-destination  Deterministic distribution

per-packet       Random distribution

7200-1.3(config-if)#ip load-sharing per-packet

Utilice el comando show cef interface para confirmar sus modificaciones.

7200-1.3#show cef interface fast 0/0

FastEthernet0/0 is up (if_number 3)

Corresponding hwidb fast_if_number 3

Corresponding hwidb firstsw->if_number 3

Internet address is 172.16.81.13/24

ICMP redirects are always sent

Per packet load-sharing is enabled

IP unicast RPF check is disabled

Inbound access list is not set

Outbound access list is not set

IP policy routing is disabled

Hardware idb is FastEthernet0/0

Fast switching type 1, interface type 18

IP CEF switching enabled

IP Feature Fast switching turbo vector

IP Feature CEF switching turbo vector

Input fast flags 0x0, Output fast flags 0x0

ifindex 1(1)

Slot 0 Slot unit 0 VC -1

Transmit limit accumulator 0x0 (0x0)

IP MTU 1500

Mecanismos internos de equilibrio de carga de Cisco Express Forwarding

Empecemos por romper el mecanismo interno detrás del balanceo de carga de Cisco Express Forwarding.

- Cada sesión (consulte la tabla anterior) se asigna a una ruta de acceso activa.

- La asignación de sesión a trayecto se realiza mediante una función de troceo que toma las direcciones IP de origen y destino y, en las versiones recientes de IOS de Cisco, una ID de troceo única que randomiza la asignación en el trayecto de extremo a extremo.

- Los trayectos activos se asignan internamente a varios de los 16 bloques de hash. La asignación de trayecto a cubeta varía con el tipo de equilibrio de cargas y la cantidad de trayectos activos.

- El resultado de la función de troceo se usa para elegir una de las cubetas habilitadas y, por lo tanto, elegir qué trayecto usar para la sesión.

- Para todas las sesiones que reenvía el router, cada trayectoria activa lleva el mismo número de sesiones.

Veamos un ejemplo de estos internos de Cisco Express Forwarding.

1. Uso del comando maximum-paths para reducir a dos el número de trayectos activos para el prefijo de destino.

RouterB(config)#router ospf 1

RouterB(config-router)#maximum-paths 2

2. Utilice el comando show ip cef {prefix} internal para ver la asignación de trayecto a bloque.

RouterB#show ip cef  192.168.20.0 internal

192.168.20.0/24, version 66, per-destination sharing

0 packets, 0 bytes

via 20.20.20.1, Serial2, 0 dependencies

traffic share 1

next hop 20.20.20.1, Serial2

valid adjacency

via 30.30.30.1, Serial3, 0 dependencies

traffic share 1

next hop 30.30.30.1, Serial3

valid adjacency

0 packets, 0 bytes switched through the prefix

Load distribution: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (refcount 1)

!--- The load distribution line summarizes how each path is !--- assigned to the hash buckets.

Hash  OK  Interface                 Address         Packets

1     Y   Serial2                   point2point           0

2     Y   Serial3                   point2point           0

3     Y   Serial2                   point2point           0

4     Y   Serial3                   point2point           0

5     Y   Serial2                   point2point           0

6     Y   Serial3                   point2point           0

7     Y   Serial2                   point2point           0

8     Y   Serial3                   point2point           0

9     Y   Serial2                   point2point           0

10    Y   Serial3                   point2point           0

11    Y   Serial2                   point2point           0

12    Y   Serial3                   point2point           0

13    Y   Serial2                   point2point           0

14    Y   Serial3                   point2point           0

15    Y   Serial2                   point2point           0

16    Y   Serial3                   point2point

Las 16 cubetas de troceo se establecen de acuerdo al tipo de balance de carga y la cantidad de trayectos activos. El caso simple es el de un número de rutas par. Los 16 bloques se llenan de manera uniforme con las trayectorias activas. Si 16 no es divisible por el número de trayectos activos, las últimas cubetas que representan el resto están desactivadas. La tabla siguiente muestra cómo las cubetas de hash buscan dos y tres rutas activas.

Bucket/Paths

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

2

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

3

0

1

2

0

1

2

0

1

2

0

1

2

0

1

2

x

En el siguiente ejemplo, tenemos tres rutas para el destino. Observe cómo Cisco Express Forwarding ha eliminado la cubeta hash 16 y cómo los tres links seriales se asignan de manera uniforme a los cubos hash 1 a 15.

RouterB#show ip cef  192.168.20.0 interface

192.168.20.0/24, version 64, per-destination sharing

0 packets, 0 bytes

via 20.20.20.1, Serial2, 0 dependencies

traffic share 1

next hop 20.20.20.1, Serial2

valid adjacency

via 30.30.30.1, Serial3, 0 dependencies

traffic share 1

next hop 30.30.30.1, Serial3

valid adjacency

via 10.10.10.1, Serial1, 0 dependencies

traffic share 1

next hop 10.10.10.1, Serial1

valid adjacency

0 packets, 0 bytes switched through the prefix

Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1)

!--- The active paths are assigned to hash buckets in a !--- round-robin pattern.

Hash  OK  Interface                 Address         Packets

1     Y   Serial2                   point2point           0

2     Y   Serial3                   point2point           0

3     Y   Serial1                   point2point           0

4     Y   Serial2                   point2point           0

5     Y   Serial3                   point2point           0

6     Y   Serial1                   point2point           0

7     Y   Serial2                   point2point           0

8     Y   Serial3                   point2point           0

9     Y   Serial1                   point2point           0

10    Y   Serial2                   point2point           0

11    Y   Serial3                   point2point           0

12    Y   Serial1                   point2point           0

13    Y   Serial2                   point2point           0

14    Y   Serial3                   point2point           0

15    Y   Serial1                   point2point           0

!--- Hash bucket 16 has been removed.

Nota: Aunque seleccionan una única trayectoria para un destino, los mecanismos de Cisco Express Forwarding por destino y de fast switching difieren en la forma en que seleccionan esa trayectoria. Cisco Express Forwarding considera tanto las direcciones IP de origen como de destino, mientras que fast switching sólo considera la dirección IP de destino.

Verificación del balance de carga del reenvío express de Cisco

Utilice los siguientes pasos para verificar el balanceo de carga de Cisco Express Forwarding en su router.

1. Confirme que Cisco Express Forwarding se encuentra habilitado globalmente en el router.

S3-4K-2#show ip cef

%CEF not running

Prefix                      Next Hop                     Interface

!--- This output shows Cisco Express Forwarding is not enabled. !--- Use ip cef command in global configuration to enable it.

2. Confirme que el switching por paquete o por destino esté habilitado en las interfaces salientes específicas. El valor predeterminado es por destino.

RouterA#show cef interface s1

Serial1 is up (if_number 3)

Internet address is 10.10.10.1/24

ICMP redirects are always sent

Per packet loadbalancing is disabled

IP unicast RPF check is disabled

Inbound access list is not set

Outbound access list is not set

Interface is marked as point to point interface

Hardware idb is Serial1

Fast switching type 4, interface type 40

IP CEF switching enabled

!--- Cisco Express Forwarding is enabled on the interface.

IP CEF Fast switching turbo vector

Input fast flags 0x0, Output fast flags 0x0

ifindex 5(5)

Slot 0 Slot unit 1 VC -1

Transmit limit accumulator 0x0 (0x0)

IP MTU 1500

3. Confirme que la tabla de ruteo y la tabla de reenvío rápido de Cisco contengan todos los trayectos paralelos utilizando el comando show ip route.

RouterB#show ip route 192.168.20.0

Routing entry for 192.168.20.0/32, 1 known subnets

O       192.168.20.1 [110/65] via 20.20.20.1, 00:06:54, Serial1

[110/65] via 10.10.10.1, 00:06:54, Serial2

[110/65] via 30.30.30.1, 00:06:54, Serial3

4. Verifique Cisco Express Forwarding FIB utilizando el comando show ip cef.

RouterB#show ip cef 192.168.20.0

192.168.20.0/24, version 18, per-destination sharing

0 packets, 0 bytes

via 30.30.30.1, Serial3,   0 dependencies

traffic share 1

next hop 30.30.30.1, Serial3

valid adjacency

via 20.20.20.1, Serial2, 0 dependencies

traffic share 1

next hop 20.20.20.1, Serial2

valid adjacency

via 10.10.10.1, Serial1, 0 dependencies

traffic share 1

next hop 10.10.10.1, Serial1

valid adjacency

0 packets, 0 bytes switched through the prefix

tmstats: external 0 packets, 0 bytes

internal 0 packets, 0 bytes

RouterB#show ip cef 192.168.20.0 internal

192.168.20.0/24, version 18, per-destination sharing

0 packets, 0 bytes

via 30.30.30.1, Serial3, 0 dependencies

traffic share 1

next hop 30.30.30.1, Serial3

valid adjacency

via 20.20.20.1, Serial2, 0 dependencies

traffic share 1

next hop 20.20.20.1, Serial2

valid adjacency

via 10.10.10.1, Serial1, 0 dependencies

traffic share 1

next hop 10.10.10.1, Serial1

valid adjacency

0 packets, 0 bytes switched through the prefix

tmstats: external 0 packets, 0 bytes

internal 0 packets, 0 bytes

Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1)

Hash  OK  Interface                 Address         Packets

1     Y   Serial3                   point2point           0

2     Y   Serial2                   point2point           0

3     Y   Serial1                   point2point           0

4     Y   Serial3                   point2point           0

5     Y   Serial2                   point2point           0

6     Y   Serial1                   point2point           0

7     Y   Serial3                   point2point           0

8     Y   Serial2                   point2point           0

9     Y   Serial1                   point2point           0

10    Y   Serial3                   point2point           0

11    Y   Serial2                   point2point           0

12    Y   Serial1                   point2point           0

13    Y   Serial3                   point2point           0

14    Y   Serial2                   point2point           0

15    Y   Serial1                   point2point           0

Nota: La tabla de carga compartida anterior muestra la distribución de carga 0 1 2 0 1 2 . . . y el tráfico compartido es 1 para cada ruta. Esto significa un reparto de la carga de igual costo por destino entre tres rutas de igual costo.

5. Verifique las adyacencias de Cisco Express Forwarding.

RouterB#show adjacency detail

Protocol Interface                 Address

IP       Serial1                   point2point(11)

0 packets, 0 bytes

0F000800

CEF   expires: 00:02:31

refresh: 00:00:31

IP       Serial2                   point2point(11)

0 packets, 0 bytes

0F000800

CEF   expires: 00:02:31

refresh: 00:00:31

IP       Serial3                   point2point(11)

0 packets, 0 bytes

0F000800

CEF   expires: 00:02:31

refresh: 00:00:31

6. Confirme que el mecanismo de balanceo de carga de Cisco Express Forwarding esperado esté configurado en todas las interfaces salientes.

RouterB#show ip cef  192.168.20.0

192.168.20.0/24, version 89, per-destination sharing

0 packets, 0 bytes

via 10.10.10.1, Serial1, 0 dependencies

traffic share 1

next hop 10.10.10.1, Serial1

valid adjacency

[output omitted]

7. Habilite la contabilidad de la cubeta de hash para recopilar estadísticas y comprender mejor los patrones de Cisco Express Forwarding en su red. Por ejemplo, es posible que desee recopilar información como el número de paquetes y bytes conmutados a un destino o el número de paquetes conmutados a través de un destino. Use el siguiente comando:

router(config)# ip cef accounting load-balance-hash

Verifique el flujo del paquete observando los valores en el campo Packet.

RouterB#show ip cef 192.168.20.0 internal

[...]

Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1)

Hash  OK  Interface                 Address         Packets

1     Y   Serial                    point2point           0

2     Y   Serial2                   point2point           0

3     Y   Serial1                   point2point           0

4     Y   Serial3                   point2point           0

5     Y   Serial2                   point2point          35

6     Y   Serial1                   point2point           0

7     Y   Serial3                   point2point           0

8     Y   Serial2                   point2point          60

9     Y   Serial1                   point2point           0

10    Y   Serial3                   point2point           0

11    Y   Serial2                   point2point           0

12    Y   Serial1                   point2point           0

13    Y   Serial3                   point2point           0

14    Y   Serial2                   point2point          30

15    Y   Serial1                   point2point           0

125 paquetes fluyeron a través del Serial 2. Si utiliza ping para generar tráfico, asegúrese de que los paquetes ping deben transitar el router conmutado de Cisco Express Forwarding. En otras palabras, los paquetes de ping deben entrar desde una interfaz conmutada mediante Cisco Express Forwarding, deben ser conmutados mediante Cisco Express Forwarding y deben partir desde otra interfaz conmutada mediante Cisco Express Forwarding.

Nota: El uso compartido de carga por destino se vuelve más efectivo a medida que aumenta el número de pares de origen y destino.

8. Mientras envía tráfico al prefijo, capture varios resultados del comando show interface. Analice los valores "txload" y "rxload". (Algunas interfaces muestran un único valor de "carga", que considera tanto la transmisión como la recepción). Aunque el balanceo de carga por paquete proporciona una distribución uniforme en la cantidad de paquetes, los links paralelos pueden mostrar una velocidad ligeramente desigual dependiendo del tamaño del paquete.

Serial1/0:0 is up, line protocol is up

reliability 255/255, txload 10/255, rxload 3/255

Serial1/1:0 is up, line protocol is up

reliability 255/255, txload 18/255, rxload 3/255

9. Con el balanceo de carga por destino de Cisco Express Forwarding, puede determinar a qué trayectoria se asigna una sesión con el siguiente comando. Agregue la palabra clave internal para mostrar qué cubeta hash se utiliza.

show ip cef exact-route {source-ip-address} {dest-ip-address} [internal]

RouterB# show ip cef exact-route 50.50.50.2 192.168.20.1  internal

50.50.50.2      -> 192.168.20.1   : Serial9/0 (next hop 20.20.20.1)

Bucket 4 from 15, total 3 paths

RouterB# show ip cef exact-route 5.5.5.1 192.168.20.1  internal

5.5.5.1         ->192.168.20.1   : Serial9/0 (next hop 20.20.20.1)

Bucket 7 from 15, total 3 paths

RouterB# show ip cef exact-route 6.6.6.1 192.168.20.1  internal

6.6.6.1         -> 192.168.20.1   : Serial9/0 (next hop 20.20.20.1)

Bucket 7 from 15, total 3 paths

RouterB# show ip cef exact-route 8.8.8.1 192.168.20.1  internal

8.8.8.1         -> 192.168.20.1   : Serial9/0 (next hop 20.20.20.1)

Bucket 13 from 15, total 3 paths

10. Si la salida es irregular, considere lo siguiente:

- El número de pares de direcciones de origen y destino únicos o de sesiones que atraviesan los links paralelos.

- El número y el tamaño de los paquetes en cada sesión. ¿Una sesión tiene gran cantidad de paquetes? El balanceo de carga por destino depende de la distribución estadística del tráfico y se vuelve más efectivo a medida que aumenta el número de pares de origen y destino.

Carga a compartir después de un cambio de link

Cuando un cambio en la tabla de ruteo ajusta el número de trayectos activos a un destino, Cisco Express Forwarding actualiza las estructuras de balance de carga que se ven en el resultado del comando show ip cef {prefix} internal. Luego, Cisco Express Forwarding hace coincidir los paquetes nuevos entrantes con una adyacencia y la cubeta de troceo correspondiente. La cubeta seleccionada puede o no ser la misma utilizada anteriormente.

Los siguientes pasos describen cómo se actualiza la información del equilibrio de carga de Cisco Express Forwarding luego de un cambio en la cantidad de trayectos activos a un prefijo de destino.

1. Suponga que se puede alcanzar un prefijo de destino a través de dos trayectos. La trayectoria 1 está inactiva, y la trayectoria 2 está activa y cargando todo el tráfico.

2. Cuando está disponible nuevamente el trayecto 1, éste inicia los procesos de reconvergencia de IP Routing.

3. Cisco Express Forwarding equilibra ahora la carga en ambas trayectorias y no conserva los flujos existentes a través de la trayectoria 2. Al hacerlo, la trayectoria 1 dejaría sin utilizar. En otras palabras, Cisco Express Forwarding no considera que puede reenviar paquetes para una sesión en un trayecto válido y puede seleccionar un trayecto nuevo para un flujo según qué cubeta del troceo selecciona.

Información de carga a compartir programada para eliminación

Luego de que se produce un cambio en la tabla de ruteo, Cisco Express Forwarding elimina y luego reconstruye las estructuras de equilibrio de carga que asignan trayectos activos a los bloques de memoria de troceo. Durante el proceso de reconstrucción, algunos paquetes pueden perderse, y el comando show ip cef {prefix} internal indica información de carga compartida debido a la eliminación.

router#show ip cef 10.10.128.0 int

10.10.128.0/28, version 63, per-destination sharing

0 packets, 0 bytes

via 10.8.0.31, 0 dependencies, recursive

next hop 10.8.2.49, POS0/0/0

valid adjacency

Load sharing information due for deletion

Los cambios implementados a través del ID de bug Cisco CSCdm87127 minimizan la pérdida de paquetes durante un cambio en el número de trayectos activos para la ruta predeterminada 0.0.0.0. Específicamente, Cisco Express Forwarding asigna ahora una entrada FIB con espacio para la mayor cantidad posible de trayectos activos para esta ruta.

Problemas conocidos

El equilibrio de carga del Cisco Express Forwarding no es igual en los cuatro trayectos. Para obtener más detalles, consulte CSCdm87756 (sólo clientes registrados).

En las versiones de Cisco IOS anteriores a la 12.0(16)S, ingresar el comando show ip cef specific-route puede hacer que el Procesador de ruta (RP) en un Cisco 12000 Series Internet Router o un Cisco 7500/RSP Series Router se recargue. Esta situación ocurre cuando el prefijo de destino es recurrente y el router comparte la carga con el salto siguiente. Para obtener más información, consulte CSCdt80914 (sólo clientes registrados), donde se resuelve el problema.

En la plataforma 6500 no se soporta el balanceo de carga por paquete CEF. Esto se debe a la limitación del hardware y sólo es posible tener actualmente balanceo de carga por destino. Por lo tanto, la única opción es utilizar Distributed Multilink Point-to-Point Protocol (dMLPPP) o Layer 4 flow load-sharing.

Soporte del hardware para equilibrio de carga en Cisco Express Forwarding

Originalmente, el balance de carga por paquete de Cisco Express Forwarding era soportado por plataformas que usan reenvío por software. Estas plataformas incluyen las series 2600, 3600 y 7200. El equilibrio de carga por paquete ahora está soportado en hardware mediante Parallel Express Forwarding (PXF) en la serie 7200 con un NSE-1, y las serie 10000. En la serie Catalyst 6000, los comandos ip load-sharing per-packet de Cisco IOS Cisco Express Forwarding, ip cef accounting per-prefix y ip cef accounting non-recursive en el MSFC2 se aplican solamente al tráfico que es Cisco Express Forwarding conmutado en el software en el MSFC2. Los comandos no afectan el tráfico de hardware conmutado por Capa 3 en módulos de conmutación equipados con DFC o PFC2. Consulte Configuración de IP Unicast Layer 3 Switching en Supervisor Engine 2 para obtener más información.

Nota: Un router Cisco 7300 con una tarjeta de procesador NSE-100 no soporta el balanceo de carga CEF por paquete en PXF. El PXF sólo admite el balanceo de carga por destino. Sin embargo, parecía que tenían soporte porque los comandos de configuración estaban disponibles en la CLI del router. Esto se corrige y se registra en el Id. de bug Cisco CSCdx63389.

En la serie 12000, el balanceo de carga por paquete está disponible en todos los motores de reenvío de Capa 3 excepto en los motores 3 y 4. Cada tarjeta de línea toma decisiones de reenvío independientes. Para ver la ruta exacta para cada flujo IP, utilice el comando exec slot X show ip hardware-cef exact-route src dst en las tarjetas de línea que utilizan tablas de Cisco Express Forwarding basadas en hardware.

Información Relacionada

- Cisco Express Forwarding

- Balanceo de Carga con Cisco Express Forwarding

- Soporte de IP Routing

- Soporte Técnico y Documentación - Cisco Systems