REDES MPLS
BGP
PROFESSOR: MARCOS A. A. GONDIM
Roteiro

Introdução ao BGP

Sistema Autonômo

Fundamentos do BGP

Sessão BGP

Cabeçalho BGP

Mensagem BGP

Tabelas BGP

Estados do BGP
Border Gateway Protocol (BGP)

Desde 1994 o Border Gateway Protocol v.4
(BGP4 - RFC 4271) vem sendo utilizado como
protocolo de roteamento da Internet.

A Internet é conjunto de Sistemas autônomos.

O BGP é utilizado para interconectar sistemas
autônomos ou redes muito grandes.
Border Gateway Protocol (BGP)

Protocolos de roteamento podem ser
classificados como:
 IGP
(Interior Gateway Protocol): realiza a troca de
informações de roteamento dentro de um mesmo
sistema autônomo. Exemplos: RIP, IGRP, OSPF e
EIGRP
 EGP
(Exterior Gateway Protocol): realiza a troca de
informações de roteamento entre sistemas
autônomos. Exemplo: BGP
O BGP pode ser usado em 2 cenários...

EBGP: quando o BGP realiza a divulgação de
rotas entre Sistemas Autônomos diferentes é
chamado de Exterior BGP.

IBGP: entretanto o BGP pode ser utilizado para
a divulgação de rotas dentro de um mesmo
Sistema Autônomo e é chamado de Interior
BGP.
É necessário expertise para configurar roteamento
utilizando BGP.
EBGP
IBGP
MULTIHOMING
Border Gateway Protocol (BGP)

BGP - Border Gateway Protocol
 BGP1:
RFC 1105
 BGP2: RFC 1163
 BGP3: RFC 1267
 BGP4: versão atual, com suporte a VLSM.

O BGP é um protocolo de roteamento
Path Vector (Protocolo Vetor Distância
avançado).
Path Vector


O BGP envia para seus vizinhos informações de alcançabilidade
das redes que compõem um AS.
Informa os números AS que compõem o caminha até uma rede de
destino e quais redes podem ser alcançadas por este caminho.
Sistema Autônomo
É
definido por um conjunto de roteadores sob
uma mesma política de roteamento e
administração.
 Um
dos roteadores é escolhido como o
roteador que comunica-se com outros
roteadores na Internet/MPLS e é capaz de
enviar rotas corretas aos demais.
O
BGP associa redes com sistemas
autonômos.
Sistema Autônomo
Sistema Autônomo

Para diferir e identificar univocamente
cada sistema autônomo (AS), este será
associado a um número que o identifica
mediante os demais sistemas.

Esse número varia entre 1 e 65.535,
sendo que a faixa entre 64.512 e 65.535 é
destinada a uso privado.
Sistema Autônomo

IANA é a organização que gerencia globalmente a utilização de IPs
e números dos Sist. Autônomos.

As RIRs (Regional Internet Registry) gerenciam o uso de IPs e AS
em uma região:

American Registry for Internet Numbers (ARIN) realiza o controle nas
Americas e algumas ilhas do Caribe.

Réseaux IP Européens Network Coordination Center (RIPE NCC)
administra número AS para Europa, Oriente Médio, Ásia Central.

Asia Pacific Network Information Center (APNIC) administra os número
AS da regíão do Pacífico.

Latin American and Caribbean Internet Addresses Registry (LACNIC) é
responsável pela América Latina.

AfriNIC responsável pela África.
Fundamentos do BGP

Diferente dos IGPs (que ajustam suas rotas
frequentemente) o BGP é definido para preferir rotas
mais estáveis que não são constantemente alteradas.

O BGP realiza a detecção de loops montando um
“histórico” dos AS (Path Vector) pelos quais os pacotes
passaram e rejeitam pacotes que já contenham o
número do AS correspondente ao roteador.
AS 25
3
/2
.0 25
54 7
.2 –
3 1 th
2. a
17 S P
A
17
2
A . 31
S .2
P 54
at .
h 0/
- 7 23
Detecção de loops
AS 7
17
S 2.3
P 1
at .2
h 54
– .0
7 /2
25 3
19
AS Path
rejeitado
Contém AS 7
AS 19
AS 172 .
Pa 31.2
th
5
– 7 4.0/
25 23
19
69
A
172.31.254.0/23
172.31.254.0/23
AS Path - vazio
AS 69
Fundamentos do BGP

Roteadores vizinhos que rodam BGP são
chamados peers.

Os peers são descobertos através de
configurações pré-definidas e não
automaticamente.
Políticas de Roteamento BGP

Possíveis caminhos entre o AS 64512 e AS 64700 através do 64520.



64520 64600 64700;
64520 64600 64540 64550 64700;
64520 64540 64600 64700;
 64520 64540 64550 64700.
O AS 64512
enxerga somente o
melhor caminho.
Sessão BGP

Antes do estabelecimento de uma sessão BGP, os
roteadores vizinhos trocam mensagens entre si para
entrar em acordo sobre quais serão os parâmetros da
sessão.

Não havendo discordância e nem erros durante a
negociação dos parâmetros entre as partes, a sessão
BGP é estabelecida.

Caso contrário, serão enviadas mensagens de erro e a
sessão não será aberta.
Sessão BGP

Quando a sessão é estabelecida entre os roteadores,
são trocadas mensagens contendo todos os melhores
caminhos previamente selecionados por cada roteador
vizinho.

Essa técnica mostrou-se um avanço no que se refere à
diminuição da carga das CPUs dos roteadores e na
economia da banda dos enlaces.

Diferentemente de outros protocolos que ao
comunicarem suas atualizações enviam periodicamente
a totalidade de rotas instaladas em suas tabelas.
Cabeçalho BGP

As mensagens trocadas em sessões BGP
têm o comprimento máximo de 4.096
bytes, e mínimo de 19 bytes.
Campo Marcador
Campo Comprimento
Campo Tipo
16 bytes
2 bytes
1 byte
Cabeçalho BGP

Campo Marcador


Verificar a autenticidade da mensagem recebida e se houve
perda de sincronização entre os roteadores vizinhos BGP.
Campo Comprimento

Deve conter um número que representa o comprimento total da
mensagem, incluindo o cabeçalho.

Como pode haver mensagens que não possuem dados após o
cabeçalho, a menor mensagem BGP enviada é de 19 bytes.
Cabeçalho BGP

Campo Tipo

Contém um número que representa o código de um tipo de
mensagem.

Existem 4 tipos de mensagens BGP:

Open;

Keepalive;

Update;

Notification.
Mensagens BGP

A mensagem do tipo OPEN é enviada para se iniciar a abertura de uma sessão BGP
entre os vizinhos BGP, através da porta TCP = 179.

Version number: Indica qual a versão do BGP é utilizada (ex: BGP4).

AS number: Indica o número do AS do roteador local. O peer verifca o valor do
AS e caso não seja o valor esperado a sessão BGP é derrubada.

Hold time: Indica o valor máximo de tempo em segundos utilizado entre
mensagem keepalive ou update sucessivos.

BGP router ID: campo de 32-bits que identifca o originador BGP. O BGP ID é
um endereço IP que identifica o roteador. O BGP router ID é escolhido da
mesma forma que no OSPF: ele é o maior endereço IP ativo existente e
associado a uma interface (exceto IP de loopback). Caso haja um IP de
loopback configurado ele terá a preferência com ID do BGP.

Optional parameters: Indicam os parâmetros Type, Length, and Value (TLV)
utilizados na autenticação BGP.
Mensagens BGP

A mensagem do tipo NOTIFICATION é
enviada no caso da detecção de erros
durante ou após o estabelecimento de
uma sessão BGP, com o propósito de
verificar se a comunicação entre os
vizinhos está ativa.
Mensagens BGP

A mensagem do tipo KEEPALIVE é
composta apenas de cabeçalho padrão
das mensagens BGP, sem dados
transmitidos após o cabeçalho. O tempo
máximo permitido para o recebimento da
mensagem KEEPALIVE é definido pelo
hold time (60s por padrão).
Mensagens BGP

Por fim, a mensagem UPDATE é enviada
quando há mudanças na rede. Essa
mudança pode ser uma nova rede
disponível e propagada através do BGP
ou a necessidade de se remover uma rota
que aponta para uma rede desativada.
Mensagens BGP

Uma mensagem UPDATE contém as informações
abaixo:

Rotas Retiradas (Withdrawn Routes): Indica quais os prefixos
IP devem ser retirados da tabela de rotas por não estarem
disponíveis.

Atributos de Caminho (Path attributes): Fazem parte desde
subcampo o caminho AS , AS de origem, dentre outros.

Informação de disponibilidade (Network-layer reachability
information): Este campo indica uma lista de endereços IP que
são alcançáveis por um caminho.
Tabelas BGP

O BGP utiliza 3 tabelas em sua operação:
 Tabela
de Vizinhos (Neighbor table).
 Tabela BGP.
 Tabela de roteamento IP.

As rotas BGP são mantidas
separadamente e apenas a melhor rota é
inserida na tabela de roteamento IP.
Estados dos BGP

Para o estabelecimento do BGP são necessárias 5
etapas:

Idle – Procurando por vizinhos.

Connect – TCP handshake-triplo completo com vizinho.

Open Sent – Enviada mensagem Open BGP.

Open Confirm – Resposta recebida.

Established – Relação de vizinhança BGP estabelecida.
Estados dos BGP

Enquanto a negociação está nas etapas: Idle,
Connect, Open Sent, Open Confirm é exibido o
status “active”.

O status Established indica que a sessão está OK.
Configurando BGP
Habilitando o BGP

Este comando identifica a qual AS o
roteador pertence.

Somente uma instância BGP pode ser
criada por vez.
Determinando Vizinhos

Este comando ativa a sessão BGP com um vizinho.

O endereço IP vizinho será utilizado para realização de
atualizações.

O valor do remote-as indica se será utilizado IBGP ou
EBGP.


IBGP = mesmo AS;
EBGP = AS diferente.
IBGP e EBGP
Desativando uma sessão
com um vizinho BGP

Comando utilizado para realizar
manutenção ou alternar o tráfego para
outro link.
IBGP Peering
Qual IP deve-se utilizar
para configuração do
neighbor em uma sessão
entre os roteadores A e D?
Se o roteador D usar:
neighbor 10.3.3.1 remote-as 65102,
mas se o roteador A enviar
pacotes BGP para o
roteador D via roteador B, a
sessão BGP será negada.
Update Source

Este comando ativa manualmente o IP de origem padrão que será
utilizado pelos pacotes IP.

Caso não se utilize o Update Source, o IP do pacote BGP será o da
interface de saída dos pacotes e caso este seja diferente do IP
configurado no roteador vizinho o pacote será descartado.
IBGP
Update Source
Caso a configuração em C fosse:
neighbor 10.1.1.1 remote-as 65101
e a interface correspondente ao IP
10.1.1.1 fosse para down a sessão
BGP entre B e C não funcionaria.
EBGP Peering

Para o caso de utilização do EBGP, para o IP
do neighbor pode-se usar o IP da interface
diretamente conectada (não é a melhor
configuração).

Porém se uma interface de loopback for
utilizada como IP do neighbor em uma sessão
BGP, será necessário realizar uma configuração
adicional.
Habilitando neighbor EBGP

Este comando permite a utilização de interfaces
loopback como neighbors de sessões BGP.

O menor valor do TTL deve ser 2 e caso não
seja especificado o roteador adotará o valor de
255.
EBGP Peering
Algumas peculiaridades do BGP

O BGP é um protocolo de roteamento AS-AS
e não um protocolo de roteamento roteadorroteador.

No BGP o próximo salto (next-hop) não
significa o próximo roteador e sim o próximo
endereço IP para se alcançar um AS.
Algumas peculiaridades do BGP

Roteador A anuncia a rede
172.16.0.0 para o roteador
B (EBGP) com o next hop
10.10.10.3;

O roteador B anuncia a
rede 172.16.0.0 para o
roteador C também com
um next hop 10.10.10.3;

Com isto o roteador C
aprende que o next hop
para alcançar 172.16.0.0 é
10.10.10.3, e não
172.20.10.1, como se
poderia esperar.
Algumas peculiaridades do BGP

É importante que o roteador
C saiba como alcançar a rede
10.10.10.0 seja por um IGP
ou Rota Estática.

Caso contrário o roteador C
descartará os pacotes
destinados à rede 172.16.0.0.

O roteador B deve anunciar a
rede 10.10.10.0/24
Comando BGP: neighbor next-hop-self

O comando neighbor next-hop-self faz o BGP
usar o endereço IP da interface por onde os
pacotes saem (ou o IP da loopback) do próprio
roteador para o update como o next-hop para
cada rede onde o pacote passar.
Comando BGP: neighbor next-hop-self
Propagando redes através do BGP

Diferentemente dos IGPs o comando network
não inicia (start) o BGP em interfaces
específicas.

Em contrapartida, o comando network no BGP,
indica quais redes pertencem a um determinado
roteador.
Peer Group

É um agrupamento de neighbors com as
mesmas características.

Simplifica a configuração e torna o envio de
updates BGP mais eficiente.
Peer Group
Reset da tabela de roteamento

Caso sejam realizadas mudanças na rede
ou implementados novos filtros se faz
necessária atualizar a tabela de rotas
BGP.

Existem dois tipos de reset: Hard Reset e
Soft Reset.
Hard Reset

Reseta todas as conexões BGP com este roteador.

Toda a tabela BGP é descartada e refeita.

Reseta somente a conexão BGP com o neighbor
especificado.
Soft Reset

Deste modo as rotas aprendidas e disponíveis
não são perdidas;

O roteador reenvia todas as informações BGP
para os vizinhos sem que haja perda de sessão.
Estudo de Caso
Topologia de testes
Roteador Cisco 3745
Localidade: Recife
Roteador Cisco 3745
Localidade: São Paulo
REDE
MPLS
CISCO3745-IO-2FE
W0
ACT
W1
W2
ACT
100 Mbps
100 Mbps
LINK
LINK
CONSOLE
SYS
POWER
AUX
FASTETHERNET 0/1
CF
FASTETHERNET 0/0
AIM1
NPA
ETM
AIM0
CISCO3745-IO-2FE
W0
ACT
W1
W2
ACT
100 Mbps
100 Mbps
LINK
LINK
CONSOLE
SYS
POWER
AUX
FASTETHERNET 0/0
FASTETHERNET 0/1
CF
ETM
AIM0
AIM1
NPA
Switch Cisco 3560G
Switch Cisco 3560G
Catalyst 3560
1
Catalyst 3560
1
1X
2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
16
15X 17X
18
19
20
21
22
23
24
25
26
27
28
29
30
31
33
32
34
35
36
37
31X 33X
38
39
40
41
42
43
44
45
46
47
SERIES
PoE-48
2
3
4
5
6
7
8
9
10
11
12
13
1X
14
15
17
16
15X 17X
18
19
20
21
22
23
24
25
26
27
28
29
30
31
33
32
34
35
36
37
38
39
40
41
42
43
44
45
46
47
SERIES
PoE-48
48
31X 33X
47X
32X 34X
48X
SYST
RPS
1
3
2
4
48
47X
SYST
RPS
1
3
2
4
STAT
DUPLX
SPEED
POE
2X
STAT
DUPLX
SPEED
POE
16X
18X
MODE
2X
16X
18X
32X 34X
48X
MODE
TELEFONE IP
Analisador de
Pacotes
TELEFONE IP
Configuração do BGP
Roteador Cisco 3745
Localidade: Recife
Roteador Cisco 3745
Localidade: São Paulo
CISCO3745-IO-2FE
W2
W1
ACT
100 Mbps
LINK
POWER
SYS
CONSOLE
AUX
CF
FASTETHERNET 0/1
W0
ACT
100 Mbps
LINK
FASTETHERNET 0/0
ETM
NPA
AIM1
AIM0
CONFIGURAÇÃO PARA SÃO PAULO
interface GigabitEthernet0/0
bandwidth 2048
ip address 200.178.73.10 255.255.255.252
duplex full
speed 100
media-type rj45
!
interface GigabitEthernet0/2
ip address 10.11.20.130 255.255.255.192
duplex full
speed 1000
!
router bgp 65011
no synchronization
network 10.11.20.0 mask 255.255.255.0
neighbor 200.178.73.9 remote-as 4230
neighbor 200.178.73.9 description BGP_EBT_MPLS
neighbor 200.178.73.9 prefix-list mpls-ebt in
!
ip prefix-list mpls-ebt seq 10 permit 10.81.12.0/24
REDE
MPLS
CISCO3745-IO-2FE
W2
W1
ACT
100 Mbps
LINK
POWER
SYS
CONSOLE
AUX
CF
FASTETHERNET 0/1
W0
ACT
100 Mbps
LINK
FASTETHERNET 0/0
ETM
NPA
AIM1
AIM0
CONFIGURAÇÃO PARA RECIFE
interface GigabitEthernet0/0
Bandwidth 2048
ip address 200.249.11.78 255.255.255.252
duplex full
speed 100
media-type rj45
!
interface GigabitEthernet0/2
ip address 10.81.12.66 255.255.255.192
duplex full
speed 1000
!
router bgp 65081
no synchronization
network 10.81.12.0 mask 255.255.255.0
neighbor 200.249.11.77 remote-as 4230
neighbor 200.249.11.77 description BGP_EBT_MPLS
neighbor 200.249.11.77 prefix-list mpls-ebt in
!
ip prefix-list mpls-ebt seq 10 permit 10.11.20.0/24
Configuração do BGP
Roteador Cisco 3745
Localidade: Recife
Roteador Cisco 3745
Localidade: São Paulo
CISCO3745-IO-2FE
W2
W1
ACT
100 Mbps
LINK
POWER
SYS
CONSOLE
AUX
CF
FASTETHERNET 0/1
W0
ACT
100 Mbps
LINK
FASTETHERNET 0/0
ETM
NPA
AIM1
AIM0
REDE
MPLS
VERIFICAÇÃO DO FUNCIONAMENTO DO BGP
show ip bgp regexp 65011
BGP table version is 30, local router ID is 10.81.12.66
Network
Next Hop
Weight
Path
* 10.11.20.0/24 200.249.11.77 200
4230 65011 i
show ip bgp summary
BGP router identifier 10.81.12.66, local AS number 65081
Neighbor
V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down
200.249.11.77 4 4230 289077
285533 30
0
0
7w6d
show ip bgp neighbors
BGP neighbor is 200.249.11.77, remote AS 4230, external link
Description: BGP_EBT_MPLS
BGP version 4, remote router ID 200.249.11.77
BGP state = Established, up for 7w6d
CISCO3745-IO-2FE
W2
W1
ACT
100 Mbps
LINK
POWER
SYS
CONSOLE
AUX
CF
FASTETHERNET 0/1
W0
ACT
100 Mbps
LINK
FASTETHERNET 0/0
ETM
NPA
AIM1
AIM0
Mapeamento da Rede MPLS (Recife – São Paulo)
Salto
Endereço IP do roteador
1
200.249.11.77
2
200.244.167.133
3
200.244.40.94
4
200.178.73.9
5
200.178.73.10
200.244.167.133
Roteador
São Paulo
(200.178.73.10)
Roteador Recife
(200.249.11.78)
CISCO3745-IO-2FE
W2
W1
ACT
100 Mbps
LINK
POWER
SYS
CONSOLE
AUX
CF
FASTETHERNET 0/1
CISCO3745-IO-2FE
W0
ACT
W2
W1
ACT
100 Mbps
100 Mbps
LINK
FASTETHERNET 0/0
LINK
ETM
NPA
AIM1
AIM0
POWER
Roteador de
borda MPLS
(200.249.11.77)
200.244.40.94
Roteador de
Borda MPLS
200.178.73.9
SYS
CONSOLE
AUX
CF
FASTETHERNET 0/1
W0
ACT
100 Mbps
LINK
FASTETHERNET 0/0
ETM
NPA
AIM1
AIM0
Mapeamento da Rede MPLS (São Paulo – Recife)
Roteador
São Paulo
(200.178.73.10)
Salto
Endereço IP do roteador
1
200.178.73.9
2
ebt-c1-core03.spo.embratel.net.br (200.230.242.18)
3
ebt-p7-3-dist04.rce.embratel.net.br (200.244.40.85)
4
200.249.11.77
5
200.249.11.78
200.230.242.18
Roteador Recife
(200.249.11.78)
CISCO3745-IO-2FE
W2
W1
ACT
100 Mbps
LINK
POWER
SYS
CONSOLE
AUX
CF
FASTETHERNET 0/1
CISCO3745-IO-2FE
W0
ACT
W2
W1
ACT
100 Mbps
100 Mbps
LINK
FASTETHERNET 0/0
LINK
ETM
NPA
AIM1
AIM0
POWER
Roteador de
Borda MPLS
200.178.73.9
200.244.40.85
Roteador de
borda MPLS
(200.249.11.77)
SYS
CONSOLE
AUX
CF
FASTETHERNET 0/1
W0
ACT
100 Mbps
LINK
FASTETHERNET 0/0
ETM
NPA
AIM1
AIM0
Download

Configuração do BGP