Você está na página 1de 38

BGP

BGP - Border Gateway Protocol

Autonomous System (AS)


conjunto de roteadores sob uma mesma poltica de

roteamento e mesma administrao.


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

Caractersticas do BGP

Comunicao entre sistemas autnomos Coordenao entre mltiplos roteadores BGP Propagao de informaes de alcanabilidade Utilizao do paradigma de next-hop Suporte a polticas de alto nvel

Caractersticas do BGP

Utilizao de transporte confivel Utilizao de informaes sobre path Atualizaes incrementais Suporte CIDR Agregao de rotas Autenticao

Protocolos Exteriores

BGP - Border Gateway Protocol


BGP4: verso atual, com suporte a CIDR

Algoritmo
Path Vector

Path Vector

No protocolo vetor-distncia clssico, toda a informao sobre a rota para um determinado destino concentrada na mtrica.
Isto insuficiente para a preveno de loops Soluo: 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 no est na lista roteadores.

Path Vector

Vantagem?
No forma laos como o RIP

Desvantagem?
Aumenta tamanho das tabelas

Atributos
forma de qualificar o path desejado (mtrica)

Path Vector
AS 4

Ethernet Token Ring


AS 1

AS 2
FRelay

AS 3
ATM AS 5

Ethernet

Limites de um Sistema Autnomo

Como determinar os limites de um sistema autnomo?


Conhecimento da topologia Conhecimento do protocolo Conhecimento do Delay e do Overhead

Polticas administrativas
Permisses

Gerenciamento de trfego
Rede dinmica

Algoritmo de Escolha de Rota

O processo de deciso do BGP baseia-se nos valores dos atributos de cada anncio. Em sistemas autnomos multihomed - conexo com mais de um AS, tendo mais de um caminho de sada para a Internet - normal a ocorrncia de mltiplas rotas para a mesma rede e nestes casos o algoritmo de deciso do BGP que toma a deciso da melhor rota a ser utilizada.

Escolha da Rota

O menor caminho pode no ser a rota preferida


rotas inseguras, lentas, ...

Link State
divulgao de mapas de toda a Internet entre

AS mesmo sendo entre AS a divulgao dos mapas um nus

Escolha da Rota
IDPR

- Inter Domain Policy Routing

resolve as distncias arbitrrias

calculando a rota com base em preferncias consistncia no pode ser garantida previso de casos especiais

Atributos BGP

Weight (especfico da CISCO) Atributo no divulgado pelos roteadores Escolhe-se o maior valor

Local Preference Usado para escolher a rota de sada de um AS. Divulgado pelos roteadores dentro do AS. Escolhe-se o maior valor.

Community

- Atributo que pode ser repassado a outros peers. Trata-se de uma espcie de carimbo que acompanha anncios para que estes possam ser tratados de forma diferenciada. No export No advertise Internet

Community
No export

Community
No advertise

Community
Internet

Multi-Exit Discriminator (MED)


utilizado como uma sugesto para o AS,

est relacionado a rota preferida no AS. Atributo externo, divulgado por outro AS

Origin IGP EGP Incomplete

AS-PATH Lista de sistemas autnomos Next Hop Endereo IP do gateway

Uitlizao de Polticas

Anncio de rotas pelo AS O fato de um sistema autnomo ser trnsito define-se por este AS anunciar-se como caminho no somente para suas redes, mas para todas as demais redes que ele conhece. Outros ASs que no tenham o objetivo de fornecer trnsito, apenas anunciam suas prprias redes.

Uitlizao de Polticas

Peering
Esta troca de trfego chamada de

peering e feita geralmente mediante acordos entre ASs.

Exemplo
Instituio X que compra acesso de dois provedores de acesso IP. Nesta situao a instituio X pretende utilizar tais conexes para acesso a redes da Internet e no para ser o elo de ligao entre a Embratel e BrasilTelecom (servir de trnsito). Para evitar que o AS se torne trnsito, a poltica que ser aplicada ser que todos os anncios recebidos de um provedor nunca sero repassados ao outro provedor, ou seja, todos anncios de redes da Embratel no sero divulgados a BrasilTelecom e viceversa. Isso garantir que ambas conexes sejam utilizadas para trfego provenientes ou destinados apenas s redes do AS da instituio X.

BGP over TCP

Mais confivel
controle de enlace: fluxo, erro, ack controle de congestionamento e slow start

Mensagens

Header Open Keepalive Notification Update

BGP 4 Funcionalidade e Mensagens

BGP Peers
Inicialmente um roteador BGP deve reconhecer e

autenticar o seu peer.

Os dois peers estabelecem uma conexo TCP

Cada peer envia uma informaes de alcanabilidade

positiva ou negativa.

Divulgao das rotas ativas e inativas de cada um.

Troca de mensagens continua para confirmao das

rotas e tambm da conexo entre os roteadores.

BGP Header
0 16 24 31

Marker
Length Type

Marker: (16 bytes) Em tipos de mensagem OPEN, todos os bits deste campo so preenchidos com 1s. Se a mensagem no tiver nenhum tipo de autenticao, tambm dever ser preenchida com 1s. Caso seja utilizado algum tipo de autenticao e assinatura como MD5, este campo ser utilizado para carregar informaes de criptografia. Length: (2 bytes) Expressa o tamanho total da mensagem, incluindo o header. Este tamanho pode variar entre 19 bytes, que o tamanho mnimo do prprio 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, no existem campos adicionais alm do prprio header da mensagem.

BGP OPEN Message


0 8 16 31

Version Autonomous System Num

Hold Time
BGP Identifier Parm Len Optional Parameters (variable)

OPEN Message
Version: (1 byte) Verso da mensagem BGP. negociada a maior verso existente nos peers. O default dessa mensagem a verso 4. Autonomous System Num: (2 bytes) Indica o nmero do AS que enviou a mensagem. Hold Timer: (2 bytes) Tempo mximo determinado para o envio das mensagens de KEEPALIVE ou UPDATE. Se dentro deste tempo nenhuma mensagem for recebida, a sesso BGP ser considerada desativada. BGP Identifier: (4 bytes) Carrega a informao de BGP id, tambm conhecido como Router-id. Em geral, o router-id escolhido como o IP mais alto existente no roteador, incluindo as interfaces loopback. Esse clculo, dependendo do fabricante, pode ser diferente. Parameter Length: (1 byte) Indica o tamanho do campo Optional Parameters. Caso no existam parmetros adicionais, o contedo deste campo ser 0. Optional Parameters: (Varivel) Estes parmetros so representados por tuplas formadas por <Parameter Type, Parameter Length, Parameter Value>. Estes dados possuem tamanho de um byte, com exceo do ltimo campo que pode ter tamanho varivel. Uma das utilizaes deste campo seria nos parmetros de autenticao nas mensagens tipo OPEN.

BGP Udpate Message


0 8 16 31

Withdraw Len Withdrawn Destinations (variable) Path Len Path Attributes (variable) Destination networks (variable)

Unreachable

Routes Path Attribute

NRLI

Mensagem Update

Unreachable routes
rotas que devem ser removidas da tabela de roteamento. termo comum para este tipo de evento withdrawn.

Network Layer Reachability Information


so definidas as rotas que devem ser includas na tabela

de roteamento. A representao 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, atravs de instncias 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 *>i12.0.48.0/20 *>i12.6.208.0/20 *>i12.6.252.0/24 *>i12.16.126.192/26 *>i12.144.59.0/24 Next Hop 198.32.252.254 198.32.252.254 198.32.252.254 198.32.252.254 198.32.252.254 Metric LocPrf Weight 100 0 100 0 100 0 100 0 100 0 Path 11537 10578 1742 i 11537 10578 1742 i 11537 10578 14325 ? 11537 10578 14325 ? 11537 10466 13778 i

A partir do incio de cada linha, o smbolo * (asterisco) apresentado ao lado dos prefixos mostra que estes esto definidos como melhores caminhos para as redes em questo. Ao lado apresentada a rede anunciada na forma de bloco CIDR, em seguida o Next Hop que define-se como prximo roteador que os pacotes para esta rede devero ser enviados. Tambm todas as rotas possuem o atributo Local Preference com valor 100, o atributo Weight (proprietrio da Cisco) com valor 0. Outro atributo o AS_PATH que mostra a seqncia de sistemas autnomos at a chegada a rede destino e por fim, o atributo ORIGIN, que define a procedncia do anncio pelo AS que anunciou e representado por i (IGP), e (EGP - indefinido ou incompleto).

Mensagem KEEPALIVE

Responsveis por manter uma sesso BGP ativa Conexes ativas entre dois roteadores BGP nenhuma mensagem tipo UPDATE para enviar ao outro envia uma mensagem de KEEPALIVE para manter a conexo

antes que o Hold Time seja atingido e a conexo seja considerada inativa geralmente este tipo de mensagem enviada ao atingir um tero do tempo de Hold Time O tamanho desta mensagem 19 bytes, sendo formado apenas pelo header bgp bsico, sem dados.

Mensagem NOTIFICATION

Este tipo de mensagem utilizado na deteco de erros. Em geral este tipo de mensagem antecede o encerramento de uma sesso BGP
0 8 16 31

Error Code

E. SubCode Data

Data

Error Code: (1 byte) Identifica o tipo de notificao. Error Subcode: (1 byte) Identifica de forma mais especfica a natureza do erro. Data: (Varivel) Apresenta informaes relevantes sobre o erro detectado. Alguns exemplos seriam: header incorreto, nmero de AS invlido, entre outros.

Mensagem NOTIFICATION
Error Code 1 Message header error Erros Subcode
1 Connection Not Synchronized 2 Bad Message Length 3 Bad Message Type 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 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 No aplicvel No aplicvel No aplicvel 2 OPEN message error

3 UPDATE message error

4 Hold Timer expired 5 Finite State Machine error 6 Cease

Estados de uma conexo BGP