BGP: vantagem de trocar rotas - Distributed Systems Groupler/docencia/prd0304/handouts06.pdf ·...

of 12 /12
Protocolos em Redes de Dados - Aula 06 - BGP: Introdução Lu´ ıs Rodrigues [email protected] DI/FCUL Protocolos em Redes de Dados- Aula 06 -BGP: Introduc ¸˜ ao – p.1 BGP: Border Gateway Protocol Protocolo exterior utilizado actualmente. Equilíbrio entre "vectores de distância" e "estado dos elos". A conectividade é divulgada na forma de um "caminho" que indica quais os sistemas autónomos incluídos na rota. Protocolos em Redes de Dados- Aula 06 -BGP: Introduc ¸˜ ao – p.3 Sumário Funcionalidades fundamentais do BGP. Tipos de pacotes. Atributos principais. Protocolos em Redes de Dados- Aula 06 -BGP: Introduc ¸˜ ao – p.2 BGP: ilustração Information F receives from 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: Introduc ¸˜ ao – p.4

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

    [email protected]

    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