No artigo de hoje irei falar sobre agregação de portas ou, Etherchannel, e como funciona a logica por trás dessa agregação.
O Etherchannel é uma forma de agrupar links ethernet de forma a criar um único canal virtual cuja a largura de banda equivale a soma dos links que o compõem, como se fosse realizada uma “fusão” entre as portas.
Mas, basta adicionar qualquer porta, independente de configuração logica e de velocidade que a agregação irá funcionar? A resposta é não. Para a agregação funcionar é preciso que algumas regras sejam cumpridas, senão a "fusão" igual o gif do Goten e Trunks acima, não irá funcionar. E essas regras são:
- As portas tem que estar na mesma velocidade (100MBPS,1GB,10GB)
- Mesmo duplex(Full-Duplex, half-duplex)
- Mesmo modo de operação (Access ou Trunk, sendo que a vlan nativa deve ser a mesma dos 2 lados)
Alem da soma de banda que é adquirida com a adição de canais na agregação, o etherchannel também fornece redundância em casa de falha de um dos links que está dentro do etherchannel. A figura acima ilustra uma agregação de 4 portas giga dos switches para fazer um canal de 4GB (importante lembrar que até 8 portas podem ser adicionadas em um mesmo etherchannel)
Importante lembrar que as portas que estão no etherchannel o STP (Spanning Tree Protocol) não coloca em modo blocking. Do ponto de vista do STP, essas portas estarão sempre em modo forwarding. (irei estar fazendo um artigo sobre STP em breve para deixar mais claro hehe).
Protocolos Etherchannel
Para realizar o etherchannel é possível configura-lo utilizando dois protocolos de negociação, sendo eles:
-PAGP (Port agreggation protocol)
O PAGP é um protocolo proprietário da CISCO que realiza a negociação do etherchannel. Ele opera nos modos:
- ON = Não há negociação de solicitação PAGP.
- Auto = Modo passivo, ou seja, aguarda algum switch realizar o pedido de agregação e é o modo default quando se ativa o PAGP.
- Desirable = Modo ativo, ou seja, o que irá enviar requisições de pedido de agregação.
Para configurar o PAGP basta seguir o script abaixo
CAT2955# configure terminal
CAT2955# channel-protocol pagp
CAT2955(config)# interface fastethernet 0/9
CAT2955(config-if)# channel-group 1 mode active
CAT2955(config-if)# interface fastethernet 0/10
CAT2955(config-if)# channel-group 1 mode active
-LACP (Link aggregation control protocol)
O LACP é um protocolo aberto definido pelo IEEE 802.3AD que tem o funcionamento de forma similar ao PAGP se diferenciando nos modos que ele pode operar.
Os modos que ele opera são:
- ON= Não realiza negociação LACP.
- Passive= Modo passivo, ou seja, aguarda algum switch realizar o pedido de agregação.
- Active= Modo ativo, ou seja, o que irá enviar requisições de pedido de agregação.
Abaixo como se configura o LACP em equipamentos CISCO
Switch#configure terminal Switch(config)# interface port-channel 5 switch# configure terminal switch(config)# interface fastethernet 0/1 switch(config-if)# channel-group 5 mode active
Abaixo como se configura o LACP em equipamentos HUAWEI
<switch>system-view [switch]interface Eth-Trunk 1 [switch]interface XGigabitEthernet0/0/1 [switch- XGigabitEthernet0/0/1]eth-trunk 1 [switch]interface XGigabitEthernet0/0/2 [switch- XGigabitEthernet0/0/2]eth-trunk 1
Tipos de métodos de load-balancing
Agora que sabemos o que é o etherchannel, para que serve e como configura os protocolos de agregação LACP e PAGP, como funciona o algoritmo hash de load-balancing do etherchannel? O trafego é distribuído no etherchannel dependendo do modelo que foi configurado. Não necessariamente o etherchannel ira balancear os links de forma igualitária, pois isso depende do algoritmo HASH que iremos utilizar sendo eles os da imagem abaixo.
Esse algoritmo hash pode ser utilizado tanto BITS como XOR. Mas, qual a diferença entre eles?
BITS: Se apenas um endereço IP ou porta for criptografado, o switch encaminhará cada quadro usando um ou mais bits do endereço IP ou numero de porta adquirido para as interfaces que estão no etherchannel
XOR: Se dois endereços ou duas portas forem criptografadas, o switch executará uma operação exclusiva (XOR) em um ou mais bits do endereços IP ou número de porta TCP/UDP e encaminhará nas interfaces que estão no etherchannel.
Na imagem abaixo é possível verificar como ficará a conversão em bits de cada porta que esta atrelada ao etherchannel. A imagem serve como uma “ cola” pois abaixo irei colocar um exemplo para ficar mais fácil o entendimento de qual a logica que o algoritmo irá usar para saber em qual interface ele irá encaminhar o trafego
Exemplo utilizando o algoritmo SRC-DST-IP(XOR)
Conforme imagem acima, em uma agregação de 4 portas, iremos utilizar os 2 últimos bits dos endereços de origem e destino para realizar a conversão XOR e descobrir qual das interfaces irá encaminhar o trafego. Após a conversão e verificado que o “outputs” (conforme tabela postada abaixo) o resultado XOR foi de 01 (1-1=0 0-1=1). Com isso, o link que será usado, conforme tabela de LINK INDEX, será o link 1
No exemplo dois o cenário é o mesmo, porem, agora possuímos 7 portas no etherchannel. A logica que iremos utilizar será basicamente a mesma, alterando somente que iremos utilizar 3 ultimos bits dos endereços para realizar a conversão XOR (usaremos 3 pois acima de 4 interfaces é necessário utilizar os 3 últimos bits). Na conversão, o resultado XOR será de 101 (0-1=1 1-1=0 0-1=1) e, consultando a tabela, esse resultado XOR irá encaminhar o trafego para o link 5.
Realmente o CCNP switch entra muito mais afundo em seus protocolos e espero que esse artigo tenha sido tão esclarecedor ( ou no minimo interessante) para vocês.
Até a proxima ! :)
excelente