570 likes | 706 Views
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).
E N D
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 MULTIHOMING IBGP
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 • 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.
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.
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.
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.
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.
IBGPUpdate 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.
Algumas peculiaridades do BGP • O BGP é um protocolo de roteamento AS-AS e não um protocolo de roteamento roteador-roteador. • 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.
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.
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.