Comware 7: Comportamento do IRF após um SPLIT

O protocolo IRF v2 permite o “empilhamento” de Switches modulares e empilháveis (stackable), trazendo inúmeras vantagens como redundância, facilidade no gerenciamento, etc.

O IRF pode trazer problemas quando há a quebra do Link 10G que mantém o IRF ativo, essa quebra é chamada de SPLIT. Quando um equipamento percebe que o Master não está respondendo ele assume as suas funções, e nesse caso, com os 2 equipamentos funcionando, ocorrerá a duplicação de alguns serviços e trazendo diversos conflitos na Rede(lembrando que apenas a fibra que sincroniza as informações para o IRF foi danificada).

Publicamos alguns posts no blog com a configuração de proteção para que os equipamentos percebam quando ocorre um SPLIT e bloqueiem um dos equipamentos colocando-o em estado de Recovery, deixando todas as portas inutilizáveis.

É possível utilizar features como BFP e o LACP para monitoração do IRF v2 e escolher algumas interfaces mais críticas para continuarem encaminhando no caso de falha no cabo que conecta o IRF.

Um detalhe importante a ser percebido é que após a correção do SPLIT (com reparo do cabo 10G danificado) o Switch que estava em estado de Recovery reiniciará automaticamente para efetuar o merge (junção) novamente no IRF.
Segue abaixo as saídas após a quebra do IRF

[Switch]
#May 29 04:12:18:253 2000 Switch IFNET/4/INTERFACE UPDOWN:
Trap 1.3.6.1.6.3.1.1.5.3: Interface 11796529 is Down, 
ifAdminStatus is 1, ifOperStatus is 2
%May 29 04:12:18:254 2000 Switch IFNET/3/LINK_UPDOWN:
Ten-GigabitEthernet1/0/50 link status is DOWN.

System is busy with VIU configuration recovery, please wait a moment...

[Switch]disp mad verbose
Current MAD status: Recovery
Excluded ports(configurable):
Excluded ports(can not be configured):
Ten-GigabitEthernet1/0/50
MAD ARP disabled.
MAD LACP disabled.
MAD BFD enabled interface:
Vlan-interface10
mad ip address 192.168.1. 1 255.255.255.252 member 1
mad ip address 192.168.1. 2 255.255.255.252 member 2

! Após reconectarmos as portas do IRF o Switch reiniciará automaticamente 

%May 29 04:13:55:028 2000 Switch STM/6/STM_LINK_STATUS_UP:
IRF port 2 is up.

Comware 7: IRF v2 utilizando LACP com MAD

O IRF (Intelligent Resilient Framework) é uma tecnologia de virtualização de switches com o sistema Comware que permite interconectar múltiplos switches físicos, transformando-os em um único switch lógico.

Uma das coisas bacanas da utilização do IRF é a possibilidade de transformarmos diversos Switches físicos em um único Switch lógico facilitando o modo de gerenciamento. Todos os equipamentos serão visualizados como uma única “caixa”. Na versão 2 do protocolo é possível efetuar o Stacking utilizando links de 10G.

O “split brain” é um problema crítico que pode ocorrer em tecnologias de clusterização ou virtualização de dispositivos, como o IRF (Intelligent Resilient Framework) em switches Comware e ocorre quando a comunicação entre os membros do cluster é interrompida, fazendo com que cada parte do cluster passe a operar como um sistema independente, acreditando ser o único ativo. No contexto do IRF, isso significa que cada conjunto de switches isolados passa a se comportar como um switch lógico separado.

Para prevenir o split brain, o IRF utiliza o mecanismo MAD (Multi-Active Detection). O MAD monitora a conectividade entre os membros do IRF e toma medidas para evitar problemas em caso de falha na comunicação.

Como o LACP se integra ao MAD?

O LACP pode ser usado como um método de detecção MAD, oferecendo uma camada extra de proteção. A ideia principal é usar os pacotes LACP trocados entre os switches do IRF e um switch intermediário (ou outro dispositivo de rede) para monitorar a integridade da conexão.

Uma das features que podem ser utilizadas nesse cenário é a utilização de Link Aggregation distribuído (Ditribuited Link Aggregation) entre os equipamentos do IRF com Switches de acesso (sem configuração adicional no Link Aggregation).

Se um Switch empilhado apresentar algum problema, como por exemplo, problemas elétricos, o(s) outro(s) Switches serão capazes de permitir a continuidade do encaminhamento em Camada 2 e 3 (incluindo processos de Roteamento Dinâmico).

Porém, um dos problemas que o IRF pode trazer é quando ocorre uma quebra do Link 10G que mantém o IRF ativo, chamado de SPLIT. Cada caixa ira agir como se fosse o MASTER do IRF, duplicando alguns serviços e trazendo diversos conflitos na Rede.

O MAD é uma das formas para os Switches do Stack detectarem que houve o SPLIT no IRF colocando o Equipamento com o maior Member ID do IRF (não Master) em modo Recovery, bloqueando assim todas as suas portas.

Após restaurado o Link do IRF as portas serão vinculadas novamente o Stack e ao seu estado normal de encaminhamento.

Uma das formas utilizadas pelo MAD para detecção de falha é utilizando uma extensão do protocolo LACP ( Link Aggregation). No TLV do protocolo é inserido o ID do Switch membro do IRF. Nesse caso os Switches da outra ponta do Link Aggregation, encaminham de forma transparente os LACP’s para os Switches Membros do IRF.

Como no exemplo acima, se não há SPLIT no IRF, todas mensagens serão geradas pelo ID do MASTER.

Em caso de quebra do SPLIT as mensagens serão geradas com o ID de cada equipamento e nesse caso o bloqueio das portas do não-Master.

Após detecção as portas bloqueadas do IRF pelo LACP com MAD.

Configuração

A configuração abaixo deverá ser aplicada somente no Switch com o IRF versão 2 “já ativo”.

[S7500]interface bridge-aggregation 1
!Criando a Interface Bridge-Aggregation 1
[S7500-Bridge-Aggregation1] link-aggregation mode dynamic
! Ativando a troca do protocol LACP no Link Aggregation
[S7500-Bridge-Aggregation1] mad enable
! Ativando a extensão MAD no protocol LACP
[S7500-Bridge-Aggregation1] quit
[S7500] interface gigabitethernet 1/3/0/2
[S7500-GigabitEthernet1/3/0/2] port link-aggregation group 1
!Adicionando a interface ao Link Aggregation 1
[S7500-GigabitEthernet1/3/0/2] quit
[S7500] interface gigabitethernet 2/3/0/2
[S7500-GigabitEthernet2/3/0/2] port link-aggregation group 1
!Adicionando a interface ao Link Aggregation 1
[S7500-GigabitEthernet2/3/0/2] quit

Obs: Os switches de acesso conectados ao IRF pelo Link Aggregation não necessitam da configuração do MAD. Mas o fabricante sugere que esse Switch seja um equipamento H3C.

“Requires an intermediate switch, which must be an H3C switch that supports the extended LACP.”

Comandos Display

S7500] display mad
MAD LACP enabled.

Comando display após SPLIT do IRF no Switch não Master

[S7500]display mad verbose
Current MAD status: Recovery
! Switch não-Master em modo recovery após perceber o SPLIT no IRF
! (bloqueando todas as portas)
…………………………

MAD enabled aggregation port:
Bridge-Aggregation1

Obs: o modo Recovery também permite excluímos algumas portas para que continuem em estado de encaminhamento. Há também um segundo modo de utilizar o MAD para detecção de SPLIT utilizando o Protocolo BFD.

Comware 7: IRF v2 MAD + BFD

O protocolo IRF v2 permite o “empilhamento” de Switches modulares e empilháveis, trazendo inúmeras vantagens como redundância, facilidade no gerenciamento, etc.

Como citado em outros posts, um dos problemas que o IRF pode trazer ocorre quando há uma quebra do Link 10G que mantém o IRF ativo, chamado de SPLIT. Cada caixa ira agir como se fosse o MASTER do IRF, duplicando alguns serviços e trazendo diversos conflitos na Rede.

O “split brain” é um problema crítico que pode ocorrer em tecnologias de clusterização ou virtualização de dispositivos, como o IRF (Intelligent Resilient Framework) em switches Comware. Ele ocorre quando a comunicação entre os membros do cluster é interrompida, fazendo com que cada parte do cluster passe a operar como um sistema independente, acreditando ser o único ativo. No contexto do IRF, isso significa que cada conjunto de switches isolados passa a se comportar como um switch lógico separado.

Imagine um IRF com quatro switches. Se o link que conecta esses switches for interrompido no meio, o IRF se divide em dois grupos de dois switches. Cada grupo agora opera independentemente, com seus próprios endereços MAC, endereços IP de gerenciamento e tabelas de roteamento. Isso leva a sérios problemas na rede:

  • Duplicação de endereços IP e MAC: Cada parte do IRF agora pode ter o mesmo endereço IP de gerenciamento e os mesmos endereços MAC virtuais, causando conflitos na rede e tornando a comunicação imprevisível.
  • Loop de Camada 2: Se houver caminhos redundantes na rede que conectam as duas partes divididas, loops de Camada 2 podem se formar, causando tempestades de broadcast e paralisando a rede.
  • Inconsistências de roteamento: Cada parte do IRF terá suas próprias tabelas de roteamento, levando a decisões de roteamento incorretas e pacotes sendo enviados para destinos errados.
  • Perda de conectividade: Dispositivos conectados a diferentes partes do IRF dividido não conseguirão se comunicar entre si.

Causas do Split Brain em IRF:

  • Falha física nos links de interconexão: Cabos danificados, problemas nas portas dos switches ou falhas em equipamentos intermediários podem interromper a comunicação entre os membros do IRF.
  • Problemas de software: Bugs no software dos switches ou configurações incorretas podem levar à perda de comunicação entre os membros do IRF.
  • Sobrecarga da rede: Em casos extremos, uma sobrecarga massiva na rede pode afetar a comunicação entre os switches do IRF.

Mecanismos de Prevenção: MAD (Multi-Active Detection)

Multi-Active Detection (MAD) + BFD (Bidirecional Forwarding Detection)

O MAD é uma das formas para os Switches do Stack detectarem o SPLIT no IRF colocando o Equipamento com o maior Member ID do IRF (não Master) em modo Recovery, bloqueando assim todas as suas portas.

Uma das técnicas para detecção do SPLIT é com é com a utilização do protocolo BFD, criando uma VLAN somente para gerenciamento do IRF com um IP primário e secundário para comunicação do protocolo e um meio físico para conexão das “caixas” (fibra ou UTP) independente da comunicação do IRF.

Configuração

A configuração abaixo deverá ser aplicada somente no Switch com o IRF versão 2 formado.

#
Vlan 900
#
interface Vlan-interface900
description Monitoracao IRFv2 (MAD + BFD)
mad bfd enable
!Ativando o MAD + BFD
mad ip address 192.168.0.1 255.255.255.252 member 1
! Configurando o IP do Switch “1”
mad ip address 192.168.0.2 255.255.255.252 member 2
! Configurando o IP do Switch “2”
#
Obs: cada Switch deverá ter uma porta na VLAN 900 para comunicação do BFD. 
As interfaces não participarão do STP.

Comandos Display

[S7500] display mad
MAD LACP enabled.

Comando display após SPLIT do IRF no Switch não Master
[S7500]display mad verbose
Current MAD status: Detect
! Em caso de SPLIT o Switch não-Master exibiria o status como Recovery
Excluded ports(configurable):
Excluded ports(cannot be configured):
Ten-GigabitEthernet1/8/0/1
Ten-GigabitEthernet1/9/0/2
Ten-GigabitEthernet2/8/0/1
Ten-GigabitEthernet2/9/0/2
MAD LACP disabled.
MAD BFD enabled interface:
Vlan-interface900
mad ip address 192.168.0.1 255.255.255.252 member 1
mad ip address 192.168.0.2 255.255.255.252 member 2

Até logo!

Comware: Alterando a distância administrativa para as rotas estáticas para Switches e Roteadores

Eu já escrevi alguns post sobre a atenção que deve ser dada para a integração entre Switches e Roteadores baseados no Cowmare quando há a necessidade de compartilhar o roteamento dinâmico.

Como no exemplo abaixo, podemos ver que por padrão, toda rota estática é atribuída com o valor 60 para a distância administrativa. De forma didática, faço a comparação nas duas saídas do comando “display ip routing-table” da escolha da tabela de Roteamento pela rota aprendida com a menor distância adminstrativa (no primeiro quadro via rota estática e no segundo exemplo via OSPF).

[Switch] ip route-static 192.168.10.0 255.255.255.0 192.168.12.2
[Switch]
[Switch] display ip routing-table
Routing Tables: Public
Destinations : 5 Routes : 5

Destination/Mask Proto Pre Cost NextHop Interface

127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
192.168.10.0/24 Static 60 0 192.168.12.2 Eth0/0/0
192.168.12.0/30 Direct 0 0 192.168.12.1 Eth0/0/0
192.168.12.1/32 Direct 0 0 127.0.0.1 InLoop0

Com a rota aprendida dinâmicamente via OSPF (e a estática ainda configurada), percebam que o roteador insere apenas a rota com a menor distância administrativa (valor 10 para o OSPF).

[Switch]display ip routing-table
Routing Tables: Public
Destinations : 5 Routes : 5

Destination/Mask Proto Pre Cost NextHop Interface

127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
192.168.10.0/24 OSPF 10 2 192.168.12.2 Eth0/0/0
192.168.12.0/30 Direct 0 0 192.168.12.1 Eth0/0/0
192.168.12.1/32 Direct 0 0 127.0.0.1 InLoop0

Apesar da rota aprendida dinâmicamente “tomar” o lugar da rota estática e possuir o mesmo next-hop (no caso 192.168.12.2, interface Eth0/0/0), em redes mais complexas, o roteamento poderia escolher um caminho menos desejado pelo administrador de rede, visto que em equipamentos de outros fabricantes as rotas estáticas são atribuídas com a distâncias administrativa 1 ( e isso pode passar desapercebido ).

O comando “ip route-static default-preference 1” ajuda aqueles que estão acostumados a trabalhar com ambos roteamento dinâmico e estático, permitindo que as novas rotas configuradas possuam a distância adminstrativa 1 (nesse caso, melhor que todos os protocolos de Roteamento Dinâmico).

[Switch] ip route-static default-preference 1

Caso você prefira escolher manualmente o peso que cada rota terá, basta adicionar o “preference” no final de cada rota.

[Switch] ip route-static 192.168.20.0 255.255.255.0 192.168.12.2  preference ?
INTEGER Preference value range

Abração

Comware 7: Configurando o IRF

O IRF (Intelligent Resilient Framework) é uma tecnologia de virtualização de switches baseados no Comware que permite interconectar múltiplos switches físicos, transformando-os em um único switch lógico. Todos os equipamentos serão visualizados como uma única “caixa”, aumentando a disponibilidade da rede.

Uma das facilidades da versão 2 é a possibilidade de utilizarmos interfaces 10G para a construção IRF (sem a necessidade de cabos ou módulos específicos ) e possibilidade da utilização de Switches Modulares para construção da topologia.

Em resumo, o IRF simplifica a administração, aumenta a resiliência e a escalabilidade da rede, tratando vários switches como um só. É como se você tivesse um único switch com mais recursos computacionais e alta disponibilidade.

Pontos importantes sobre o IRF:

  • Conexão física: Os switches são conectados através de portas específicas de alta velocidade, geralmente 10G ou superiores.
  • Topologia: O IRF suporta diferentes topologias, como anel ou estrela.
  • Configuração: A configuração do IRF é relativamente simples, envolvendo a definição de um ID para cada switch e a configuração das portas de conexão.
  • Split Brain: Um problema que pode ocorrer no IRF é o “split brain”, onde a conexão entre os switches é interrompida, fazendo com que cada parte do IRF se comporte como um switch independente, o que pode causar problemas na rede. Mecanismos como o MAD (Multi-Active Detection) ajudam a prevenir esse problema.

Configuração

A configuração do IRF é dividida nos passos abaixo ( utilizaremos[Sw1] e [Sw2] antes dos comandos para diferenciarmos os dispositivos):

1º Converta os 2 Switches no modo IRF

[Sw1]chassis convert mode irf
! Convertendo o Switch 1 no modo IRF

[Sw2]chassis convert mode irf
! Convertendo o Switch 2 no modo IRF

Após a conversão dos Chassis para modo IRF, reinicie os Switches. Os equipamentos subirão com a configuração dos módulos como 1/2/0/1 ( para a porta antes exibida na configuração como 2/0/2; e assim por diante)

2º Renumere o Segundo Switch 

[Sw2]irf member 1 renumber 2
! Forçaremos as portas do Switch 2 para exibirem no formato 2/2/0/x

Reinicie o Switch

3º Altere a prioridade do Switch Master

[Sw1]irf member 1 priority 32
! O Switch com maior prioridade será eleito o Master ( por default a prioridade de todos os Switches será 1)

4º Deixe as portas 10G que participarão do IRF em shutdown.

[Sw1] interface Ten-GigabitEthernet1/3/0/2
[Sw1-Ten-GigabitEthernet1/3/0/2] shutdown
! Configurando a porta 10G 1/3/0/1 do Switch 1 em shutdown

[Sw2] interface Ten-GigabitEthernet2/3/0/2
[Sw2-Ten-GigabitEthernet2/3/0/2] shutdown
! Configurando a porta 10G 2/3/0/1 do Switch 2 em shutdown

5º Crie a interface lógica para o IRF 

[Sw1] irf-port 1/2 
! Criando a interface lógica IRF 1/2
[Sw1-irf-port 1/2] port group interface Ten-GigabitEthernet1/3/0/2 mode enhanced
! Adicionando a porta 10G 1/3/0/2 do Switch 1 na interface IRF no modo enhanced

[Sw2] irf-port 2/1
! Criando a interface lógica IRF 2/1
[Sw2-irf-port 2/1] port group interface Ten-GigabitEthernet2/3/0/2 mode enhanced
! Adicionando a porta 10G 2/3/0/2 do Switch 1 na interface IRF no modo enhanced

Obs: O fabricante sugere a configuração das portas IRF em modo cruzado, como por exemplo, a porta IRF 1/2 do Switch 1 conectado na porta IRF 2/1 do Switch 2

6º Remova as portas 10G do Shutdown

[Sw1] interface Ten-GigabitEthernet1/3/0/1
[Sw1-Ten-GigabitEthernet1/3/0/2]undo shutdown


[Sw2] interface Ten-GigabitEthernet2/3/0/1
[Sw2-Ten-GigabitEthernet2/3/0/2] undo shutdown

Após removermos a porta do Switch 2 participante do IRF do shutdown, será exibida a seguinte mensagem:

IRF merge occurs and the IRF system needs a reboot.

Salve a configuração dos 2 Switches e reinicie o Segundo Switch ( o dispositivo não-Master). Espere os módulos subirem e os Switches tornarem-se um só!
Display

Para verificar o IRF podemos utilizar os comandos abaixo

[SW1]display irf configuration

MemberID NewID IRF-Port1 IRF-Port2

1 1 disable Ten-GigabitEthernet1/3/0/2
2 2 Ten-GigabitEthernet2/3/0/2 disable

[SW1]display irf topology

Topology Info
---------------------------------------

IRF-Port1 IRF-Port2

Switch Link neighbor Link neighbor Belong To
1 DIS -- UP 2 00e0-fc0a-15e0
2 UP 1 DIS -- 00e0-fc0a-15e0

Configuração final após o IRF concluído.

[SW1]display current-configuration
#
version 5.20, Release 6605P03
#
sysname SW1
#
irf mac-address persistent always
undo irf link-delay
irf member 1 priority 32
#
lldp enable
#
switch-mode standard chassis 1
switch-mode normal chassis 1 slot 2
switch-mode normal chassis 1 slot 3
switch-mode standard chassis 2
switch-mode normal chassis 2 slot 2
switch-mode normal chassis 2 slot 3
#
vlan 1
#
stp enable
#
interface GigabitEthernet1/2/0/1
#
interface GigabitEthernet1/2/0/2
#
interface GigabitEthernet1/2/0/3
#
interface GigabitEthernet1/2/0/4
#
interface GigabitEthernet1/2/0/5
#
interface GigabitEthernet1/2/0/6
#
interface GigabitEthernet1/2/0/7
#
interface GigabitEthernet1/2/0/8
#
interface GigabitEthernet1/2/0/9
#
interface GigabitEthernet1/2/0/10
#
interface GigabitEthernet1/2/0/11
#
interface GigabitEthernet1/2/0/12
#
interface GigabitEthernet1/2/0/13
#
interface GigabitEthernet1/2/0/14
#
interface GigabitEthernet1/2/0/15
#
interface GigabitEthernet1/2/0/16
#
interface GigabitEthernet1/2/0/17
#
interface GigabitEthernet1/2/0/18
#
interface GigabitEthernet1/2/0/19
#
interface GigabitEthernet1/2/0/20
#
interface GigabitEthernet1/2/0/21
#
interface GigabitEthernet1/2/0/22
#
interface GigabitEthernet1/2/0/23
#
interface GigabitEthernet1/2/0/24
#
interface GigabitEthernet1/2/0/25
shutdown
#
interface GigabitEthernet1/2/0/26
shutdown
#
interface GigabitEthernet1/2/0/27
shutdown
#
interface GigabitEthernet1/2/0/28
shutdown
#
interface GigabitEthernet1/2/0/29
shutdown
#
interface GigabitEthernet1/2/0/30
shutdown
#
interface GigabitEthernet1/2/0/31
shutdown
#
interface GigabitEthernet1/2/0/32
shutdown
#
interface GigabitEthernet2/2/0/1
#
interface GigabitEthernet2/2/0/2
#
interface GigabitEthernet2/2/0/3
#
interface GigabitEthernet2/2/0/4
#
interface GigabitEthernet2/2/0/5
#
interface GigabitEthernet2/2/0/6
#
interface GigabitEthernet2/2/0/7
#
interface GigabitEthernet2/2/0/8
#
interface GigabitEthernet2/2/0/9
#
interface GigabitEthernet2/2/0/10
#
interface GigabitEthernet2/2/0/11
#
interface GigabitEthernet2/2/0/12
#
interface GigabitEthernet2/2/0/13
#
interface GigabitEthernet2/2/0/14
#
interface GigabitEthernet2/2/0/15
#
interface GigabitEthernet2/2/0/16
#
interface GigabitEthernet2/2/0/17
#
interface GigabitEthernet2/2/0/18
#
interface GigabitEthernet2/2/0/19
#
interface GigabitEthernet2/2/0/20
#
interface GigabitEthernet2/2/0/21
#
interface GigabitEthernet2/2/0/22
#
interface GigabitEthernet2/2/0/23
#
interface GigabitEthernet2/2/0/24
#
interface GigabitEthernet2/2/0/25
shutdown
#
interface GigabitEthernet2/2/0/26
shutdown
#
interface GigabitEthernet2/2/0/27
shutdown
#
interface GigabitEthernet2/2/0/28
shutdown
#
interface GigabitEthernet2/2/0/29
shutdown
#
interface GigabitEthernet2/2/0/30
shutdown
#
interface GigabitEthernet2/2/0/31
shutdown
#
interface GigabitEthernet2/2/0/32
shutdown
#
interface M-Ethernet1/0/0/0
#
interface Ten-GigabitEthernet1/3/0/1
#
interface Ten-GigabitEthernet2/3/0/1
#
interface Ten-GigabitEthernet1/3/0/2
#
interface Ten-GigabitEthernet2/3/0/2
#
load xml-configuration
#
user-interface aux 1/0
user-interface aux 2/0
user-interface vty 0 4
#
irf-port 1/2
port group interface Ten-GigabitEthernet1/3/0/2 mode enhanced
#
irf-port 2/1
port group interface Ten-GigabitEthernet2/3/0/2 mode enhanced
#

Abraços

Comware 7: Configurando o Route-Aggregation

Diferente da agregação de links com Brige-Aggregation (Link Aggregation ou EtherChannel), que opera na camada 2 (enlace de dados), o Route-Aggregation atua na camada 3 (rede). Ela permite combinar múltiplas interfaces físicas em uma única interface lógica, configurar endereço IP, limitar o dominio de broadcast na interface, aumentar a capacidade de transmissão e fornecer redundância em interfaces no modo routed.

Conceitos Chave:

  • Interface Route Aggregation: A interface virtual que representa o conjunto de interfaces físicas agregadas.
  • Interfaces Membro: As interfaces físicas que compõem o grupo de agregação.
  • Modos de Operação: Algoritmos que determinam como o tráfego é distribuído entre as interfaces membro.

Como Configurar Agregação de Rotas no Comware:

A configuração envolve os seguintes passos:

  1. Crie a Interface Route Aggregation:
  2. [Sysname] interface Route-Aggregation <número>

Substitua <número> por um identificador único para a interface.

  1. Escolha o Modo de Operação (Recomendado):
    • hash: Distribui o tráfego usando um hash dos endereços IP de origem e destino, oferecendo um bom balanceamento de carga na maioria dos casos.
    • load-share: Distribui o tráfego de forma mais uniforme, independentemente dos endereços IP.

Exemplos:

[Sysname-Route-Aggregation<número>] aggregation mode hash

ou

[Sysname-Route-Aggregation<número>] aggregation mode load-share

  1. Adicione as Interfaces Membro:

Em cada interface física a ser incluída na agregação:

[Sysname-GigabitEthernet<número>] port link-mode route

[Sysname-GigabitEthernet<número>] aggregation <número da Route-Aggregation>

port link-mode route configura a interface para operar na camada 3.

  1. Configure o Endereçamento IP na Interface Route Aggregation:

Atribua um endereço IP à interface lógica:

[Sysname-Route-Aggregation<número>] ip address <endereço IP> <máscara de sub-rede>

Exemplo Prático:

Agregando GigabitEthernet1/0/1 e GigabitEthernet1/0/2 na Route-Aggregation 1 usando o modo hash:

[Sysname] interface Route-Aggregation 1

[Sysname-Route-Aggregation1] aggregation mode hash

[Sysname-Route-Aggregation1] ip address 192.168.1.1 255.255.255.0

[Sysname] interface GigabitEthernet1/0/1

[Sysname-GigabitEthernet1/0/1] port link-mode route

[Sysname-GigabitEthernet1/0/1] aggregation 1

[Sysname] interface GigabitEthernet1/0/2

[Sysname-GigabitEthernet1/0/2] port link-mode route

[Sysname-GigabitEthernet1/0/2] aggregation 1

Dependendo da versão do Comware a configuração pode ser como o modelo abaixo

[Router]interface route-aggregation 1

link-aggregation mode dynamic

! Habilitando a formação do Route-Aggregation via LACP

ip address 192.168.1.1 255.255.255.0

! Atribuindo um endereço IP a Interface

quit

!

# Configurando as portas para participarem do Route-Aggregation

interface Gigabitethernet 3/0/1

port link-aggregation group 1

quit

interface Gigabitethernet 3/0/2

port link-aggregation group 1

quit

Verificação:

Use display route-aggregation <número> para monitorar o status da agregação.

Para visualizar se a agregação de portas foi executada corretamente, utilize o comando display link-aggregation summary

[Router] display link-aggregation summary

Aggregation Interface Type:

BAGG — Bridge-Aggregation, RAGG — Route-Aggregation

Aggregation Mode: S — Static, D — Dynamic

Loadsharing Type: Shar — Loadsharing, NonS — Non-Loadsharing

Actor System ID: 0x8000, 000f-e2ff-0001

AGG         AGG       Partner ID               Select Unselect   Share

Interface   Mode                               Ports  Ports      Type

———————————————————————

RAGG1       D         0x8000, 000f-e2ff-00aa   2      0          Shar

Diferenças entre Bridge Aggregation e Route Aggregation:

CaracterísticaBridge AggregationRoute Aggregation
Camada de OperaçãoCamada 2Camada 3
Tipo de TráfegoEthernetIP
EndereçamentoNão necessário nas interfaces membroNecessário na interface Route Aggregation
Função PrincipalLargura de banda e redundância entre switchesLargura de banda e redundância entre roteadores

Observações Importantes:

  • As interfaces membro devem ter a mesma velocidade e configuração duplex.
  • A configuração deve ser consistente em ambos os lados da conexão.

Consulte a documentação específica do seu equipamento Comware para detalhes adicionais e configurações avançadas. Implementar a agregação de rotas pode melhorar significativamente o desempenho e a resiliência da sua rede.

Comware 7: QinQ

A feature QinQ (802.1q sobre 802.1q), conhecido também como Stacked VLAN ou VLAN sobre VLAN, suporta a utilização de duas TAGs 802.1q no mesmo frame para trafegar uma VLAN dentro de outra VLAN – sem alterar a TAG original.

Para o cliente é como se a operadora tivesse estendido o cabo entre os seus Switches. Já para a Operadora não importa se o cliente está mandando um frame com TAG ou sem TAG, pois ele adicionará mais uma TAG ao cabeçalho e removerá na outra ponta apenas a ultima TAG inserida.

Em resumo, o tráfego no sentido  de entrada na porta configurada com QinQ, adicionará uma TAG 802.1q ao quadro, mesmo em casos que já houver a marcação de VLANs, entretanto no sentido de saída, é removido apenas a última TAG acrescentada, sendo mantida a TAG 802.q inserida pelo cliente.

Passos para Configurar o QinQ em Comware 7:

  1. Entrar no Modo de Configuração do Sistema:

<Sysname> system-view

  1. Configurar a Interface para QinQ:
    • Entrar no modo de configuração da interface:
    • [Sysname] interface <tipo-de-interface> <número-da-interface>

Exemplo: [Sysname] interface GigabitEthernet1/0/1

  1. Habilitar o QinQ Básico:

Para habilitar o QinQ básico na interface:

[Sysname-GigabitEthernet1/0/1] qinq enable

  1. Configurar a S-VLAN (Para QinQ Básico):

Após habilitar o QinQ básico, configure a S-VLAN que será adicionada aos frames:

[Sysname-GigabitEthernet1/0/1] port vlan <ID-da-S-VLAN>

Exemplo: [Sysname-GigabitEthernet1/0/1] port vlan 100

  1. Configurar o QinQ Seletivo (Opcional):

Para habilitar o QinQ seletivo e mapear C-VLANs específicas para uma S-VLAN:

  1. Criar um mapeamento de VLAN:
  2. [Sysname] vlan mapping <ID-da-C-VLAN> to <ID-da-S-VLAN>

Exemplo: [Sysname] vlan mapping 10 to 100 (mapeia a C-VLAN 10 para a S-VLAN 100)

  1. Habilitar o QinQ seletivo na interface e aplicar o mapeamento:
  2. [Sysname-GigabitEthernet1/0/1] qinq selective
  3. [Sysname-GigabitEthernet1/0/1] port link-type hybrid
  4. [Sysname-GigabitEthernet1/0/1] undo port hybrid vlan <ID-da-S-VLAN>
  5. [Sysname-GigabitEthernet1/0/1] port hybrid tagged-vlan <ID-da-S-VLAN>

Note que em Selective QinQ, a porta precisa estar em modo hybrid e a S-VLAN precisa estar configurada como tagged.

  1. Configurar o TPID (Opcional):

Se o provedor de serviços usar um TPID diferente de 0x8100, configure-o na interface:

[Sysname-GigabitEthernet1/0/1] qinq tpid <valor-TPID>

Exemplo: [Sysname-GigabitEthernet1/0/1] qinq tpid 0x88a8

Exemplo de Configuração de QinQ Básico:

Um switch conecta a rede do cliente (com VLANs 10 e 20) à rede do provedor usando a S-VLAN 100:

<Sysname> system-view

[Sysname] interface GigabitEthernet1/0/1

[Sysname-GigabitEthernet1/0/1] qinq enable

[Sysname-GigabitEthernet1/0/1] port vlan 100

Neste exemplo, todos os frames que entram na interface GigabitEthernet1/0/1 receberão a tag S-VLAN 100.

Exemplo de Configuração de QinQ Seletivo:

Mapear a C-VLAN 10 para a S-VLAN 100 e a C-VLAN 20 para a S-VLAN 200:

<Sysname> system-view

[Sysname] vlan mapping 10 to 100

[Sysname] vlan mapping 20 to 200

[Sysname] interface GigabitEthernet1/0/1

[Sysname-GigabitEthernet1/0/1] qinq selective

[Sysname-GigabitEthernet1/0/1] port link-type hybrid

[Sysname-GigabitEthernet1/0/1] undo port hybrid vlan 100

[Sysname-GigabitEthernet1/0/1] port hybrid tagged-vlan 100

[Sysname-GigabitEthernet1/0/1] undo port hybrid vlan 200

[Sysname-GigabitEthernet1/0/1] port hybrid tagged-vlan 200

Verificação:

  • display interface <tipo-de-interface> <número-da-interface>: Exibe informações sobre a interface, incluindo a configuração de QinQ.
  • Capturas de pacotes (usando um analisador de protocolo como o Wireshark) podem ser usadas para verificar as tags VLAN nos frames.

Considerações Importantes:

  • MTU (Maximum Transmission Unit): O QinQ adiciona bytes extras ao frame, o que pode exigir o ajuste do MTU nas interfaces envolvidas para evitar fragmentação. Geralmente, aumenta-se o MTU para 1504 ou 1508 bytes. O comando é: [Sysname-GigabitEthernet1/0/1] mtu 1504.
  • Interoperabilidade: Certifique-se de que os switches em ambas as extremidades da conexão QinQ sejam compatíveis e estejam configurados corretamente.

Configurando

No Exemplo acima deveremos configurar nos Switches A e B uma VLAN para cada cliente e a configurar as interfaces conectadas aos Switches do cliente, como qinq enable. Como detalhe, percebam que é necessário desabilitar o STP em cada interface para os BPDU’s de cada empresa não interferir na topologia STP de cada uma. Segue abaixo a configuração dos Switches A e B:

Vlan 10
name clienteA
!
Vlan 11
name clienteB
!
Vlan 12
name clienteC
!
Interface GigabitEthernet x/y/z
port link-type access
qinq enable
stp disable

Em caso de necessidade de transporte de protocolos de camada 2 como CDP, LLDP, STP e etc, é possivel utilizar na interface algum dos comandos abaixo:

bpdu-tunnel dot1q cdp dldp eoam gvrp hgmp lacp lldp |pagp pvst
stp udld vtp }

A configuração dos Switches de cada cliente não sofre nenhuma alteração em particular e a visão de cada um  será  como se os Switches estivessem diretamente conectados.

Comware 7: QoS – Efetuando a marcação de Pacotes com Policy

A densidade de portas e banda disponivel em modernos Switches empilhaveis ou modulares permite um bom desempenho na comunicação entre Serviços na Rede Local.

Em modelos de QoS a utilização de Switches tem a função de permitir a confiança (trust) de pacotes ja marcados na origem como Telefones IP e Aplicações para tratamento em Links congestionados como em uma rede WAN , incluindo tambem a marcação e a remarcação de pacotes para o mesmo fim.

A atribuição de QoS em Roteadores ocorre devido ao gargalo gerado por Links 100/1000/10000Gbps de Switches em contraste com Links de comunicação via Internet ou Redes Privadas que são proporcionamente menores que a vazão do tráfego necessária.

Para a tratativa do tráfego utilizamos filas de prioridade com a utilização de algoritmos como WRR,WFQ,SP e etc.

Na necessidade de atribuir a marcação de um determinado tráfego para diferentes politicas de Qualidade de Serviço (QoS) é possível utilizar o seguinte esquema:

ACL: Não mandatória, permite a seleção de trafego para filtro de classificação de tráfego;

Classifier: Classificação do trágego (baseado em uma ACL, Tag de VLAN, etc)
Behavior: Comportamento para o tráfego , como por exemplo, marcação IP Precedence no pacote IP, descarte de pacote, etc
Policy: Permite o vinculo da classificação com o comportamento para ser atribuido a uma interface.

Configurando
No script abaixo mostraremos um exemplo de configuração para marcação do tráfego de qualquer origem com destino a porta TCP 50001:

acl number 3000
! Criando uma ACL avançada
rule permit tcp destination-port eq 50001
! Permitindo qualquer origem efetuar conexão TCP na porta de destino 50001
#
traffic classifier AF32 operator and
! Criando a classificaçaõ com o nome AF32
if-match acl 3000
!Dando match na ACL 3000 para futura utilização 
#
traffic behavior AF32
! Criando o comportamento com nome AF32
remark dscp af32
! Marcando/Remarcando o tráfego que será classificado com o valor dscp af32 
!( notação 28 em decimal)
accounting
! Efetuando a contagem dos pacotes marcados (opção não obrigatória)
#
qos policy MARKING
!Criando a policy com o nome MARKING
classifier AF32 behavior AF32
! Vinculando a classificação com nome AF32 com o comportamento com nome AF32 
!( não é obrigatório utilizar o mesmo nome no classifier e no behavior)
#
interface GigabitEthernet1/0/2
description INTERFACE_INBOUND_ACESSO_INTERNO
qos apply policy MARKING inbound 
! Permite a marcação do tráfego com a policy MARKING na entrada do pacote
qos trust dscp
! Não remarca os pacotes não listados na policy.
! Confiando na marcaçaõ dscp do pacote

Obs: No exemplo acima, após satisfazer as condições da politica de marcação IP Precedence, o pacote irá manter o valor até o fim da comunicação para ser tratado pelos dispositivos no caminho caso seja necessário. Como por exemplo, na separação do tráfego, usando a sua marcação AF32( notação 28 em decimal) em contraste com um pacote não marcado. 

Uma boa semana a todos!

Conectando-se a Switches Comware 7 via Ansible

A automação de tarefas em redes de computadores é fundamental para otimizar processos, reduzir erros e aumentar a eficiência. O Ansible, uma ferramenta de automação poderosa e flexível, oferece uma excelente solução para gerenciar e configurar dispositivos de rede, incluindo os switches Comware 7. Neste artigo, exploraremos como conectar-se a switches Comware 7 via Ansible e automatizar diversas tarefas.

Por que usar Ansible com Comware 7?

A combinação de Ansible e Comware 7 oferece inúmeros benefícios:

  • Agilidade: Automatize tarefas repetitivas e economize tempo.
  • Consistência: Garanta que as configurações sejam aplicadas de forma uniforme em todos os dispositivos.
  • Escalabilidade: Gerencie grandes quantidades de switches de forma eficiente.
  • Idempotência: As tarefas podem ser executadas várias vezes sem causar efeitos colaterais indesejados.
  • Integração: Combine com outras ferramentas de automação e infraestrutura como código.

Pré-requisitos

Para começar, você precisará de:

  • Ansible: Instale o Ansible em sua máquina seguindo as instruções oficiais.
  • Credenciais: Tenha em mãos as credenciais de acesso (usuário e senha) para os switches Comware 7.
  • Biblioteca pyhpecw7: Essa biblioteca Python é essencial para interagir com os switches Comware 7 via Ansible. Instale-a usando pip install pyhpecw7.
  • Inventário Ansible: Crie um inventário Ansible com os detalhes dos seus switches.

Criando seu primeiro playbook

Um playbook Ansible é um arquivo YAML que define as tarefas a serem executadas nos dispositivos. Vamos criar um playbook simples para configurar uma interface em um switch Comware 7:

YAML

- name: Configurar interface GigabitEthernet0/1

  hosts: all

  gather_facts: no

  become: yes

  tasks:

    - name: Configurar interface

      comware_command:

        command: interface GigabitEthernet0/1; ip address 192.168.1.10/24; quit

Neste exemplo:

  • hosts: all: Indica que a tarefa será executada em todos os hosts definidos no inventário.
  • gather_facts: no: Desativa a coleta de fatos, otimizando a execução.
  • become: yes: Permite que o Ansible execute comandos com privilégios elevados.
  • comware_command: Módulo específico para executar comandos no Comware.

Executando o playbook

Para executar o playbook, utilize o comando:

Bash

ansible-playbook playbook.yml

Utilizando a biblioteca pyhpecw7

A biblioteca pyhpecw7 oferece uma interface mais Pythonica para interagir com os switches Comware 7. Veja um exemplo de como criar uma VLAN:

YAML

- name: Configurar VLAN

  hosts: all

  gather_facts: no

  become: yes

  tasks:

    - name: Criar VLAN 10

      pyhpecw7_vlan:

        name: VLAN10

        vlan_id: 10

Dicas e Considerações

  • Modularização: Divida seus playbooks em módulos menores para facilitar a manutenção e a reutilização.
  • Teste: Sempre teste seus playbooks em um ambiente de testes antes de aplicá-los em produção.
  • Controle de versão: Utilize um sistema de controle de versão como o Git para gerenciar seus playbooks.
  • Segurança: Utilize SSH keys para autenticação e proteja suas credenciais.

Conclusão

Ao utilizar o Ansible para configurar switches Comware 7, você aumenta significativamente a eficiência e a precisão de suas tarefas de gerenciamento de rede. A capacidade de automatizar processos complexos e garantir a consistência das configurações é fundamental para qualquer ambiente de TI.

Próximos passos

  • Explore os diversos módulos disponíveis para o Ansible e a biblioteca pyhpecw7.
  • Crie playbooks mais complexos para automatizar tarefas como configuração de ACLs, criação de VRFs e muito mais.
  • Integre o Ansible com outras ferramentas de automação e orquestração.

Recursos Adicionais: