sexta-feira, 28 de maio de 2010

BGP - Atributo AS_PATH


1        Atributo AS_PATH

O AS_PATH é um atributo do BGP mandatório transitável entre diferentes AS (Well-known mandatory, tipo 2) indica a sequencia de AS em que a divulgação daquela rota viaja até chegar ao roteador de origem. Cada AS que a rota passa é adicionado (prepend) o número do AS em que ela está passando no atributo AS_PATH.
Sempre que uma atualização de rota passa através de uma AS o N.º da AS é pré-anexado aquela atualização (colocado no inicio da lista de AS's que foram atravessadas até chegar o destino. Pode-se fazer alterações no AS_PATH, como por exemplo adicionar mais vezes o seu AS para que a rota não seja preferida.

2        Cenário

2.1           Objetivo

Quatro roteadores (R1, R2, R3 e R4) são conectados fisicamente R1-R2-R3-R4-R1 e devem ser configurados com roteamento BGP seguindo os criterios abaixo:
          Todos os roteadores possuem como IGP o OSPF na área 0 divulgando suas interfaces;
         O router-ID é o endereço IP das loopbacks;
         O R1 pertence ao AS 1 e faz conexão EBGP com o R2 (AS 2) e com o R3 (AS 34) e deverá divulgar a sua loopback no BGP;
         O R3 e o R4 pertencem ao AS 34 e fazem IBGP entre eles;
         O R2 pertence ao AS 2 e faz EBGP com o R4 (AS 34);
         O tráfefo originado no AS 34 deverá ser encaminhado para o IP 1.1.1.1 via o AS 2 ignorando o AS Path.

2.2           Topologia

Figure-01:              Topologia

2.3           IOS utilizados

         R1, R2, R3 e R4 – c7200-js-mz.123-7.T.bin

2.4           Configuração dos Roteadores

Em todos os roteadores, antes de configurar o roteamento BGP, deve-se configurar um IGP, ou seja, um roteamento interno para que os roteadores possam conhecer o endereço IP para fechar a conexão BGP e também para que a rota seja divulgada na tabela de roteamento BGP. Esse IGP pode ser OSPF, ISIS, estático, etc.

2.4.1      Configuração do IGP

O processo de ativação do OSPF é feito pelo comando “router ospf ” onde o “processo” é um numero do processo OSPF. Para adicionar interfaces usa-se o comando “network
área ”. Para o roteador fazer vizinhança OSPF é necessário que a rede da interface esteja no comando “network” e a interface não esteja configurada como “passive-interface”.

2.4.2      Configuração do BGP

Voltando ao BGP, agora que os roteadores conhecem os endreços IPs de seus vizinhos pelo IGP, configura-se o BGP em todos os roteadores pelo comando “router bgp ” onde o “AS” é o Autonomous System do provedor. Dentro da configuração de BGP adiciona-se os vizinhos estaticamente com o comando “neighbor remote-as ”, onde se o “as_vizinho” for igual ao AS do roteador a conexão é IBGP, se for diferente será EBGP.
Adiciona-se o IP da interface loopback como Router-ID pelo comando “router-id ”. Para divulgar rede no BGP é necessário que a rede exista na tabela de roteamento interna e, ou adicionar o comando “network mask ” ou redistribuir rotas para o BGP com o comando “redistribute”.
As configurações de BGP atualmente podem ser feitas dentro da família de endereçamento IPv4, ou seja, dentro da configuração de roteamento entra-se no “address-family ipv4” e configuram-se as vizinhanças, router-reflector, community, route-map, etc.
A configuração para desconsiderar o AS Path é feita dentro do roteamento com o comando “bgp bestpath as-path ignore”. Esse comando não aparece nas opções.

2.5           Observações e Bugs

Observe que, caso o atributo AS Path não fosse ignorado, o caminho preferencial para a o IP 1.1.1.1 (loopback divulgada pelo R1 no BGP) seria via o link entre o R3 x R1. O As Path informa a quantidade de AS para a rede de destino. O AS path pe usado em consideração no caso de empate dos atributos weight e Local Preference.
Documentação:

2.6           Comandos Importantes de Verificação

R4#sh ip bgp      
BGP table version is 2, local router ID is 4.4.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
* i1.1.1.1/32       13.13.13.1               0    100      0 1 i
*>                  24.24.24.2                             0 2 1 i

3        Configuração

3.1           R1

router ospf 1
 network 12.12.12.1 0.0.0.0 area 0
 network 13.13.13.1 0.0.0.0 area 0
!
router bgp 1
 bgp router-id 1.1.1.1
 network 1.1.1.1 mask 255.255.255.255
 neighbor 12.12.12.2 remote-as 2
 neighbor 13.13.13.3 remote-as 34
!

3.2           R2

!
router ospf 1
 network 12.12.12.2 0.0.0.0 area 0
 network 24.24.24.2 0.0.0.0 area 0
!
router bgp 2
 bgp router-id 2.2.2.2
 bgp log-neighbor-changes
 neighbor 12.12.12.1 remote-as 1
 neighbor 24.24.24.4 remote-as 34
!

3.3           R3

!
router ospf 1
 network 13.13.13.3 0.0.0.0 area 0
 network 34.34.34.3 0.0.0.0 area 0
!
router bgp 34
 bgp router-id 3.3.3.3
 neighbor 13.13.13.1 remote-as 1
 neighbor 34.34.34.4 remote-as 34
!

3.4           R4

!
router bgp 34
 bgp router-id 4.4.4.4
 bgp bestpath as-path ignore
 neighbor 24.24.24.2 remote-as 2
 neighbor 34.34.34.3 remote-as 34
!

Nenhum comentário: