CEF (Cisco Express Forwarding) es un feature avanzado de Cisco IOS que permita un modo de conmutación más rápido en los dispositivos Cisco. ¿Qué es CEF y cómo trabaja?
Introducción a CEF
Una tarea esencial en los dispositivos de capa 3 (routers y switches layer 3), es la toma de decisiones respecto de dónde deben reenviar los paquetes que reciben. Este proceso de decisión es el que toma el nombre de "conmutación" (switching en inglés), y es diferente del proceso de donmutación que se realiza en un switch Ethernet (capa 2).
Cuando un dispositivo capa 3 "conmuta" ejecuta las siguientes operaciones:
- Decidir si debe o no reenviar un paquete después de verificar que la red de destino del paquete es "alcanzable".
- Si el destino es alcanzable, ¿Cuál es el próximo salto y qué interfaz debe utilizarse para alcanzar este destino?
- ¿Se debe o no modificar la dirección MAC con la que se encapsula el paquete?
Los routers y switches layer 3 Cisco IOS ofrecen la posibilidad de operar con diferentes opciones o modos de conmutación. CEF es uno de los modos de conmutación disponibles.
Tomando como base de referencia la tabla de enrutamiento IP, CEF crea su propia tabla de reenvío que se denomina Forwarding Information Base (FIB). La FIB es una tabla organizada de modo diferente que la tabla de enrutamiento, y es la que se utiliza para definir a qué interfaz se debe reenviar el paquete; de este modo, CEF ofrece varios beneficios:
- Tiene mejor performance que el modo de conmutación por defecto de los dispositivos (fast-switching) y requiere menos ciclos de CPU para realizar la misma tarea.
- Cuando está habilitado este modo de conmutación, es posible utilizar otros features avanzados, como NBAR.
- Esencialmente, CEF es un modo de conmutación de tráfico más rápido que otros disponibles.
Habilitación y deshabilitación de CEF
CEF se encuentra deshabilitado por defecto en todos los dispositivos Cisco, excepto en los routers de la serie 7xxx, 6500 y 12000. Los routers de las series 2600, 3600, 3800 incorporan este feature a partir de Cisco IOS 12.2(11)T. Para habilitar este modo de conmutación se debe operar desde el modo de configuración global:
Router#configure terminal
Router(config)#ip cef
Router(config)#_
Para deshabilitar esta función el proceso es igualmente simple:
Router(config)#no ip cef
Router(config)#_
Monitoreo del status de CEF
Como es habitual, Cisco IOS ofrece un conjunto de comandos show que permiten verificar el estado y operación de CEF:
show ip cef es el comando que permite verificar las entradas de la tabla FIB. Un ejemplo del comando:
Router#show ip cef
Prefix. . . . . . . Next Hop. . . .Interface
0.0.0.0/0. . . . . .192.168.1.5. . FastEthernet0/0
192.168.0.0/24. . . 192.168.1.1. . Serial0/2/0
192.168.2.0/30. . . 192.168.1.1. . Serial0/2/0
192.168.3.0/30. . . 192.168.1.1. . Serial0/2/0
192.168.4.0/24. . . 192.168.1.1. . Serial0/2/0
192.168.5.0/30. . . 192.168.1.1. . Serial0/2/0
show ip cef detail muestra información detallada sobre cada entrada de la tabla FIB.
show ip cef summary permite ver un resumen de las entradas contenidas en la tabla FIB.
Información adicional
- Cisco IOS IP Switching Commands
- How to choose the best router switching path for your network
- Comando ip cef
- Comando show ip cef
¿Tenés algún tip para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta
Hola que tal, muy bueno tu articulo. bastante ilustrativo salu2
ResponderBorrarAlvaro
Saludos,
ResponderBorrarNo se si tengas tiempo de contestar preguntas pero...
¿Los drops en la interface Serial tienen que ver con el CEF?
Estimado.
ResponderBorrarUna interfaz serial puede descartar paquetes por infinidad de situaciones. En realidad, determinar qué es lo que provoca ese descarte supone un análisis detallado de al menos un show interface, y seguramente algunos show o debugs complementarios según lo que se observe.
porque en los router cisco 881 se debe deshabilitar esta opcion para que funcione la conexión
ResponderBorrarAmigo.
ResponderBorrarNormalmente CEF no debe impedir la operación de ningún enlace. Habría que ver con detalle a qué conexión te refieres y cómo está configurada.
Saludos.
Mis felicitaciones buen articulo.
ResponderBorrarcuando coloco el comando show ip cef vlan 10 y no me sale la información a que se debe?
ResponderBorrarLas causas de que no recibas nada en respuesta al comando pueden ser varias. La habilitación de cef, la habilitación del enrutamiento, etc. Habría que revisar la configuración para poder dar una respuesta precisa.
ResponderBorrar¿CEF afecta el funcionamiento de las rutas estaticas o de los protocolos de enrutamiento?. De hecho solo habilite CEF para el correcto funcionamiento del General Prefix.
ResponderBorrarCEF es una implementación que optimiza el reenvío de tráfico enrutado. No impacta o modifica el modo en que operan protocolos de enrutamiento y rutas estáticas.
ResponderBorrarEn donde CEF hace el procesamiento de los paquetes?
ResponderBorrarCEF opera en el plano de datos, mientras que el enrutamiento tradicional opera en el plano de control.
BorrarMuy buen Articulo!..
ResponderBorrarExcelente,
ResponderBorrarConsulta; tengo un cisco 2800 como borde en una red pequeña (< 20 equipos)con nat overload habilitado, haciendo pruebas notamos que la velocidad de descarga es menor, hicimos pruebas con un equipo conectado directamente al router del proveedor y es mucho mas rápido, que podría revizar en este cisco 2800 que afecte la velocidad? me serviría habilitar CEF?
gracias Oscar.
Jose Luis
José Luis.
BorrarPara saber qué está ocurriendo habría que revisar la configuración y observar la operación.
Es incierto de esta forma decir qué es lo que puede mejorar la performance del equipo.
Muy buena información gracias
ResponderBorrarGracias
ResponderBorrarexcelente articulo breve y preciso
ResponderBorrarFelipe.
ResponderBorrarEn realidad habría que revisar la implementación completa para ver qué es lo que está provocando el problema, pero en principio hay que tener en cuenta que CEF es una solución para interfaces físicas con el hardware adecuado, no para interfaces virtuales.
Buen artículo, siempre con la información precisa. Tengo una consulta, como puedo consultar la rib? hay muchas diferencias con respecto a la fib?
ResponderBorrarEstimado
BorrarLa RIB es la Routing Information Base, es decir, la tabla de enrutamiento.
Puedes revisarla con show ip routing.
Gracias por tus post, son excelente.
ResponderBorrarEn un router que tenga CEF y un IGP habilitado, ¿Como será la toma de decisión para enrutar un tráfico? ¿Lo hará CEF, lo hara el IGP? Este es un tema un poco abstracto. Quizás un ejemplo nos ayude a comprenderlo.
Saludos
En ningún caso es el IGP el que "decide" cómo ese enruta un determinado tráfico. La decisión de forwardeo del tráfico se hace en principio sobre la base de la información contenida en la tabla de enrutamiento (que es un paso de elaboración posterior al IGP).
BorrarCuando hay CEF implementado, la FIB toma como base para su confección la tabla de enrutamiento. Si la red destino está en la FIB, el reenvío se realiza por CEF, si no hay entrada en la FIB entonces se intenta reenviar utilizando la información de la tabla de enrutamiento.
muy buen articulo .
ResponderBorrarBuen artículo. La duda que tengo es: qué pasa con los campos que se deben modificar en la trama al pasar por cada router; el TTL por ejemplo? el cambio lo hace directamente el S.O. sin necesidad de procesar el paquete?
ResponderBorrarEn el paquete, los campos como checksum y TTL; y en la trama Ethernet el checksum final son recomputados y sobreescritos como partes del proceso de reenvío del paquete.
Borrarhola estimado muy buenas tardes tengo una consulta, hace un tiempo en nuestra red se incorporaron switch´s industriales multicapa (IE4000) como equipo de distribución en remplazo de switch cisco 3750 y empezaron a aparecer log relacionados con CEF: %ADJ-5-RESOLVE_REQ_FAIL: Adj resolve request failed for x.x.x.x on vlan x,a que se debe este log?, lo eliminamos aplicando el siguiente comando: no ip cef optimize neighbor resolution, en foros consultados solo indica que es un bug pero afecta realmente el rendimiento de la red? se producen problemas en la tabla ARP?, agradecido.
ResponderBorrarEste es un mensaje generado al fallar el intento de resolver una solicitud ARP para completar la tabla de adyacencias de CEF.
BorrarAparentemente es generado por un cambio en las opciones por defecto para la configuración de CEF que hace que, este mensaje que ya existía en Cat 3750 pero que por defecto no se mostraba, ahora se muestre. Por lo que se corrige agregando la línea de configuración que indicás que antes estaba por defecto y no entonces no era necesario incluir.
Por lo que pude investigar no afecta el rendimiento de la red, pero genera una cantidad de mensajes de eventos innecesarios que complica el monitoreo.