SlideShare uma empresa Scribd logo
1 de 40
Roteamento entre Sistemas
Autônomos
“Although it is desirable for routers to exchange
routing information, it is impractical for all
routers in an arbitrary large internet to
participate in a single routing update protocol.”
Douglas Comer
Internetworking with 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 1
Token
Ring
AS 2
FRelay AS 3
ATM
AS 4
Ethernet
AS 5
Ethernet
Vetor Distância x Path Vector
Destino Distância
Token Ring 2 hops
Frame Relay 1 hop
ATM 1 hop
Top Ethernet 2 hops
PPP link 1 hop
Bottom Ethernet 2 hops
Destino Distância
Token Ring AS3, AS2, AS1
Frame Relay AS3, AS2
ATM AS3
Top Ethernet AS3, AS4
PPP link AS3
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 X que compra acesso de dois povedores de acesso IP.
Nesta situação a instituição X pretende utilizar tais conexões para acesso a redes da
Internet e não para ser o elo de ligação entre a Embratel e BrasilTelecom (servir de trânsito).
Para evitar que o AS 1945 se torne trânsito, a política que será aplicada será que todos os
anúncios recebidos de um provedor nunca serão repassados ao outro provedor, ou seja,
todos anúncios de redes da Embratel não serão divulgados a BrasilTelecom e vice-versa.
Isso garantirá que ambas conexões sejam utilizadas para tráfego provenientes ou
destinados apenas às redes do AS 1945 da instituição 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
Marker
Length Type
0 16 31
24
Marker: (16 bytes) Em tipos de mensagem OPEN, todos os bits deste campo são
preenchidos com 1´s. Se a mensagem não tiver nenhum tipo de autenticação, também
deverá ser preenchida com 1´s. Caso seja utilizado algum tipo de autenticação e assinatura
como MD5, este campo será utilizado para carregar informações de criptografia.
Length: (2 bytes) Expressa o tamanho total da mensagem, incluindo o header. Este
tamanho pode variar entre 19 bytes, que é o tamanho mínimo do próprio header, e 4096
bytes.
Type: (1 byte) Representa o tipo de mensagem, que pode ser OPEN, UPDATE,
NOTIFICATION ou KEEPALIVE. Dependendo do tipo da mensagem os campos do corpo da
mensagem variam. No caso do tipo KEEPALIVE, não existem campos adicionais além do
próprio header da mensagem.
BGP OPEN Message
Version
Autonomous System Num
Hold Time
BGP Identifier
Parm Len
Optional Parameters (variable)
0 16 31
8
OPEN Message
Version: (1 byte) Versão da mensagem BGP. É negociada a maior versão existente nos
peers. O default dessa mensagem é a versão 4.
Autonomous System Num: (2 bytes) Indica o número do AS que enviou a mensagem.
Hold Timer: (2 bytes) Tempo máximo determinado para o envio das mensagens de
KEEPALIVE ou UPDATE. Se dentro deste tempo nenhuma
mensagem for recebida, a sessão BGP será considerada desativada.
BGP Identifier: (4 bytes) Carrega a informação de BGP id, também conhecido como
Router-id. Em geral, o router-id é escolhido como o IP mais alto
existente no roteador, incluindo as interfaces loopback. Esse cálculo,
dependendo do fabricante, pode ser diferente.
Parameter Length: (1 byte) Indica o tamanho do campo Optional Parameters. Caso não
existam parâmetros adicionais, o conteúdo deste campo será 0.
Optional Parameters: (Variável) Estes parâmetros são representados por tuplas
formadas por <Parameter Type, Parameter Length, Parameter
Value>. Estes dados possuem tamanho de um byte, com exceção
do último campo que pode ter tamanho variável. Uma das
utilizações deste campo seria nos parâmetros de autenticação nas
mensagens tipo OPEN.
BGP Udpate Message
Withdraw Len
Withdrawn Destinations (variable)
Path Len
Path Attributes (variable)
Destination networks (variable)
0 16 31
8
Unreachable
Routes
Path
Attribute
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 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
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
Error Code
Data
0 16 31
8
E. SubCode Data
Error Code: (1 byte) Identifica o tipo de notificação.
Error Subcode: (1 byte) Identifica de forma mais específica a natureza do erro.
Data: (Variável) Apresenta informações relevantes sobre o erro detectado.
Alguns exemplos seriam: header incorreto, número de AS inválido, entre 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 tipo de PTT todos os participantes devem simplesmente estar na rede do PTT.
Os acordos de troca de tráfego neste tipo de PTT são chamados bilaterais, ou seja, se um
determinado participante desejar trocar tráfego com um conjunto de ASs, este deverá
estabelecer uma conexão BGP com cada um destes participantes diretamente. Neste
caso, na entrada de um novo participante no PTT, se este desejar trocar tráfego com N
participantes, N novas sessões BGP serão estabelecidas
adicionalmente no PTT.
Arquiteturas de PTT
Neste caso, além dos roteadores de cada participante, são utilizadas estações de
trabalho com software que implementam o protocolo BGP e suas operações.
Sendo assim, os dois computadores trabalham como centralizadores das rotas
anunciadas pelos participantes do PTT. Todos os participantes não mais estabelecem
sessões entre eles, mas estabelecem sessões BGP com os dois Route Servers. Neste caso,
são estabelecidos acordos de tráfego multilaterais.
Looking Glass
A utilidade de tal recurso é que
este, uma vez conectado aos
Route Servers, recebe todos os
anúncios dos participantes do PTT
e pode ser usado para consulta das
rotas anunciadas no PTT e a
preferência que cada uma destas
tem sob as demais anunciadas.
Isso acaba sendo útil aos
participantes do PTT para verificar
se seus anúncios estão sendo feitos
corretamente e se o efeito está de
acordo com o esperado.
PTTs no Brasil e a RNP

Mais conteúdo relacionado

Semelhante a BGP.ppt

Border Gateway Protocol - BGP - Apresentação
Border Gateway Protocol - BGP - ApresentaçãoBorder Gateway Protocol - BGP - Apresentação
Border Gateway Protocol - BGP - ApresentaçãoIsaque Profeta
 
Introdução ao OSPF e BGP
Introdução ao OSPF e BGPIntrodução ao OSPF e BGP
Introdução ao OSPF e BGPAbivio Pimenta
 
23156584 roteamento-enderecamento
23156584 roteamento-enderecamento23156584 roteamento-enderecamento
23156584 roteamento-enderecamentoAntónio Barroso
 
R&c 05 14_2 - Protocolo IP (Parte 2)
R&c 05 14_2 - Protocolo IP (Parte 2)R&c 05 14_2 - Protocolo IP (Parte 2)
R&c 05 14_2 - Protocolo IP (Parte 2)Mariana Hiyori
 
Rede do modelo osi daniel e andre
Rede do modelo osi   daniel e andreRede do modelo osi   daniel e andre
Rede do modelo osi daniel e andreDaniel Pontes
 
Rede do modelo osi daniel e andre
Rede do modelo osi   daniel e andreRede do modelo osi   daniel e andre
Rede do modelo osi daniel e andreDaniel Pontes
 
WANs e Roteadores Cap. 6 Roteamento e Protocolos de Roteamento - CCNA 3.1 Wel...
WANs e Roteadores Cap. 6 Roteamento e Protocolos de Roteamento - CCNA 3.1 Wel...WANs e Roteadores Cap. 6 Roteamento e Protocolos de Roteamento - CCNA 3.1 Wel...
WANs e Roteadores Cap. 6 Roteamento e Protocolos de Roteamento - CCNA 3.1 Wel...Wellington Oliveira
 
OSPF - Open Shortest Path First
OSPF - Open Shortest Path FirstOSPF - Open Shortest Path First
OSPF - Open Shortest Path FirstJoao Gonçalves
 
Roteadores
RoteadoresRoteadores
RoteadoresTiago
 
Protocolos de encaminhamento_i
Protocolos de encaminhamento_iProtocolos de encaminhamento_i
Protocolos de encaminhamento_iescolaporto
 
Protocolos de encaminhamento_i
Protocolos de encaminhamento_iProtocolos de encaminhamento_i
Protocolos de encaminhamento_iredesteste
 
Redes Avançadas - 2.IPv6
Redes Avançadas - 2.IPv6Redes Avançadas - 2.IPv6
Redes Avançadas - 2.IPv6Mauro Tapajós
 
Redes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IPRedes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IPMauro Tapajós
 
M3- REDES DE COMPUTADOR AVANÇADO atualizado.pptx
M3- REDES DE COMPUTADOR AVANÇADO atualizado.pptxM3- REDES DE COMPUTADOR AVANÇADO atualizado.pptx
M3- REDES DE COMPUTADOR AVANÇADO atualizado.pptxAnaCecliadeBastosRod
 
Redes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IPRedes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IPMauro Tapajós
 

Semelhante a BGP.ppt (20)

Border Gateway Protocol - BGP - Apresentação
Border Gateway Protocol - BGP - ApresentaçãoBorder Gateway Protocol - BGP - Apresentação
Border Gateway Protocol - BGP - Apresentação
 
Cap04b
Cap04bCap04b
Cap04b
 
Introdução ao OSPF e BGP
Introdução ao OSPF e BGPIntrodução ao OSPF e BGP
Introdução ao OSPF e BGP
 
Camada de rede parte3
Camada de rede   parte3Camada de rede   parte3
Camada de rede parte3
 
23156584 roteamento-enderecamento
23156584 roteamento-enderecamento23156584 roteamento-enderecamento
23156584 roteamento-enderecamento
 
R&c 05 14_2 - Protocolo IP (Parte 2)
R&c 05 14_2 - Protocolo IP (Parte 2)R&c 05 14_2 - Protocolo IP (Parte 2)
R&c 05 14_2 - Protocolo IP (Parte 2)
 
Rede do modelo osi daniel e andre
Rede do modelo osi   daniel e andreRede do modelo osi   daniel e andre
Rede do modelo osi daniel e andre
 
Rede do modelo osi daniel e andre
Rede do modelo osi   daniel e andreRede do modelo osi   daniel e andre
Rede do modelo osi daniel e andre
 
Routing
RoutingRouting
Routing
 
Routing
RoutingRouting
Routing
 
WANs e Roteadores Cap. 6 Roteamento e Protocolos de Roteamento - CCNA 3.1 Wel...
WANs e Roteadores Cap. 6 Roteamento e Protocolos de Roteamento - CCNA 3.1 Wel...WANs e Roteadores Cap. 6 Roteamento e Protocolos de Roteamento - CCNA 3.1 Wel...
WANs e Roteadores Cap. 6 Roteamento e Protocolos de Roteamento - CCNA 3.1 Wel...
 
OSPF - Open Shortest Path First
OSPF - Open Shortest Path FirstOSPF - Open Shortest Path First
OSPF - Open Shortest Path First
 
Roteadores
RoteadoresRoteadores
Roteadores
 
Protocolos de encaminhamento_i
Protocolos de encaminhamento_iProtocolos de encaminhamento_i
Protocolos de encaminhamento_i
 
Protocolos de encaminhamento_i
Protocolos de encaminhamento_iProtocolos de encaminhamento_i
Protocolos de encaminhamento_i
 
Redes Avançadas - 2.IPv6
Redes Avançadas - 2.IPv6Redes Avançadas - 2.IPv6
Redes Avançadas - 2.IPv6
 
Redes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IPRedes de computadores II - 1.Arquitetura TCP/IP
Redes de computadores II - 1.Arquitetura TCP/IP
 
M3- REDES DE COMPUTADOR AVANÇADO atualizado.pptx
M3- REDES DE COMPUTADOR AVANÇADO atualizado.pptxM3- REDES DE COMPUTADOR AVANÇADO atualizado.pptx
M3- REDES DE COMPUTADOR AVANÇADO atualizado.pptx
 
Redes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IPRedes I -7.Introdução ao TCP/IP
Redes I -7.Introdução ao TCP/IP
 
O Protocolo OSPF
O Protocolo OSPFO Protocolo OSPF
O Protocolo OSPF
 

BGP.ppt

  • 1. Roteamento entre Sistemas Autônomos “Although it is desirable for routers to exchange routing information, it is impractical for all routers in an arbitrary large internet to participate in a single routing update protocol.” Douglas Comer Internetworking with TCP/IP
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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)
  • 8. Path Vector AS 1 Token Ring AS 2 FRelay AS 3 ATM AS 4 Ethernet AS 5 Ethernet
  • 9. Vetor Distância x Path Vector Destino Distância Token Ring 2 hops Frame Relay 1 hop ATM 1 hop Top Ethernet 2 hops PPP link 1 hop Bottom Ethernet 2 hops Destino Distância Token Ring AS3, AS2, AS1 Frame Relay AS3, AS2 ATM AS3 Top Ethernet AS3, AS4 PPP link AS3 Bottom Ethernet AS3, AS5
  • 10. Atributos BGP  Weight (específico da CISCO) – Atributo não divulgado pelos roteadores – Escolhe-se o maior valor
  • 11. 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
  • 12. 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
  • 13. Atributos…  Origin – IGP – EGP – Incomplete  AS-PATH – Lista de sistemas autônomos  Next Hop – Endereço IP do gateway
  • 14. Atributos…  Community – No export – No advertise – Internet
  • 15. 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
  • 16. 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 (?)
  • 17. 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.
  • 18. 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
  • 19. 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
  • 20. Exemplo Instituição X que compra acesso de dois povedores de acesso IP. Nesta situação a instituição X pretende utilizar tais conexões para acesso a redes da Internet e não para ser o elo de ligação entre a Embratel e BrasilTelecom (servir de trânsito). Para evitar que o AS 1945 se torne trânsito, a política que será aplicada será que todos os anúncios recebidos de um provedor nunca serão repassados ao outro provedor, ou seja, todos anúncios de redes da Embratel não serão divulgados a BrasilTelecom e vice-versa. Isso garantirá que ambas conexões sejam utilizadas para tráfego provenientes ou destinados apenas às redes do AS 1945 da instituição X.
  • 21. 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)
  • 22. 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
  • 23. BGP Header Marker Length Type 0 16 31 24 Marker: (16 bytes) Em tipos de mensagem OPEN, todos os bits deste campo são preenchidos com 1´s. Se a mensagem não tiver nenhum tipo de autenticação, também deverá ser preenchida com 1´s. Caso seja utilizado algum tipo de autenticação e assinatura como MD5, este campo será utilizado para carregar informações de criptografia. Length: (2 bytes) Expressa o tamanho total da mensagem, incluindo o header. Este tamanho pode variar entre 19 bytes, que é o tamanho mínimo do próprio header, e 4096 bytes. Type: (1 byte) Representa o tipo de mensagem, que pode ser OPEN, UPDATE, NOTIFICATION ou KEEPALIVE. Dependendo do tipo da mensagem os campos do corpo da mensagem variam. No caso do tipo KEEPALIVE, não existem campos adicionais além do próprio header da mensagem.
  • 24. BGP OPEN Message Version Autonomous System Num Hold Time BGP Identifier Parm Len Optional Parameters (variable) 0 16 31 8
  • 25. OPEN Message Version: (1 byte) Versão da mensagem BGP. É negociada a maior versão existente nos peers. O default dessa mensagem é a versão 4. Autonomous System Num: (2 bytes) Indica o número do AS que enviou a mensagem. Hold Timer: (2 bytes) Tempo máximo determinado para o envio das mensagens de KEEPALIVE ou UPDATE. Se dentro deste tempo nenhuma mensagem for recebida, a sessão BGP será considerada desativada. BGP Identifier: (4 bytes) Carrega a informação de BGP id, também conhecido como Router-id. Em geral, o router-id é escolhido como o IP mais alto existente no roteador, incluindo as interfaces loopback. Esse cálculo, dependendo do fabricante, pode ser diferente. Parameter Length: (1 byte) Indica o tamanho do campo Optional Parameters. Caso não existam parâmetros adicionais, o conteúdo deste campo será 0. Optional Parameters: (Variável) Estes parâmetros são representados por tuplas formadas por <Parameter Type, Parameter Length, Parameter Value>. Estes dados possuem tamanho de um byte, com exceção do último campo que pode ter tamanho variável. Uma das utilizações deste campo seria nos parâmetros de autenticação nas mensagens tipo OPEN.
  • 26. BGP Udpate Message Withdraw Len Withdrawn Destinations (variable) Path Len Path Attributes (variable) Destination networks (variable) 0 16 31 8 Unreachable Routes Path Attribute NRLI
  • 27. 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
  • 28. 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
  • 29. Exemplo de roteamento BGP 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 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).
  • 30. 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.
  • 31. 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 Error Code Data 0 16 31 8 E. SubCode Data Error Code: (1 byte) Identifica o tipo de notificação. Error Subcode: (1 byte) Identifica de forma mais específica a natureza do erro. Data: (Variável) Apresenta informações relevantes sobre o erro detectado. Alguns exemplos seriam: header incorreto, número de AS inválido, entre outros.
  • 32. 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
  • 33. Estados de uma conexão BGP
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. Arquiteturas de PTT Neste tipo de PTT todos os participantes devem simplesmente estar na rede do PTT. Os acordos de troca de tráfego neste tipo de PTT são chamados bilaterais, ou seja, se um determinado participante desejar trocar tráfego com um conjunto de ASs, este deverá estabelecer uma conexão BGP com cada um destes participantes diretamente. Neste caso, na entrada de um novo participante no PTT, se este desejar trocar tráfego com N participantes, N novas sessões BGP serão estabelecidas adicionalmente no PTT.
  • 38. Arquiteturas de PTT Neste caso, além dos roteadores de cada participante, são utilizadas estações de trabalho com software que implementam o protocolo BGP e suas operações. Sendo assim, os dois computadores trabalham como centralizadores das rotas anunciadas pelos participantes do PTT. Todos os participantes não mais estabelecem sessões entre eles, mas estabelecem sessões BGP com os dois Route Servers. Neste caso, são estabelecidos acordos de tráfego multilaterais.
  • 39. Looking Glass A utilidade de tal recurso é que este, uma vez conectado aos Route Servers, recebe todos os anúncios dos participantes do PTT e pode ser usado para consulta das rotas anunciadas no PTT e a preferência que cada uma destas tem sob as demais anunciadas. Isso acaba sendo útil aos participantes do PTT para verificar se seus anúncios estão sendo feitos corretamente e se o efeito está de acordo com o esperado.
  • 40. PTTs no Brasil e a RNP