Comware: OSPF – Roteador Designado (DR) e Roteador Designado de Backup (BDR)

Para o estabelecimento de uma adjacência no OSPF os Roteadores vizinhos devem se reconhecer para trocarem informações, encaminhando e recebendo mensagens Hello nas Interfaces participantes do OSPF; no endereço de Multicast 224.0.0.5.

Durante estabelecimento da Adjacência, serão trocadas informações dos Roteadores da Rede como a informação da área, prioridade dos Roteadores, etc. Após a sincronizarem as informações, os Roteadores da área terão a mesma visão da Topologia e rodarão o algoritmo SPF para escolha do melhor caminho para chegar ao Destino.

Os Roteadores (já) Adjacentes encaminharão mensagens Hellos ( verificação da disponibilidade), mensagens LSA com as atualizações da rede e mensagens a cada 30 minutos de refresh de cada LSA para certificar que os a tabela OSPF (LSDB) esteja sincronizada.

Durante a falha de um Link, a informação é inundada (flooded) para todos os Roteadores Adjacentes da Área. 

Em ambientes Multiacesso como redes Ethernet, os Roteadores OSPF elegem um Roteador Designado (DR) para formar Adjacência e encaminhar os LSA’s somente para ele. O Roteador DR reencaminha os updates recebidos por um vizinho para os outros Roteadores na mesma LAN.

Há também a eleição de um Roteador Desingnado de Backup (BDR) para assumir em caso de falha do DR.

O método de eleição do DR e BDR é bastante efetivo e confiável para estabelecimento de Adjacências e mensagens trocadas para manutenção do OSPF, economizando assim recursos conforme o crescimento da Topologia.

Quando ocorre uma mudança na topologia o Roteador/Switch encaminha uma mensagem em Multicast para o endereço 224.0.0.6 que é destinada a todos Roteadores OSPF DR/BDR.

Após o recebimento do Update, o Roteador DR confirma o recebimento (LSAck) e reencaminha a mensagem para os demais roteadores da rede no endereço de Multicast 224.0.0.5; após o recebimento da atualização todos os roteadores deverão confirmar a mensagem ao Roteador Designado (LSAck), tornando o processo confiável.

Se algum Roteador estiver conectado à outras redes, o processo de flood é repetido!

Obs: O BDR não efetua nenhuma operação enquanto o DR estiver ativo!

Como é feita a eleição do DR e BDR? 

Durante o processo de estabelecimento de Adjacência é verificado o campo Priority na troca de mensagens Hello. O Roteador com maior valor é eleito o DR e o Roteador com segundo maior valor é eleito o BDR ( em cada segmento).

O valor default da prioridade de todos os Roteador é 1, no caso de empate, é escolhido o valor do ID do Roteador para desempate. Vence quem tiver o maior valor!

Obs: Se a prioridade for configurada como 0, o dispositivo nunca será um DR ou BDR. Nesse caso ele será classificado com DROther ( não DR e não BDR) 

Configurando
O valor da prioridade deverá ser configurado na Interface VLAN ou física (Ethernet, GigabitEthernet, etc) dos Switches/Roteadores com o processo de OSPF ativo:

interface Vlan-interface1
ip address 192.168.0.26 255.255.255.0
ospf dr-priority 3
!Configurando a Prioridade para eleição do DR/BDR com o valor 3

Porém….

A prioridade do DR e do BDR não é preemptiva, isto é, para manter a estabilidade da topologia se um dispositivo for eleito como DR e BDR, o mesmo não perderá esse direito até ocorrer algum problema no link ou no dispositivo eleito.

Conforme comando display abaixo em Switches Comware, o Switch configurado com a prioridade 3 perde a eleição (de tornar-se o DR) para dispositivo com a prioridade 4 ( pelo fato de ser inserido na topologia posteriormente a eleição do DR/BR).

[COMWARE]display ospf peer
OSPF Process 100 with Router ID 192.168.0.5
Neighbor Brief Information

Area: 0.0.0.0
Router ID Address Pri Dead-Time Interface State

192.168.0.13 192.168.0.13 0 38 Vlan1 Full/DROther
192.168.0.14 192.168.0.14 1 31 Vlan1 Full/DROther
192.168.0.20 192.168.0.20 1 34 Vlan1 Full/DROther
192.168.0.21 192.168.0.21 4 30 Vlan1 Full/DR
!Roteador DR com a prioridade 4

192.168.0.26 192.168.0.26 5 31 Vlan1 Full/DROther
! Roteador DROther com a prioridade 5 só será o DR na falha do DR e BDR
192.168.0.33 192.168.0.33 1 32 Vlan1 Full/BDR
! Roteador BDR com a prioridade 1
192.168.0.45 192.168.0.45 1 40 Vlan1 Full/DROther

O Switch com a Prioridade 5, irá tornar-se DR somente após falha no DR e no BDR.

Referencias:

Building Scalable Cisco Internetworks – Diane Teare/Catherine Paquet

Duvidas? Deixe um comentário!

Um grande abraço

Comware 7 – Configurando o GRE

O GRE (Generic Routing Encapsulation) é um protocolo de tunelamento que pode encapsular diversos protocolos dentro de tuneis IP, criando links ponto-a-ponto virtuais entre roteadores remotos.

O protocolo é extremamente funcional em diversos cenários, pois foi desenvolvido para permitir que redes remotas pareçam estar diretamente conectadas. Como o GRE não faz a criptografia, o GRE pode trabalhar em conjunto com IPsec para garantir a integridade das informações quando necessário.

Abaixo podemos observar a representação do encapsulamento de um pacote IP pelo GRE como também a inclusão de um novo cabeçalho.

O interessante é que o protocolo de transporte poderia ser o IPv6 e o protocolo encapsulado poderia ser o IPX, tráfego Multicast, etc; E ao ser entregue ao roteador de destino, o novo cabeçalho é removido e o pacote é entregue intacto.

Segue abaixo um exemplo de configuração de um túnel GRE para Roteadores com o Comware 7, fechando a adjacência OSPF entre 2 roteadores separados por uma rede MPLS. Nos testes usamos o roteador HP VSR1000.

Tabela de Rotas e tracert do Roteador R2

[R2]disp ip routing-table | inc O
192.168.1.0/24     O_INTRA 10  1563        192.168.13.1    Tun0

<R2>tracert 192.168.13.1
traceroute to 192.168.13.1 (192.168.13.1), 30 hops at most, 52 bytes each packet, press CTRL_C to break
 1  192.168.23.2 (192.168.23.2)  0.488 ms  0.523 ms  1.668 ms
 2  192.168.13.1 (192.168.13.1)  0.962 ms  5.463 ms  0.881 ms

<R2>tracert 192.168.1.1
traceroute to 192.168.1.1 (192.168.1.1), 30 hops at most, 52 bytes each packet, press CTRL_C to break
 1  192.168.1.1 (192.168.1.1)  1.116 ms  2.588 ms  1.731 ms

Comware 5: Protocolo de Tunelamento GRE

GRE (Generic Routing Encapsulation) é um protocolo de tunelamento que pode encapsular diversos protocolos dentro de túneis IP, criando links ponto-a-ponto virtuais entre roteadores remotos.

O protocolo é extremamente funcional em diversos cenários, pois foi desenvolvido para permitir que redes remotas pareçam estar diretamente conectadas. Como GRE não criptografa as informações que são transmitidas através do túnel, podemos utilizar o GRE em conjunto com IPsec para garantir a integridade das informações.

Abaixo podemos observar a representação de encapsulamento  de um pacote IP pelo GRE e a  inclusão de um novo cabeçalho.

O interessante é que o protocolo de transporte poderia ser o IPv6 e o protocolo encapsulado  poderia ser o IPX, tráfego Multicast, etc; E ao ser entregue ao roteador de destino, o novo cabeçalho é removido e o pacote é entregue intacto.

Agora você deve estar se perguntando. Em quais situações podemos usar o GRE ? Veja  o cenário:

Você em um dia normal como analista de redes e seu gerente de TI te informa que  sua   empresa acaba de adquirir uma nova filial e eles precisam ter acesso a alguns servidores que   estão na rede local do ambiente que você administra.  Depois de concluir todo processo de contratação do link e a conectividade com a filial estar finalizada, seu gerente de TI lhe informa   que na nova filial utilizará OSPF para declarar as redes locais.

Agora você pensa: como podemos configurar o OSPF nesses roteadores se eles não estão diretamente conectados? Como administrar o processo de roteamento via uma rede gerenciada pela Operadora como por exemplo, com MPLS,  que não está emulando um Lan-to-Lan ? É ai que entra o Túnel GRE.

Configuração

Antes de criar o tunnel, certifique-se que a origem e o destino mapeados na Interface Tunnel estejam acessíveis via roteamento. No nosso exemplo, usaremos  a Loopback.

Como os roteadores simularão uma conexão ponto-a-ponto, eles irão trocar informações  de  roteamento através do túnel como se estivessem diretamente conectados.

Por padrão o Comware habilita o protocolo GRE em túneis sem a necessidade de configuração adicional. Caso você precise utilizar uma Interface Tunnel para alguma outra função, segue abaixo algumas possibilidades:

[RA-Tunnel10]tunnel-protocol ?
  dvpn       Dynamic Virtual Private Network
  gre        Generic Routing Encapsulation
  ipsec      IPsec tunnel encapsulation
  ipv4-ipv4  tunnel mode ipv4 over ipv4
  ipv4-ipv6  tunnel mode ipv4 over ipv6
  ipv6-ipv4  tunnel mode ipv6 over(to) ipv4
  ipv6-ipv6  tunnel mode ipv6 over ipv6
  mpls       Multiprotocol Label Switching

Considerações para a utilização de Tunnel em Switches HP baseados no Comware

A utilização de interface Tunnel em Switches HP baseados no Comware pode ser um pouco mais complicada que em roteadores. Antes de utilizarmos o processo acima  é necessário criar uma configuração de “Service Loopback” (em alguns modelos de Switches), vincular à uma porta não utilizada (vazia) e também vincular o serviço ao Tunnel. Segue abaixo os passos:

• Crie um “tunnel-type service loopback group’.

• Adicione uma porta não utilizada ao “Service loopback group”.

# Criando o “Service-loopback” group 1 e especificando o tipo como tunnel.
[SwitchA] service-loopback group 1 type tunnel

# Vinculando a porta Giga 1/0/3 para o “Service-loopback” group 1. 
#Desabilite o STP e o LLDP da interface.
[SwitchA] interface GigabitEthernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] undo stp enable
[SwitchA-GigabitEthernet1/0/3] undo lldp enable
[SwitchA-GigabitEthernet1/0/3] port service-loopback group 1
[SwitchA-GigabitEthernet1/0/3] quit

# Aplique  o “Service-loopback” group 1 à interface tunnel.
[SwitchA] interface tunnel 0
[SwitchA-Tunnel0] service-loopback-group 1
[SwitchA-Tunnel0] quit
# O tunnel ficará up mesmo que a outra ponta não esteja configurada

Até a próxima

Comware 7: OSPF Virtual Link

O desenho de uma rede OSPF requer que todas as áreas estejam diretamente conectadas à Area Backbone (Area 0 [zero]) e que os roteadores da Area 0 estejam sempre conectados com roteadores da mesma área.

Para conexão entre roteadores de diferentes áreas, o tráfego deve passar sempre pela Area 0.

Um virtual link é um link lógico que permite a conexão entre equipamentos da Area 0 que estão separados logicamente mas podem utilizar uma outra Area OSPF como trânsito, ou entre áreas não-Backbone que precisam utilizar outra área como transito:

O OSPF virtual link deve ser usado somente em casos específicos, conexões temporárias ou cenários de backup em caso de falha.

Configurando OSPF Virtual link

No exemplo abaixo, o virtual link servirá na conexão entre dois roteadores da Area 0 que estão separados por uma falha no link.

R1
#
ospf 1
  area 0.0.0.0
  network 192.168.1.0 0.0.0.255
  network 192.168.11.0 0.0.0.255
 area 0.0.0.1
  network 192.168.12.0 0.0.0.255
  vlink-peer 192.168.3.3
#
R3
#
ospf 1
 area 0.0.0.0
  network 192.168.3.0 0.0.0.255
  network 192.168.33.0 0.0.0.255
 area 0.0.0.1
  network 192.168.23.0 0.0.0.255
  vlink-peer 192.168.1.1
#

Comandos display

[R1]display  ospf vlink
         OSPF Process 1 with Router ID 192.168.1.1
                 Virtual Links
 Virtual-link Neighbor-ID  -> 192.168.3.3, Neighbor-State: Full
 Interface: 192.168.12.1 (GigabitEthernet0/0)
 Cost: 2  State: P-2-P  Type: Virtual
 Transit Area: 0.0.0.1
 Timers: Hello 10, Dead 40, Retransmit 5, Transmit Delay 1

#
 [R1]display ospf peer
         OSPF Process 1 with Router ID 192.168.1.1
               Neighbor Brief Information
 Area: 0.0.0.1
 Router ID       Address         Pri Dead-Time  State             Interface
 192.168.12.2    192.168.12.2    1   35         Full/DR           GE0/0
 Virtual link:
 Router ID       Address         Pri Dead-Time  State             Interface
 192.168.3.3     192.168.23.3    1   36         Full              GE0/0

Até breve

Comware7 – Roteamento Multicast: PIM Dense-mode

A principal função de qualquer protocolo de roteamento dinâmico é auxiliar os roteadores no processo de encaminhamento dos pacotes com a utilização do melhor caminho para um determinado destino. As informações inseridas na tabela de roteamento incluem principalmente: a rede de destino, a forma de aprendizado da rota e o próximo salto, para endereços de rede unicast.

Entretanto quando um roteador recebe um pacote com endereço IPv4 multicast, ele não consegue encaminhar o pacote utilizando a tabela de roteamento IPv4 unicast pois os endereços multicast não são inseridos na tabela.

Os roteadores podem encaminhar os pacotes multicast somente através dos protocolos de roteamento como o multicast dense-mode sparse-mode, que se utilizam da tabela de roteamento unicast para encaminhamento do trafego.

Nesse artigo abordaremos o processo dense-mode para encaminhamento de tráfego IPv4 multicast.

Dense-mode

Os protocolos de roteamento multicast dense-mode assumem que um grupo multicast será solicitado em cada sub rede por ao menos um receptor (receiver). O design do dense-mode instrui o roteador para encaminhar o tráfego multicast em todas interfaces configuradas com dense-mode. Há algumas exceções para prevenção de loop, como validar se o endereço de origem do pacote, possui uma rota no roteador para interface que recebeu aquele pacote (RPF) e então nesse caso ele enviaria uma cópia do trafego multicast para todas as interfaces exceto aquela que o pacote foi recebido. 

Os roteadores com dense-mode entendem que todas as sub rede desejam receber uma cópia do tráfego multicast, exceto quando outros roteadores (downstream) não desejam receber o tráfego para aquele grupo ou quando um host diretamente conectado não deseja juntar-se ao grupo multicast. Quando essas condições são encontradas, os roteadores enviam mensagens de poda (prune message) para cessar o tráfego naquele segmento.

Falando do  RPF

Os protocolos de roteamento multicast usam a verificação de encaminhamento inverso (RPF – Reverse Path Forwarding) para garantir a entrega fluxo multicast criando entradas de roteamento multicast com base nas rotas unicast existentes ou rotas multicast estáticas. A verificação de RPF também ajuda a evitar loops de dados. Um fluxo multicast de entrada não será aceito ou encaminhado a menos que o fluxo seja recebido em uma interface de saída para a rota unicast no cabeçalho de origem do pacote.

No exemplo abaixo, o Roteador R4, irá apenas aceitar e encaminhar o fluxo multicast gerado pelo Multicast Sender 10.1.1.1 para o receiver, se recebido pela interface G0/0.

Falando um pouco mais do PIM  Dense-mode…

O protocolo de roteamento multicast PIM (Protocol Independent MulticastDense-mode, define uma serie de mensagens e regras para a comunicação eficiente de pacotes multicast; ele atua de forma independente do protocolo de roteamento IPv4 unicast, mas utilizando a tabela de roteamento unicastpara validação RPF. O protocolo PIM simplesmente confia na tabela de roteamento unicast.

O PIM estabelece relacionamento com seus vizinhos utilizando mensagens Hello que são enviadas a cada 30 segundos utilizando o protocolo IP 103 e o endereço 224.0.0.13 (All-PIM-Routers), o holdtimer geralmente é três vezes o tempo do hello. Caso o roteador não receba a mensagem hello durante o holdtime, ele considera a perda de adjacência com o vizinho.

Source-Based Distribution Tree

Quando um roteador PIM-DM recebe um pacote multicast, ele primeiro executa uma validação RPF. Uma vez que a validação confirmada, o roteador encaminha uma cópia do pacote multicast para todos os roteadores vizinhos com PIM-DM, exceto aquele que ele recebeu o pacote. Cada roteador PIM-DM repete todo o processo e inunda a rede com o trafego do grupo multicast, até o ultimo roteador da topologia – que não possui roteadores vizinhos abaixo (downstream).

Todo esse processo é chamado source-based distribution tree, shortest path tree (SPT) ou source tree. O tree (arvore) define o caminho entre source que origina o trafego multicast e o receiver, que recebe uma cópia do trafego multicast. O source é considerado a raiz e as sub redes como galhos e folhas das arvores.

O PIM-DM pode ter diferentes “arvores de distribuição” para cada combinação da origem do grupo multicast, pois o SPT irá se basear na origem e localização dos hosts de cada grupo multicast. A notação (S,G) refere-se a cada particular SPT, onde S é o endereço IP de origem  e G é o endereço do grupo multicast, como por exemplo (192.168.1.10,226.1.1.1).

Fazendo a poda – Prune message

Quando uma sub rede não precisa de uma cópia do trafego multicast o PIM-DM define um processo para os roteadores remover suas interfaces do SPT utilizando as mensagens PIM Prune.

A mensagem PIM Prune é enviada por um roteador a um segundo roteador para remover o link em que a poda é recebida para um particular (S,G) SPT.

Em razão do PIM-DM querer encaminhar o trafego para todas as interfaces (com o PIM configurado), após 3 minutos de receber uma mensagem de poda, ele retorna o encaminhamento de trafego multicast naquela interface. Caso o roteador que enviou a mensagem Prune não queira continuar recebendo o trafego multicast, ele enviara novamente a mensagem de poda. O processo de encaminhamento e poda ocorre periodicamente. As ramificações (sub-redes) podadas reiniciam o encaminhamento multicast quando o estado de poda expira e, em seguida, os dados são inundados novamente nesses segmentos de rede e, em seguida, os ramos são cortados novamente…

Graft

Quando um receptor em um segmento podado anteriormente se une a um grupo multicast, uma opção é esperar que os links podados, expirem. Entretanto, para reduzir a latência do join a um grupo multicast, O PIM-DM usa um mecanismo chamado graft para retomar o encaminhamento de dados para esse segmento, sem esperar que o tempo do prune expire.

Uma vez que o roteador envie a mensagem graft para um vizinho, que havia enviando uma mensagem prune anteriormente, o roteador irá encaminhar a porta para o estado de encaminhamento para determinado (S,G) SPT.

Assert

O mecanismo de assert desliga os fluxos de multicast duplicados para a mesma rede, onde mais de um roteador multicast encaminha o trafego para a LAN, ao eleger um encaminhador multicast exclusivo na rede local. Seguindo seguinte processo:

1. O roteador anuncia a menor distancia administrativa do protocolo de roteamento utilizado para aprender a melhor rota.

2. Se houver empate, o roteador escolhido terá a menor métrica para a origem

3. Se houver um novo empate, o roteador escolhido será o que tiver o maior endereço IP na interface local.

Exemplo de Configuração do PIM DM

No cenário abaixo, uma máquina da rede 192.168.2.0/24 deseja receber o fluxo multicast com o endereço 239.1.1.1. O Sw2 está configurando com OSPF e PIM o estabelecimento do roteamento Unicast e Multicast da rede.

Configuração de Sw2

#
vlan 2
vlan 12
#
interface Vlan-interface2
 ip address 192.168.2.1 255.255.255.0
 igmp enable
! Habilitando a interface para troca de mensagens IGMP
#
interface Vlan-interface12
 ip address 192.168.12.2 255.255.255.0
 pim dm
! Habilitando o PIM DM para Roteamento Multicast com o R1 
#
ospf 10
 area 0.0.0.0
  network 192.168.2.0 0.0.0.255
  network 192.168.12.0 0.0.0.255
! Configurando o OSPF para o Roteamento Unicast
#

Configuração de R1 (Roteador MSR)

multicast routing
#
interface GigabitEthernet 0/0
 ip address 192.168.1.0 255.255.255.0
 pim dm
#
interface GigabitEthernet 0/1
 ip address 192.168.12.1 255.255.255.0
 pim dm
#
ospf 10
 area 0.0.0.0
  network 192.168.1.0 0.0.0.255
  network 192.168.12.0 0.0.0.255
#

Comandos display

[Sw2]display pim neighbor
 Total Number of Neighbors = 1

 Neighbor        Interface           Uptime   Expires  DR-Priority Mode
 192.168.12.1    Vlan12              00:48:12 00:01:15 1           P
[Sw2]

[Sw2]display pim routing-table
 Total 0 (*, G) entry; 1 (S, G) entry
 (192.168.1.99, 239.1.1.1)
     Protocol: pim-dm, Flag:
     UpTime: 00:44:52
     Upstream interface: Vlan-interface12
         Upstream neighbor: 192.168.12.1
         RPF prime neighbor: 192.168.12.1
     Downstream interface(s) information:
     Total number of downstreams: 1
         1: Vlan-interface2
             Protocol: static, UpTime: 00:44:52, Expires: -
[Sw2]

Referências

HP 5920 & 5900 Switch Series – IP Multicast Configuration Guide

Comware 7: Configuração de VXLAN com BGP EVPN

O Ethernet Virtual Private Network (EVPN) é uma tecnologia VPN de Camada 2 VPN que fornece conectividade entre dispositivos tanto em Camada 2 como para Camada 3 através de uma rede IP. A tecnologia EVPN utiliza o MP-BGP como plano de controle (control plane) e o VXLAN como plano de dados/encaminhamento (data plane) de um switch/roteador. A tecnologia é geralmente utilizada em data centers em ambiente multitenant ( com múltiplos clientes e serviços) com grande tráfego leste-oeste.

A configuração do EVPN permite ao MP-BGP automatizar a descoberta de VTEPs, assim como o estabelecimento de tuneis VXLAN de forma dinâmica, a utilização de IRB (Integrated Routing and Bridging) anuncia tanto as informações  de Camada 2 e 3 para acesso ao host, fornecendo a utilização do melhor caminho através do ECMP e minimizando flood do trafego multidestination (BUM: broadcast,unicast unknown e multicast)  .

Em resumo o EVPN possui um address Family que permite que as informações de MAC, IP, VRF e VTEP sejam transportadas sobre o MP-BGP, que assim permitem aos VTEPs aprender informações sobre os hosts (via ARP/ND/DHCP etc.).

O BGP EVPN distribui e fornece essa informação para todos os outros pares BGP-EVPN dentro da rede.

Relembrando o VXLAN

O VXLAN prove uma rede de camada 2 sobreposta (overlay) em uma rede de camada 3 (underlay). Cada rede sobreposta é chamada de segmento VXLAN e é identificada por um ID único de 24 bits chamado VNI – VXLAN Network Identifier ou VXLAN ID.

A identificação de um host vem da combinação do endereço MAC e o VNI.  Os hosts situados em VXLANs diferentes não podem comunicar entre si (sem a utilização de um roteador). O pacote original enviado por um host na camada 2 é encapsulado em um cabeçalho VXLAN que inclui o VNI associado ao segmento VXLAN que aquele host pertence.

Os equipamentos que transportam os tuneis VXLAN são chamados de VTEP (VXLAN tunnel endpoints).

Quando um VXLAN VTEP ou tunnel endpoint comunica-se com outros VXLAN VTEP, um túnel VXLAN é estabelecido. Um túnel é meramente um mecanismo de transporte através de uma rede IP.

Todo o processamento VXLAN é executado nos VTEPs. O VTEP de entrada encapsula o tráfego com cabeçalho VXLAN, mais um cabeçalho UDP externo , mais um cabeçalhos IP externo, e então encaminha o tráfego por meio de túneis VXLAN. O VTEP do destino remove o encapsulamento VXLAN e encaminha o tráfego para o destino.

Os dispositivos da rede IP de transporte encaminham o tráfego VXLAN apenas com base no cabeçalho IP externo dos pacotes VXLAN (eles não precisam ter suporte à tecnologia VXLAN).

Um outro ponto importante é que a tecnologia VXLAN supera as limitações de apenas 4 mil domínios de broadcast fornecido por VLANs para até 16 milhões de domínios de broadcast com VNIs. Já para as limitações do Spanning-Tree que coloca os caminhos redundantes em estado de bloqueio, a tecnologia VXLAN permite a construção de todos os uplinks como parte de um backbone IP (rede underlay), utilizando protocolos de roteamento dinâmico para escolha do melhor caminho ao destino, assim fazendo uso do ECMP (Equal Cost Multipath) em uma topologia Spine-Leaf, por exemplo.

BGP EVPN

O BGP EVPN difere do comportamento “Flood and Learn” executado por tuneis VXLANs em diversas maneiras. Enquanto o tráfego multidestination (BUM: broadcast,unicast unknown e multicast) encaminhado pelo VXLAN sem o BGP EVPN necessita de utilizar grupos multicast, o EVPN permite a replicação da identificação dos dispositivos finais com o MP-BGP , assim como as informações do VTEP que ele está associado. As comunicações ARP para IPv4 também pode ser suprimida, aprimorando assim a eficiência do transporte dos dados.

LAB

No laboratório abaixo utilizamos os roteadores HP VSR no release R0621P18-X64, no EVE-NG.

Ambos os Spines estão configurados como VTEP e encaminharão o tráfego do VXLAN VNI 10. A instancia criada para esse cliente, chamamos de ‘clientea’.

Spine está configurado como BGP Router Reflector fechando peerring com ambos Leafs. Nenhum Leaf fecha peering BGP entre si, somente como Spine.

Configuração SPINE 1

#
 sysname Spine-01
#
interface LoopBack0
description OSPF_UNDERLAY
 ip address 192.168.0.1 255.255.255.255
#
interface LoopBack1
description BGP_EVPN_UNDERLAY
 ip address 192.168.0.11 255.255.255.255
#
interface GigabitEthernet1/0
description CONEXAO_LEAF3
 ip address 192.168.13.1  255.255.255.0
#
interface GigabitEthernet2/0
description CONEXAO_LEAF4
 ip address 192.168.14.1 255.255.255.0
#
ospf 1 router-id 192.168.0.1
 description UNDERLAY_OSPF
 area 0.0.0.0
  network 192.168.0.1 0.0.0.0
  network 192.168.0.11 0.0.0.0
  network 192.168.14.0 0.0.0.255
  network 192.168.13.0 0.0.0.255
#
bgp 65001
 group evpn internal
 peer evpn connect-interface LoopBack1
 peer 192.168.0.33 group evpn
 peer 192.168.0.44 group evpn
 #
 address-family l2vpn evpn
  undo policy vpn-target
  peer evpn enable
  peer evpn reflect-client
#

Configuração LEAF 3

#
 sysname Leaf-03
#
interface LoopBack0
description OSPF_UNDERLAY
 ip address 192.168.0.3 255.255.255.255
#
interface LoopBack1
description BGP_EVPN_UNDERLAY
 ip address 192.168.0.33 255.255.255.255
#
interface GigabitEthernet1/0
description CONEXAO_SPINE1
 ip address 192.168.13.3 255.255.255.0
 ospf network-type p2p
#
ospf 1 router-id 192.168.0.3
 description UNDERLAY_OSPF
 area 0.0.0.0
  network 192.168.0.3 0.0.0.0
  network 192.168.0.33 0.0.0.0
  network 192.168.13.0 0.0.0.255
#
bgp 65001
 peer 192.168.0.11 as-number 65001
 peer 192.168.0.11 connect-interface LoopBack1
 #
 address-family l2vpn evpn
  peer 192.168.0.11 enable
#
 vxlan tunnel mac-learning disable
#
 l2vpn enable
#
vsi clientea
 arp suppression enable
 vxlan 10
 evpn encapsulation vxlan
  route-distinguisher auto
  vpn-target auto export-extcommunity
  vpn-target auto import-extcommunity
  quit
#
interface GigabitEthernet3/0
 xconnect vsi clientea
#

Configuração LEAF 4

#
 sysname Leaf-04
#
interface LoopBack0
description OSPF_UNDERLAY
 ip address 192.168.0.4 255.255.255.255
#
interface LoopBack1
description BGP_EVPN_UNDERLAY
 ip address 192.168.0.44 255.255.255.255
#
interface GigabitEthernet2/0
description CONEXAO_SPINE2
 ip address 192.168.14.4 255.255.255.0
  ospf network-type p2p
#
ospf 1 router-id 192.168.0.4
 area 0.0.0.0
  network 192.168.0.4 0.0.0.0
  network 192.168.0.44 0.0.0.0
  network 192.168.14.0 0.0.0.255
#
bgp 65001
 peer 192.168.0.11 as-number 65001
 peer 192.168.0.11 connect-interface LoopBack1
 #
 address-family l2vpn evpn
  peer 192.168.0.11 enable
#
 vxlan tunnel mac-learning disable
#
 l2vpn enable
#
vsi clientea
 arp suppression enable
 evpn encapsulation vxlan
  route-distinguisher auto
  vpn-target auto export-extcommunity
  vpn-target auto import-extcommunity
  quit
  vxlan 10
  quit
#
interface GigabitEthernet3/0
 xconnect vsi clientea
#

Comandos Display bgp l2vpn evpn

Comando display vxlan tunnel

Referências

R2702-HPE FlexFabric 5940 & 5930 Switch Series EVPN Configuration Guide

KRATTIGER, Lukas; KAPADIA, Shyam; JANSEN, David; Building Data Centers with VXLAN BGP EVPN – A Cisco NX-OS Perspective – 2017 CiscoPress

Comware: Custo OSPF

O protocolo OSPF permite a todos roteadores em uma área a visão completa da topologia. O protocolo possibilita assim a decisão do caminho mais curto baseado no custo que é atribuído a cada interface, com o algoritmo Dijkstra. O custo de uma rota é a soma do custos de todas as interfaces de saída para um destino. Por padrão, os roteadores calculam o custo OSPF baseado na fórmula Cost =Reference bandwidth value / Link bandwidth.

Caso o valor da “largura de banda de referência” não seja configurado os roteadores usarão o valor de 100Mb para cálculo. Por exemplo, se a interface for 10Mb, calcularemos 100Mb dividido por 10Mb, então o custo da interface será 10. Já os valores fracionados, serão arredondados para valor inteiro mais próximo e toda velocidade maior que 100Mb será atribuido o custo 1.

Veja no exemplo abaixo:

O custo do Roteador R1 para os Roteadores vizinho é 1.

O mesmo para a interface loopback de R2 (o comware não adiciona o custo para as interfaces loopback)

O mesmo para a interface loopback de R2 (o comware não adiciona o custo para as interfaces loopback)

Caso seja necessário alterar a referência para largura de banda utilize o seguinte comando em um roteador HP Comware.

O “bandwidth- reference 100” é o default para 100Mb, onde 100Mb na topologia tem o custo = 1 .

Assim, para ter links 1G com o custo = 1 , o “auto-cost…” deve ser configurado como 1000. Se a referência for links 10G , “auto-cost…” seria 10000 , para 100G, seria 100000 .

Obs: Lembre-se de sempre manter o bandwidth- reference consistente em todos os roteadores para evitar comportamentos inesperados no roteamento.

Até logo

Alterando a distancia administrativa para os protocolos de Roteamento em Switches e Roteadores baseados no Comware

Há alguns posts atrás comentamos sobre a diferença da Distância Administrativa para as rotas aprendidas dinamicamente em Switches e Roteadores dos fabricantes Cisco e HP/H3C/3Com/Intelbras e a atenção que deve ser dada em ambientes com Protocolos de Roteamento que possuem Switches e Roteadores  de ambos fabricantes.

A Distância Administrativa possui apenas função local e não é compartilhada pelo protocolo de roteamento.

Como por exemplo, em um Roteador utilizando o OSPF (como IGP) e o BGP para aprender as “rotas externas”, se uma mesma rota fosse aprendida via OSPF e BGP, o comportamento para escolha do melhor caminho seria diferente em Rotadores Cisco (a distancia administrativa para o OSPF é 110 e o  eBGP é 20) e HPN ( o OSPF é 10 e o eBGP é 255). Lembrando que para prefixos iguais aprendido por diferentes protocolos o Roteador escolhe a rota com menor distância administrativa.

Uma coisa bacana do Comware é poder alterar o valor da distância administrativa  baseado no processo de Roteamento, por exemplo, se tivermos 2 processos OSPF rodando no Router/Switch é possível alterar a distancia administrativa em um dos processos sem afetar o outro ( muito útil quando se utiliza VRFs [ vpn-instance] em um mesmo roteador) .

Para redes que utilizam MP-BGP, tambem é possível alterar a distância administrativa no address-family do cliente.

Veja o exemplo abaixo para a tabela de roteamento Global (eBGP e iBGP com a distância adminstrativa em 255) e a tabela de roteamento da vpn-instance cliente-A (com o eBGP como 7 e o iBGP como 100).

<Router>display ip routing-table
Routing Tables: Public
Destinations : 18177     Routes : 18177

Destination/Mask    Proto  Pre  Cost         NextHop         Interface
0.0.0.0/0           BGP    255  0            10.180.226.197  GE3/1/6.100
192.168.9.0/24      BGP    255  0            10.180.226.197  GE3/1/6.100
192.168.10.0/24     BGP    255  0            10.180.226.197  GE3/1/6.100
192.168.11.0/24     BGP    255  0            10.180.226.197  GE3/1/6.100
<saída omitida>

<Router>display ip routing-table vpn-instance cliente-A
Routing Tables: cliente-A
Destinations : 1789      Routes : 1789
Destination/Mask    Proto  Pre  Cost         NextHop         Interface
1.1.1.1/32          BGP    7    0            192.168.176.217  GE9/1/7
2.2.2.0/29          BGP    7    0            192.168.176.217  GE9/1/7
192.168.80.0/30     BGP    100  0            192.168.229.193  NULL0
10.1.1.1/32         BGP    7    0            192.168.176.217  GE9/1/7
<saída omitida>

Para configurar a distancia administrativa dentro processo BGP ou dentro do processo “ipv4-family vpn-instance [nome da vrf]” no BGP use a sintaxe:

[Router-bgp]preference ?
INTEGER<1-255>  External preference
!Distancia administrativa para rotas aprendidas via eBGP

[Router-bgp]preference 7 ?
INTEGER<1-255>  Internal preference
!Distancia administrativa para rotas aprendidas via iBGP

[Router-bgp]preference 7 100 ?
INTEGER<1-255>  Local preference
!Distancia administrativa para rotas aprendidas via iBGP (locais)

[Router-bgp]preference 7 100 9 

Para o OSPF  utilize o commando preference para alterar a distância administrativa de rotas OSPF e OSPF ASE:

[Router-ospf-1]preference ?
INTEGER<1-255>  Preference value
ase             AS external link states

[Router-ospf-1]preference ase ?
INTEGER<1-255>  Preference value

Até logo!

Comware: OSPF – Comando Silent-Interface ( Passive Interface)

Durante as configurações do processo OSPF para Switches, Servidores ou Roteadores, algumas redes precisam ser declaradas no OSPF, mas isso não significa que elas (precisarão) formar adjacência com outros Roteadores – ao inserirmos uma rede com o comando network o equipamento começará a trocar mensagens OSPF por aquela interface.

O fato da interface gerar mensagens pelo protocolo OSPF a deixa vunerável ao aprendizado de mensagens de outros equipamentos que podem por consequência inserir redes por engano ou de forma maliciosa  (perdendo assim o controle sobre o Roteamento da rede).

Nesse caso poderemos deixar as interfaces Físicas e VLANs em modo silencioso, sem gerar mensagens do protocolo para a LAN.

O comando silent-interface  (em Switches e Roteadores 3Com/H3C/HP ) seguido do numero da interface VLAN ou Interface física, permitirá ao Switch/Roteador não gerar mensagens LSA.

ospf 100
silent-interface Vlan-interface1
! Configurando a interface VLAN 1 em modo silent
area 0.0.0.0
network 192.168.1.2 0.0.0.0
network 172.31.0.1 0.0.0.0

! As melhores práticas sugerem configurarmos todas as interfaces
! como silent ( passive) e habilitarmos somente as VLANs/Interfaces
! de adjacência com o comando undo silent-interface + Interface

silent-interface all
! Configurando todas as Interfaces VLAN como silent
undo silent-interface Vlan-interface 2
! Removendo a interterface VLAN 2 do silent

Dúvidas? Deixe um comentário!

Abraços a todos!

Distância administrativa em equipamentos Comware

A tabela de roteamento dos Switches L3 e Roteadores, insere os destinos aprendidos manualmente (rotas estáticas ou redes diretamente conectadas) ou dinamicamente (aprendidos via protocolo de roteamento dinâmico).

 Para os casos de uma destino ser aprendido de diferentes formas, como por exemplo, o prefixo 192.168.1.0/24 ser aprendido via RIP e OSPF, o Roteador dará preferência para a rota com  Distância Administrativa de menor valor, no caso, o destino aprendido via OSPF terá preferência pelo valor 10 em detrimento do protocolo RIP com o valor 100 (nesse exemplo a rota eo gateway da rede que será inserido na tabela de roteamento será o aprendido via OSPF).Perceba que as rotas diretamente conectadas possuem a prioridade 0 (zero) e serão roteadas internamente pelo dispositivo.

 A Distância Administrativa possui apenas função local e não é compartilhada pelo protocolo de roteamento. Um detalhe importante a ser percebido é a diferença com os valores atribuídos para a distancia administrativa para Roteadores Cisco. Em todo caso para evitar problemas em cenários com mais de 1 protocolo de roteamento, altere a métrica  em um dos dois dispositivos.

Distância Adm. HP Serie ADistância Adm. Cisco
Directly Connected00
OSPF10110
IS-IS15115
STATIC601
RIP100120
OSPF ASE150110
OSPF NSSA150110
IBGP255200
EBGP25520
Unknown256255

Abraços a todos