Border Gateway Protocol

 Nota: Se procura BGP - Batalhão da Guarda Presidencial, veja Batalhão da Guarda Presidencial.

O BGP [RFCs 1771,1772,1773,1774,1657] é um protocolo de roteamento entre sistemas autônomos (ASs), criado para uso nos roteadores principais da Internet.

O BGP foi projetado para evitar laços de roteamento em topologias arbitrárias, o mais sério problema de seu antecessor, o EGP (Exterior Gateway Protocol). Outro problema que o EGP não resolve - e é abordado pelo BGP - é o do Roteamento Baseado em Política (policy-based routing), um roteamento com base em um conjunto de regras não técnicas, definidas pelos Sistemas Autônomos. Sendo assim, o BGP melhora o EGP.

Descrição detalhada

A função primária de um sistema BGP é trocar informação de acesso à rede, inclusive informação sobre a lista das trajetórias dos ASs, com outros sistemas BGP. Esta informação pode ser usada para construir um gráfico da conectividade dos ASs a partir do qual laços de roteamento podem ser detectados e reforçadas as políticas de decisão com outros ASs.

Quando um roteador se conecta à rede pela primeira vez, os roteadores BGP trocam suas tabelas de rotas completas. De maneira similar, quando a tabela de rotas muda, roteadores enviam a parte da tabela que mudou. Roteadores BGP não enviam regularmente atualizações de roteamento planejadas e as atualizações de rotas informam somente a trajetória ótima para uma rede.

BGP usa uma única métrica para determinar a melhor trajetória para uma dada rede. Esta métrica consiste de número arbitrário que especifica o grau de preferência de um enlace em particular e é atribuído pelo administrador da rede. Este número pode ser baseado em qualquer critério: número de ASs que a trajetória cruza, estabilidade, velocidade, retardo ou custo. Os 4 tipos de mensagens BGP são:

1. Abertura (open message) – abre uma sessão de comunicação entre BGP pares (peers) e é a primeira mensagem enviada de cada lado depois que uma conexão de protocolo de transporte é estabelecida; essa mensagem é confirmada usando uma mensagem de keep-alive enviada pelo roteador par e tem que ser confirmada antes das atualizações, notificações e outras mensagens de keep-alive.

2. Atualização (update message) – é usada para informar atualizações de rotas para outros sistemas BGP, permitindo que os roteadores possam construir uma visão consistente da topologia da rede, usando o TCP para garantir uma entrega confiável; essas mensagens podem retirar rotas inviáveis (unfeasible routes) da tabela de roteamento e simultaneamente informar uma nova rota.

3. Notificação (notification message) – é enviada quando uma condição de erro é detectada; elas são usadas para encerrar uma sessão ativa e informar a quaisquer roteadores conectados do porquê do encerramento da sessão.

4. Keep-alive – notifica aos roteadores BGP pares que um dispositivo está ativo.

Formatos do pacote

1. Cabeçalho – todos os tipos de mensagens usam o cabeçalho básico mais alguns campos adicionais, exceto a mensagem Keep-alive que usa somente o cabeçalho básico; seus campos são:

2. Abertura –fornece o critério de troca para que dois roteadores BGP estabeleçam uma relação par (peer relationship); seus campos são:

3. Atualização – ao receberem um pacote de mensagem de atualização, os roteadores estarão aptos a adicionar ou excluir entradas específicas de suas tabelas de roteamento; seus campos são:

4. Notificação – este pacote é usado para indicar algum tipo de condição de erro para os pares do roteador de origem; seus campos são:

Formato do cabeçalho

Cada pacote BGP contém um cabeçalho cujo principal propósito é identificar a função do pacote em questão. As seguintes descrições resume a função de cada campo do cabeçalho BGP.

A última versão do BGP, o BGP4, foi projetada para suportar os problemas causados pelo grande crescimento da Internet.

Tópicos relacionados

Referências

  1. ↑ «Border Gateway Protocol». Biblioteca Nacional da Alemanha (em alemão). Consultado em 19 de dezembro de 2019
Ícone de esboço Este artigo sobre redes de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.