[GTER] Dúvida BGP ebgp-multihop e next-hop-self

Eduardo Ascenco Reis eascenco at nic.br
Thu Jan 14 12:22:53 -02 2010


Olá Douglas,

douglas wrote:

> Estou avaliando e lendo algumas configurações de BGP e estou na dúvida
> quanto a aplicação do next-hop-self, sobre o ebgp-Multihop é tranquilo.

Por padrão, os pacotes IPv4 e IPv6 que transportam mensagens eBGP tem 
TTL igual a 1, ou seja, tem alcance máximo de um (1) hop, pois é 
esperado que esses roteadores estejam diretamente conectados.

Caso a sessão eBGP seja estabelecida entre interfaces de loopback (links 
em paralelo ou por segurança) desses roteadores, será necessário 
utilizar TTL igual a dois (2).

Uma boa prática é utilizar TTL em sessões eBGP de forma restritiva, ou 
seja, apenas altere o TTL caso seja necessário e sempre para o número 
exato, ou o mais próximo disso, de hops.

Um contra exemplo é colocar o TTL igual a 255, ou um número alto, pois 
assim você corre o risco de estabelecer a sessão eBGP por um link 
diferente do esperado.

Exista uma forma de utilizar TTL alto para proteger a sessão BGP (RFC 
3682). Esse recurso e ebgp-multihop são mutuamente exclusivos. Apesar de 
ser algo interessante e recomendado, a proteção por TTL é pouco comum.

Para mais informações segue:

The Generalized TTL Security Mechanism (GTSM)
http://www.ietf.org/rfc/rfc3682.txt

BGP Support for TTL Security Check
http://www.cisco.com/en/US/docs/ios/12_3t/12_3t7/feature/guide/gt_btsh.html

> Em algumas literaturas na internet o esquema de explicação não ficou claro.
> 
> Entendi que o next-hop-self seria uma forma alterar o AS-PATH entre
> mensagens iBGP.
> 

Não.

O next-hop-self é um recurso interessante e também recomendado para ser 
utilizado nas sessões internas (iBGP) e basicamente altera o atributo 
next-hop, associado aos prefixos repassados.

Sem a utilização de next-hop-self, um roteador de borda, que tem sessões 
eBGP, repassa os prefixos externos para outros roteadores internos do 
seu AS com o atributo next-hop com o endereço IPv4 ou IPv6 do neighbor 
da sessão BGP que enviou aquele prefixo (rede do link inter AS ou 
endereço de loopback do AS remoto).

Assim, sem a utilização de next-hop-self, o AS precisa propagar no seu 
IGP (OSPF, IS-IS, etc) o prefixo que contém o endereço IP do seu 
neighbor externo, para possibilitar conectividade pelos demais roteadores.

Já com o uso do next-hop-self, o roteador de borda repassa os prefixos 
externos para outros roteadores internos do seu AS com o atributo 
next-hop com um endereço IPv4 ou IPv6 próprio (AS), que já deve ser 
conhecido pelo IGP.

Além do next-hop-self, é recomendado que as sessões iBGP (internas) 
sejam estabelecidas entre endereços IPv4 ou IPv6 das interfaces de 
loopback e não utilizando os endereços das interfaces físicas de conexão 
entre roteadores, pois caso ocorra a queda de um link a sessão iBGP 
possa continuar estabelecida por outro caminho interno.

Cabe destacar que nas sessões iBGP não é necessário alterar o TTL, pois 
por padrão os pacotes IP que as transportam já utilizam valores altos.

Abraços,

-- 

Eduardo Ascenço Reis

NIC.br - http://nic.br/



More information about the gter mailing list