Resumo HP EVI

O EVI é uma tecnologia Overlay para transporte de tráfego L2, configurado em Switches e Roteadores HP. A tecnologia é baseada no protocolo IP para interconexão entre Data Centers. O EVI encapsula o tráfego Ethernet utilizando túneis GRE entre cada nó. O EVI utiliza MAC-over-GRE-over-IP para entrega de quadros Ethernet. Os pacotes GRE/IP são roteados sobre a conexão WAN entre os DCs.

encapsulamento-evi

Pelo fato do EVI utilizar o padrão GRE, o tráfego poderá ser encaminhado por qualquer infraestrutura IP para estender domínios de broadcast.

Quando um endereço MAC é aprendido, o nó EVI daquele Data Center anuncia o endereço via IS-IS para os sites remotos. Os sites remotos mapeiam o endereço MAC para o link no qual ele foi aprendido.

evi-logica

Terminologia EVI

Edge device – Switch ou Roteador em um Data Center que prove o serviço EVI, aprendizado local de endereço MAC, adjacência IS-IS com os dispositivos remotos e também o anuncio dos endereços MAC locais para seus os pares remotos.

EVI network ID –  identificador único dos edge devices. Cada edge device pode assinar múltiplos IDs para ambientes multi-tenants. O network ID certifica que o aprendizado de endereços MAC continua separado e privado.

Extended VLAN – são as VLANs que você decide estender com o EVI.

EVI Neighbor Discovery Protocol (ENDP) – prove o registro do serviço do endereço IP e é utilizado entre sites conectados via tuneis GRE. O ENDP pode definir a função de cliente e servidor para os nós EVI.

EVI Process

O processo de uma rede EVI pode ser descrito em três fases: descoberta de vizinhos, anuncio de endereços MAC e encaminhamento de dados.

A descoberta de vizinhos ENDP ocorre nos edge devices que registram seus endereços IP com o servidor ENDP. Cada ENDP consulta o servidor para aprendizado e tuneis GRE são formados automaticamente entre os edge devices.

Uma vez que a rede é totalmente estabelecida, o encaminhamento de dados pode ocorrer. O tráfego local é recebido e os endereços de destino remotos são encontrados na tabela MAC do EVI.

Configurando o EVI Neighbor Discovery (ENDP)

O servidor ENDP pode ser habilitado em qualquer EVI edge device e para fins de redundância. Dois ENDP servers podem ser configurados em cada network ID.

ENDP Server

evi neighbor-discovery server enable
*evi neighbor-discovery client enable x.x.x.x

* caso haja redundância de NDPServer

ENDP client

evi neighbor-discovery client enable x.x.x.x

Configurando o EVI Site-ID

Cada site deve conter um unico Site ID. dispositivos no mesmo site devem ser configurados com o mesmo site ID

[Site1-Switch] evi site-id 1 

[Site2-Switch] evi site-id 2

Configurando  a interface EVI (transporte para a rede IP)

vlan 4001
#
interface vlan 4001
ip add 10.1.0.1 24
#
interface giga 3/0/1
port access vlan 4001
evi enable

A interface de transito deve ser configurado no edge device, na porta diretamente conectada à rede IP de transporte.

Configurando a interface Tunnel

[Site1-Switch] interface tunnel 1 mode evi
[Site1-Switch-Tunnel1] source 10.1.0.1

Cada rede EVI requer uma interface Tunnel única.

O ID da interface Tunnel também fará referência ao processo EVI IS-IS Process ID. Uma vez que a interface tunnel1 é criada um processo EVI IS-IS 1 será criado.

Configurando o EVI network ID

[Site1-Switch-Tunnel1] evi network-id 101

O tunnel EVI deve ser mapeado com um EVI Network ID. O range valido é um número entre 1 e 16777215

Configurando as VLANs estendidas

[Site1-Switch-Tunnel1]  evi extended-vlan 100 to 199

O mapeamento de extensão de VLANs deve ser feito dentro da interface Tunnel e não na interface de transporte.

Exemplo de Configuração

No exemplo abaixo faremos a extensão das VLANs 2 até 10 entre os Datacenters DC 1 e DC4 utilizando o EVI para transporte L2 dos quadros Ethernet sobre uma infraestrutura IP. O OSPF será o protocolo para anuncio das rotas diretamente conectadas incluindo loopbacks.

O Roteador R1 será o ENDP Server enquanto R4 será o ENDP client.

evi-fisica

 R1

#
interface LoopBack1
ip address 192.168.1.1 255.255.255.255
ospf 1 area 0.0.0.0
#
interface GigabitEthernet2/0
port link-mode route
ip address 192.168.14.1 255.255.255.248
ospf 1 area 0.0.0.0
evi enable
#
interface GigabitEthernet3/0
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 to 10
#
interface Tunnel1 mode evi
ip address 10.1.14.1 255.255.255.248
evi extend-vlan 2 to 10
source 192.168.1.1
keepalive 20 2
evi network-id 1
evi neighbor-discovery server enable
#
evi site-id 1
#

R4

#
interface LoopBack1
ip address 192.168.4.4 255.255.255.255
ospf 1 area 0.0.0.0
#
interface GigabitEthernet1/0
port link-mode route
ip address 192.168.14.4 255.255.255.248
ospf 1 area 0.0.0.0
evi enable
#
interface GigabitEthernet3/0
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 to 10
#
interface Tunnel1 mode evi
ip address 10.1.14.4 255.255.255.248
evi extend-vlan 2 to 10
source 192.168.4.4
keepalive 20 2
evi network-id 1
evi neighbor-discovery client enable 192.168.1.1
#
evi site-id 4

Comandos display

<R1> display  evi isis lsdb
                Link state database information for EVI IS-IS(1)
LSP ID                 Seq num     Checksum  Holdtime  Length    Overload
---------------------------------------------------------------------------
cc3e.5f81.9f7b.00-00   0x00000021  0x84e2    1137      100       0
cc3e.5f81.a1f9.00-00*  0x00000022  0xddc3    964       100       0
cc3e.5f81.a1f9.02-00*  0x0000000b  0xec7f    734       54        0
Flags: *-Self LSP, +-Self LSP(Extended)
<R1> display  evi isis peer
Process ID: 1
System ID: cc3e.5f81.9f7b
Link interface: EVI-Link0
Circuit ID: cc3e.5f81.a1f9.02
State: Up
Site ID: 4
Hold time: 20s
Neighbour DED priority: 64
Uptime: 02:23:05

<R1> display  evi neighbor-discovery server member
Interface: Tunnel1    Network ID: 1    Vpn-instance: [No Vrf]
IP Address: 192.168.1.1
Client Address  System ID         Expire    Created Time
192.168.1.1     cc3e-5f81-a1f9    73        2016/10/21 10:48:08
192.168.4.4     cc3e-5f81-9f7b    69        2016/10/21 10:48:10

[R1]display mac-address
MAC Address      VLAN ID    State            Port/NickName            Aging
cc3e-5f81-3333   2          Learned          GE1/0                    Y
cc3e-5f81-eeee   9          Learned          GE1/0                    Y

[R1]display  evi mac-address interface Tunnel 1
MAC Address          VLAN ID   Port
cc3e-5f81-ffff       9         EVI-Link0
cc3e-5f81-2222       2         EVI-Link0

Referências

https://www.hpe.com/h20195/v2/GetPDF.aspx/4AA5-6737ENW.pdf

https://cjaiwenwenblog.wordpress.com/2016/02/04/how-to-configure-hp-evi-ethernet-virtual-interconnect/

Building HP FlexFabric Data Centers-Rev. 14.41

Comware 7 – Configuração manual de túnel VXLAN

Esses dias navegando na web, encontrei um lab sobre VXLAN no blog http://www.nullzero.co.uk/lab-on-a-laptop/ utilizando o Roteador Virtual HP VSR 1000 na versão E0321. O post simula um cenário Spine/Leaf com a configuração manual de túneis VXLAN. Acredito que o mesmo cenário possa ser replicado em Switches físicos da HP que possuam foco em Datacenter.

O download do HP VSR pode ser feito aqui: https://h10145.www1.hpe.com/Downloads/SoftwareReleases.aspx?ProductNumber=JG811AAE&lang=en&cc=us&prodSeriesId=5443163

A instalação do HP VSR 1000 no VMWARE pode ser encontrado aqui: http://www.comutadores.com.br/instalando-o-hp-vsr1000-no-vmware-workstation/

Falando de VXLAN

O padrão VXLAN (Virtual eXtensible Local Area Network) trabalha em cima da limitação da quantidade de VLANs em um Data Center que é a de 4K VLANs. O Protocolo VXLAN emprega MAC sobre IP/UDP, e permite assim aumentar o número de domínios de Broadcast para 16 milhões.

vxlan-frame-550x104

Imagem  do site  http://blogs.cisco.com/datacenter/cisco-vxlan-innovations-overcoming-ip-multicast-challenges/

O VXLAN prove uma rede de camada 2 sobreposta em uma rede de camada 3. 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 é uma combinação do endereço MAC e o VNI.  Os hosts situados em VXLAN 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).

dominio-de-broadcast-vxlan

 

Parte teórica da configuração no Comware

Os equipamentos HP com suporte ao VTEP utilizam VSIs e VXLAN tunnels para prover os serviços VXLAN.

  • O VSI é uma instancia virtual de comutação (virtual switching instance) que serve para criar o encaminhamento de quadros, utilizando diversos protocolos, incluindo o VXLAN. Os VSIs aprendem endereços MAC e encaminham quadros de forma independente sobre uma infraestrutura L3 emulando um cenário de switches diretamente conectados, mesmo que separadas por um backbone IP.
  • Um VXLAN tunnel é um túnel lógico, ponto-a-ponto entre VTEPs sobre a rede de transporte, rede IP por exemplo. Cada VXLAN tunnel pode encaminhar multiplos VXLANs, assim como uma interface trunk que transporta multiplas VLANs.

Configuração

vxlan-comware-lab

Em nosso cenário os equipamentos estão conectados conforme topologia spine/leaf utilizando interfaces no modo route com IPv4 e  OSPF como IGP para anuncio  das interfaces, incluindo interfaces loopback. Toda a configuração para criação do Tunnel e atribuição da VXLAN será efetuada nos equipamentos Leaf.

A configuração das interfaces de trânsito, loopback e OSPF foram omitidas na configuração abaixo.

Segue abaixo a configuração do VXLAN tunnel e o VXLAN Id 10000:

 

Configuração do LEAF 3
#
interface Tunnel1 mode vxlan
 source 10.1.1.3
 destination 10.1.1.4
! Criando a interface Tunnel 1 no modo VXLAN
#
 l2vpn enable
! Ativando o serviço L2VPN
#
vsi cliente_a
 vxlan 10000
  tunnel 1
! Criando a instancia VSI Cliente A, com o VXLAN ID 10000 atribuído ao tunnel1
#
interface GigabitEthernet4/0
 port link-mode route
 description host-A
 xconnect vsi cliente_a
! Atribuindo o VSI a interface 4/0 conectada a máquina host-A
#

#

Configuração do LEAF 4
#
interface Tunnel1 mode vxlan
 source 10.1.1.4
 destination 10.1.1.3
#
 l2vpn enable
#
vsi cliente_a
 vxlan 10000
  tunnel 1
#
interface GigabitEthernet4/0
 port link-mode route
 description host-B
 xconnect vsi cliente_a

Validando a configuração

 [VSR LEAF 3]display vxlan tunnel
Total number of VXLANs: 1
VXLAN ID: 10000, VSI name: cliente_a, Total tunnels: 1 (1 up, 0 down)
Tunnel name          Link ID    State  Type
Tunnel1              0x5000001  Up     Manual

[VSR LEAF 3]display l2vpn mac-address vsi cliente_a
MAC Address      State    VSI Name                        Link ID/Name  Aging
000c-290b-dcc5   Dynamic  cliente_a                       Tunnel1       Aging
000c-29c5-5e8a   Dynamic  cliente_a                       0             Aging
--- 2 mac address(es) found  ---

Segue a configuração completa dos equipamentos SPINE 1 SPINE 2 LEAF 3 LEAF 4

Até logo

Referencias

http://www.rotadefault.com.br/introducao-a-vxlan/

 

Comware 7 – Configurações iniciais para o TRILL

O protocolo TRILL fornece uma alternativa ao Spanning-Tree em ambientes de Data Center provendo balanceamento de tráfego para caminhos redundantes e prevenção de loop de camada 2. No post http://www.comutadores.com.br/resumo-sobre-trill/ fizemos um breve resumo sobre o protocolo.

A configuração do TRILL é bastante simples conforme script abaixo:

TRILL Comware cenario

Configurando o TRILL globalmente

– Habilite o TRILL em todos os RBridges

[RB1] trill 

– Apesar do nickname e do system-id do TRILL ser gerado automaticamente, a configuração manual facilita o troubleshooting. Uma boa dica é incluir o nickname também na documentação e topologia.

[RB1-trill] nickname 0001
[RB1-trill] system-id 0001.0001.0001

Configurando as interfaces

– Configurando os Uplinks

[RB1] interace Ten1/0/49
[RB1-Ten-GigabitEthernet1/0/49] trill enable
[RB1-Ten-GigabitEthernet1/0/49] trill link-type trunk
[RB1-Ten-GigabitEthernet1/0/49] undo stp enable

Validando a conexão entre  RBridges

[RB1]display  trill peer
System ID: 0002.0002.0002
Interface: Ten-GigabitEthernet1/0/49
Circuit ID: 0002.0002.0002.01
State: Up
Holdtime: 6s
DRB priority: 64
Nickname: 0x0002
Uptime: 00:01:03

System ID: 0003.0003.0003
Interface: Ten-GigabitEthernet1/0/50
Circuit ID: 0003.0003.0003.01
State: Up
Holdtime: 8s
DRB priority: 64

Nickname: 0x0003
Uptime: 00:00:39

System ID: 0004.0004.0004
Interface: Ten-GigabitEthernet1/0/51
Circuit ID: 0004.0004.0004.02
State: Up
Holdtime: 6s
DRB priority: 64
Nickname: 0x0004
Uptime: 00:00:21

Configurando as portas conectadas aos Switches CE e endpoints

Conexão para Switches CE

[RB1] interace Ten1/0/10
[RB1-Ten-GigabitEthernet1/0/10] trill enable
[RB1-Ten-GigabitEthernet1/0/10] trill link-type access
[RB1-Ten-GigabitEthernet1/0/10] undo stp enable

A configuração como “trill link-type access” permite o envio de mensagens TRILL para eleição DRB para escolha dos AVF.

Conexão para Endpoints

[RB4] interace Ten1/0/11
[RB4-Ten-GigabitEthernet1/0/11] trill enable
[RB4-Ten-GigabitEthernet1/0/11] trill link-type access alone
[RB4-Ten-GigabitEthernet1/0/11] undo stp enable

A configuração com “trill link-type access alone” atribui a porta no modo ‘silent’ para frames TRILL

Tree Root Bridge

O protocolo TRILL utiliza uma topologia similar ao STP para o envio de mensagens broadcast, multicast e unknown unicast, criando uma árvore para o envio desse tipo de tráfego.

TRILL tree root

O primeiro critério para eleição do root bridge é a configuração do priority value. O root pode requerer múltiplas arvores para cálculo e encaminhamento ECMP do tráfego multicast.

[RB1] trill
[RB1-trill] tree-root priority 65535

Conclusão

Para aqueles que desejam aprender um pouco mais sobre o  TRILL em Switches HP, o simulador HCL permite a configuração de cenários utilizando o protocolo. Já para consulta, o site da HP possui bastante material e basta uma pesquisa rápida no google para encontrar bastante material

Até logo.

Referências

Building HP FlexFabric Data Centers-Rev. 14.41
HP Configuration Guide – Configuring TRILL

Resumo sobre TRILL

O protocolo TRILL (Transparent Interconnection of Lots of Links) é um padrão IETF que fornece a funcionalidade de roteamento em camada 2 em Data Centers. O protocolo permite a extensão de domínios de broadcast entre os equipamentos que rodam o TRILL e fornece alta disponibilidade para cenários de falha nos uplinks, funcionando como uma alternativa para substituição do protocolo Spanning-Tree.

O TRILL pode ser utilizado em Data Centers sem necessidade de configuração IP e mantem a simplicidade tradicional da comunicação de camada 2 com a convergência de redes roteáveis em camada 3.

O protocolo utiliza o a contagem de saltos ou TTL para prevenção de loops, mas roda diretamente sobre a camada 2 de forma que nenhuma configuração IP é necessária.

Se fizermos uma comparação com o protocolo Spanning-tree, o STP, utiliza um único caminho na rede para encaminhar os dados, bloqueando os caminhos redundantes entre os switches, que nem sempre são as melhores escolhas para bloqueio e/ou encaminhamento do fluxo de dados entre dois hosts. O TRILL suporta a seleção de melhor caminho, suportando também caminhos redundantes, e topologias no modelo ativo-ativo.

TRILL and STP

Um Switch com o processo TRILL habilitado é chamado de Routing  Bridge ou RBridge por sua função de roteamento. É baseado no algoritimo link-state do IS-IS para escolha dos caminhos.

Cada RBridge é identificado por um system ID que é automaticamente gerado pelo TRILL. O ID é baseado no endereço MAC por padrão, mas pode ser também configurado manualmente. O system ID não é utilizado para encaminhar os quadros mas serve para identificar cada nó dentro da tabela link-state (LSDB) da rede TRILL.

Um RBridge encaminha os quadros de uma rede TRILL baseado no nickname de origem e destino, utilizando como referência em um valor hexadecimal de 16bits. Os nicknames podem também ser gerados automaticamente pelo sistema.

Cada nickname é distribuído pelo IS-IS para computar as rotas, como em protocolos de roteamento.

O protocolo possui facilidade de extensão utilizando as definições type, length, value (TLV).

Trill Header

Para o encaminhamento dos quadros Ethernet que chegam dos hosts para os RBridges, uma vez que o endereço já é conhecido, a consulta (lookup) acontece com o endereço do RBridge e um segundo lookup é efetuado para a RBridge do próximo salto e também a interface de saída para enviar o frame ao next-hop. Então o frame é encapsulado com o cabeçalho TRILL (TRILL overlay header).

terminologia TRILL

Na terminologia TRILL, há os Switches CE, que são a terminologia para os clássicos switches ethernet que não executam o processo TRILL.

Em resumo, cada RBridge ao receber um frame TRILL irá descartar o cabeçalho externo (inserido pela RBridge anterior), analisará o nickname de destino e selecionará a interface de saída baseado na escolha de melhor caminho. A RBridge então adicionará um novo cabeçalho TRILL, decrementará o valor de TTL e transmitirá o frame para a próxima RBridge.

Se o quadro TRILL tiver como next-hop um endpoint, então o cabeçalho TRILL será removido e  o frame Ethernet original será entregue para a host.

Referências

Using TRILL, FabricPath, and VXLAN – Cisco Press 2014 – Sanjay K. H., Shuyam Kapadia,Padmanabhan Krishnan.

Building HP FlexFabric Data Centers-Rev. 14.41

Publicado originalmente em http://www.rotadefault.com.br/notas-iniciais-sobre-o-trill/

Introdução ao SPBM

O protocolo SPBM (Shortest Path Bridging Mac-in-Mac mode) permite a implementação de grandes redes Ethernet, mantendo a simplicidade de um Fabric L2, enquanto compartilha a escalabilidade e convergência dos serviços dos protocolos de roteamento.

Enquanto no STP alguns links são colocados no modo de bloqueio para evitar loop, o SPBM utiliza mecanismos de roteamento e todos os links podem ser utilizados para encaminhar o tráfego.

O SPBM é muito similar ao TRILL, mas enquanto o SPB foi desenvolvido pelo IEEE, o TRILL foi proposto pelo IETF. Ambos tem recebidos boa aceitação e utilizados em ambientes de grandes Data Centers.

Existem dois padrões relacionados ao SPBM, o primeiro é o IEEE 802.1ah que define o PBB (Provide Backbone Bridging) e o segundo é o SPB definido pelo IEEE 802.1aq

PBB

O PBB é uma tecnologia L2 VPN baseada no padrão Ethernet, nele, o cabeçalho Ethernet do host (com os endereços MAC de origem e destino) é encapsulado com o endereço MAC do Service Provider. O frame do cliente é transportado como payload dentro do frame Ethernet do provedor, com novo endereço MAC de origem e destino.

O cabeçalho inclui um campo service ID que identifica a rede do cliente, para suporte à ambientes multi-tenant (em resumo, diversos cliente em um mesmo ambiente fisico). O encapsulamento completo do frame Ethernet do cliente ajuda na redução do aprendizado de endereço MAC dos switches intermediários, auxiliando em um melhor uso de recursos de CPU e memória.

Os equipamentos em uma topologia com PBB possuem duas funções:

– Backbone Edge Bridge (BEB)

O BEB recebe o frame original do cliente e encapsula dentro de um novo frame Mac-in-Mac. O endereço MAC de origem é o do próprio BEB e o endereço de destino é o MAC do BEB de destino.

– Backbone Core Bridge (BCB)

O BCB recebe o frame do BEB e encaminha baseando-se no novo cabeçalho, não precisando ter conhecimento do endereço MAC do cliente.

SPBM BEB BCB

O BEB que recebe o frame PBB remove o encapsulamento e baseado no campo I-SID (Instance service ID), dentro do campo I-TAG, encaminha o quadro para o cliente devido.

O PBB é puramente uma tecnologia de encapsulamento no formato MAC-in-MAC e não prove nenhum cálculo de melhor caminho ou redundância.

Comparação PBB QinQ dot1Q

O I-SID é administrativamente configurado, utilizando o range de 255 até 16.777.215.

O endereço MAC de origem e destino, assim como o TAG de VLAN original do cliente é chamado de “C” no cabeçalho. Já as informações do PBB são referenciadas como “B”, conforme comparação dos cabeçalhos acima.

SPB

O SPB entra nessa questão para prover múltiplos caminhos ativos em uma rede Ethernet, baseado no cálculo de melhor caminho utilizando o algoritmo do IS-IS.

Voltando ao SPBM…

Uma vez que o SPBM é baseado no PBB as mesmas funções de BCB e BRB são utilizadas.  Diferente do TRILL que faz encapsulamento e remove o encapsulamento do frame a cada nó, o SPBM apenas encapsula o frame no dispositivo BEB e esse encapsulamento atravessa todo backbone SPM.

topologia SPBM

Referências

http://www.brocade.com/content/html/en/configuration-guide/netiron-05900-switchingguide/GUID-39750C1A-4994-4B7C-B988-1254C87F859E.html

Building HP FlexFabric Data Centers-Rev. 14.41

http://www.rotadefault.com.br/introducao-ao-spbm/