segunda-feira, 18 de janeiro de 2010

BGP

O BGP efetua troca de informações sobre a topologia para encontrar o melhor caminho para um prefixo de IP a decisão do melhor caminho é feita utilizando atributos (BGP path attributes ou PAs).



Antes de efetuar qualquer troca de informação o BGP utiliza a famosa maquina de estado para estabelecer uma conexão TCP na porta 179 e fechar um relacionamento com um neighbor.
















No entando alguns requerimentos são necessário para se fechar um peering BGP


1- O roteador necessita receber uma solicitação TCP de uma origem que seja seu neighbor, caso contrário a conexão é recusada, por exemplo, se você usa uma loopback como neighbor o endereço de origem será a interface diretamente conectada e o roteador não reconhecera esse endereço, pois espera receber como origem o endereço de loopback do router remoto, então você configura o BGP do router remoto para enviar como endereço de origem o endereço da loopback.
2- O endereço de AS tem que ser igual com o configurado, senão eles não se tornarão neighbors.
3-O BGP RID tem que ser diferentes.
4-Se a autenticação MD5 estiver configurada ela precisa acontecer.

Comandos BGP

router bgp 123
##Os 3 proximos comandos são defaults em IOS > =12.3##
no synchronization
bgp log neighbor-changes
no auto-summary ## O comando no synchronization divulga rotas a um outro AS mesmo que o IGP não tenha as mesmas rotas que o BGP, caso contrário ele aguarda a sincronização, Maiores detalhes aqui ( http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a00800c95bb.shtml#synch )

bgp router-id 10.10.10.10 #Configura o RID ou o maior endereço UP/UP de loopback, depois maior endereço de interface UP/UP (No momento do estabelecimento do processo).

neighbor 2.2.2.2 remote-as 123 #Configura um iBGP devido ao mesmo AS
* neighbor 2.2.2.2 update-source Loopback1 #Indica que o end de origem deve ser da Loopback1
* neighbor 2.2.2.2 password Minhasenha #Habilita a autenticaçào entre neighbors (MD5)
neighbor 3.3.3.3 remote-as 456 #Configura o eBGP devido ao AS diferente
* neighbor 3.3.3.3 password Minhasenha
* neighbor 3.3.3.3 update-source Loopback1

Percerbam que os comandos marcados com * são os mesmos depois do endereço do neighbor, se tiver que configurar diversos neighbors com os mesmo parametros basta criar um peer-group com as configurações que são iguais e aplicar no neighbor, as configurações diferentes podem ser adicionadas normalmente. Ex:

neighbor MEUGRUPO peer-group
neighbor MEUGRUPO update-source Loopback1
neighbor MEUGRUPO password Minhasenha

neighbor 2.2.2.2 peer-group MEUGRUPO
neighbor 2.2.2.2 remote-as 123

neighbor 3.3.3.3 peer-group MEUGRUPO
neighbor 3.3.3.3 remote-as 456


E pra relembrar, a maquina de estados do BGP:













Nenhum comentário: