Você está na página 1de 14

IPV6NeighborDiscovery

Experincia2e3RouterSolicitationeRouterAdvertisement
Objetivo
Esta experincia possui como objetivo apresentar o funcionamento do mecanismo de
descobertaderoteadores.Paraisso,elafoidivididaemduaspartes.
A primeira focada no envio da mensagem Router Solicitation com resposta Router
Advertisement. E a segunda, mostra o anuncio do roteador para a rede com o uso da
mensagemRouterAdvertisement.
Opresenteexerccioutilizaastopologiasdescritasnosseguintesarquivos:
FuncionalidadeNeighborDiscoveryE2.imn
FuncionalidadeNeighborDiscoveryE3.imn.

IntroduoTerica
A descoberta de roteadores um procedimento realizado pelos ns da rede quando
configuram seu endereo link local, ou seja, no momento que se conectam ou se
reconectamemumarede,paradescobrircaractersticasdoenlaceerotasdecomunicao.
O mecanismo comea comoenviodamensagemRouterSolicitationdirecionadoatodos os
roteadores no enlace, utilizando oendereodedestinoAllRouter(FF02::2)multicastGroup.
Alm de procurar por roteadores, essa mensagem j contm o endereo fsico do prprio
dispositivodeformaaevitarnovastrocasdepacotes.
O roteador, ao receber oRouterSolicitation,geraumarespostaRouterAdvertisementque
enviada diretamente ao n solicitante atravs de seu endereo de link local. Porm,
possvel que essa resposta seja enviada em multicast All Node, realizando o envio do
RouterAdvertisementparatodososns.
ORouterAdversimentserveparainformaraonsobreaexistnciadoroteador.
De tempos em tempos os roteadores tambm enviam Router Advertisements parainformar
quecontinuamoperandocorretamente.

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

RoteiroExperimental
Experincia2RouterSolicitation
1. Caso no esteja utilizando a mquina virtual fornecida pelo NIC.br preciso, antes
de comear a experincia, instalar alguns softwares para auxiliar no aprendizado
(casocontrriovparaopasso2).
Sigaopassoaseguirpararealizarainstalao:
a. Para fazer algumas verificaes durante o experimento ser necessrio a
utilizao do programa Wireshark que realiza a verificao dos pacotes que
so enviados na rede. Na mquina virtual, utilize um Terminal para rodar o
comando:
$sudoaptgetinstallwireshark

Antes da instalao ser solicitada a senha do usurio core. Digite core


paraprosseguircomainstalao.
2. Inicie o CORE e abra o arquivo FuncionalidadeNeighborDiscoveryE2.imn
localizado no diretrio do desktopFuncionalidades/NeighborDiscovery,damquina
virtualdoNIC.br.Aseguintetopologiainicialderededeveaparecer:

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

3. Verifiqueaconfiguraodosnsdatopologia.
a. Inicieasimulaoutilizandoumadasseguintesmaneiras:
i. aperteoboto

ii. utilizeomenuExperiment>Start.
b. Espere at que o CORE termine a inicializao da simulao e abra o
terminaldocliente,atravsdeduploclique.
c. Verifiqueaconfiguraodoclienteatravsdoseguintecomando:
#ipaddr

Oresultadodeveser:

*Obs:Apartirdessecomandopossvelobservarosendereosdas
interfaces.
d. Verifiqueaconfiguraodoroteadorcomomesmocomando.
Oresultadodeveser:

*Obs: A partir desse comando possvel observar os endereos das


interfaces.

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

4. TestedoenviodamensagemRouterSolicitation:
a. Abraoterminaldoroteador,atravsdoduploclique.
b. Utilizeoseguintecomandoparainiciaracapturadepacotesdocliente:
#tcpdumpieth0s0w/tmp/captura_neighdisc_e2.pcap

Oresultadodeveser:

*Obs: No feche esse terminal at o final doexperimento,umavez que,isso


ocasionar no trmino da execuo do comando tcpdump e prejudicar o
andamentodaexperincia.
c. Abraoterminaldocliente,atravsdoduploclique.
d. No terminal utilize a seguinte sequencia de comandos, para forar envio de
routersolicitation:
#iplinkseteth0down
#iplinkseteth0up
#ipaddradd2001:db8::10/32deveth0

Oresultadodeveser:

*Obs: Note que esses comandos esto reiniciando e restaurandoainterface


eth0,paraocasionaroenviodamensagemRouterSolicitation.

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

e. Depoisverifiqueaconfiguraodainterfaceeth0sehouvealgumamudana.
Utilizeocomando:
#ipaddr

Oresultadodeveser:

*Obs:Nodevehavernenhumaalteraonasinterfacescomparadocom
seuestadoanterior,vistonopasso3.
e. No terminal do roteador, encerre a captura de pacotes atravs da sequncia
Ctrl+C.
Oresultadodeveser:

*Obs: A quantidade depacotes podevariardeacordocomotempoesperado


paradarocomandoCtrl+C.
5. Encerreasimulaocomumdosseguintescomandos:
i.
ii.

aperteoboto

utilizeomenuExperiment>Stop.

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

6. A verificao dos pacotes capturados ser realizada atravs do programa


Wireshark. Para inicilo execute o seguinte comando em um terminal da mquina
virtual:
$wireshark

a. Abraoarquivo/tmp/captura_neighdisc_e2.pcapcomomenuFile>Open:
b. Procure pelos pacotes RouterSolicitationeRouterAdvertisement.Analiseos
evejaqueosdadoscontidosnopacoteconferecomospassadosnateoria.

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

RouterSolicitation:

*Obs:ofiltroicmpv6podeserusadoparaajudarafiltrarasmensagens.
Camposimportantes:
Destination (Ethernet): o destino o endereo(33:33:00:00:00:02).Oprefixo33:33
indica que a mensagem um multicast na camada Ethernet. O sufixo ff:00:00:02
indicaosltimos32bitsdoendereomulticastIPv6damensagem.
Source (Ethernet):aorigemoMACaddress dainterfacedodispositivoclienteque
enviouamensagem(00:00:00:aa:00:00).
Type(Ethernet):indicaqueamensagemutilizaoprotocoloIPv6(x86dd).
Next Header (IPv6): indica qual o prximo cabealho (de extenso do IPv6), no
caso,ovalor58(0x3a)refereseumamensagemICMPv6.
Source (IPv6): o endereo ipv6delink localdainterfacequeoriginouamensagem
(fe80::200:ff:feaa:0).
Destination(IPv6):odestinooendereoipv6MulticastAllRouters(ff02::2).
Type(ICMPv6):indicaqueamensagemdotipo133(RouterSolicitation).
ICMPv6Option(ICMPv6):indicaasopesdopacoteICMPv6:
SourceLinkLayerAddress
Type: indica o tipo de dado da mensagem ICMPv6. Em nosso caso,
eladotipoSourcelinklayeraddress.
Linklayer address: indica o MAC address do endereo de origemda
mensagem.

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

RouterAdvertisement:

*Obs:ofiltroicmpv6podeserusadoparaajudarafiltrarasmensagens.
Camposimportantes:
Destination (Ethernet): o destino o endereo(33:33:00:00:00:01).Oprefixo33:33
indica que a mensagem um multicast na camada Ethernet. O sufixo ff:00:00:01
indicaosltimos32bitsdoendereomulticastIPv6damensagem.
Source (Ethernet): a origemoMACaddress dainterfacedoroteadorqueenvioua
mensagem(00:00:00:aa:00:01).
Type(Ethernet):indicaqueamensagemutilizaoprotocoloIPv6(x86dd).
Next Header (IPv6): indica qual o prximo cabealho (de extenso do IPv6), no
caso,ovalor58(0x3a)refereseumamensagemICMPv6.
Source (IPv6): o ip de link local da interface que originou a resposta, que neste
casooroteador(fe80::200:ff:feaa:1).
Destination(IPv6):odestinooendereoMulticastAllnodes(ff02::1).
Type(ICMPv6):indicaqueamensagemdotipo134(RouterAdvertisement).
ICMPv6Option(ICMPv6):indicaasopesdopacoteICMPv6:
SourceLinkLayerAddress
Type: indica o tipo de dado da mensagem ICMPv6. Em nosso caso,
eladotipoSourcelinklayeraddress.
Linklayer address: indica o MAC address do endereo de origemda
mensagem,quenestecasooroteador.

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

Experincia3RouterAdvertisement
1. Inicie o CORE e abra o arquivo FuncionalidadeNeighborDiscoveryE3.imn
localizado no diretrio do desktopFuncionalidades/NeighborDiscovery,damquina
virtualdoNIC.br.Aseguintetopologiainicialderededeveaparecerdeveaparecer:

2. Verifiqueaconfiguraodosnsdatopologia.
a. Inicieasimulaocomumdosseguintescomandos:
i. aperteoboto

ii. utilizeomenuExperiment>Start.
b. EspereatqueoCOREtermineainicializaodasimulaoeabrao
terminaldocliente,atravsdoduploclique.
c. Verifiquequeaconfiguraodoclienteatravsdoseguintecomando:
#ipaddr

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

Oresultadodeveser:

*Obs:Apartirdessecomandopossvelobservarosendereosdas
interfaces.
d. Verifiquequeaconfiguraodoroteadoratravsdomesmocomando.
Oresultadodeveser:

*Obs:Apartirdessecomandopossvelobservarosendereosdas
interfaces.
3. EditandoasconfiguraesdoQuagga,paraenviaramensagemRouter
Advertisement.
a. Abraoterminaldoroteador,atravsdoduploclique.
b. Utilizeoseguintecomandoparavisualizaroarquivodeconfiguraodo
quagga,chamadoQuagga.conf:
#cat/usr/local/etc/quagga/Quagga.conf

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

10

Oresultadodeveser:

c. Editeessearquivodeconfigurao(Quagga.conf),adicionandoas
seguinteslinhasdentrodoescopodainterface(ouseja,entreaslinhas
interfaceeth0e!:
noipv6ndsuppressra
ipv6ndrainterval5

Oresultadodeveser:

*Obs:umeditordetextopresentenamquinavirtualquepodeserutilizado
onano.Parauslodigitenoterminal:
#nano/usr/local/etc/quagga/Quagga.conf

Nonano,asequnciautilizadaparasalvaroarquivoCTRLOeparasair
CTRLX.
4. TestedasnovasconfiguraesdoQuagga.
a. Abraoterminaldocliente,atravsdoduploclique.
b. Utilizeoseguintecomandoparainiciaracapturadeenviadospacotespelo
roteador:
#tcpdumpieth0s0w/tmp/captura_neighdisc_e3.pcap

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

11

Oresultadodeveser:

*Obs:Nofecheesseterminalatofinaldoexperimento,umavezque,isso
ocasionarnotrminodaexecuodocomandotcpdumpeprejudicaro
andamentodaexperincia.
c. Abraoterminaldoroteador,atravsdoduploclique.
d. Utilizeoseguintecomandoparainiciaroquaggacomasnovas
configuraes:
#./boot.sh

Oresultadodeveser:

e. Noterminaldocliente,encerreacapturadepacotesatravsdasequncia
Ctrl+C.
Oresultadodeveser:

*Obs:Aquantidadedepacotespodevariardeacordocomotempoesperado
paradarocomandoCtrl+C.
5. Encerreasimulaoutilizandoumdosseguintescomandos:
a. aperteoboto

b. utilizeomenuExperiment>Stop.
IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

12

6. A verificao dos pacotes capturados ser realizada atravs do programa


Wireshark. Para inicilo execute o seguinte comando em um terminal da mquina
virtual:
$wireshark

a. Abraoarquivo/tmp/captura_neighdisc_e3.pcapcomomenuFile>Open:
b. Procure pelo pacote Router Advertisement. Analiseo e veja se os dados
contidosnopacoteconferemcomoquefoipassadonateoria.
RouterAdvertisement:

*Obsofiltroicmpv6podeserusadoparaajudarafiltrarasmensagens.

Camposimportantes:
Destination (Ethernet): o destino o endereo MAC (33:33:00:00:00:01). Oprefixo
33:33 indica que a mensagem um multicast na camada Ethernet. O sufixo
ff:00:00:01indicaosltimos32bitsdoendereomulticastIPv6damensagem.
Source (Ethernet): a origemoMACaddress dainterfacedoroteadorqueenvioua
mensagem(00:00:00:aa:00:01).
Type(Ethernet):indicaqueamensagemutilizaoprotocoloIPv6(x86dd).
Next Header (IPv6): indica qual o prximo cabealho (de extenso do IPv6), no
caso,ovalor58(0x3a)refereseumamensagemICMPv6.
Source (IPv6): a origem o endereo IP de link local da interface que originou a
mensagem,quenestecasooroteador(fe80::200:ff:feaa:1).

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

13

Destination(IPv6):odestinooendereoMulticastAllNodes(ff02::1).
Type(ICMPv6):indicaqueamensagemdotipo134(RouterAdvertisement).
ICMPv6Option(ICMPv6):indicaasopesdopacoteICMPv6:
SourceLinkLayerAddress
Type: indica o tipo de dado da mensagem ICMPv6. Em nosso caso,
eladotipoSourcelinklayeraddress.
Linklayer address: indica o MAC address dainterfaceapartirdaqual
a mensagem de Router Advertisement foi enviada, neste caso,
00:00:00:aa:00:01.

IPv6.brLaboratrioNeighborDiscoveryNIC.brhttp://ipv6.brrev.2012.05.0301

14