Treinamento MikroTik RouterOS Certificação – MTCINE
Produzido por: Alive Solutions www.alivesolutions.com.br Instrutor: Guilherme Ramires
AGENDA
• Treinamento diário das 09:00hs às 19:00hs • Coffe Break as 16:00hs
Algumas regras importantes
• Por ser um curso oficial, o mesmo não poderá ser filmado ou gravado
• Procure deixar seu aparelho celular desligado ou em modo silencioso
modo silencioso
• Durante as explanações evite as conversas paralelas. Elas serão mais apropriadas nos laboratórios
• Desabilite qualquer interface wireless ou dispositivo 3G em seu laptop
Algumas regras importantes
• Perguntas são sempre bem vindas. Muitas vezes a sua dúvida é a dúvida de todos.
• O acesso a internet será disponibilizado para efeito didático dos laboratórios. Portanto evite o uso
didático dos laboratórios. Portanto evite o uso inapropriado.
• O certificado de participação somente será concedido a quem obtiver presença igual ou superior a 75%.
Apresente-se a turma
• Diga seu nome; • Sua empresa;
• Seu conhecimento sobre o RouterOS; • Seu conhecimento com redes TCP/IP; • Seu conhecimento com redes TCP/IP; • O que você espera do curso;
• Lembre-se de seu número: XY
Objetivo do Curso
• Prover conhecimento teórico e prático referentes aos recursos Internetworking e MPLS básico e avançado no RouterOS a serem aplicados em redes de pequeno e grande porte.
• Após a conclusão do curso, você será capaz de planejar, implementar, ajustar e depurar as configurações de BGP e MPLS implementados pelo RouterOS.
Visão Geral
• BGP
– BGP Basics (iBGP, eBGP)
– Distribuição, filtros e BGP attributes
7 • MPLS – Introdução ao MPLS – LDP – L2 e L3 VPN's – Traffic Engineering
Primeiro lab
• Por favor resetem as RBs!
Cenário da aula
• Dividam-se em grupos de 4 alunos;
• Criem uma rede conforme mostrado no slide a
seguir;
• Os routers R1 e R2 irão se conectar ao SSID
9
• Os routers R1 e R2 irão se conectar ao SSID
AS100;
• Cada router da rede local terá uma rede
192.168.xy.0/24 onde: – X é o número do grupo – Y é o número do router
BGP
11
BGP
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
• Protocolo padrão do Router de Borda;
• Usado também como protocolo de roteamento
“Inter-AS”;
• Informações sobre a topologia da rede não são
BGP - Básico
13
• Informações sobre a topologia da rede não são
trocadas. Somente informações sobre alcançabilidade;
• O único protocolo que pode lidar com uma rede do
tamanho da internet;
BGP - Autonomous system(AS)
• Conjunto de roteadores que compartilham a mesma
política de roteamento;
• Troca de rotas:
– Routers com o mesmo AS usam o mesmo IGP – Routers entre ASs usam EGP
– Routers entre ASs usam EGP
• São números únicos;
• Podem ser de: 16 e 32 bits
• Números entre 64512 – 65535 são reservados pra uso
Implementação da distância vetorial
• O “prefixo” é informado com a lista de ASs ao
longo do caminho chamado AS Path;
• Trata todo o AS como um único ponto de
caminho;
15
caminho;
• Pode esconder a topologia da rede dentro do AS; • Não é capaz de prover uma rede livre de loops
BGP - Capabilities
• É informado por seu peer BGP os códigos de capacidades
suportadas;
• Se uma capacidade não é suportada, uma mensagem de notificação
é enviada de volta;
17
• Neste caso o peer vai tentar estabelecer conexão sem a capacidade
caso ela não seja requerida;
• Alguns exemplos de capacidades do RouterOS são:
– Route Refresh(RFC 2918);
– Multi-protocol Extension(RFC 4760); – Suporte aos “novos” AS de 4-bytes.
BGP - Transporte
• Funciona trocando informações de NLRI(Network Layer
Reachability Information);
• O NLRI possui diversos atributos BGP e um ou mais
atributos que eles possam estar associados;
• Utiliza o protocolo TCP na porta 179 como transporte;
• Inicialmente a tabela full routing é trocada entre os peers; • Informações extras de atualização serão feitos após a troca
Formato do Pacote
• O pacote possui 4 campos principais:
– Marker (128 bits) – Usado para autenticação; – Length (16 bits);
– Type (8 bits) – Tipo de mensagem BGP;
19
– Type (8 bits) – Tipo de mensagem BGP; – Message body.
BGP – Tipos de mensagens
• São 4 tipos de mensagens:
– Open: Primeira mensagem enviada após a conexão
TCP ser estabelecida. Contém a lista de capacidades e deve ser confirmada com uma mensagem de
“keepalive”;
– Keepalive: Não contêm dados. Enviada somente para
– Keepalive: Não contêm dados. Enviada somente para
evitar que a sessão expire;
– Update: Atualização de rotas. Contêm:
• NLRI;
• Path attributes;
– Notification: Enviada quando algum erro ocorre.
BGP – Session e Update
BGP - Networks
• Indica quais redes o protocolo deve originar a partir do router;
• Por padrão a rede somente é advertida se estiver presente na tabela de
rotas;
• O mecanismo de synchronization pode ser desativado se:
– Seu AS não provê serviço de transito; – Seu AS não provê serviço de transito; – Todos os routers de trânsito rodam BGP;
• Desabilitar o “sync” permite uma convergência mais rápida do BGP; • O mecanismo de “sync” pode ser muito perigoso caso a conexão esteja
muito instável;
BGP – Multi Protocol
• O formato do pacote BGP foi designado inicialmente
no padrão IPv4;
• Uma “família” de novos atributos foram criados para
poder dar suporte aos novos tipos de endereços;
23
poder dar suporte aos novos tipos de endereços;
• O RouterOS suporta os seguintes:
– IPv6; – L2VPN; – VPN4;
BGP - Instances
• Cada instância BGP roda seu próprio algoritmo de
seleção;
– Rotas entre as instâncias são eleitas por outros métodos como “distance”, por exemplo;
• Rotas de uma instância não são automaticamente • Rotas de uma instância não são automaticamente
redistribuídas para outras instâncias;
– Para isso é necessário que você opte por esta opção:
/routing bgp instance
set <id> redistribute-other-bgp=yes
BGP - Habilitando
• Acima está a configuração mínima.
25
• Se o router-id não for informado, o maior endereço IP será usado. • Verifique o status da conexão com o comando print. Qualquer estado
Cenários – Rede Stub
• Single Homed
– Utiliza-se AS privado(64512-65535); – O ISP origina somente rota default;
– Na verdade o BGP não seria necessário; – Na verdade o BGP não seria necessário;
– O router(ISP upstream) que fecha BGP com AS público é
que adverte as redes;
Remoção do AS privado
• Seu AS privado não pode chegar
ao ambiente público;
• Ele deve estar disponível somente
para seus vizinhos eBGP do AS
27
Ele deve estar disponível somente para seus vizinhos eBGP do AS privado;
• Anuncie somente rotas
agregadas;
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
BGP - Lab 1
• Crie uma rede BGP conforme ilustrado no
próximo slide:
– Os routers R1 e R2 vão fechar peer com o AP; – Os routers R2 e R4 vão fechar peer entre si; – Os routers R1 e R3 vão fechar peer entre si;
29
– Os routers R1 e R3 vão fechar peer entre si;
• Anuncie sua rede local;
• O AS privado deve ser removido; • R1 e R2 originem rota default.
Cenários – Rede Stub
• Multihomed:
– Utiliza-se AS privado também – opcional; – Pode ser usado:
• Como link backup/principal; • Balanceamento de carga;
31
• Balanceamento de carga;
– O router(ISP upstream) que fecha BGP com AS público é que adverte as redes;
– Deve usar a mesma política do ISP – upstream.
Cenários não stub
• Necessita de um AS público; • Uma range IP de seu RIR;
• Pode utilizar uma política de
roteamento diferente de seus ISPs;
seus ISPs;
• Pode ser usado:
– Como link backup/principal; – Balanceamento de carga; – Maiores políticas de
BGP - Contrack
• A contrack não é capaz de manter válidas as
conexões em um ambiente multihomed;
• Pacotes relacionados a uma conexão podem fluir
por diferentes caminhos;
33
• Pacotes relacionados a uma conexão podem fluir
por diferentes caminhos;
– Por isso é muito importante que neste tipo de cenário você JAMAIS use drop conexões inválidas no firewall.
• A contrack pode ser desabilitada para obtenção
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
BGP – Lab 2
• Adicione o R3 ao mesmo AS do R1; • Adicione o R4 ao mesmo AS do R2; • Crie um peer entre R4 e R3;
35
• Crie um peer entre R4 e R3;
• Habilite o OSPF para distribuir rotas conectadas
nos routers de mesmo AS;
BGP – Lab 2
BGP – Lab 2
• O BGP distribui somente a melhor rota. Enquanto em R1 a
eBGP e iBGP
• iBGP: peers entre routers do mesmo AS; • eBGP: peers entre routers de outros AS;
eBGP
• Quase sempre formado por peers que estão
diretamente conectados;
• A opção “multi-hop” é exigida se o peer não
estiver diretamente conectado; estiver diretamente conectado;
• Adiciona o AS ao prefixo de caminho advertido; • Por padrão a opção “Next-hop” e alterada para
eBGP – Exemplo de multihop
41
• Neste exemplo podemos ver um bom exemplo do uso do multihop mesmo
em routers diretamente conectados.
• Nesta configuração foi utilizado endereço loopback para conexão entre os
peers e portanto seria necessário o uso de rota estática ou algum IGP para existir alcançabilidade IP entre os mesmos.
iBGP
• Por padrão o “next-hop” não é modificado
– Utilize algum IGP(RIP, OSPF, estático) para garantir a
alcançabilidade IP dentro do AS.
• Atributos aprendidos a partir do iBGP não são alterados
para não impactar a seleção de caminho para rede externa;
• O as_path não é manipulado;
• Prover formas de controlar pontos de saída do AS; • Rotas externas recebidas de um peer iBGP não são
passadas para outros peers iBGP;
– Para que isso ocorra é necessário o uso de full mesh ou router
iBGP
LoopBack
• Elimina a dependência de estabelecimento da conexão
TCP interface física;
• Comumente utilizado entre peers iBGP;
• No MikroTik podemos utilizar uma bridge vazia como • No MikroTik podemos utilizar uma bridge vazia como
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
BGP – Lab 3
• Vamos incrementar o setup atual utilizando
endereços loopback entre peers iBGP com o seguinte endereçamento 10.255.x.y/32;
• Adicione o endereço loopback na network do
OSPF;
• Modifique o router-id do OSPF e do BGP para
Distribuição de rotas
• As rotas IGP(estático, OSPF, RIP) podem ser distribuídas
da seguinte forma:
– /routing bgp instance
– set default redistribute-static=yes – set default redistribute-ospf=yes
47
– set default redistribute-ospf=yes
• O prefix origin será “incomplete”;
• Existe o risco de todas rotas IGP serem publicadas; • Utilize filtros para evitar estas propagações
Exemplo de distribuição
• Desta forma os pacotes serão cessados a não ser
que exista uma rota mais especifica;
Routing Filters
• É a principal ferramenta para controlar e modificar as
informações de roteamento;
• São organizados em canais muito similar ao firewall;
• Pode especificar quais configurações serão aplicadas aos
peers BGP ou como filtro de saída da própria instância;
49
peers BGP ou como filtro de saída da própria instância;
• Primeiramente os prefix passam pelo filtro da instância e
Filtrando prefixo
Filtro AS PATH
• Pode ser configurado para permitir updates
somente de/para um AS especifico;
• Suporta expressões regulares tais como:
• “ . ” – qualquer caractere; • “ . ” – qualquer caractere; • “ ^ “ – inicio do as_path; • “ $ “ – final do as_path;
• “ _ “ – qualquer valor entre vírgulas, no início, no fim ou em um intervalo especifico.
Mais opções de Filtros AS Path
• .* - Todas as rotas BGP
• ^$ - Rotas que se originam no meu AS
• ^(100|200|300)$ - Rotas originadas no 100, 200 ou 300
• ^1002$ - Rotas que se originam no AS 1002 , adjacente ao
• ^1002$ - Rotas que se originam no AS 1002 , adjacente ao
meu AS _1002$ - Rotas que terminam no AS 1002
• ^1002_ - Rotas originadas no AS 1002
• _1002_ - Rotas que passaram no AS 1002
• (...)+(...) – Uma ou várias ocorrências do caractere
BGP – Reconfiguração “leve”
• Quando usamos action=discard as rotas não
serão mais atualizadas após a aplicação do filtro;
• Solução?
• Use action=reject para manter as rotas na memória; • Use action=reject para manter as rotas na memória; • Modo Dynamic(O peer deve ter suporte a capacidade
“refresh”):
• O peer vai atualizar as rotas após as alterações serem feitas; • Neste caso não há uso extra de memória;
• Não é feito automaticamente – é necessário você executar o
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
BGP – Lab 4
• Adicione filtros de forma que:
– R1 não receba o prefixo 192.168.x2.0/24 do AP; – R2 não receba o prefixo 192.168.x1.0/24 do AP; – R3 não receba o prefixo 192.168.x4.0/24 de R4; – R4 não receba o prefixo 192.168.x3.0/24 de R3;
BGP – Lab 4
• Vamos verificar R3. Se os filtros foram
empregados corretamente o tracert para a rede x2 deverá ir por R4 e o tracert para x4 deverá ir pelo AP.
57
BGP – Algoritmo de decisão
• BGP utiliza o simples “melhor caminho” para o destino; • BGP sempre propaga o “melhor caminho” para os
vizinhos;
• Diferentes atributos de caminho são usados para • Diferentes atributos de caminho são usados para
determinar o “melhor caminho” como: – weight;
– Next-hop; – As_path;
– Local_preference; – Etc…
Seleção de melhor caminho • Validação do “next-hop”;
• Maior “weight” – default=0;
• Maior “local_pref” – default=100;
• Menor “as_path”;
• Caminho gerado localmente(aggregate, BGP network, etc.);
59
• Caminho gerado localmente(aggregate, BGP network, etc.);
• Menor tipo “origin” – (IGP, EGP, incomplete); • Menor MED – default=0;
• eBGP é preferido sobre iBGP;
• Rota proveniente do menor Router ID;
• Menor cluster de router reflect – default=0;
Nexthop
• Endereço IP utilizado para alcançar um determinado
destino;
• Para o eBGP o nexthop é o endereço IP de seu vizinho; • O nexthop informado pelo eBGP é carregado dentro do • O nexthop informado pelo eBGP é carregado dentro do
Nexthop self
• Força o BGP a utilizar seu próprio IP como
nexthop;
Weight
• O weight é um atributo de uso próprio do router;
• Prefixos sem atribuição deste valor por padrão terá o
valor 0 atribuído;
• Router com o maior peso será preferido; • Router com o maior peso será preferido; • Boa forma de controla o fluxo de upstream.
Local Preference
• Indica que caminho tem preferência para deixar o AS;
• Caminho com maior local_pref será escolhido (default: 100); • É informado junto com o AS;
• Outra boa forma de controle de upstream.
63
AS Path
• Lista de números AS que são atualizados
As Path Prepend
• A manipulação do as_path pode ser feita pra
influenciar a seleção de melhor caminho dos outros routers;
As Path Prepend
• Desta forma pode-se influenciar o tráfego de
upstream dos outros routers. O que de forma indireta irá influenciar seu próprio tráfego de downstream.
Origin
• Informação sobre a origem da rota: – IGP: interna ou gerado no próprio AS;
– EGP: rota originada por um protocolo externo;
67
– Incomplete: origem desconhecida. Geralmente
MED
• Multi Exit Discriminator ou métrica. Funciona
como sugestão ao vizinho externo sobre a preferência de caminho dentro do AS;
• A menor métrica é escolhida;A menor métrica é escolhida;
• Atributo trocado entre ASs e usado para tomar
decisão de caminho dentro deste AS e não será passado adiante a um terceiro AS;
• Atributo ignorado se for recebido de um AS
MED - Exemplo
69
• R1, R2 e R3 publicam a mesma rede para R4 com diferentes valores
de MED. R4 vai comparar somente valores de MED vindos de R2 e R3 e o MED de R1 será ignorado;
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
BGP – Lab 5
• Utilize as_path prepend para balanceamento de
carga e failover conforme ilustra a imagem.
Community
• Atributo usado para agrupar destinos;
• Filtros podem ser facilmente aplicados para todo
o grupo;
• Existem também alguns grupos padrão:
– No-export: não publica para o peer eBGP;
– No-advertise: não publica para nenhum peer; – Internet: publica para a comunidade internet; – Local-as: não publica pra fora do AS local.
Community - Exemplo
• Supomos que você não queira que R2
propague rotas aprendidas de R1:
Community – Cont...
• Tem o valor de 32bits e é escrito no formato: “xx:yy”; • Permite ao administrador maiores políticas de controle; • Simplifica a configuração de upstream;
• Pode ser usado pelo ISP para: • Pode ser usado pelo ISP para:
– Opções de as_prepend; – Restrições geográficas; – Blackholing, etc…
• Usado também para checar o Internet Routing Registry
Community – outro exemplo
• AS 100 define communitys publicas; – 100:500 – adverte para todos os peers; – 100:501 – adverte para o AS 400.
Exemplos para ISPs
aut-num: AS2588
as-name: LatnetServiss-AS descr: LATNET ISP
member-of: AS-LATVIA remarks: +---remarks: | remarks: | x=0 Announce as is remarks: | x=1 Prepend +1 remarks: | x=2 Prepend +2 remarks: | x=3 Prepend +3 77 remarks: | x=3 Prepend +3 remarks: | x=4 Prepend +4 remarks: | x=5 Prepend +5 remarks: |
remarks: | 2588:400 Latvian Nets
remarks: | 2588:500 Announce to LIX (Latvian Internet Exchange) remarks: | 2588:666 Don't announce (blackhole)
remarks: | 2588:70x Announce to uplinks with $x prepend
remarks: | 2588:900 Recieved from LIX (Latvian Internet Exchange) remarks: |
remarks: | For more information please use the email address remarks: | iproute (at) latnet (dot) lv
+---Agregação
• É o conceito de sumarização de rotas mais especificas em uma supernet; • Pode ser usada para esconder a topologia;
BGP – Router Reflect
• Re-adverte rotas iBGP para evitar o full mesh;
• Reduz a contagem de mensagens de comunicação;
• Reduz também a quantidade de dados por mensagem;
Neste caso somente o melhor caminho é “refletido”.
79
Router Reflect - configuração
• RR é configurado habilitando a opção “client-to-client
reflection” desta forma: /routing bgp instance
set default client-to-client-reflection=yes
• Confirme o peer RR em sua configuração desta forma: • Confirme o peer RR em sua configuração desta forma:
/routing bgp peer
add route-reflect=yes remote-peer=x.x.x.x
• RR deve ser habilitado SOMENTE no roteador “refletor”; • O RouterOS não pode ser configurado puramente como RR.
BGP - Confederation
• Agrega múltiplos ASs em um único AS;
• Para o mundo externo a confederation aparece como um
único AS;
• Cada AS deve estar rodando full mesh ou RR;
81
• Troca de rotas entre confederados eBGP são entendidas
como rotas de iBGP;
• O as-path dentro da confederation aparecerá entre
Confederation – As Path
83
O Trafego IBGP na tabela de rota será informado as confederações usando abreviação *(entre aspas) A Rota eBGP em ip route em AS-Path sera informado
somente os ASN por onde as rotas estao
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
BGP – Lab 6
MPLS
Multi-protocol Label Switching Multi-protocol Label Switching
MPLS – Pré Setup
• Reset sua RB - /system reset no-default=yes
• Efetue o setup conforme a imagem no slide
seguinte;
87
• Crie as interfaces loopback e distribuía via
OSPF;
• Não esqueça de adicionar a loopback em
MPLS
• Tecnologia de encaminhamento de pacotes baseada
em pequenos rótulos;
• Objetivo inicial: um encaminhamento de pacotes mais
eficiente do que o roteamento IP comum;
89
• Serve também como base para alguns “serviços
avançados” como: – VPNs L3;
– AToM(Any transport over mpls) – VPNs L2; – MPLS TE(Traffic Engeneerin);
MPLS - Básico
• LER: Label Edge Router – Responsáveis por classificar e rotular os
pacotes que ingressam na nuvem mpls. São responsáveis também pela remoção do rótulo antes do pacote deixar a nuvem mpls;
• LSR: Label Switch Router – Responsáveis pelo encaminhamento dos
MPLS – Básico – cont...
• Por ter sido criado após a concepção do OSI o MPLS é
considerado um protocolo de camada 2.5;
• O cabeçalho extra(32 bits) é inserido no modelo OSI
entre a L2 e a L3 da seguinte forma:
91
entre a L2 e a L3 da seguinte forma: – Label (20 bits);
– EXP (3 bits) – CoS;
– End of stak flag(1 bit) – caso o rótulo atual seja o último da
pilha;
MPLS – Básico – cont...
• É permitido o uso de mais de 1 label; • Os labels são agrupados em pilhas;
• Os LSRs sempre usam o label que estiver no topo da
pilha; pilha;
• Existem vários métodos de distribuição de labels:
– Static Label Mapping;
– LDP – mapeia o destino unicast dentro do label; – BGP – labels externos (VPN);
– RSVP, CR-LDP – usados em traffic engeneering e reserva de
Static Label Mapping
• O RouterOS permite adicionar estaticamente
labels local e remoto;
• A range dinâmica do MPLS deve ser ajustada
93
• A range dinâmica do MPLS deve ser ajustada
Teste com traceroute
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
Static Mapping - Lab
• Crie ligações estáticas de labels para os
endereços loopback;
• Enquanto o ECMP não é usado nas ligações
estáticas, escolha somente o primeiro
97
estáticas, escolha somente o primeiro gateway;
• Verifique se os labels estão sendo setados
com o traceroute:
LDP
• Label Distribution Protocol é o protocolo de
distribuição dos labels de forma dinâmica;
• Depende das informações providas pelo IGP
para criar o mapeamento local de labels e para criar o mapeamento local de labels e distribuir para os demais vizinhos LDP.
Label Space
• Espaço de Labels por interface – o pacote é
encaminhado de acordo com as informações da interface de entrada e seu label;
• Espaço de Labels por plataforma – o label não
99
• Espaço de Labels por plataforma – o label não
Modos de distribuição
• Downstream-on-demand (DoD) – cada LSR
requisita o label de ligação do “next-hop”;
• Unsolicited Downstream (UD) – O LSR distribui • Unsolicited Downstream (UD) – O LSR distribui
todas as ligações de LSRs adjacentes mesmo que o LSR não esteja requisitando esta
Números para lembrar
• Mensagens de Hello LDP – UDP porta 646;
• Estabelecimento de sessão de transporte LDP
– TCP porta 646;
101
– TCP porta 646;
• As mensagens de hello são enviadas para
todos os routers através da subnet de endereço multicast 224.0.0.2.
Configurando o LDP
• Pode ser configurado no menu: “/mpls ldp”:
/mpls ldp set enabled=yes transport-address=x.x.x.x \ lsr-id=x.x.x.x
/mpls ldp interface add interface=ether1
• Ao setar o transport address garantimos o uso
correto do penúltimo hop. O que garante um comportamento conhecido por “penultimate hop popping”.
LDP - Lab
• Remova todo mapeamento estático feito no lab
anterior;
• Habilite o LDP e configure o lsr-id e o
transport-address com o mesmo endereço da loopback;
103
• Adicione todas interfaces LDP conectadas aos seus
vizinhos que “falem” mpls;
• Verifique se seus vizinhos foram criados:
– /mpls ldp neighbor print
• Verifique a tabela de forward do MPLS:
Labels reservados
• Labels de 0 a 15 são reservados, mas somente
4 são usados até o momento: – 0: explicit null;
– 1: router alert; – 1: router alert;
– 2: IPv6 explicit null; – 3: implicit null;
Penultimate Hop Poppging
• O router mpls que é o ponto de saída da rede
e está ligado a um router que não suporta tráfego mpls;
• Advertido com label ‘implicit null”;
105
• Advertido com label ‘implicit null”;
• O penultimate hop popping garante que o
router não vai precisar fazer nenhum lookup extra no label já que ele está ciente de que deve encaminhar o pacote adiante.
Explicit null
• Se for configurado, o penúltimo LSR encaminha o
pacote com um label null ao invés da toda a pilha;
• Útil também para preservar o QoS;
107
• Não é requerido caso a pilha contenha pelo
menos 2 labels pois o label interno pode carregar as informações do QoS;
MPLS - Traceroute
• Mensagens ICMP de erro são trocadas mais
adiante do LSP(Label Switched Path);
• Isto causa um falso incremento de latência • Isto causa um falso incremento de latência
Targeted LDP sessions
• Em alguns casos é necessário utilizar o recurso
targeted ldp session.
• Este recurso permite uma ligação entre LSRs que
não estão diretamente ligados;
109
não estão diretamente ligados;
• Configuração:
Label Binding Filtering
• Pode ser usado para distribuir somente uma parte dos
labels com o intuito de reduzir o uso de recursos;
• Existem 2 tipos de filtros:
– O que informa que os avisos devem ser informados:
• /mpls ldp advertise-filter • /mpls ldp advertise-filter
– O que informa que os avisos devem ser aceitos:
• /mpls ldp accept-filter
• Filtros são aplicados aos avisos de entrada e saída.
Qualquer alteração nos filtros requer desabilitar e habilitar o LDP.
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
Label Binding - Lab
• Configure o label binding filter para que
somente os endereços loopback possam ser enviados e recebidos no seu grupo;
• Verifique a tabela de forward para ter certeza
que os filtros estão funcionando;
• Verifique se o pacote foi encaminha via mpls
VPN L3
113
VRF
• Virtual Routing and Forwarding – Roteamento e
encaminhamento virtual;
• Funciona baseado em políticas de roteamento; • Funcionalidade de roteamento completamente • Funcionalidade de roteamento completamente
independente da tabela de roteamento do roteador;
• Múltiplas VRFs resolvem o problema da sobreposição
de endereços IP dos clientes;
• Porém ao contrário dos pacotes da main table, quando
o nexthop falha na tabela vrf o pacote não seguirá pelo gateway default da main table.
Vazamento de rota
• É a troca de rotas entre VRFs separadas; • Rota estática Inter-VRF:
– Explicitamente especificada na tabela de rotas:
115
– Explicitamente especificada na tabela de rotas:
/ip route add gateway=10.3.0.1@main routing-mark=vrf1
– Explicitamente especificada pela interface:
/ip route add dst-address=1.1.1.0/24 gateway=10.3.0.1%ether1 routing-mark=vrf1
VRF – Gerenciamento de routers
• Qualquer gerenciamento do router não será
possível a partir de uma VRF (winbox, ssh, telnet, etc…);
• Os recursos de ping e traceroute foram
atualizados para suportar VRFs;
• O OSPF e o BGP podem ser usados como
BGP/MPLS – IP VPN
• Ao contrário da VPLS funciona em L3; • Também conhecida como L3VPN;
• O suporte a multiprotocolos do BGP permite
117
• O suporte a multiprotocolos do BGP permite
distribuir rotas entre VRFs ou até para o próprio router;
• Entretanto a rede informada deve ter suporte
Route Distinguisher
• O RD é usado para tornar os prefixos IPv4
únicos;
• RD+(Prefixo IPv4) = Prefixo VPNv4;
119
• RD+(Prefixo IPv4) = Prefixo VPNv4; • Formato do prefixo:
– IP:numérico; – ASN:numérico;
Route Target
• RTs foram introduzidos para prover interconexão entre
sites de diferentes empresas, conhecidos também como VPNs extranet;
• Os RTs são “extensões” de communitys BGP usados
para especificar quais prefixos VPNv4 serão importados para especificar quais prefixos VPNv4 serão importados pra tabela VRF;
• Exportar um RT: o prefixo VPNv4 recebe uma
“extensão” community BGP extra;
• Importar um RT: a rota VPNv4 recebida é verificada
Route Target
Configurando uma L3VPN
• Crie uma instância VRF:
/ip route vrf
add routing-mark=vrf1 route-distinguisher=100:1 export-route-targets=100:1 import-route-targets=100:1
• Configure o BGP para usar VRF e endereços VPNv4:
/routing bgp instance vrf
add instance=default routing-mark=vrf1 redistribute-connected=yes /routing bgp peer
add address-families=vpnv4 update-source=lo
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
VPNv4 - Lab
• Escolha um Router Reflect e configure o iBGP nele – AS:
X00;
• Configure uma BGP VPNv4;
• Crie uma VRF na interface que seu laptop está conectado; • Route Distinguisher e export RT: X00:Y;
• Configure o import route target corretamente de forma
que somente os sites verdes e azuis troquem rotas – veja no próximo slide;
• Configure o route leaking para ganhar acesso a internet
VPNv4 - Lab
OSPF e eBGP como CE-PE
• Distribui rotas entre roteadores VRF’s de CEs e PEs; • No router PE especifique que VRF deseja usar:
VPN L2
VPLS baseada em LDP
127
VPLS baseada em LDP VPLS baseada em BGP
VPLS baseada em LDP
• Também chamado de L2VPN ou EoMPLS; • Consegue unir LANS através da rede MPLS;
• Utiliza o protocolo LDP pra negociar os túneis VPLS;
• Utiliza um campo chamado PW para identificar o túnel • Utiliza um campo chamado PW para identificar o túnel
VPLS;
• O PW tem as seguintes capacidades:
– MAC Learning; – MAC flooding;
VPLS baseada em LDP
VPLS - Configurando
• Estando com a rede MPLS funcional, adicione os túneis
VPLS nos pontos terminais:
/interface vpls add remote-peer=x.x.x.x vpls-id=x:x
• Os vizinhos LDP são adicionados dinamicamente; • O túnel ID deve ser único para cada VPLS;
• O túnel ID deve ser único para cada VPLS;
• As informações relacionadas ao túnel VPLS podem ser
obtidas com o seguinte comando:
/interface vpls monitor
• As interfaces locais podem ser colocadas em bridge com a VPLS para prover transparência.
Split Horizon
• É um recurso da bridge que não permite que os pacotes sejam
encaminhados para as portas da bridge que possuam o mesmo
horizon;
• Caso você opte por adicionar várias interfaces na bridge que
está/ão a(s) VPLS talvez seja necessário o uso deste recurso;
• Configure o horizon em cada porta que não deseje comunicação
131
• Configure o horizon em cada porta que não deseje comunicação
desta forma:
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
VPN VPLS - Lab
• Criem túneis VPLS entre todos os routers do
grupo – usem o VPLS ID (x:x);
• Coloque as interfaces VPLS em bridge com a
interface local do seu router;
133
• A rede da VPN será 192.168.x0.0/24; • Utilize o split horizon para evitar loops;
• Teste a conectividade entre os notebooks em seu
VPN VPLS - Lab Tabela de VPLS ID Tabela de VPLS ID R1 <> R2 = 1:x R1 <> R3 = 2:x R1 <> R4 = 3:x R2 <> R3 = 4:x R2 <> R4 = 5:x R3 <> R4 = 6:x
VPN VPLS - Lab
VPN VPLS - Inconvenientes
• Problemas de escalabilidade devido as
configurações serem estáticas;
• Obrigatoriedade de manter o full mesh vpls • Obrigatoriedade de manter o full mesh vpls
entre todos os membros da vpn;
• Configurações e ajustes devem ser feitos
VPLS baseada em BGP
• Funcionalidade:
– Autodiscovery: Não é necessário configurar cada VPLS
em cada router;
– Sinalização: Os labels dos túneis VPLS são distribuídos
junto com as mensagens de uptade do BGP.
137
junto com as mensagens de uptade do BGP.
• Evita a necessidade de sessões LDP “targeted”; • Não apresenta problemas de escalabilidade;
• Caso você esteja rodando um BGP full mesh será
VPLS baseada em BGP – Config.
• Configure a instância BGP;
• Habilite o multiprotocolo l2vpn nos peers; • Utilize a interface loopback como update-• Utilize a interface loopback como
update-source, para que o “penultimate hop
VPLS baseada em BGP – Config.
• Configure uma bridge chamada “VPN”;
• Configure o BGP sinalizando a interface VPLS;
139
• Os túneis serão criados dinamicamente e serão
adicionados a bridge VPN:
– Router-distinguisher: valor agregado ao NLRI do túnel para
distinguir os avisos. Este valor deve ser único para cada VPLS;
VPLS baseada em BGP - Lab
• Escolha um dos routers do grupo para ser RR; • Configure o BGP para fechar peer com o RR do
grupo;
• Substitua todas VPLS criadas estáticas pela VPLS
BGP;
• Utilize o site id seu número y;
• Configure o import/export RT(Route Targets)
MPLS – L2 MTU
• MPLS MTU = IP MTU(L3) + MPLS headers; • Você pode ajustar a MPLS MTU no menu:
/mpls interface
• Se a MTU for muito grande e o próximo cabeçalho for
141
• Se a MTU for muito grande e o próximo cabeçalho for
IP acontecerá o seguinte:
– Um mensagem de erro “ICMP NF” será gerada;
VPLS - CW
• O Control Word tem 4 bytes e é usado para
fragmentação e remontagem do pacote dentro do túnel VPLS;
143
• O CW é opcionalmente adicionado entre o
label PW e o packet payload;
• O CW pode ser desabilitado para dar
Traffic Engineering
145
Limitação do roteamento IP
• Depois que 2 fluxos de tráfego IP que vão pro
mesmo destino se “mesclam”, é impossível dividi-los e encaminhá-dividi-los por caminhos diferentes;
• No exemplo abaixo está ocorrendo uma • No exemplo abaixo está ocorrendo uma
Traffic Engeneering
• TE consegue resolver este problema;
• Pode ser usado para desviar o fluxo para o link
mais disponível;
147
Traffic Engeneering
• É capaz de expandir a capacidade de redes L2
ATM e frame relay;
• Roteamento baseado em coação – o caminho • Roteamento baseado em coação – o caminho
até o destino para o fluxo de tráfego será o
caminho mais “curto” que atinja os requisitos solicitados pela origem do fluxo;
Como isso funciona?
• O TE estabelece/mantêm o túnel utilizando RSVP(Resource
Reservation Protocol);
• O caminho do túnel, em qualquer ponto, é determinado
pelos recursos da rede e as necessidades do túnel;
• Os recursos disponíveis podem ser informados pelo OSPF;
149
• Os recursos disponíveis podem ser informados pelo OSPF; • A caminho do túnel será calculado baseado em uma única
direção e poderá ser ajustado com base nos recursos disponíveis e requisitados no momento.
• Isso se deve ao fato do túnel TE que é baseado em RSVP só
Túnel TE - Opções
• O caminho do túnel pode ser baseado no roteamento
existente na tabela de rotas:
Tunnel path: use-cspf=no and empty hops
• Pode também ser baseado em um caminho informado
estaticamente: estaticamente:
Tunnel path: use-cspf=no and hops=<caminho informado>
• Constrained Shortest Path First (CSPF) – todo o
caminho de formação do túnel será calculado com base nas informações disponíveis sobre o estado da rede.
Como isso funciona?
• O túnel aparece como uma interface;
• “Auto TE” dentro da range de uma determinada
área;
• O tráfego será automaticamente enviado pelo TE
151
• O tráfego será automaticamente enviado pelo TE
se:
– A extremidade remota do “falso cabo” é a mesma do ponto final;
– O nexthop do BGP é o ponto final do túnel – pode ser desabilitado configurando: use-te-nexthop=no
TE - Configuração
• Configure o OSPF para usar o TE e configure o
TE em todas interfaces participantes do túnel;
TE – Configuração – cont...
• Resultados no OSPF: LSAs opaque; • Monitoramento do túnel TE:
TE – Configuração – cont...
Túnel TE – Caminho estático
• O caminho estático é estabelecido
configurando os hops “strict” ou “loose”:
– Strict: define que não pode haver nenhum outro
salto entre o salto anterior e o salto “strict”. Portanto todo caminho deve ser especificado.
155
Portanto todo caminho deve ser especificado.
– Loose: Pode haver outros saltos entre o salto
anterior e o próximo salto. Não é necessário especificar todo o caminho neste caso.
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
TE – Lab 1
• Configure túneis TE de forma que os túneis
VPLS utilizem os seguintes caminhos:
– VPLS: R1<->R4: TE Path: R1-R3-R4 – primário – VPLS: R2<->R3: TE Path: R2-R4-R3 – primário – VPLS: R2<->R3: TE Path: R2-R4-R3 – primário • Experimentem com caminhos diferentes
TE – Lab 1 Tabela de VPLS ID 159 Tabela de VPLS ID R1 <> R4 = 3:x R2 <> R3 = 4:x
TE – Secondary path
• O TE, por padrão, não altera o caminho
automaticamente para o caminho secundário. Para isso o túnel deve ser re-optimizado:
– Manualmente: utilize o comando optimize
– Automaticamente: Configure um reoptimize-interval
• O TE vai tentar voltar ao caminho primário uma vez por
minuto. Este valor pode ser alterado no parâmetro
primary-retry-interval
• A alternância de caminhos leva um certo tempo que
vai depender de: timeout do OSPF, atualização da tabela de rotas, opções de timeout do TE.
TE – Auto bandwidth
• Por padrão o TE não aplica limitações de taxa. “Bandwidth”
só serve para contabilização da reserva.
• Para tornar os túneis mais flexíveis dois recursos devem ser
adicionados:
– Bandwidth-limit – taxa máxima permitida dentro do túnel.
Limite determinado com percentual.
161
– Bandwidth-limit – taxa máxima permitida dentro do túnel.
Limite determinado com percentual.
– Auto Bandwidth adjust – mensura o consumo médio
determinado em “auto-bandwidth-avg-interval” e tenta manter o máximo consumo médio durante o intervalo determinado em “auto-bandwidth-update-interval”. Quando este tempo expira o túnel volta a escolher a maior taxa a partir do parâmetro: “auto-bandwidth-range”.
AVISO IMPORTANTE
• Peço aos Senhores que durante estetreinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser na “clonagem” de informações que devem ser únicas para o correto funcionamento das
TE – Lab 2
• Configure o túnel TE de forma que o VPLS utilize
o caminho primário e de forma que possa alternar para o caminho backup:
– VPLS: R1<->R4: TE Path: R1-R3-R4 primário, R1-R2-R4 backup. 163 backup. – VPLS: R2<->R3: TE Path: R2-R1-R3 primário, R2-R4-R3 backup.
• Configure o bandwidth limit(automático e
estático) do túnel TE e teste a limitação com o bandwidth test.
Sumário geral
• MPLS melhora o desempenho da rede; • Implementação relativamente fácil;
• Muito fácil migração de EoIP para VPLS;
165
• Muito fácil migração de EoIP para VPLS; • Novas possibilidades de serviços a serem
Obrigado!!