Live Chat Software by Kayako
Base de Conhecimento
BGP
Postado por on 30/Oct 19:24

BGP

Classificação: Classificado / Público
Proprietário: Rafael Vital
Usuários: Público em geral
Versão: 0.1 (Criada em 25/04/2017)
Alterado último por: Rafael Vital

1 - Sumário

O módulo Routing do ProApps tem dentre as suas funções principais configurar os protocolos BGP e OSPF. Essas e outras funções serão descritas a seguir com mais detalhes. Para facilitar o entendimento do documento na imagem abaixo o menu é apresentado conforme na aplicação.

2 - BGP

O BGP (Border Gateway Protocol) é um protocolo de roteamento dinâmico, utilizado para comunicação entre sistemas. A função primária de um sistema BGP é trocar informação de acesso à rede com outros sistemas BGP. Nos campos abaixo há descrição dos tipos de configurações que podem ser aplicadas neste protocolo.

2.1 - BGP Configurar módulo

No primeiro submenu o usuário terá a possibilidade de aplicar as configurações do BGP através do campo “Aplicar Configurações”, este submenu possibilita determinar se as configurações serão aplicadas imediatamente ou posteriormente. Além disso é possível importar as configurações de BGP, caso o usuário esteja trocando a máquina, a importação é feita por meio do campo “Importar Configurações BGP”. Para realizar esta importação os arquivos devem ser do tipo OpenBGP, salientando que ao importar um arquivo automaticamente todas as configurações serão substituídas pelas do novo arquivo. Além de substituir os arquivos, a alteração será salva automaticamente isentando o usuário de clicar no botão “Salvar” para aplicá-las. Na imagem abaixo é possível visualizar a tela inicial com os campos acima descritos.

2.2 - Configurações

Neste submenu o usuário poderá aplicar as configurações necessárias para o funcionamento do BGP, as mesmas serão explicadas separadamente abaixo.

2.2.1 - Globais

Neste submenu o usuário poderá navegar em quatro guias diferentes - “Configurações”, “Dump”, “Interfaces” e “Redes” - e todas serão explicadas em detalhes no decorrer do texto. A primeira guia pode ser visualizada na imagem abaixo e logo após a figura há uma explicação de cada campo.

Aplicar Configurações: Neste campo o usuário deverá determinar se as configurações definidas nesta página serão aplicadas imediatamente após serem preenchidas.

AS Local: Os sistemas autônomos precisam de uma forma única de identificação, para garantir que aquele membro da vizinhança seja sempre reconhecido de forma inequívoca. Para isso o identificador único de um AS é numérico. Neste campo o usuário deverá colocar o AS Local que pode variar de 1 a 65535. 

Connect Retry: Neste campo o usuário deverá definir quantos segundos deverão decorrer até que uma nova tentativa de mensagem do tipo OPEN seja enviada. Vale ressaltar que mensagens do tipo OPEN carregam informações contendo dados criptográficos, número do AS local, o hold time local, dentre outros.    

Holdtime: Neste campo é definido em segundos o holdtime. O holdtime é o tempo de espera necessário entre mensagens do tipo UPDATE ou KEEPALIVE.

Holdtime mínimo: Neste campo o usuário deverá definir o holdtime mínimo. O menor valor aceito é 3 segundos, qualquer valor abaixo será negado pelo BGP retornando ao estado de CONNECT.

Atualiza FIB: Neste campo o usuário deverá definir se o BGP irá atualizar ou não a tabela de roteamento de kernel (FIB).

Qualifica Nexthop via: Neste campo o usuário irá definir de qual forma será validado se o próximo salto de roteamento é válido. Caso a opção escolhida seja “BGP” será utilizado uma tabela RIB para teste. Já se a opção for “default” utiliza-se uma rota padrão para teste.

Os próximos dois campos “Compara Métrica” e “Compara Route Age” fazem parte de uma lista de critérios de decisão do protocolo BGP, pois este protocolo define as rotas através do conceito de melhor caminho. 

Compara Métrica (med): Caso alguma métrica seja a menor dentre todas as disponíveis a mesma terá preferência e será definida como o melhor caminho.  

Compara Route Age: Neste campo o usuário define se vai considerar ou não o tempo de vida da rota. As rotas mais antigas terão preferência e se tornarão o melhor caminho.

Coletor de Rotas: Neste campo o usuário deverá definir se o coletor de rotas estará habilitado ou não. Caso esteja o BGP atuará apenas como coletor de rotas desligando o RDE. Vale ressaltar que o RDE mantém todas as informações da tabela RIB e é este processo que aplica os filtros de roteamento e classifica communities, calcula o melhor caminho para cada prefixo e gera mensagens de UPDATE.

Router ID: Neste campo é declarado o ID do router que tanto pode ser um IP ou um valor numérico de 16 bits.

Tabela FIB: Neste campo o usuário deverá definir qual tabela FIB será utilizada em cada situação. 

AS Transparente: Por padrão essa função fica desabilitada porém, caso esteja habilitada o valor AS não será incluído em mensagens UPDATE.

Observações: Este campo é reservado para caso o usuário deseje deixar alguma observação a respeito da configuração BGP.

Data do registro: Neste campo é representado a data da última configuração aplicada.

A segunda guia pode ser visualizada na imagem abaixo e logo após a figura há uma explicação de cada campo.

Dump Global: Neste campo o usuário irá definir se o mesmo deseja realizar cópias de dados do tipo: “IN e OUT”, “IN”, “OUT”. O outro campo que pode ser definido é o timeout (opcional).

Dump de Update: Dump de mensagens de updated e withdraw (revogadas), neste campo o usuário irá definir se serão realizadas cópias das atualizações dos dados considerando os tipos disponíveis: “IN e OUT”, “IN”, “OUT”. O outro campo que pode ser definido é o timeout (opcional).

Dump Rib atuais: Neste campo serão apresentados as tabelas Ribs que já estão sendo copiadas.

Adicionar Dump Rib: Neste campo o usuário poderá incluir uma nova tabela Rib para ser copiada.

A terceira guia pode ser visualizada na imagem abaixo e logo após a figura há uma explicação de cada campo. Nesta página o usuário poderá adicionar endereços de IPs locais da máquina onde o serviço do BGP irá ouvir na porta 179. Se nenhum IP for adicionado o BGP vai ouvir em todos os IPs da máquina.

Ouvir nas Interfaces: Neste campo são apresentados os endereços de IPs cadastrados.

Adicionar IP: Neste campo o usuário irá digitar o IP que o mesmo deseja cadastrar para a função de LISTEN. Após digitar o IP é necessário clicar no botão verde ao lado direito do campo para que o IP seja incluído no campo “Ouvir nas Interfaces”.

A quarta guia pode ser visualizada na imagem abaixo e logo após a figura há uma explicação de cada campo.

Anunciar Redes: Neste campo estão representadas as redes cadastradas no campo abaixo.

Adicionar: Neste campo o usuário poderá cadastrar uma rede dentre as opções oferecidas e caso seja necessário o usuário poderá definir atributos para uma rede cadastrada. Quando o usuário seleciona a opção “Atributo”, abre a possibilidade de definir atributos já nos anúncios, como por exemplo communities, prepends, dentre outros.       

2.2.2 - Groups and Neighbors

Neste submenu o usuário encontrará um diferencial do OpenBGP, enquanto na maioria das implementações BGP precisa-se de filtro para tudo, incluindo tarefas básicas, no OpenBGP é possível criar grupos que assumem comportamento desejado em diversos aspectos.

Como pode ser visualizado na imagem abaixo a página inicial não contém groups nem neighbors cadastrados, para criar qualquer um destes dois grupos é necessário clicar no botão “Nova” na parte superior a direita da tabela. Outros botões de ação que estão presentes são: “Deletar” e “Editar”. Para utilizar estes dois botões é necessário que haja um group cadastrado.

Após clicar no botão “Nova” será aberta uma tela diferente que permitirá ao usuário cadastrar um group ou um neighbor. É importante observar que há três guias diferentes na página - “Configurações”, “Anunciar” e “Atributos”. Todas as guias serão explicadas a seguir. A primeira guia “Configurações” está representada na figura abaixo e logo após a imagem a uma explicação individual dos campos presentes.

Aplicar Configurações: Neste campo o usuário poderá definir se as configurações cadastradas serão aplicadas imediatamente ou se serão aplicadas em outro momento a ser decidido pelo usuário.   

Tipo: Neste campo o usuário irá definir se cadastrará um group ou um neighbor.

Descrição do Grupo: Neste campo o usuário poderá colocar alguma descrição que identifique um group.

Depende de: Neste campo o usuário deverá declarar a qual interface de rede a sessão BGP depende.

Down: Neste campo o usuário determina que não inicia a sessão quando o BGP é levantado ficando em IDLE.  

Allow AS in: Função do ProApps para sessões eBGP, a mesma impede que o usuário receba rotas que tenham seu ASN no AS-PATH.

Dump Geral: Neste campo o usuário irá definir dentre as possibilidades de IN, OUT ou IN e OUT mais timeout.

Dump de update: Neste campo o usuário irá definir dentre as possibilidades de IN, OUT ou IN e OUT mais timeout.

Forçar neighbor-as: Neste campo o usuário irá definir se força que o ASN mais a esquerda seja sempre o mesmo declarado para esse neighbor.

Holdtime: Neste campo é definido em segundo o holdtime.

Holdtime min: Neste campo o usuário deverá definir o holdtime mínimo. O menor valor valor aceito é 3 segundos, qualquer valor abaixo será negado pelo BGP retornando ao estado de CONNECT.

Interface: Neste campo o usuário deverá definir sobre qual interface de rede o serviço irá rodar.

Endereço Local: Declara qual IP local para a sessão BGP em questão, ou seja, com que IP do roteador será enviado a mensagem para o neighbor.

Nr de Max de Prefixos: Neste campo o usuário deve definir qual é o número máximo de prefixos recebidos que serão aceitos de determinado neighbor. Neste campo ainda é possível definir após quantos segundos uma sessão será reiniciada.   

Multihop: Neste campo o usuário deverá definir o número de saltos permitidos para comunicação com um neighbor cujo IP não esteja diretamente acessível.

Passivo: Ao se definir como passivo o usuário determina que não tentará iniciar sessão BGP, fica ouvindo e aguardando que a outra ponta inicie a comunicação.

AS Remoto: Neste campo é definido o ASN do neighbor remoto.

Tabela RIB: Neste campo o usuário irá definir a qual tabela RIB o neighbor será associado ao invés de uma tabela padrão.

Refletor de Rotas: Neste campo o usuário define se o mesmo irá atuar como um refletor de rotas para o neighbor. Opcionalmente o router-id pode ser declarado para atuar como ID do refletor.

Softreconfig: Neste campo o usuário define se liga ou desliga a reconfiguração do BGP com um simples reload, para configurações de entrada ou saída. Se desligado, reconfigurações só serão válidas quando uma sessão BGP for reiniciada.

TCP MD5: Neste campo o usuário poderá habilitar a assinatura MD5 na sessão BGP com uma senha ou uma chave hexadecimal.

AS Transparente: Por padrão essa função fica desabilitada porém, caso esteja habilitada o valor AS não será incluído em mensagens UPDATE.

TTL Security: Este mecanismo de segurança quando habilitado e configurado estabelece uma quantidade de pacotes de IP que serão recebidos. 

Observações: Caso o usuário deseje fazer alguma observação a respeito das configurações realizadas acima pode utilizar este campo.

A segunda guia “Anunciar” está representada na figura abaixo e logo após a imagem a uma explicação individual dos campos presentes.

Nesta guia o usuário irá definir os parâmetros dos anúncios para quando uma sessão BGP for fechada. Por padrão a sessão BGP anuncia self, ou seja, apenas anúncios próprios, porém é possível alterar esse padrão para que a sessão não anuncie nada ou, ao contrário, anuncie tudo.

Os outros parâmetros presentes na tela estão marcados como “Padrão” e neste caso o valor do padrão é “Sim”. A excessão da regra é o campo “Anunciar IPv4/IPv6” na qual o valor padrão é um unicast para a mesma família de endereço da sessão.

A terceira guia está representada na figura abaixo e logo após a imagem a uma explicação individual dos campos presentes.

Atributos: Neste campo são apresentados os atributos cadastrados no campo abaixo.

Adicionar: Neste campo o usuário deverá definir uma variável e posteriormente adicionar um valor para a variável.

Após cadastrar um gruop ou um neighbor os mesmos serão apresentados na tela inicial conforme imagem abaixo. Caso o usuário tenha mais de uma sessão para a mesma operadora é possível definir os parâmetros globais (ASN Remoto, holdtime, setreconfig, etc) na configuração de grupo, e na configuração do neighbor você define apenas os parâmetros que vão se diferenciar de uma sessão para outra. Note que na imagem temos uma configuração de multihop 3 para o grupo e 10 para o “neighbor-y”, ou seja, todo parâmetro configurado dentro do neighbor vai se sobressair sobre a configuração do grupo.

2.2.3 - Filtros

Neste submenu há uma tabela na parte inferior da tela na qual os usuários poderão visualizar os filtros BGP aplicados, porém, o objetivo principal é a aplicação de filtros através dos campos presentes para que alguma informação específica seja encontrada. 

Na imagem abaixo é possível visualizar a tela inicial deste submenu e como pode ser visto há duas guias  - “Visualizar” e “Adicionar” - e as  mesmas serão explicadas após a figura.

Agrupamento filtro: Neste campo o usuário poderá realizar a filtragem para exibir apenas um determinado agrupamento definido.

Ação: Neste segundo campo o usuário poderá filtrar os itens por tipo de ação (allow, deny e match).

Fluxo: Neste campo o usuário poderá filtrar os itens por fluxo (from, to).

Status: Neste campo o usuário poderá filtrar os itens por status (Habilitado, Desabilitado).

Comentário: Neste campo o usuário poderá filtrar os itens por comentários.

Recarregar: Neste campo o usuário poderá aplicar o filtro de pesquisa preenchido acima.

Na imagem abaixo é possível visualizar a segunda guia e logo após a figura os campos serão explicados em detalhes.

Ação: Neste campo o usuário deverá definir uma entre as três opções disponíveis: “allow”, “deny” e “match”. A opção allow permite mensagem de UPDATE, já o deny nega a mensagem de UPDATE. A opção match não interfere no fluxo do UPDATE mas aplica atributos configurados, modificando o UPDATE e potencialmente influenciando decisões de roteamento. No entanto se a regra for do tipo “Quick” o processamento se encerra imediatamente, atuando nessa regra apenas como First Match Wins.

Fluxo: Neste campo o usuário deverá definir se o fluxo será recebido ou enviado.  

Tipo Filtro: Neste campo o usuário irá definir se o filtro será aplicado a todas as sessões ou se será aplicado a um group ou neighbor específico.

Parâmetros: Ao escolher a opção “Customizado” o usuário deverá definir os parâmetros e atributos a seguir. Já se a opção escolhida for “Avançado” o filtro será criado diretamente pelo usuário utilizando sintaxe do OpenBGP como se estivesse escrevendo no próprio arquivo.

Corpo da Regra: Neste campo é definido um parâmetro já existente para tomada de decisão (Community, Prefix, AS, dentre outros).

Definir Atributos: Neste campo será exibido o valor e a variável definidas pelo usuário. Vale ressaltar que ao definir um atributo será definido algo ainda não existente na regra, por exemplo: localpref, community, weight, dentre outros.

Nome da Regra: Caso o usuário tenha interesse em nomear a regra que será criada poderá fazer através deste campo.

Comentário: Neste campo o usuário poderá inserir um comentário caso o mesmo julgue necessário.

Adicionar Regra BGP: Ao finalizar o preenchimento dos campos acima o usuário deverá clicar sobre a figura apresentada neste campo para salvar o cadastro das regras. Vale ressaltar que sempre que uma nova regra é adicionada a mesma é adicionada ao arquivo de configuração porém não é aplicada. Para aplicar as regras cadastradas o usuário deverá clicar no botão “Apply” no canto superior direito da tela.

2.3 - Relatórios

Neste submenu o usuário será redirecionado para outros três submenus nos quais estão contidos informações de roteamento além das redes mais acessadas.

2.3.1 - Tabela RIB

A tabela RIB (Router Information Base) é a tabela de opções de roteamento associada ao daemon de roteamento. Ou seja daemons com BGPd e OSPFd tem tabelas de roteamento interna, as chamadas tabelas RIB. Essas tabelas com base em critérios de decisão que variam de acordo com o protocolo implementado dão origem as intervenções do daemon na tabela roteamento FIB. Na tabela abaixo é possível visualizar a tabela com os grupos e  neighbors.

Analisando a imagem acima é possível visualizar dois botões bem ao lado do nome do grupo. O botão “Tabela RIB do neighbor”, no qual há uma lupa, permite que o usuário manipule a tabela RIB para a sessão BGP selecionada. Note que ao clicar na lupa o nome da sessão irá para o campo abaixo na qual haverá opções de manipulação, por exemplo: ver o que está sendo anunciado bem como quais anúncios estão sendo recebidos, dentre outros. O outro botão “Informações complementares do Neighbor”, representado pelo símbolo “i”, permite ao usuário visualizar informações adicionais das sessões de BGP.

Na tabela acima há a coluna “Ação” e nela há três botões com funções diferentes. O botão “Down Neighbor” representado por uma seta vermelha tem por função derrubar uma sessão BGP. O botão “Clear Neighbor” dá um DOWN e um UP na sessão recarregando as configurações. O terceiro botão “Reload Neighbor” recarrega as configurações sem derrubar a sessão.

Na guia “Informações” da tabela RIB é possível visualizar informações extras como, por exemplo: estado das interfaces, status da memória. Estas informações estão relacionadas diretamente ao BGP.

2.3.2 - Tabela FIB

A tabela FIB (Forward Information Base) é a tabela de roteamento propriamente dita. É a tabela de roteamento em kernel, ou seja a tabela que decide na prática qual forward path será seguido para rotear o pacote.

Na tabela acima há a coluna “Ação” e nela há três botões com funções diferentes. O botão “Down Neighbor” representado por uma seta vermelha tem por função derrubar uma sessão BGP. O botão “Clear Neighbor” dá um DOWN e um UP na sessão recarregando as configurações. O terceiro botão “Reload Neighbor” recarrega as configurações sem derrubar a sessão. 

Como pode ser visualizado nas duas imagens, acima e abaixo, as telas da tabela FIB possuem similaridade com a tabela RIB pois ambas apresentam groups e neighbors. Na tabela FIB é possível visualizar as informações a respeito de rotas instaladas no kernel, conforme imagem.

2.3.3 - Top 100 Redes

Neste submenu o usuário irá visualizar as redes mais acessadas, além de permitir a filtragem através dos campos na parte de cima da tabela. Ao entrar com os filtros referentes da rede desejada basta clicar no botão “Regerar”.

Não é aconselhável executar este processo em horários de pico pois este processo demanda muito recurso e pode atrapalhar o desempenho da máquina.

(0 votos)
Este artigo foi útil
Este artigo não foi útil

Comentários (0)
Postar um novo comentário
 
 
Nome completo:
Email:
Comentários:
Help Desk Software by Kayako suporte.freebsdbrasil.com.br:443/index.php?