BGP – Confederations e Route Reflectors

33
FACULDADE DE CIÊNCIAS DA UNIVERSIDADE DO PORTO BGP Confederations e Route Reflectors Relatório Trabalho Prático2 Paulo Vilares, José Alexandre e Geraldo Carlos Maio de 2010 DEPARTAMENTO DE CIÊNCIA DE COMPUTADORES Tópicos Avançados de Redes

Transcript of BGP – Confederations e Route Reflectors

Page 1: BGP – Confederations e Route Reflectors

FACULDADE DE CIÊNCIAS DA UNIVERSIDADE DO PORTO

BGP – Confederations e Route Reflectors

Relatório Trabalho Prático2

Paulo Vilares, José Alexandre e Geraldo Carlos

Maio de 2010

DEPARTAMENTO DE CIÊNCIA DE COMPUTADORES

Tópicos Avançados de Redes

Page 2: BGP – Confederations e Route Reflectors

1

ÍNDICE

Índice ............................................................................................................................................. 1

1 Introdução ............................................................................................................................. 2

2 Objectivos .............................................................................................................................. 3

3 Border Gateway Protocol ...................................................................................................... 4

3.1 Confederations ................................................................................................................. 4

3.2 Route Reflector ................................................................................................................ 6

4 Implementação ..................................................................................................................... 7

4.1 Topologia .......................................................................................................................... 7

4.1.1 Cenário 1 – Confederations ..................................................................................... 7

4.1.2 Cenário 2 – Route Refectors .................................................................................... 8

4.2 Procedimentos ................................................................................................................. 9

4.2.1 Cenário 1 – Confederations ..................................................................................... 9

4.2.2 Cenário 2 – Route Refectors .................................................................................. 12

4.3 Ferramentas ................................................................................................................... 14

5 Resultados ........................................................................................................................... 15

5.1 Realização de Testes ...................................................................................................... 15

5.1.1 Conectividade ........................................................................................................ 15

5.1.2 Tabelas BGP ........................................................................................................... 20

5.1.3 Introdução de Novas Rotas ................................................................................... 22

5.2 Mensagens BGP .............................................................................................................. 29

6 Discussão de Resultados ..................................................................................................... 30

7 Referências .......................................................................................................................... 32

Page 3: BGP – Confederations e Route Reflectors

2

1 INTRODUÇÃO

Border Gateway Protocol (BGP) é o foco principal do presente relatório, e é o principal

protocolo de routing presente na internet. Como será explicada na introdução teórica, o BGP

necessita de uma estrutura full-mesh entre os diversos routers BGP dentro de um AS, e uma

estrutura deste tipo é pouco escalável, pois á medida que o número de routers aumenta o

número de sessões BGP aumenta quadraticamente. Por exemplo, se tivermos N routers o

número de sessões BGP seria de N* (N-1) /2. Como tal são necessárias alternativas que

reduzam o número de sessões. E é nessas alternativas que a implementação prática se irá

focar, nomeadamente na implementação de Confederations e de Route Reflectors.

Assim, ao longo deste trabalho, alguns conceitos atrás do BGP serão explicados e analisados.

Os conceitos e definições contidas neste trabalho são baseados nas especificações do BGP -

RFCs 1771, 3065 e 2796. Será também apresentada, analisada e discutida a implementação

prática de duas redes BGP, que foram planeadas no âmbito deste trabalho prático, assim como

a discussão de resultados obtidos. Uma tem como base a implementação de Confederations e

a outra a implementação de Route Reflectors.

Page 4: BGP – Confederations e Route Reflectors

3

2 OBJECTIVOS

Os objectivos propostos para o trabalho prático podem ser definidos em:

Objectivos gerais

Realizar configurações avançadas em dispositivos de rede, nomeadamente em

Routers;

Conhecer e aprender o funcionamento de novas operações em Cisco IOS.

Objectivos específicos

Configurar o protocolo BGP;

Configurar a interacção do BGP com IGPs;

Configurar BGP Route Reflectors e observar o seu funcionamento;

Configurar BGP Confederations e observar o seu funcionamento;

Confirmar processo de propagação de rotas.

Page 5: BGP – Confederations e Route Reflectors

4

3 BORDER GATEWAY PROTOCOL

O BGP, é um Exterior Gateway Protocol (EGP). Permite configurar um sistema de routing inter-

dominios que automáticamente garante a troca de informação de routing entre sistemas

autónomos (AS). [1] É portanto, um protocolo de routing inter-AS. Um AS é um grupo de

routers sob o mesmo domínio de administração, que utiliza um protocolo IGP como, por

exemplo, o protocolo OSPF (que foi o utilizada na implementação prática) e métricas comuns

para encaminhar pacotes dentro do mesmo AS. Um AS utiliza um protocolo EGP para

encaminhar pacotes entre ASs distintos, como o caso do BGP.

A principal função do BGP é permitir a troca de informações relacionadas com a acessibilidade

de redes (network reachability). Esta informação é uma indicação do caminho completo que

uma rota tem que percorrer para atingir um determinado destino. A partir desta troca de

informação é construído um grafo de ASs sem ciclos (loop-free) e onde é possível aplicar

politicas de routing. [1]

O BGP utiliza o protocolo TCP como protocolo de transporte. Os vizinhos BGP trocam

informação de rotas quando estabelecem pela primeira vez uma ligação TCP. Quando são

detectadas alterações na tabela de routing enviam apenas informação das rotas alteradas aos

seus vizinhos. Ao contrário de outros protocolos de routing, o BGP não envia updates

periódicos e apenas anuncia o “melhor” caminho para a rede de destino. Utiliza muitos

parâmetros de routing, denominados atributos, para definir politicas de routing e para manter

um ambiente estável. Para além dos atributos, o BGP utiliza o CIDR (Classless Interdomain

Routing) que permite uma redução significativa do tamanho das tabelas de routing.

A configuração do BGP pode revelar-se problemática em AS’s com um elevado número de

routers e manter sessões de iBGP entre eles pode revelar-se uma tarefa bastante complexa.

Para estes casos, o BGP prevê mecanismos mais escaláveis de ligar os peers iBGP. O uso de

Route Reflectors e Confederations são dois desses mecanismos. [2,3]

3.1 CONFEDERATIONS

Um AS que use confederações BGP, separa cada router presente no AS em uma ou mais

confederações (sub-AS). Os peers dentro do mesmo sub-AS são considerados confederation

iBGP peers, e os routers em diferentes sub-AS são considerados confederation eBGP peers. [2]

Page 6: BGP – Confederations e Route Reflectors

5

O uso de confederações permite propagar as rotas para todos os routers, sem necessitar de

uma topologia full mesh entre os peers dentro de um determinado AS. Para que isto seja

possível, as ligações eBGP confederation peer têm um comportamento como eBGP peers reais

em alguns aspectos. Num único sub-AS, os peers iBGP da confederação precisam de actuar em

full mesh, porque estes se comportam exactamente como iBGP peers normais, dito por outras

palavras significa que eles não anunciam as rotas iBGP entre eles. No entanto os peers eBGP

dentro de uma confederação comportam-se como eBGP peers, sendo assim estes podem

anunciar rotas iBGP aprendidas dentro da sua confederação para outra confederações (sub-

AS).

Na figura 3.1 podemos ver um exemplo do fluxo básico de uma topologia usando

confederações. É importante salientar o valor do AS_PATH conforme passa pelos diferentes AS

e respectivos sub-AS.

3.1 - Fluxo básico de uma topologia usando confederações. [4]

Page 7: BGP – Confederations e Route Reflectors

6

3.2 ROUTE REFLECTOR

Os route reflectors alcançam o mesmo resultado que as confederações - estes removem a

necessidade de haver full mesh entre os peers iBGP, permitindo a todas as rotas iBGP serem

aprendidas por todos os routers iBGP no AS, e prevenindo loops. Numa topologia iBGP usando

router reflectors, um mesh parcial entre peers iBGP é definido. Alguns routers são

configurados como servers de Route Reflectors, estes servers têm a capacidade de aprender

rotas iBGP dos seus clientes e depois anunciar estas mesmas rotas para outros peers iBGP. O

exemplo na figura 3.2 mostra os termos chave e alguma da lógica usada por um route

reflector, é de salientar que apenas o route reflector server usa uma lógica diferente com os

clientes e não clientes actuando como peers iBGP normais.

3.2 – Fluxo básico usando um único RR. [4]

Page 8: BGP – Confederations e Route Reflectors

7

4 IMPLEMENTAÇÃO

Este capítulo descreve a implementação prática da rede BGP que foi planeada no âmbito deste

trabalho prático. A implementação foi dividida em dois cenários, um correspondente à

implementação de Confederations (Cenário 1) e o outro à implementação de Route Reflectors

(Cenário 2).

4.1 TOPOLOGIA

As redes de teste criadas e configuradas para a implementação prática são compostas por

routers CISCO. Para tal, foi utilizado o GNS3 para simular as respectivas redes. Ambas as redes

são semelhantes em termos de topologia mas diferentes na sua configuração e interacção com

os diferentes dispositivos da rede.

4.1.1 CENÁRIO 1 – CONFEDERATIONS

A figura 4.1 apresenta a topologia criada para a configuração de Confederations.

Page 9: BGP – Confederations e Route Reflectors

8

Para este cenário dividimos os AS3 em dois sub-AS mais pequenos, AS65050 e AS65060. O

número dos sub-AS foi escolhido a partir da gama privada de números AS (64512 a 65535). OS

routers R6 e R5 têm ambos uma sessão eBGP com o AS3 e uma entre si. É usado o protocolo

OSPF como IGP em cada sub-AS. O protocolo OSPF no AS65050 está a correr

independentemente do protocolo OSPF do AS65060, o que significa que os números das áreas

OSPF podem ser os mesmos nos dois sub-AS. Tiramos assim proveito de uma vantagem do

BGP, nomeadamente que IGPs de um AS correm independentemente dos IGPs noutros AS.

4.1.2 CENÁRIO 2 – ROUTE REFECTORS

A figura 4.2 apresenta a topologia criada para a configuração de Route Reflector.

Neste segundo cenário, alteramos o AS3 de modo a demonstrar o uso de Route Reflectors e

Peer Groups. O AS3 foi dividido em dois Clusters, cada um com um Route Reflector. Um

constituído pelos routers R1 e R2 e outro pelos routers RT3 e RT4. Os routers RT3 e RT3 fazem

parte de um peer group chamado REFLECTORS e os restantes routers de cada cluster

pertencem a um peer group chamado CLIENTES (independentes a cada cluster), onde politicas

comuns podem ser aplicadas. Neste cenário à semelhança do cenário 1 foi utilizado routing

dinâmico, nomeadamente o protocolo OSPF.

Page 10: BGP – Confederations e Route Reflectors

9

4.2 PROCEDIMENTOS

Esta secção, descreve os procedimentos e configurações que foram utilizados para realizar a

implementação prática, tanto no cenário 1 como no cenário 2. As configurações apresentadas

abordam só as configurações do BGP. Aspectos como a configuração de IPs dos diferentes

routers não serão apresentados, podendo ser consultados nos ficheiros em anexo.

4.2.1 CENÁRIO 1 – CONFEDERATIONS

Router R1

O router R1 tem todas as interfaces de rede na área OSPF 1. Tem uma sessão eBGP com o

router R6 (AS1) e uma sessão iBGP com o router R2 (sub-AS65050). É importante referir o uso

do comando bgp confederation identifier 3, que tem como objectivo permitir que o router R1

se apresente ao router R6 como parte do AS3. A configuração utilizada foi a seguinte:

router ospf 10 passive-interface FastEthernet 1/0 network 172.16.0.0 0.0.255.255 area 5 network 1.1.1.1 0.0.0.0 area 5 router bgp 65050 no synchronization bgp router-id 1.1.1.1 bgp confederation identifier 3 network 172.16.20.0 mask 255.255.255.0 network 172.16.70.0 mask 255.255.255.0 neighbor 172.16.20.1 remote-as 1 neighbor 172.16.70.2 remote-as 65050 no auto-summary

Router R2

O router R2 é um elemento muito importante, pois é o border router do sub-AS65050 que está

a correr uma sessão eBGP (confederation) com o router R3 (sub-AS65060). Tem também uma

sessão iBGP com o router R1. Tem configurado o OSPF como protocolo IGP, tendo uma área

comum com o router R1 (área 1) e as restantes interfaces estão na área 0. É importante referir

que na interface pela qual se liga ao router R3 o OSPF está configurado como passivo (passive-

interface serial 1), estando só a correr eBGP nessa ligação. A configuração utilizada foi a

seguinte:

router ospf 10 passive-interface FastEthernet 1/0

Page 11: BGP – Confederations e Route Reflectors

10

network 172.16.70.2 0.0.0.0 area 5 network 172.16.0.0 0.0.255.255 area 0 network 2.2.2.2 0.0.0.0 area 0 router bgp 65050 no synchronization bgp router-id 2.2.2.2 bgp confederation identifier 3 bgp confederation peers 65060 network 172.16.50.0 mask 255.255.255.0 network 172.16.70.0 mask 255.255.255.0 neighbor 172.16.50.1 remote-as 65060 neighbor 172.16.50.1 next-hop-self neighbor 172.16.70.1 remote-as 65050 no auto-summary O router R2 também se identifica como fazendo parte da confederação 3 (confederation

identifier 3). É utilizado o comando confederation peers 65060 para preservar todos os

atributos, como por exemplo preferências locais e o next-hop, quando passar pela sessão

eBGP para o AS65060. Isto fará com que a sessão eBGP (confederation) com o AS65060 se

comporte como uma sessão iBGP. O comando neighbor 172.16.50.1 next-hop-self define o

endereço do próximo salto das rotas enviadas do router R2 para o router R3, com os IPs das

interfaces do router R2. Sem este comando, o endereço do próximo salto de todas as rotas

eBGP do AS1 serão enviadas para o R3 com endereço externo 172.16.20.1, que só é aceitável

se os routers no sub-AS 65060 conseguirem chegar ao mesmo a partir da sua confederação.

Router R3

A mesma configuração aplica-se ao router R3, que também é um border router, neste caso do

sub-AS65060, assim como das áreas 0 e 5 do OSPF. Como já referido as áreas 0 e 5 no sub-

AS65060 são independentes das áreas 0 e 5 no sub-AS65050, estão protegidas uma da outra

pelo BGP. A configuração utilizada foi a seguinte:

router ospf 10 passive-interface FastEthernet 1/0 network 172.16.30.1 0.0.0.0 area 5 network 172.16.0.0 0.0.255.255 area 0 network 3.3.3.3 0.0.0.0 area 0 router bgp 65060 no synchronization bgp router-id 3.3.3.3 bgp confederation identifier 3 bgp confederation peers 65050 neighbor SUB_AS_65060 peer-group neighbor SUB_AS_65060 remote-as 65060

Page 12: BGP – Confederations e Route Reflectors

11

network 172.16.50.0 mask 255.255.255.0 network 172.16.30.0 mask 255.255.255.0 neighbor 172.16.30.2 peer-group SUB_AS_65060 neighbor 172.16.50.2 remote-as 65050 neighbor 172.16.50.2 next-hop-self no auto-summary

Router R4

O router R4 é um border router da confederação 3. Tem uma sessão eBGP com R5 no AS2.

Tem todas as interfaces na área 0 do protocolo OSPF e não está a correr o OSPF na interface

que liga com o AS2. Por este motivo o próximo salto dos updates externos, quando são

enviados para o router R4 têm de ser definidos para “self” antes de as rotas serem propagadas

para o router R3. A configuração utilizada foi a seguinte:

router ospf 10 network 172.16.0.0 0.0.255.255 area 5 network 4.4.4.4 0.0.0.0 area 5 router bgp 65060 no synchronization bgp router-id 4.4.4.4 bgp confederation identifier 3 network 192.168.20.0 mask 255.255.255.0 network 172.16.30.0 mask 255.255.255.0 neighbor 172.16.30.1 remote-as 65060 neighbor 172.16.30.1 next-hop-self neighbor 192.168.20.2 remote-as 2 no auto-summary

Router R5

Por último, o router R5 é um BGP border router do AS2. Tem uma sessão eBGP com o AS1 e

outra com o AS3. E não tem conhecimento dos sub-AS na confederação 3. A configuração

utilizada foi a seguinte:

router bgp 2 bgp router-id 5.5.5.5 neighbor 192.168.10.2 remote-as 1 neighbor 192.168.20.1 remote-as 3 no auto-summary

Router R6

Page 13: BGP – Confederations e Route Reflectors

12

O router R6 tem uma sessão eBGP com o router R1. Para o mesmo, o router R1 pertence ao

AS3, pois não tem visibilidade para os sub-AS dentro da confederação 3. Tem também uma

sessão eBGP com o router R5 situado no AS2. A configuração utilizada foi a seguinte:

router bgp 1 network 192.68.11.0 neighbor 172.16.20.2 remote-as 3 neighbor 192.68.6.1 remote-as 2 no auto-summary

4.2.2 CENÁRIO 2 – ROUTE REFECTORS

Router R1

Do ponto de vista do router R1, a sessão BGP com o router R2 é uma sessão iBGP normal, ou

seja, o R1 não precisa saber que é um cliente. Esta é uma característica importante na

implementação de Route Reflection, os clientes não precisam de saber que são clientes. A

configuração utilizada foi a seguinte:

router ospf 10 passive-interface FastEthernet 1/0 network 172.16.0.0 0.0.255.255 area 5 network 1.1.1.1 0.0.0.0 area 5 router bgp 3 no synchronization network 172.16.70.0 mask 255.255.255.0 network 172.16.20.0 mask 255.255.255.0 neighbor 172.16.20.1 remote-as 1 neighbor 172.16.70.2 remote-as 3 neighbor 172.16.70.2 next-hop-self no auto-summary

Router R2

O router R2 é um router reflector. Os seus clientes são configurados usando o comando route-

reflector-client seguido do parâmetro neighbor x.x.x.x, onde x.x.x.x é o endereço IP do router

vizinho (cliente). O comando bgp cluster-id 1 é utilizado para identificar o cluster, e cada

cluster tem de ter um identificar único de modo a evitar loops. A configuração utilizada foi a

seguinte:

router ospf 10 passive-interface FastEthernet 1/0 network 172.16.70.2 0.0.0.0 area 5

Page 14: BGP – Confederations e Route Reflectors

13

network 172.16.0.0 0.0.255.255 area 0 network 2.2.2.2 0.0.0.0 area 0 router bgp 3 no synchronization bgp router-id 2.2.2.2 network 172.16.50.0 mask 255.255.255.0 network 172.16.70.0 mask 255.255.255.0 neighbor 172.16.50.1 remote-as 3 neighbor 172.16.70.1 remote-as 3 neighbor 172.16.70.1 route-reflector-client bgp cluster-id 1 no auto-summary Como o router R2 fornece o único caminho interno de saída do cluster, o router R1 está

configurado como cliente do router R2 que está configurado como Route Reflector. Juntos

formam um cluster, neste caso com o ID 1000.

Router R3

A configuração do router R3 é semelhante à do router R2. O router R3 é também um Route

Reflector. As diferenças são na identificação dos seus clientes, do ID do cluster e das redes a

anunciar. A configuração utilizada foi a seguinte:

router ospf 10 passive-interface FastEthernet 1/0 network 172.16.30.1 0.0.0.0 area 5 network 172.16.0.0 0.0.255.255 area 0 network 3.3.3.3 0.0.0.0 area 0 router bgp 3 no synchronization bgp router-id 3.3.3.3 network 172.16.50.0 mask 255.255.255.0 network 172.16.30.0 mask 255.255.255.0 neighbor REFLECTORS peer-group neighbor REFLECTORS remote-as 3 neighbor CLIENTS peer-group neighbor CLIENTS remote-as 3 neighbor CLIENTS route-reflector-client neighbor 172.16.30.2 peer-group CLIENTS neighbor 172.16.50.2 peer-group REFLECTORS bgp cluster-id 2 no auto-summary

Router R4

O router R4 à semelhança do R1 é também um cliente, sendo dessa forma a configuração do

router R4 semelhante à do router R2. A configuração utilizada foi a seguinte:

Page 15: BGP – Confederations e Route Reflectors

14

router ospf 10 network 172.16.0.0 0.0.255.255 area 5 network 4.4.4.4 0.0.0.0 area 5 router bgp 3 no synchronization bgp router-id 4.4.4.4 network 172.16.30.0 mask 255.255.255.0 network 192.168.20.0 mask 255.255.255.0 neighbor 172.16.30.1 remote-as 3 neighbor 172.16.30.1 next-hop-self neighbor 192.168.20.2 remote-as 2 no auto-summary

Router R5 e R6

Os routers R6 e R5 têm as mesmas configurações usadas no cenário anterior (cenário 1 -

confederations). Como já referido as configurações na sua totalidade podem ser consultadas

nos ficheiros em anexo.

4.3 FERRAMENTAS

Versões

BGP –version 4 (BGP-4)

Cisco IOS (router 7200) – version 12.4 (3), release software (fc2)

Ferramentas de teste e verificação

Para verificar as comunicações entre os routers e os seus parâmetros, foram utilizadas

as seguintes ferramentas:

WireShark – software open-source que permite a captura e analise de todos os

pacotes que passam uma interface de rede. Foi usado para capturar todas as

mensagens que o próximo capítulo analisa.

Page 16: BGP – Confederations e Route Reflectors

15

5 RESULTADOS

Este capítulo analisa a troca de mensagens do protocolo BGP, assim como os resultados a que

chegamos nos testes que foram realizados usando esta implementação prática. Verifica

também as tabelas BGP de alguns routers relevantes de modo a verificar as redes anunciadas.

5.1 REALIZAÇÃO DE TESTES

5.1.1 CONECTIVIDADE

Para testar as ligações e funcionamento do protocolo IGP (OSPF) entre os routers realizamos

testes de conectividade (ICMP) entre os routers do mesmo AS e entre AS diferentes.

CENÁRIO 1 – CONFEDERATIONS

Na figura 5.1 é visível a realização com sucesso do teste a todos os routers do AS3, este teste

foi realizado a partir do sub-AS65050, router R1.

Figura 5.1 – Resultado do comando ping do R1 (sub-AS65050) para todos os routers do AS3.

Na figura seguinte (figura 5.2) temos o mesmo teste efectuado anteriormente, agora a partir

do sub-AS65060, router R3.

Router R2

Router R3

Router R4

Page 17: BGP – Confederations e Route Reflectors

16

Figura 5.2 - Resultado do comando ping do R3 (sub-AS65060) para todos os routers do AS3.

A figura 5.3 monstra um teste realizado com sucesso do Router R5 (AS1) para o Router R6

(AS2) através do AS3 e directamente entre os dois. Este era o último teste onde se prova a

ligação entre routers em AS diferentes.

Figura 5.3 - Resultado do comando ping do R5 para o router R6.

Router R1

Router R2

Router R4

Através do AS3

Entre o AS1 e o AS2 (sem passar pelo AS3)

Page 18: BGP – Confederations e Route Reflectors

17

As duas capturas apresentadas a seguir, mostram os pacotes ICMP do comando ping realizado

no teste anterior. A primeira, figura 5.4, foi realizada na interface FastEthernet 1/0 do router

R5 (interface ligada ao AS3), para verificar se os pacotes ICMP seguiam pelo AS3, o que

comprova o mesmo. A segunda, figura 5.5, foi realizada na interface FastEthernet 1/1 do

router R5 para verificar neste caso se os pacotes ICMP seguiam directamente para o AS1. Estas

capturas servem para verificar se os pings anteriormente testados seguiram os caminhos

previstos.

Figura 5.4 – Captura de pacotes ICMP na interface que liga o R5 ao AS3.

Page 19: BGP – Confederations e Route Reflectors

18

Figura 5.5 - Captura de pacotes ICMP na interface que liga o R5 directamente ao AS1.

CENÁRIO 2 – ROUTE REFLECTION

Foram realizados os mesmos testes para o cenário 2 e os mesmos também foram realizados

com sucesso. A Figura 5.6 apresenta o teste de ping a todos os routers do AS3, este teste foi

realizado a partir do cluster 1, router R2.

Figura 5.6 - Resultado do comando ping do R2 (cluster 1) para todos os routers do AS3.

Router R1

Router R3

Router R4

Page 20: BGP – Confederations e Route Reflectors

19

À semelhança do cenário 1, na figura 5.7 temos o mesmo teste efectuado anteriormente mas

agora a partir do cluster 2, router R3.

Figura 5.7 - Resultado do comando ping do R3 (cluster 2) para todos os routers do AS3.

Por fim, a figura 5.8 monstra um teste realizado com sucesso do Router R5 (AS2) para o Router

R6 (AS1) via AS3. Mas o sucesso do teste é só para a interface do R6 que liga directamente o

AS3 (172.16.20.1) na qual existe uma sessão eBGP. Para a interface interna do R6, ou seja para

a rede 192.168.10.0/24 o mesmo não acontece porque nas configurações de R6 esta rede não

está a ser anunciada pelo BGP. Esta configuração foi prepositada, de modo a verificar a

introdução de novas rotas no tópico mais abaixo (5.1.3) e testar depois a sua conectividade.

Router R1

Router R2

Router R4

Page 21: BGP – Confederations e Route Reflectors

20

Figura 5.8 - Resultado do comando ping do R5 (AS2) para as interfaces do R6 (AS1).

5.1.2 TABELAS BGP

Neste tópico verificamos se as rotas estão a ser anunciadas correctamente pelos routers e

como os mesmos as identificam. Para tal examinados o conteúdo das tabelas BGP, que pode

ser obtido a partir do comando show ip bgp.

CENÁRIO 1 – CONFEDERATIONS

A figura seguinte apresenta a tabela BGP do router R5, na qual podemos verificar que o router

R5 vê todas as rotas a partir de dois caminhos, um pelo AS1 (identificador “1”) e outro pelo

AS3 (identificador 3). Também podemos verificar que os sub-AS do AS3 não estão visíveis para

o R5. Indica portanto que as configurações foram realizadas com sucesso, pois o mesmo não

necessita de ter conhecimento dos sub-AS que não pertencem ao seu AS.

Interface externa de R6 que liga directamente ao AS3

Interface interna de R6, rede não anunciada no BGP

Page 22: BGP – Confederations e Route Reflectors

21

Figura 5.9 - Tabela BGP do router R5.

Olhando agora para a figura 5.10, que apresenta a tabela BGP do router R1, podemos observar

que o router R1 consegue ver os sub-AS e que os mesmos estão indicados em parêntesis, que

é o resultado esperado, pois está num sub-AS do AS3.

5.10 – Tabela BGP do router R1.

Page 23: BGP – Confederations e Route Reflectors

22

CENÁRIO 2 – ROUTE REFLECTION

Neste cenário verificamos como estão a ser reflectidas as rotas no cluster. A imagem seguinte

mostra como o router R4 vê a rota 172.16.20.0/24, que está a ser reflectida no seu cluster.

Figura 5.11 – Tabela BGP para a rede 172.16.20.0/24 do router R4.

É importante salientar como o router R4 vê o originador da rota 172.16.20.0/24 (“Originator”)

como 1.1.1.1, que é o Router ID do router R1. A rota também transporta uma lista dos clusters

que contém os ID (identificadores) de todos os route reflectors pelos quais passou.

5.1.3 INTRODUÇÃO DE NOVAS ROTAS

Para testar as configurações do BGP, nos próximos testes a apresentar adicionamos novas

redes. Estes testes têm como finalidade mostrar se as novas redes são aprendidas pelos

routers e como as mesmas são aprendidas nos diferentes AS.

CENÁRIO 1 – CONFEDERATIONS

No caso do cenário 1 introduzimos a rede 20.0.0.0/8 no R6 (AS1) e anunciamos a mesma no

BGP. Os comandos utilizados foram os seguintes (no modo de configuração):

ip route 20.0.0.0 255.0.0.0 172.16.20.2 router bgp 1 network 20.0.0.0

A figura seguinte (figura 5.11) mostra com sucesso que o router R1 recebeu o anúncio da nova

rede, respectiva rota e que a mesma vem do AS1.

Page 24: BGP – Confederations e Route Reflectors

23

Figura 5.12 – Tabela BGP do router R1 após adicionar a nova rede.

Podemos verificar e confirmar os mesmos atributos na figura 5.12, que apresenta uma captura

na interface do R1 após adicionarmos a nova rede, na qual identificamos o pacote respectivo à

mensagem BGP Update da rede referida.

Figura 5.13 – Captura na interface de R1 após adicionar a nova rede.

A partir do AS1

Page 25: BGP – Confederations e Route Reflectors

24

Para verificarmos o anúncio da nova rede no sub-AS65060, a figura 5.13 apresenta o resultado

da tabela BGP do router R4. Como podemos observar o router R4 recebeu a rede com o sub-

AS65050 apresentado em parêntesis, e o “verdadeiro” AS 1 apresentado fora do parêntesis.

Figura 5.14 - Tabela BGP do router R4 após adicionar a nova rede.

Podemos também verificar e confirmar na figura 5.14 os atributos da mensagem update

capturada após adicionarmos a nova rede.

Page 26: BGP – Confederations e Route Reflectors

25

Figura 5.15 - Captura na interface de R4 após adicionar a nova rede.

Para verificar se o AS2 recebeu o anúncio da rede, executamos o mesmo teste no R5. A figura

5.15 apresenta esse mesmo resultado. E como podemos verificar, a tabela BGP de R5 mostra

que recebeu o update a partir do router R4 (AS3) e a partir do R6 (AS1). É importante salientar

que a inclusão dos sub-AS já não está presente, mesmo quando o caminho é a partir do R4.

Apenas são mostrados os AS principais.

Figura 5.16 - Tabela BGP do router R5 após adicionar a nova rede.

Sub-AS65050 e AS de origem AS1

Page 27: BGP – Confederations e Route Reflectors

26

CENÁRIO 2 – ROUTE REFLECTION

Como referido anteriormente no tópico 5.1.1, o router R6 não está configurado para anunciar

a rede 192.168.10.0/24. O mesmo foi propositado de modo a verificarmos agora, nos próximos

testes, a introdução dessa rede nos anúncios BGP do router R6. Os comandos utilizados para

adicionarmos a rede foram os seguintes:

ip route 192.168.10.0 255.255.255.0 172.16.20.1 router bgp 1 network 192.168.10.0 No caso do cenário 2, será apresentado apenas resultados de dois routers, R3 e R4, pois a

partir deles é possível tirar todas as conclusões necessárias para verificar e analisar a

propagação de novas redes e respectivas rotas.

A figura seguinte (figura 5.16) mostra com sucesso que o router R3 recebeu o anúncio da nova

rede (a partir do comando show ip bgp 192.168.10.0), a qual foi aprendida pelo router R1,

enviada por iBGP ao router R2 (Route Reflector) e depois reflectida para o router R3.

Figura 5.17 – Tabela BGP para a rede 192.168.10.0/24 do router R3.

Podemos observar na figura AS_PATH com valor 1, o ID do originador da rota (1.1.1.1), o

vizinho iBGP pelo qual aprendeu a rota (2.2.2.2) e a lista de clusters pela qual passou (cluster

AS_PATH

Page 28: BGP – Confederations e Route Reflectors

27

1). Podemos verificar e confirmar na figura 5.17 os atributos a partir da mensagem update

capturada (R3) após adicionarmos a nova rede.

Figura 5.18 - Captura da mensagem update na interface de R3 após adicionar a nova rede.

Por fim, o router R9 (route reflector) reflecte a nova rede para o seu cliente (R4) como

podemos observar na figura 5.18. É importante salientar as diferenças quando comparado com

o output do router R3, onde agora a lista de clusters inclui o cluster 2 (adicionado pelo R3) e a

rota iBGP ter sido aprendida pelo router R3 (3.3.3.3).

AS1

Page 29: BGP – Confederations e Route Reflectors

28

Figura 5.19 – Tabela BGP para a rede 192.168.10.0/24 do router R4.

Na figura seguinte, podemos verificar e confirmar os atributos a partir da mensagem update

capturada (R4) após adicionarmos a nova rede.

Figura 5.20 - Captura da mensagem update na interface de R4 após adicionar a nova rede.

Page 30: BGP – Confederations e Route Reflectors

29

5.2 MENSAGENS BGP

Ao ser demonstrada toda a parte de teste de ligações e configurações, fica a faltar uma análise

ao tráfego BGP que pela rede circula. Para tal utilizando o wireshark realizamos uma captura

durante um determinado tempo para posteriormente filtrando o desejado, analisar melhor o

tráfego BGP.

A figura 5.21 apresentada a seguir ilustra as mensagens do protocolo BGP, esta figura é

bastante importante pois são visíveis os tipos de mensagens que o protocolo BGP utiliza

(Open, Update, Keep-Alive e Notification) com excepção da mensagem Notification. A mesma

não aparece pois este tipo de mensagem só é enviada quando algum problema é detectado

numa sessão BGP.

5.21 – Mensagens BGP.

Page 31: BGP – Confederations e Route Reflectors

30

6 DISCUSSÃO DE RESULTADOS

Analisando os resultados obtidos podemos concluir que as configurações realizadas, em ambos

os cenários, foram bem sucedidas. Desde a verificação de conectividade entre os diversos

routers, onde verificamos que existia conectividade para as redes anunciadas pelo BGP, e a

não existência de conectividade para as redes não anunciadas, como o caso da rede

192.168.10.0/24. A análise das tabelas BGP de alguns routers mostraram o esperado,

concretamente no cenário 1 verificamos nas tabelas BGP a indicação no AS_PATH dos sub-AS

pelos quais a rota passava (para o caso do AS3) e a não inclusão desses mesmos sub-AS nas

tabelas dos routers que não faziam parte do AS3. Pois como referido no trabalho, esses

routers não têm conhecimento da existência de sub-AS dentro do AS principal. No caso do

cenário 2, a análise das tabelas BGP indicaram correctamente as rotas aprendidas. Verificamos

a inclusão dos clusters IDs (lista de clusters) pelos quais a rota passava, e a identificação do

originador da rota.

Achamos que os resultados mais relevantes foram os obtidos quando adicionamos novas rotas

nos diferentes cenários. Esses resultados permitiram-nos verificar o fluxo do anúncio de novas

rotas de acordo com o cenário. No caso do cenário 1, podemos concluir o seguinte fluxo que

era o esperado:

1. R6 anuncia uma nova rede 20.0.0.0/8 (mensagem update);

2. R1 aprende o novo prefixo via eBGP com AS_PATH 1;

3. R1 anuncia o novo prefixo ao R2 (mensagem update);

4. R2 anuncia o novo prefixo via eBGP ao R3 com AS_PATH (65060) 1 (mensagem

update);

5. R3 anuncia o novo prefixo ao R4, que como está no mesmo sub-AS não há alteração do

AS_PATH (mensagem update);

6. R4 anuncia o novo prefixo ao R5 com AS_PATH 3 1, ou seja indicação dos AS principais

(mensagem update);

7. R5 também recebeu o anúncio do novo prefixo via o AS1.

No caso do cenário 2, também concluímos o seguinte fluxo apresentado que era o esperado:

1. R6 anuncia uma nova rede 192.168.10.0/8 (mensagem update);

2. R1 aprende o novo prefixo com AS_PATH 1 via eBGP e anuncia-o ao R2 via iBGP

(mensagem update);

Page 32: BGP – Confederations e Route Reflectors

31

3. R2 (route reflector) ao receber o novo prefixo a partir de um cliente seu, reflecte o

anúncio via iBGP para o R3 com a inclusão do seu Cluster na lista de cluster (1);

4. R3 (route reflector) reflecte o anúncio ao R4 (com a inclusão do cluster 2) que é um

cliente Route Reflector.

Para concluir, consideramos que a configuração de confederações e route reflector trás

algumas dificuldades no inicio mas depois de estabelecidas as respectivas confederações e

route reflectors, a inclusão de novos routers torna-se mais simples, além de permitir uma

maior escalabilidade, não possível numa topologia do tipo full-mesh.

Page 33: BGP – Confederations e Route Reflectors

32

7 REFERÊNCIAS

[1] Rekhter, Y., T. Li, "A Border Gateway Protocol 4 (BGP-4)", RFC 1771, March 1995.

[2] P. Traina, D. McPherson, J. Scudder, “Autonomous System Confederations for BGP”, RFC

3065, February 2001.

[3] Bates, T. e R. Chandra, “BGP Route Reflection An alternative to full mesh IBGP”, RFC 2796,

April 2000.

[4] We. Odom, J. Geier, N. Mehta, “CCIE Routing and Switching Official Exam Certification

Guide”, 2nd Edition, Cisco Press, February 2006.