Comitê Gestor da Internet no Brasil Seu IP: 38.107.191.119 CGI.br Registro CERT.br

Sítio web não compatível com IPv6 Este sítio web funciona com IPv6. Se o globo estiver girando, você também já usa IPv6!


Últimas Atualizações...

28 Aug 2010 - 00:46:
Pesquisa / Survey - adoção do IPv6 pelos Sistemas Autônomos

25 May 2010 - 18:40:
Relato sobre o Treinamento IPv6 do RIPE

11 Jan 2010 - 17:49:
Introdução ao IPv6 para o CCNA

11 Dec 2009 - 11:14:
Videos sobre cases IPv6 fora do Brasil

09 Jun 2009 - 18:59:
Curso de Introdução ao IPv6



Artigo

Implementação do protocolo IPv6 na RedeRio


Escrito por Alexandre Urtado de Assis e Nilton Alves Jr.


  

Índice do Artigo

  

Implementação do protocolo IPv6 na RedeRio
Introdução
Características e benefícios para o uso do IPv6
Formatação do Protocolo IPv6
Arquitetura dos endereços IPv6
Tipos de Endereços IPv6
Operações Básicas
Experimentos
Implementação na Rede Rio
Conclusão
Bibliografia


7. Experimentos

Neste capitulo serão apresentados 3 experimentos feitos no Laboratório de Redes da RedeRio /SECTI que está localizado nas dependências do Centro Brasileiro de Pesquisas Físicas – CBPF/MCT. Tais experimentos tiveram objetivo geral de entender melhor o funcionamento do protocolo IPv6, além de testar suas funcionalidades nos equipamentos existentes em nosso Backbone.

Nestes experimentos foram utilizados os seguintes equipamentos:

Após cada um desses experimentos, foi preparado um relatório que descrevem os seguintes itens:

7.1. Experimento 1: Configuração do protocolo IPv6 em um segmento de rede

Objetivos

Para este experimento utilizamos somente equipamentos (roteadores e estações) com suporte ao protocolo IPv6. Configuramos todas as interfaces dos roteadores e das estações Linux com endereços de rede IPv6. As estações também possuem endereços IPv4, pois é uma limitação do sistema operacional onde só é possível configurar endereços IPv6 se também existir endereços IPv4.

Verificaremos os seguintes itens:

Arquitetura utilizada na rede

*Configuração dos equipamentos*

Comandos para os roteadores CISCO1 e CISCO3

Habilitando o roteamento IPv6:

CISCO1#
CISCO1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO1(config)#ipv6 unicast-routing
CISCO1(config)#
Configuração de endereço IPv6 global-unicast numa interface serial:
CISCO3#
CISCO3#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO3(config)#interface serial [no da interface]
CISCO3(config-if)#ipv6 enable
CISCO3(config-if)#ipv6 address [endereço IPv6*] [prefixo de rede**]
CISCO3(config-if)#clock rate [Banda***]
CISCO3(config-if)#
Obs.:
*Refere-se a notação do endereço a ser configurado – xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx – onde “x” são algarismos hexadecimais divididos em 8 grupos de 4 cada separado por “:” – Ex: 2000::1 (note que os grupos somente formados por zeros podem ser simplificados).
**Refere-se ao no de bits que fazem parte do prefixo de rede – Ex: 2000::1/16 (os 16 primeiros bits deste endereço “2000” referem-se a rede e o restante “112 bits ” indicam a interface “::1”).
***Refere-se a taxa de transmissão de bits utilizada nesta interface (geralmente entre 16000 bits/s até 2000000 bits/s).

Configuração de endereço IPv6 global-unicast numa interface ethernet:

CISCO3#
CISCO3#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO3(config)#interface ethernet [no da interface]
CISCO3(config)#ipv6 enable
CISCO3(config-if)#ipv6 address [endereço IPv6] [prefixo de rede]
CISCO3(config-if)#
Configuração de uma rota default:
CISCO1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO1(config)#ipv6 route ::/0 [interface de saída*]
CISCO1(config-if)#
Obs.:
* - refere-se a interface pela qual o roteador comunica-se com seu ISP – Internet Service Provider , pode ser colocado a interface, Ex: serial 1, ou o endereço da interface do próximo roteador, Ex: 2000::1.

SHOW RUNNING-CONFIG

O comando show running-config é nativo do sistema operacional dos roteadores Cisco, que apresenta as atuais configurações do equipamento. Este comando é importante para verificarmos se as configurações feitas através de linhas de comando foram executadas.

Podemos verificar vários itens no show running-config. onde se destacam:

Abaixo são mostrados os resultados do comando show running-config para os roteadores utilizados neste experimento:

Resultados CISCO1

CISCO1#show running-config
Building configuration...

Current configuration : 587 bytes
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname CISCO1
!
enable secret 5 $1$53N9$VIUVRghlRRihc/1yd2Q9r1
enable password cisco
!
ip subnet-zero
!
ipv6 unicast-routing
!
!
!
interface Ethernet0
no ip address
ipv6 address 2002::1/16
ipv6 enable
!
interface Serial0
no ip address
shutdown
no fair-queue
!
interface Serial1
no ip address
ipv6 address 2000::2/16
ipv6 enable
!
ip classless
ip http server
ip pim bidir-enable
!
ipv6 route ::/0 2000::1
!
!
line con 0
password cisco
line aux 0
line vty 0 4
!
end

Resultados CISCO3

CISCO3#show running-config
Building configuration...

Current configuration : 598 bytes
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname CISCO3
!
enable secret 5 $1$KNqz$FJlrixXvAm.bMEfz5y0m7.
enable password cisco
!
ip subnet-zero
!
ipv6 unicast-routing
!
!
!
interface Ethernet0
no ip address
ipv6 address 2001::1/16
ipv6 enable
!
interface Serial0
no ip address
ipv6 address 2000::1/16
ipv6 enable
clockrate 2000000
!
interface Serial1
no ip address
shutdown
!
ip classless
ip http server
ip pim bidir-enable
!
ipv6 route ::/0 2000::2
!
!
line con 0
password cisco
line aux 0
line vty 0 4
login
!
end

Conclusões

Neste item serão apresentados três comandos fundamentais para que possamos tirar as conclusões a respeito do correto funcionamento de nossa rede de testes. São eles os comandos ping6 (que verifica a conectividade da rede IPv6), traceroute6 (que mostra por quais roteadores um pacote enviado passa até alcançar seu destino) e o show ipv6 route (que apresenta a tabela de rotas de cada roteador).

PING6

Verifica a conectividade entre a estação Linux A (de onde é executado o programa ping6) e a estação Linux B. O programa ping6 envia um pacote ICMP com 64 bytes de dados para o endereço indicado (neste caso 2002::2 – endereço IPv6 do Linux A) e aguarda o retorno do mesmo, calculando o tempo gasto para execução desta tarefa.

[root@linuxA bruno]# ping6 -c 5 2001::2
PING 2001::2(2001::2) 56 data bytes
64 bytes from 2001::2: icmp_seq=1 ttl=62 time=7.88 ms
64 bytes from 2001::2: icmp_seq=2 ttl=62 time=7.15 ms
64 bytes from 2001::2: icmp_seq=3 ttl=62 time=7.25 ms
64 bytes from 2001::2: icmp_seq=4 ttl=62 time=7.09 ms
64 bytes from 2001::2: icmp_seq=5 ttl=62 time=6.98 ms

--- 2001::2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4044ms
rtt min/avg/max/mdev = 6.986/7.274/7.880/0.323 ms
Verifica a conectividade entre a estação Linux B e a estação Linux A.
[root@linuxB aua]# ping6 -c 5 2002::2
PING 2002::2(2002::2) 56 data bytes
64 bytes from 2002::2: icmp_seq=1 ttl=62 time=8.08 ms
64 bytes from 2002::2: icmp_seq=2 ttl=62 time=6.94 ms
64 bytes from 2002::2: icmp_seq=3 ttl=62 time=7.05 ms
64 bytes from 2002::2: icmp_seq=4 ttl=62 time=7.04 ms
64 bytes from 2002::2: icmp_seq=5 ttl=62 time=6.92 ms

--- 2002::2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4042ms
rtt min/avg/max/mdev = 6.924/7.208/8.082/0.452 ms

TRACEROUTE6

O exemplo abaixo mostra o caminho percorrido da estação Linux A até alcançar o destino, a estação Linux B. Podemos verificar que o pacote enviado do Linux A para o Linux B passa por 2002::1 - roteador CISCO1, interface ethernet 0, passa por 2000::1 - roteador CISCO3, interface serial 0, e alcança seu destino ao chegar em 2001::2 – estação Linux B.

[root@linuxA bruno]# traceroute6 2001::2
traceroute to 2001::2 (2001::2) from 2002::2, 30 hops max, 16 byte
packets
1 2002::1 (2002::1) 2.983 ms 2.537 ms *
2 2000::1 (2000::1) 6.019 ms 27.437 ms *
3 2001::2 (2001::2) 7.284 ms 7 ms 6.963 ms

O exemplo abaixo mostra o caminho percorrido da estação Linux B até alcançar o destino, a estação Linux A. Podemos verificar que o pacote enviado do Linux B para o Linux A passa por 2001::1 - roteador CISCO3, interface ethernet 0, passa por 2000::2 - roteador CISCO1, interface serial 1, e alcança seu destino ao chegar em 2002::2 – estação Linux A.

[root@linuxB aua]# traceroute6 2002::2
traceroute to 2002::2 (2002::2) from 2001::2, 30 hops max, 16 byte
packets
1 2001::1 (2001::1) 2.748 ms 2.63 ms *
2 2000::2 (2000::2) 7.256 ms 6.29 ms *
3 2002::2 (2002::2) 7.696 ms 7.061 ms 6.914 ms

SHOW IPV6 ROUTE

CISCO1 - Podemos verificar na tabela de rotas IPv6 do roteador CISCO1, que existem 3 tipos de rotas L, C, S. As rotas “L” (locais) são as rotas configuradas manualmente nas interfaces ou aquelas autoconfiguradas pelo protocolo IPv6. Por exemplo, as rotas para 2000::2/128 (1)-(endereço da interface serial 1) e 2002::1/128 (3)-(endereço da interface ethernet 0) são rotas do tipo “L” configuradas manualmente e são aprend idas pelas próprias interfaces. Já as rotas FE80::/10 (5)-(prefixo de endereço link local) e FF00::/8 (6)-(prefixo de endereço multicast) são rotas do tipo “L” configuradas automaticamente pelo protocolo. Essas rotas são necessárias para configurar equipamentos que não possuem endereços, para reconhecimento de vizinhos e reconhecimento de grupos multicast. As rotas do tipo “C” para 2000::/16 (2) e 2002::/16 (4) são de redes diretamente conectadas e aprendidas através das interfaces serial 1 e ethernet 0 respectivamente. A rota do tipo “S” para ::/0 (7) é uma rota default, isto é, indica o roteador para qual todos os pacotes enviados para redes que ele não conhece devem ser enviadas, neste caso para 2000::1 (endereço da rede 2000::/16 – diretamente conectada), entrada (2) da tabela de rotas.

CISCO1#show ipv6 route
IPv6 Routing Table - 7 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
Timers: Uptime/Expires

L
	2000::2/128 [0/0]
	 
 	via ::, Serial1, 00:22:07/never 	(1)
C	2000::/16 [0/0] 	 
 	via ::, Serial1, 00:22:10/never	(2)
L	2002::1/128 [0/0] 	 
 	via ::, Ethernet0, 00:15:02/never	(3)
C
	2002::/16 [0/0]
	 
 	via ::, Ethernet0, 00:15:05/never
	(4)
L
	FE80::/10 [0/0] 	 
 	via ::, Null0, 00:35:09/never	(5)
L	FF00::/8 [0/0]	 
 	via ::, Null0, 00:35:09/never
	(6)
S
	::/0 [1/0]	 
 	via 2000::1, Null, 00:22:10/never	(7)

CISCO3 – Verificamos que a tabela de rotas é bem semelhante a tabela do CISCO1, as diferenças se devem somente aos endereços das interfaces e a rota default.

CISCO3#show ipv6 route
IPv6 Routing Table - 7 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
Timers: Uptime/Expires

L
	2000::1/128 [0/0]
 	via ::, Serial0, 00:26:38/never
C
	2000::/16 [0/0]
 	via ::, Serial0, 00:26:41/never
L
	2001::1/128 [0/0]
 	via ::, Ethernet0, 00:22:22/never
C
	2001::/16 [0/0]
 	via ::, Ethernet0, 00:22:25/never
L	FE80::/10 [0/0]
 	via ::, Null0, 00:53:33/never
L
	FF00::/8 [0/0]
 	via ::, Null0, 00:53:33/never
S	::/0 [1/0]
 	via 2000::2, Null, 00:26:41/never

7.2. Experimento 2: Configuração do protocolo IPv6 em um segmento de rede com utilização do protocolo de roteamento RIPv6

Objetivos

Para este experimento utilizamos somente equipamentos (roteadores e estações) com suporte ao protocolo IPv6. Configuramos todas as interfaces dos roteadores e das estações Linux com endereços de rede IPv6. As estações também possuem endereços IPv4, pois é uma limitação do sistema operacional onde só é possível configurar endereços IPv6 se também existir endereços IPv4.

Verificaremos os seguintes itens:

Arquitetura utilizada na rede

Configuração dos equipamentos

Comandos para os roteadores CISCO1 e CISCO3

Habilitando o roteamento IPv6:

CISCO1#
CISCO1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO1(config)#ipv6 unicast-routing
CISCO1(config)#

Configuração de endereço IPv6 global-unicast numa interface serial:

CISCO3#
CISCO3#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO3(config)#interface serial [no da interface]
CISCO3(config-if)#ipv6 enable
CISCO3(config-if)#ipv6 address [endereço IPv6*] [prefixo de rede**]
CISCO3(config-if)#clock rate [Banda***]
CISCO3(config-if)#

Obs.:
*Refere-se a notação do endereço a ser configurado – xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx – onde “x” são algarismos hexadecimais divididos em 8 grupos de 4 cada separado por “:” – Ex: 2000::1 (note que os grupos somente formados por zeros podem ser simplificados).
**Refere-se ao no de bits que fazem parte do prefixo de rede – Ex: 2000::1/16 (os 16 primeiros bits deste endereço “2000” referem-se a rede e o restante “112 _bits_” indicam a interface “::1”).
***Refere-se a taxa de transmissão de bits utilizada nesta interface (geralmente entre 16000 bits/s até 2000000 bits/s).

Configuração de endereço IPv6 global-unicast numa interface ethernet:

CISCO3#
CISCO3#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO3(config)#interface ethernet [no da interface]
CISCO3(config)#ipv6 enable
CISCO3(config-if)#ipv6 address [endereço IPv6] [prefixo de rede]
CISCO3(config-if)#

Criação de um processo do protocolo RIPv6:

CISCO1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO1(config)#ipv6 router rip [nome*]
CISCO1(config-if)#

Obs.:
* - refere-se ao nome dado ao processo criado para o funcionamento do protocolo RIPv6, Ex: ipv6 router rip “teste2”.

Habilitação do protocolo RIPv6 numa interface qualquer:

CISCO1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO1(config)#interface [tipo da interface] [no da interface]
CISCO1(config-if)#ipv6 rip [nome] enable

Anuncio das redes conectadas e habilitadas no processo do RIPv6:

CISCO1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO1(config)#ipv6 router rip [nome]
CISCO1(config-router)#redistribute connected
CISCO1(config-router)#

SHOW RUNNING-CONFIG

O show running-config é um comando existente nos roteadores Cisco, que apresenta as atuais configurações do equipamento. Este comando é importante para verificarmos se as configurações feitas através de linhas de comando foram executadas. Abaixo são mostrados os resultados do comando show running-config para os roteadores utilizados neste experimento, é importante observar as interfaces que estão habilitadas e anunciadas no processo RIPv6 :

Resultados CISCO1

CISCO1#show running-config
Building configuration...

Current configuration : 748 bytes
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname CISCO1
!
enable secret 5 $1$53N9$VIUVRghlRRihc/1yd2Q9r1
enable password cisco
!
ip subnet-zero
!
ipv6 unicast-routing
!
!
!
interface Ethernet0
ip address 152.84.50.1 255.255.255.0
ipv6 address 2002::1/16
ipv6 enable
ipv6 rip teste2 enable
!
interface Serial0
no ip address
shutdown
ipv6 rip teste2 enable
no fair-queue
!
interface Serial1
no ip address
ipv6 address 2000::2/16
ipv6 enable
ipv6 rip teste2 enable
!
ip classless
ip http server
ip pim bidir-enable
!
ipv6 router rip teste2
redistribute connected
!
!
!
line con 0
password cisco
line aux 0
line vty 0
password cisco
login
line vty 1 4
login
!
end

Resultados CISCO3

CISCO3#show running-config
Building configuration...

Current configuration : 700 bytes
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname CISCO3
!
enable secret 5 $1$KNqz$FJlrixXvAm.bMEfz5y0m7.
enable password cisco
!
ip subnet-zero
!
ipv6 unicast-routing
!
!
!
interface Ethernet0
no ip address
ipv6 address 2001::1/16
ipv6 enable
ipv6 nd managed-config-flag
ipv6 rip teste2 enable
!
interface Serial0
no ip address
ipv6 address 2000::1/16
ipv6 enable
ipv6 rip teste2 enable
clockrate 2000000
!
interface Serial1
no ip address
shutdown
!
ip classless
ip http server
ip pim bidir-enable
!
ipv6 router rip teste2
redistribute connected
!
!
!
line con 0
password cisco
line aux 0
line vty 0 4
login
!
end

Conclusões

Neste item serão apresentados três comandos fundamentais para que possamos tirar as conclusões a respeito do correto funcionamento de nossa rede de testes. São eles os comandos ping6 (que verifica a conectividade da rede IPv6), traceroute6 (que mostra por quais roteadores um pacote enviado passa até alcançar seu destino) e o show ipv6 route (que apresenta a tabela de rotas de cada roteador).

PING6

O exemplo abaixo verifica a conectividade entre a estação Linux A (de onde é executado o programa ping6) e a estação Linux B. O programa ping6 envia um pacote ICMP com 64 bytes de dados para o endereço indicado (neste caso 2001::2 – endereço IPv6 do Linux B) e aguarda o retorno do mesmo, calculando o tempo gasto para execução desta tarefa.

[root@linuxA bruno]# ping6 -c 5 2001::2
PING 2001::2(2001::2) 56 data bytes
64 bytes from 2001::2: icmp_seq=1 ttl=62 time=6.77 ms
64 bytes from 2001::2: icmp_seq=2 ttl=62 time=6.69 ms
64 bytes from 2001::2: icmp_seq=3 ttl=62 time=6.91 ms
64 bytes from 2001::2: icmp_seq=4 ttl=62 time=6.79 ms
64 bytes from 2001::2: icmp_seq=5 ttl=62 time=6.75 ms

--- 2001::2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4042ms
rtt min/avg/max/mdev = 6.690/6.785/6.915/0.104 ms

Verifica a conectividade entre a estação Linux B e a estação Linux A.

[root@linuxB aua]# ping6 -c 5 2002::2
PING 2002::2(2002::2) 56 data bytes
64 bytes from 2002::2: icmp_seq=1 ttl=62 time=6.87 ms
64 bytes from 2002::2: icmp_seq=2 ttl=62 time=6.69 ms
64 bytes from 2002::2: icmp_seq=3 ttl=62 time=6.65 ms
64 bytes from 2002::2: icmp_seq=4 ttl=62 time=7.08 ms
64 bytes from 2002::2: icmp_seq=5 ttl=62 time=6.81 ms

--- 2002::2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4037ms
rtt min/avg/max/mdev = 6.657/6.824/7.085/0.151 ms

TRACEROUTE6

O exemplo abaixo mostra o caminho percorrido da estação Linux A até alcançar o destino, a estação Linux B. Podemos verificar que o pacote enviado do Linux A para o Linux B passa por 2002::1 - roteador CISCO1, interface ethernet 0, passa por 2000::1 - roteador CISCO3, interface serial 0, e alcança seu destino ao chegar em 2001::2 – estação Linux B.

[root@linuxA bruno]# traceroute6 2001::2
traceroute to 2001::2 (2001::2) from 2002::2, 30 hops max, 16 byte
packets
1 2002::1 (2002::1) 8.617 ms 2.403 ms *
2 2000::1 (2000::1) 5.78 ms 6.277 ms *
3 2001::2 (2001::2) 8.948 ms 6.787 ms 6.608 ms

O exemplo abaixo mostra o caminho percorrido da estação Linux B até alcançar o destino, a estação Linux A. Podemos verificar que o pacote enviado do Linux B para o Linux A passa por 2001::1 - roteador CISCO3, interface ethernet 0, passa por 2000::2 - roteador CISCO1, interface serial 1, e alcança seu destino ao chegar em 2002::2 – estação Linux A.

[root@linuxB aua]# traceroute6 2002::2
traceroute to 2002::2 (2002::2) from 2001::2, 30 hops max, 16 byte
packets
1 2001::1 (2001::1) 2.748 ms 2.63 ms *
2 2000::2 (2000::2) 7.256 ms 6.29 ms *
3 2002::2 (2002::2) 7.696 ms 7.061 ms 6.914 ms

SHOW IPV6 ROUTE

CISCO1 - Podemos verificar na tabela de rotas IPv6 do roteador CISCO1, que existem 3 tipos de rotas L, C, R. As rotas do tipo “L” são as rotas configuradas manualmente nas interfaces ou aquelas autoconfiguradas pelo protocolo IPv6. Por exemplo, as rotas para 2000::2/128 (1)-(endereço da interface serial 1) e 2002::1/128 (4)-(endereço da interface ethernet 0) são rotas do tipo “L” configuradas manualmente e são aprendidas pelas próprias interfaces. Já as rotas FE80::/10 (6)-(prefixo de endereço link local) e FF00::/8 (7)-(prefixo de endereço multicast) são rotas do tipo “L” configuradas automaticamente pelo protocolo. Essas rotas são necessárias para configurar equipamentos que não possuem endereços, para reconhecimento de vizinhos e reconhecimento de grupos multicast. As rotas do tipo “C” para 2000::/16 (2) e 2002::/16 (5) são de redes diretamente conectadas e aprendidas através das interfaces serial 1 e ethernet 0 respectivamente. A rota do tipo “R” para 2001::/16 (7) é uma rota aprendida pelo protocolo RIPv6, através de sua interface serial 1(interface de comunicação com o CISCO3), note que ele aprende essa rota através de um endereço link local (*), que o endereço deste tipo para a interface serial 1 (cada interface é automaticamente configurada com um endereço desse tipo quando o protocolo IPv6 é habilitado na mesma).

CISCO1#show ipv6 route
IPv6 Routing Table - 7 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
Timers: Uptime/Expires

L
	2000::2/128 [0/0]	 
 	via ::, Serial1, 01:23:19/never
	(1)
C
	2000::/16 [0/0]	 
 	via ::, Serial1, 01:23:22/never	(2)
R	2001::/16 [120/2]	 
 	via FE80::200:CFF:FE46:DEBC*, Serial1, 00:10:21/00:02:48
	(3)
L
	2002::1/128 [0/0]	 
 	via ::, Ethernet0, 01:16:13/never	(4)
C
	2002::/16 [0/0]
	 
 	via ::, Ethernet0, 01:16:17/never
	(5)
L
	FE80::/10 [0/0]	 
 	via ::, Null0, 01:36:21/never	(6)
L	FF00::/8 [0/0]	 
 	via ::, Null0, 01:36:21/never	(7)

CISCO3 – Verificamos que a tabela de rotas é bem semelhante a tabela do CISCO1, as diferenças se devem somente aos endereços das interfaces e a rota aprendida por RIPv6.

CISCO3#show ipv6 route
IPv6 Routing Table - 7 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
Timers: Uptime/Expires

L
	2000::1/128 [0/0]
 	via ::, Serial0, 01:22:30/never
C
	2000::/16 [0/0]
 	via ::, Serial0, 01:22:33/never
L	2001::1/128 [0/0]
 	via ::, Ethernet0, 00:28:11/never
C
	2001::/16 [0/0]
 	via ::, Ethernet0, 00:28:14/never
R	2002::/16 [120/2]
 	via FE80::200:CFF:FE46:DE08, Serial0, 00:09:48/00:02:53
L
	FE80::/10 [0/0]
 	via ::, Null0, 01:49:24/never
L
	FF00::/8 [0/0]
 	via ::, Null0, 01:49:24/never

7.3. Experimento 3: Configuração do protocolo IPv6 em um segmento de rede, utilizando interface Tunnel

Objetivos

Para este experimento utilizamos equipamentos (roteadores e estações) com suporte ao protocolo IPv6 e um roteador com IOS sem suporte IPv6. Configuramos as interfaces Ethernet dos roteadores CISCO1 e CISCO3 e as estações Linux com endereços de rede IPv6 e também endereços IPv4. As interfaces Seriais dos roteadores CISCO1, CISCO3 e IPv4 possuem apenas endereços IPv4. Desta forma, podemos verificar no diagrama abaixo a formação de duas ”ilhas” IPv6. Para uni-las utilizaremos uma conexão através de um Tunnel entre os roteadores CISCO1 e CISCO3.

Verificaremos os seguintes itens:

Arquitetura utilizada na rede

Configuração dos equipamentos

Comandos para os roteadores CISCO1 e CISCO3

Habilitando o roteamento IPv6:

CISCO1#
CISCO1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO1(config)#ipv6 unicast-routing
CISCO1(config)#

Configuração de endereço IPv6 global-unicast numa interface ethernet:

CISCO3#
CISCO3#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO3(config)#interface ethernet [no da interface]
CISCO3(config)#ipv6 enable
CISCO3(config-if)#ipv6 address [endereço IPv6*] [prefixo de rede**]
CISCO3(config-if)#

Obs.:
*Refere-se a notação do endereço a ser configurado – xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx – onde “x” são algarismos hexadecimais divididos em 8 grupos de 4 cada separado por “:” – Ex: 2000::1 (note que os grupos somente formados por zeros podem ser simplificados).
**Refere-se ao no de bits que fazem parte do prefixo de rede – Ex: 2000::1/16 (os 16 primeiros bits deste endereço “2000” referem-se a rede e o restante (112 bits) indicam a interface “::1”).

Configuração de endereço IPv6 global-unicast numa interface tunnel:

CISCO3#
CISCO3#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO3(config)#interface tunnel [no da interface]
CISCO3(config-if)#ipv6 enable
CISCO3(config-if)#ipv6 address [endereço IPv6] [prefixo de rede]
CISCO3(config-if)#

Configuração de Tunnel entre dois roteadores para encapsulamento IPv6 sobre IPv4:

CISCO3#
CISCO3#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO3(config)#interface tunnel [no da interface]
CISCO3(config-if)#tunnel source [tipo da interface de saída*] [no da interface]
CISCO3(config-if)#tunnel destination [endereço de destino**]
CISCO3(config-if)# tunnel mode ipv6ip***

Obs.:
*Refere-se a interface usada como fonte do tunnel Ex: Serial.
**Refere-se ao endereço IPv4 da interface de destino do tunnel Ex: a interface serial 0 do roteador CISCO1, 200.20.20.2.
***Refere-se ao modo de encapsulamento usado pelo tunnel Ex: neste caso usaremos IPv6 sobre IPv4.

Criação de um processo do protocolo RIPv6:

CISCO1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO1(config)#ipv6 router rip [nome*]
CISCO1(config-router)#

Obs.:
*Refere-se ao nome dado ao processo criado para o funcionamento do protocolo RIPv6, Ex: ipv6 router rip “teste3”.

Habilitação do protocolo RIPv6 numa interface qualquer:

CISCO1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO1(config)#interface [tipo da interface] [no da interface]
CISCO1(config-if)#ipv6 rip [nome] enable

Anuncio das redes conectadas e habilitadas no processo do RIPv6:

CISCO1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CISCO1(config)#ipv6 router rip [nome]
CISCO1(config-router)#redistribute connected
CISCO1(config-router)#

SHOW RUNNING-CONFIG

O show running-config é um comando existente nos roteadores Cisco, que apresenta as atuais configurações do equipamento. Este comando é importante para verificarmos se as configurações feitas através de linhas de comando foram executadas. Abaixo são mostrados os resultados do comando show running-config para os roteadores utilizados neste experimento, é importante observar a configuração da interface Tunnel:

Resultados CISCO1

CISCO1#show running-config
Building configuration...

Current configuration : 598 bytes
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname CISCO1
!
!
ip subnet-zero
!
ipv6 unicast-routing
!
!
!
interface Tunnel0
no ip address
ipv6 address 3000::1/64
ipv6 enable
ipv6 rip 1 enable
tunnel source Serial0
tunnel destination 200.20.10.2
tunnel mode ipv6ip
!
interface Ethernet0
ip address 152.84.50.1 255.255.255.0
ipv6 address 2001::1/64
ipv6 enable
ipv6 rip 1 enable
!
interface Serial0
ip address 200.20.20.2 255.255.255.0
no fair-queue
!
interface Serial1
no ip address
shutdown
!
router rip
network 152.84.0.0
network 200.20.20.0
!
ip classless
ip http server
ip pim bidir-enable
!
ipv6 router rip 1
redistribute connected
!
!
line con 0
line aux 0
line vty 0 4
!
end

Resultados CISCO3

CISCO3#show running-config
Building configuration...

Current configuration : 598 bytes
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname CISCO3
!
!
ip subnet-zero
!
ipv6 unicast-routing
!
!
!
interface Tunnel0
no ip address
ipv6 address 3000::3/64
ipv6 enable
ipv6 rip 1 enable
tunnel source Serial0
tunnel destination 200.20.20.2
tunnel mode ipv6ip
!
interface Ethernet0
ip address 200.20.30.1 255.255.255.0
ipv6 address 2003::1/64
ipv6 enable
ipv6 rip 1 enable
!
interface Serial0
ip address 200.20.10.2 255.255.255.0
no fair-queue
!
interface Serial1
no ip address
shutdown
!
router rip
network 200.20.10.0
network 200.20.30.0
!
ip classless
ip http server
ip pim bidir-enable
!
ipv6 router rip 1
redistribute connected
!
!
line con 0
line aux 0
line vty 0 4
!
end

Resultados IPV4

IPV4#show running-config
Building configuration...

Current configuration : 598 bytes
!
version 12.1
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname IPv4
!
!
!
ip subnet-zero
!
!
!
interface Ethernet0
no ip address
shutdown
media-type 10BaseT
!
interface Ethernet1
no ip address
shutdown
media-type 10BaseT
!
interface Serial0
ip address 200.20.10.1 255.255.255.0
no fair-queue
clockrate 2000000
!
interface Serial1
ip address 200.20.20.1 255.255.255.0
clockrate 2000000
!
interface Serial2
no ip address
shutdown
!
interface Serial3
no ip address
shutdown
!
router rip
network 200.20.10.0
network 200.20.20.0
!
ip classless
no ip http server
!
!
line con 0
line aux 0
line vty 0 4
!
end

Conclusões

Neste item serão apresentados três comandos fundamentais para que possamos tirar as conclusões a respeito do correto funcionamento de nossa rede de testes. São eles os comandos ping6 (que verifica a conectividade da rede IPv6), traceroute6 (que mostra por quais roteadores um pacote enviado passa até alcançar seu destino) e o show ipv6 route (que apresenta a tabela de rotas de cada roteador).

PING6

Verifica a conectividade entre a estação Linux A (de onde é executado o programa ping6) e a estação Linux B. O programa ping6 envia um pacote ICMP com 64 bytes de dados para o endereço indicado (neste caso 2003::201:2ff:febf:a56b – endereço IPv6 do Linux B) e aguarda o retorno do mesmo, calculando o tempo gasto para execução desta tarefa.

[root@linuxA raphagg]# ping6 2003::201:2ff:febf:a56b
PING 2003::201:2ff:febf:a56b(2003::201:2ff:febf:a56b) from
2001::2a0:c9ff:fec8:e0c2 : 56 data bytes
64 bytes from 2003::201:2ff:febf:a56b: icmp_seq=1 ttl=62 time=12.8 ms
64 bytes from 2003::201:2ff:febf:a56b: icmp_seq=2 ttl=62 time=11.9 ms
64 bytes from 2003::201:2ff:febf:a56b: icmp_seq=3 ttl=62 time=11.9 ms
64 bytes from 2003::201:2ff:febf:a56b: icmp_seq=4 ttl=62 time=11.9 ms
64 bytes from 2003::201:2ff:febf:a56b: icmp_seq=5 ttl=62 time=11.9 ms
64 bytes from 2003::201:2ff:febf:a56b: icmp_seq=6 ttl=62 time=12.6 ms

--- 2003::201:2ff:febf:a56b ping statistics ---
6 packets transmitted, 6 received, 0% loss, time 5010ms
rtt min/avg/max/mdev = 11.908/12.225/12.874/0.410 ms

Verifica a conectividade entre a estação Linux B e a estação Linux A.

[root@linuxB raphagg]# ping6 2001::2a0:c9ff:fec8:e0c2
PING 2001::2a0:c9ff:fec8:e0c2(2001::2a0:c9ff:fec8:e0c2) 56 data bytes
64 bytes from 2001::2a0:c9ff:fec8:e0c2: icmp_seq=1 ttl=62 time=12.7 ms
64 bytes from 2001::2a0:c9ff:fec8:e0c2: icmp_seq=2 ttl=62 time=12.3 ms
64 bytes from 2001::2a0:c9ff:fec8:e0c2: icmp_seq=3 ttl=62 time=12.9 ms
64 bytes from 2001::2a0:c9ff:fec8:e0c2: icmp_seq=4 ttl=62 time=12.2 ms
64 bytes from 2001::2a0:c9ff:fec8:e0c2: icmp_seq=5 ttl=62 time=12.0 ms
64 bytes from 2001::2a0:c9ff:fec8:e0c2: icmp_seq=6 ttl=62 time=12.6 ms
64 bytes from 2001::2a0:c9ff:fec8:e0c2: icmp_seq=7 ttl=62 time=12.0 ms

--- 2001::2a0:c9ff:fec8:e0c2 ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6056ms
rtt min/avg/max/mdev = 12.073/12.434/12.929/0.325 ms

TRACEROUTE6

Mostra o caminho percorrido da estação Linux A até alcançar o destino, a estação Linux B. Podemos verificar que o pacote enviado do Linux A para o Linux B passa por 2001::1 - roteador CISCO1, interface ethernet 0, passa por 3000::3 - roteador CISCO3, interface tunnel 0, e alcança seu destino ao chegar em 2003::2201:2ff:febf:a56b – estação Linux B. Podemos verificar que os pacotes passam pela nuvem IPv4, sem serem percebidos, isto é, utiliza Tunnel com encapsulamento IPv6 sobre IPv4.

[root@linuxA raphagg]# traceroute6 2003::201:2ff:febf:a56b
traceroute to 2003::201:2ff:febf:a56b (2003::201:2ff:febf:a56b) from
2001::2a0:c9ff:fec8:e0c2, 30 hops max, 16 byte packets
1 2001::1 (2001::1) 2.476 ms * 2.396 ms
2 3000::3 (3000::3) 10.843 ms * 11.007 ms
3 2003::201:2ff:febf:a56b (2003::201:2ff:febf:a56b) 12.227 ms
11.705 ms 12.058 ms

Mostra o caminho percorrido da estação Linux B até alcançar o destino, a estação Linux A. Podemos verificar que o pacote enviado do Linux B para o Linux A passa por 2003::1 - roteador CISCO3, interface ethernet 0, passa por 3000::1 - roteador CISCO1, interface tunnel 0, e alcança seu destino ao chegar em 2001::2a0:c9ff:fec8:e0c2 – estação Linux A. Podemos verificar que os pacotes passam pela nuvem IPv4, sem serem percebidos, isto é, utiliza Tunnel com encapsulamento IPv6 sobre IPv4.

root@multicast raphagg]# traceroute6 2001::2a0:c9ff:fec8:e0c2
traceroute to 2001::2a0:c9ff:fec8:e0c2 (2001::2a0:c9ff:fec8:e0c2) from
2003::201:2ff:febf:a56b, 30 hops max, 16 byte packets
1 2003::1 (2003::1) 2.975 ms 2.617 ms *
2 3000::1 (3000::1) 10.953 ms 11.091 ms *
3 2001::2a0:c9ff:fec8:e0c2 (2001::2a0:c9ff:fec8:e0c2) 13.746 ms
12.076 ms 11.593 ms

SHOW IPV6 ROUTE

CISCO1 - Podemos verificar na tabela de rotas IPv6 do roteador CISCO1, que existem 3 tipos de rotas L, C, S. As rotas “L” (locais) são as rotas configuradas manualmente nas interfaces ou aquelas autoconfiguradas pelo protocolo IPv6. Por exemplo, as rotas para 2000::2/128 (1)-(endereço da interface serial 1) e 2002::1/128 (3)-(endereço da interface ethernet 0) são rotas do tipo “L” configuradas manualmente e são aprendidas pelas próprias interfaces. Já as rotas FE80::/10 (5)-(prefixo de endereço link local) e FF00::/8 (6)-(prefixo de endereço multicast) são rotas do tipo “L” configuradas automaticamente pelo protocolo. Essas rotas são necessárias para configurar equipamentos que não possuem endereços, para reconhecimento de vizinhos e reconhecimento de grupos multicast. As rotas do tipo “C” para 2000::/16 (2) e 2002::/16 (4) são de redes diretamente conectadas e aprendidas através das interfaces serial 1 e ethernet 0 respectivamente. A rota do tipo “S” para ::/0 (7) é uma rota default, isto é, indica o roteador para qual todos os pacotes enviados para redes que ele não conhece devem ser enviadas, neste caso para 2000::1 (endereço da rede 2000::/16 – diretamente conectada), entrada (2) da tabela de rotas.

CISCO1#show ipv6 route
IPv6 Routing Table - 7 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
Timers: Uptime/Expires

L
	2000::2/128 [0/0]
	 
 	via ::, Serial1, 00:22:07/never	(1)
C	2000::/16 [0/0]	 
 	via ::, Serial1, 00:22:10/never	(2)
L	2002::1/128 [0/0]	 
 	via ::, Ethernet0, 00:15:02/never	(3)
C	2002::/16 [0/0]	 
 	via ::, Ethernet0, 00:15:05/never	(4)
L	FE80::/10 [0/0]	 
 	via ::, Null0, 00:35:09/never	(5)
L	FF00::/8 [0/0]	 
 	via ::, Null0, 00:35:09/never	(6)
S 	::/0 [1/0]	 
 	via 2000::1, Null, 00:22:10/never	(7)

CISCO3 – Verificamos que a tabela de rotas é bem semelhante a tabela do CISCO1, as diferenças se devem somente aos endereços das interfaces e a rota default.

CISCO3#show ipv6 route
IPv6 Routing Table - 7 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
Timers: Uptime/Expires

L
	2000::1/128 [0/0]
 	via ::, Serial0, 00:26:38/never
C 	2000::/16 [0/0]
 	via ::, Serial0, 00:26:41/never
L
	2001::1/128 [0/0]
 	via ::, Ethernet0, 00:22:22/never
C
	2001::/16 [0/0]
 	via ::, Ethernet0, 00:22:25/never
L
	FE80::/10 [0/0]
 	via ::, Null0, 00:53:33/never
L
	FF00::/8 [0/0]
 	via ::, Null0, 00:53:33/never
S
	::/0 [1/0]
 	via 2000::2, Null, 00:26:41/never

Última atualização 29/08/2008 15h27

Comentários     +  

Seu nome: (max. 35 letras)


Comentário: (max. 2500 caracteres)


Verificação: (se estiver ilegível, clique na imagem)


   


   Licença:  Creative Commons Atribuição 2.5 Brasil (salvo seja especificada outra)     Válido:  XHTML 1.0 -  CSS 3