
BGP Operation: Como operar o Border Gateway Protocol

17/09/2019

15 minutos de leitura
O BGP envia somente mensagens únicas e forma uma conexão ponto a ponto com cada um de seus pares (vizinhos).
O protocolo usa a porta TCP 179 para essa conexão ponto a ponto, e conta com as propriedades inerentes do TCP para funções de manutenção de sessão, como reconhecimento, retransmissão e sequenciamento.
É chamado de vetor de caminho, pois vê a rota para um destino através de uma série de Sistemas Autônomos (AS), não como uma série de saltos de roteadores.
Esse vetor de caminho é descrito usando um atributo de rota chamado AS_PATH, que lista sequencialmente os ASes que compõem o caminho até o destino.
A atuação do BGP
O BGP atua realizando a troca de informações entre vizinhos. Elas são preenchidas pelos anúncios e repasses de prefixos, que ocorrem entre os roteadores que comunicam com o protocolo.
Um roteador BGP repassa prefixos recebidos de uma sessão BGP e anuncia prefixos originados.
Ou seja, quando definimos que o router está realizando o REPASSE de um prefixo.
Isso quer dizer que o prefixo foi recebido através de uma conexão BGP e será repassado para um Upstream por outra conexão BGP, logo, fazendo com que outros Sistemas Autônomos (AS) conheçam o prefixo.
Quando definimos que o router está realizando o ANÚNCIO de um prefixo, isso quer dizer que o prefixo tem origem no meu AS.
Esse prefixo será encaminhado para meus Upstreams e o mundo conhecerá o caminho (AS_PATH) de como chegar até meu AS/prefixo.
Sempre que ocorrer um anúncio de um prefixo, é de total responsabilidade dos Upstreams realizar o repasse, pois é através dessa troca de informações que conteúdos conhecem o caminho até o prefixo anunciado.
Esse processo faz a criação de caminhos entre AS (AS-Path) construindo um gráfico topológico de rede como mostra a imagem a seguir:
Nela podemos ver a interação do AS 6789 com outros ASes diretamente conectados, que fazem o trânsito IP (48084 e 201776) que, por sua vez, fazem a sua interação com seus Upstreams, ou seja, criando o que conhecemos como a “Internet”.
No exemplo acima, o AS 6789 origina seus prefixos e anuncia para seus Upstreams, e a responsabilidade de cada AS é repassar esse prefixo.
Principais atributos do BGP
Temos, como principais atributos, Weight, Local_Pref, AS_Path prepending e MED.
Algumas métricas são propagáveis e outras não. Assim, um cenário que usa o Weight só terá efeito de forma local, no AS onde foi aplicado.
Então, esse atributo não será propagado para outro AS através do protocolo BGP.
Agora, quando realizamos o uso do As Path prepending, encaminhamos o atributo para nosso vizinho com o intuito de ter mais “saltos” para chegar até meu prefixo.
Sendo assim, teremos um caminho piorado pelo vizinho onde utilizamos essa métrica.
Os atributos/métricas utilizadas no BGP nos permitem realizar a manipulação de tráfego de download e upload, de acordo com o aplicado na conexão.
Uma forma mais prática de realizar a manipulação de tráfego de download é utilizando anúncios mais específicos para um determinado vizinho.
Veja na imagem abaixo:
* Lucas Moreira – Especialista NIS