Você está na página 1de 9

O Protocolo BGP4 - Parte 2

Page 1 of 7

Boletim bimestral sobre tecnologia de redes


produzido e publicado pela RNP Rede Nacional de Ensino e
Pesquisa
ISSN 1518-5974
19 de maio de 1999 | volume 3, nmero 3

O Protocolo BGP4 - Parte 2

Nesta edio:

Alex Soares de Moura <alex@nc-rj.rnp.br>


Rede Nacional de Ensino e Pesquisa (RNP)
Introduo
Sesso BGP
Mensagens BGP
Tipos de mensagens BGP
Concluso
Referncias bibliogrficas
Sites relacionados
Nesta continuao do artigo "O Protocolo BGP-4" sero
examinados, de forma mais detalhada, algumas das
caractersticas bsicas deste protocolo. Pela extenso do
assunto abordado, ainda ser necessrio dar continuidade a
este assunto num outro artigo.
^

Introduo

Os Logs como
Ferramenta de
Deteco de
Intruso
O Protocolo BGP4
- Parte 2
O Ataque do Script
Kiddie

NewsGeneration:

buscar
Artigos publicados
Autores
FAQ

Na primeira parte deste artigo, foi visto que, quando o BGP


usado entre roteadores vizinhos (neighbors) pertencentes ao
mesmo AS, ele chamado de iBGP (interior BGP), e, quando
usado entre roteadores de diferentes ASs (peers), chamado
de eBGP (exterior BGP). Foi visto tambm que dois roteadores
que suportam o BGP-4 formam uma conexo entre eles
chamada de "sesso BGP". Tal sesso faz uso do protocolo
TCP para garantir o correto transporte das informaes. Por
fim, tambm foi mencionado que, em uma sesso BGP, os
roteadores vizinhos trocam mensagens variadas entre eles,
com determinadas caractersticas (ex.: atributos) e propsitos.

Assine
Pgina inicial

Sero vistos, neste artigo, quais so os tipos de mensagens


trocadas, as informaes que elas carregam e para que
servem. Em seguida, sero tratados os atributos que certas
mensagens possuem.
^

Sesso BGP
Antes do estabelecimento de uma sesso BGP, os roteadores
"vizinhos BGP" trocam mensagens entre si para entrar em
acordo sobre quais sero os parmetros (ex.: tempo mximo
de espera entre mensagens - hold time) da sesso. No
havendo discordncia e nem erros durante a negociao dos
parmetros entre as partes, a sesso BGP estabelecida.
Caso contrrio, sero enviadas mensagens de erro e a sesso
no ser aberta.

mhtml:file://C:\Documents and Settings\Marcio Oliveira\Desktop\O Protocolo BGP4 - ... 30/8/2011

O Protocolo BGP4 - Parte 2

Page 2 of 7

Quando a sesso estabelecida entre os roteadores, so


trocadas mensagens contendo todas as informaes de
roteamento, ou seja, todos os "melhores caminhos" (best path)
previamente selecionados por cada um, para os destinos
conhecidos. Posteriormente, eles trocaro somente mensagens
de atualizao das informaes de roteamento (mensagens do
tipo UPDATE) de forma incremental. Esta tcnica mostrou-se
um avano no que se refere diminuio de carga nas CPUs
dos roteadores e na economia da largura de banda dos
enlaces quando comparada a outros protocolos que ao
comunicar suas atualizaes, enviam, periodicamente, a
totalidade das rotas instaladas em suas tabelas.
Neste sentido, o BGP bem econmico, somente enviando
mensagens de atualizaes quando ocorrem mudanas nas
rotas (ex.: uma rota se tornou invlida) e informando novas
rotas. Caso no existam atualizaes a serem informadas, os
roteadores trocam apenas mensagens (do tipo KEEPALIVE)
para certificar que a comunicao entre eles est "viva", ou
seja, ainda est ativa. Estas mensagens so pequenas
(apenas 19 bytes), no sobrecarregando a CPU dos roteadores
e nem o enlace entre eles.
Uma caracterstica das tabelas de rotas BGP a existncia de
um nmero de verso, que incrementado a cada atualizao
feita (atravs das mensagens tipo UPDATE), permitindo assim
a verificao de inconsistncias das informaes de
roteamento. Abaixo, est um exemplo da verso da tabela de
roteamento:
roteador> sh ip bgp BGP table version is 72076,
local router ID is 192.168.4.1 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 (...)
Se existe um rpido aumento no nmero da verso das
tabelas, pode ser indicativo de instabilidade na rede. A seguir,
sero vistas quais e como so os tipos de mensagens trocadas
entre os vizinhos BGP.
^

Mensagens BGP
As mensagens trocadas em sesses BGP tm o comprimento
mximo de 4.096 bytes, e mnimo de 19 bytes. Todas as
mensagens so compostas de, no mnimo, um cabealho e,
opcionalmente, uma parte de dados. O formato do cabealho
das mensagens BGP :

Figura 1 - Formato do Cabealho das Mensagens BGP

mhtml:file://C:\Documents and Settings\Marcio Oliveira\Desktop\O Protocolo BGP4 - ... 30/8/2011

O Protocolo BGP4 - Parte 2

Page 3 of 7

Pode haver, ou no, uma seqncia dados aps o cabealho.


Campo Marcador (Marker)
Serve para verificar a autenticidade da mensagem recebida e
se houve perda de sincronizao entre os roteadores vizinhos
BGP. Pode ter dois formatos: caso a mensagem seja do tipo
OPEN (abrir), ou se a mensagem tipo OPEN no possuir
informao de autenticao, o campo deve estar todo
preenchido com nmeros um (1); seno, o campo marker ter
o seu contedo baseado em parte do mecanismo de
autenticao usado.
Campo Comprimento (Lenght)
Deve conter um nmero que representa o comprimento total da
mensagem, incluindo o cabealho. Como podem haver
mensagens que no possuem dados aps o cabealho, a
menor mensagem BGP enviada de 19 bytes (16 + 2 + 1
bytes).
Campo Tipo (Type)
Deve conter um nmero que representa o cdigo de um tipo de
mensagem. Os tipos de mensagens so: KEEPALIVE,
NOTIFICATION, OPEN e UPDATE.
^

Tipos de mensagens BGP


Como acabamos de ver, os roteadores vizinhos BGP
(neighbors ou peers) que suportam BGP-4 trocam mensagens
de quatro tipos antes ou durante uma sesso BGP. Veremos
agora para que servem cada um destes tipos de mensagens.
OPEN
A mensagem do tipo OPEN enviada para se iniciar a abertura
de uma sesso BGP entre neighbors ou peers BGP. O formato
desta mensagem :

mhtml:file://C:\Documents and Settings\Marcio Oliveira\Desktop\O Protocolo BGP4 - ... 30/8/2011

O Protocolo BGP4 - Parte 2

Page 4 of 7

Figura 2 - Formato da Mensagem OPEN


Verso (Version) - caractersticas: [1 byte, inteiro, positivo].
Identifica a verso do BGP (3 ou 4). Este um dos parmetros
negociados pelos roteadores que, normalmente, tentam entrar
em acordo para usar a maior verso suportada. No havendo
possibilidade de consenso (ex.: um dos roteadores no suporta
o BGP-4), eles tentam usar verses anteriores, at que
coincidam. Nos roteadores Cisco, h como configurar a verso
a ser usada pelos roteadores (se previamente se sabe qual
verso ambos suportam), eliminando esta fase de negociao
do processo de abertura da sesso BGP, implicando numa
conseqente economia de tempo.
Nmero do AS (AS Number) - caractersticas: [2 bytes, inteiro,
positivo].
Deve conter o nmero do AS a qual o roteador (remetente da
mensagem tipo OPEN) pertence.
Tempo de espera (Hold Time) - caractersticas: [2 bytes,
inteiro, positivo].
Deve conter o valor, em segundos, do maior tempo de espera
(hold time) permitido entre mensagens do tipo UPDATE ou
KEEPALIVE. O BGP mantm um contador do hold time, que
reiniciado (zerado) a cada vez que uma mensagem do tipo
KEEPALIVE ou UPDATE recebida. Caso nenhuma das duas
seja recebida no prazo mximo, o BGP considera que a
comunicao com o outro roteador foi perdida e a sesso
encerrada, tendo que ser reiniciada novamente. Os roteadores
tentam usar o menor hold time entre os dois. Caso o valor seja
estabelecido como zero, a sesso ser considerada como
sempre "viva" (ativa) e mensagens de KEEPALIVE no sero
transmitidas, pois os contadores do hold time e do KEEPALIVE
no sero zerados nunca. O valor mnimo recomendado para
este parmetro de trs segundos.

mhtml:file://C:\Documents and Settings\Marcio Oliveira\Desktop\O Protocolo BGP4 - ... 30/8/2011

O Protocolo BGP4 - Parte 2

Page 5 of 7

Comprimento dos Parmetros Opcionais (Optional


Parameters Lenght) - caractersticas: [1 byte, inteiro, positivo].
Indica o comprimento total do campo de Parmetros Opcionais
(Optional Parameters). No caso de ausncia de parmetros
opcionais, este campo ser preenchido com zero.
Parmetros Opcionais (Optional Parameters) caractersticas: [comprimento varivel].
Pode conter vrios parmetros opcionais para a negociao de
abertura de uma sesso BGP. Este campo deve ser
preenchido com conjuntos formados por 3 valores: [Tipo do
parmetro (1 byte), Comprimento do Parmetro (1 byte), Valor
do parmetro (comprimento varivel) ]. Um exemplo de
parmetro o de informao de autenticao (tipo 1), usado
para autenticar a sesso com o vizinho BGP.

NOTIFICATION
Este tipo de mensagem enviada no caso de deteco de
erros durante ou aps o estabelecimento de uma sesso BGP.
O formato da mensagem NOTIFICATION :

Figura 3 - Formato da Mensagem Tipo NOTIFICATION


Campo Erro (Error)
Deve conter o tipo da notificao
Campo Sub Cdigo de Erro (Error subcode)
Deve conter um valor que fornece maiores informaes sobre o
erro.
Campo de Dados (Data)
Pode conter dados referentes ao erro, como por exemplo, um
cabealho mal formado (invlido), um nmero de AS invlido.
A tabela a seguir lista os cdigos e sub-cdigos de erros
possveis.

mhtml:file://C:\Documents and Settings\Marcio Oliveira\Desktop\O Protocolo BGP4 - ... 30/8/2011

O Protocolo BGP4 - Parte 2

Page 6 of 7

Cdigos de Erro

Sub cdigos de Erro

1 - Erro no cabealho da mensagem

1 - Conexo no sincronizada
2 - Comprimento da mensagem invlido
3 - Tipo de mensagem invlido

2 - Erro na mensagem OPEN

1 - Nmero de verso no suportado


2 - Nmero de AS vizinho invlido
3 - Identificador BGP invlido
4 - Parmetro opcional no suportado
5 - Falha na autenticao
6 - Tempo de espera inaceitvel

3 - Erro na mensagem UPDATE

1 - Lista de atributos mal formada


2 - Atributo Well-Known desconhecido
3 - Atributo Well-Known faltando
4 - Erro nas flags de atributos
5 - Erro no comprimento do atributo
6 - Atributo origem invlido
7 - Loop de roteamento em AS
8 - Atributo NEXT_HOP invlido
9 - Erro no atributo Opcional
10 - Campo de rede invlido
11 - AS_path mal formado

Tabela 1 - Cdigos e Sub-cdigos de Erro Enviados


nas Mensagens Tipo NOTIFICATION

KEEPALIVE
So mensagens trocadas periodicamente com o propsito de
verificar se a comunicao entre os vizinhos est ativa. A
mensagem do tipo KEEPALIVE composta apenas do
cabealho padro das mensagens BGP, sem dados
transmitidos aps o cabealho. O tempo mximo permitido
para o recebimento de mensagens KEEPALIVE ou UPDATE
definido pelo hold time, como foi visto na descrio do tipo de
mensagem OPEN.
Para manter aberta a sesso, a mensagem de KEEPALIVE
deve ser enviada antes que o prazo definido no hold time
expire; caso contrrio a sesso ser encerrada. A
recomendao que a mensagem seja enviada em at 1/3 do
tempo definido no hold time. Se o seu valor for igual a zero,
ento as mensagens do tipo KEEPALIVE no sero enviadas.
^

Concluso
Num prximo artigo, veremos o ltimo tipo de mensagem
(UPDATE) do BGP com seus componentes e atributos, suas
definies e aplicaes. Ainda nele, sero mostrados exemplos
de configuraes prticas baseados na implementao do
protocolo BGP-4 desenvolvida pela Cisco Systems, Inc. em
situaes encontradas com freqncia no dia a dia de
provedores de servios Internet. Tambm sero apresentados
alguns problemas comumente enfrentados e exemplos de erros
comuns de confgurao.

mhtml:file://C:\Documents and Settings\Marcio Oliveira\Desktop\O Protocolo BGP4 - ... 30/8/2011

O Protocolo BGP4 - Parte 2

Page 7 of 7

Referncias bibliogrficas
Internetworking with TCP/IP - Principles, Protocols and
Architecture
Douglas E. Comer, 3rd Edition, 1995, Prentice Hall
Routing In The Internet
Christian Huitema, 1995, Prentice Hall
Internet Routing Architectures
Bassam Halabi, 1997, Cisco Press
RFC 1771
A Border Gateway Protocol 4 (BGP-4)
ftp://ftp.isi.edu/in-notes/rfc1771.txt
RFC 1772
Application of the Border Gateway Protocol in the Internet
ftp://ftp.isi.edu/in-notes/rfc1772.txt
RFC 1773
Experience with the BGP-4 protocol
ftp://ftp.isi.edu/in-notes/rfc1773.txt
RFC 1930
Guidelines for creation, selection, and registration of an
Autonomous System
ftp://ftp.isi.edu/in-notes/rfc1930.txt
RFC 1965
Autonomous System Confederations for BGP
ftp://ftp.isi.edu/in-notes/rfc1965.txt
BGP Route Reflection - An alternative to full mesh IBGP
ftp://ftp.isi.edu/in-notes/rfc1966.txt
RFC 1997
BGP Communities Attribute
ftp://ftp.isi.edu/in-notes/rfc1997.txt
RFC 2270
Using a Dedicated AS for Sites Homed to a Single Provider
ftp://ftp.isi.edu/in-notes/rfc2270.txt
^

Sites relacionados
BGP-4 Protocol Overview
http://www.FreeSoft.org/CIE/Topics/88.htm
Using the Border Gateway Protocol for Interdomain Routing
http://www.cisco.com/univercd/cc/td/doc/cisintwk/ics/icsbgp4.htm
^

NewsGeneration, um servio oferecido pela RNP


Rede Nacional de Ensino e Pesquisa
Copyright RNP, 1997 2004

mhtml:file://C:\Documents and Settings\Marcio Oliveira\Desktop\O Protocolo BGP4 - ... 30/8/2011

ERROR: syntaxerror
OFFENDING COMMAND: --nostringval-STACK:
/Title
()
/Subject
(D:20110830170154-0300)
/ModDate
()
/Keywords
(PDFCreator Version 0.9.5)
/Creator
(D:20110830170154-0300)
/CreationDate
(Marcio Oliveira)
/Author
-mark-

Você também pode gostar