BGP: vantagem de trocar rotas - Distributed Systems Groupler/docencia/prd0304/handouts06.pdf ·...
Embed Size (px)
Transcript of BGP: vantagem de trocar rotas - Distributed Systems Groupler/docencia/prd0304/handouts06.pdf ·...
-
Protocolos em Redes de Dados
- Aula 06 -
BGP: Introduo
Lus Rodrigues
DI/FCUL
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.1
BGP: Border Gateway Protocol
Protocolo exterior utilizado actualmente.
Equilbrio entre "vectores de distncia" e "estado doselos".
A conectividade divulgada na forma de um"caminho" que indica quais os sistemas autnomosincludos na rota.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.3
Sumrio
Funcionalidades fundamentais do BGP.
Tipos de pacotes.
Atributos principais.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.2
BGP: ilustrao
Information F receivesfrom its neighbors about D
From B: "I use BCD"From G: "I use GCD"From I: "I use IFGCD"From E: "I use EFGCD"
J
H
D
C
G
I
(a) (b)
F
B
A
E
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.4
-
BGP: vantagem de trocar rotas
Se um encaminhador recebe o anncio de uma rotaem que o prprio sistema autnomo j se encontraincludo, descarta essa rota.
Deste modo evitam-se ciclos no encaminhamento.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.5
BGP: funcionamento tpico
Fase inicial:Parceiros trocam contedos das bases de dados.
Regime estvel:S trocam actualizaes.Enorme vantagem em relao a algoritmos degeraes anteriores.
Anncios:Indicam o estabelecimento de novas rotas.
Remoes/retiradas (withdrawals):Indicam que uma rota previamente anunciadadeixou de estar disponvel.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.7
BGP: concretizao baseada em TCP
As ligaes entre vizinhos so suportadas por ligaesTCP.
Maior fiabilidade, possibilidade de trocar pacoteslongos.
Tipos de pacotesEstabelecer a ligao.Disseminar actualizaes.Notificar deteco de falhas na ligao.Testar a actividade.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.6
BGP: vizinhos interiores e exteriores
Um encaminhador fronteira troca informao com osseus vizinhos:
Exteriores (pertencentes a outros sistemasautnomos).Interiores (pertencentes ao mesmo sistemaautnomo).
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.8
-
BGP: ligaes internas
S. A. z
S. A. y
S. A. x
IBGP
EBGP
EBGP
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.9
Formato das mensagens
Marcador de 16 octetos, seguido de um campo de doisoctetos para o comprimento e outro de 1 octetoindicando o tipo de pacote.
Os dados so os campos seguintes.KEEPALIVE no possui campo de dados.O marcador usado para trocar informao deautenticao.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.11
Teste de actividade
Vizinhos trocam mensagens KEEPALIVEperiodicamente.
Estas mensagens permitem detectar falhas dosvizinhos.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.10
Estabelecimento de vizinhos
Criar uma ligao TCP/IP.
Negociar parmetros como o intervalo entreKEEPALIVEs.
Cada encaminhador prope um valor e o menor escolhido.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.12
-
Pacote OPEN
Opt Len
My autonomous systemHold time
Version
BGP Identifier
Optional parameters
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.13
Estabelecimento de ligao
Podem ocorrer erros ao tentar estabelecer a ligaoTCP ou posteriormente na troca de pacotes OPEN.
Caso ocorra um erro gerada uma NOTIFICATION ea ligao cortada.
Exemplos de erros: sistema autnomo noautorizado, expirar do Hold time.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.15
Parmetros do OPEN
Verso:Qual a verso do protocolo (actual BGP4).
My autonomous system:Identificador do sistema autnomo a que o encaminhadorpertence.
Hold time:Tempo entre KEEPALIVE ou UPDATE.
Identifier:Identificador do encaminhador.
Opes:Como por exemplo, parmetros usados para autenticao.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.14
Anncios
Troca de pacotes designados por UPDATEs.
Cada UPDATE possui:Quais as redes acessveis.Lista de atributos do caminho para essas redes(nomeadamente, quais os sistemas atravessados).Quais as redes inacessveis.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.16
-
BGP e CIDR
Cada rede anunciada ou retirada (withdrawn) definida por um par:
comprimento do prefixo (1 octeto), prefixo(tamanho varivel)
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.17
Tipo de atributo
Por sua vez inclui dois campos:Flags de controlo.Tipo de atributo.
Flags:Opcional ou well-known.Transitivo ou no-transitivo.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.19
Atributos do caminho
Cada atributo possui trs campos:Tipo de atributo (dois octetos).Comprimento do atributo.Valor (comprimento varivel).
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.18
Tipos de atributos
Well-known mandatory:Tem de estar presente em todos os anncios edeve ser reconhecido por qualquer encaminhador.
Well-known discretionary:Deve ser reconhecido por qualquer encaminhadorembora possa ser omitido.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.20
-
Tipos de atributos
Optional transitive:Deve ser propagado em anncios para outrossistemas, mesmo que o encaminhador no oreconhea.
Optional nontransitive:Deve ser descartado se no for reconhecido.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.21
Internal BGP
Usado entre encaminhadores do mesmo sistemaautnomo, para trocarem entre si rotas adquiridas doexterior.
Um encaminhador no propaga para outrosencaminhadores do mesmo sistema rotas anunciadaspor vizinhos IBGP.
Todos os encaminhadores do sistema autnomodevem estabelecer relaes de vizinhana mtuas.A exploso de ligaes pode ser evitada usandoreflectores de rotas.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.23
Tipos de atributos
1-ORIGIN: well-known mandatory.
2-AS_path: well-known mandatory.
3-NEXT_HOP: well-known mandatory.
4-MULTI_EXIT_DISC: optional nontransitive.
5-LOCAL_PREF: well-known discretionary.
...
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.22
BGP: Interligao com o IGP
As rotas obtidas atravs de BGP devem serdivulgadas dentro do sistema autnomo.
Por exemplo, se for usado OSPF, so divulgadas comorotas externas.
Se um sistema autnomo fizer trnsito, no deveanunciar rotas que no sejam reconhecidas pelo IGP.
Pode obter esta informao consultado as tabelasdo IGP.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.24
-
Injectar rotas externas no IGP
As rotas externas representam um enorme volume,pelo que se deve tentar evitar a sua propagao.
Encaminhamento para o exterior por omisso.Outro modo: colocar todos os routers internos acorrer tambm IBGP.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.25
Filtragem
necessrio filtrar endereos privados ou endereoscom prefixos que no correspondam s polticas deagregao vlidas.
Rotas injectadas do exterior tambm no podem seranunciadas como originando do AS (nota: isto trivialno OSPF, que distingue as rotas externas).
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.27
Fontes de actualizaes no BGP
Todas as rotas internas:Nos encaminhadores Cisco, uma configuraoconhecida por dinmica pura.
Rotas seleccionadas:O encaminhador configurado com os prefixos aanunciar.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.26
O problema da instabilidade
Um encaminhador anuncia que uma rota ficaindisponvel:
Isto pode gerar uma cadeia de anncios.
Um router pode ficar sobrecarregado a processarestes anncios e marcado com "em baixo".
Isto gera mais anncios, etc.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.28
-
Resultados da instabilidade
Diminuio drstica na largura de banda econectividade.
Numa certa altura, foram trocados mais de 30 milhesde actualizaes num nico dia entre os principaisencaminhadores da Internet (core routers).
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.29
Medidas correctivas: route-flapdamping
Mecanismo que permite configurar o encaminhador demodo a ignorar actualizaes referentes a ocilaesentre anncio e remoo.
Se um limite de pares anncio/remoo excedidonum curto perodo, os anncios passam a serignorados por um dado intervalo.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.31
Medidas correctivas
Foram identificados "bugs" no software de algunsfabricantes que entretanto foram corrigidos.
Inseriram-se mecanismos de correco.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.30
Injeco esttica
Consiste em anunciar rotas definidas estaticamente,independentemente da conectividade real.
Evita problemas de instabilidade.Se s existir um caminho, eficiente.Se existirem diversos caminhos pode gerar umburaco-negro (dado que o outro caminho podenunca ser escolhido).
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.32
-
Processamento de rotas
Um encaminhador recebe rotas dos seus vizinhos.
Estas rotas so filtradas, podendo decidir noconsiderar algumas.
As melhores rotas so escolhidas, a partir doresultado da filtragem.
Estas so usadas pelo encaminhador epossivelmente anunciadas.
Um segundo processo de filtragem escolhe quais asrotas a anunciar.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.33
Agregao e rotas especficas
Quando um SA anuncia as rotas internas deve fazeragregao.
Em certos casos, pode anunciar rotas especficas paraalm do agregado.
Isto importante em sistemas multi-homed paracontrolar a entrada do trfego..
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.35
Processamento das rotas
Rotas recebidas dos vizinhos
Filtragemnaentrada
Escolhade rotas
Rotas usadas
Tabela de encaminhamento IP
Filtragemderotasanunciadas
Rotasanunciadas aos vizinhos
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.34
Atributo NEXT_HOP
Campo que indica qual o encaminhador atravs doqual uma rota foi conhecida.
Uma rota injectada do exterior, mantm comoNEXT_HOP o encaminhador exterior que a anuncioupara o sistema autnomo.Para chegar ao NEXT_HOP pode ser necessriopassar por ns intermdios.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.36
-
Propagao do NEXT_HOP
128.213.1.0/24 (NEXT_HOP=1.1.1.1)192.212.1.1/24 (NEXT_HOP=2.2.2.2)
128.213.1.0/24 (NEXT_HOP=1.1.1.1)
A B
C
IBGP
EBGP
192.212.1.0/24
3.3.3.3
2.2.2.2
1.1.1.1
128.213.1.0/24
192.212.1.0/24 2.2.2.22.2.2.0/243.3.3.0/24128.213.1.0/241.1.1.0/24
3.3.3.3Serial 01.1.1.13.3.3.3
S0Tabela do encaminhador A
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.37
Atributo AS_path
Lista de sistemas autnomos que necessrioatravessar para chegar ao destino.
Sempre que um sistema re-anuncia uma rota,acrescenta o seu sistema autnomo cabea da lista.
A lista usada para escolher percursos.Uma lista mais curta sempre preferida.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.39
NEXT_HOP em meios multi-acesso
O NEXT_HOP deve ser sempre usado em meiosmulti-acesso, de modo a evitar saltos desnecessrios.
Em alguns casos pode ser til forar o campoNEXT_HOP a um determinado valor, para garantir quea rota passa por um dado encaminhador.
Por exemplo, ao tentar atingir uma rede na fronteira,para forar o uso de uma rota interna ao sistema eno um caminho atravs de outros sistemas.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.38
Identificadores de sistemasautnomos privados
Se uma organizao s possui um fornecedor deacesso, encorajada a usar identificadores privadospara o seu sistema autnomo.
Valores entre 64512 e 65535.
Estes nmeros so trocados com o fornecedor masno podem ser propagados na Internet.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.40
-
Agregao de endereos
Quando se faz agregao de anncios, cria-se umanova rota cuja origem o encaminhador que faz aagregao.
Problema: perde-se informao acerca dossistemas autnomos j atravessados.
Define-se uma AS_list:Semelhante a um AS_path, sem ordem, obtidoatravs da unio de diversos AS_path ouAS_list.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.41
Atributo Local Preference
Valor associado a uma sada do sistema autnomo.
Trocado por IBGP entre as diversas sadas paraescolher o caminho para o trfego que sai do S.A.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.43
Manipulao do AS_path
possvel inserir vrias vezes o prprio sistemaautnomo no AS_path ao anunciar uma rota.
Mtodo expedito de aumentar artificialmente ocusto de uma rota para dar preferncia a outrarota.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.42
Atributo MULTI_EXIT_DISC (MED)
Custo local associado a uma entrada no sistemaautnomo.
Trocado com os vizinhos mas no propagado parao resto da rede.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.44
-
Atributo Community
Grupo de redes que partilham propriedades.
Algumas so predefinidas, outras podem ser definidasentre sistemas autnomos.
Exemplos:NO_EXPORT (s anunciar no sistema autnomo (ouna confederao)).NO_ADVERTISE (nunca propagar para outroencaminhador).
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.45
Atributo ORIGIN
Indica qual a fonte de uma dada rota.IGP: a rota interna ao S.A.EGP: a rota foi adquirida por BGP.INCOMPLETE: tudo o resto.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.47
Atributos ATOMIC_AGGREGATE eAGGREGATOR
Quando um encaminador faz agregao de vriasanncios, possvel que se perca informao contidanos atributos das rotas que deram origem aoagregado.
O atributo ATOMIC_AGGREGATE indica que a rota foiobtida por agregao.
O atributo AGGREGATOR indica quem fez a agregao.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.46
Resumo
Mecanismos do BGP.
Protocolos em Redes de Dados- Aula 06 -BGP: Introducao p.48
BGP: Border Gateway ProtocolSumrioBGP: ilustraoBGP: vantagem de trocar rotasBGP: funcionamento tpicoBGP: concretizao baseada em TCPBGP: vizinhos interiores e exterioresBGP: ligaes internasFormato das mensagensTeste de actividadeEstabelecimento de vizinhosPacote OPENEstabelecimento de ligaoParmetros do OPENAnnciosBGP e CIDRTipo de atributoAtributos do caminhoTipos de atributosTipos de atributosInternal BGPTipos de atributosBGP: Interligao com o IGPInjectar rotas externas no IGPFiltragemFontes de actualizaes no BGPO problema da instabilidadeResultados da instabilidadeMedidas correctivas: route-flap dampingMedidas correctivasInjeco estticaProcessamento de rotasAgregao e rotas especficasProcessamento das rotasAtributo exttt {NEXT_HOP}Propagao do exttt {NEXT_HOP}Atributo exttt {AS_path}exttt {NEXT_HOP} em meios multi-acessoIdentificadores de sistemas autnomos privadosAgregao de endereosAtributo exttt {Local Preference}Manipulao do exttt {AS_path}Atributo exttt {MULTI_EXIT_DISC} (MED)Atributo exttt {Community}Atributo exttt {ORIGIN}Atributos exttt {ATOMIC_AGGREGATE} e exttt {AGGREGATOR}Resumo