Comitê Gestor da Internet no Brasil
Grupo de Trabalho Formação de Recursos Humanos

 
CURSOS ONLINE - ROTEAMENTO
 
 

Módulo 4: Protocolos de Roteamento EGP

Mensagens do protocolo : Mensagem tipo UPDATE

Esta mensagem pode ser considerada a mais importante, já que é responsável por intercambiar as atualizações de rotas. A mensagem de UPDATE é formada por campos que são divididos em três grupos por suas funcionalidades. Na Figura 7 é apresentado o formato da mensagem tipo UPDATE, bem como a apresentação de cada grupo e campos pertencentes a cada um destes.


Figura 7 – Formato da mensagem tipo UPDATE do BGP

No primeiro grupo, definido como Unreachable routes são definidas as rotas que devem ser removidas da tabela de roteamento. Um termo comum para este tipo de evento é withdrawn. Da mesma forma, no grupo Network Layer Reachability Information são definidas as rotas que devem ser incluídas na tabela de roteamento. A representação das rotas possui um mecanismo que suporta a funcionalidade conhecida como CIDR, apresentado na seção 6.4.1.

Em relação aos campos do grupo Unreachable routes, o campo Unfeasible routes length, com o tamanho de 2 bytes, representa o tamanho em bytes total do campo Withdrawn routes, que representa as redes que devem ser removidas da tabela de rotas. Internamente a este campo, existem os campos Length e Prefix. Nestes dois campos são representadas de fato as redes, através de instâncias de Length e Prefix. Um exemplo seria <16,143.54.0.0>, que representa a rede 143.54.0.0, dizendo que o endereço de rede é até o décimo sexto bit, ou seja, em notação CIDR representa a rede 143.54.0.0/16. Da mesma forma, através destas tuplas, são declaradas as redes a serem incluídas na tabela de rotas. Os campos utilizados para tal tarefa são os pertencentes ao grupo NLRI (Network Layer Reachability Information).

Através dos campos existentes no grupo Path Attribute é passado um conjunto de atributos necessários ao anúncio de uma rota, tais como: LOCAL_PREF, NEXT_HOP, ORIGIN, entre outros que serão apresentados a seguir. Esses parâmetros são importantes para o processo do algoritmo de decisão do BGP para determinar os melhores caminhos.

Os dois campos existentes deste grupo, cuja definição é Total path attribute length e Path attributes representam respectivamente o tamanho em bytes e a declaração dos parâmetros. Esta declaração é feita através de uma estrutura definida como <tipo atributo, tamanho atributo, valor do atributo>. O campo Path Attribute, é por sua vez subdividido em diversas partes, explicadas na Figura 8.


Figura 8 – Formato da mensagem tipo UPDATE do BGP

Os 8 bits de Attribute flags são divididos e utilizados conforme descrição na Tabela 5.

Bit
Utilização
Primeiro bit – bit 0
Indica se o atributo é conhecido (0) ou opcional (1)
Segundo bit – bit1
Indica se o atributo é intransitivo (0) ou transitivo (1)
Terceiro bit – bit 2
Sendo o atributo opcional e transitivo, se este é completo (0) ou parcial (1)
Quarto bit – bit 3
Define se o atributo tem como tamanho 1 byte (0) ou 2 bytes (1)
Quinto ao sétimo bit – bit 4 a 7
Não utilizado, sendo sempre com conteúdo 0.
Tabela 5: Definição dos bits do campos Attribute flags.

Em complemento, através da Tabela 6 são apresentados alguns termos que serão utilizados para categorizar os atributos do BGP que estão sendo apresentados.

Classificação
Significado
Conhecido obrigatório (Well-know mandatory)
Atributo que deve ser reconhecido em todas as implementações BGP de qualquer fabricante. Caso algum atributo deste tipo não esteja em uma mensagem UPDATE, será gerada uma mensagem tipo NOTIFICATION par reportar o erro.
Conhecido arbitrário (Well-known discretionary)
Atributo que deve ser reconhecido em todas as implementações de BGP, mas pode ou não estar presente em mensagens UPDATE. Um exemplo de atributo deste tipo é LOCAL_PREF.
Opcional e transitivo (Optional transitive)
Atributo que pode não ser reconhecido em todas as implementações. Sendo transitivo, significa que o atributo deve ser aceito e repassado aos demais peers BGP.
Opcional intransitivo (Optional nontrasitive)
Atributo também opcional. Sendo intransitivo, ele não é repassado a outros peers BGP.
Tabela 6: Classificação dos atributos utilizados no BGP.

Através da Tabela 7 são apresentados alguns tipos de atributos, juntamente com sua categoria e RFC que os descreve, segundo [CIS00]:

Número do atributo
Nome do atributo
Categoria / Tipo
RFC / Internet Draft que o descreve
1 ORIGIN Conhecido obrigatório, tipo 1 RFC 1771
2 AS_PATH
Conhecido obrigatório, tipo 2 RFC 1771
3 NEXT_HOP
Conhecido obrigatório, tipo 3 RFC 1771
4 MULTI_EXIT_DISC (MED)
Conhecido obrigatório, tipo 4 RFC 1771
5 LOCAL_PREF
Conhecido obrigatório, tipo 5 RFC 1771
6 ATOMIC_AGGREGATE
Conhecido obrigatório, tipo 6 RFC 1771
7 AGGREGATOR Conhecido obrigatório, tipo 7 RFC 1771
8 COMMUNITY
Conhecido obrigatório, tipo 8 RFC 1997
9 ORIGINATOR_ID Conhecido obrigatório, tipo 9 RFC 1966
10 Cluster List
Conhecido obrigatório, tipo 10 RFC 1966
14 Multiprotocol Reachable NLRI Conhecido obrigatório, tipo14 RFC 2283
15 Multiprotocol Unreachable NLRI Conhecido obrigatório, tipo 15 RFC 2283
16 Extended Communities
  Draft-remachandra-bgp-ext-communities-00,txt “work in progress”
256 Reservada Reservado para desenvolvimento
 
Tabela 7: Apresentação de atributos utilizados no BGP.

Como foi descrito na Tabela 7, juntamente com os anúncios de rotas são utilizados os chamados atributos que permitem determinar as melhores rotas do BGP. Na Tabela 8 são listados e explicados alguns dos atributos mais utilizados atualmente.

Atributo
Definição
ORIGIN
Define a origem do anúncio, classificando-o em 3 grupos:
0 : IGP (i) - Significa que a origem do anúncio é interna ao referido AS.
1 : EGP (e) – Significa que a origem do anúncio é externa ao referido AS, aprendida via EGP.
2 : INCOMPLETE (?) – A origem do anúncio foi feita por algum mecanismo de redistribuição ou por meios desconhecidos.
A ordem de preferência deste atributo é a própria ordem em que os grupos foram apresentados, visto que os anúncios do grupo 0 têm maior confiabilidade que os grupos 1 e 2.
AS_PATH
Atributo que representa a seqüência de ASs que uma rota segue para atingir determinado destino. Esses dados são incluídos na passagem ao anúncio em cada peer, que inclui seu número de AS juntamente ao anúncio da rota. Uma operação possível sobre este atributo é o chamado “prepend”, que se caracteriza por “piorar” o AS_PATH para determinada rota, forçando com que outros caminhos possam ser escolhidos. Um exemplo de prepend seria transformar o AS_PATH 1916 4230 para 1916 1916 4230. O menor AS_PATH é escolhido.
NEXT_HOP
Refere-se ao IP do próximo roteador para atingir determinada rede. Geralmente o roteador que anuncia determinado prefixo repassa como nexthop o seu próprio IP, exceto em sessões iBGP ou em route servers, como será estudado adiante.
LOCAL_PREF
Usado para selecionar o caminho preferencial de saída a partir de um determinado AS. Seu escopo é interno ao AS, não sendo repassado a seus vizinhos (peers). Quanto mais alto seu valor, maior será a preferência.
COMMUNITY
Atributo que pode ser repassado a outros peers. Trata-se de uma espécie de “carimbo” que acompanha anúncios para que estes possam ser tratados de forma diferenciada.
WEIGHT
Atributo proprietário da CISCO, muito semelhante ao LOCA_PREF, embora não seja repassado para outros roteadores, mesmo dentro do mesmo AS. Quanto maior seu valor, maior será a preferência.
Tabela 8: Definição dos atributos mais utilizados no BGP.

Através da tabela de rotas BGP representada pela Figura 9, são apresentados alguns dos atributos vistos anteriormente. Depois da versão e identificador do roteador, é apresentado o início da listagem de prefixos seus atributos. Cada linha a seguir representa um prefixo e seus respectivos atributos.

BGP table version is 1660291, local router ID is 200.10.20.30
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network
Next Hop
Metric
LocPrf
Weight
Path
*>i12.0.48.0/20 198.32.252.254   100 0 11537 10578 1742 i
*>i12.6.208.0/20 198.32.252.254   100 0 11537 10578 1742 i
*>i12.6.252.0/24 198.32.252.254   100 0 11537 10578 14325 ?
*>i12.16.126.192/26 198.32.252.254   100 0 11537 10578 14325 ?
*>i12.144.59.0/24 198.32.252.254   100 0 11537 10466 13778 i
Figura 9: Exemplo de tabela BGP parcial.

A partir do início de cada linha, o símbolo * (asterisco) apresentado ao lado dos prefixos mostra que estes estão definidos como melhores caminhos para as redes em questão. Ao lado é apresentada a rede anunciada na forma de bloco CIDR, em seguida o Next Hop que define-se como próximo roteador que os pacotes para esta rede deverão ser enviados. Também todas as rotas possuem o atributo Local Preference com valor 100, o atributo Weight (proprietário da Cisco) com valor 0. Outro atributo é o AS_PATH que mostra a seqüência de sistemas autônomos até a chegada a rede destino e por fim, o atributo ORIGIN, que define a procedência do anúncio pelo AS que anunciou e é representado por i (IGP), e (EGP) ou “?” (indefinido ou incompleto).

 
   
Apresentação | Conteúdo | Contato | Créditos
anterior
  próximo
2003 - GTRH - Comitê Gestor da Internet no Brasil