segunda-feira, 28 de janeiro de 2019

Spanning tree - A importância das Edge Port

A vantagem do protocolo Spanning tree é que  ele faz praticamente tudo sozinho. É necessário pouca ou nenhuma intervenção para que a rede funcione normalmente com ele. Talvez a sua rede use e você nem saiba.
Mas o que quero deixar claro aqui é que a funcionalidade do "Edge Port"(Port fast ou Edged port dependendo do fabricante) é talvez a mais importante de todas, e porque você deve prestar atenção nela.


Para contextualizar o artigo vou falar de uma situação que passei recentemente.
Peguei uma rede relativamente grande para configurar, e habilitei o STP em todos os 25 switchs. O STP não vinha habilitado por padrão, então setei todos eles com o RSTP(802.1w).
Depois de alguns dias fiz uma vistoria nos logs de todos os switchs, a começar pelo root bridge, e verifiquei que os logs estavam inundados de mudanças de topologia(ou TCN's, Topology change notifications). Além de inundar os logs dos equipamentos, sabemos que a cada mudança de topologia a tabela MAC é ZERADA em todos os participantes da topologia.
Bem, isso é um problema muito sério. Como as portas não estavam habilitadas como "Edge port", cada vez que um dispositivo era desligado ou ligado, para cada porta da rede inteira, havia uma mudança de topologia. Este comportamento seria intolerável na rede. Todas as portas que se conectam a dispositivos finais foram setadas no modo "Edge port" e problema resolvido.

Lição, você tem a OBRIGAÇÃO de colocar todas as portas conectadas a dispositivos finais como Edge. Do contrário você certamente vai "entupir" os logs dos equipamentos e terá uma degradação no desempenho da rede, já que a as tabelas serão ZERADAS cada vez que um PC for ligado ou um cabo plugado.
Muitos equipamentos atualmente vêm com o STP habilitado e as portas configuradas como Edge por padrão. Mas você deve se certificar disso antes de colocar um switch em produção.

Nunca é demais falar, mas a condição de Edge port lhe garante um bom funcionamento, já que  as portas serão colocada em estado de forwarding imediatamente. Hoje com os SSDs é comum o sistema operacional ser iniciado com menos de 30s, e o usuário pode acabar percebendo que a porta do switch ainda não está encaminhando tráfego, ou mesmo sofrer um "DHCP time out".
Em caso de loop a porta perde a condição de Edge e você terá um loop temporário e praticamente imperceptível.

Outra discussão interessante é se devemos colocar como Edge portas conectadas a pequenos switch/HUBs que não são gerenciáveis e tão pouco rodam o STP. Eu coloco.

terça-feira, 20 de março de 2018

Comandos IPv6 no Linux





Vejamos os comandos básicos de manipulação de endereços IPv6 no Linux. É possível, é claro, fazer pela interface gráfica, mas no caso vamos usar o comando "ip" que além de ter muito mais opções, ele substituiu o "ifconfig", portanto agora é a opção padrão em todas as distribuições:


1) exibir endereços:
ip -6 addr show [dev eth0]
 
2) Adicionar endereço:
ip -6 addr add 2001:db8::1/64 dev eth0

 Em IPv6 é possível que uma interface tenha múltiplos endereços, portanto você pode executar este comando várias vezes para a mesma interface. Naturalmente, ao adicionar um endereço os outros  não são removidos, você deve removê-los usando o próximo comando.

3) Remover endereço:
ip -6 addr del 2001:db8::1/64 dev eth0

4) exibir vizinhança:
ip -6 neig

Este comando é análogo ao "arp" do IPv4. Lembrando que no IPv6 não existe ARP, por o ICMPv6 assume sua função. Veja este artigo com as principais diferenças entre os protocolos.

5) exibir rotas:
ip -6 route show

6) adicionar rota:
ip -6 route add 2001:db8:BABA::/64 via 2001:db8::1 [dev eth0]

ip -6 route add default via FE80::1 dev eth1

OBS: Se no próximo salto for especificado um endereço link-local(FE80::) a interface deve ser especificada.

7) remover rota:
ip -6 route del 2001:db8:BABA::/64

OBS: Lembre-se que estas configurações são perdidas na reinicialização. Caso queira torná-las permanentes é necessário declaras no arquivo de configuração ou nos scripts de inicialização.

Mais alguma sugestão? Deixe nos comentários. :- )

domingo, 18 de março de 2018

Comandos IPv6 no Windows




Vejamos os comandos básicos de manipulação de endereços IPv6 no Windows. É possível, é claro, fazer pela interface gráfica, mas no caso vamos usar o comando netsh que tem muito mais opções:
 




1) exibir endereços:
netsh int ipv6 sh addr [int="Conexão Local"]

Especificar a interface é opcional aqui, mas caso seja feito ele mostra muito mais detalhes.

2) Adicionar endereços:
netsh int ipv6 add addr "Conexão Local" 2001:db8::2/64 store=persistent

Em IPv6 é possível que uma interface tenha múltiplos endereços, portanto você pode executar este comando várias vezes para a mesma interface. Naturalmente, ao adicionar um endereço os outros  não são removidos, você deve removê-los usando o próximo comando.
O parâmetro "store=persistent" indica que a configuração será salva permanentemente. Do contrário o será perdida na reinicialização.

3) Remover endereços:
netsh int ipv6 del addr int="Conexão Local" addr=2001:db8::2


4) Exibir vizinhança:
netsh int ipv6 sh neig

Este comando é análogo ao "arp -a" do IPv4. Lembrando que no IPv6 não existe ARP, por o ICMPv6 assume sua função. Veja este artigo com as principais diferenças entre os protocolos.


5) exibir rotas:
netsh int ipv6 sh route

6) adicionar rota:
netsh int ipv6 add route 2001:db8:BABA::/64 2001:db8::F int="Conexão Local"


7) remover rota:
netsh int ipv6 del route 2001:db8:BABA::/64 int="Conexão Local"

OBS: Lembre-se que o parâmetro "store=persistent"  é válido para todos os comandos, ele deve ser adicionado para que a configuração permaneça após a reinicialização.

Mais alguma sugestão? Deixe nos comentários. :- )