sexta-feira, 11 de junho de 2010

IPv6 - BGP


1        BGP IPv6

1.1           Tipos de endereçamento IPv6

Existem 3 tipos de endereços:

1.1.1      Unicast

Responsável por 3 conexões simultâneas na mesma interface.
         Link-Local
Este tipo de endereço é automaticamente configurado em qualquer host IPv6, através da conjugação do seu prefixo FE80::/10 ou 1111111010 em binárioe. Estes endereços são utilizados nos processos de configuração dinâmica automática (autoconfiguração) e no processo de descoberta de elementos na hierarquia de roteamento (Neighbor Discovery Protocol). Este endereçamento permite a comunicação entre nós pertencentes ao mesmo enlace. Esse tipo de endereço não deve ser enviado como endereço de origem ou destino em pacotes e não são repassados pelos roteadores. Abaixo podemos visualizar a estrutura deste tipo de endereço
Exemplo: fe80:0000:0000:0000:260:97ff:fefe:9ced
         Site-Local
O endereço do tipo Site Local é similar aos endereços privados usados em IPv4, como as redes 10.0.0.0/8, 172.16.0.0/16 e 198.168.0.0/16. Esses endereços podem ser usados para uma comunicação restrita dentro de um domínio específico.
Este tipo de endereço é identificado pelo prefixo FEC0::/10 ou 1111111011 em binário. Exempo:
 fec0:0000:0000:0000:260:97ff:fefe:9ced
         Link-Global
Esse tipo de endereço unicast é equivalente ao endereço global unicast usado em IPv4. Sendo assim é o endereço que será usado globalmente na Internet. Essa estrutura de endereços globais permite uma agregação de prefixos de roteamento que limitam o número de entradas nas tabelas de rotas.
A estrutura deste tipo de endereço é dividida em 4 níveis
·         FP – Format Prefix, que indica justamente que se trata de um endereço do tipo Global Unicast, esse FP deve ser sempre 001.
·         Global Routing Prefix destinado a identificação dos ISPs.
·         O terceiro campo Subnet ID que é o campo Site ID da estrutura de hierarquização do endereço IPv6
·         Interface ID que possui 64 bits. Abaixo
Exemplo: 2001:0200:03b8:0000:260:97ff:fefe:9ced

1.1.2      IPv4-compatible IPv6 Address

Esse tipo de endereço é usado em IPv6 como um mecanismo de transição entre IPv6 e IPv4. É utilizado como endereços de destino e origem em tunnel IPv6 sobre IPv4. É representado por um endereço IPv6 cujos últimos 32 bits são um endereço IPv4. Desta forma, anexando-se um prefixo nulo (96 bits de zeros) a um endereço IPv4 (32 bits) obtém-se o seguinte formato:
0:0:0:0:0:0:192.168.30.1 ou no seu formato abreviado ::192.168.30.1


2        Cenário

2.1           Objetivo

Seis roteadores (R1, R2, R3, R4, R5 e R6) são conectados fisicamente R1-R2-R3-R4-R5-R6 e deverá ser implementado uma conectividade puramente IPv6 seguindo os critérios:
         Os roteadores R1 e R2 deverão pertencer ao AS 12 e protocolo IGP OSPF na área 0;
         Os roteadores R3 e R4 deverão pertencer ao AS 34 e protocolo IGP RIPng;
         Os roteadores R5 e R6 deverão pertencer ao AS 56 e protocolo IGP OSPF na área 0;
         A conexão eBGP entre R2 e R3 deverá ser feita usando os endereços Link-Local;
         A conexão eBGP entre R4 e R5 deverá ser feita usando os endereços Link-Global;
         Somente as redes das interfaces loopbacks deverão ser divulgadas no BGP.

2.2           Topologia

Figure-01:              Topologia

2.3           IOS utilizados

         R1, R2, R3, R4, R5 e R6 – c7200-k91p-mz.122-25.S15.bin

2.4           Configuração dos Roteadores

Em todos os roteadores, assim como no IPv4, antes de configurar o roteamento BGP, deve-se configurar o IGP, ou seja, o roteamento interno para que os roteadores possam conhecer o endereço IP para fechar a conexão BGP e também para que a rota seja divulgada na tabela de roteamento BGP. Esse IGP pode ser o OSPF, RIPng, estático, etc.

2.4.1      Configurações do IPv6

Inicialmente deve-se habilitar o roteamento IPv6 nos roteadores com o comando “ipv6 unicast-routing”. Nas interfaces os endereços link-global são configurados com o comando “ipv6 address
/” e deve-se habilitar o IPv6 dentro da interface com o comando “IPv6 enable”. Os endereços link-local são automaticamente configurados.

2.4.2      Configurações do RIPng

O roteamento RIP é configurado com o comando “ipv6 router rip ”. Diferente do RIP do IPv4, deve-se habilitar nas interfaces o roteamento RIP IPv6 com o comando “ipv6 rip enable”, automaticamente a rede é divulgada para os vizinhos e a vizinhança é feita por essa interface usando o grupo multicast FF02::9.

2.4.3      Configurações do OSPF

O roteamento OSPF é configurado nas interfaces diretamente com o comando “ipv6 ospf area <área>”. O OSPF detecta automaticamente o endereço IPv4 disponível para ser o Router-ID. Caso não exista nenhum, deve-se dicionar estáticamente dentro do protocolo com o comando global “ipv6 router ospf ” e com o comando “router-id ”.

2.4.4      Configurações do BGP IPv6

No BGP, depois que os roteadores conhecem os endreços IPv6 de seus vizinhos pelo IGP, configura-se-o em todos os roteadores pelo comando “router bgp ” onde o “AS” é o Autonomous System do provedor. Dentro da configuração de BGP cria-se uma address-family IPv6 com o comando “address-family ipv6 unicast” e em seguida adicionam-se os vizinhos estaticamente com o comando “neighbor remote-as ”, onde se o for igual ao AS do roteador a conexão é IBGP, se for diferente será EBGP.
Adiciona-se um IPv4 como Router-ID pelo comando “router-id ”. Para divulgar rede no BGP é necessário que a rede exista na tabela de roteamento interna e ou adicionar o comando “network mask ” ou redistribuindo rotas para o BGP com o comando “redistribute ”.
Para usar a interface loopback como IP de origem para estabelecer a conexão BGP, deve-se adicionar o comando “neighbor update-source loopback0”.
Para que o roteador que faz eBGP se apresente como o next-hop para o proprío AS para as rotas externas, usa-se o comando “neighbor next-hop-self”.

2.5           Observações e Bugs

Documentação:

2.6           Comandos Importantes de Verificação

R1#show ip bgp ipv6 unicast
BGP table version is 8, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 2001::1/128      ::                       0         32768 i
*>i2001::2/128      2001:12:12:12:12:12:12:2
                                             0    100      0 i
*>i2001::3/128      2001:12:12:12:12:12:12:2
                                             0    100      0 34 i
*>i2001::4/128      2001:12:12:12:12:12:12:2
                                             0    100      0 34 i
*>i2001::5/128      2001:12:12:12:12:12:12:2
                                             0    100      0 34 56 i
*>i2001::6/128      2001:12:12:12:12:12:12:2
                                             0    100      0 34 56 i

R2#show ipv6 route  
IPv6 Routing Table - 12 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
O   2001::1/128 [110/1]
     via FE80::2AB:6CFF:FEAE:9D00, FastEthernet0/0
LC  2001::2/128 [0/0]
     via ::, Loopback0
B   2001::3/128 [20/0]
     via FE80::29C:5FF:FE53:D100, FastEthernet1/0
B   2001::4/128 [20/0]
     via FE80::29C:5FF:FE53:D100, FastEthernet1/0
B   2001::5/128 [20/0]
     via FE80::29C:5FF:FE53:D100, FastEthernet1/0
B   2001::6/128 [20/0]
     via FE80::29C:5FF:FE53:D100, FastEthernet1/0
C   2001:12:12:12:12:12:12:0/112 [0/0]
     via ::, FastEthernet0/0
L   2001:12:12:12:12:12:12:2/128 [0/0]
     via ::, FastEthernet0/0
C   2001:23:23:23:23:23:23:0/112 [0/0]
     via ::, FastEthernet1/0
L   2001:23:23:23:23:23:23:2/128 [0/0]
     via ::, FastEthernet1/0
L   FE80::/10 [0/0]
     via ::, Null0
L   FF00::/8 [0/0]
     via ::, Null0

3        Configuração

3.1           R1

!
ipv6 unicast-routing
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
 ipv6 address 2001::1/128
 ipv6 enable
 ipv6 ospf 1 area 0
!
interface FastEthernet0/0
 ipv6 address 2001:12:12:12:12:12:12:1/112
 ipv6 enable
 ipv6 ospf 1 area 0
!
!
router bgp 12
 bgp router-id 1.1.1.1
 neighbor 2001:12:12:12:12:12:12:2 remote-as 12
!
 address-family ipv6
 neighbor 2001:12:12:12:12:12:12:2 activate
 network 2001::1/128
!

3.2           R2

!
ipv6 unicast-routing
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
 ipv6 address 2001::2/128
 ipv6 enable
 ipv6 ospf 1 area 0
!
interface FastEthernet0/0
 ipv6 address 2001:12:12:12:12:12:12:2/112
 ipv6 enable
 ipv6 ospf 1 area 0
!
interface FastEthernet1/0
 ipv6 address 2001:23:23:23:23:23:23:2/112
 ipv6 enable
!
!
router bgp 12
 bgp router-id 2.2.2.2
 neighbor 2001:12:12:12:12:12:12:1 remote-as 12
 neighbor FE80::29C:5FF:FE53:D100 remote-as 34
 neighbor FE80::29C:5FF:FE53:D100 update-source FastEthernet1/0
 !
 address-family ipv6
 neighbor 2001:12:12:12:12:12:12:1 activate
 neighbor 2001:12:12:12:12:12:12:1 next-hop-self
 neighbor FE80::29C:5FF:FE53:D100 activate
 network 2001::2/128
!

3.3           R3

!
ipv6 unicast-routing
!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
 ipv6 address 2001::3/128
 ipv6 enable
 ipv6 rip 34 enable
!
interface FastEthernet0/0
 ipv6 address 2001:23:23:23:23:23:23:3/112
 ipv6 enable
!
interface FastEthernet1/0
 ipv6 address 2001:34:34:34:34:34:34:3/112
 ipv6 enable
 ipv6 rip 34 enable
!
!
router bgp 34
 bgp router-id 3.3.3.3
 neighbor 2001:34:34:34:34:34:34:4 remote-as 34
 neighbor FE80::2:FF:FE00:1C remote-as 12
 neighbor FE80::2:FF:FE00:1C update-source FastEthernet0/0
!
 address-family ipv6
 neighbor 2001:34:34:34:34:34:34:4 activate
 neighbor 2001:34:34:34:34:34:34:4 next-hop-self
 neighbor FE80::2:FF:FE00:1C activate
 network 2001::3/128
!
!
ipv6 router rip 34
!

3.4           R4

!
ipv6 unicast-routing
!
interface Loopback0
 ip address 4.4.4.4 255.255.255.255
 ipv6 address 2001::4/128
 ipv6 enable
 ipv6 rip 34 enable
!
interface FastEthernet0/0
 ipv6 address 2001:34:34:34:34:34:34:4/112
 ipv6 enable
 ipv6 rip 34 enable
!
interface FastEthernet1/0
 ipv6 address 2001:45:45:45:4::/64
 ipv6 enable
!
!
router bgp 34
 bgp router-id 4.4.4.4
 neighbor 2001::5 remote-as 56
 neighbor 2001::5 ebgp-multihop 255
 neighbor 2001::5 update-source Loopback0
 neighbor 2001:34:34:34:34:34:34:3 remote-as 34
!
 address-family ipv6
 neighbor 2001::5 activate
 neighbor 2001:34:34:34:34:34:34:3 activate
 neighbor 2001:34:34:34:34:34:34:3 next-hop-self
 network 2001::4/128
!
!
!
ipv6 route 2001::5/128 2001:45:45:45::5   ! rota estática para a loopback 0 do R5
!
ipv6 router rip 34
!

3.5           R5

!
ipv6 unicast-routing
!
interface Loopback0
 ip address 5.5.5.5 255.255.255.255
 ipv6 address 2001::5/128
 ipv6 enable
 ipv6 ospf 1 area 0
!
interface FastEthernet0/0
 ipv6 address 2001:45:45:45:5::/64
 ipv6 enable
!
interface FastEthernet1/0
 ipv6 address 2001:56:56:56:56:56:56:5/112
 ipv6 enable
 ipv6 ospf 1 area 0
!
!
router bgp 56
 bgp router-id 5.5.5.5
 neighbor 2001::4 remote-as 34
 neighbor 2001::4 ebgp-multihop 255
 neighbor 2001::4 update-source Loopback0
 neighbor 2001:56:56:56:56:56:56:6 remote-as 56
!
 address-family ipv6
 neighbor 2001::4 activate
 neighbor 2001:56:56:56:56:56:56:6 activate
 neighbor 2001:56:56:56:56:56:56:6 next-hop-self
 network 2001::5/128
!
!
ipv6 route 2001::4/128 2001:45:45:45::4
!

3.6           R6

!
ipv6 unicast-routing
!
interface Loopback0
 ip address 6.6.6.6 255.255.255.255
 ipv6 address 2001::6/128
 ipv6 enable
 ipv6 ospf 1 area 0
!
interface FastEthernet0/0
 ipv6 address 2001:56:56:56:56:56:56:6/112
 ipv6 enable
 ipv6 ospf 1 area 0
!
!
router bgp 56
 bgp router-id 6.6.6.6
 neighbor 2001:56:56:56:56:56:56:5 remote-as 56
 no neighbor 2001:56:56:56:56:56:56:5 activate
!
 address-family ipv6
 neighbor 2001:56:56:56:56:56:56:5 activate
 network 2001::6/128
!

Nenhum comentário: