Escolar Documentos
Profissional Documentos
Cultura Documentos
Tutorial BGP
Tutorial BGP
17 GTER
Caio Klein
Agenda
Introduo ao BGP v4
Protocolo BGP e Atributos
iBGP e eBGP
Polticas de Roteamento BGP
Intervalo
Escalando o iBGP Full Mesh
Route Reflection
Confederations
Novas facilidades do BGP
Route Damping
www.juniper.net
22
Introduo ao BGP v4
www.juniper.net
44
www.juniper.net
55
AS 8888
AS 7777
AS 9999
www.juniper.net
66
O que o BGP?
BGP um protocolo de roteamento do tipo interdomnio que transmite informaes de prefixos
BGP um protocolo do tipo path vector
Similar ao distance vector
BGP percebe a Internet como uma coleo de
autonomous systems (AS)
BGP suporta CIDR
Roteadores BGP trocam informaes de
roteamento entre peers
www.juniper.net
77
Fundamentos do BGP
Rotas consistem de
Destino usualmente prefixo IP
Informaes que descrevem o caminho at o
destino
Atributos
Peers BGP anunciam NLRI entre si em
mensagens do tipo update
O BGP compara o AS path e outros atributos
para selecionar o melhor caminho
Rotas indisponveis podem ser anunciadas
Rotas no alcanveis so removidas
(withdrawn)
Copyright 2003 Juniper Networks, Inc.
www.juniper.net
88
www.juniper.net
99
Conexes BGP
BGP utiliza conexes TCP
TCP port 179
Servios TCP
Fragmentation, Acknowledgments, Checksums,
Sequencing e Flow Control
www.juniper.net
10
10
BGP Peering
Sesses BGP so estabelecidas entre peers
BGP Speakers
Dois tipos de sesses de peering
E-BGP (externo) peers AS's diferentes
I-BGP (interno) peers dentro do mesmo AS
Ainda necessrio o interior gateway protocol
(IGPs)
IGP conecta os BGP speakers dentro do AS
IGP anuncia rotas internas
Copyright 2003 Juniper Networks, Inc.
www.juniper.net
11
11
BGP Peering
ISIS
OSPF
ISIS
AS 9999
AS 8888
AS 7777
eBGP Peering
iBGP Peering
www.juniper.net
12
12
Mensagens do BGPv4
13
www.juniper.net
14
14
Cabealho Comum
19 bytes de comprimento
Utilizado para autenticao
Marker Field (16 bytes)
www.juniper.net
15
15
Mensagem Open
Aps uma conexo TCP ser estabelecida, os
peers BGP trocam mensagens openpara
criar uma conexo BGP
Sobre uma conexo BGP os peers trocam
outras mensagens BGP e dados como
informaes de roteamento
www.juniper.net
16
16
Mensagem Open
Marker Field
Length Field
Type Field
Version (1 byte)
Hold Time
My Autonomous System
BGP Identifier
Opt. Parameters
Length
Optional Parameters
(Variable Length)
www.juniper.net
17
17
Mensagem Update
Cada update contem um anncio de caminho
com seus atributos e destinos
Muitos destinos (prefixos) podem compartilhar
o mesmo caminho
Sistemas BGP utilizam essa informao para
construir um grfico descrevendo as relaes
entre todos os ASs
www.juniper.net
18
18
Mensagem Update
Mensagens que possuem os mesmos atributos
devem ser agrupadas num mesmo update
~
~
Header
Withdrawn Routes Length (2 octets)
Withdrawn Routes (Variable)
Total Path Attributes (2 octets)
Path Attributes (Variable Length)
Network Layer Reachability information (Variable Length)
www.juniper.net
19
19
Mensagem Keepalive
Sistemas BGP trocam mensagens keepalive
para determinar se um link ou peer falhou ou
no est mais disponvel
Mensagens so trocadas frequentemente
para o tempo de hold no expirar
Intervalos de 30s entre keepalives e hold timer
de 90s so default (JUNOS)
Hold timer negociado entre peers
www.juniper.net
20
20
Mensagem Notification
Sistemas BGP enviam mensagens
notification quando uma condio de erro
detectada
Aps o envio da mensagem notification as
sesses BGP e a conexo TCP so
encerradas
Mensagem notification consiste de
Cabealho BGP
Cdigo de erro
Subcdigo
Dados que descrevem o erro
www.juniper.net
21
21
Mensagens notification
Cdigos de erro
1 Message header error
2 Open message error
3 Update message error
4 Hold timer expired
5 Finite state machine error
6 Cease
www.juniper.net
22
22
3-Active
2-Connect
Waiting for
TCP Connection
A Stop event
OPEN
OPEN
Waiting for an
OPEN message
from a peer
4-OpenSent
KEEPALIVE
NOTIFICATION
NOTIFICATION
5-OpenConfirm
Waiting for
a Start Event
NOTIFICATION
KEEPALIVE
UPDATE
KEEPALIVE
Waiting for a
KEEPALIVE or
NOTIFICATION
from a peer
1-Idle
6-Established
Neighbor negotiation
is complete
www.juniper.net
23
23
www.juniper.net
24
24
Atributos
25
Atributos BGP
AS-path
BGP nexthop
Local-preference
MED
Origin
Diferenas entre iBGP e eBGP
www.juniper.net
26
26
AS-Path
Sequncia de ASs que a rota atravessou
Usado para deteco de loop
Aplicao de polticas
Prefixo
11.1.0.0/16
11.2.0.0/16
11.3.0.0/16
11.4.0.0/16
AS 9999
11.1.0.0/16
AS-Path
7777 8888 9999
7777 8888
7777
I
AS 8888
11.2.0.0/16
AS 7777
11.3.0.0/16
AS 6666
11.4.0.0/16
www.juniper.net
27
27
Next-hop
eBGP endereo do neighbor externo
iBGP Next-hop do eBGP
BGP speaker deve conhecer caminho para o
next-hop
AS 8888
11.2.0.0/16
AS 7777
11.3.0.0/16
11.2.1.1
AS 9999
11.2.1.2
Prefixo
11.2.0.0/16
11.3.0.0/16
Next-hop
11.2.1.1
11.2.1.1
www.juniper.net
28
28
Passive interface
Adiciona subnet de enlace externo base de
dados do IGP
Permite roteador peer ser pingado a partir de
uma rede interna
www.juniper.net
29
29
Next-hop Self
Roteador eBGP modifica o next-hop da rota
aprendida para o endereo da loopback
Roteadores iBGP devem conhecer loopbacks via
IGP
AS 8888
11.2.0.0/16
AS 7777
11.3.0.0/16
loopback
11.3.1.1
11.2.1.1
11.2.1.2
OSPF
AS 9999
Prefixo
11.2.0.0/16
11.3.0.0/16
Next-hop
11.2.1.1
11.3.1.1
11.2.1.1
11.3.1.1
www.juniper.net
30
30
Passive interface
Estende o roteamento IGP at as interfaces
externas
Funciona apenas quando peers utilizam IP das
interfaces
AS 8888
11.2.0.0/16
Insere interface
passiveno
roteamento IGP
AS 7777
11.3.0.0/16
11.2.1.1
11.2.1.2
OSPF
AS 9999
Prefixo
11.2.0.0/16
11.3.0.0/16
Next-hop
11.2.1.1
11.2.1.1
www.juniper.net
31
31
Next-hop em iBGP
Geralmente next-hop loopback do roteador iBGP
Roteamento recursivo
IGP deve informar sobre loopbacks
11.2.100.0/24
Loopback
11.2.2.2
11.2.101.0/24
AS 8888
Prefixo
11.2.100.0/24
11.2.101.0/24
Loopback
11.2.2.1
Next-hop
11.2.2.2
11.2.2.1
www.juniper.net
32
32
Local Preference
Determina melhor caminho para trfego sante
Caminho com maior local-preference vence
Local-preference default 100 (JUNOS)
AS 6666
100
AS 9999
11.1.0.0/16
120
AS 7777
AS 8888
Prefixo
11.1.0.0/16
*11.1.0.0/16
Local Pref
100
120
www.juniper.net
33
33
500
AS 9999
11.1.0.0/16
AS 8888
Prefixo
*11.1.0.0/16
11.1.0.0/16
600
MED
500
600
www.juniper.net
34
34
Origin
Informa a origem do prefixo
Influencia seleo do melhor caminho
Trs tipos:
IGP configurada de forma explcita no BGP
(agregado, policy)
EGP gerada pelo EGP
Incomplete redistribuida por outro protocolo
de roteamento
www.juniper.net
35
35
www.juniper.net
36
36
Exterior BGP
AS 9999
AS 8888
AS 7777
eBGP Peering
www.juniper.net
37
37
www.juniper.net
38
38
Interior BGP
AS 8888
AS 7777
AS 9999
iBGP Peering
www.juniper.net
39
39
40
www.juniper.net
41
41
www.juniper.net
42
42
www.juniper.net
43
43
Routing Policy
Controla as transferncias de informaes de
roteamento entre a tabela de roteamento e cada
protocolo de roteamento
Informao de roteamento entrante pode ser
ignorada ou modificada
Informao de roteamento sante pode ser
suprimida ou modificada
www.juniper.net
44
44
www.juniper.net
45
45
Routing Policy
Polticas de entrada afetam o que vai para a
tabela de roteamento
Polticas de sada manipulam o contedo da
tabela de roteamento que exportado
www.juniper.net
46
46
www.juniper.net
47
47
www.juniper.net
48
48
www.juniper.net
49
49
Communities
Marcao dada a um grupo de prefixos que
partilham uma propriedade em comum
Decises de roteamento podem estar baseadas
na community da rota
Facilita e simplifica o controle das informaes de
rotas
Deveria ser marcada pelo roteador de entrada
RFC 1997 and 1998
www.juniper.net
50
50
www.juniper.net
51
51
Exemplos de Communities
AS#:120
Rotas de clientes
Marca local preference para 120
AS#:110
Rotas backup de clientes
AS#:90
Rotas de Private peer
AS#:80
Rotas de trnsito
AS#:70
Rotas de Public peer
Copyright 2003 Juniper Networks, Inc.
www.juniper.net
52
52
Exemplo de configurao
Inspeo de rotas de entrada
policy-statement TRANSITO-IN {
term REJEITA-TAM-PREF {
from policy TAM-PREF;
then reject;
}
term REJEITA-MARCIANAS {
from policy MARCIANAS;
then reject;
}
term PERMITE-RESTO {
then {
community set TRANSIT-ROUTES;
local-preference 80;
accept;
}
}
}
community TRANSIT-ROUTES members 6666:70;
www.juniper.net
53
53
Agregao de rotas
Sumarizao de um grupo de rotas com prefixo em
comum
Reduz a tabela de rotas, anncios de roteamento e
instabilidade
routing-options {
aggregate {
route 8.8.0.0/16; {
passive;
}
}
www.juniper.net
54
54
Agregao de rotas
Supresso explcita das rotas contribuntes
policy-options {
policy-statement SUPPRESS-SPECIFICS {
from route-filter 8.8/16 longer reject;
}
Atributo atomic-aggregate
Indica perda de informao devido agregao
Atributo aggregator
Especifica o n do AS e o router-id do roteador
agregador
RFC 2519
www.juniper.net
55
55
56
www.juniper.net
57
57
Route Reflection
Permite um peer iBGP anunciar uma rota
aprendida via iBGP para outro peer iBGP
Reduz iBGP full mesh
RR apenas reflete o melhor caminho
RR no modifica os atributos BGP
www.juniper.net
58
58
Route Reflection
AS 9999
AS 8888
AS 7777
www.juniper.net
59
59
Route Reflection
Isso no cria a possibilidade de loops?
Novos atributos
Cluster-id
Identifica o route reflection cluster
Adicionado rota pelo RR
Cluster-list
Originator-id
www.juniper.net
60
60
Exemplo de Configurao
routing-options {
autonomous-system 6666;
}
protocols {
bgp {
damping;
group ibgp-mesh {
export [ nexthopself send-connected ];
local-address 8.8.254.253;
peer-as 6666;
neighbor 1.2.3.4;
neighbor 2.3.4.5;
neighbor 3.4.5.6;
}
group rr-cluster {
cluster 1.1.1.1;
export [ nexthopself send-connected ];
local-address 8.8.254.253;
peer-as 6666;
neighbor 4.5.6.7;
www.juniper.net
61
61
Route Reflection
SDR
SPO
RJO
RR
Cluster
2.2.2.2
RR
Cluster
1.1.1.1
PAE
CTA
AS 7777
BSA
www.juniper.net
62
62
www.juniper.net
63
63
Confederations
Outro mtodo de reduzir o iBGP full mesh
Quebra o AS em mltiplos sub-ASs
Sub-ASs
Podem utilizar nmero de AS privados
iBGP full mesh dentro do sub-AS ou RR
AS visto externamente como nico AS
Sub-ASs no contabilizados como AS-path hops
www.juniper.net
64
64
Confederations
SDR
RJO
Clientes
SPO POP
Sub-AS
65102
(OSPF)
Confederation 6666
Central Sub-AS 65100
(ISIS)
Peer ISP
PAE POP
Sub-AS
65101 (ISIS)
Peer ISP
Clientes
www.juniper.net
65
65
Confederation BGP
cBGP (ou e-iBGP)
eBGP ou iBGP?
BGP nexthop
AS-path
Local-preference
www.juniper.net
66
66
Confederations/RRs
Vantagens de confederations sobre RR?
Anexao de outro ISP
Pode facilitar a migrao/integrao de redes
adquiridas
Pode rodar mltiplos IGPs
Desvantagens
Migrao abrupta de uma rede iBGP full mesh
Aparenta ser um pouco mais complicado
Roteamento sub-timo dentro da confederation
www.juniper.net
67
67
68
Negociao de Capacidades
Permite negociao de capacidades entre peers
BGP
RFC 1771
Se a mensagem de Open contm
funcionalidade no suportada, envia
Notification com subcode 4 Unsupported
Optional Parameter e termina sesso
No facilita a introduo de novas
funcionalidade no BGP
RFC 2842
www.juniper.net
69
69
Communities Estendidas
Duas melhorias importantes
Faixa estendida (4 para 8 octetos)
Adiciona campo TYPE (2 octetos)
Route target community
Identifica o destino da rota
Route origin community
Identifica a origem da rota
Utilizada para controlar a distribuio de MPLS
VPNs
draft-ramachandra-bgp-ext-communities-04.txt
www.juniper.net
70
70
Communities Estendidas
[edit]
policy-options {
community test-a members [target:9999:70];
community test-b members [target:1.1.1.1:90];
community test-c members [origin:6666:110];
}
www.juniper.net
71
71
draft-ietf-idr-bgp-route-refresh-01.txt
www.juniper.net
72
72
MBGP
Extenso que permite o BGP carregar
informao de mltiplas camadas de rede e
famlias de endereos
Utilizado para Multicast
user@host# set nlri [ multicast | unicast | any ]
www.juniper.net
73
73
Route Damping
74
Route Damping
Reduz a carga de update para rotas bem
comportadas
Geralmente aplicado para rotas eBGP
Pode ser usado com confederation
Configurado a partir de um conjunto de
parmetros que inspecionam a atividade das
rotas mal comportadas
Deve-se habilitar o BGP damping
Quantos ISPs ainda utilizam damping?
RFC 2439
Copyright 2003 Juniper Networks, Inc.
www.juniper.net
75
75
AS 8888
AS 7777
www.juniper.net
76
76
DampingFigura de Mrito
Nova rota recebe figura de mrito 0
Figura de mrito incrementa a cada incidente
Withdrawn route1000
Mudana de atributo500
Rota suprimida quando a figura de mrito
excede o limiar de supresso
Limiar de supresso default 3000
Rota reutilizada quando a figura de mrito cai
abaixo do limiar de reutilizao
Limiar de reutilizao default 750
Copyright 2003 Juniper Networks, Inc.
www.juniper.net
77
77
DampingFigura de Mrito
Decaimento exponencial
Reduz a figura de mrito com o tempo
Half-life default de 15 min
Limite mximo de tempo de supresso
Default 60 min
Figura de mrito mxima
Limita incremento quando o teto atingido
Determinado por frmula
No configurvel de forma explcita
Copyright 2003 Juniper Networks, Inc.
www.juniper.net
78
78
Route Damping
Suppressed
3000
Figure
of Merit
2000
Flap 5
Flap 4
1000
Flap 3
750
Flap 2
Reused
Flap 1
Time
Half-life
Half-life
www.juniper.net
79
79
DampingConfigurao
Definio de parmetros de damping
semelhante definio de community
policy-options {
damping name {
half-life minutes;
max-suppress minutes;
reuse number;
suppress number;
}
}
www.juniper.net
80
80
DampingExample
policy-options {
policy-statement damp {
from {
route-filter 11/8 exact damping high;
route-filter 15/8 exact damping medium;
route-filter 0/0 upto /24 damping none;
}
then accept;
}
damping high {
half-life 15;
suppress 3000;
reuse 2500;
max-suppress 50;
}
damping medium {
half-life 3;
max-suppress 4;
}
damping none {
disable;
}
}
www.juniper.net
81
81
AS
45
33
23
432
InPkt
1225
911
10458
10458
Unestablished peers: 2
OutPkt
55263
0
2201
163
State|#Act/Recv/Damp
47769/50591/67
Active
0/0/0
Active
www.juniper.net
82
82
Perguntas?
caio@juniper.net
83
Obrigado!
84