Diferença entre EBGP e IBGP

EBGP vs IBGP

EBGP e IBGP são termos usados ​​com o protocolo de roteamento BGP. Em termos teóricos, a principal diferença entre os dois é que o EBGP é executado entre dois roteadores BGP em diferentes sistemas autônomos (AS); no entanto, o IBGP é executado entre dois roteadores BGP no mesmo AS. Antes de discutirmos as diferenças entre EBGP e IBGP, tenhamos um entendimento básico de EBGP e IBGP.

O que é EBGP?

O BGP é executado entre roteadores em diferentes sistemas autônomos. Por padrão, no EBGP (em dois AS diferentes), o IP TTL é definido como 1, o que significa que se supõe que os pares estejam diretamente conectados.

Nesse caso, quando o pacote cruza um roteador, o TTL se torna 0 e, em seguida, o pacote será descartado além disso. Nos casos em que os dois vizinhos não estão conectados diretamente, por exemplo, emparelhando com interfaces de loopback ou quando os dispositivos estão a vários saltos de distância, precisamos adicionar o comando “neighbour x.x.x.x ebgp-multihop”

Caso contrário, o bairro BGP não será estabelecido. Além disso, os pares de EBGP anunciarão todas as melhores rotas que conhecerem ou aprenderam com seus pares (sejam pares de EBGP ou pares de IBGP), o que não é, no caso do IBGP.

O que é o IBGP?

No IBGP, não há restrição de que os vizinhos tenham que ser conectados diretamente; no entanto, um par do IBGP não anunciará o prefixo que aprendeu de um par do IBGP para outro par do IBGP. Essa restrição existe para evitar loops no mesmo AS. Para esclarecer isso, quando uma rota é passada para um ponto EBGP, o número AS local é adicionado ao prefixo no caminho, portanto, se recebermos o mesmo pacote declarando nosso AS no caminho, saberemos que é um loop e esse pacote é descartado. No entanto, quando uma rota é anunciada para um par IBGP, o número do AS local não é adicionado ao caminho, pois os pares estão no mesmo AS.

Para evitar loops no mesmo AS, existem dois métodos usados.

1. Topologia com malha completa: Nesse caso, todos os roteadores no mesmo AS precisam estar conectados um ao outro. Por exemplo, se tivermos N roteadores, precisaremos ter N (N-1) / 2 sessões IBGP. Podemos evitar isso introduzindo refletores de rota.

2. Uso de refletores de rota: É um método alternativo para superar o cenário de malha completa. Nesse caso, as sessões do IBGP são estabelecidas com um ponto central. Esse ponto central é chamado Route Reflector e os outros roteadores IBGP são chamados de clientes de refletor de rota..

Qual é a diferença entre eBGP e iBGP?

1. O EBGP está observando entre dois SAs diferentes, enquanto o IBGP está entre o mesmo AS (Sistema Autônomo).

2. As rotas aprendidas com os pares do eBGP serão anunciadas para outros pares (BGP ou IBGP); no entanto, as rotas aprendidas com os pares do IBGP não serão anunciadas para outros pares do IBGP.

3. Por padrão, os pares EBGP são configurados com TTL = 1, o que significa que os vizinhos são assumidos como conectados diretamente, o que não é o caso do IBGP. Podemos mudar esse comportamento para o EBGP usando o comando "neighbour x.x.x.x ebgp-multihop". Multihop é o termo usado apenas no EBGP.

4. As rotas EBGP têm distância administrativa de 20, enquanto o IBGP tem 200.

5. O próximo salto permanece inalterado quando a rota é anunciada para o par do IBGP; no entanto, é alterado quando é anunciado para o ponto EBGP por padrão.

Esse comportamento padrão do IBGP pode ser alterado pelo comando "neighbour x.x.x.x next-hop-self"; isso muda o próximo salto, enquanto anuncia, como uma rota local.