FPI - Fórum para Provedores de Internet
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
FPI - Fórum para Provedores de Internet


Você não está conectado. Conecte-se ou registre-se

Tutorial BGP-4

Ir para baixo  Mensagem [Página 1 de 1]

1Tutorial BGP-4 Empty Tutorial BGP-4 Qui 7 Fev - 7:48

Marcio Marques

Marcio Marques
ADMINISTRADOR FUNDADOR
ADMINISTRADOR FUNDADOR

Introdução

Border Gateway Protocol Version 4 se constitui o protocolo de roteamento exterior utilizado atualmente na Internet. BGP-4 é essencialmente um algoritmo vetor-distância, mas com várias características que lembram uma operação link-state.
A função primária dos sistemas BGP é trocar informações sobre rotas de redes com outros sistemas BGP.

A regra básica está em informar apenas aos Sistemas Autônomos vizinhos as rotas que ele mesmo utiliza. Esta informação é suficiente para construir grafos de conectividade entre sistemas autônomos, dos quais loops de roteamento podem ser podados e algumas decisões no nível SA podem ser forçadas.

Definição de Sistemas Autônomos

Como cada rede é independente das demais para fins de conexão entre redes, são normalmente referenciadas como Sistemas Autônomos.
A definição clássica é um conjunto de roteadores sob uma administração técnica única, usando algum tipo de interior gateway protocol e métricas comuns para rotear pacotes dentro de um sistema autônomo, e utilizando um exterior gateway protocol para rotear pacotes para outros SAs. Mas muitos SAs podem possuir diversos IGPs diferentes, bem como adotar diversas métricas dentro do Sistema Autônomo. Portanto, a utilização do termo Sistema Autônomo designa aqui o fato que, mesmo com múltiplos IGPs e métricas, a administração de um AS aparenta a outro AS ter um único plano de rota e apresenta um quadro consistente de que destinação são alcançáveis através dele.


Funcionamento Básico

Executa-se BGP sobre um protocolo de transporte confiável, que implementa fragmentação, retransmissão, sequenciamento e confirmação de pacotes. BGP provê mecanismos de autenticação que são utilizados com quaisquer outros mecanismos da camada de transporte.

O funcionamento básico segue resumidamente:

Tutorial BGP-4 Figura01

1- Dois sistemas autônomos formam uma conexão de protocolo de transporte, isto é, uma conexão TCP).

2- Trocam mensagens para abrir e conferir os parâmetros de conexão.

3- Inicialmente, trocam todas as tabelas de roteamento entre si.

4- Após, apenas atualizações destas tabelas são enviadas.


Observações sobre o Funcionamento Básico

- Hosts executando BGP não precisam ser necessariamente roteadores. Este host pode trocar informações de roteamento com roteadores através de EGP ou mesmo protocolos de roteamento internos. Mais tarde, este host pode utilizar BGP para trocar informações com roteadores de um outro Sistema Autônomo.

- Um cuidado deve ser tomado quando um determinado AS possui vários roteadores externos: todos devem manter uma visão consistente das rotas externas. Via de regra, esses roteadores devem possuir conexão direta entre si. Utilizando um conjunto comum de políticas, os roteadores chegam a um acordo sobre que roteador servirá como entrada/saida para destinações fora do SA.

- Todas as decisões acima devem ser comunicadas aos roteadores internos (via protocolos internos) antes de serem anunciadas para fora do SA que serviço de trânsito está sendo provido.

Rotas

Neste protocolo, rotas são definidas como a unidade de informação que ajusta uma destinação com atributos de caminho para aquele destino.

Rotas são anunciadas entre elementos BGP através de mensagens UPDATE. Rotas são armazenadas em Routing Information Bases (RIB).

Definição Routing Information Bases (RIB)

São três tabelas que compõem a RIB:

Tutorial BGP-4 Rib

Resumidamente, Adj-RIBs-In contém informação não processada enviada ao sistema BGP local por seus pares; Loc-RIB contém rotas que foram selecionadas pelo processo de decisão do sistema; Adj-RIBs-Out organiza as rotas que devem ser anunciados a seus pares específicos.

Adj-RIBs-In

Armazena rotas cuja informação foi aprendida de mensagens UPDATE. Seu conteúdo representa rotas disponíveis que são entrada para o processo de decisão.

Loc-RIB

Contém a informação de roteamento local que o sistema BGP local selecionou aplicando suas políticas locais â informação contida em Adj-RIBs-In.

Adj-RIBs-Out

Armazena informação que o sistema BGP selecionou para enviar a seus pares. A informação de roteamento armazenada em Adj-RIBs-Out será informada pelo sistema BGP local através de mensagens UPDATES.


Processo de Decisão

Processo de Decisão seleciona rotas para serem anunciadas pela aplicação de políticas às rotas armazenadas em Adj-RIBs-In. Tais políticas contemplam métricas definidas pelo Sistema Autônomo. A saída deste processo é um conjunto de rotas a serem anunciadas a sistemas BGP vizinhos (e que estão armazenadas em Adj-RIBs-Out).
O Processo de Decisão é formalizado por uma função que toma o atributo de uma dada rota como argumento e devolve um número não negativo, denotando o grau de preferência desta rota.

O Processo de Decisão opera em rotas contidas em cada Adj-RIBs-In, e é responsável por:

-selecionar as rotas a serem anunciadas para sistemas BGP do Sistema Autônomo;
-selecionar as rotas a serem anunciadas a sistemas BGP localizados em SAs vizinhos;
-agregação de rotas e redução de informação.

O Processo de Decisão possui três fases:

1- Fase 1 calcula o grau de preferência de cada rota recebida e anuncia para o sistema autônomo local as rotas com o maior grau de preferência para cada destinação;

2- Fase 2 é responsável pela escolha da melhor rota de todas aquelas disponíveis para cada destino e por instalar as escolhidas na tabela Loc-RIB;

3- Fase 3 é responsável por dissiminar cada rota em Loc-RIB para cada vizinho do SA. Otimizações (agregação e redução de informação) podem ser feitas nesta fase.


Formato das Mensagens

As mensagens, enviadas sobre uma conexão de transporte confiável, só são processadas após serem inteiramente recebidas. O tamanho máximo da mensagem é de 4096 octetos e o mínimo de 19 (cabeçalho sem dados).

Formato dos cabeçalhos das mensagens

Tutorial BGP-4 Cabecalho

Maker:
este campo contém um valor que o receptor da mensagem pode prover. O valor deste campo deve ser formado por uma computação especificada como parte do mecanismo de autenticação (caso não haja este mecanismo, os bits dos 16 octetos devem ser 1).

Length:
indica o comprimento total da mensagem em octetos.

Type:
informa o tipo da mensagem:

1- OPEN
2- UPDATE
3- KEEPALIVE
4- NOTIFICATION

Formato da Mensagem OPEN

Tutorial BGP-4 Open

Version:
indica a versão do protocolo (versão corrente é 4).

My Automous System:
indica o número do Sistema Autônomo emissor.

Hold Time:
indica o número de segundos que o transmissor propõe como tempo de Hold Time. Este tempo estabelece o intervalo máximo de segundos que pode decorrer entre o recebimento de sucessivos KEEPALIVE e/ou UPDATE pelo emissor. Ao receber uma mensagem OPEN, um elemento BGP deve calcular o valor do Hold Time, utilizando o menor valor entre seu Hold Time configurado e o recebido.

BGP Identifier:
Identificação do BGP, é o seu número IP.

Optional Parameter Length:
indica o tamanho total do campo Optional Parameter sempre formado pela tripla:

Tutorial BGP-4 Opoptpar

Parameter Type:
tipo de parâmetro individual.

Parameter Length:
comprimento deste parâmetro individual.

Parameter Value:
campo de tamanho variável que contém os dados do parâmetro.
Está definido o parâmetro opcional Authentication Information, com os campos:

Tutorial BGP-4 Opaut

Authentication Code:
indica o mecanismo de autenticação a ser usado.

Authentication Data:
dados dos mecanismos de autenticação.

Formato da Mensagem UPDATE

Tutorial BGP-4 Update

Unfeasible Routes Length:
Indica o tamanho do campo Withdrawn Routes. Um valor 0 indica que nenhuma rota será cancelada.

Withdrawn Routes:
Contém uma lista de prefixos de endereços IP para as rotas que serão retiradas de serviço. Cada prefixo IP está codificado segunda a dupla:

Tutorial BGP-4 Upwr

Length:
Indica o tamanho em bits do prefixo do endereço IP.

Prefix:
Contém os prefixos IP.

Total Path Attribute Length:
Indica o comprimento total do campo Path Attributes em octetos.

Path Attributes:
Cada atributo é composto pela tripla: Attribute Type, Attribute Length, Attribute Value

Attribute Type:

são 16 bits, com o seguinte significado:
bit 0 (mais significativo): 1 se o atributo for opcional; 0 se for bem conhecido.
bit 1: 1 se o atributo for transitivo; 0 caso contrário. Para atributos bem conhecidos, deve ser 1.
bit 2: 1 se a informação contida no atributo opcional transitivo é parcial; 0 se for completa. Para atributos bem-conhecidos ou para atributos opcionais não-transitivos, deve ser 0.
bit 3: 0 se Attribute Length ocupar um octeto; 1 se ocupar dois octetos.
bits 4 a 7: não usados: devem ser ignorados.
bits 8 a 15: contém o código de tipo de atributo, cujos valores podem ser:

ORIGIN (valor 1):
atributo obrigatório que define a origem da informação de rota. Seus valores podem ser:

0 - IGP: informação interior do Sistema Autônomo
1 - EGP
2 - Incompleto: nenhum dos dois anteriores

AS_PATH (valor 2):

atributo obrigatório que é composto por uma seqüência de segmentos de rotas. Cada segmento é composto por: Path Segment Type, Path Segment Length, Path Segment Value .
Path Segment Type: (um octeto)
Pode conter dois valores:
AS_SET (valor 1): conjunto desordenado de SAs.
AS_SEQUENCE (valor 2): conjunto ordenado de SAs.
Path Segment Length: (um octeto)
Indica o número de SAs do próximo campo.
Path Segment Value:
contém um ou mais números de Sistemas Autônomos, codificado cada um em dois octetos

NEXT_HOP (valor 3):
campo obrigatório que indica o endereço IP do roteador para onde devem ser enviados dados das destinações listadas no campo Network Layer Reachability.

MULT_EXIT_DISC (valor 4):
campo opcional de 4 octetos, é utilizado pelo Processo de Decisão para definir entre múltiplos pontos de saída para um Sistema Autônomo vizinho.

LOCAL_PREF (valor 5):
campo de 4 octetos, informa outros sistemas BGP de seu próprio Sistema Autônomo do grau de preferência das por uma rota anunciada.

ATOMIC_AGGREGATE (valor 6):
campo de tamanho 0, informa a outro sistema BGP que o sistema local selecionou uma rota menos específica sem selecionar uma rota mais específica incluída nela.

AGGREGATOR (valor 7):
parâmetro opcional transitivo, contém o último número de SA (2 octetos) seguido do endereço IP do sistema BGP, que juntos formam a rota agregada.

Network Layer Reachability Information:

Lista de endereços IP, que é codificada como segue:

Length:
Indica o tamanho em bits do prefixo do endereço IP (1 octeto).

Prefix:
Contém os prefixos IP.


Formato da Mensagem KEEPALIVE

BGP não utiliza nenhum mecanismo de keep-alive do protocolo de transporte para determinar se seus pares estão funcionando. Na verdade, mensagens KEEPALIVE são trocadas entre pares em intervalos de tempo menores do que especificados por Hold Time.

A mensgem KEEPALIVE consiste de apenas um cabeçalho de mensagem e tem o comprimento de 19 octetos.


Formato da Mensagem Notification

Tutorial BGP-4 Notification

Error Code
indica o tipo da mensagem NOTIFICATION:
Código de Erro Nome Simbólico

1 Message Header Error

2 OPEN Message Error

3 UPDATE Message Error

4 Hold Timer Expired

5 Finite State Machine Error

6 Cease

Error Subcode:
provê informação mais específica sobre a natureza do erro reportado. Se nenhum Error Subcode apropriado for definido, o campo apresenta valor 0.
Message Header Error subcodes:

1 - Connection Not Synchronized.
2 - Bad Message Length.
3 - Bad Message Type.

OPEN Message Error subcodes:

1 - Unsupported Version Number.
2 - Bad Peer AS.
3 - Bad BGP Identifier.
4 - Unsupported Optional Parameter.
5 - Authentication Failure.
6 - Unacceptable Hold Time.

UPDATE Message Error subcodes:

1 - Malformed Attribute List.
2 - Unrecognized Well-known Attribute.
3 - Missing Well-known Attribute.
4 - Attribute Flags Error.
5 - Attribute Length Error.
6 - Invalid ORIGIN Attribute
7 - AS Routing Loop.
8 - Invalid NEXT_HOP Attribute.
9 - Optional Attribute Error.
10 - Invalid Network Field.
11 - Malformed AS_PATH.
Data:
Campo de tamanho variável utilizado para diagnosticar a razão da mensagem, cujo valor depende dos dois códigos anteriores.

Fonte : http://penta2.ufrgs.br/redes296/cidr/tutorial.html

http://marquescsh.blogspot.com

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos