Você está na página 1de 18

1.

Introduo
Roteamento o mecanismo atravs do qual duas mquinas em comunicao acham e
usam um caminho timo (o melhor) atravs de uma rede. O processo envolve:
!eterminar que caminhos esto dispon"veis#
$elecionar o melhor caminho para uma %inalidade particular#
&sar o caminho para che'ar aos outros sistemas#
()ustar o %ormato dos dados (data'ramas) *s tecnolo'ias de
transporte dispon"veis (+,&- +$$- etc.).
. /a arquitetura ,01231- o roteamento 4aseado no endereamento 31- particularmente- na
parte de identi%icao de rede de um endereo 31. ,oda a tare%a desenvolvida na camada
3nter5rede da pilha de protocolos ,01231.
( (R1(/6, %oi a rede que iniciou o 4ac74one da 3nternet. /essa poca cada
participante administrava suas ta4elas de roteamento e suas atuali8a9es eram %eitas
manualmente. !essa %orma- a topolo'ia da 3nternet em seus primrdios poderia ser descrita
como um con)unto de roteadores 4sicos- conhecidos tam4m por core routers ou tam4m
por roteadores de 4orda. 6stes roteadores eram controlados pelo 3/O0 (3nternet /et:or7
Operations 0enter). (dicionalmente- e;istia tam4m um con)unto de roteadores-
conhecidos como secundrios que eram administrados por 'rupos isolados e eram
conectados aos core routers- %ornecendo acesso *s redes locais de cada instituio. 6m
se'uida- sur'iu a /<$/6, que inicialmente esta4eleceu um =nico ponto de cone;o com a
(R1(/6,- posteriormente aumentando o n=mero dessas cone;9es.
6ssa situao aumentou a comple;idade do roteamento 'lo4al- impossi4ilitando a
%orma manual de atuali8ao das ta4elas de rotas. 1or esse motivo o esquema de diviso por
hierarquias %oi sendo su4stitu"do pelo modelo distri4u"do que o modelo utili8ado at os
dias de ho)e. (ssim sendo- o roteamento no %ica mais centrali8ado em al'uns roteadores-
como nos roteadores 4sicos da /<$/6,- mas cada roteador responsvel pelas suas redes
e pela comunicao com os demais roteadores da 3nternet.
1ara acompanhar tais mudanas- %oi criado o conceito de sistema aut>nomo
((utonomous $?stem- ou simplesmente ($)- que %a8 com que as redes e roteadores que
esto so4 uma mesma pol"tica se)am administradas pela prpria entidade que os possui.
(ssim- o que ocorre internamente a um ($ no ser conhecido por outros sistemas
aut>nomos- diminuindo a comple;idade da 3nternet 'lo4al. 1ara a comunicao com o
mundo e;terno- ou se)a- com os demais sistemas aut>nomos- deve ser utili8ado pelo menos
um dos roteadores do ($ para trocar in%orma9es com os demais ($s e 'arantir a
alcana4ilidade entre suas redes. 1ara cada ($ atri4u"do um ($ num4er- que uma
identi%icao =nica que o identi%ica para os demais sistemas aut>nomos. !essa %orma- a
3nternet 'lo4al dei;ou de ser vista como um 'rande 'rupo de redes locais interli'adas- mas
a'ora como um con)unto de $istemas (ut>nomos que trocam an=ncios de rotas para suas
redes entre si. &m e;emplo prtico de $istema (ut>nomo seria a rede da &<R@$. &ma
analo'ia a sistemas aut>nomos seria ima'inar que a 3nternet ho)e %ormada por um
con)unto de AnuvensA- interli'ados entre si- 'arantindo que sempre e;ista al'um caminho
para qualquer ponto da 3nternet.
!iante de tais inova9es e a distri4uio desta nova arquitetura- sur'iu a
necessidade de protocolos de roteamento capa8es de manter a consistBncia e as in%orma9es
entre os sistemas aut>nomos da 3nternet- incluindo tam4m suas redes internas. (ssim
sur'iram diversos protocolos de roteamento com o intuito de atender a estas necessidades e
%uncionalidades.
Os protocolos de roteamento dividem5se em dois 'rupos- e;plicados a se'uir:
6@1 (6;terior @ate:a? 1rotocol): @rupo de protocolos utili8ados para a
comunicao inter ($- ou se)a- usado para a comunicao entre roteadores que se
encontram em di%erentes sistemas aut>nomos. Os protocolos deste tipo 'arantem
que todos os sistemas aut>nomos pela 3nternet mantenham in%orma9es consistentes
para 'arantir o %uncionamento do roteamento 'lo4al. 6;emplo de protocolo deste
'rupo seria o C@1.
3@1 (3nterior @ate:a? 1rotocol): @rupo de protocolos utili8ados na comunicao
intra ($- ou se)a- usados para comunicao entre roteadores em um mesmo sistema
aut>nomo. Do)e este 'rupo representado por vrios protocolos- como R31- O$1<-
3@R1- entre outros.
(travs da <i'ura a4ai;o so apresentados e;emplos de utili8ao dos dois 'rupos
de protocolos. 6ntre o ($ E e ($ F utili8ado o 'rupo de protocolos 6@1- utili8ando o
'rupo 3@1 para propa'ao das rotas aos demais roteadores de cada sistema aut>nomo.
6;emplos de utili8ao de protocolos 3@1 e 6@1 em sistemas aut>nomos.
O processo de con%i'urao do roteamento interno a um ($ pode ser %eito de duas
%ormas. ( primeira delas esttica- ou se)a- 4aseada na con%i'urao manual de rotas )
que em 'eral no e;iste mais que um caminho para che'ar a determinada rede ou roteador
do ($. ( desvanta'em desta %orma de con%i'urao que- na ocorrBncia de al'uma
mudana na rede ou %alha em al'uma das cone;9es- o administrador deve %a8er todas as
altera9es necessrias para resta4elecimento da comunicao manualmente. ,am4m se
torna 4vio que a con%ia4ilidade e o tempo de resposta a pro4lemas podem no ser
satis%atrios. G a %orma dinHmica- 4aseia5se na utili8ao de protocolos de roteamento que
automati8am tal tare%a- ou se)a- que %a8em o an=ncio de rotas e deteco do melhor
caminho de %orma automtica- sem a interveno do administrador da rede. 0aso a deciso
se)a de utili8ar um protocolo dinHmico em um ($- dever ser utili8ado um protocolo tipo
3@1 para tal tare%a. G para a con%i'urao e;terna de um ($ dever o4ri'atoriamente ser
utili8ado um protocolo tipo 6@1- visto que no e;iste outra %orma de propa'ao das redes
pertencentes a ele.
Os protocolos dinHmicos podem implementar diversos al'oritmos de roteamento.
Os al'oritmos principais so apresentados a4ai;o:
a) Ietor distHncia: ,am4m de%inido como al'oritmo de Cellman5<ord- este al'oritmo
tra4alha 4aseado na idia que cada roteador propa'a periodicamente uma ta4ela com todas
as redes conhecidas e a distHncia para alcan5las. @eralmente- a distHncia calculada pelo
n=mero de ne;t hops necessrios para alcanar uma determinada rede. O termo DO1
caracteri8a5se pela passa'em entre um roteador e outro. 6sse termo poderia ser equivalente
a palavra salto. $endo assim- cada roteador- ao rece4er os an=ncios de todos os demais-
calcula o caminho timo 4aseado no menor n=mero de DO1s para che'ar a determinada
rede. Iale lem4rar tam4m- que cada roteador ao rece4er as in%orma9es de outras redes
incrementa o n=mero de DO1s e anuncia as rotas divul'adas para os demais roteadores.
4) 6stado de enlace: ,am4m de%inido como al'oritmo Jin7 $tate- este al'oritmo tra4alha
4aseado na idia de que cada roteador possui in%orma9es so4re as redes que esto
conectadas a ele e- periodicamente- testa para determinar se cada enlace est ativo. 0om
estas in%orma9es cada roteador divul'a uma lista so4re o status de cada cone;o- di8endo
se estas esto ativas ou inativas. Caseado nessas in%orma9es- quando um roteador rece4e
um con)unto de mensa'ens so4re o estado dos enlaces das redes pr;imas a ele- aplicado
o al'oritmo $1< de !i)s7stra. 6ste al'oritmo aplicado 4aseado nas in%orma9es de cada
roteador e %eito localmente a cada um destes- para o clculo das melhores rotas para todos
os destinos a partir de uma mesma ori'em. 6m termos de e;panso- este al'oritmo tem
vanta'em so4re o Ietor !istHncia- pois o clculo do melhor caminho %eito localmente e
no depende do clculo de roteadores intermedirios. Outra vanta'em que devido a suas
caracter"sticas- este al'oritmo conver'e mais rapidamente devido a utili8ao de %loodin'
para divul'ao do estado de seus enlaces- ou se)a- divul'a de %orma mais e%ica8 os
melhores caminhos para suas redes a todos os roteadores conectados.
3. Introduo BGP
O C@1 um protocolo de roteamento dinHmico utili8ado para comunicao entre
sistemas aut>nomos (($s). Caseados nestas in%orma9es- os sistemas aut>nomos
conse'uem trocar in%orma9es e determinar o melhor caminho para as redes que %ormam a
3nternet. ,al papel muito importante sa4endo que a todo momento as redes podem so%rer
altera9es- podem ocorrer quedas de suas cone;9es- rece4er an=ncios invlidos- aplicar
pol"ticas- manter a conectividade por outros caminhos- adaptando5se rapidamente e
mantendo a consistBncia de seus an=ncios de %orma e%iciente.
O C@1 %oi pro)etado para evitar loops de roteamento em topolo'ias ar4itrarias- o
mais serio pro4lema de seu antecessor- o 6@1 (6;terior @ate:a? 1rotocol). Outro
pro4lema que o 6@1 no resolve 5 e a4ordado pelo C@1 5 o do Roteamento Caseado em
1ol"tica (polic?54ased routin')- um roteamento com 4ase em um con)unto de re'ras no5
tcnicas- de%inidas pelos $istemas (ut>nomos.
( divul'ao das in%orma9es de roteamento C@1 %eita entre roteadores que
esta4elecem uma relao de vi8inhana- sempre na %orma de pares. ,endo essa relao-
so trocadas as in%orma9es contidas nas ta4elas de roteamento C@1 de cada um destes.
1ara esta4elecer uma relao de vi8inhana necessrio que dois roteadores tenham uma
cone;o direta entre eles- ou que al'um protocolo 3@1 trate de 'arantir a alcana4ilidade.
6ssa relao de vi8inhana pode de%inir aos roteadores uma relao de spea7ers ou peers.
,ratando5se de um protocolo importante que requer con%ia4ilidade em sua
comunicao para 'arantir a alcana4ilidade entre todas as redes da 3nternet- necessrio
que se)a utili8ada uma %orma con%ivel de troca de in%orma9es deste protocolo. 3sso
o4tido pela utili8ao do protocolo ,01 entre dois roteadores que trocam in%orma9es do
protocolo C@1. ( porta utili8ada para a comunicao EKL.
1ara di%erir e identi%icar univocamente cada sistema aut>nomo- cada ($ possui um
n=mero que o identi%ica mediante os demais ($s da 3nternet. 6ste n=mero varia entre E e
MNNON- sendo que a %ai;a entre MPNEF e MNNON destinada a uso privado.
( ultima verso do C@1- o C@1P- %oi pro)etado para suportar os pro4lemas
causados pelo 'rande crescimento da 3nternet.
3.1 Algoritmo BGP
O al'oritmo que sustenta o C@1 de%inido como 1(,D I60,OR- assemelhando5
se ao al'oritmo de vetor distHncia- pois a partir de in%orma9es rece4idas de outros sistemas
aut>nomos %ormado um vetor que arma8ena os ($s que %ormam um caminho para se
che'ar a determinada rede. &ma ve8 que os roteadores divul'uem tal in%ormao-
poss"vel calcular o menor caminho para determinada rede. /em sempre esse menor
caminho o escolhido- pois o C@1 utili8a tam4m diversos outros parHmetros para
determinao do melhor caminho para determinada rede- que sero estudados a se'uir.
1or tratar5se de ta4elas de rotas de toda a 3nternet e a dinamicidade em que as
altera9es ocorrem- constantemente so trocadas mensa'ens de atuali8a9es da ta4ela de
roteamento. 1ara se ter uma idia- a ta4ela de roteamento C@1 completa da 3nternet no
in"cio do ano de FQQF possu"a apro;imadamente EQK.QQQ rotas. G o n=mero em /ovem4ro
de FQQF de EEM.QQQ rotas. ( atuali8ao de ta4elas de rotas entre roteadores vi8inhos no
ocorre em intervalos de tempo pr5de%inidos- mas sim quando a ta4ela C@1 so4re al'uma
mudana. 3sso torna a divul'ao mais leve- visto que ao n"vel do C@1 o n=mero total de
rotas da 3nternet muito 'rande e o an=ncio de todas as rotas seria invivel. 6sta %orma de
an=ncio pode ser de%inida como incremental- ou se)a- sendo enviadas apenas as
atuali8a9es. 6ste modo de atuali8a9es incremental diminui consideravelmente o
overhead e a 4anda utili8ada para an=ncios.
1ara comunicao entre roteadores C@1 e;istem al'uns tipos de mensa'ens onde
cada um deles tem um papel importante na comunicao C@1.
+ensa'ens tipo O16/ so utili8adas para o esta4elecimento de uma cone;o C@1#
+ensa'ens tipo /O,3<30(,3O/ reportam erros e serve para representar poss"veis
pro4lemas nas cone;9es C@1.
+ensa'ens tipo &1!(,6 so utili8adas para os an=ncios propriamente ditos-
incluindo rotas que devem ser inclu"das na ta4ela e tam4m rotas que devem ser
removidos da ta4ela C@1.
+ensa'ens tipo R661(J3I6 so utili8adas para manter a cone;o entre roteadores
C@1 caso no e;istam atuali8a9es atravs de mensa'ens &1!(,6.
&ma e;presso utili8ada para de%inir rotas que devem ser removidas da ta4ela C@1
withdrawn- que devido a dinamicidade da 3nternet ocorrem com muita %reqSBncia.
Outra questo importante em roteadores C@1 a questo do chamado Full Routing.
6ste termo usado em roteadores que rece4em todos os an=ncios de rotas da 3nternet. 6sta
caracter"stica dese)vel em core routers que possuam m=ltiplos pontos de intercone;o
com outros backbones. /esses casos com a ta4ela de rotas completa ser poss"vel e;plorar
e desco4rir melhores rotas para uma determinada rede. 0omo e%eito colateral- este recurso
e;i'e que os roteadores tenham 4ons recursos de 01& e memria.
/a maioria dos casos o recurso de full routing no utili8ado- pois os roteadores
possuem 'eralmente apenas um ou dois pontos de intercone;o com outros 4ac74ones- no
permitindo nenhuma melhora si'ni%icativa no roteamento caso %osse usado full routing. (
ta4ela de roteamento C@1 possui um n=mero que identi%ica sua verso- sendo
incrementado cada ve8 que esta so%rer al'uma modi%icao. &m e;emplo de verso de
ta4ela pode ser visto na <i'ura E.
C@1 ta4le version is EMMQFLE- local router 3! is FQQ.EQ.FQ.OQ
$tatus codes: s suppressed- d damped- h histor?- T valid- U 4est- i 5 internal
Ori'in codes: i 5 3@1- e 5 6@1- V 5 incomplete
/et:or7 /e;t Dop +etric Joc1r% Wei'ht 1ath
TUiEF.Q.PX.Q2FQ ELX.OF.FNF.FNP EQQ Q EENOK EQNKX EKPF i
TUiEF.M.FQX.Q2FQ ELX.OF.FNF.FNP EQQ Q EENOK EQNKX EKPF i
TUiEF.M.FNF.Q2FP ELX.OF.FNF.FNP EQQ Q EENOK EQNKX EPOFN V
TUiEF.EM.EFM.ELF2FM ELX.OF.FNF.FNP EQQ Q EENOK EQNKX EPOFN V
TUiEF.EPP.NL.Q2FP ELX.OF.FNF.FNP EQQ Q EENOK EQPMM EOKKX i
......
<i'ura E: 6;emplo de ta4ela de roteamento C@1 e seus atri4utos
/o tpico +ensa'ens do protocolo estes tipos de mensa'ens sero detalhados e estudados
mais pro%undamente.
3.2 Estados de uma conexo BGP
( ne'ociao de uma sesso C@1 passa por diversos estados at o momento que
propriamente esta4elecida e iniciada a troca de an=ncios de pre%i;os de cada vi8inho
C@1. 1ara demonstrar os estados poss"veis na ne'ociao- apresentamos a <i'ura F que
ilustra a mquina de estados %initos:
<i'ura F: +quina de estados %initos para sess9es C@1
( se'uir so apresentados a discutidos os M estados poss"veis desta mquina de estados
%initos:
3!J6: 6ste estado identi%ica o primeiro est'io de uma cone;o C@1- onde o
protocolo est a'uardando por uma cone;o de um peer remoto. 6sta cone;o deve
ter sido previamente con%i'urada pelo administrador do sistema. O pr;imo estado
o de 0O//60, e no caso da tentativa ser mal sucedida- volta ao estado 3!J6.
0O//60,: /esta estado o C@1 a'uarda pela cone;o no n"vel de transporte- com
destino na porta EKL. Yuando a cone;o a este n"vel estiver esta4elecida- ou se)a-
com o rece4imento da mensa'em de O16/- passa5se ao estado de O16/$6/,. $e
a cone;o n"vel de transporte no %or 4em sucedida- o estado vai para (0,3I6. /o
caso do tempo de espera ter sido ultrapassado- o estado volta para 0O//60,. 6m
qualquer outro evento- retorna5se para 3!J6.
(0,3I6: O C@1 tenta esta4elecer comunicao com um peer iniciali8ando uma
cone;o no n"vel de transporte. 0aso esta se)a 4em sucedida- passa5se ao estado
O16/$6/,. $e esta tentativa no %or 4em sucedida- pelo motivo de e;pirao do
tempo- por e;emplo- o estado passa para 0O//60,. 6m cada de interrupo pelo
sistema ou pelo administrador- volta ao estado 3!J6. @eralmente as transi9es entre
o estado de 0O//60, e (0,3I6 re%letem pro4lemas com a camada de transporte
,01.
O16/$6/,: /este estado o C@1 a'uarda pela mensa'em de O16/ e %a8 uma
checa'em de seu conte=do. 0aso se)a encontrado al'um erro como n=mero de ($
incoerente ao esperado ou a prpria verso do C@1- envia5se uma mensa'em tipo
/O,3<30(,3O/ e volta ao estado de 3!J6. 0aso no ocorram erros na checa'em-
inicia5se o envio de mensa'ens R661(J3I6. 6m se'uida- acerta5se o tempo de
Hold Time- sendo optado o menor tempo entre os dois peers. !epois deste acerto-
compara5se o n=mero ($ local e o n=mero ($ enviado pelo peer- com o intuito de
detectar se trata5se de uma cone;o iC@1 (n=meros de ($ i'uais) ou eC@1
(n=meros de ($ di%erentes). 6m caso de descone;o a n"vel de protocolo de
transporte- o estado passa para (0,3I6. 1ara as demais situa9es de erro- como
e;pirao do Dold ,ime- envia5se uma mensa'em de /O,3<30(,3O/ com o
cdi'o de erro correspondente e retorna5se ao estado de 3!J6. /o caso de
interveno do administrador ou o prprio sistema- tam4m retorna5se o estado
3!J6.
O16/0O/<3R+: /este estado o C@1 a'uarda pela mensa'em de R661(J3I6 e
quando esta %or rece4ida- o estado se'ue para 6$,(CJ3$D6! e a ne'ociao do
peer %inalmente completa. 0om o rece4imento da mensa'em de R661(J3I6-
acertado o valor ne'ociado de Dold ,ime entre os peers. $e o sistema rece4er uma
mensa'em tipo /O,3<30(,3O/- retorna5se ao estado de 3!J6. O sistema tam4m
envia periodicamente- se'undo o tempo ne'ociado- mensa'ens de R661(J3I6. /o
caso da ocorrBncia de eventos como descone;o ou interveno do operador-
retorna5se ao estado de 3!J6 tam4m. 1or %im- na ocorrBncia de eventos di%erentes
aos citados- envia5se uma mensa'em /O,3<30(,3O/- retornando ao estado de
3!J6.
6$,(CJ3$D6!: /este estado- o C@1 inicia a troca de mensa'ens de &1!(,6 ou
R661(J3I6- de acordo com o Dold ,ime ne'ociado. 0aso se)a rece4ida al'uma
mensa'em tipo /O,3<30(,3O/- retorna5se ao estado 3!J6. /o rece4imento de
cada mensa'em tipo &1!(,6- aplica5se uma checa'em por atri4utos incorretos ou
em %alta- atri4utos duplicados e caso al'um erro se)a detectado- envia5se uma
mensa'em de /O,3<30(,3O/- retornando ao estado 3!J6. 1or %im- se o Dold
,ime e;pirar ou %or detectada descone;o ou interveno do administrador- tam4m
retorna5se ao estado de 3!J6.
( partir da mquina de estados apresentada anteriormente- poss"vel sa4er qual o
status de uma sesso C@1 entre dois roteadores- podendo tam4m iniciar uma investi'ao
so4re qual pro4lema pode estar ocorrendo em al'uma sesso. O o4)etivo esperado que
todas as sess9es C@1 de um roteador mantenham5se no estado 6$,(CJ3$D6!- visto que
somente neste estado ocorre a troca de an=ncios com o roteador vi8inho.
3.3 Funcionamento do algoritmo de deciso
O processo de deciso do C@1 4aseia5se nos valores dos atri4utos de cada an=ncio.
1ara re%orar a importHncia do al'oritmo de deciso- em sistemas aut>nomos multihomed 5
cone;o com mais de um ($- tendo mais de um caminho de sa"da para a 3nternet 5
normal a ocorrBncia de m=ltiplas rotas para a mesma rede e nestes casos o al'oritmo de
deciso do C@1 que toma a deciso da melhor rota a ser utili8ada. 1ara esse clculo- so
apresentados os L critrios de deciso- apresentados por ordem de precedBncia:
$e o next hop no %or alcanvel- a rota i'norada#
$er pre%erida a rota que tiver maior valor de Weight- que se trata de um parHmetro
proprietrio da 0isco- utili8ado localmente em um roteador. 0aso o equipamento
no se)a 0isco- este passo do al'oritmo no ser e%etuado#
0aso o parHmetro anterior se)a o mesmo- ser pre%erida a rota que tiver o maior
valor de Local Preference (JO0(JZ1R6<)#
0aso o valor de Local Preference se)a o mesmo- ser pre%erida a rota com menor
($Z1(,D.
0aso o ($Z1(,D tenha o mesmo tamanho- ser pre%erida a rota com menor tipo
OR3@3/- ou se)a- sero priori8ados os an=ncios tipo 3@1 (i)- se'uido pelos 6@1 (e)
e 3/0O+1J6,6 (V).
0aso o tipo OR3@3/ se)a o mesmo- ser pre%erida a rota o atri4uto +6! mais 4ai;o
caso as rotas tenham sido aprendidas a partir do mesmo ($.
0aso as rotas tenham o mesmo valor de +6!- ser pre%erida a rota por eC@1 a
iC@1.
$e o valor de +6! %or o mesmo- ser pre%erido o an=ncio vindo do roteador
conectado via 3@1 mais pr;imo deste.
$e o caminho interno %or o mesmo- o atri4uto C@1 RO&,6RZ3! ser o responsvel
pela deciso (tiebreaker). /este caso- ser pre%erido o caminho cu)o roteador
possuir o menor RO&,6RZ3!- que nas implementa9es 0isco de%inido como 31
da inter%ace loopback se esta estiver con%i'urada. /o caso do roteador no possuir
inter%ace loopback con%i'urada- ser escolhido o 31 mais alto do roteador. Iale
lem4rar que para cada %a4ricante o RO&,6RZ3! pode ser 4aseado em outras
in%orma9es.
!essa %orma- os an=ncios so inclu"dos na ta4ela C@1 e 4aseado nestes critrios-
escolhido o melhor caminho. 6ste melhor caminho- por sua ve8- ser incluindo na
forwarding table- que utili8ada de %ato par o encaminhamento de pacotes pelo roteador.
3.4 Utiliao de !ol"ticas
O protocolo tam4m %ornece diversos mecanismos para utili8ao de pol"ticas de
roteamento. +uitas das pol"ticas aplicadas so relacionadas ao ato de troca de tr%e'o que
tem relao direta com seus an=ncios. O %ato de um sistema aut>nomo ser trHnsito de%ine5se
por este ($ anunciar5se como caminho no somente para suas redes- mas para todas as
demais que ele conhece. Outros que no dese)am %ornecer trHnsito apenas anunciam suas
prprias redes. ,am4m podem e;istir casos que o ($ anuncia suas rotas rece4idas a
apenas um con)unto restrito de ($s. 6sta troca de tr%e'o chamada de peering e %eita
'eralmente mediante acordos entre ($s- como o caso dos /(1s ou 1,,s ou em cone;9es
particulares entre ($s. 1ara esclarecer melhor o assunto- apresentamos a <i'ura O que
ilustra a situao de uma instituio [ que compra acesso de dois provedores de acesso 31.
(m4os provedores- 6m4ratel e Crasil,elecom- entre tantos outros que poderiam ser
citados- possuem seu prprio ($. 0om clientes que so multihomed- como o caso a
instituio [- que caracteri8a5se por ter conectividade com mais um provedor de upstream-
o protocolo C@1 o mais aconselhvel ) que provB %ormas de aplicao de pol"ticas de
an=ncios e %ormas e%icientes de 4alanceamento de car'a.
<i'ura O: 6;emplo de situao de trHnsito C@1 com clientes multihomed.
/esta situao a instituio [ pretende utili8ar tais cone;9es para acesso a redes da
3nternet e no para ser o elo de li'ao entre a 6m4ratel e Crasil,elecom (servir de
trHnsito). 1ara evitar que o ($ ELPN se torne trHnsito- a pol"tica que ser aplicada ser que
todos os an=ncios rece4idos de um provedor nunca sero repassados ao outro provedor- ou
se)a- todos an=ncios de redes da 6m4ratel no sero divul'ados a Crasil,elecom e vice5
versa. 3sso 'arantir que am4as cone;9es se)am utili8adas para tr%e'o provenientes ou
destinados apenas *s redes do ($ ELPN da instituio [. 6ssa postura de no servir como
trHnsito um tanto 4via ) que o acesso a provedores como 6m4ratel e Crasil,elecom
pa'o e por isso no %a8 sentido que al'um pa'ue para servir de trHnsito para outros
backbones. 1ro4lemas como este ) %oram re'istrados nas opera9es com institui9es
conectadas ao 1O15R$ e a backbones comerciais.
O ato de servir de trHnsito- se pelo lado dos clientes evitado- pelos provedores de
upstream como os citados so praticamente uma lei- pois estes devem propa'ar os an=ncios
de seus clientes para 'arantir que tais redes se)am alcanveis por toda a 3nternet.
6m 1,,s e;istem al'umas restri9es e pontos importantes so4re este tpico que
sero e;plicados e apro%undados nos pr;imos cap"tulos.
Outro recurso importante o Route Dampening- ou se)a- uma espcie de punio
que determinado ($ pode levar caso seus an=ncios so%ram insta4ilidades na ta4ela de
roteamento (<J(1s) constantes. 3sso %a8 com que determinado ($ no se)a ouvido pelos
demais ($s por um tempo determinado- mantendo a esta4ilidade at que aquele an=ncio
esta4ili8e. 3sso evita que isso se)a propa'ado por toda a 3nternet- consumindo 4anda e 01&
de milhares de roteadores na incluso2e;cluso em suas ta4elas de rotas C@1. (l'uns
backbones implementam tal %uncionalidade- esta4elecendo seus tempos de punio.
Outros recursos de pol"ticas podem ser aplicados de acordo com a necessidade de
administrador do ($- podendo %iltrar tipos determinados de an=ncios- 4aseado em al'um
parHmetro do protocolo C@1- aceitando ou %iltrando tais an=ncios. 6sses procedimentos so
muito utili8ados e merecem cuidado ao manipula5los.
( utili8ao de pol"ticas em um sistema aut>nomo uma das tare%as mais
importantes de um administrador- visto que sua con%i'urao pode re%letir em uma melhora
no acesso a outras redes- at e%eitos ne'ativos- como pro4lemas de alcana4ilidade para
outras redes- ou involuntariamente servir de trHnsito para outros sistemas aut>nomos.
3.# $ensagens do !rotocolo
O C@1 possui 4asicamente P tipos de mensa'ens. /estas mensa'ens e;iste um
header que comum a todos eles- apresentado na <i'ura P e;plicado a se'uir:
(s mensa'ens trocadas em sess9es C@1 tBm o comprimento m;imo de P.QLM
4?tes- e m"nimo de EL 4?tes. ,odas as mensa'ens so compostas de- no m"nimo- um
ca4ealho e- opcionalmente- uma parte de dados. O %ormato do ca4ealho das mensa'ens
C@1 :
<i'ura P 5 <ormato do 0a4ealho das +ensa'ens C@1.
1ode haver- ou no- uma seqSBncia dados aps o ca4ealho.$eus campos so:
5 0ampo +arcador (+ar7er)
$erve para veri%icar a autenticidade da mensa'em rece4ida e se houve perda de
sincroni8ao entre os roteadores vi8inhos C@1. 1ode ter dois %ormatos: caso a mensa'em
se)a do tipo O16/ (a4rir)- ou se a mensa'em tipo O16/ no possuir in%ormao de
autenticao- o campo deve estar todo preenchido com n=meros um (E)# seno- o campo
mar7er ter o seu conte=do 4aseado em parte do mecanismo de autenticao usado.
5 0ampo 0omprimento (Jen'ht)
!eve conter um n=mero que representa o comprimento total da mensa'em-
incluindo o ca4ealho. 0omo pode haver mensa'ens que no possuem dados aps o
ca4ealho- a menor mensa'em C@1 enviada de EL 4?tes (EM \ F \ E 4?tes).
5 0ampo ,ipo (,?pe)
!eve conter um n=mero que representa o cdi'o de um tipo de mensa'em
(R661(J3I6- /O,3<30(,3O/- O16/ e &1!(,6).
3.#.1 $ensagens do !rotocolo % $ensagem ti!o &PE'
A mensagem do tipo OPEN enviada para se iniciar a abertura de uma
sesso BGP entre neighbors ou peers BGP. O formato desta mensagem pode ser
visto na figura abaixo:
Figura 5 - Formato da ensagem OPEN.
!eus campos so:
- Verso (Version) " caracter#sticas: $% b&te' inteiro' positivo(.
)dentifica a verso do BGP *+ ou ,-. Este um dos par.metros negociados
pe/os roteadores 0ue' norma/mente' tentam entrar em acordo para usar a maior
verso suportada. No 1avendo possibi/idade de consenso *ex.: um dos
roteadores no suporta o BGP,-' e/es tentam usar vers2es anteriores' at 0ue
coincidam. Nos roteadores 3isco' 14 como configurar a verso a ser usada pe/os
roteadores *se previamente se sabe 0ua/ verso ambos suportam-' e/iminando
esta fase de negocia5o do processo de abertura da sesso BGP' imp/icando
numa conse06ente economia de tempo.
- Nmero do AS (AS Number) " caracter#sticas: $7 b&tes' inteiro' positivo(.
8eve conter o n9mero do A! a 0ua/ o roteador *remetente da mensagem
tipo OPEN- pertence.
- Tempo de espera (Hold Time) " caracter#sticas: $7 b&tes' inteiro' positivo(.
8eve conter o va/or' em segundos' do maior tempo de espera *hold time-
permitido entre mensagens do tipo :P8A;E ou <EEPA=)>E. O BGP mantm um
contador do hold time' 0ue reiniciado *?erado- a cada ve? 0ue uma mensagem
do tipo <EEPA=)>E ou :P8A;E recebida. 3aso nen1uma das duas se@a
recebida no pra?o m4ximo' o BGP considera 0ue a comunica5o com o outro
roteador foi perdida e a sesso encerrada' tendo 0ue ser reiniciada novamente.
Os roteadores tentam usar o menor hold time entre os dois. 3aso o va/or se@a
estabe/ecido como ?ero' a sesso ser4 considerada como sempre AvivaA *ativa- e
mensagens de <EEPA=)>E no sero transmitidas' pois os contadores do hold
time e do <EEPA=)>E no sero ?erados nunca. O va/or m#nimo recomendado
para este par.metro de trBs segundos.
- Comprimento dos Parmetros Opcionais (Optional Parameters Lenght) "
caracter#sticas: $% b&te' inteiro' positivo(.
)ndica o comprimento tota/ do campo de Par.metros Opcionais *Optional
Parameters-. No caso de ausBncia de par.metros opcionais' este campo ser4
preenc1ido com ?ero.
- Parmetros Opcionais (Optional Parameters) " caracter#sticas: $comprimento
vari4ve/(.
Pode conter v4rios par.metros opcionais para a negocia5o de abertura de uma
sesso BGP. Este campo deve ser preenc1ido com con@untos formados por +
va/ores: $;ipo do par.metro *% b&te-' 3omprimento do Par.metro *% b&te-' >a/or do
par.metro *comprimento vari4ve/- (. :m exemp/o de par.metro o de informa5o
de autentica5o *tipo %-' usado para autenticar a sesso com o vi?in1o BGP.
3.#.2 $ensagens do !rotocolo % $ensagem ti!o '&(IFI)A(I&'
Este tipo de mensagem enviada no caso de detec5o de erros durante ou
apCs o estabe/ecimento de uma sesso BGP. O formato da mensagem
NO;)F)3A;)ON :
Figura - Formato da ensagem ;ipo NO;)F)3A;)ON.
!eus campos so:
- Campo !rro (Error)
8eve conter o tipo da notifica5o
- Campo Su" C#digo de !rro (Error subcode)
8eve conter um va/or 0ue fornece maiores informa52es sobre o erro.
- Campo de $ados (Data)
Pode conter dados referentes ao erro' como por exemp/o' um cabe5a/1o
ma/ formado *inv4/ido-' um n9mero de A! inv4/ido' etc. Os trBs tipos de erros
principais so: erro de cabe5a/1o' erro de OPEN e erro de :P8A;E.
3.#.3 $ensagens do !rotocolo % $ensagem ti!o *EEPA+I,E
!o mensagens trocadas periodicamente com o propCsito de verificar se a
comunica5o entre os vi?in1os est4 ativa. A mensagem do tipo <EEPA=)>E
composta apenas do cabe5a/1o padro das mensagens BGP' sem dados
transmitidos apCs o cabe5a/1o. O tempo m4ximo permitido para o recebimento de
mensagens <EEPA=)>E ou :P8A;E definido pe/o hold time' como foi visto na
descri5o do tipo de mensagem OPEN.
Para manter aberta a sesso' a mensagem de <EEPA=)>E deve ser
enviada antes 0ue o pra?o definido no hold time expireD caso contr4rio a sesso
ser4 encerrada. A recomenda5o 0ue a mensagem se@a enviada em at %E+ do
tempo definido no hold time. !e o seu va/or for igua/ a ?ero' ento as mensagens
do tipo <EEPA=)>E no sero enviadas.
3.#.4 $ensagens do !rotocolo % $ensagem ti!o UP-A(E
As mensagens :P8A;E' trocadas entre os peers ou vi?in1os BGP' so de
extrema import.ncia' pois so e/as 0ue /evam as informa52es para a atua/i?a5o
da tabe/a de rotas mantida pe/o BGP.
A estrutura b4sica das mensagens do tipo :P8A;E composta de + itens:
Fotas )na/can54veis *Unreachable Routes-D
Atributos de 3amin1os *PATH Attributes-D
)nforma5o de a/cance da camada de rede " *N=F) " Netor! La"er
Reachabilit" #n$ormation-D
O formato da mensagem do tipo :P8A;E pode ser visto na figura abaixo:
Figura % " O Formato da ensagem :P8A;E.
!eus campos so:
- Comprimento das &otas &emo'idas ou (na)can*+'eis (Un$easible Routes
Length) " caracter#sticas: $7 b&tes' inteiro' positivo(.
Neste campo' indicado o comprimento tota/' em b&tes' do tota/ de rotas
removidas *%ithdran Routes-.
- &otas &emo'idas (%ithdran Routes) " caracter#sticas $comprimento vari4ve/(.
Este campo inc/ui uma /ista de prefixos de endere5os para rotas 0ue devem
ser removidas da tabe/a de rotas BGP. G composto por endere5os )P mais o
comprimento do n9mero de bits contados a partir da es0uerda no endere5o )P'
como mostrado na figura abaixo:
Figura , - O formato do 3ampo de %ithran Routes&
Esses subcampos so:
Pre-i.o - (Pre$i') " caracter#sticas $comprimento vari4ve/(
3ontm prefixos de endere5os )P seguidos de bits suficientes para fa?er o
fina/ deste campo terminar AarredondadoA em b&tes comp/etos. O va/or dos
bits comp/ementares no possui import.ncia.
Comprimento (Lenght) " caracter#sticas $% b&te' inteiro' positivo(
8eve indicar o comprimento tota/' em bits' do tota/ de rotas removidas. :m
comprimento igua/ a H *?ero-' indica 0ue' nesta mensagem :P8A;E' no
14 rotas a serem removidas.
- Comprimento Tota) do Atri"uto PAT/ (Total Path Attribute Length) "
caracter#sticas $7 b&tes' inteiro' positivo(
8eve indicar o comprimento tota/' em bits' do campo Atributos PA;I. O
va/or contido neste campo deve permitir a determina5o do comprimento do
campo N=F). !e o va/or deste campo for H *?ero-' significa 0ue no 14 informa5o
N=F) presente na mensagem :P8A;E.
- Atri"utos do PAT/ (PATH Attributes) " caracter#sticas $comprimento vari4ve/(
!o um con@unto de par.metros associados a uma determinada rota 0ue
inf/uenciam no processo de deciso' feito pe/o BGP' para esco/1a da me/1or rota.
- (n-orma*0es N1&( (NLR# #n$ormation) " caracter#sticas $comprimento vari4ve/(
!o prefixos de endere5os )P de informa52es no formato igua/ ao do campo
de rotas removidas *%ithdran Routes-. Este campo preenc1ido por v4rias
entradas:
Figura 2 - O Formato das )nforma52es N=F).
:m exemp/o de entrada seria: J%K'%L7. 7%+.%+,.HM' 0ue indica uma rota
para %L7.7%+.%+,.H 7NN.7NN.%L7.H *ou %L7.7%+.%+,.HE%K' na nota5o 3)8F-.
3.#.. Utiliao de BGP em sistemas aut/nomos
O protocolo C@1 utili8ado para propa'ar rotas entre sistemas aut>nomos. 6sse
seu principal propsito- mas diante de 'randes sistemas aut>nomos- os 3@1s nem sempre
conse'uem sustentar o roteamento interno e seu crescimento. /essas situa9es- o C@1
tam4m pode ser usado dentro de um mesmo ($. $upondo que determinado ($ tenha
apenas um de seus roteadores com sess9es C@1 com outros ($s- outros roteadores deste
mesmo sistema aut>nomo podem rece4er os an=ncios do roteador de 4orda via C@1 e no
e;clusivamente por al'um protocolo tipo 3@1. /esses casos e;iste o iC@1- que se trata de
uma e;tenso do protocolo C@1 para ser utili8ado entre roteadores de um mesmo ($.
0omo )usti%icativa para o sur'imento do iC@1- pode5se di8er que os protocolos tipo 3@1
no so escalonveis a ponto de %a8erem a comunicao entre roteadores em 'randes
4ac74ones de %orma satis%atria. 1or isso- utili8a5se iC@1 por permitir uma escala4ilidade
mais poderosa e tam4m pelas %uncionalidades que o protocolo %ornece muito superiores
aos do tipo 3@1. &m e;emplo de utili8ao de iC@1 e eC@1 mostrado na <i'ura EE.
<i'ura EE: 6;emplo de uso de eC@1 e iC@1.
!e acordo com a %i'ura- o roteador ( o border router e responsvel pela
comunicao com o mundo e;terno- que no caso %eita com o ($ F. O roteador ( mantm
com C e 0 uma sesso iC@1. Os roteadores C e 0 poderiam trocar in%orma9es via 3@1
com (- utili8ando O$1< por e;emplo- mas em 'randes backbones isso no seria
escalonvel. 1or isso- utili8ado iC@1 para esta comunicao. 3sso %ica mais evidente em
backbones a n"vel nacional- como o caso da R/1 que utili8a iC@1 em seu ($ em
con)unto com O$1<.
3.. & Futuro do BGP
( %im de acompanhar o crescimento da 3nternet e para atender *s novas tecnolo'ias
como ulticast e o sur'imento do 3pvM- %oram propostas tam4m %uncionalidades
adicionais ao protocolo C@1. $e'undo ]03$QQ^ essas %uncionalidades %ormam o +C@1
(ultiprotocol !"P)- que sur'e com o intuito de permitir a troca de in%orma9es de
roteamento por m=ltiplos protocolos em n"vel de rede. ,ais protocolos so identi%icados por
uma %am"lia de endereo (#ddress Famil$)- como de%inido na R<0 EKQQ. (l'umas %am"lias
de endereos que poderiam ser citadas seriam: 31vP- 31vM- 31[. ,am4m o +C@1 permite
su45%am"lias- a citar unicast e multicast por e;emplo.
Outro recurso que provavelmente no %uturo ser mais utili8ado ser a assinatura das
mensa'ens de sess9es C@1- pois tem sido re'istrados al'uns casos de ataques de hac7ers a
roteadores- enviando pacotes %alsi%icados- tentando incluir an=ncios a roteadores com C@1.
/este caso- a utili8ao do mtodo de assinatura ,01 +!N ) est prevista- se'undo a R<0
FOXN- utili8ando para tanto o campo +(RR6R do header do pacote C@1.
Software Zebra
O software Zebra uma implementao freeware destinada a sistemas
operacionais Unix como FreeBSD, Linux, etBSD e OpenBSD! Suporta di"ersos
protocolos de roteamento como #$%, OS%F, B&% e al'uns destes para $% "erso (
tambm como #$%( e OS%F(! o caso do B&% o protocolo "erso ( tambm
suportado, mas isso feito pelo mesmo daemon )ue suporta $% "erso *! %ara cada
protocolo destes apresentados a ferramenta possui um daemon )ue pode ser ati"ado e
confi'urado! %ara cada protocolo existe um ar)ui"o de confi'urao independente!
+ambm existe um daemon c,amado -ebra )ue permite confi'urao 'lobal da
ferramenta e as poss."eis distribui/es das informa/es entre um protocolo e outro! Os
comandos utili-ados por cada protocolo so semel,antes aos comandos de roteadores
0isco! Um recurso importante presente nesta ferramenta o acesso "ia telnet a cada
um dos daemons )ue esti"erem ati"os, semel,ante a um terminal "irtual! 1s portas
associadas a cada daemon so exibida na +abela 2!
Porta Protocolo Associado
3(42 Zebra
3(43 #$%
3(45 #$%( 6$% "erso (7
3(4* OS%F
3(48 B&% 6$% "erso * e "erso (7
3(4( OS%F "5 6$% "erso (7
+abela 2 9 %ortas Zebra
1 partir destes terminais "irtuais a confi'urao de cada protocolo pode ser alterada,
podendo ser sal"a no ar)ui"o de confi'urao correspondente! o caso da
confi'urao do protocolo B&%, cu:o daemon o b'pd, um exemplo b;sico de poss."el
confi'urao deste protocolo mostrado na Fi'ura <!
,ostname exemplo
password -ebra
enable password b'psecret
=
router b'p (8444
b'p router>id 24!4!4!2
networ? 2@3!2(A!24!4B3*
nei',bor 24!4!4!3 remote>as (8442
=
lo' file b'pd!lo'
=
lo' stdout
Fi'ura < 9 0onfi'urao B&% no Zebra
1 confi'urao exibida na Fi'ura < trata de uma sesso B&% entre o roteador cu:o
router>id 24!4!42 e o roteador 24!4!4!3! O 1S )ue cada um pertence
respecti"amente (8444 e (8442! 1 rede anunciada pelo 1S (8444 , neste caso,
2@3!2(A!24!4B3*! Outras coisas )ue so confi'uradas neste daemon so as sen,as de
primeiro e se'undo n."el! 1s sen,as de primeiro n."el so acesso a consultas de
sess/es B&% e dados das interfaces e as sen,as de se'undo n."el do acesso C
confi'urao completa do sistema com permiss/es para alterao!