EIGRP: Balanceamento de carga por métrica desigual

 

unequal cost load balancing

Loop de encaminhamento em R3 devolve o pacote a R1, porque o custo do link R3-R1 é menor que o cuso R3-R2.

 

Observe a figura acima: Suponha que R1 pretenda enviar pacotes para R2. Ele o poderá fazer pela rota de menor custo directamente por R1->R2. Poderá faze-lo também por R3, R1->R3->R2. Acontece que de R3->R2 o custo é de 100. E de R3->R1, o custo é de 20. Logo o pacote a caminho de R2 por R3, será devolvido a R1 que encaminhará novamente a R2 provavelmente por R3 . A esse acontecimento chamamos Routing Loop, ou laços de encaminhamento.

unequal cost load balancing 02
Observe a figura acima. Os custos para a chegada dos pacotes de E para A, pelas 03 rotas são os seguintes:

E->B->A=30
E->C->A=20
E->D->A=45

A rota com menor custo, conhecida como Feasible Distance (FD) é igual a 20 (E->C + C->A = 10+10 = 20). Se essa rota falha por qualquer motivo, uma rota alternativa, chamada de Feasible Sucessor Route, FS, é activada, e essa rota é E->B->A = 30, porque o custo anunciado pelo encaminhador B para alcançar A, ou seja a Reported Distance, RD = 10, é menor que a FD=20.

Redes sérias precisam necessariamente de ter algum bom esquema de balanceamento de carga. As vantagens são inúmeras. Por exemplo é sempre bom enviar pacotes por mais do que um caminho, desse modo pode-se diminuir a sobrecarga nos enlaces (desculpe mas não encontrei um termo mais PT-pt para link, diferente de ‘ligação’) de dados.

Outra vantagem é a rápida convergência em caso de quebra ou falha de um dos enlaces de dados. Nao é necessário esperar pelo processo de convergência, que pode ser moroso porque ja existe uma ou mais rotas alternativas na tabela de roteamento.

Configura-se o balanceamento de carga de rotas com desiguais métricas (deve ser assim que se pronuncia Unequal Metric Route Load Sharing) recorrendo ao comando Variance que multiplica o seu argumento que varia de 1 a 128 pelo valor da rota FD. Todas as rotas com custo menor a FD serão consideradas como rotas sucessoras FS.

Por exemplo. Configure-se uma variância de 02. O novo valor da métrica será FD = (10+10)*2 = 40. FS = (10*2) = 20 < FD.
Na linha de comando teríamos:

>router eigrp 33
>variance 2

O encaminhador irá adicionar todas rotas menores ou iguais a 40, valor de FD. E->D->A não é adicionado porque a RD de D = 25*2 = 50 > FD.

E-book de comandos básicos de configuração de roteadores e switches Cisco IOS

A mente humana é limitada e como tal sempre defendi que quando se pretende estudar para uma certificação industrial, o melhor mesmo é procurar reter os conceitos, não comandos operacionais. Decorar comandos é o pior que um técnico deve tentar fazer, simplesmente porque não é necessário, porque quanto mais você pratica, mais você assimila, portanto não decora.

No entanto, não raro, acontecem situações de esquecimento de comandos, o que é absolutamente normal. O que é complicado, naturalmente é rapidamente relembrar a sintaxe do comando e a sua logica de execução. A não ser, claro, que você possua um e-book de consulta rápida. Existem uma amalgama deles em Inglês, uns melhores que os outros. Em Português e com qualidade, conheço um: O E-book Comandos Cisco IOS do Flyner Portugal (O nome é mesmo assim LOL) um velho amigo do nosso blog, ao qual temos muitas dividas a saldar. Basicamente o e-book possui comandos relevantes para quem se pretende certificar CCNA. Para usufruir deste banquete, basta visitar esta pagina, registar-se e irá receber o e-book gratuitamente por e-mail.

Abrangência IP e a sumarização de rotas

Existem motivos muito fortes pelos quais voce necessita sumarizar ou agregar rotas. Um factor é que o processo de encaminhamento, introduz uma grande sobrecarga no sistema. Tendo o encaminhador que calcular mais rotas, maior é a sobrecarga. Outro motivo para sumarizar rotas é que ela acelera o processo de convergência em protocolos IGP (Interior Gateway Protocol) como o protocolo EIGRP. Observe a figura abaixo:

Stuck in active

Se o encaminhador 1 perde uma rota ele envia uma mensagem de solicitação e aguarda por uma mensagem de resposta. Quanto maior o numero de encaminhadores a frente de 1, menor é a probabilidade dele receber uma mensagem de resposta em menor tempo e dessa forma convergir rapidamente. Ja ensinamos num artigo anterior como sumarizar rotas. O problema que se coloca aqui é quando estamos em presença de redes algo descontínuas. O gerente do projecto entrega a voce 4 (quatro) rotas e solicita a sua sumarização. Como proceder? O exemplo abaixo dá uma dica sobre o assunto:

An engineer plans to configure summary routes with the ip summary-address
eigrp asn prefix maskcommand. Which of the following, when added to such a
command, would create a summary that includes all four of the following subnets:
10.1.100.0/25, 10.1.101.96/27, 10.1.101.224/28, and 10.1.100.128 /25?
a.  10.1.0.0  255.255.192.0
b. 10.1.64.0  255.255.192.0
c.  10.1.100.0  255.255.255.0
d. 10.1.98.0  255.255.252.0

Como se observa, estamos perante 4 redes algo descontínuas. Qual das seguintes alíneas corresponde a uma rede que satisfaça a sumarização delas?

Uma forma fácil de verificar isso é por fazer uma analise de abrangência. Para isso voce deve lembrar para que serve uma mascara de sub-rede. Ela não apenas serve para indicar o endereço de rede fazendo a operação matemática de AND com um determinado e válido endereço IP, mas também para determinar os limites ou a abrangência da sub-rede.

Repare: Se voce tem uma rede com o endereço 10.0.0.0/8 qual é a sua abrangência? Eu que sou experiente neste calculo digo que é de 10.0.0.0/8 a 10.255.255.255. Como provar? Simples: subtraia a mascara de sub-rede pela mascara todos 1 (255.255.255.255). Fica assim:

255.255.255.255
– 255.  0  .   0. 0
________________
0    . 255 . 255 . 255

Somar (OR) o endereço IP (10.0.0.0) ao resultado da subtração do todos 1 com a mascara de sub-rede:

  10 . 0  . 0   . 0
+ 0 .255.255.255
________________
10 . 255.255.255

Ou seja a rede vai de 10.0.0.0/255.0.0.0 a 10.255.255.255/255.0.0.0.

Respondendo a pergunta destacada anteriormente, voce pode repetir os passos que fizemos agora nas quatro alíneas para obter a resposta. Observe as redes em análise:

10.1.100.0/25, 10.1.101.96/27, 10.1.101.224/28, and 10.1.100.128 /25

Nota-se que a rede mais a direita ou seja com o endereço IP maior é 10.1.101.224/28, logo temos de encontrar uma sub-rede que abranja este endereço. Analisando a alínea d) temos: 10.1.98.0  255.255.252.0. Qual é a sua abrangência?

255.255.255.255 – 255.255.252.0 = 0.0.3.255

Somando: 10.1.98.0 + 0.0.3.255 = 10.1.101.255

Ou seja a sua abrangência vai de 10.1.98.0 a 10.1.101.255.

O endereço 10.1.101.224 está dentro desse intervalo, logo a alínea d) está correcta.

 

 

 

 

 

 

 

 

Network Lessons e GNS3 agora seguem-nos (Network Lessons and GNS3 are Following us).

network-lessons-logo 02

logo-gns3
Na sequencia de 3 artigos publicados em nosso blog no inicio do ano até a data presente, duas renomadas contas no twitter passaram a seguir-nos, a saber, GNS3 e NetworkLessons.

The twitter accounts of GNS3 and NetworkLessons are following us. This might be the outcome of our recent posts regarding GNS3.

GNS3 dispensa comentários. NetworkLessons.com Pertence a um CCIE René Molenaar que procura por métodos e palavras simples explicar tecnologias e protocolos Cisco por meio do site dele. É um site pago, é certo, mas pelo que vi, vale a pena, quanto mais não sea por custar apenas 1$, não descurando o facto das aulas serem de facto sublimemente explicadas e com gráficos bastante bonitos e elucidativos.

There is no need to talk about GNS3. However NetworkLessons owns to a CCIE guy that uses his site to publish Cisco network topics. You need to pay but it worths , even thinking it’s only 1$. The lessons are very well explained, the graphs are very nice too.

Simuladores para engenharia de telecomunicações.

Simulação é o processo de modelagem de sistemas via um modelo lógico-matemático no qual são conduzidos experimentos que permitem fazer inferências sobre tal sistema. Em outras palavras, simulação é a construção de modelos computacionais que imitam processos ou operações do mundo real.[1]

Que definição!!! Bom, a verdade é que Simulação não é coisa de hoje. Os nazistas já haviam percebido que era importante simular o comportamento mecânico dos seus caças-bombardeiros perante situações de adversa turbulência aerodinâmica:

nazi aerodinamics

Engenheiros Nazistas testam avião em túnel de vento

 

E nós aqui no século 21 espantados com tuneis de vento do ArrivaBene da Ferrari.

Voltando a batata quente. A tecnologia electro-mecânica desenvolveu-se. Surgiu um artefato bem interessante chamado computador, que nada mais é que uma portentosa maquina de multi-calculo. E depois existe essa maravilhosa criação de Deus, Jeová que é o Homem, enquanto ser mais complexo do universo. O ser humano sabe que perturbações climatéricas são difíceis de serem preditas, as probabilidades são pequenas. Contudo, ele sabe que consegue descrever o comportamento de certos tipos dessas perturbações por meio de expressões matemáticas. Ora, se ele pode fazer isso com fenômenos absolutamente aleatórios, seria ainda mais fácil descrever matematicamente o comportamento dum avião e correlaciona-lo com as expressões matemáticas de fenômenos climatéricos. E como são cálculos complexos e que precisam receber entradas e originar saídas do sistema processual, nada mais logico que usar um computador para executar esses cálculos. O ser humano ainda é o melhor calculador, mas o computador é mais rápido.

Ora, isso vem provar que a maior parte dos processos em engenharia podem ser descritos por expressões matemáticas das mais complexas possíveis, e eu não sou matemático digo já. Um exemplo simples: o desvanecimento rápido e/ou lento dum sinal dum receptor radio-GSM pode ser descrito por certas funções probabilísticas apropriadas a cada caso. Mais outro: Os modelos de enfileiramento e buffering da memoria de circuitos electrónicos podem ser simulados em programas escritos em linguagem de computador de alto nível.

No ramos das telecomunicações existe uma amalgama de simuladores. Infelizmente durante nosso tempo na universidade não nos foram introduzidos a maior parte desses. Simuladores de circuitos eléctricos, de antenas, planeamento radio, GSM, comutação de pacotes e circuitos, IP Routing, etc etc.

No vídeo abaixo um funcionário da Riverbed explica como o OPNet Modeler pode ser utilizado para simular o desempenho de Aplicações:

 

Este artigo da Faculdade de Engenharia da Universidade do Porto, que descobri em mero ocaso, faz menção de inúmeras dessas ferramentas. Ficamos feliz pelo facto do artigo ter o nosso blog como fonte de informação, já que mencionou uma matéria que havíamos publicado sobre o simulador OPNet, este que serviu como ferramenta de estudo de caso da minha Monografia a 5 anos atrás.

Fontes

[1]http://blogdaengenharia.com/por-que-e-importante-que-engenheiro-de-producao-aprenda-simulacao/

 

GNS3 e o problema da escalabilidade

Das melhores ferramentas de estudo, design e projecto de redes o GNS3 ocupa uma posição primordial, porque passamos do processo da simples simulação de redes para a emulação dos próprios encaminhadores (routers) em si. Ou seja você roda em cima do seu computador pessoal versões robustas de encaminhadores Cisco. Ferramentas de simulação como o Cisco Packet Tracer ou outras ajudam muito pouco quando você sobe de nível nas carreiras Cisco. Os comandos são limitados, os serviços são limitados, algumas configurações assumem um carácter básico, quando não são, etc, etc.

Eu não tenho nada contra ferramentas de simulação, pelo contrario, o meu Trabalho de Conclusão de Curso (TCC) foi baseado numa ferramenta desse gênero, ou seja se eu quisesse projectar uma rede metropolitana de Fibra Óptica eu recorreria ao OPNet, poderoso simulador, agora adquirido pela Riverbed.

O bom do GNS3 é que você pode ir adicionando maquinas virtuais e conectar a sua topologia a elas. O mau dele é que isso requer demasiado espaço em Memoria de Acesso Aleatório (RAM). Com 4 (quatro) encaminhadores a 512 MBytes você tem no minimo 2048 GBytes de RAM, e isso é muito para um computador pessoal meu caro. Situação: Você usa o GNS3 e não usa mais nada. Se apertar muito você pode nem o GNS3 conseguir usar mais.

Solução? Ter uma boa maquina com uns bons MB de RAM. Essa maquina pode ser um servidor, uma workstation ou mesmo um portentoso laptop. Depois disso você instala um gerenciador de maquinas visuais, ou seja, um Hypervisor que nada mais nada é, um servidor de maquinas virtuais. Depois de instalado, você pode acessar as suas maquinas virtuais a rodarem imagens de roteadores Cisco, via rede. Tao simples quanto isso, ou seja, você tem um Servidor/Hypervisor que roda os seus laboratórios Cisco, o que o deixa sem necessidade de se preocupar com a memoria RAM do seu computador pessoal. Se quiser escalar, aumenta a memoria RAM do Hypervisor e ponto final. Quer ‘brincar ‘mais? Experimente utilizar Drives de Estado Solido (SSD), placas de rede Gigabit Ethernet, mini clusters etc etc. Se quiser ‘piorar’ a brincadeira ‘ alugue um endereço IP fixo e mesmo quando você se viajar ou se ausentar você ainda poderá usar seu laboratório.

vmware esxi

Existem algumas dicas de como fazer isso disponíveis na net, não são muitas. A maior parte delas de pessoal com grau CCIE, porque a esse nível é exigível determinada topologia que ou está disponível fisicamente ou você emula ela por meio de computador, o que não é fácil dada a parca disponibilidade de memoria RAM. Deixo com vocês 3 (três) links bem interessantes de como configurar um laboratório Hypervisor de encaminhadores Cisco.

The “Perfect” virtual Lab (será?)
How to build CCIE v5 Lab with Cisco CSR 1000v Routers
VMs Running In My ESXi Networking Lab as of 23-Dec-2014

 

 

Configurando serviço DHCPv6 Stateless

Similar ao protocolo DHCP, o protocolo DHCPv6 também faz uso do protocolo Internet Control Message Protocol, mas na sua versão 6, o ICMPv6, que por seu lado recorre a outro protocolo, o Neighbor Discovery (ND), que vem assim substituir o protocolo de descoberta e resolução ARP pertencente ao protocolo IP.

Ao contrario do serviço DHCPv6 Stateful, o serviço DHCPv6 Stateless não conserva o estado dos dispositivos a que ele atribui endereços. Geralmente o esquema é composto pela atribuição simples ao cliente do endereço DNSv6 e do Domain Name (DN) e do prefixo bem como seu tamanho.

O endereço IPv6 é obtido pela combinação do prefixo (64 bits) e do endereço MAC do dispositivo que sao 48 bits. Como o endereço IPv6 é composto por 128 bits isso significa que ainda restam (64-48)bits = 16 bits. Esses bits sao completados com a inserção da assinatura FFFE (onde o bit 70 é complementado) na metade dos 48 bits ou seja depois do bit 24 do MAC Address. A este tipo de técnica, denomina-se StateLess Address AutoConfiguration (SLAAC) e o formato do de endereço denomina-se EUI-64.

Os comandos ipv6 address autoconfig e ipv6 nd other-config-flag em modo de interface, habilitam a configuração automática do endereço IPv6 e a obtenção do outras configurações enviadas pelas mensagens RA (já falaremos disto parágrafo abaixo) dos servidores-encaminhadores (DHCPv6 Routers).

Aquando da obtenção da informação DHCPv6 o cliente e o servidor trocam mensagens ND. Geralmente um cliente envia uma mensagem Multicast Router Solicitation (RS) a todos agentes DHCPv6 que podem ser servidores-encaminhadores ou servidores de reencaminhamento (relay servers) ao endereço Multicast FF02::1:2 com escopo local, a solicitar uma mensagem Unicast Router Advertisement (RA) do servidor-encaminhador, que, por sua vez responde com o tal RA que também indica o seu tipo de configuração DHCPv6 (stateful ou stateless). O Default Router do cliente é o endereço de link local do servidor-encaminhador.

Geralmente configura-se o servidor-encaminhador para gerar e enviar Unicast RA’s com o comando ipv6 unicast-routing. Dessa forma, ele não irá proceder a geração e envio de mensagens RS.

A topologia abaixo é bastante elucidativa. Temos dois encaminhadores, nomeadamente R2, que faz o papel de servidor-encaminhador, e R3 que faz o papel de cliente. R2 é configurado como servidor DHCPv6 Stateless de modo que envia RA’s com informações sobre o seu prefixo, o seu tamanho, o endereco DNSv6 e o Domain Name.
o cliente R3 na sua interface fastethernet 0/0 por seu lado obtêm de R2 apenas o prefixo, de modo que estando configurado para autoconfiguração ela gera o seu endereço IPv6 por meio do método EUI-64 e obtêm de R2 apenas o DNSv6 e o Domain Name.

 

DHCPv6 Stateless
R2 Configuration

hostname R2

ipv6 unicast-routing

ipv6 dhcp pool SEQEUELE
address prefix 3111:1111:2222:3333::/64 lifetime infinite infinite
dns-server 2001:4860:4860::8888
domain-name http://www.snnangola.co.ao

interface FastEthernet0/0
no ip address
speed auto
duplex auto
ipv6 address 3111:1111:2222:3333::1/64
ipv6 dhcp server SEQEUELE rapid-commit
!
ip forward-protocol nd
!
no cdp advertise-v2

R3 Configuration

hostname Router

interface FastEthernet0/0
ipv6 address autoconfig
ipv6 nd other-config-flag
ipv6 dhcp client pd SEQEUELE rapid-commit

ip forward-protocol nd
!
no cdp log mismatch duplex

Testes

Interfaces associadas em R2

R2#sh ipv6 dhcp int
FastEthernet0/0 is in server mode
Using pool: SEQEUELE
Preference value: 0
Hint from client: ignored
Rapid-Commit: enabled

Confirmação da ausência de estado em R2

R2#sh ipv6 dhcp binding
R2#sh ipv6 dhcp database

Nao retorna qualquer informação de associação. Mas…

Interfaces associadas em R3

#sh ipv6 dhcp interface
FastEthernet0/0 is in client mode
State is SOLICIT
List of known servers:
Reachable via address: 3111:1111:2222:3333::1
DUID: 00030001CA0210EC0000
Preference: 0
Configuration parameters:
IA PD: IA ID 0x00040001, T1 60, T2 120
DNS server: 2001:4860:4860::8888
Domain name: http://www.snnangola.co.ao
Prefix name: SEQEUELE
Rapid-Commit: enabled