Resumo sobre Border Gateway Protocol (BGP) – MASE Network Infrastructure – parte 1 de 2

Galera, esses dias participei de um treinamento para a certficação MASE Network Infrastructure voltado para a prova HP0-Y36.Fiz algumas anotações e conforme for organizando os “.txts” dos rascunhos, compartilharei aqui no blog para quem precisar da revisão para a prova. Espero que seja útil.

O Protocolo BGP é considerado o mais robusto Protocolo de  Roteamento para redes IP. Sua complexidade permite a conexão de múltiplos Sistemas Autônomos, chamados de AS (Autonomous systems), permitindo o roteamento dinâmico na Internet.

Um Sistema Autônomo é uma coleção de prefixos (rotas) sobre uma mesma política de roteamento e sobre o controle administrativo de uma mesma entidade (empresas, provedores de Internet [ISP’s]).

A Internet consiste em redes Comerciais conectadas por Provedores (ISP’s) como Telefônica,Embratel, Oi, CTBC e etc. Cada rede comercial ou Provedor deve ser identificado pelo Número do seu Sistema Autônomo (ASN) sobre controle do IANA .

O range disponível para o BGP é de 1 até 65635. Os ASN públicos disponíveis vão de 1 até 64511, já a utilização dentro de uma empresa do BGP, sem a comunicação com a Internet, poderá utilizar os valores de 64512 até 65535, chamados de uso privado.

A função primária de um sistema BGP é trocar informação de acesso à rede, inclusive informações sobre a lista das trajetórias dos ASes, com outros sistemas BGP. Esta informação pode ser usada para construir uma rede de conectividade dos ASes livre de loops de roteamento.

O BGP é considerado um Protocolo de Vetor de Distância avançado utilizando-se de vetores para contagem de saltos para cada destino. A contagem de saltos para o BGP é baseada em ASes.

  • O BGP é considerado um protocolo de roteamento externo usado para transmitir informações de roteamento entre ASes e como ponto de troca entre organizações.
  • Desenhado para grandes redes com necessidade complexas para políticas de roteamento.
  • O BGP roda sobre  TCP (porta 179) e requer a configuração manual  para conexão com o vizinho (peering).
  • BGP versão 4
  • Providencia uma série de atributos (métricas) para os prefixos anunciados, além de suportar CIDR. Também suporta diversas estratégias de filtro para o roteamento
  • Não gera informações periódicas de roteamento e sim atualizações engatilhadas (* triggered updates para os peers) além de mandar as atualizações em lote para os seus vizinhos  (* “batch” route updates).

Protocolos de roteamento interior (IGP) vs exterior (EGP)

  • Interior (RIP, OSPF, EIGRP, ISIS,etc)
    • descobrimento automático de vizinhos
    • os roteadores internos possuem informação completa da tabela de rotas
  • Exterior (BGP)
    •  os vizinhos são configurados estaticamente (não há um sub-processo como o Hello do OSPF para descoberta de vizinhos)
    • conexão com redes externas
    • demarcação clara de limites administrativos

Operação Geral

Roteadores BGP aprendem multiplos caminhos via BGP internos e externos.  Eles escolhem SOMENTE o melhor caminho e instala na tabela de roteamento IP. O Roteador BGP anuncia apenas as rotas que este utiliza (apesar da possibilidade de aprender sobre multiplos caminhos).

BGP peer

– A comunicação BGP entre roteadores é sobre uma conexão TCP.

– Roteadores são pares (peer) são classificados em:

  • … eBGP peer (external BGP)  se os roteadores estão em um Sistema Autonomo diferente
  • … iBGP peer (internal BGP)  se os roteadores estão em um  mesmo Sistema Autonomo.

– eBGP peer devem ter um link direto entre eles.

– iBGP peer não necessitam ter um link direto.

Obs: dentro de um AS os roteadores trocam roteamento interno via IGP, já os roteadores eBGP geralmente não trocam roteamento via IGP.

Configuração eBGP

Resumo BGP

As mensagens eBGP são encapsuladas no pacote IP com o TTL=1 por padrão. Caso seja necessário a conexão entre vizinhos eBGP por uma interface Loopback, o TTL deve ser alterado para 2: adicione o comando peer ebgpmax-hop 2

bgp 10
  peer <endereço da loopback do vizinho> as-number 20
  peer <endereço da loopback do vizinho> ebgp-max-hop 2
  peer <endereço da loopback do vizinho> connect-interface loopback0

Obs: Geralmente utilizado em cenários com redundância de Link. Certifique-se que o roteamento da interface Loopback do vizinho seja acessível pelos links redundantes.

Configuração iBGP

Devido ao fato de uma interface looopback estar sempre UP, ela é utilizada para configurar uma conexão TCP estável entre 2 vizinhos iBGP (geralmente a conexão é estabelecida via IGP).

Resumo iBGP

Observações

– Uma rota aprendida via iBGP não é ensinada para outros vizinhos iBGP como forma de prevenção de loop de roteamento

– Os roteadores iBGP de um AS devem formar uma conexão “full mesh” entre si ou utilizar outros mecanismos como Route Reflector e Confederation.

– Roteadores conectados via iBGP não necessitam estar diretamente conectado e sim acessivel via IGP (static, RIP, OSPF, etc.)

– Um Roteador iBGP não altera o next-hop de um prefixo aprendido via eBGP e que é ensinado na atualização para um vizinho iBGP. Certifique-se que o next-hop (endereço IP do próximo salto) seja acessível via IGP em todos roteadores do AS ou altere o next-hop para o vizinho das rotas aprendidas por eBGP com o comando “peer <endereço IP do peer iBGP> next-hop-local

Quando configurar um peer iBGP, lembre-se:

* Utilize o endereço da interface loopback do vizinho

* Utilize a sua interface loopback para conexão com o comando “connect interface
* Se o numero de vizinhos é grande, utilize a configuração de “groups

# Peer group Configuration
 bgp 10
 group as20 internal
 peer as20 as-number 20
 peer as20 connect-interface loopback0
 peer 192.1.254.2 group as20
 peer 192.1.254.3 group as20
 peer 192.1.254.4 group as20
 peer 192.1.254.5 group as20

Dica: O status correto para o “peering” entre 2 Roteadores iBGP e eBGP é Established

 Rotas BGP

Para uma rota ser anunciada no BGP, ela deve existir no Roteador (como estática, IGP, BGP)

1. redistribuição dinamica do IGP

– nem sempre a melhor opção
– requer configuração cuidadosas de filtragem de rotas
– caso um prefixo não esteja na tabela do IGP este deixa de ser anunciado
– mais utilizados em cenarios PE-CE

2. Redistribuição de rotas estáticas apontando para Null0 – mesmo que os prefixos estejam fora do IGP as redes são anunciadas

bgp 30
import-route static
quit
!
ip route 198.10.0.0 255.255.0.0 null 0

3. Comando network

– redes origininadas pelo roteador local
– rota deve existir no IGP

router bgp 30
network 192.168.0.0 255.255.0.0

Até logo! 🙂

No próximo post o resumo abordará algumas questões a manipulação e a escolha do melhor caminho para o BGP.

Alterando a distancia administrativa para os protocolos de Roteamento em Switches e Roteadores HPN (Comware)

Há alguns posts atrás comentamos sobre a diferença da Distância Administrativa para as rotas aprendidas dinâmicamente em Switches e Roteadores dos fabricantes Cisco e HPN (H3C/3Com) e a atenção que deve ser dada em ambientes com Protocolos de Roteamento que possuem Switches e Roteadores  de ambos fabricantes

http://www.comutadores.com.br/distancia-administrativa-em-switches-l3-e-roteadores-h3c3comhp-serie-a/

A Distância Administrativa possui apenas função local e não é compartilhada pelo protocolo de roteamento.

Como por exemplo, em um Roteador utilizando o OSPF (como IGP) e o BGP para aprender as “rotas externas”, se uma mesma rota fosse aprendida via OSPF e BGP, o comportamento para escolha do melhor caminho seria diferente em Rotadores Cisco (a distancia administrativa para o OSPF é 110 e o  eBGP é 20) e HPN ( o OSPF é 10 e o eBGP é 255). Lembrando que para prefixos iguais aprendido por diferentes protocolos o Roteador escolhe a rota com menor distância administrativa.

Uma coisa bacana do Comware é poder alterar o valor da distância administrativa  baseado no processo de Roteamento, por exemplo, se tivermos 2 processos OSPF rodando no Router/Switch é possível alterar a distancia administrativa em um dos processos sem afetar o outro ( muito útil quando se utiliza VRFs [ vpn-instance] em um mesmo roteador) .

Para redes que utilizam MP-BGP, tambem é possível alterar a distância administrativa no address-family do cliente.

Veja o exemplo abaixo para a tabela de roteamento Global (eBGP e iBGP com a distância adminstrativa em 255) e a tabela de roteamento da vpn-instance cliente-A (com o eBGP como 7 e o iBGP como 100).

<Router>display ip routing-table
Routing Tables: Public
Destinations : 18177     Routes : 18177

Destination/Mask    Proto  Pre  Cost         NextHop         Interface
0.0.0.0/0           BGP    255  0            10.180.226.197  GE3/1/6.100
192.168.9.0/24      BGP    255  0            10.180.226.197  GE3/1/6.100
192.168.10.0/24     BGP    255  0            10.180.226.197  GE3/1/6.100
192.168.11.0/24     BGP    255  0            10.180.226.197  GE3/1/6.100
<saída omitida>

<Router>display ip routing-table vpn-instance cliente-A
Routing Tables: cliente-A
Destinations : 1789      Routes : 1789
Destination/Mask    Proto  Pre  Cost         NextHop         Interface
1.1.1.1/32          BGP    7    0            192.168.176.217  GE9/1/7
2.2.2.0/29          BGP    7    0            192.168.176.217  GE9/1/7
192.168.80.0/30     BGP    100  0            192.168.229.193  NULL0
10.1.1.1/32         BGP    7    0            192.168.176.217  GE9/1/7
<saída omitida>

Para configurar a distancia administrativa dentro processo BGP ou dentro do processo “ipv4-family vpn-instance [nome da vrf]” no BGP use a sintaxe:

[Router-bgp]preference ?
INTEGER<1-255>  External preference
!Distancia administrativa para rotas aprendidas via eBGP

[Router-bgp]preference 7 ?
INTEGER<1-255>  Internal preference
!Distancia administrativa para rotas aprendidas via iBGP

[Router-bgp]preference 7 100 ?
INTEGER<1-255>  Local preference
!Distancia administrativa para rotas aprendidas via iBGP (locais)

[Router-bgp]preference 7 100 9 

Para o OSPF  utilize o commando preference para alterar a distância administrativa de rotas OSPF e OSPF ASE:

[Router-ospf-1]preference ?
INTEGER<1-255>  Preference value
ase             AS external link states

[Router-ospf-1]preference ase ?
INTEGER<1-255>  Preference value

Até logo!

Distância administrativa em Switches L3 e Roteadores H3C/3Com/HP Serie A

A tabela de roteamento dos Switches L3 e Roteadores, insere os destinos aprendidos manualmente (rotas estáticas ou redes diretamente conectadas) ou dinamicamente (aprendidos via protocolo de roteamento dinâmico).

 
Para os casos de uma destino ser aprendido de diferentes formas, como por exemplo, o prefixo 192.168.1.0/24 ser aprendido via RIP e OSPF, o Roteador dará preferência para a rota com  Distância Administrativa de menor valor, no caso, o destino aprendido via OSPF terá preferência pelo valor 10 em detrimento do protocolo RIP com o valor 100 (nesse exemplo a rota eo gateway da rede que será inserido na tabela de roteamento será o aprendido via OSPF).Perceba que as rotas diretamente conectadas possuem a prioridade 0 (zero) e serão roteadas internamente pelo dispositivo.

 
A Distância Administrativa possui apenas função local e não é compartilhada pelo protocolo de roteamento. Um detalhe importante a ser percebido é a diferença com os valores atribuídos para a distancia administrativa para Roteadores Cisco. Em todo caso para evitar problemas em cenários com mais de 1 protocolo de roteamento, altere a métrica  em um dos dois dispositivos.

 

Distância Adm. HP Serie A
Distância Adm. Cisco
Directly Connected
0
0
OSPF
10
110
IS-IS
15
115
STATIC
60
1
RIP
100
120
OSPF ASE
150
110
OSPF NSSA
150
110
IBGP
255
200
EBGP
255
20
Unknown
256
255

Abraços a todos

Switches 3Com 4800G – Filtro de prefixos e ASes no BGP

Pessoal, estou compartilhando um segundo script sugerido pelo Meeeeeestre Denis Albuquerque sobre a utilização de filtros para o tamanho dos prefixos incluíndo filtros baseados em ASes. O post serve como continuidade ao post anterior sobre configuração básica do BGP.

Comentario Geral sobre o Script
O BGP permite a configuração regras baseadas em prefixos, ASes, metricas de entrada, saída,etc. A route-policy SAIDA servirá para controlarmos as redes que serão injetadas no proximo AS, como por exemplo, para proteção do próprio AS 65535 não servir de trânsito em caso de conexão direta com outros ASes. A route-policy SAIDA limitará o recebimento de prefixos para SOMENTE os prefixos interessantes.

Configuração

#
interface Vlan-interface10
ip address 10.0.0.1 255.255.255.252
! Interface para estabelecimento de peering eBGP
#
interface Vlan-interface11
ip address 11.0.0.1 255.255.255.252
! Interface para estabelecimento de peering iBGP
#
bgp 65535
undo synchronization
peer 10.0.0.2 as-number 65530
! formação de peering eBGP
peer 11.0.0.2 as-number 65535
! formação de peering iBGP
peer 10.0.0.2 description eBGP
peer 11.0.0.2 description iBGP
peer 10.0.0.2 route-policy SAIDA export
! a route-policy declarará prefixos da regra SAIDA
peer 10.0.0.2 route-policy ENTRADA import
! a route-policy receberá prefixos da regra ENTRADA
peer 10.0.0.2 route-limit 1000
! desfaz o peering se o limite de prefixos recebidos for atingido
peer 10.0.0.2 password simple SENHA
peer 11.0.0.2 next-hop-local
! inclui o Switch como next-hop das rotas encaminhadas. 
#
route-policy ENTRADA permit node 10
if-match ip-prefix FILIAIS
! a route-policy permitirá os prefixos do ip-prefix FILIAIS
route-policy SAIDA permit node 10
if-match as-path 1
! a route-policy permitirá somente os ASes do AS-path 1
#
ip ip-prefix FILIAIS index 10 permit 172.17.0.0 16 greater-equal 16 less-equal 32
! a regra ip-prefix FILIAIS permitirá somente o anuncio da rede 172.17.0.0/16 até /32 , prefixos diferentes ou menores que /16 não serão recebidos
#
ip as-path 1 permit ^$
! a expressão regular ^$ representa somente as rotas locais do próprio AS

Até mais…

 

 

 

 

Switches 3Com 4800G – Configuração básica do BGP

O Protocolo BGP é considerado o mais robusto Protocolo de Roteamento para redes IP. Sua complexidade permite a conexão de múltiplos Sistemas Autônomos, chamados de AS (Autonomous systems), permitindo o Roteamento Dinâmico na Internet.

A Internet consiste em redes Comerciais conectadas por Provedores (ISP’s) como Telefônica,Embratel, Oi, CTBC e etc. Cada rede comercial ou Provedor deve ser identificado pelo Número do seu Sistema Autônomo (ASN) sobre controle do IANA .

A função primária de um sistema BGP é trocar informação de acesso à rede, inclusive Informações sobre a lista das trajetórias dos ASs, com outros sistemas BGP. Esta informação pode ser usada para construir uma rede de conectividade dos ASes livre de loops de roteamento.

O BGP é considerado um Protocolo de Vetor de Distância avançado utilizando-se de vetores para contagem de saltos para cada destino. A contagem de saltos para o BGP é baseada em AS.

Os Roteadores BGP são configurados com informações dos vizinhos para formação de uma conexão TCP confiável para transporte das informações de Roteamento e Sistemas Autônomos. Após estabelecimento da sessão, a conexão TCP continua aberta até a percepção de falha no link ou encerramento explicito da sessão via configuração. O estabelecimento de uma sessão indica a formação de um peer BGP.

O controle para administração de prefixos possibilita a utilização do BGP em diversos ambientes Corporativos fora da Internet. Há diversos cenários que necessitam de flexibilidade e controle que protocolos de Roteamento como OSPF e EIGRP não permitem.

O range de numero de AS 64512 a 65535 permitem a criação de AS’s para uso privado.

Abaixo exemplificaremos a configuração entre Roteadores de diferentes AS.

Configuração
Switch 4800G pertencente ao AS 64512 (Matriz)
#
interface Vlan-interface2
ip address 172.31.1.1 255.255.255.0
#
interface Vlan-interface41
ip address 192.0.2.41 255.255.255.252
#
bgp 64512
!Ativando o BGP no Switch. O número do AS é 64512
network 172.31.1.0 255.255.255.0
! Anunciando o prefixo no BGP
undo synchronization
! Desabilitando a Sincronização (habilitado por default)
peer 192.0.2.42 as-number 64515
! identificando um vizinho BGP
peer 192.0.2.42 password simple senha
! Configurando a autenticação com a senha “senha”
#

Switch 4800G pertencente ao AS 64515 (Filial)
#
interface Vlan-interface42
ip address 192.0.2.42 255.255.255.252
#
interface Vlan-interface180
ip address 180.0.0.1 255.255.255.0
#
bgp 64512
network 180.0.0.0 255.255.255.0
undo synchronization
peer 192.0.2.42 as-number 64515
peer 192.0.2.42 password simple senha
#

Display

[Matriz]display ip routing-table
Routing Tables: Public
Destinations : 7 Routes : 7

Destination/Mask Proto Pre Cost NextHop Interface

127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
172.31.1.0/24 Direct 0 0 172.31.1.1 Vlan2
172.31.1.1/32 Direct 0 0 127.0.0.1 InLoop0
180.0.0.0/24 BGP 255 0 192.0.2.42 Vlan41
192.0.2.40/30 Direct 0 0 192.0.2.41 Vlan41
192.0.2.41/32 Direct 0 0 127.0.0.1 InLoop0

[Matriz] disp bgp routing-table
Total Number of Routes: 3
BGP Local router ID is 192.168.0.41
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn

*> 172.31.1.0/24 0.0.0.0 0 0 i
*> 180.0.0.0/24 192.0.2.42 0 0 64515i

[Matriz]display bgp peer
BGP local router ID : 192.168.0.42
Local AS number : 64512
Total number of peers : 1 Peers in established state : 1

Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
192.0.2.42 64515 9 10 0 1 00:07:02 Established

Até logo! 🙂