Antes de nada, ¡muy buenas! Sed bienvenidos a este, mi primer post en el blog para intentar adentrarnos un poco en los protocolos CDP y LLDP.
Son las 8 de la mañana y me encuentro en un cliente con una instalación por delante, varios terminales Cisco, varios SW y algún que otro terminal Yealink. No tengo datos sobre las VLAN, modelos concretos, versión de FW que tienen… ¿seré capaz de completar el despliegue a tiempo?
Antes de entrar en materia, vamos a explicar un poco el sistema de provisioning habitual de los terminales. En un entorno limpio, en el que disponemos de un switch configurado para el uso exclusivo de Voz IP, el provisioning se acerca al tan deseado Zero Touch Config AutoProvisioning:
- Conectamos el teléfono a la toma de red.
- El terminal pide IP por DHCP.
- El servidor DHCP, además de servirle una IP y una puerta de enlace por defecto, le indica por medio de la opción 66 cuál es su servidor TFTP.
En este punto, el terminal ya dispone de todo lo necesario para empezar su proceso de provisión y, siempre y cuando el servidor TFTP sirva los archivos en el orden y formato adecuado, el terminal se provisionará y funcionará automágicamente.
Pero, por desgracia, no siempre es todo tan bonito y nos encontramos con un switch configurado para el uso y disfrute exclusivo de la telefonía: lo más habitual es trabajar en entornos en los que conviven distintas redes lógicas utilizando una misma red física utilizando VLANes (IEEE 802.1Q). El entorno más habitual es en el que la red de voz convive, al menos, con la red de datos. Además, la red de datos suele ser la principal, por lo que si conectamos un teléfono obtendremos una IP de la red de datos…
¿Significa esto que nuestro sueño de
Zero Touch Config AutoProvisioning se desvanece en entornos con múltiples VLANs? ¡No! Es aquí donde entran nuestros protagonistas del post de hoy,
CDP y LLDP
Con ellos, el teléfono es capaz de, entre otras cosas, averiguar la VLAN de voz y realizar los pasos anteriores dentro de esa VLAN. En el post de hoy vamos a conocer un poco más a estos 2 protocolos que tanto simplifican los despliegues masivos.
CDP (Cisco Discovery Protocol)
CDP es un protocolo de red de nivel 2 (enlace de datos), el cual fue desarrollado por Cisco y que actualmente se encuentra en la mayoría de los equipos. Es utilizado para compartir información sobre otros equipos Cisco que están directamente conectados (que son “vecinos”/neighbours). De esta manera, y con la ayuda de CDP, podemos recibir la información del dispositivo que tenemos conectado sin necesidad de conocer la IP del equipo al que queremos acceder ni conocer realmente ningún dato sobre el mismo. También es utilizado para realizar encaminamiento bajo demanda (ODR, On-Demand Routing) que es utilizado para incluir información en cada anuncio CDP para facilitar la labor del encaminamiento dinámico en redes simples.
Los dispositivos Cisco se encargan de enviar anuncios periódicos (cada 60 segundos) a la dirección de destino de multidifusión 01:00. Entonces es cuando cada dispositivo que soporta CDP almacena la información recibida de otros dispositivos en una tabla. Para poder consultarla:
show cdp neighbor
Añadiremos detail para ver una vista más detallada.
Esta información se refresca en cada anuncio realizado por el dispositivo origen y es descartada tras 3 anuncios no recibidos por el mismo.
La información obtenida mediante CDP varía según el tipo de dispositivo y la versión de S.O. que esté corriendo en el mismo. Esta puede contener:
- Versión del S.O.
- Nombre del equipo
- Direcciones de los protocolos configurados en el puerto al que se envía la trama CDP (Por ejemplo: IP)
- Identificador del puerto por el que se envía el anuncio
- VLAN nativas
- Consumo energético (solo para dispositivos PoE)
- …
Aquí podemos ver un ejemplo de una tabla CDP.
Este protocolo está habilitado por defecto en todas las interfaces de los equipos Cisco. En caso de tener dispositivos en nuestra red que no son de nuestra confianza es recomendable deshabilitarlo, para ello simplemente utilizaremos el comando:
no cdp run
Y para deshabilitarlo en una interfaz específica utilizaremos entonces:
no cdp run [en la configuración de dicha interfaz]
http://www.cisco.com/c/en/us/td/docs/ios/12_2/configfun/command/reference/ffun_r/frf015.html
LLDP (Link Layer Discovery Protocol)
LLDP, al igual que CDP, es un protocolo de red de nivel 2 utilizado para recibir/transmitir información de los equipos que tenemos conectados (“vecinos”/neighbours). Una de las diferencias que tiene con CDP consiste en que en el caso de LLDP solo pueden recibir o enviar información a dispositivos adyacentes (no trata con direcciones IP), los cuales estén conectados directamente entre sí por el mismo enlace. Esta información nunca se reenvía a otros dispositivos en la red. Además, LLDP permite la comunicación de dicha información entre dispositivos de distintos fabricantes.
De esta manera, por ejemplo, un switch puede descubrir qué dispositivos son vecinos y los puertos por donde se conectan entre sí.
Cada dispositivo tiene su propio agente LLDP, el cual administra la accesibilidad a capas superiores y recoge la información de puntos terminales de los dispositivos adyacentes. Es decir, el agente LLDP se encarga de la recepción, envío y gestión de LLDP.
Para visualizar el “vecindario” LLDP se utilizan los siguientes comandos:
Para SW HP > show lldp info remote-device
Para SW Cisco > show lldp neighbours
Uno de los usos más extendidos es para identificar los teléfonos VoIP.
LLDP-MED (Media Endpoint Discovery) es una mejora con respecto a LLDP que permite compartir la información entre dispositivos no adyacentes y provee de información adicional:
- Las políticas de red (configuración de las VLAN, configuración de los servicios diferenciados,…)
- La localización de los dispositivos de manera que pueda crear una base de datos de ubicación y en el caso de VoIP mejorar los servicios 911.
- Aumentar y automatizar la administración de energía a través de PoE.
- Gestión del inventario, permitiendo así determinar las características de los dispositivos de red.
- …
Tales datos son transmitidos periódicamente por los dispositivos basados en LLDP a los dispositivos cercanos en mensajes denominados TLV (Type Length Value).
Sobre TLV , LLDP y LLDP-MED añaden nuevos tipos de mensajes, específicamente relacionados con la telefonía VoIP.
Uno de ellos sería el TLV de PoE Management, el cual permite a los puntos extremos “advertir” del nivel de energía eléctrica que precisan, y de sus prioridades en este sentido.
Por ejemplo, un conmutador podría comparar la energía requerida por el dispositivo de extremo con lo que él puede ofrecer y si no tiene capacidad para satisfacer la demanda, suministraría selectivamente la energía a los dispositivos finales designados como de alta prioridad (por ejemplo, un teléfono IP).
El TLV Network Policy Discovery simplifica el despliegue de grandes redes multi-marca y ayuda a localizar y resolver problemas. Además, permite a los puntos extremos y a los conmutadores comunicarse sus VLAN, IEEE Priority…
De esta manera LLDP-MED funcionaría de la siguiente manera:
- El conmutador transmite atributos sobre la capacidad de energía en sus puertos, las VLAN destinadas a los sistemas de voz, el DiffServ Code Point y datos de localización.
- El terminal IP transmite sus requerimientos y prioridades de energía, las VLAN previstas para los sistemas de voz, el DiffServ Code Point y su propia información de inventario.
- El sistema de gestión de red pide al conmutador LAN información de inventario detallada de los terminales IP para crear mapas topológicos de la infraestructura de voz y datos.
**Para más información: **
http://www.cisco.com/en/US/technologies/tk652/tk701/technologies_white_paper0900aecd804cd46d.html
Por último, no quiero acabar el post sin hacer mención al proyecto OpenLLDP el cual se encarga de implementar la interpretación del protocolo LLDP para los casos en los que la electrónica no sea capaz de manejar LLDP.
Como vemos, estos protocolos realizan una labor muy importante ya que nos facilitan el tratamiento de toda la estructura de red permitiéndonos conocer cuantiosos datos de los dispositivos conectados en nuestra red sin tener que configurar ni complicarnos mucho. Y gracias a ellos he podido realizar esta instalación sin demorarme mucho más en las configuraciones.
Y vosotros, ¿os apoyáis en CDP y LLDP en vuestras instalaciones?
Funte:
https://blog.irontec.com/cdp-y-lldp-nuestros-grandes-aliados/