Você está na página 1de 19

União Educacional de Brasília

Curso de extensão
CISCO NETWORKING ACADEMY PROGRAM

Border Gateway Protocol Version 4 - BGP-4

Isaque Profeta dos Reis

Brasília-DF
Dezembro de 2007
Isaque Profeta dos Reis

Border Gateway Protocol Version 4 - BGP-4

Trabalho para Apresentação final do Modulo I


do Curso CISCO NETWORKING ACADEMY
PROGRAM – CNAP, da União Educacional de
Brasília, sob a orientação do professor Elvio
Souza.

Brasília-DF
UNEB
Dezembro de 2007
INTRODUÇÃO

A partir do estudo historio, compreender a origem do BGP, o porquê de sua

importância e entender a sua proposta de trabalho em redes roteadas.

A partir do estudo técnico, conhecer suas características para correta

implementação. Compreender seus atributos e o uso destes na seleção de rotas em

uma rede utilizando o protocolo BGP. E examinar e entender o método de seleção de

rotas deste protocolo.


SUMÁRIO

1 HISTÓRICO DO ROTEAMENTO NA INTERNE ........................................................4


1.1 ARPANET ...............................................................................................................4
1.2 Gateway-to-gateway protocol - GGP.......................................................................5
1.3 Autonomous systems – AS .....................................................................................6
1.4 External gateway protocol - EGP ............................................................................8
2 BORDER GATEWAY PROTOCOL - BGP .................................................................9
2.1 Definição .................................................................................................................9
2.2 Roteamento...........................................................................................................10
2.3 Ambiente de aplicação ..........................................................................................11
2.4 Caracteristicas..........................................................Erro! Indicador não definido.
2.4.1 Distance Vector ..................................................................................................11
2.4.2 Comunicação TCP/IP.........................................................................................11
2.4.3 Atualização incremental de tabela de rotas........................................................12
2.4.4 Multihomed.........................................................................................................13
2.5 Atributos: ...............................................................................................................13
2.5.1 AS_Path .............................................................................................................13
2.5.2 AS_Number........................................................................................................13
2.5.3 Weight (Peso): ...................................................................................................14
2.5.4 Local preference.................................................................................................14
2.5.5 Métrica (MED) ....................................................................................................14
2.5.6 Communities ......................................................................................................15
2.5.7 Next-hop.............................................................................................................15
2.6 Seleção de melhor caminho..................................................................................16
3 CONCLUSÕES ........................................................................................................17
REFERÊNCIAS..............................................................................................................18
4

1 HISTÓRICO DO ROTEAMENTO NA INTERNE

1.1 ARPANET

No momento em que o principal backbone da Internet era a ARPANET, as

tabelas de rota para todos os destinos possíveis (outras redes), eram gerenciadas

manualmente.

Com o crescimento da Internet, verificou-se que era impraticável manter todas

as tabelas atualizadas dessa forma. Os pesquisadores da Internet optaram, então, por

usar uma arquitetura que consistia de um reduzido e centralizado grupo de roteadores

(core routers) que tinham, em suas tabelas, as rotas para todos os possíveis destinos

da Internet; e um outro grupo maior de roteadores que possuíam em suas tabelas

apenas informações (rotas) parciais, e não para toda a Internet.

Os core routers eram administrados pelo INOC (Internet Network Operations

Center), e o grupo maior de roteadores externos que ficou conhecido pelo termo

"noncore routers" (roteadores fora do núcleo), que conectavam as redes locais das

instituições de pesquisa ao backbone da ARPANET.


5

1.2 Gateway-to-gateway protocol - GGP

Foi desenvolvido e utilizado então o protocolo GGP (Gateway-To-Gateway

Protocol, baseado no algoritmo de vetor de distância), que foi usado nos core routers

para atualização automática das tabelas de rotas entre eles.

Como o backbone de cada site pode ter uma estrutura complexa essa

arquitetura possui um problema na expansão do “backbone internet”, então o esquema

de core routers não iria conseguir suportar conectar todas as redes diretamente. Era

necessário um novo esquema que permitisse aos noncore routers passar informações

aos core routers sobre as redes que estavam "atrás" de si, além de oferecer autonomia

de gerenciamento aos sites.


6

1.3 Autonomous systems – AS

Foi notado que as interconexões de um backbone com arquitetura complexa

não devem ser encaradas como várias redes independentes conectadas a uma

internet, mas como uma organização que controla várias redes e que garante que as

informações sobre as rotas internas são consistentes e que pode escolher um de seus

roteadores para fazer a ponte de comunicação para o "backbone internet”.

Chega então o conceito de Sistema Autônomo (Autonomous Systems - AS), no

qual as redes e roteadores estão sob o controle de uma mesma entidade

administrativa. Substituindo a idéia das redes locais conectadas ao backbone central.

Todos os AS tem a liberdade de escolher o esquema e arquitetura que melhor

lhe convém para suas rotas internas, e a responsabilidade de anunciar para os outros

AS's as rotas para suas redes internas não visíveis.


7

Para anunciar as rotas para suas redes internas entre si, os AS's precisavam

concordar em usar um esquema único, como um mesmo idioma por toda a Internet; e

para permitir um algoritmo de roteamento automatizado distinguir entre um AS e outro,

foi designado a cada AS, um número (Autonomous System Number - ASN) pela

mesma autoridade central encarregada de atribuir todos os endereços identificadores

das redes conectadas à Internet.


8

1.4 External gateway protocol - EGP

Dois roteadores que pertençam a AS's diferentes e trocam informações de

roteamento entre si são considerados "vizinhos externos" (exterior neighbors). Se

ambos pertencerem ao mesmo AS são considerados "vizinhos internos" (interior

neighbors). O protocolo de roteamento usado pelos “exterior neighbors” é o Exterior

Gateway Protocol ou simplesmente EGP [RFC 904]. É ele que permite o anúncio das

rotas para as redes internas do AS para o núcleo (core) da Internet.

Com o tempo, o EGP apresentou deficiências insustentáveis, como restrições

em topologia, incapacidade de evitar "loops" de roteamento e pouca flexibilidade para a

configuração de políticas de roteamento.

Isso levou ao desenvolvimento de uma solução para esses problemas, através

de um novo, moderno e mais robusto protocolo de roteamento externo.


9

2 BORDER GATEWAY PROTOCOL - BGP

2.1 Definição

O BGP é um protocolo de roteamento para ser usado entre múltiplos sistemas

autônomos em internets baseadas no protocolo TCP/IP. O BGP-4 [RFCs 1771, 1772]

substitui o EGP, suprindo suas deficiências mais sérias, ou seja, evitando "loops" de

roteamento e permitindo o uso de políticas de roteamento entre AS’s baseado em

regras arbitrárias por eles definidas. O BGP-4 (BGP Versão 4) foi a primeira versão do

BGP a suportar endereços agregados e o conceito de supernets.

O BGP ainda é dividido, dependendo de onde atua. Caso esteja fazendo a

comunicação de dois AS’s é chamado External BGP (EBGP), e se a situação for a

troca de rotas entre um provedor de serviços e um AS cliente, é chamado Internal BGP

(IBGP).
10

2.2 Roteamento

IGPs: RIP, IGRP,


EGPs: BGP

O protocolo BGP-4 assume que o roteamento interno do AS é feito através de

um sistema IGP (Interior Gateway Protocol) de roteamento interno. Este pode ser um

protocolo de roteamento como o RIP, OSPF, IGRP, EIGRP; ou mesmo rotas estáticas.

O BGP constrói um gráfico dos AS’s, usando as informações trocadas pelos "vizinhos

BGP" (BGP neighbors), que são compostas dos números identificadores dos AS’s, os

ASN. A conexão entre AS’s forma um "caminho" (path), e a coleção desses caminhos

acaba formando uma rota composta pelos números dos AS’s que devem ser

percorridos até se chegar a um determinado AS destino.


11

2.3 Ambiente de aplicação

O BGP é feito principalmente para conexões de AS’s de trânsito, para redes

com vários provedores diferentes, e quando é necessário fazer a manipulação do

trafego que entra no AS gerenciado.

O BGP não é de forma alguma, indicado para AS’s com uma conexão à

internet ou à outro AS’s, quando essa conexão é de baixa velocidade, equipamentos

não tem processamento e memória o suficiente ou quando não se tem o interesse nas

rotas feitas pelas conexões no AS.

2.4 Características

2.4.1 Distance Vector

O BGP faz a escolha de caminho usando contagem de saltos, ele não faz

verificação de banda ou mesmo estado de link.

2.4.2 Comunicação TCP/IP

O BGP faz uso do TCP (porta 179) para o transporte das informações de

roteamento de modo que ele próprio não precisa preocupar-se a respeito da correta da

transmissão das informações.


12

2.4.3 Atualização incremental de tabela de rotas

• O BGP faz uso do TCP (porta 179) para o transporte das

informações de roteamento de modo que ele próprio não precisa

preocupar-se a respeito da correta da transmissão das informações.

• É estabelecida a conexão TCP entre os dois roteadores que trocam

mensagens de abertura da sessão e negociam os parâmetros de

operação;

• O primeiro fluxo de dados transmitido é a tabela de rotas BGP

completa. Posteriores atualizações nesta tabela são feitas,

incrementalmente, à medida que as mudanças ocorrerem;

• Como não há a atualização completa da tabela após a primeira, o

roteador mantém a informação da versão da tabela que todos os seus

peers possuem, enquanto durar a sessão entre eles. Se esta for

interrompida por qualquer motivo, o processo é iniciado novamente a

partir do primeiro passo;

• Mensagens de keepalive são enviadas periodicamente para manter

a sessão aberta;

• Mensagens de aviso são enviadas quando ocorrem erros ou outras

situações especiais;

• Caso uma conexão verifique um erro, uma mensagem é enviada e

a conexão fechada, encerrando a sessão.


13

2.4.4 Multihomed

Permite múltiplas conexões entre AS’s, e entre AS’s e ISP’s (provedores),

gerando assim a opção de balanceamento de rotas e tráfego, gerando assim

redundância, diversidade e disponibilidade para a rede.

2.5 Atributos:

2.5.1 AS_Path

Quando uma rota publicada passa por um sistema autônomo, o AS_Number é

adicionado a uma lista ordenada de AS_Numbers que a rota publicada tem

atravessado. Caso um AS encontre seu propri AS_Number, ele descarta (é assim que

é feita a proteção para Loop em BGP). A rota mais curta (com menos saltos) é

escolhida e colocada na tabela de rotas.

2.5.2 AS_Number

Assim como o endereço IP, mas para os Sistemas Autônomos, o AS_Number é

um número que identifica o AS.

Sendo Formado por um número inteiro de 16 bits que variam de 1 a 65535,

sendo que os números 1 e 65535 são considerados reservados e a faixa de 64512 a

65534 são chamados AS privados.

Os AS_Number públicos, assim como o IP são distribuídos pelos provedores

(ISP) ou pelas RIR’s (Organismos regionais de endereçamento).


14

Os AS_Number privados podem ser usados para possibilitar aos ISPs conectar

clientes multihomed em seu backbone (RFC2270), em redes corporativa com diversas

regiões, mas uma única conexão Internet e dentro de uma confederação BGP.

2.5.3 Weight (Peso):

Como o BGP não faz leitura de banda e conta apenas saltos, o Weight (Peso),

faz um trabalho de preferência agregada, adotando um valor às conexões com mesmo

destino e escolhendo o maior desses valores como rota preferencial.

O atributo Weight (Peso) é proprietário CISCO e não propaga junto com as

rotas para a rede.

2.5.4 Local preference

Usando este atributo é possível escolher qual a melhor saída de um AS, e ao

contrario do Peso, ele é propagado por todo o AS. Caso existam múltiplas saídas de

um AS o maior Local Preference escolhido como melhor saída.

2.5.5 Métrica (MED)

O multi-exit discriminator (MED), usa uma sugestão ao AS externo de sua rota

preferida de entrada indicando pelo menor MED. O termo sugestão é usado por que o

AS externo que está recebendo o MED pode estar usando outros atributos para a

seleção de rota.
15

2.5.6 Communities

Usado para adjacência nas trocas de rotas entre provedores, este atributo, faz

um controle na divulgação da rota dependendo do seu valor:

Communitie = Internet – A rota é divulgada para os AS’s seguintes sem

nenhum bloqueio.

Communitie = No-export – A rota é divulgada apenas para o AS conectado,

sem transmitir para outros AS.

Communitie = No-advertise – A rota é divulgada apenas para o roteador de

borda da AS indicada (este roteador não repassará a rota dentro do seu AS.).

2.5.7 Next-hop

O atributo Next-hop é usado para retornar o roteador que divulgou a rota. Em

EBGP, o next-hop é o IP dos peers da conexão. Já em IBGP ele é divulgado para todo

o AS para que os roteadores dentro deste cheguem as redes o AS remoto.


16

2.6 Seleção de melhor caminho

O BGP pode receber de vários caminhos para a mesma rota de varias fontes,

mas o ele escolherá manter na tabela sempre o melhor caminho. Ele usa a seguinte

ordem para fazer essa seleção:

• Maior Weight (Peso);

• O peso sendo igual usa-se o maior Local Preference;

• Se o Local Preference for igual, o caminho gerado no BGP do

roteador onde ele roda será o escolhido;

• Caso o caminho não tenha sido gerado é feita a seleção pelo

menor AS_Path;

• Tendo o mesmo AS_Path é feita a seleção pelo menor tipo de

origem (Onde IGP < BGP < incompleto);

• A origem também sendo a mesma é feita a escolha do Menor MED;

• O MED sendo igual o caminho será feito pelo mais próximo IGP;

• Em ultimo caso, é escolhido o caminho pelo menor endereço IP

indicado pelo Router ID.


17

3 CONCLUSÕES

A proposta do BGP é manter gerencias individuais de cada rede backbone

existente, tendo como modelo o conceito de sistema autônomo, fazendo com que o

Backbone INTERNET, seja como é hoje: integrada e com todas as rotas bem definidas.

A partir de seus atributos o Border Gateway Protocol, permite a manipulação do

tráfego, tanto de entrada como o de saída, de um sistema autônomo usando diversos

parâmetros, e através disso fazendo sua seleção de rotas a partir dos mais relevantes.
18

REFERÊNCIAS

MOURA, Alex Soares de. O Protocolo BGP4 - Parte 1. Newsgeneration. Disponível


em : < http://www.rnp.br/newsgen/9903/bgp4.html> Acesso em: 04 dez. 2007.

MOURA, Alex Soares de. O Protocolo BGP4 - Parte 2. Newsgeneration. Disponível


em : < http://www.rnp.br/newsgen/9905/bgp4p2.html> Acesso em: 04 dez. 2007.

MOURA, Alex Soares de. O Protocolo BGP4 - Parte 3. Newsgeneration. Disponível


em : < http://www.rnp.br/newsgen/9907/pgbp4p3.html> Acesso em: 04 dez. 2007.

CISCO. Cisco Documentation Border Gateway Protocol. Cisco Systems, Inc.


Disponível em: < http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/bgp.htm>
Acesso em: 07 dez. 2007.

MADEIRA, Frederico. Introdução ao BGP. IMASTERS. Disponível em: <


http://www.imasters.com.br/artigo/4653/redes/introducao_ao_bgp/> Acesso em: 04 dez.
2007