Você está na página 1de 40

Roteamento entre Sistemas

Autônomos

““Although
Although itit is
is desirable
desirable for
for routers
routers to
to exchange
exchange
routing
routing information,
information, itit is
is impractical
impractical for
for all
all
routers
routers in
in an
an arbitrary
arbitrary large
large internet
internet to
to
participate
participate in
in aa single
single routing
routing update
update protocol.”
protocol.”

Douglas
DouglasComer
Comer
Internetworking
Internetworkingwith
withTCP/IP
TCP/IP
Limites de um Sistema
Autônomo
 Como determinar os limites de um sistema
autônomo?
– Conhecimento da topologia
– Conhecimento do protocolo
– Conhecimento do Delay e do Overhead
 Gerenciamento de tráfego
– Rede é dinâmica
 Políticas administrativas
BGP - Border Gateway Protocol
 Autonomous System (AS)
– conjunto de roteadores sob uma mesma política
de roteamento e mesma administração.
– um dos roteadores é escolhido como o roteador
que comunica-se com outros roteadores na
Internet e é capaz de enviar rotas corretas aos
demais.
– AS identification
Protocolos Exteriores
 BGP - Border Gateway Protocol
– BGP1: RFC 1105
– BGP2: RFC 1163
– BGP3: RFC 1267
– BGP4: versão atual, com suporte a CIDR
 Algoritmo
– Path Vector
Características do BGP
 Comunicação entre sistemas autônomos
 Coordenação entre múltiplos roteadores BGP
 Propagação de informações de alcançabilidade
 Utilização do paradigma de next-hop
 Suporte a políticas de alto nível
 Utilização de transporte confiável
 Utilização de informações sobre path
 Atualizações incrementais
 Suporte à CIDR
 Agregação de rotas
 Autenticação
Path Vector
 No protocolo vetor-distância clássico, toda a
informação sobre a rota para um determinado
destino é concentrada na métrica
 Isto é insuficiente para a prevenção de loops
 Solução: anotar sempre o último router
 Path Vector
– trace de todos os roteadores, ou melhor, dos AS
– quando um roteador recebe um advertisement, ele confere
para ver se ele não está na lista roteadores
Path Vector
 Vantagem?
– Não forma laços como o RIP
 Desvantagem?
– Aumenta tamanho das tabelas
 Atributos
– forma de qualificar o path desejado (métrica)
Path Vector
AS 4
Ethernet

Token AS 1
Ring

AS 2

FRelay AS 3

ATM

AS 5

Ethernet
Vetor Distância x Path Vector

Destino Distância Destino Distância


Token Ring 2 hops Token Ring AS3, AS2, AS1
Frame Relay 1 hop Frame Relay AS3, AS2
ATM 1 hop ATM AS3
Top Ethernet 2 hops Top Ethernet AS3, AS4
PPP link 1 hop PPP link AS3
Bottom Ethernet 2 hops Bottom Ethernet AS3, AS5
Atributos BGP
 Weight (específico da CISCO)
– Atributo não divulgado pelos roteadores
– Escolhe-se o maior valor
Atributos
 Local Preference
– Usado para escolher a rota de saída de um AS
– Divulgado pelos roteadores dentro do AS
– Escolhe-se o maior valor
Atributos…
 Multi-Exit Discriminator (MED)
– É utilizado como uma sugestão para o AS
• Relacionado a rota preferida no AS
– Atributo externo, divulgado por outro AS
Atributos…
 Origin
– IGP
– EGP
– Incomplete
 AS-PATH
– Lista de sistemas autônomos
 Next Hop
– Endereço IP do gateway
Atributos…
 Community
– No export

– No advertise

– Internet
Algoritmo de Escolha de Rota
 O processo de decisão do BGP baseia-se nos
valores dos atributos de cada anúncio
 Em sistemas autônomos multihomed -
conexão com mais de um AS, tendo mais de
um caminho de saída para a Internet - é
normal a ocorrência de múltiplas rotas para a
mesma rede e nestes casos o algoritmo de
decisão do BGP é que toma a decisão da
melhor rota a ser utilizada
 9 critérios de decisão
Critérios
1) Se o next hop não for alcançável, a rota é ignorada
2) Será preferida a rota que tiver maior valor de Weight, que se
trata de um parâmetro proprietário da Cisco, utilizado
localmente em um roteador. Caso o equipamento não seja
Cisco, este passo do algoritmo não será efetuado
3) Caso o parâmetro anterior seja o mesmo, será preferida a rota
que tiver o maior valor de Local Preference (LOCAL_PREF)
4) Caso o valor de Local Preference seja o mesmo, será preferida
a rota com menor AS_PATH
5) Caso o AS_PATH tenha o mesmo tamanho, será preferida a
rota com menor tipo ORIGIN, ou seja, serão priorizados os
anúncios tipo IGP (i), seguido pelos EGP (e) e INCOMPLETE
(?)
Critérios...
6) Caso o tipo ORIGIN seja o mesmo, será preferida a rota o
atributo MED mais baixo caso as rotas tenham sido aprendidas
a partir do mesmo AS.
7) Caso as rotas tenham o mesmo valor de MED, será preferida a
rota por eBGP a iBGP.
8) Se o valor de MED for o mesmo, será preferido o anúncio vindo
do roteador conectado via IGP mais próximo deste.
9) Se o caminho interno for o mesmo, o atributo BGP ROUTER_ID
será o responsável pela decisão (tiebreaker). Neste caso, será
preferido o caminho cujo roteador possuir o menor
ROUTER_ID, que nas implementações Cisco é definido como
IP da interface loopback se esta estiver configurada. No caso
do roteador não possuir interface loopback configurada, será
escolhido o IP mais alto do roteador. Vale lembrar que para
cada fabricante o ROUTER_ID pode ser baseado em outras
informações.
Escolha da Rota
 O menor caminho pode não ser a rota
preferida
– rotas inseguras, lentas, ...
 Link State
– divulgação de mapas de toda a Internet entre AS
– mesmo sendo entre AS a divulgação dos mapas é um ônus
 IDPR - Inter Domain Policy Routing
– resolve as distâncias arbitrárias calculando a rota com base
em preferências
– consistência não pode ser garantida
– previsão de casos especiais
Uitlização de Políticas
 Anúncio de rotas pelo AS
– O fato de um sistema autônomo ser trânsito
define-se por este AS anunciar-se como caminho
não somente para suas redes, mas para todas as
demais redes que ele conhece.
– Outros ASs que não tenham o objetivo de fornecer
trânsito, apenas anunciam suas próprias redes.
 Peering
– Esta troca de tráfego é chamada de peering e é
feita geralmente mediante acordos entre ASs
Exemplo
Instituição
InstituiçãoXXque
quecompra
compraacesso
acessode
dedois
doispovedores
povedoresde
deacesso
acessoIP.
IP.

Nesta
Nestasituação
situaçãoaainstituição
instituiçãoXXpretende
pretendeutilizar
utilizartais
taisconexões
conexõespara
paraacesso
acessoaaredes
redesdada
Internet e não para ser o elo de ligação entre a Embratel e BrasilTelecom
Internet e não para ser o elo de ligação entre a Embratel e BrasilTelecom (servir de (servir de
trânsito).
trânsito).Para
Paraevitar
evitarque
queooAS AS1945
1945se setorne
tornetrânsito,
trânsito,aapolítica
políticaque
queserá
seráaplicada
aplicadaserá
seráque
que
todos os anúncios recebidos de um provedor nunca serão repassados
todos os anúncios recebidos de um provedor nunca serão repassados ao outro provedor,ao outro provedor,
ou
ouseja,
seja,todos
todosanúncios
anúnciosde deredes
redesda daEmbratel
Embratelnão nãoserão
serãodivulgados
divulgadosaaBrasilTelecom
BrasilTelecomeevice-
vice-
versa. Isso garantirá que ambas conexões sejam utilizadas para tráfego
versa. Isso garantirá que ambas conexões sejam utilizadas para tráfego provenientes ouprovenientes ou
destinados
destinadosapenas
apenasàs àsredes
redesdo doASAS1945
1945dadainstituição
instituiçãoX.X.
BGP over TCP
 Mais confiável
– controle de enlace: fluxo, erro, ack
– controle de congestionamento e slow start
 Mensagens
– Open (1)
– Update (2)
– Notification (3)
– Keepalive (4)
BGP 4 – Funcionalidade e
Mensagens
 BGP Peers
– Inicialmente um roteador BGP deve reconhecer e
autenticar o seu peer
• Os dois peers estabelecem uma conexão TCP
– Cada peer envia uma informações de
alcançabilidade positiva ou negativa
• Divulgação das rotas ativas e inativas de cada um
– Troca de mensagens continua para confirmação
das rotas e também da conexão entre os
roteadores
BGP Header
0 16 24 31

Marker

Length Type

Marker:
Marker: (16
(16 bytes)
bytes) EmEm tipos
tipos de
de mensagem
mensagem OPEN, OPEN, todos
todos osos bits
bits deste
deste campo
campo são
são
preenchidos com 1´s. Se a mensagem não tiver nenhum tipo de autenticação,
preenchidos com 1´s. Se a mensagem não tiver nenhum tipo de autenticação, também também
deverá
deveráser
serpreenchida
preenchidacom
com1´s.
1´s.Caso
Casoseja
sejautilizado
utilizadoalgum
algumtipo
tipode
deautenticação
autenticaçãoeeassinatura
assinatura
como MD5, este campo será utilizado para carregar informações de criptografia.
como MD5, este campo será utilizado para carregar informações de criptografia.
Length:
Length: (2(2 bytes)
bytes) Expressa
Expressa oo tamanho
tamanho total
total da
da mensagem,
mensagem, incluindo
incluindo oo header.
header. Este
Este
tamanho pode variar entre 19 bytes, que é o tamanho mínimo do próprio header,
tamanho pode variar entre 19 bytes, que é o tamanho mínimo do próprio header, e 4096 e 4096
bytes.
bytes.
Type:
Type: (1(1 byte)
byte) Representa
Representa oo tipo
tipo de
de mensagem,
mensagem, que que pode
pode ser
ser OPEN,
OPEN, UPDATE,
UPDATE,
NOTIFICATION
NOTIFICATION ou KEEPALIVE. Dependendo do tipo da mensagem os campos do corpoda
ou KEEPALIVE. Dependendo do tipo da mensagem os campos do corpo da
mensagem variam. No caso do tipo KEEPALIVE, não existem campos adicionais
mensagem variam. No caso do tipo KEEPALIVE, não existem campos adicionais além do além do
próprio
próprioheader
headerda damensagem.
mensagem.
BGP OPEN Message

0 8 16 31

Version
Autonomous System Num
Hold Time
BGP Identifier
Parm Len
Optional Parameters (variable)
OPEN Message
Version:
Version:(1(1byte)
byte) Versão
Versãoda damensagem
mensagemBGP. BGP.ÉÉnegociada
negociadaaamaior maiorversão
versãoexistente
existentenos
nos
peers.
peers. OOdefault
defaultdessa
dessamensagem
mensagemééaaversãoversão4.4.
Autonomous
AutonomousSystem
SystemNum:Num:(2(2bytes)
bytes)Indica
Indicaoonúmero
númerodo doAS ASque
queenviou
enviouaamensagem.
mensagem.
Hold
HoldTimer:
Timer:(2(2bytes)
bytes)Tempo
Tempomáximomáximodeterminado
determinadoparaparaooenvioenviodas
dasmensagens
mensagensde de
KEEPALIVE
KEEPALIVEou ouUPDATE.
UPDATE.Se Sedentro
dentrodeste
destetempo
temponenhuma
nenhuma
mensagem
mensagemfor forrecebida,
recebida,aasessão
sessãoBGP
BGPserá seráconsiderada
consideradadesativada.
desativada.
BGP
BGPIdentifier:
Identifier:(4(4bytes)
bytes)Carrega
Carregaaainformação
informaçãode deBGP
BGPid, id,também
tambémconhecido
conhecidocomo
como
Router-id.
Router-id. Em Emgeral,
geral,oorouter-id
router-idééescolhido
escolhidocomo comoooIPIPmais
maisalto
alto
existente
existentenonoroteador,
roteador,incluindo
incluindoasasinterfaces
interfacesloopback.
loopback. Esse
Essecálculo,
cálculo,
dependendo do fabricante, pode ser
dependendo do fabricante, pode ser diferente. diferente.
Parameter
Parameter Length:(1(1byte)
Length: byte)Indica
Indicaootamanho
tamanhodo docampo
campoOptional
OptionalParameters.
Parameters.Caso
Casonãonão
existam parâmetros adicionais, o conteúdo deste
existam parâmetros adicionais, o conteúdo deste campo será 0.campo será 0.
Optional
Optional Parameters:(Variável)
Parameters: (Variável)Estes
Estesparâmetros
parâmetrossãosãorepresentados
representadospor portuplas
tuplas
formadas por <Parameter Type, Parameter Length,
formadas por <Parameter Type, Parameter Length, Parameter Parameter
Value>.
Value>. EstesEstesdados
dadospossuem
possuemtamanho
tamanhode deum
umbyte,
byte,com
comexceção
exceção
do
doúltimo
últimocampo
campoque quepode
podeter
tertamanho
tamanhovariável.
variável.Uma
Umadasdas
utilizações
utilizaçõesdestedestecampo
camposeria
serianosnosparâmetros
parâmetrosde deautenticação
autenticaçãonasnas
mensagens
mensagenstipo tipoOPEN.
OPEN.
BGP Udpate Message

0 8 16 31
Unreachable
Withdraw Len
Withdrawn Destinations (variable) Routes

Path Len Path

Path Attributes (variable) Attribute

Destination networks (variable) NRLI


Update Message
 Unreachable routes
– rotas que devem ser removidas da tabela de
roteamento.
– termo comum para este tipo de evento é
withdrawn.
 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
Udapte Message
 Unfeasible routes length
– representa o tamanho em bytes total do campo
Withdrawn routes
 Withdraw destinations
– redes que devem ser removidas da tabela de rotas
– Representa as redes, através de instâncias de
Length e Prefix
– Exemplo: <16,143.54.0.0>
• CIDR: 143.54.0.0/16
Exemplo de roteamento BGP
BGP
BGPtable
tableversion
versionisis1660291,
1660291,local
localrouter
routerID
IDisis200.10.20.30
200.10.20.30
Status
Statuscodes:
codes:sssuppressed,
suppressed,dddamped,
damped,hhhistory,
history,* *valid,
valid,>>best,
best,i i- -internal
internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Origin codes: i - IGP, e - EGP, ? - incomplete

Network
Network Next
NextHop
Hop Metric
MetricLocPrf
LocPrfWeight
Weight Path
Path
*>i12.0.48.0/20
*>i12.0.48.0/20 198.32.252.254
198.32.252.254 100
100 00 11537
1153710578
105781742
1742i i
*>i12.6.208.0/20
*>i12.6.208.0/20 198.32.252.254
198.32.252.254 100
100 00 11537
1153710578
105781742
1742i i
*>i12.6.252.0/24
*>i12.6.252.0/24 198.32.252.254
198.32.252.254 100
100 00 11537
1153710578
1057814325
14325??
*>i12.16.126.192/26
*>i12.16.126.192/26 198.32.252.254
198.32.252.254 100
100 00 11537
1153710578
1057814325
14325??
*>i12.144.59.0/24
*>i12.144.59.0/24 198.32.252.254
198.32.252.254 100
100 00 11537
1153710466
1046613778
13778i i

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 - indefinido ou incompleto).
BGP KEEPALIVE Message
 Responsáveis por manter uma sessão
BGP ativa
 Conexões ativas entre dois roteadores
BGP
– nenhuma mensagem tipo UPDATE para enviar ao
outro
– envia uma mensagem de KEEPALIVE para
manter a conexão
• antes que o Hold Time seja atingido e a conexão seja
considerada inativa
• geralmente este tipo de mensagem é enviada ao atingir
um terço do tempo de Hold Time
• O tamanho desta mensagem é 19 bytes, sendo formado
apenas pelo header bgp básico, sem dados.
BGP NOTIFICATION Message
 Este tipo de mensagem é utilizado na
detecção de erros. Em geral este tipo de
mensagem antecede o encerramento de uma
sessão BGP
0 8 16 31

Error Code E. SubCode Data


Data

Error
ErrorCode:
Code:(1(1byte)
byte) Identifica
Identificaootipo
tipode
denotificação.
notificação.
Error
ErrorSubcode:
Subcode:(1(1byte)
byte)Identifica
Identificade deforma
formamais
maisespecífica
específicaaanatureza
naturezadodoerro.
erro.
Data:
Data:(Variável)
(Variável) Apresenta
Apresentainformações
informaçõesrelevantes
relevantessobre
sobreooerro
errodetectado.
detectado.
Alguns
Alguns exemplos seriam: header incorreto, número de AS inválido,entre
exemplos seriam: header incorreto, número de AS inválido, entreoutros.
outros.
NOTIFICATION Message
Error Code Erros Subcode
1 – Message header error 1 – Connection Not Synchronized
2 – Bad Message Length
3 – Bad Message Type
2 – OPEN message error 1 – Unsupported Version Number
2 – Bad Peer AS
3 – Bad BGP Identifier
4 – Unsupported Version Number
5 – Authentication Failure
6 – Unacceptable Hold Timer
7 – Unsupported Capability
3 – UPDATE message error 1 – Malformed Attribute List
2 – Unrecognized Well-Know Attribute
3 – Missing Well-Know 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
4 – Hold Timer expired Não aplicável
5 – Finite State Machine error Não aplicável
6 – Cease Não aplicável
Estados de uma conexão BGP
Organização da Internet em PTT
 Organização da Internet
– Diversos backbones pertencentes a empresas que
inicialmente forneciam serviços de telefonia.
– a fim de garantir a ligação entre todos os pontos,
independente de qual backbone estivessem conectados, foi
necessário criar pontos de conexão entre esses backbones
para não isolá-los dos demais
Organização da Internet em PTT
 Network Access Point (NAP) ou Ponto de
Troca de Tráfego (PTT)
– melhorar principalmente o tempo de resposta e
diminuir os gastos
– diferentes backbones estabelecem conexões
locais com o intuito de trocar tráfego e conseguir
fornecer um serviço de maior qualidade, mais
econômico e com tempo de acesso mais baixo
PTT
 Formado por um conjunto de roteadores
localizados em um único ponto neutro
– Formam uma rede local de alta velocidade,
geralmente com tecnologias de nível 2 como Fast
Ethernet ou Gigabit Ethernet
– Cada roteador representa um sistema autônomo
que deseja trocar tráfego com pelo menos um dos
participantes.
– Para a conexão entre todos os roteadores, existe
um comutador ou switch com alto poder de
processamento
Arquiteturas de PTT

Neste
Nestetipo
tipode
dePTT
PTTtodos
todosos
osparticipantes
participantesdevem
devemsimplesmente
simplesmenteestar
estarna narede
rededodoPTT.
PTT.
Os
Os acordos de troca de tráfego neste tipo de PTT são chamados bilaterais, ou seja,se
acordos de troca de tráfego neste tipo de PTT são chamados bilaterais, ou seja, seum
um
determinado participante desejar trocar tráfego com um conjunto de ASs, este
determinado participante desejar trocar tráfego com um conjunto de ASs, este deverá deverá
estabelecer
estabeleceruma
umaconexão
conexãoBGP
BGPcom
comcada
cadaum umdestes
destesparticipantes
participantesdiretamente.
diretamente.Neste
Neste
caso,
caso, na entrada de um novo participante no PTT, se este desejar trocar tráfego comNN
na entrada de um novo participante no PTT, se este desejar trocar tráfego com
participantes,
participantes,NNnovas
novassessões
sessõesBGPBGPserão
serãoestabelecidas
estabelecidas
adicionalmente no PTT.
adicionalmente no PTT.
Arquiteturas de PTT

Neste
Nestecaso,
caso,além
alémdos
dosroteadores
roteadoresdedecada
cadaparticipante,
participante,são
sãoutilizadas
utilizadasestações
estaçõesdede
trabalho com software que implementam o protocolo BGP e suas
trabalho com software que implementam o protocolo BGP e suas operações.operações.
Sendo
Sendoassim,
assim,os
osdois
doiscomputadores
computadorestrabalham
trabalhamcomo
comocentralizadores
centralizadoresdasdasrotas
rotas
anunciadas pelos participantes do PTT. Todos os participantes não mais estabelecem
anunciadas pelos participantes do PTT. Todos os participantes não mais estabelecem
sessões
sessõesentre
entreeles,
eles,mas
masestabelecem
estabelecemsessões
sessõesBGP
BGPcomcomos osdois
doisRoute
RouteServers.
Servers.Neste
Nestecaso,
caso,
são estabelecidos acordos de tráfego multilaterais.
são estabelecidos acordos de tráfego multilaterais.
Looking Glass

AAutilidade
utilidadededetal
talrecurso
recursoééqueque
este, uma vez conectado
este, uma vez conectado aos aos
Route
RouteServers,
Servers,recebe
recebetodos
todososos
anúncios
anúncios dos participantes doPTT
dos participantes do PTT
eepode
pode ser usado para consultadas
ser usado para consulta das
rotas anunciadas no PTT
rotas anunciadas no PTT e a e a
preferência
preferênciaquequecada
cadaumaumadestas
destas
tem sob as demais anunciadas.
tem sob as demais anunciadas.
Isso
Issoacaba
acabasendo
sendoútilútilaos
aos
participantes
participantes do PTT paraverificar
do PTT para verificar
se
se seus anúncios estão sendofeitos
seus anúncios estão sendo feitos
corretamente e se o efeito está
corretamente e se o efeito está de de
acordo
acordocomcomooesperado.
esperado.
PTTs no Brasil e a RNP

Você também pode gostar