O protocolo LLDP(802.1AB) permite que dispositivos de rede como Servidores, Switches e Roteadores, descubram uns aos outros. Ele opera na camada de enlace do modelo OSI (camada 2) permitindo que informações básicas como hostname, versão do Sistema Operacional , endereço da interface, entre outros, sejam aprendidas dinâmicamente por equipamentos diretamente conectados.
O mais bacana do Link Layer Discovery Protocol (LLDP) é a integração entre equipamentos de diversos fabricantes.
O protocolo NDP pode ser utilizado em alguns Switches 3Com (geralmente com o Comware na versão 3) para descoberta de vizinhos, assim como o CDP e o LLDP em outros equipamentos.
O Neighbor Discover Protocol ( NDP ) detecta informações sobre o dispositivo diretamente conectado, incluindo o tipo, versão do software / hardware, porta conectada , ID , endereço de porta , e etc.
No exemplo abaixo habilitamos o processo globalmente entre dois Switch 3Com modelo 4500.
[4500_Core]ndp enable
! habilitando o processo Globalmente
[4500_Core]
[4500_Core]display ndp
Neighbor Discovery Protocol is enabled.
Neighbor Discovery Protocol Ver: 1, Hello Timer: 60(s), Aging Timer: 180(s)
Interface: Ethernet1/0/1
Status: Enabled, Pkts Snd: 92638, Pkts Rvd: 92807, Pkts Err: 0
Neighbor 1: Aging Time: 144(s)
MAC Address : 0022-57a5-9999
Host Name : 4500_Administrativo
Port Name : Ethernet1/0/23
Software Ver: 3Com OS V3.03.00s56
Device Name : Switch 4500 26-Port
Port Duplex : AUTO
Product Ver : 4500-1601P05
BootROM Ver : 3.00
Os testes também funcionaram entre Switches HP 1910 e um 3Com 4500. Para a detecção de vizinhos de Switches 3Com/HP/H3C com o Comware versão 5 para cima, sugiro a utilização do protocolo LLDP que é o padrão de mercado.
O protocolo LLDP(802.1AB) permite que dispositivos de rede como Servidores, Switches e Roteadores, descubram uns aos outros. Ele opera na camada de enlace do modelo OSI (camada 2) permitindo que informações básicas como hostname, versão do Sistema Operacional , endereço da interface, entre outros, sejam aprendidas dinâmicamente por equipamentos diretamente conectados.
O mais bacana do Link Layer Discovery Protocol (LLDP) é a integração entre equipamentos de diversos fabricantes; e para aqueles que já estudaram o material do CCNA da Cisco, a feature é identica ao Cisco Discover Protocol (CDP) – o protocolo proprietário da Cisco para descoberta de vizinhos.
A tirinha abaixo adaptada do site http://vincentbernat.github.com/lldpd/index.html demonstra bem a utilização do LLDP (ou como ajudaria no caso abaixo.. rs ) O site possui instruções de instalação do protocolo para diversas plataformas.
Conceitos Básicos
Para redes Ethernet, o LLDP é encaminhado dentro do quadro Ethernet da seguinte maneira:
A mensagem encaminhada também é chamada de LLDPDU (Link Layer Discover Protocol Data Unit)
Endereço MAC de destino (Destination MAC address) O endereço MAC de destino de um LLDPDU pode ser anunciado nos endereços Multicast 0180-C200-000E , 0180-C200-0003 ou 0180-C200-0000.
Endereço MAC de origem (Source MAC address) O endereço MAC de origem é o da porta que encaminha o LLDPDU, se a interface não tiver endereço MAC, será encaminhado o endereço reservado do Switch/Roteador
Type O Ethernet type usado para o LLDP é o 0x88CC for LLDP.
Data LLDP data unit (LLDPDU)
FCS Frame check sequence é um valor de CRC de 32-bit CRC usado para determinar a validade do recebimento do quadro Ethernet.
Os LLDPDUs
O LLDP usa os LLPDU’s para troca de informações. Dentro do LLDPDU há uma sequencia de campos TLV ( type [tipo], length [comprimento] e value [valor])
Um LLPDU pode carregar até 28 tipos de TLVs. Os itens obrigatóriso devem carregar:
TLV de identificação do Chassis
TLV de identificação da Porta
TTL TLV
TLV do fim do LLPDU
Outros campos são opcionais
A demonstração feita nos dá uma boa visão das informações carregadas pelo protocolo:
A saída do comando display lldp neighbor-information brief em um Switch HPN demonstra o estudo:
<Switch>display lldp neighbor-information brief
LLDP neighbor-information of port 469[GigabitEthernet1/9/0/1]:
Neighbor 1:
ChassisID/subtype: 3822-d6b6-4c01/MAC address
PortID/subtype : GigabitEthernet1/0/48/Interface name
Capabilities : Bridge,Router
Para os campos Opcionais é possível obter informações como Hostname, descrição do tipo de equipamento, endereço de gerenciamento, informação sobre VLANs, etc.
LLDP-MED
A extensão do LLDP chamada de Media Endpoint Discovery extension (MED) é muito utilizada para Telefonia IP e provê as seguintes informações:
Provisionamento de informações de politicas para a rede local agir de forma plug-and-play (como VLAN, Prioridades na marcação de pacotes e quadros para fins de QoS)
Identificação do local do dispositivo
Funções para PoE
etc
Configuração básica do LLDP
[Switch]lldp enable! Ativando o LLDP globalmente
[Switch]interface Ethernet 1/0/1
[Switch-Ethernet1/0/1]lldp enable! Ativando o LLDP na interface
Para ajuste de envio, recebimento ou desativar o LLDP em uma interface, existem as seguintes opções:
[Switch-Ethernet1/0/1]lldp admin-status ?
disable The port can neither transmit nor receive LLDP frames
rx The port can only receive LLDP frames
tx The port can only transmit LLDP frames
txrx The port can both transmit and receive LLDP frames
Obs: Fique sempre atento as informações encaminhadas pelo LLDP em uma rede local, pois o protocolo habilita inumeras informações que tornam a rede “vulnerável”. Certifique-se que o ambiente é controlado e desabilite o LLDP (se possível) após a coleta de informações!
Esses dias pesquisando em alguns blogs na Internet tive o prazer de encontrar o blog http://kontrolissues.net e conseguir trocar alguns emails com o Chris (administrador do site) . Após a aprovação do autor, fiz uma versão em português para o artigo “Cisco Phones on HP Comware Switches”.
A tecnologia PoE (Power over Ethernet) permite a transmissão de energia eletrica em um cabo de rede UTP juntamente com os dados – para alimentar câmeras IP, Access Point, telefones IP, etc…
A Cisco foi um dos primeiros fabricantes a incluir o PoE em seus Switches chamando a feature de Inline Power para energização de telefones IP. A versão era um pouco diferente do padrão IEEE 802.3af largamente utilizada pelos Switches de mercado atualmente.
Alguns modelos de telefone do fabricante como o 7940/7960 possuem somente suporte ao padrão Inline Power.
Em Switches HPN como o modelo 5500 é possível a energização dos telefones IP com suporte a feature legada com os seguintes comandos:
[HP_E5500EI]poe legacy enable pse 4
! Configurando globalmente o PoE para a versão legada do protocolo
[HP_E5500EI]Interface giga 1/0/1
[HP_E5500EI-GigabitEthernet1/0/1]poe enable
! Habilitando o PoE na Interface Giga1/0/1
Configuração da Vlan de Voz
Uma das grandes facilidades de atribuição dinâmica de VLAN para telefones Cisco dava-se pela comunicação entre o Telefone IP Cisco e o Switch Cisco via protocolo CDP atribuindo configurações para a VLAN de voz conforme desejo do administrador da rede. Enquanto outros fabricantes trabalhavam com os options do DHCP e posteriormente com o LLDP e o LLDP-MED devido ao fato do CDP ser exclusivo do fabricante Cisco.
Para a configuração dinâmica dos telefones para a VLAN de voz (voice vlan) em Switches HP com o sistema operacional Comware, há a possibilidade de usarmos o LLDP para atribuição dinâmica de VLAN para os pacotes de Voz ou via o OUI (Object Unique Identifier) do endereço MAC que basicamente identifica a primeira metade do endereço reservado para os fabricantes.
No exemplo abaixo mostraremos a atribuição dinâmica em Telefones Cisco em Switches HP.
“Para aqueles que realmente desejam fazer o “caminho correto”, será necessário executar os comandos “undo” nos endereços MAC cadastrados por padrão nos Switches HPN para a VLAN de Voz e incluir a configuração com as 128 linhas incluídas no final deste post. (Alguém sabe por que a Cisco queimou tantos? Sério? Isso é um monte de OUIs! Tenho certeza de que poderia ter lidado com isso com muito menos!).”
Cenário
Em nosso exemplo o Cisco Call Manager (CCM) está na VLAN 10 conectada no Switch HP 5500. O telefone IP está conectado na Interface GigabitEthernet 1/0/5 e o PC está conectado ao telefone.
O tráfego de voz será tagueado na VLAN 20 e o tráfego do PC será encaminhado sem tag e deverá ser direcionado na VLAN 30 pelo Switch.
!Removendo os endereços mac-oui mapeados por padrão nos Switches.
undo voice vlan mac-address 0001-e300-0000
undo voice vlan mac-address 0003-6b00-0000
undo voice vlan mac-address 0004-0d00-0000
undo voice vlan mac-address 0060-b900-0000
undo voice vlan mac-address 00d0-1e00-0000
undo voice vlan mac-address 00e0-7500-0000
undo voice vlan mac-address 00e0-bb00-0000
! Configurando os endereço mac-oui para resolver os telefones com suporte a LLDP-MED ou CDP
voice vlan mac-address 0000-0000-0000 mask ff00-0000-0000
voice vlan mac-address 8000-0000-0000 mask ff00-0000-0000
undo voice vlan security enable
! Ative o LLDP globalmente
lldp enable
! Habilitando o LLDP no modo compatível com CDP
lldp compliance cdp
Como você pode ver acima, em vez de ter centenas de endereços MAC cadastrados para VLAN
de Voz ... com toda a OUI Cisco (role até o fim para obter uma lista completa dos diferentes
endereços específicos da Cisco, que eu e meus colegas coletamos ao longo dos anos ), você
pode colocar tudo em uma única instrução que irá permitir que você envie a VLAN de Voz quando
qualquer telefone Cisco conecta à rede.
! Configuração para a interface
interface GigabitEthernet1/0/5
port link-mode bridge
port link-type trunk
port trunk pvid vlan 30
! Configurando a porta para receber o tráfego não tagueado na VLAN 30
undo port trunk permit vlan
! Removendo a VLAN 1 do Trunk. Não necessário para essa atividade.
port trunk permit vlan 20 30
! Permite a porta carregar o tráfego de dados e Voz separado em cada VLAN
undo voice vlan mode auto
! Desabilita o modo automatico de VLAN de Voz
voice vlan 20 enable
! Anuncia a VLAN 20 como VLAN de Voz via LLDP-MED e CDP nessa porta
broadcast-suppression pps 3000
undo jumboframe enable
apply poe-profile index 1
lldp compliance admin-status cdp txrx
! Permite pacotes CDPv2 nessa Interface
O jeito correto vs a realidade
Como a maioria de vocês já sabem, o mundo real é bem diferente da teoria. O método que eu mostrei acima realmente funciona, e remove o fardo de ter de acompanhar os endereços MAC OUIs exclusivos da Cisco. É o método mais seguro do mundo? Provavelmente não, mas a segurança é sempre uma troca entre o quanto é difícil de implementar e operar e como é importante para proteger o ativo de informação em questão.
A maioria das chamadas de telefone não são tão importantes para ser honesto.
Mas … para aqueles que realmente insistem em fazer o “caminho correto”, eu já incluiu esta lista não exaustiva dos endereço MAC OUIs que a Cisco colocou em seus Telefones IP ao longo dos anos. Isso é algo que eu e meus colegas temos coletado ao longo dos anos e espero que possa ajudar. Se você conhece novos endereços, por favor adicione nos comentários que atualizaremos a lista.
Se você notar que algo mudou e essa configuração não funcionar, por favor, sinta-se livre para escrever no blog e deixe-me saber.
Os Protocolos LLDP e o CDP permitem aos dispositivos de Rede trocarem informações com os equipamentos da LAN referente ao Modelo, Sistema Operacional, ID da porta e etc.
A feature é bastante útil para identificação de dispositivos da rede, para o desenho da Topologia, Telefonia IP, etc.
Diferente do LLDP, o CDP é um protocolo proprietário da Cisco! No exemplo abaixo configuraremos o Switch 7900 para compreender as mensagens CDP e assim construir a sua tabela com os dispositvios da rede. Configuração
lldp enable
! Ativando o LLDP globalmente
lldp compliance cdp
! Configurando o LLDP para compreender as mensagens CDP geradas
! pelo dispositivo Cisco
#
interface GigabitEthernet2/0/48port link-type trunkport trunk permit vlan alllldp enable
! Habilitando o LLDP na Interface
lldp compliance admin-status cdp txrx
! Habilitando a interface para administração das mensagens CDP
Comando display
[7500]display lldp neighbor-information
CDP neighbor-information of port 144[GigabitEthernet2/0/48]:
CDP neighbor index : 1
Chassis ID : Sw3750G
Port ID : GigabitEthernet1/0/43
Software version : Cisco IOS Software, C3750 Software (C3750-IPSERVICES-M),
Version 12.2(25)SEE2, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2006 by Cisco Systems, Inc.
Compiled Fri 28-Jul-06 08:46 by yenanh
Platform : cisco WS-C3750G-48TS
Duplex : Full
Obs: Diversas literaturas informam que o CDP e o LLDP possuem diversas vulnerabilidades pelas informações transmitidas pelo Protocolo. Usem com atenção! 😉
Nos ultimos anos, inúmeros fabricantes de redes disponibilizaram no mercado equipamentos com qualidade e preços interessantes que acabaram transformando o ambiente de rede das Empresas em um cenario misto de modelos e fabricante de equipamentos. Apesar de uma vantagem em termos de custo, infelizmente alguns protocolos proprietarios (mesmo que interessantes) criam uma barreira na integração de diversos serviços ou na reposição de Switches, Roteadores e etc.
Para o mapeamento e descoberta de dispositivos vizinhos na rede em ambientes controlados e Telefonia IP, a Cisco sugere a utilização do CDP, mas infelizmente o protocolo é proprietario do fabricante, limitando assim a sua utilização com outros modelos de equipamentos.
O protocolo LLDP é um padrão aberto para descoberta de dispotivos vizinhos muito similiar ao CDP, incluindo a utilização em features para voice vlan.
Nos testes abaixo ativamos o LLDP em um Switch Cisco 3750 e um Switch HPN 12500.
Configurando
Cisco3750(config)# lldp run
!Ativando o LLDP em um Switch Cisco
[HPN12K] lldp enable
!Ativando o LLDP em um Switch HPN 12500
Para visualizar o mapeamento de vizinhos no Cisco podemos utilizar
Cisco3750#show lldp neighbors
Capability codes:
(R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device
(W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other
Device ID Local Intf Hold-time Capability Port ID
HPN12k Gi1/0/4 180 B,R GigabitEthernet 9/0/11
Cisco3750#show lldp neighbors detail
Chassis id: 3822.d6a2.9999
Port id: GigabitEthernet9/0/11
Port Description: *:: Conexao Cisco 3750:
System Name: HPN 12K
System Description:
H3C Comware software. H3C S12508 Product Version S12500-CMW520-R1238P08.Copyright (c) 2004-2010 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
Time remaining: 129 seconds
System Capabilities: B,R
Enabled Capabilities: B,R
Management Addresses: IP: 192.168.1.145
Auto Negotiation - supported, disabled
Physical media capabilities - not advertised
Media Attachment Unit type: 30
Vlan ID: 1
Para visualizar o mapeamento de vizinhos no HPN podemos utilizar
[HPN 12K]display lldp neighbor-information
LLDP neighbor-information of port 478[GigabitEthernet1/9/0/11]:
Neighbor index : 1
Update time : 67 days,18 hours,7 minutes,55 seconds
Chassis type : MAC address
Chassis ID : 4055-39d4-8888
Port ID type : Interface name
Port ID : Gi1/0/4
Port description : *::Conexao HPN12k::
System name : Cisco3750
System description : Cisco IOS Software, C3750E Software(C3750E-UNIVERSALK9NPE-M), Version 12.2(55)SE1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Thu 02-Dec-10 06:09 by prod_rel_team
System capabilities supported : Bridge,Router
System capabilities enabled : Bridge,Router
Management address type : ipv4
Management address : 192.168.1.150
Management address interface type : SystemPortNumber
Management address interface ID : Unknown
Management address OID : 0