El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
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.
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.
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.
Para obtener más información sobre las convenciones del documento, consulte Convenciones de Consejos Técnicos de Cisco.
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. |
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?
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.
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
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.
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
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.
Utilice los siguientes pasos para verificar el balanceo de carga de Cisco Express Forwarding en su router.
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.
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
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
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.
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
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]
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.
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
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
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.
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.
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.
Cuando está disponible nuevamente el trayecto 1, éste inicia los procesos de reconvergencia de IP Routing.
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.
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.
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.
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.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
10-Aug-2005 |
Versión inicial |