Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Certificação – MTCINE
Objetivo do Curso
7
Visão Geral
• BGP
– BGP Basics (iBGP, eBGP)
– Distribuição, filtros e BGP attributes
• MPLS
– Introdução ao MPLS
– LDP
– L2 e L3 VPN's
– Traffic Engineering
8
Primeiro lab
• Por favor resetem as RBs!
10
Setup
11
BGP
Border Gateway Protocol
12
BGP - Básico
14
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
15
Implementação da distância vetorial
16
Implementação da distância vetorial
17
BGP - Capabilities
• É informado por seu peer BGP os códigos de capacidades
suportadas;
18
BGP - Transporte
• Funciona trocando informações de NLRI(Network Layer
Reachability Information);
19
Formato do Pacote
20
BGP – Tipos de mensagens
21
BGP – Session e Update
22
BGP - Networks
• Indica quais redes o protocolo deve originar a partir do router;
23
BGP – Multi Protocol
24
BGP - Instances
26
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;
– O router(ISP upstream) que fecha BGP com AS público é
que adverte as redes;
– Deve usar a mesma política do ISP
Remoção do AS privado
28
BGP - Lab 1
31
Cenários – Rede Stub
• Multihomed:
– Utiliza-se AS privado também – opcional;
– Pode ser usado:
• Como link backup/principal;
• 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.
32
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;
• Pode ser usado:
– Como link backup/principal;
– Balanceamento de carga;
– Maiores políticas de
roteamento avançado.
33
BGP - Contrack
37
BGP – Lab 2
38
BGP – Lab 2
40
eBGP
41
eBGP – Exemplo de multihop
43
iBGP
44
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
interface loopback;
45
BGP – Lab 3
47
Distribuição de rotas
48
Exemplo de distribuição
50
Exemplo de filtro
51
Filtrando prefixo
52
Filtro AS PATH
53
Mais opções de Filtros AS Path
55
BGP – Lab 4
57
BGP – Lab 4
58
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
determinar o “melhor caminho” como:
– weight;
– Next-hop;
– As_path;
– Local_preference;
– Etc…
59
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.);
• 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;
• Caminho proveniente do vizinho com menor endereço IP.
60
Nexthop
61
Nexthop self
62
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;
• Boa forma de controla o fluxo de upstream.
63
Local Preference
• Indica que caminho tem preferência para deixar o AS;
64
AS Path
65
As Path Prepend
66
As Path Prepend
67
Origin
68
MED
70
BGP – Lab 5
72
Community
73
Community - Exemplo
74
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:
– Opções de as_prepend;
– Restrições geográficas;
– Blackholing, etc…
75
Community – outro exemplo
76
Community – outro exemplo – cont...
77
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
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
remarks: +--------------------------------------------------
78
Agregação
• É o conceito de sumarização de rotas mais especificas em uma supernet;
• Pode ser usada para esconder a topologia;
• Funciona somente nos routers da mesma instância BGP;
79
BGP – Router Reflect
80
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
81
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;
• Troca de rotas entre confederados eBGP são entendidas
como rotas de iBGP;
• O as-path dentro da confederation aparecerá entre
parênteses: as-path=(30,20);
82
Confederation – As Path
83
Confederation – As Path
84
BGP – Lab 6
86
MPLS
87
MPLS – Pré Setup
88
MPLS – Pré Setup
89
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;
• 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);
– Serviços com garantia de banda.
90
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
pacotes já rotulados;
91
MPLS – Básico – cont...
92
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;
• 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
recursos.
93
Static Label Mapping
94
Static Label Mapping
95
Teste com traceroute
96
Static Mapping - Lab
98
LDP
99
Label Space
100
Modos de distribuição
101
Números para lembrar
102
Configurando o LDP
103
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;
• 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:
– /mpls forwarding-table print
104
Labels reservados
105
Penultimate Hop Poppging
106
Implicit e Explicit Null
107
Explicit null
109
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;
• Configuração:
/mpls ldp neighbor add transport=<remote-ip> send-targeted=yes
110
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
– O que informa que os avisos devem ser aceitos:
• /mpls ldp accept-filter
111
Label Binding - Lab
114
VRF
• Virtual Routing and Forwarding – Roteamento e
encaminhamento virtual;
• Funciona baseado em políticas de roteamento;
• 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.
115
Vazamento de rota
116
VRF – Gerenciamento de routers
117
BGP/MPLS – IP VPN
118
L3VPN
119
Route Distinguisher
• Formato do prefixo:
– IP:numérico;
– ASN:numérico;
120
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
pra tabela VRF;
• Exportar um RT: o prefixo VPNv4 recebe uma
“extensão” community BGP extra;
• Importar um RT: a rota VPNv4 recebida é verificada
para uma determinada RT.
121
Route Target
122
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
• Cheque os resultados:
/routing bgp vpn vpnv4-route print
123
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
pela VRF.
125
VPNv4 - Lab
126
OSPF e eBGP como CE-PE
127
VPN L2
VPLS baseada em LDP
VPLS baseada em BGP
128
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
VPLS;
• O PW tem as seguintes capacidades:
– MAC Learning;
– MAC flooding;
– Opções de encaminhamento.
129
VPLS baseada em LDP
130
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
131
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
desta forma:
/interface bridge port add bridge=vpn interface=vpls1 horizon=1
132
VPN VPLS - Lab
134
VPN VPLS - Lab
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
135
VPN VPLS - Lab
136
VPN VPLS - Inconvenientes
137
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.
• Evita a necessidade de sessões LDP “targeted”;
• Não apresenta problemas de escalabilidade;
• Caso você esteja rodando um BGP full mesh será
muito semelhante ao “full vpls”;
138
VPLS baseada em BGP – Config.
139
VPLS baseada em BGP – Config.
• Configure uma bridge chamada “VPN”;
• Configure o BGP sinalizando a interface VPLS;
140
VPLS baseada em BGP - Lab
142
MPLS – L2 MTU
143
VPLS - CW
144
VPLS - CW
145
Traffic Engineering
146
Limitação do roteamento IP
147
Traffic Engeneering
148
Traffic Engeneering
149
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;
• 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ó
pode fazer está “reserva” de forma unidirecional.
150
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
151
Como isso funciona?
152
TE - Configuração
153
TE – Configuração – cont...
154
TE – Configuração – cont...
155
Túnel TE – Caminho estático
156
Caminho estático - exemplo
157
TE – Lab 1
159
TE – Lab 1
Tabela de VPLS ID
R1 <> R4 = 3:x
R2 <> R3 = 4:x
160
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.
161
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.
– 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”.
162
TE – Lab 2
TE – Lab 2
166