Vous êtes sur la page 1sur 94

Introduo

Este trabalho tem por objetivo consolidar o conhecimento sobre a nova gerao do Internet Protocol (IP), servindo como base a outros que podero surgir sobre o assunto. Sugere-se, portanto, que uma rede IPv6 seja instalada no Campus da Unama (Universidade da Amaznia), para um aprofundamento maior de suas caractersticas e um estudo das conseqncias envolvidas, onde sero mostrados todos os recursos a serem utilizados para efetivao desta implementao. Para tanto, ser necessrio inicialmente explicitar as mudanas do IPv4 para IPv6 como: migrao, ampliao dos endereamentos, suporte a aplicaes em tempo real, segurana, autenticao, permisso de evoluo no futuro, cabealhos mais simplificados, entre outros, tornando a rede um ambiente estvel, confivel e apto para aplicaes atuais e futuras.

1- HISTRICO DA INTERNET A arquitetura TCP/IP Internet o resultado do desenvolvimento de uma filosofia de interligao de redes de computadores cuja caracterstica mais relevante a total transparncia, aos seus usurios, dos detalhes relativos s tecnologias e forma com a qual essa interligao feita. No d para falar da origem do TCP/IP sem falar do projeto do qual ele resultou, projeto este que resultou tambm na Internet, a grande via de informao de alcance mundial. O primeiro evento que pode ser relacionado origem da Internet data de 1957, a partir da criao de uma agncia de pesquisa ligada ao Departamento de Defesa Norte-Americano, a ARPA (Advanced Research and Projects Agency). A criao dessa agncia foi resposta do governo norte-americano colocao em rbita, por parte da ex-URSS, do primeiro satlite artificial da Terra, o Sputink. Os pesquisadores ligados a essa agncia desenvolveram intensa atividade nessa dcada e na seguinte, sendo que um marco relevante foi a publicao em 1961, por Leonard Kleinrock, do documento Information Flow in Large Communication Nets, no qual se apresentou uma nova tcnica de transferncia de informaes entre computadores, baseada na comutao de pacotes. Essa tcnica foi a base para todas as tecnologias de redes que se desenvolveram desde ento, at os dias atuais. Os resultados dessas pesquisas comearam a tomar corpo em 1966, a partir do documento elaborado por Larwance G. Roberts, Torwards a Cooperativo Network of TimeShared Computers, em que se esboou o projeto do que viria a ser a ARPANET, a princpio uma rede de pacotes ligando alguns centros de pesquisa. Essa ligao se concretizou em 1969, interligando as seguintes localidades: UCLA, Stanford Research Instituto, University of Califrnia Santa Barbara e University of Utah. Em cada uma delas foi instalado um tipo de equipamento especial conhecido como IMP (Interface Message Processor), e a ligao fsica entre eles foi feita por linhas dedicadas de 56 Kbps. Essa pequena rede foi o ponto de partida da Internet A esses ns iniciais juntaram-se outros, usando conexes dedicadas, e tambm via rdio e satlite. Nessa fase, surgiram as primeiras aplicaes (e-mail, telnet), que usavam o protocolo NCP - Network Control Protocol para transporte por meio dos equipamentos. Esse

17

protocolo passou a apresentar limitaes, medida que o nmero de equipamentos e aplicaes cresciam.

1.1 RGOS REGULAMENTADORES DA INTERNET 1.1.1 IETF INTERNET ENGINEERING TASK FORCE (FORA TAREFA DE ENGENHARIA DA INTERNET) Comunidade organizada em grupos de trabalhos, divididos em reas de atuao, responsveis pela definio de padres e soluo de problemas relacionados ao funcionamento e evoluo da Internet. 1.1.2 ISOC INTERNET SOCIETY (SOCIEDADE DA INTERNET) Sociedade profissional criada em 1992, com o objetivo de coordenar as atividades relacionadas Internet. Entre suas atribuies, subsidia as atividades do IAB e IETF. 1.1.3 IAB INTERNET ARCHITECTURE BOARD (AGENCIA DE

ARQUITETURA DA INTERNET) Grupo consultivo da Internet Society, que prov uma viso geral a respeito da arquitetura e dos protocolos da Internet, e coordena ainda os grupos de trabalho do IETF / IRTF. 1.1.4 IRTF INTERNET RESEARCH TASK FORCE (FORA TAREFA DE PESQUISA DA INTERNET) Semelhante ao IETF, porm com grupos de trabalho dedicados a pesquisas de longo prazo. 1.1.5IANAINTERNET ASSIGNED NUMBER AUTHORITY (AUTORIDADE DE ATRIBUIO DE NMEROS DA INTERNET) Entidade responsvel pelo gerenciamento de todos os registros da Internet de forma direta ou via terceiros. Mantm a administrao dos nmeros de protocolos, porm delegou o registro de nomes de domnio ao InterNIC - Internet Network Information

18

Center e os registros de endereos a rgos regionais, como o ARIN - American Registry of Internet Numbers para as Amricas. 1.1.6 IESG INTERNET ENGINEERING STEERING GROUP (GRUPO DE DIREO DA ENGENHARIA DA INTERNET) Conselho formado plos diretores de reas de trabalho do IETF, tem como objetivos principais orientao das atividades do IETF conforme definies da ISOC, bem como gerenciar o processo de evoluo dos padres propostos ao IETF. 1.1.7 CERT/CC COMPUTER EMERGENCY RESPONSE TEAM (EQUIPE DE RESPOSTA A EMERGENCIA DE COMPUTADORES) Coordinate Center (Centro de Coordenao)- Grupo ligado a um departamento da Carnegie Mellon University, cuja atividade principal a de coordenar respostas e aes a incidentes de segurana na Internet

2 ESTUDO DO TCP/IP 2.1 - HISTRICO O projeto IPng - IP the Next Generation - representa o resultado da evoluo de diferentes propostas IETF (Internet Engineering Task Force), bem como o esforo conjunto de vrios grupos de trabalho. O projeto IPng sofreu a seguinte evoluo: 1990 No encontro IETF de Vancouver, Frank Solensky,Phill Gross e Sue Hares [RFC1752] afirmaram que taxa de atribuio do espao de endereamento IPv4, as classes do tipo B estariam esgotadas possivelmente por volta de Maro de 1994. 1991 A IETF forma o grupo de trabalho Routing and Addressing (ROAD) no encontro de Santa F com o objetivo de encontrar uma soluo para a exausto do espao de endereamento IPv4. 1992 A Internet Association Board (IAB) apresenta o documento IP version 7 [IAB92] paralelamente aos esforos do grupo de trabalho ROAD, em que recomenda IETF a preparao de um plano detalhado para o sucessor do protocolo IP. A IETF rejeita esta sugesto e apresenta pedido de propostas recomendadas pelo grupo ROAD. Como resposta a este pedido surgiram algumas propostas:

CNAT IP Encaps Nimrod Simple CLNP

1992 (finais) Surgem mais trs propostas:


The P Internet Protocol (PIP) The Simple Internet Protocol (SIP) TP/IX

20

1993 Phil Gross (IESG) apresenta um memorando intitulado "A Direction for IPng" [Gross94], onde anuncia a criao de uma rea temporria para o IPng. CLNP e IP Encaps evoluem, dando origem respectivamente a TCP and UDP with Bigger Addresses, TUBA e IPAE. 1993 (finais) SIP evoluiu, abrangendo caractersticas do IPAE. SIP e PIP, deram origem proposta The Simple Internet Protocol Plus (SIPP). Ao mesmo tempo, a proposta TUBA alterou o nome para Common Architecture for the Internet (CATNIP). 1994 Aprovao do documento The Recommendation for the IP Next Generation Protocol como norma oficial de desenvolvimento do IPng.

2.2 O PROTOCOLO DA INTERNET TCP/IP Na primeira metade dos anos 70, um grupo de trabalho liderado por Vint Cerf passou a elaborar um protocolo de comunicao alternativo para uso na ARPANET. O resultado dessa pesquisa culminou com a publicao do documento A Protoco! for Packet Network Interconnection, que continha a especificao do protocolo TCP - Transmission Control Protocol. A esse protocolo caberia a funo de fornecer um meio de transporte entre os programas de aplicaes por intermdio da ARPANET, de forma transparente s conexes entre os IMPs. A operao com este protocolo iniciou em 1975, e a experincia mostrou a necessidade de dividir as funes delegadas a esse protocolo em dois grupos: as funes de controle de fluxo e as de conectividade entre os equipamentos. As do primeiro grupo continuaram com o protocolo TCP e para as do segundo foi criado um segundo protocolo, o IP - Internet Protocol. Assim, o conjunto formado por esses dois protocolos, denominados desde ento TCP/IP, passou tambm a ser usado como meio de transporte de dados entre os equipamentos da ARPANET, assim como o NCP. Essa operao em paralelo desses 'protocolos' se deu at o final de 1982.

21

2.3- A ARQUITETURA OSI 7 6 5 4 3 2 1

Aplicao Apresentao Sesso Transporte Rede Enlace Fsico

Figura 2 Camada OSI

2.3.1- CAMADA DE APLICAO Nesta camada est presente os protocolos de alto nvel, ou seja aqueles que interagem diretamente com as aplicaes dos usurios da rede TCP/IP. O protocolo TELNET permite que se abra um terminal virtual de um host para outro. O FTP e o TFTP so utilizados para a transferncia de arquivos entre hosts, sendo que o primeiro utiliza o TCP e o segundo o UDP. O SMTP utilizado para troca de mensagens ( Correio Eletrnico ) entre usurios de hosts distintos. O DNS o servio de nome que associa um nome a um endereo IP de um host para facilitar a sua memorizao . O SNMP define um conjunto de regras para gerenciamento de hosts remotos. Como esta camada de alto nvel cada vez que um novo tipo de servio criado, surge um protocolo para trat-lo 2.3.2 - A CAMADA DE APRESENTAO Tambm chamada de camada de traduo converte os formatos dos dados recebidos pela camada de aplicao em um formato entendido pelo protocolo usado. 2.3.3 - A CAMADA DE SESSO Permitir a seus usurios a organizar e sincronizar seus dilogos, e gerenciar sua troca de dados.

22

2.3.4 - A CAMADA DE TRANSPORTE Responsvel por pegar os dados enviados pela camada de sesso e divididos em pacotes, que sero transmitidos pela rede, tambm separa as camadas de nveis de aplicao (camadas 5 7) das camadas de nvel fsico ( camadas 1 3) 2.3.5 - A CAMADA DE REDE Responsvel pelo endereamento dos pacotes, convertendo endereos lgicos em endereos fsicos, de forma que os pacotes cheguem diretamente em seus destinos, tambm determina a rota que os pacotes devem seguir 2.3.6 - A CAMADA DE ENLACE Tem como principal funo detectar e possivelmente corrigir erros que possam ocorrer no meio fsico, ou seja , prov um canal de transmisso sem erros ou pelo menos com o nmero mnimos de erros para a Camada de Rede. 2.3.7 - A CAMADA FISICA Responsvel em transformar os frames (quadros) enviados pela camada de enlace em sinais compatveis com o meio, onde os dados deveram ser transmitidos, mais alto nvel diretamente ligado ao setor hardware.

23

2.4- MODELO TCP/IP O nome TCP/IP se deve a dois dos principais protocolos na famlia: o TCP (Transmission Control Protocol) e o IP (Internet Protocol). A famlia de protocolos TCP/IP est organizada em quatro camadas: interface com a rede, rede, transporte e aplicao.

Aplicao

Transporte

Rede Interface de rede

Figura 3 Pilha de camadas TCP/IP

O modelo TCP/IP quando comparado com o modelo OSI, tem duas camadas que se formam a partir da fuso de algumas camadas, elas so: as camadas de Aplicao (Aplicao, Apresentao e Sesso) e Rede (Link de dados e Fsica).

7 6 5 4 3 2 1

Aplicao Apresentao Sesso Transporte Rede Link de Dados Interface com a Rede Fsica Modelo OSI Modelo TCP/IP Transpote Internet Aplicao

Figura 4 Comparativo camada OSI e TCP/IP

A gravura a seguir, ilustra o modelo TCP/IP com suas camadas, seus protocolos e sua ligao fsica. Em seguida, temos uma breve explicao de cada uma delas:

24

2.4.1. CAMADA APLICAO formada pelos protocolos utilizados pelas diversas aplicaes do modelo TCP/IP. Esta camada no possui um padro comum. O padro estabelecido por cada aplicao. Isto , o FTP possui seu prprio protocolo, assim como o TELNET, SMTP, POP3, DNS e etc.. 2.4.2. CAMADA TRANSPORTE (TCP/UDP) Camada fim-a-fim, isto , uma entidade desta camada s se comunica com a sua entidade-par do host destinatrio. nesta camada que se faz o controle da conversao entre as aplicaes intercomunicadas da rede. Dois protocolos aqui so usados: o TCP e o UDP. O TCP orientado conexo e o UDP no. O acesso das aplicaes camada de transporte feito atravs de portas que recebem um nmero inteiro para cada tipo de aplicao. 2.4.3. CAMADA INTERNET (IP) Essa camada a primeira normatizada do modelo. Tambm conhecida como camada Internet, responsvel pelo endereamento, roteamento e controle de envio e recepo. Ela no orientada conexo, se comunica atravs de datagramas. 2.4.4. CAMADA REDE (HARDWARE) Camada de abstrao de hardware, tem como principal funo a interface do modelo TCP/IP com os diversos tipos de redes (X.25, ATM, FDDI, Ethernet, Token Ring, Frame Relay, PPP e SLIP). Por causa da grande variedade de tecnologias de rede, ela no normatizada pelo modelo, o que prov a possibilidade de interconexo e interoperao de redes heterogneas. Cada servio corresponde a um protocolo especfico. No caso de e-mails, este servio atendido pelo protocolo SMTP, que, ao ser feita uma solicitao de e-mail (envio ou recebimento) ao TCP/IP, este atendido pelo SMTP. No caso do www, usado para visualizao de pginas, o protocolo usado o HTTP. Existem ainda inmeros outros.

25

Programa de e-mail

Browser WWW

SMTP Porta 25... TCP

http Porta 80...

Cadama de aplicao

Camada de transporte Figura 5- Protocolo de SMTP e HTTP

O TCP um protocolo da camada de transporte confivel, ele baseado em conexo encapsulada no IP. O TCP garante a entrega dos pacotes, assegura o "seqenciamento" dos pacotes, e providencia um "checksum" que valida tanto o cabealho, quanto os dados do pacote. No caso da rede perder ou corromper um pacote TCP/IP durante a transmisso, tarefa do TCP retransmitir o pacote faltoso ou incorreto. Essa confiabilidade torna o TCP/IP o protocolo escolhido para transmisses baseadas em sesso, aplicativos cliente-servidor e servios crticos. Os cabealhos dos pacotes TCP requerem o uso de bits adicionais para assegurar o correto "seqenciamento" da informao, bem como um "checksum" obrigatrio para garantir a integridade do cabealho e dos dados. Para garantia da entrega dos pacotes, o protocolo requisita que o destinatrio, informe atravs do envio de um "acknowledgement", para que seja confirmado o recebimento. O protocolo UDP a segunda opo da camada de transporte, sendo que ele no confivel, pois no implementa "acknowledgements"," janelas" e nem "seqenciamentos", o nico controle feito um "checksum" opcional que est dentro do seu prprio "header", ele utilizado por aplicaes que no vo gerar altos volumes de trfego na Internet. O IP o protocolo da camada Internet. Ele encarregado da entrega de pacotes para todos os outros protocolos da famlia TCP/IP. Ele oferece um sistema de entrega de dados sem conexo. Isto , os pacotes IP no so garantidos de chegarem ao seu destino, nem de serem recebidos na ordem em que foram enviados. O "checksum" do IP confirma apenas a integridade do cabealho do pacote. O endereo IP formado por um nmero de 32 bits no formato "nnn.nnn.nnn.nnn" onde cada "nnn" pode variar de 0 at 255 (1 octeto = 8 bits). Os endereos possuem uma

26

classificao que varia de acordo com o nmero de sub-redes e de hosts. Tal classificao tem por finalidade otimizar o roteamento de mensagens na rede. O protocolo IGMP, o responsvel por implementar a facilidade "IP multicasting", utilizada em empresas que tem diversos sites interligados por "Gateways" atravs de circuitos ponto a ponto. O protocolo ICMP fornece mecanismos para reporte de erros, fazendo com que os "Gateways", possam informar ao host originador da requisio, a ocorrncia de algum erro. Como concluso, o ICMP apenas notifica a fonte original sobre determinada ocorrncia de erro, sendo que esta fonte responsvel por efetuar o relato do mesmo aplicao correspondente. Quando um host remetente precisa saber o endereo fsico do host destinatrio, ele envia um pacote ARP na rede em broadcast contendo todos os campos conhecidos preenchidos, e o destinatrio retorna uma rplica ARP aps preencher os campos desconhecidos pelo remetente, ficando ento, ambos os hosts e suas tabelas atualizadas. O Ethernet (ANSI/IEEE 802.3 [ISO 8802-3]) um padro para redes em barra utilizando o CSMA/CD como mtodo de acesso. O Token Ring (ANSI/IEEE 802.5 [ISO 8802-5]) um padro para redes em anel utilizando passagem de permisso como mtodo de acesso. O Asynchronous Tranfer Mode (ATM) um padro para construo de redes de banda larga com integrao de servios digitais (RSDI/DVI) A grande flexibilidade e interoperabilidade fornecidas pela arquitetura TCP/IP, atraram os fabricantes e fornecedores de recursos e o mercado de informtica como um todo pois, esta arquitetura, permite interconectar ambientes heterogneos de forma eficiente e, com isso, todos passaram a usar esta tecnologia em larga escala

3 - PROTOCOLO INTERNET VERSO 4 - IPV4 3.1 - INTRODUO O protocolo IP foi projetado tendo como principal objetivo ligao inter-redes. Por isto ele considerado como elemento integrador da Internet, atravs dele possvel conexo de diversas sub-redes. A internet composta de diversos backbones construdos atravs linhas de altas velocidades de diversos tipos de tecnologia. A cada um destes backbones esto conectados vrias redes locais de muitas outras instituies cada uma com suas caractersticas de sub-rede. Em muitas empresas comum utilizar o IP, e outros protocolos de sua famlia, para interligar computadores de tecnologia diferentes. O protocolo IP providencia duas importantes definies de servio. Uma define a unidade bsica de transferncia de dados chamada de datagrama IP. A outra define uma funo de roteamento, preocupando-se como os pacotes so endereados e quais caminhos tero que seguir para chegarem a seu destino. 3.2 - A ESTRUTURA DO PROTOCOLO IPV4 Verso IHL Tipo de servio Tamanho total

Identificao

Flags

Offset

Tempo de vida

Protocolo

Checksum de cabealho

Endereo IP de origem

Endereo IP de destino

Opes

Padding

Dados

...
Figura 6 - A estrutura do protocolo IP

28

A estrutura do protocolo Internet apresenta todos as informaes que podem estar contidas no datagrama. O cabealho do datagrama constitui todas as informaes apresentadas, exceto os dados. Cada campo dessa estrutura um parmetro a ser analisado pelo destino do datagrama. Apresentamos aqui cada um desses campos: Campo : Verso Tamanho : 4 bits Descrio: Indica a verso do protocolo IP. Atualmente esse campo preenchido com o valor 4. Campo : IHL - Internet Header Length (Tamanho do cabealho Internet) Tamanho : 4 bits Descrio : Tamanho em bits da estrutura IP em mltiplos de 32 bits. Note que o valor mnimo deve ser 5. Um cabealho razovel possui cerca de 20 octetos. Campo : Tipo de servio Tamanho : 8 bits Descrio : Indica a qualidade do servio (QoS) requerida pelo datagrama. Este campo subdividido em cinco outros campos que indicam o parmetro requerido pelo datagrama que podem interferir na performance do seu envio, sendo que : Bits 0,1,2 : indicam a prioridade do datagrama, onde : 111 - Network Control 110 - Internetwork Control 101 - CRITIC/ECP 100 - Flash Override 011 - Flash 010 - Immediate 001 - Priority 000 - Routine

Bit 3 : Determina o tempo de espera : 0 - Normal Delay 1 - Low Delay

29

Bit 4 : Determina a performance : 0 - Normal Throughput 1 - High Throughput

Bit 5 : Determina a confiabilidade : 0 - Normal Relibility 1 - High Relibility

Bit 6 : Reservado para uso futuro. Bit 7 : Reservado para uso futuro. Campo : Tamanho total Tamanho : 16 bits Descrio : Determina o tamanho total do datagrama, em octetos, incluindo os cabealhos e os dados. O valor mximo assumido por esse campo de 65.535 octetos. recomendado que esse valor no passe de 576 octetos, para que no sofra fragmentao. Campo : Identificao Tamanho : 16 bits Descrio : Valor assinalado pelo emissor para ser utilizado no controle da fragmentao de datagramas. Todas os fragmentos de um datagrama possuem o mesmo valor. Campo : Flags Tamanho : 3 bits Descrio : Determina a fragmentao do datagrama. subdividido em 3 bits onde : Bit 0 : Bit reservado, deve sempre conter o valor 0. Bit 1: Indica se o datagrama pode ou no ser fragmentado. 0 - Pode ser fragmentado.

30

1 - No pode ser fragmentados. Bit 2: Indica se h ou no mais fragmentos : 0 - ltimo fragmento 1 - Tem mais fragmentos. Campo : Offset Tamanho : 13 bits Descrio : Indica a posio do fragmento no datagrama. Os fragmentos devem ter tamanhos mltiplos de 8 octetos, sendo que pode haver no mximo 8192 fragmentos por datagrama. Campo : Tempo de vida - TTL Tamanho : 8 bits Descrio : Indica o tempo mximo que um datagrama pode permanecer na rede. Se o campo tiver um valor igual a zero, ento o datagrama dever ser descartado. Esse tempo medido em funo dos equipamentos roteadores da rede. A cada equipamento roteador o campo decrementado em uma unidade. O valor inicial desse campo determinado pela aplicao que gerou o datagrama. Campo : Protocolo Tamanho : 8 bits Descrio : Indica a qual protocolo da camada de transporte o datagrama deve ser entregue j na forma de segmento. O protocolo pode ser UDP ou TCP. Campo : Checksum de cabealho Tamanho : 16 bits

31

Descrio : Valor gerado por um algoritmo que gera uma chave de 16 bits para checar se o cabealho e somente o cabealho sofreu alguma alterao. O valor de checagem recomputado a cada equipamento roteador. Campo : Endereo IP de origem Tamanho : 32 bits Descrio : Indica o endereo IP do emissor do datagrama. Campo : Endereo IP de destino Tamanho : 32 bits Descrio : Indica o endereo IP do destino do datagrama. Campo : Opes Tamanho : Varivel Descrio : Campo previsto para receber parmetros que no foram abordados nos campos anteriores e que podero ser necessrios em caso de novas verses do protocolo. Apesar de ter de ser obrigatoriamente implementado, ele pode no ser utilizado pelo protocolo. Campo : Padding Tamanho : Varivel Descrio : Preenche o espao deixado pelo campo Opes, de forma que o total de bits da soma dos dois campos seja 32 bits. Campo : Dados Tamanho : Varivel Descrio : Dados a serem transportados para o endereo destino. Pode no estar presente na estrutura.

32

3.3 - ENDEREAMENTO IPV4 Todo e qualquer equipamento dentro da rede TCP/IP possui um endereo nico de 32 bits que o identifica. Com este total de bits possvel enderear 2
32

hosts, ou seja, cerca de

4,3 bilhes. Conceitualmente , cada endereo um par composto de Netid e Hostid. O Netid representa a identificao de uma rede e o hostid um host nesta rede. Um computador pode enderear diretamente outro de mesma rede, ou atravs de roteadores um de rede diferente. O endereamento da rede TCP/IP feito pala diviso dos endereos / redes em cinco classes distintas. A figura 6 representa esta diviso. Os nmeros de rede so atribudos pelo NIC (Network Information Center) para evitar conflitos.

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

31

Classe A

Rede

Host

Classe B

Rede

Host

Classe C

Rede

Host

Classe D

Endereo de Multicast

Classe E

Reservado para uso futuro

Figura 7 - Classes de endereamento IP

33

A classe "A" usada em redes de grandes corporaes e Universidades. Possui 126 redes e pode enderear cerca de 16 milhes de host cada uma. O primeiro bit desta classe 0 e ela possui 7 bits para identificar a rede e 24 para identificar os hosts. A classe "B" usada em redes de tamanho intermedirio. Possui 16.382 redes e pode enderear cerca de 65534 hosts. Os dois primeiros bits desta classe 10 e ela possui 14 bits para identificar as redes e 16 bits para identificar os hosts. A classe "C" usada em pequenas corporaes. Possuem cerca de 2.097.150 de redes e pode enderear 254 hosts em cada uma. Os trs primeiros bits desta classe 110 e ela possue 8 bits para identificar os hosts e 21 bits para enderear as redes. A classe "D" usada para endereos de multicast, que um tipo de endereamento onde o datagrama enviado para um conjunto de hosts que forma um nico grupo de multicast. Os quatro primeiros bits contm 1110, os bits restantes identificam o grupo em particular. A classe "E" classe experimental. 3.4 - O ENDEREO IP O endereo de IP um endereo de 32 bits divididos em 4 octetos separados pelo caracter ponto ".". Esses octetos so representados de forma decimal e podem ter valores entre 0 e 255 cada ou, em notao binria, 00000000 e 11111111 . Um endereo vlido na rede, por exemplo, 192.168.123.132 a representao decimal do endereo 110000000101000111101110000100 dividido em 4 conjuntos de 4 octetos. Assim o endereo decimal 192.168.123.132 a representao do endereo binrio 11000000.01010001.11101110.000100. Para efeitos de distribuio dos endereos para a comunidade mundial da Internet, os endereos foram organizados em 5 classes com funes especficas e faixas de endereamentos distintos. Os endereos IP so divididos em endereos de rede e de hosts. O endereo de rede um endereo fixo que determina uma subrede. Assim um host de uma determinada subrede s

34

consegue comunicar com outro de uma outra subrede se houver um roteamento desses dados, caso contrrio, a comunicao s possvel entre hosts da mesa subrede Na classe A so usados 7 bits para identificar a rede e os 24 outros bits identificam os hosts desta rede. A classe B utiliza 14 bits para identificar a rede e 16 para identificar os hosts. A classe C utiliza 21 bits para identificar a rede e 8 para identificar os hosts. As classes D e E so classes de uso reservado, sendo a classe D utilizada para se fazer multicasting - envio de unidades de dados para um grupo selecionado de hosts. Assim temos a seguinte tabela de endereos possveis na Internet, com suas possveis faixas de valores Existem alguns endereos que no podem ser utilizados por terem funes especiais. O primeiro e o ltimo valor em cada classe no podem ser utilizados para enderear hosts. Os valores em 0 especificam uma subrede sem especificar um host e os valores em 1 especifica um broadcast - o sinal vai para todos os host - na rede

Classe A

1.0.0.0 at 127.255.255.255

Classe B

128.0.0.0 at 191.255.255.255

Classe C

192.0.0.0 at 223.255.255.255

Classe D ( Multicast )

224.0.0.0 at 239.255.255.255

Classe E ( Experimentais )

240.0.0.0 at 247.255.255.255
Tabela 1- Classes de Endereos

3.5 - SUB-REDES Com a separao da faixa de endereamento em classes, criou-se um grande impasse com relao ao crescimento de uma rede. Imagine uma empresa que possua uma rede classe "C, com esta classe possvel enderear at 254 hosts. Em determinado instante a quantidade de host cresceu de maneira a estourar a classe inteira. A soluo seria pedir outra rede classe C.

35

Isto pode ser um problema quando este crescimento torna-se repetitivo, pois a cada nova classe "C", tem-se que pedir uma liberao ao INTERNIC e divulgar esta nova classe para o mundo inteiro. Se ao invs de uma classe "C" tivesse uma classe "B" e a dividisse em pedaos menores e a atribusse a cada nova rede, tem-se ento um crescimento escalonvel sem a necessidade de interveno do INTERNIC ou futura divulgao, pois esta implementao no vista externamente. A cada um dos pedaos menores criados chama-se de sub-rede. A figura abaixo representa um classe "B" dividida em uma sub-rede. Nesta configurao a rede foi dividida em um numero de sub-redes de 6 bits (62 sub-redes) podendo enderear hosts utilizando 10 bits ( 1022 hosts).

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Endereo do Host - 186. 183.174..2 1 0 Rede 1 Sub-rede Host

1 0 1 1 1 0 1 0 1 0 1 1 0 1 1

1 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0

Mascara - 255.255.252.0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

Figura 8 - Sub-rede de uma classe B

Como pode-se notar a diviso de redes utilizando classes, tem como diferena a grande quantidade de endereos entre as classes. A "C" pequena demais para a maioria das empresas e a "B" muito grande. Em oposio ao esquema de diviso do IP em classes, surge o CIDR ( Classless InterDomain Routing). Este esquema de endereamento consiste em alocar as redes classes "C" restantes em blocos de tamanhos variveis. Sendo assim, se um site precisar de 2.000 endereos receber um bloco de 2048 correspondente a oito blocos classe "C" de maneira

36

contgua, ao invs de uma classe "B" completa. O endereo ento representado pelo par: (rede, numero). Por exemplo rede (192.20.8.0,4) possuem a faixa de endereos correspondente as redes 192.20.8.0, 192.20.9.0, 192.21.0.0 e 192.21.1.0 possuindo como mscara de super-rede 255.255.252.0.

4 - PROTOCOLO INTERNET VERSO 6 IPV6 4.1 - INTRODUO A grande questo que surge com relao a verso atual do IP ( IPv4 ) que, este protocolo est chegando ao seu limite de utilizao e possuem restries que passaremos a expor a seguir: a) Crescimento e popularizao da Internet Havia uma estimativa que a quantidade de endereos IP responsveis por identificar os computadores e sua maneira de distribuio seria suficiente. Porem com o crescimento fenomenal da Internet ocasionado principalmente pela sua grande popularizao nesta dcada, chegar num ponto que eles no sero suficientes, pois hoje em dia cada vez mais pessoas, instituies e empresas esto conectando-se a Internet por diversos motivos. O protocolo IP possui 32 bits para endereamento, mostrando-se um recurso baixo devido ao crescimento exponencial de hosts conectados a Rede. Mas adiante far-se- uma explanao sobre o endereamento na verso atual do IP. b) Novas Aplicaes Com a utilizao crescente da Internet, uma grande quantidade de aplicaes foram criadas e pensadas. As aplicaes necessitaram de facilidade e servios que no poderiam ser providos pelo IP atual. Um exemplo deste tipo de servio a multimdia, que necessita de transmisses de vdeo e som pela rede. Isto implica em um protocolo que permita uma taxa de entrega de dados em intervalos regulares. A pesar do cabealho (informaes adicionais s mensagens que auxiliam na implementao do protocolo ) do pacote IP possuir campos que determina esta caracterstica, ele no define um servio para ser usado em tempo real e vdeo. c) Negcios na Internet Com o crescimento de trocas comerciais na Rede Mundial surge a necessidade de que os dados transmitidos tenham autenticao, privacidade e integridade. Na verdade a definio atual do protocolo em questo, permite que um usurio com conhecimentos bsicos utilize ferramentas e tcnicas que faz o ambiente da rede, totalmente inseguro por

38

permitir que os dados transmitidos possam ser capturados ou por no se ter certeza se o host em contato mesmo aquele que diz ser. A proposta do IPv6 de resolver os problemas da verso anterior mantendo as caractersticas que contriburam para o sucesso do IPv4. Caractersticas, como: servio no orientado a conexo, deciso de escolha do tamanho do Datagrama, o nmero mximo de roteadores a serem utilizados, facilidade de fragmentao e roteamento foram mantidas, por serem considerados motivos importantes para este sucesso. As modificaes introduzidas podem ser agrupadas em 5 grupos, a saber:

endereamento mais largo. O IPv6 utiliza 16 bytes para enderear os seus hosts, o que significa cerca de 3,4 x 10 38 ns. Se fosse utilizado a taxa de 1 milho de END

seria necessrio 20 anos, para esgot-los; simplificao dos cabealhos. O IPv6 especifica um cabealho mais enxuto ao protocolo. Isto melhora o desempenho do processamento gasto ;

melhoria nos campos opcionais. O IPv6 coloca alguns campos obrigatrios da verso anterior como opcionais e inclui novos que no eram avaliveis no IPv4;

suporte a trfegos de taxa constante. O IPv6 introduz um mecanismo que permite o suporte a aplicaes em tempo real e vdeo;

segurana. A nova verso inclui mecanismos de autenticao e privacidade na transmisso dos seus datagramas;

4.2 - DATAGRAMA IPV6 O IPv6 modifica totalmente o formato do Datagrama. A figura 8 mostra o formato geral. O Datagrama formado por uma parte fixa, o cabealho base, seguido de zero ou mais extenses de cabealho, logo depois vem o dado.
Cabealho Base Extenso de Cabealho

...

Extenso de Cabealho

Dados

Figura 9- Formato geral do datagrama IPv6

39

Apesar de prover mais endereamento o cabealho do IPv6 contm menos informaes que o de IPv4. As principais mudanas ocorridas no cabealho foram:

algumas informaes que aparecem no cabealho do IPv4 foram colocadas como opcionais, visando diminuir o processamento;

o tamanho do campo de endereos foi alterado para dezesseis octetos, contra os quatro da verso anterior;

os campos de fragmentao passam a fazer parte das opes, atravs dos cabealhos de extenso. Existe um grande esforo para que ela ocorra somente fim a fim, ou seja, da origem para o destino;

o campo TIME TO LIVE foi trocado por um outro que realmente mede a quantidade de roteadores at chegar ao destino;

o campo SERVICE TYPE foi substitudo por um outro, com mais recursos para aplicaes em tempo real e vdeo;

foi retirado o campo PROTOCOL passando a existir sua funo em uma outra estrutura.

A figura 9 mostra o formato do cabealho fixo do datagrama IPv6. Logo a seguir dada uma explanao sobre cada um dos seus campos:

VERSION

PRIORITY

FLOW LABEL

PAYLOAD LENGTH

NEXT HEADER

HOP LIMIT

SOURCE ADDRESS

DESTINATION ADDRESS

Figura 10 - Cabealho fixo do datagrama IPv6

40

a) O campo de VERSION ( 4 bits) tem a mesma funo do IPv4. Ele sempre 6 para IPv6. b) O campo PRIORITY (4 bits ) utilizada para dar prioridade distintas aos pacotes. Ele diferencia os pacotes que podem ter controle de fluxo, dos que no podem. Os valores de 0 a 7 do destinados a protocolos capazes de diminuir o fluxo de envio caso ocorra o congestionamento. Para pacotes de aplicaes em tempo real que so enviados a taxa constante, valores de 8 a 15 dizem quais datagramas podem ser descartados com prioridade maior para valores mais altos. c) O campo FLOW LABEL utilizado para definir que os roteadores devem tratar o pacote de maneira especial, que garantir uma especfica qualidade de servio. Por exemplo duas aplicaes que necessitam enviar vdeo podem estabilizar um fluxo no qual o delay e a largura de banda seja garantida. Neste campo contm apenas a informao de que se o dado deve ou no tratar este Datagrama de forma especial. Este campo pode ser dividido em dois sub-campos, como pode ser visto na figura 10. O sub-campo TCLASS especifica a classe do trafego para o datagrama. O restante do campo especifica um identificador para este fluxo. O identificador permite a distino de diversos fluxos de uma origem para o mesmo destino.

4 bit's

24 bit's

TCLASS

FLOW IDENTIFIER

Figura 11- Os dois sub-campos do FLOW LABEL

d) O campo PAYLOAD LENGTH ( 16 bits) determina o tamanho do datagrama, em octetos, excluindo-se o cabealho base . O total Length do IPv4, dava o valor total do datagrama incluindo o cabealho. e) O campo NEXT HEADER ( 8 bit's) indica a existncia de cabealho adicionais ou caso no exista o protocolo da camada superior ( TCP ou UDP). Esta caracterstica inclui dois compromissos : a generalizao e a eficincia. A generalizao conseguida com a

41

incluso de funes adicionais, como fragmentao, roteamento na origem e autenticao. A eficincia conseguida a partir do momento que se no forem preciso estas caractersticas os seus campos no necessitam estar presentes. A figura 11 mostra como so utilizados os cabealhos de extenso. Cada cabealho contm o campo NEXT HEADER que aponta para o prximo campo, o ultimo cabealho indica qual protocolo da camada de transporte ser utilizado. utilizado o mesmo princpio de uma lista encadeada.

Cabealho Base NEXT=ROUTER

Cabealho de Roteamento

Cabealho de autenticao NEXT=TCP

Segmento TCP ( dados

NEXT=AUTH

Figura 12- Exemplo de cabealho com duas extenses

f) O campo de oito bits HOP LIMIT utilizado semelhante ao TIME TO LIVE do IPv4. A grande diferena que este foi elaborado para de fato contar, de maneira decrescente, o nmero de roteadores que o mesmo passou. O pacote tambm, descartado caso o limite chegue a 0. g) O campo SOURCE e DESTINATION ADDRESS indicam respectivamente o endereo de origem e de destino do Datagrama, como diferencial do IPv4 tem o fato de se usar 128 bits ao invs de 32 bits daquela verso. No sub-tem 5.3 ser descrito com mais detalhes as suas formas de endereamento .

Cabealhos de extenso Os cabealho de extenso foram criados com a finalidade de fornecer informaes adicionais relativas as facilidades utilizadas por um determinado Datagrama. A tabela 2 mostra os seis cabealhos atualmente definidos. Uma descrio de cada um dado logo a seguir.

42

Cabealho de extenso

Descrio

Hop-by-hop

Informaes diversas para os roteadores

Routing

Rota parcial ou integral a ser seguida

Fragmentation

Fragmentao do Datagrama IP

Authentication

Verificao da identidade do datagrama

Encrypted security payload

Informaes sobre o contedo encriptado

Destination options

Informaes adicionais para o destino

Tabela 2 - Cabealhos de extenso do IPv6

Hop-by-hop Options e Destination Options Os cabealhos Hop-by-Hop e Destination Options possuem o mesmo formato, como mostrado na figura 12.

16 31

NEXT HEADER

HEADER LENGTH

ONE OR MORE OPTIONS

Figura 13 - Formato do Hop-by-hop e Destination Options

a) O campo NEXT HEADER diz o tipo de cabealho que vem a seguir. b) O campo HEADER LENGTH indica o tamanho total do cabealho, pois este cabealho no possuem tamanho fixo.

43

c) A rea ONE OR MORE OPTIONS representa uma seqncia de opes individuais. Cada opo composta pelos campos TYPE, LENGTH e VALUE segundo pode ser visto na figura 13.

16

TYPE

LENGTH

VALUE ...

Figura 14 - Formato das opes individuais dos cabealho de opes

Os dois bits de mais alta ordem do campo TYPE especifica como os roteadores iro tratar as opes, se estas no forem compreendidas conforme a tabela 3.

Dois bits de mais alta ordem

Ao

00

Desconsidere esta opo

01

Descarte o datagrama e no envie uma mensagem ICMP

10

Descarte o datagrama e envie uma mensagem ICMP

11

Descarte o datagrama e envie uma mensagem ICMP para endereos no Multicast

Tabela 3- Tratamento das opes que no forem compreendidas pelo roteador

Os 5 bits de mais baixa ordem do campo TYPE indicam a opo propriamente dita. O terceiro bit de mais alta ordem indica se os dados desta opo podero mudar ou no durante o percurso do pacote. A diferena entre Hop-by-Hop e Destination, que o primeiro deve ser processado por todos os roteadores, enquanto o segundo somente pelo destino.

44

Fragmentao O IPv6, assim como o IPv4, implementa a fragmentao do Datagrama. A grande diferena se d na maneira com que isto ocorre. No IPv4 cada roteador intermedirio deveria fragmentar e reorganizar datagramas de acordo com o MTU da sub-rede. No IPv6, a fragmentao feita na origem, antes de enviar um Datagrama, utiliza a tcnica de enviar um Path MTU Discovery para descobrir qual o menor dos MTUS. Quando o envio se d, a origem fragmenta de maneira que cada fragmento dever ser menor que o MTU mnimo descoberto. Desta forma a fragmentao no ocorre nos roteadores intermedirios. Caso haja a necessidade de uma fragmentao no esperada nos rotedores intermedirios ( mudana de rotas ) eles encapsulam o datagrama em um novo e o fragmenta. A figura 14 mostra o formato do cabealho de fragmentao.

16

29

31

NEXT HEADER

RESERVED

FRAGMENT OFF SET

RES

MF

IDENTIFICATION

Figura 15- Formato do cabealho de fragmentao

a) O campo NEXT HEADER indica como foi explicado anteriormente, o prximo cabealho de extenso. b) O campo RESERVED foi reservado para uso futuro c) O campo FRAGMENT OFF SET indica a que ponto do datagrama original o fragmento pertence. d) O campo RES reserva-se para o futuro. O FLAG MF indica se existem mais fragmentos ou se este trata-se do ltimo. IDENTIFICATION identifica unicamente o fragmento assim como o IPv4. O nmero de bits deste campo foi ampliado devido as redes de alta velocidade.

45

Routing Este cabealho lista um ou mais roteadores que devem ser visitado durante o percurso do datagrama. Pode-se utilizar os dois tipos de roteamento, assim como no IPv4, Strict e Loose, com a variao de poderem ser combinados. A figura 15 indica seu formato.

16

24 31

NEXT HEADER

ROUTING TYPE

NUMBER ADDRESS

NEXT ADDRESS

RESERVED

BIT MAP

1 24 ADDRESS

Figura 16- Formato do cabealho de extenso

a) O campo NEXT HEADER possue mesma funo de todos os outros cabealhos, ou seja, indica o prximo tipo de cabealho. b) O campo ROUTING TYPE indica o tipo de roteamento, atualmente est definido em 0. c) O campo NUMBER ADDRESS indica o nmero de endereos presentes neste cabealho ( de 1 a 24 ). d) O campo NEXT ADDRESS indica o prximo endereo para o qual o datagrama poderia ser enviado. Este campo inicia com 0 e incrementado cada vez que um endereo visitado. e) O campo BIT MAP um mapa de bits que serve para indicar qual dos tipos de tratamento deve ser tomado a cada um dos roteadores. O endereo pode ser visitado diretamente depois do que o antecede (Strict) ou faz-lo indiretamente, podendo existir roteadores intermedirios ( Loose).

46

Authentication ( AH) O cabealho de autenticao oferece um mecanismo que permite que o host de origem saiba se o datagrama enviado mesmo de quem diz ser. Neste tipo de servio, a privacidade da comunicao garantida mas sem confidencialidade, isto , os dados no so encriptados. Um dos objetivos da autenticao de datagramas evitar ataques de mquina conhecido como IP spoof. O IP spoof consiste em utilizar o endereo de uma mquina em outra. Se a mquina de destino confiar neste endereo ( isto possivel no UNIX ) aberta ento uma possibilidade de invaso. Antes de ser iniciada uma comunicao, necessrio que o transmissor e o receptor defina uma ou mais chaves secretas, conhecidas somente por eles, criando uma associao. A associao um relacionamento unidirecional entre o transmissor e o receptor, identificada pelo endereo do transmissor e um Security Parameter Index, presentes no cabealho de segurana. Os parmetros desta associao so os algoritmos de autenticao e suas chaves de criptografia. Como algoritmo padro do IPv6 foi definido o MD5 ( Message Digest 5 ) mas outros podero ser utilizados. A autenticao no IPv6 feito atravs de um cabealho de segurana que suporte a integridade e autenticao dos dados. O formato deste encontra-se na figura 16.

16

24 31

NEXT HEADER

PAYLOAD LENGTH

RESERVED

SECURITY PARAMETER INDEX

SEQUENCY NUMBER

DATA

Figura 17- Formato do cabealho de autenticao.

47

a) O NEXT HEADER identifica o prximo cabealho. b) O campo LENGTH indica o comprimento do cabealho em palavras de 32 bits. c) O campo SECURITY PARAMETER INDEX o nmero chave de 32 bits que em conjunto com os endereos de destino identifica unicamente a associao segura. De posse deste nmero o receptor localiza a chave secreta e calcula a soma de verificao do datagrama confirmando ou no a associao segura. d) O campo SEQUENCE NUMBER contm um contador que incrementado a cada transmisso. O transmissor e o receptor so setados em 0 quando uma associao segura iniciada. Este nmero utilizado para evitar um replay de pacotes. Um replay consiste em capturar o datagrama e enviar um outro montado com informaes modificadas. Este numero no cclico, e quando chegar o seu valor mximo o receptor e o transmissor devem coloc-lo em zero e iniciar uma nova associao segura. e) O campo AUTHENTICATION identifica os dados da autenticao em palavras de 32 bits. O que este campo contm vai depender do algoritmo de autenticao utilizado. Ele calculado utilizando o Datagrama todo e atribuindo zero, queles campos que se modificam durante o percurso. Encrypted Security Payload ( ESP ) Este cabealho prov a integridade e confidencialidade aos datagramas. Se utilizado em conjunto com o de autenticao forma uma soluo completa de segurana. O servio de segurana pode ser aplicado entre dois roteadores , entre dois hosts ou entre um host e um roteador. A figura 17 mostra o formato do cabealho de encriptao de dados. O princpio bsico deste cabealho de enviar dados encriptados utilizando para isto um algoritmo, que dever ser conhecido pelo transmissor e pelo receptor, bem como as chaves utilizadas para ger-los. Por questo de compatibilidade um algoritmo padro foi escolhido, o DES-CBC (Data Encryption Standard in Cipher-Block Chaining ) maiores informaes deste algoritmo pode ser conseguidas em Tanebaum [ TAN 96 ]. Podero ser usados, no entanto, outros algoritmos.

48

O ESP pode ser utilizado de dois modos. O primeiro conhecido como TunnelMode, que encapsula o datagrama inteiro no cabealho. O segundo o Transpot-Mode, que encapsula os dados vindos da camada superior ( TCP e UDP ) dentro do cabealho. O processamento de um cabealho ESP dever aumentar o tempo de latncia nos roteadores. Isto acontecer devido ao tempo necessrio para processar os complexos algoritmos de encriptacao utilizados, o que pode requerer roteadores com um maior poder de processamento e uma implementao dos algoritmos em hardware. Entretanto, o uso de ESP no dever impactar nos roteadores intermedrios que no participaro desta associao de segurana.

16

24 31

SECURITY PARAMETERS INDEX

SEQUENCE NUMBER

PAYLOAD DATA

PADDING ( 0 - 255 bytes)

PAD LENGTH

NEXT HEADER

AUTHENTICATION DATA

Figura 18- Formato do cabealho de encriptao de dados

a) O campo SECURITY PARAMETERS INDEX um nmero de 32 bits que identifica juntamente com os endereos de destino uma associao segura para o datagrama. b) O campo SEQUENCE NUMBER contm um contador que incrementado a cada transmisso. O transmissor e o receptor so setados em 0 quando uma associao segura iniciada. Este nmero utilizado para evitar um replay de pacotes assim como no cabealho de item anterior.

49

c) O campo PAYLOAD DATA o dado descrito pelo campo Next Header. Este campo dever ser mltiplo de 8 bytes e corresponder a carga til encriptada a ser transmitida. Se o algoritmo usado necessitar de sincronizao de dados, um vetor de inicializao se faz necessrio e colocado no incio deste campo [TAN 96]. d) O campo PADDING utilizado para incluir valores ao campo anterior caso o algoritmo necessite que o mesmo seja mltiplo de um nmero. e) O campo PAD LENGTH indica o nmero de octetos utilizados no campo anterior. Um valor 0 indica que nenhum PADDING foi includo. f) O NEXT HEADER indica o tipo de dado contido no campo PAYLOAD DATA, por exemplo, se neste campo contm TCP, indica que a carga til o dado vindo da camada de transporte. g) O campo AUTHENTICATION DATA um campo anlogo ao do cabealho visto no sub-item 5.2.1.4, calculado sobre o cabealho ESP retirando-se o mesmo. Este campo opcional e, includo somente se houver uma necessidade de autenticao.

4.3 ENDEREAMENTO Endereamento no IPv6 Como j foi visto anteriormente, cada endereo do IPv6 ocupa 16 octetos (128 bits), isto faz com que o IPv6 suporte um nmero bem maior de nveis de hierarquia de endereos e de ns endereveis. Segundo Tanenbaum [TAN 96], se for colocado um computador em cada pedao do planeta, incluindo a gua, o IPv6 permitiria que fosse colocado 7 x 1023 endereos IP por metro quadrado. A quantidade de endereos no IPv6 possui quatro vezes o numero de bits utilizados para endereamento no IPv4, tanto que engloba todos estes endereos para manter a compatibilidade. Assim como a verso anterior o IPv6 associa um endereo a uma conexo de rede e no a um computador, permitindo, por exemplo, a um host ou a um roteador ter mais de um endereo associado a uma mesma interface fsica. Alm disto o IPv6 amplia o endereamento em trs categorias:

50

Unicast o endereo de destino associado a somente um computador; Multicast o endereo de destino um grupo de computadores possivelmente em locais diferentes. Uma cpia do Datagrama dado para cada membro do grupo;

Anycast o destino um conjunto de computadores. O Datagrama entregue a somente um dos computadores, normalmente o mais prximo. Cabe ao roteador decidir qual deles. Notao de endereos no IPv6 O IPv6 usa uma notao diferente para seus endereos. Enquanto o IPv4 agrupa seus

bits em oito e os representa em forma decimal, O IPv6 agrupa seus bits em 16 e os representa sob a forma hexadecimal. A notao decimal se fez ineficiente devido a dificuldade de trat-la. Dessa maneira uma notao em decimal para um endereo IPv6 seria: 104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255. O mesmo endereo usando a notao padro do IPv6 : 68E6:8C64:FFFF:FFFF:0:1180:96 A: FFFF. Esta notao tem a vantagem de requerer poucos dgitos e poucos pontos para separao dos campos agrupados. Uma simplificao ainda possvel no caso de haver muitos zeros no endereamento. Uma seqncia repetida de zeros simplificada por um par de ": " por exemplo, citamos o endereo: FF05:0:0:0:0:0:0:B3. Este endereo poderia ser escrito da seguinte forma : FF05: :B3. Esta reduo somente poder ser usada uma vez para impedir valores ambguos. Os endereos IPv4 ganharam uma notao especial. Eles podem ser escritos com um par de dois pontos seguidos da sua notao tradicional, por exemplo: : : 200.137.131.2 Tipos de endereamento no IPv6 O IPv6, ao contrrio do IPv4, no utiliza a idia de classes de endereos. Porm utiliza o mesmo tipo de prefixao que passam a indicar os diferentes usos dos endereos. A tabela 4 mostra estas faixas.

Prefixo (binrio)

Utilizao

Frao

0000 0000

Reservado (incluindo IPv4)

1/256

51

0000 0001

No definido

1/256

0000 001

Endereo OSI NSAP

1/128

0000 010

Endereo Novell NetWareIPX

1/128

0000 011

No definido

1/128

0000 1

No definido

1/32

0001

No definido

1/16

001

No definido

1/8

010

Endereo baseado no Provedor

1/8

011

No definido

1/8

100

Endereo baseado na localizao geogrfica

1/8

101

No definido

1/8

110

No definido

1/8

1110

No definido

1/16

1111 0

No definido

1/32

1111 10

No definido

1/64

1111 110

No definido

1/128

1111 1110 0

No definido

1/512

1111 1110 10

Endereo para uso local do enlace

1/1024

52

1111 1110 11

Endereos para uso local do site

1/1024

1111 1111

Multicast

1/256

Tabela 4 - Endereos IPv6

Os endereos com oito primeiros bits em zero reservado para o futuro e para compatibilidade com o IPv4. Os endereos IPv4 tero os oitenta primeiros bits com valor zero e os dezesseis bits restantes em um ou zero . Foi reservado duas faixas de endereos para encapsulamento de protocolos que no sejam o IP, como o OSI NSAP e o Novel IPX. Uma das faixas destes endereos foi reservado para empresas provedoras de acesso a Internet que passaram a ganhar uma grande parcela de endereamento e a dividiro hierarquicamente, como mostrado na figura 18. Os trs primeiros bits representam o prefixo. O campo REGISTER ID identifica o registro do provedor identificado pelo PROVIDER ID. O campo SUBSCRIBER ID utilizado pelo provedor para alocar pores deste aos usurios. O SUBNET ID identifica uma ligao fsica, uma sub-rede. O ultimo campo indica o endereo da interface.

3 bits

N bits

M bits

X bits

Y bits

X-Y bits

010

REGISTRY ID

PROVIDER ID

SUBSCRIBER ID

SUBNET ID

INTERFACE ID

Figura 19 - Endereo baseado no provedor

O prefixo Geographic Based igual ao modelo atual. Este prefixo indicaria a regio geogrfica da rede. Os endereos para uso local do enlace e de site so utilizados localmente para autoconfigurao e redes no conectadas diretamente a Internet. As figuras 19 e 20 mostram o

53

formato destes endereos. Estes endereos podero ser utilizados para configurao de endereos das interfaces de roteadores ou para redes do tipo Intranet.

10 bits

N bits

118-N bits

1111111010

INTERFACE ID

Figura 20- Endereo para uso local do enlace

10 bits

N bits

M bits

118-N-M bits

1111111011

SUBNET ID

INTERFACE ID

Figura 21- Endereo para uso local do site

Os endereos Multicast, como foi citado anteriormente, identificam um grupo de interfaces. Endereos deste tipo possuem o formato da figura 21:

8 bits

4 bits

4 bits

112 bits

11111111

FLAGS

SCOP

GROUP ID

Figura 22 - Endereos de Multicast

Os endereos de Multicast so formados por 4 campos, O primeiro campo identifica o prefixo. O seguinte, FLAGS, so sinalizaes onde os trs primeiros bits esto reservados e o de mais baixa ordem utilizado para indicar se o endereo permanente ( valor 0 ) ou provisrio ( valor 1 ), ou seja, alocado temporariamente por terceiro. O campo SCOP indica o escopo do grupo dentro da rede, mostrado na tabela 5. O campo GROUP ID identifica o grupo multicast dentro do escopo dado.

Valor

Escopo

54

Reservado

N local

Link local

No usado

No usado

Site local

No usado

No usado

Organizao Local

No usado

No usado

No usado

No usado

No usado

Global

Reservado

Tabela 5- Escopo para um endereo multicast

55

4.4 CABEALHO PRINCIPAL DO IPV6 A autenticao provida por um cabealho de extenso que suporta a integridade e autenticao dos dados de um pacote IP:

Figura 23- cabealho principal do IPv6

Next header (8 bits): identifica o prximo cabealho Length (8 bits): tamanho do campo de de dados em palavras de 32 bits Reserved (16 bits): reservado para uso futuro Security parameters index (32 bits): identifica uma associao de segurana Authentication data (varivel): dados, em palavras de 32 bits O que o campo de dados representar vai depender do algoritmo de autenticao

usado. Mas no geral este campo calculado com base em todo o datagrama, excluindo-se campos que mudem durante sua rota. No clculo, esses campos so encarados como seqncias de bits 0. Cabealhos de fragmentao podem ser includos no clculo

4.4.1 DESCRIO DOS CAMPOS DO CABEALHO IPV6 4.4.1.1 CABEALHOS DE EXTENSO Ter um cabealho bsico fixo e outros extras vem atender necessidade de se ter generalidade e eficincia na nova verso. Para ser geral, mecanismos de fragmentao,

56

autenticao, etc, devem ser suportados, mas devem ser incluidos somente quando necessrios. Para tanto, so includos em cabealhos extras, pois se estivessem sempre presente, o header principal do protocolo seria to grande que o tempo de se process-lo levaria ineficincia da rede [COM 95]. Cada cabealho de extenso deve ter o campo Next Header a fim de indicar o prximo cabealho que se segue, num processo semelhante a uma lista encadeada de dados. Abaixo vemos 3 datagramas, o primeiro com nenhum cabealho extra, o segundo com 1 e o ltimo com 2:

Base Header / Next=TCP

TCP PDU

Base Header / Next=Route Route Header / Next=TCP

TCP PDU

Base Header / Next=Route Route Header / Next=Auth Auth Header / Next=TCP TCP PDU

Tabela 6- cabealho de extenso

Um pacote IPv6 com todos os cabealhos de extenso pode ser visto na figura23:

57

Figura 24- cabealhos de extenso

4.5 CABEALHO HOP BY HOP

Figura 25- cabealhos de Hop-by-hop

Os cabealhos de Hop-by-hop Options e Destination Options tm o mesmo formato. Eles foram projetados em vista de reunir vrias informaes isoladas e simples que por si s no necessitavam de mais um cabealho de extenso. A parte do cabealho que segue ao seu tamanho dividida da seguinte forma:

58

8 bits 8 bits n bits Type Lenght Value

Tabela 7- diviso de cabealho Hop-by-hop

Type indica o tipo de opo [STA 96]. Caso essa opo contenha dados, o tamanho dos dados indicado em lenght. Os dados ficam presente, ento, no campo value. Os 5 bits de mais baixa ordem em type indicam a opo, enquanto o terceiro bit de mais alta ordem indica se os dados dessa opo podem mudar durante o trajeto do pacote. Caso essa opo no seja conhecida por algum nodo durante o caminho do pacote, os dois bits de mais alta ordem indicam a ao a ser tomada:

00 Ignore esta opo, continue o processamento de cabealhos 01 Descarte datagrama, mas no envie mensagem ICMP 10 Descarte datagrama e envie mensagem ICMP para a origem Descarte datagrama e envie mensagem ICMP para a origem somente se o destino no for um endereo multicast

11

Tabela 8- Tipos de opo

4.5.1 CABEALHO DE FRAGMENTAO Tendo em vista que no IPv4 roteadores deveriam fragmentar e reorganizar datagramas que fossem maior que a MTU da sua rede, no IPv6 a fragmentao toda feita na origem. Para tanto, a origem realiza um Path MTU discovery, ou uma descoberta de MTU mnimo, a fim de identific-lo. Assim, basta fragmentar o datagrama de tal modo que ele passe por todos as redes no caminho at seu destino. Cada fragmento deve ser mltiplo de 8 octetos, e cada header de fragmentao indica se existem outros fragmentos do mesmo dado ou no. A figura 25 mostra o cabealho [STA 96]:

59

Figura 26- Cabealho de fragmentao

Next Header (8 bits): indica o prximo cabealho; Reserved (8 bits): reservado para o futuro; Fragment Offset (13 bits): indica aonde no pacote original este fragmento deve ser inserido, qual o seu lugar;

Res (2 bits): reservado para o futuro; M Flag (1 bit): indica se existem mais fragmentos (1) ou se este o ltimo (0); Identification (32 bits): identificao do pacote original; deve ser nica em toda a internet enquanto o pacote estiver trafegando.

Um problema gerado por esse tipo de fragmentao end-to-end, onde nodos intermedirios no podem fragmentar, que se a rota mudar no meio da transmisso e o novo MTU for menor que aquele j descoberto, alguma coisa precisaria ser feita. O que acontece que o datagrama IPv6 no mexido, mas um datagrama novo montado com o outro sendo encarado como dado. Assim, ele pode ser fragmentado no meio do caminho e remontado no meio do caminho. O que espera-se que isso no seja muito necessrio. 4.5.2 REPRESENTAO DOS ENDEREOS NO IPV6 Endereos IPv6 so identificadores de 128 bits associados a uma interface ou a um conjunto de interfaces. Existem trs tipos de endereamento [HIN98]: Multicast Endereo que identifica um grupo de interfaces - tipicamente pertencentes a diferentes nodos. Quando se envia uma mensagem a um endereo multicast, ela ser entregue a todos os membros do grupo por ele identificado.

60

Unicast Identifica uma nica interface especifica. O pacote enviado para um endereo unicast entregue a interface especificada pelo endereo Anycast Identifica um grupo de interfaces. Os pacotes enviados a este endereo sero entregues ao membro mais prximo do grupo, respeitando os critrios de roteamento. Este endereo muito til para definir servidores redundantes para servios crticos, e tambm pode ser utilizado por um equipamento roteador para determinar a rota pela qual ele quer que seus pacotes trafeguem, com base no endereo do destinatrio(para a escolha de rotas mais seguras). Os endereos anycast so alocados a partir dos endereos unicast. Este unicast atribudo a mais de um nodo, que deve ser configurado para ser anycast.

4.5.3 NOTAO DE ENDEREOS Os endereos IPv6 so endereos de 128 bits (16 bytes). Eles so escritos em 8 grupos de 4 dgitos hexadecimais, separados por dois-pontos ( : ) entre os grupos, como este: 8000:0000:0000:0000:0123:4567:89AB:CDEF Como estes endereos podem possuir muitos zeros, adota-se 3 tipos de otimizaes para facilitar sua manipulao: 1. Zeros podem ser omitidos no incio do grupo. Assim 0123 pode ser escrito como 123; 2. Um ou mais grupos com 4 bytes com valor 0 podem ser omitidos, substituindo-os por um par de dois pontos. Desta forma, o nmero do exemplo acima ficar assim : 8000::123:4567:89AB:CDEF 3) Por fim, endereos IPv4 podem ser escritos por um par de dois pontos seguido da notao da verso 4, desta forma: ::192.168.3.1

61

O endereo IPv6 representado de modo similar representao do IPv4 na notao CIDR. Endereo-IPv6/ Tamanho-do-prefixo, onde :

Tamanho-do-prefixo um nmero decimal que indica quantos bits de mais alta ordem representam o prefixo do endereo. Por exemplo, o endereo FEDC:BA98:76::1234:5678:9ABC/64 indica que os primeiros 64 bits (FEDC:BA98:7600:0000) representam o prefixo do endereo. O IPv6 abandona a idia de classes de endereos, mas baseia-se em prefixos como o IPv4, mudando a funo desses prefixos. Eles no mais identificam as diferentes classes de endereos, mas diferentes usos de endereos. A tabela 9 identifica esses prefixos :

Prefixo (Binrio)

Uso

0000 0000

Reservado (incluindo IPv4)

0000 0001

No definido

0000 001

Endereos OSI NSAP

0000 010

Endereos Novell NetWare IPX

0000 011

No definido

0000 1

No definido

0001

No definido

001

No definido

010

Endereos Baseados no Provedor

011

No definido

62

100

Endereos Baseados na Localizao Geogrfica

101

No definido

110

No definido

1110

No definido

1111 0

No definido

1111 10

No definido

1111 110

No definido

1111 1110

No definido

1111 1110 0

No definido

1111 1110 10

Endereos Link-Local

1111 1110 11

Endereos Site-Local

1111 1111

Endereos Multicast

Tabela 9- Prefixos do endereamento IPv4.

Os endereos Link-Local e Site-Local s tem importncia local. Eles no podem ser propagados fora dos limites da organizao que atualmente utilizam firewalls para mantlas protegidas do restante da Internet. Duas pores de endereos so reservados para encapsulamento de protocolos que no sejam IP, como OSI NSPA e Novell IPX. O prefixo Endereos Baseados no Provedor permite que empresas que provem acesso Internet ganhem uma grande parcela do espao de endereamento, e a dividam hierarquicamente, como o CIDR.

63

O prefixo Endereos Baseados na Localizao Geogrfica indicaria a posio geogrfica da rede, e no a partir da onde ela conecta.Os endereos Link-Local e Site-Local s tem importncia local. Eles no podem ser propagados fora dos limites da organizao que atualmente utilizam firewalls para mant-las protegidas do restante da Internet. Existem dois endereos especiais que no podem ser utilizados para endereamento. O endereo 0:0:0:0:0:0:0:0 que indica a ausncia de um endereo para a interface e o endereo 0:0:0:0:0:0:0:1, que o endereo de loopback, que faz com que a interface envie datagramas para si mesmo. 4.5.4 ROTEAMENTO O roteamento no IPv6 baseado no modelo CDIR (Classless Inter-Domain), que o utilizado no IPv4 e utiliza os mesmos algoritmos desta verso (OSPF, RIP, IDRP, IS-IS, BGP, AGRP) , a sua diferena bsica esta somente no tamanho do endereo que aumentou de 32 para 128 bits. Um problema que se fala muito o da expanso das tabelas de roteamento, onde a alternativa para a reduo destas tabelas esta na agregao de vrias entradas na tabela em uma. O IPv6 propes a utilizao de provider address, por ter uma boa relao com as topologias das redes. As redes so identificadas por Prefixos de tamanho varivel, isto , todas as redes do Brasil tem o mesmo Prefixo, ou seja, possuem os primeiros bits em comum. Mas somente esta diviso no se torna suficiente, pois existem vrios provedores de acesso no mesmo pas. Todos os clientes conectados a seus provedores sero roteados atravs da rede deste provedor. Fora desta rede, suficiente manter uma entrada para cada provedor na tabela de rotas, ocasionando com isto a reduo considervel das tabelas 4.5.4.1 TUNELAMENTO IPV6 SOBRE IPV4

Tunelamento: o encapsulamento dos datagramas IPv6 em cabealhos IPv4. Atravs deste tunelamento os pacotes IPv6 passam pelas redes IPv4 e chegam at outras redes IPv6 sem problemas de compatibilidade.

64

APLICAO TRANSPORTE

IPv6 IPv4
ENLACE FSICA
Figura 27 - Tunelamento

REDE

4.6 AUTO-CONFIGURAO A auto-configurao de endereos permitir que o prprio host defina os parmetros necessrios para a conexo na Internet. implementado esta auto-configurao utilizando os protocolo Neighbor Discovery (ND), que faz uma combinao do protocolo ARP e o ICMP. Quando a mquina for ligada, deve automaticamente associar um endereo IP a sua interface de rede. Possui duas formas dos hosts de auto-configurar: Configurao Statefull : onde h um servidor de configurao (DHCP), com o qual o host se comunica e recebe um endereo IP completo. Caso no haja roteadores no link, esta configurao deve ser adotada. Neste mtodo o tempo de vida associado ao endereo determinado pelo servidor de endereos; Configurao Stateless : o host utiliza um prefixo vlido enviado pelo roteador ND, concatenando com seu endereo de interface de rede, que nico. O tempo de vida definido a partir do tempo de vida do prefixo proveniente da resposta do roteador. No IPv6 os hosts mveis podem continuar a receber o trfego destinado ao seu endereo se estiverem em outro local. Os usurios podem pedir para que seu roteador local envie todo o trfego destinado ao seu endereo fixo para outro endereo temporrio,

65

chamado foreign address, o qual formado pelo prefixo da rede estrangeira e pelo seu endereo interface do host

4.7 COMPATIBILIDADE Os dois protocolos continuaro a existir durante algum tempo, assim como no h imposio para implementao do IPv6, torna-se necessrio a utilizao das verses simultaneamente. Os pacotes enviados de uma rede IPv6 tero que trafegar por redes IPv4 e ser entregues em redes IPv6 sem problemas. Esta compatibilidade se dar por:

Camada IP Dupla: A camada IP suportar as duas verses. O IPv6 suporta IPv4, desta forma ser possvel manter as duas verses na camada de rede

Tipos de Ns: N IPv4: Onde o roteador ou host suportaria somente IPv4; N IPv6: Onde o roteador ou host suportaria somente IPv6; N IPv4/ Ipv6 : Roteador ou host que suporta tanto IPv6 como IPv4.

4.8 TRANSIO IPV4 / IPV6 A palavra chave na transio entre as duas verses do protocolo IP interoperao. As duas verses devem poder permanecer na rede simultaneamente, se comunicando e endereando. A segunda palavra chave facilidade. Deve ser fcil se poder dar um upgrade nos softwares da verso 4 para a 6, tanto para adminstradores de rede, tcnicos, como para o usurio final. Os objetivos da transio so:

roteadores e mquinas devem ter seus programas de rede trocados sem que todos os outros no mundo tenham que trocar ao mesmo tempo

66

pr-requisitos mnimos. O nico pr-requisito que os servidores de DNS devem ter a sua verso trocada antes. Para os roteadores no existem pr-requisitos

quando as mquinas sofrerem o upgrade devem poder manter seus endereos IPv4, sem a necessidade de muitos planos de um re-endereamento, usando inicialmente um dos prefixos vistos anteriormente

custos baixos nodos IPv6 devem poder se comunicar com outros nodos IPv6, mesmo que a infraestrutura entre eles seja IPv4.

Para o ltimo objetivo, dois mecanismos foram trabalhados:

dual-stack: com esse mecanismo, nodos IPv6 devem ter as duas pilhas TCP/IP internamente, a pilha da verso 6 e a da verso 4. Atravs da verso do protocolo, se decide qual pilha processar o datagrama. Esse mecanismo permite que nodos j atualizados com IPv6 se comuniquem com nodos IPv4, e realizem roteamento de pacotes de nodos que usem somente IPv4

tunneling: esse mecanismo consiste em transmitir um datagrama IPv6 como parte de dados de um datagrama IPv4, a fim de que dois nodos IPv6 possam se comunicar atravs de uma rede que s suporte IPv4. A rede IPv4 vista como um tnel, e o endereo IPv4 do nodo final deste tnel consta como destino do datagrama. Neste nodo o pacote IPv6 volta a trafegar normalmente a seu destino. Esse nodo final, portanto, deve ter a pilha que suporte IPv6.

4.9 ICMP NO IPV6 O ICMP - Internet Control Message Protocol - usado pelos equipamentos roteadores do IPv6 para reportar erros encontrados no processamento dos datagramas, servindo como um protocolo de diagnsticos da camada de rede. O ICMPv6 no compatvel com o ICMP do IPv4, devido ao aumento de tamanho dos campos. Ele agrupado em duas classes : mensagens de erros e mensagens de informaes. As mensagens de erro so identificadas no campo Type por estarem na faixa

67

entre 0 e 127 - o que corresponde ao valor zero (0) no bit de maior ordem no campo - e as mensagens de informaes so identificadas no campo Type por estarem na faixa entre 128 e 255 - o que corresponde ao valor zero (1) no bit de maior ordem no campo [CON98]. Cada mensagem ICMPv6 precedida por um cabealho IPv6 e/ou cabealhos de extenses IPv6 Campo : Tipo Tamanho : 8 bits. Descrio : Indica o tipo da mensagem.

Mensagens de erro no ICMPv6 : 1 Destino desconhecido 2 Pacote muito grande 3 Tempo excedido 4 Problemas com parmetros Mensagens de informao no ICMPv6 : 128 Requisio de eco 129 Resposta ao eco Campo : Cdigo. Tamanho : 8 bits. Descrio : Utilizada para criar um nvel de granulidade adicional para uma mensagem. Seu uso depende do tipo da mensagem. Campo : Checksum. Tamanho : 16 bits. Descrio : Campo de checagem da integridade das mensagens do protocolo ICMPv6 e parte do cabealho do IPv6. Campo : Corpo da mensagem. Tamanho : Varivel em mltiplos de 32 bits. Descrio : Uso geral. Estas mensagens ICMPv6 no podem ser enviadas em respostas a mensagens de multicast, pois pode ocasionar um congestionamento e at travar a rede. Outro aspecto

68

que mensagens de erro ICMP no podem ser enviadas em resposta de outras mensagens ICMP, pois poderiam ocorrer loops destas mensagens. O ICMPv6 est especificado na RFC 2463

4.10 DNS NO IPV6 O servio de DNS (Domain Name Service) foi adaptado para o IPv6, permanecendo o mesmo em suas caractersticas essenciais em relao ao IPv4. As modificaes ocorreram no recurso "resource record" que passou a suportar endereos IPv6. Criao de um novo domnio para suportar buscas em endereos IPv6 e atualizaes das queries existentes para tambm suportarem o IPv6. Outra mudana esta no nome de concatenao do endereo reverso, isto , enquanto que no IPv4 era obtido invertendo o endereo e concatenando o nome "in-addr.arpa", agora se concatena "IPv6.INT" em virtude da internacionalizao da Internet. Em [THO95] apresentado um estudo sobre as mudanas e implementaes necessrias ao DNS para suportar IPv6

4.11 FRAGMENTAO/REMONTAGEM No IPv4, a fragmentao ocorre sempre que os pacotes so demasiado grandes (superiores Maximum Transmit Unit) para serem transmitidos em determinado troo de um caminho. Este processo ocorre em qualquer extremo de um troo: fonte ou encaminhadores podem ter de fragmentar os pacotes a enviar. A remontagem efetuada no destino do pacote, aps a recepo correta de todos os segmentos que formam o pacote. Caso haja algum problema na recepo, os segmentos recebidos so descartados. Este processo provoca congesto em troos mais "estreitos" e aumenta o tempo de processamento dos datagramas. Para evitar estes problemas e permitir suporte de servios em tempo-real, o IPv6 apresenta um novo processo, onde no h interveno dos encaminhadores: enviada um pacote inicial at ao destino, onde so guardados os tamanhos mximos permitidos em cada troo do caminho a percorrer. Quando estabelecido o canal de comunicao, a mensagem

69

devolvida fonte que fica assim a saber qual o tamanho com que pode enviar os datagramas para que eles no tenham de ser fragmentados. Sendo apenas efetuada na fonte, a fragmentao em IPv6 permite reduzir o tempo de processamento dos datagramas e liberta os encaminhadores desta tarefa, alm de diminuir a possibilidade de perda de datagramas na recepo.

4.12 SEGURANA O atual IPv4 apresenta uma srie de problemas de segurana, no garantindo autenticidade e privacidade abaixo do nvel de aplicao. Para a nova verso, foram projetadas duas opes que podem ser usadas separadamente ou em conjunto, de acordo com as necessidades de segurana das diversas redes [HIN 95]. A infraestrutura proporcionada pelo IPv6 vai requerer mais estratgias de segurana do que apontadas pelo IPv4. Mecanismos de autoconfigurao, ausentes at agora, tero de ser bem autenticadas. Opes de qualidade de servio no muito rgidas podem tornar seus datagramas passveis de ataque. Cuidados devem ser tomados para que uma combinao de opes no deixem os datagramas desprotegidos. Uma palavra-chave em termos de segurana a associao[STA 96]. Uma associao um relacionamento unidirecional entre um transmissor e um receptor. Se os dois nodos de uma conexo vo transmitir, ento duas associaes so necessrias. Cada associao identificada por um endereo destino e um SPI - security parameter index, presente nos headers de segurana. Os parmetros que definem uma associao de segurana so geralmente os algoritmos de autenticao e/ou criptografia e sua(s) chave(s). 4.12.1 AUTENTICAO A autenticao provida por um cabealho de extenso que suporta a integridade e autenticao dos dados de um pacote IP:

70

Figura 28 - Autenticao

Next header (8 bits): identifica o prximo cabealho Length (8 bits): tamanho do campo de de dados em palavras de 32 bits Reserved (16 bits): reservado para uso futuro Security parameters index (32 bits): identifica uma associao de segurana Authentication data (varivel): dados, em palavras de 32 bits O que o campo de dados representar vai depender do algoritmo de autenticao

usado. Mas no geral este campo calculado com base em todo o datagrama, excluindo-se campos que mudem durante sua rota. No clculo, esses campos so encarados como seqncias de bits 0. Cabealhos de fragmentao podem ser includos no clculo

5- IMPLEMENTAO DO IPV6 5.1 - RECURSOS DE PESSOAL NA EMPRESA - Existe a necessidade de um tcnico da RNP para comprovar a existncia ou a implementao do protocolo IPV6; - Um tcnico, que seria o administrador da rede como um todo, para implementar fisicamente a rede e os equipamentos especficos para este protocolo; - Um tcnico experiente em Linux, para efetuar a configurao do Linux para acessar via IPv6. 5.2 RECURSOS DE MATERIAL DA EMPRESA A informao disponibilizada nas tabelas abaixo foi baseada nos dados disponibilizados pela FCCN (Fundao para a Computao Cientifica Nacional - 1999) que faz referncia s implementaes descritas no site IP Next Generation, da Sun Microsystems. Nas tabelas 10 e 11, apenas se mostram as implementaes mais completas.

Implementao

Caractersticas

Pilha dupla

Multicast

Aplicaes de rede

http servidor/clienter

Mobilidade

DNS

IPSec

Mentat

Apple Open Transport v6

BULL SA

AIX 4.1 (portado do NetBSD)

Digital

Alpha Digital Unix e Alpha Digital OpenVMS

DRET

Implementao com fins de pesquisa;desenvolvido em parceria com LIP6 e INRIA

IBM

AIX 4.3; IPv6 para OS/390

72

INRIA

Implementao completa para BSD4.4-lite. Aqui pode obter informao sobre como instalar o novo kernel.

Linux

Baseado no cdigo da NRL. As FAQ de Peter Bieringer e tambm de Eric Osborne ajudam a instalar o kernel com suporte IPv6.

Microsoft

Windows NT4 e 2000

NTHU

Windows 95

Novell

Pilha v6 completa em desenvolvimento

Process Software

TCPWare implementao da pilha v6 para OpenVMS

SICS

Implementao para HPUX

Siemens

BS2000/OSD e Siemens Unix

Silicon Graphics

Implementao para Irix (baseada no cdigo Inria)

Sun Microsystems

Implementao para Solaris 2

NRL

Implementao para 4.4 BSD - lite

WIDE

NetBSD, FreeBSD, BSD/OS Projecto KAME

Polito

A Universidade de Polito

73

desenvolveu para o sistema OpenBSD2.1 a pilha v6.

CMU Monarch

O projecto CMU Monarch lanou uma implementao IPv6 mvel, baseada na implementao para FreeBSD do Inria.

Tabela 10- Recurso de Material

Implementao

Caractersticas

Tneis

RIPv6

BGP4+

IPv6/PPP

IPSec

Suporte Multicast

3 COM Corporation

Produtos encontram-se ainda em desenvolvimento

Bay Networks

Cisco Systems

Digital

Digital Unix

Hitachi, Ltd

Router IPv6 especfico, NR60

IBM

Merit

Implementao grtis

NOKIA

Router baseado na linha NOKIA IP400 IPv6 para OS/390

74

Sumitomo Electric

Implementao para famlia Suminet 3700

Telebit Communications A/S

Tabela 11- Recurso de Material

5.3 COMO IMPLEMENTAR O IPV6 NUM AMBIENTE IPV4 Parte-se do pressuposto de uma empresa com sua rede ativamente utilizando a verso 4 do IP. O pessoal do CPD, em conjunto com a gerncia resolvem, devido a algumas solicitaes, necessidades e por questes de evoluo, trocar sua verso do protocolo IP e atualizar os equipamentos do Segmento "A" para utilizarem a nova verso, o IPv6. Quais seriam as mudanas necessrias? Esta transio pode ser solucionada com os seguintes passos:

O roteador que liga o segmento "A" no BackBone dever ter o seu software atualizado. Caso o roteador no aceite a atualizao, este deve ser trocado. Os servidores de DNS devem ter a sua verso atualizada antes.

Os roteadores que ligam o segmento "B" ao da Internet no precisam de atualizao, pois a atualizao feita no roteador de "A" far com que este segmento troque informaes com outros ainda operando IPv4, este processo executado pela camada IP Dupla que o IPv6 possui para disponibilizar compatibilidade.

75

Figura 29- Exemplo da Empresa antes da mudana do protocolo

Figura 30- Exemplo da Empresa apos a mudana do Segmento "A"

76

Figura 31- Segmentos IPv6 passando por infraestruturas IPv4

Desta maneira os dois protocolos podero operar simultaneamente ate que todas as redes migram totalmente para o IPv6.

5.4 ESTRUTURA

DE

ENCAPSULAMENTO

EM

ROTEADORES

QUE

UTILIZAM IPV4 PARA CONVERSAREM EM IPV6 Conseguido atravs do encapsulamento dos datagramas IPv6 em cabealhos IPv4. Atravs deste tunelamento os datagramas IPv6 passam pelas redes IPv4 e chegam at outras redes IPv6 sem problemas de compatibilidade

Domnio IPv6 Rede A

Domnio IPv4

Domnio IPv6 Rede B

Figura 32- Encapsulamento dos datagramas

77

5.5 SOFTWARES PARA EFETUAR A IMPLEMENTAO DO IPV6 Basicamente, os softwares que podem implementar o IPV6 so os sistemas operacionais baseados em LINUX. No caso, quase todos os pacotes LINUX podem ser configurados para utilizao do IPV6.

5.6 PR-REQUISITOS CONFIGURAO E TESTES LINUX Procedimentos de Instalao, Procedimentos de Configurao e Testes Linux

Verificar se o kernel possui suporte a IPv6, conforme o que foi dito: kernels da srie 2.1.x, a partir da 2.1.9, bem como kernels da srie 2.2 possuem suporte ao IPv6.

Caso o seu kernel no possua o suporte, ou no se tenha o source dele, fazer o download de uma verso mais recente com o suporte em: ftp://ftp.kernel.org/. Neste tutorial esto colocados os downloads no diretrio /apps.

Recompilar o kernel para ativar o suporte ao IPv6:


# cd /usr/src # tar -zxpvf /apps/linux-<verso>.tar.gz # cd linux # make menuconfig

Neste ponto reconfigura-se o sistema para atender as necessidades. Portanto, atentar para as observaes: Nos kernels 2.1.x e 2.2.x, o suporte a IPv6 est em desenvolvimento, portanto, em "Code maturity level options" selecionar: [*] Prompt for development and/or incomplete code/drivers

78

As demais opes para o suporte ao IPv6 se encontram em "Networking Options", logicamente, incluir: <*> The IPv6 Protocol E, de acordo com o novo padro de formato de endereamento usado no 6Bone, o EUI-64, ativar a opo: [*] enable EUI-64 token format Caso a mquina estabelea tnel com um backbone IPv6, como o BR-6Bone, necessrio ativar o suporte ao tunelamento: <*> IP: tunneling <*> IP: GRE tunnels over IP E, sendo essa mquina o gateway e firewall da rede IPv6, interessante observar algumas das opes abaixo: Para o roteamento: [*] IP: optimize as router not host [*] IP: advanced router [*] IP: policy routing Para a atuao como firewall de rede, bem como servidor de NAT/Proxy: [*] Network firewalls [*] IP: firewalling [*] IP: transparent proxy support [*] IP: masquerading [*] IP: ICMP masquerading [*] IP: fast network address translation Um recurso bastante interessante de rede (com algumas melhorias com o IPv6), o Multicast uma opo a se observar:

79

[*] IP: multicasting [*] IP: multicasting routing Caso se utilize os recursos de ARP (Resoluo de IP para Endereo Fsico) observar as opes: <*> reverse ARP [*] IP: ARP daemon support

Uma vez reconfigurado o sistema, salvar as definies e continuar a compilao do kernel: # make dep # make clean # make zlilo (caso o kernel possua uma imagem grande use make bzImage) # make modules # make modules_install # make install Caso tenha sido feito a migrao de kernel 2.0.x para 2.1.x ou 2.2.x e utilizar

mdulos. Instalar os novos utilitrios para mdulos obtidos no mesmo site do kernel (package modutils):

# cd /usr/src # tar -zxpvf /apps/modutils-<verso>.tar.gz # cd modutils-<verso> # ./configure # make # make install

Reinicializar a mquina e verificar se tudo transcorreu bem. Uma vez com o kernel com o suporte IPv6 pode-se proceder aos prximos passos.

80

Se a inteno que a mquina atue como roteador de pacotes IPv6 interligando uma rede a um tnel ou duas redes distintas, necessrio ativar o forwarding de pacotes. Se o kernel for inferior a verso 2.1.90, use o comando: # echo "1" > /proc/sys/net/ipv6/forwarding

Se o kernel for igual ou superior a verso 2.1.90, use o comando: # echo "1" > /proc/sys/net/ipv6/conf/all/forwarding

O interessante que se pode, ao invs de habilitar forwarding em todas as interfaces, restringir o forwarding, usando-se ao invs do comando acima comandos especficos para cada interface, como se segue: # echo "1" > /proc/sys/net/ipv6/conf/eth0/forwarding # echo "1" > /proc/sys/net/ipv6/conf/sit0/forwarding # echo "1" > /proc/sys/net/ipv6/conf/sit1/forwarding

Ativando o forwarding somente nas interfaces sit0, sit1 e eth0.

Modificar os arquivos de configurao de protocolos e hosts para o suporte a rede IPv6:

Altere o arquivo /etc/hosts, acrescentando: ::1 fe00::0 ff00::0 ff02::1 ff02::2 ip6-localhost ip6-loopback ip6-localnet ip6-mcastprefix ip6-allnodes ip6-allrouters

81

ff02::3

ip6-allhosts

e o arquivo /etc/protocols, incluindo: ipv6 ipv6-route ipv6-frag ipv6-crypt ipv6-auth icmpv6 ipv6-nonxt ipv6-opts 41 43 44 50 51 58 59 60 IPv6 IPv6-Route IPv6-Frag IPv6-Crypt IPv6-Auth IPv6-ICMP IPv6-NoNxt IPv6-Opts # IPv6 # Routing Header for IPv6 # Fragment Header for IPv6 # Encryption Header for IPv6 # Authentcation Header for IPv6 # ICMP for IPv6 # No Next Header for IPv6 # Destination Options for IPv6

Realizar um backup prvio dos utilitrios principais e aplicaes cliente de rede que devero serem substituidos pelas suas novas verses portadas para usar a rede IPv6, incluindo: ifconfig, route, hostname, traceroute, inetd, ping, ftp, ftpd, finger, fingerd, tftp, ftpd. telnet, telnetd, sendmail, popd, httpd etc. Como sugesto use o comando cp /<caminho>/<aplicativo> /<caminho>/<aplicativo>.old::

# cp /sbin/ifconfig /sbin/ifconfig.old # cp /sbin/route /sbin/route.old # cp /bin/ping /bin/ping.old # cp /bin/ftp /bin/ftp.old # cp /bin/telnet /bin/telnet.old # cp /bin/hostname /bin/hostname.old # cp /bin/netstat /bin/netstat.old # cp /usr/bin/finger /usr/bin/finger.old # cp /usr/bin/tftp /usr/bin/tftp.old # cp /sbin/arp /sbin/arp.old # cp /usr/bin/traceroute /usr/bin/traceroute.old # cp /sbin/rarp /sbin/rarp.old

82

Descompactar e instalar o package com os aplicativos IPv6: # cd / # tar -zxpvf /apps/ipv6pkg.tgz

Todo um conjunto completo de aplicativos e utilitrios portados para o IPv6 foi descompactado no diretrio /usr/inet6, a maior parte deles usa a biblioteca libinet6.a (includa no package), portando o proximo passo disponibiliz-la para qualquer aplicao: # ln -sf /usr/inet6/lib/libinet6.a /usr/lib/libinet6.a

Pode-se instalar os novos manuais (incluindo informao especfica IPv6): # cd /usr/inet6/man # make all # make install

Criar links simblicos para todos os aplicativos clientes portados que se deseje usar no sistema: # ln -sf /usr/inet6/sbin/ifconfig /sbin/ifconfig # ln -sf /usr/inet6/sbin/route /sbin/route # ln -sf /usr/inet6/bin/ping /bin/ping # ln -sf /usr/inet6/bin/ftp /bin/ftp # ln -sf /usr/inet6/bin/telnet /bin/telnet # ln -sf /usr/inet6/bin/hostname /bin/hostname # ln -sf /usr/inet6/bin/netstat /bin/netstat # ln -sf /usr/inet6/bin/finger /usr/bin/finger # ln -sf /usr/inet6/bin/tftp /usr/bin/tftp # ln -sf /usr/inet6/sbin/arp /sbin/arp # ln -sf /usr/inet6/sbin/traceroute /usr/bin/traceroute # ln -sf /usr/inet6/sbin/rarp /sbin/rarp

83

Caso se deseje ativar um servidor de nomes (named) com o suporte a endereos IPv6 em sua mquina, obtenha o bind, de preferncia na verso mais atual. Para compilar e instalar o bind: # cd /usr/src # tar -zxpvf /apps/bind-<verso>.tar.gz # mv src bind # cd bind # make # make install # cp /usr/src/bind/named/named-bootconf.pl /etc/

Uma vez com o bind instalado, pode-se configurar a resoluo de nomes de hosts do tipo A (IPv4) e AAAA (IPv6) do domnio de nossa rede. Observar o exemplo de arquivo de configurao de zona de um sub-domnio ipv6 para a rede IPv6 de um domnio j existente (no caso o meudominio.br), resolvendo para o domain name adequado hosts IPv6 (e IPv4 obviamente) existentes nesse sub-domnio: $ORIGIN meudominio.br. ipv6 IN SOA host.meudominio.br. root@host.meudominio.br. ( 19981204 3600 600 86400 3600 ) IN NS ns.meudominio.br. IN MX 1 newhost.ipv6.meudominio.br. $ORIGIN ipv6.meudominio.br. newhost IN AAAA 3FFE:2B00:23:201::1 www IN CNAME newhost.ipv6.meudominio.br. ftp IN CNAME newhost.ipv6.meudominio.br. mail IN CNAME newhost.ipv6.meudominio.br.

84

Caso utilize o utilitrio nslookup para verificar a resoluo de registros AAAA (IPv6) em um servidor de nomes, use dentro do nslookup o comando: set querytype=ANY.

Os daemons ftpd, fingerd, telnetd e popd portados para a verso IPv6 devem ser executados a partir da verso mais atual do Internet Super Daemon (inetd) contida no package, instale o inetd mais atual, fazendo cpia de segurana do anterior: # cp /usr/sbin/inetd /usr/sbin/inetd.old # ln -sf /usr/inet6/sbin/inetd /usr/sbin/inetd

Feito isso o prximo passo substituir as linhas de configurao no arquivo /etc/inetd.conf que fazem referncia aos daemons antigos pelas suas novas verses, recomenda-se por segurana ativar servios como o tftp apenas se for realmente necessrio, s ative aqueles servios dos quais realmente precisa. Um exemplo de inetd.conf demonstrado abaixo: # See "man 8 inetd" for more information. # # If you make changes to this file, either reboot your machine or send the # inetd a HUP signal: # Do a "ps x" as root and look up the pid of inetd. Then do a # "kill -HUP <pid of inetd>". # The inetd will re-read this file whenever it gets that signal. # # <service_name> <sock_type> <proto> <flags> <user> <server_path> <args> time stream tcp nowait root internal time dgram udp wait root internal # The comsat daemon notifies the user of new mail when biff is set to y:

85

comsat

dgram udp

wait

root

/usr/sbin/tcpd in.comsat

# Shell, login, exec and talk are BSD protocols. ntalk dgram udp wait root /usr/sbin/tcpd in.talkd # Ident service is used for net authentication auth stream tcp wait root /usr/sbin/in.identd in.identd -w -t120 -l # IPv6 Ported Apps ftp stream tcp nowait root nowait root /usr/inet6/sbin/ftpd ftpd -l

telnet stream tcp finger stream tcp

/usr/inet6/sbin/telnetd telnetd

nowait nobody /usr/inet6/sbin/fingerd fingerd

pop3 stream tcp nowait root /usr/inet6/sbin/popd popd # tftp dgram udp # End of inetd.conf. wait nobody /usr/inet6/sbin/tftpd tftpd -l

Caso tenha problemas com o servidor de pop verifique se /usr/spool/mail possui permisso de acesso completo (777), seno defina-o e assegure-se que cada diretrio de cada usurio tem permisso para acesso ao public negada, garantindo a privacidade das contas de e-mail, mesmo com o 777 em /usr/spool/mail.

Para ativar a nova verso do sendmail, assumindo-se que a mquina j possua uma verso anterior, basta substituir o binrio, fazendo cpia de segurana e o devido link simblico.

# cp /usr/sbin/sendmail /usr/sbin/sendmail.old # cp /etc/sendmail.cf /etc/sendmail.cf.old # ln -sf /usr/inet6/sbin/sendmail /usr/sbin/sendmail

86

A depender da verso do sendmail, pode ser que tenham que ser feitos ajustes nos arquivos de configurao, em especial no arquivo de configurao /etc/sendmail.cf, como referncia existe um modelo disponvel no endereo

(http://www.6bone.rnp.br/config/sendmail.cf) do sendmail.cf. Em alguns testes feitos com o sendmail verificou-se que esta verso compilada e oferecida no package suporta envio de mensagens atravs de conexes na porta smtp com endereos IPv6, mas no aceita enviar mensagens a endereos de e-mail de hosts IPv6, como por exemplo

admin@ipv6.meudominio.br, onde ipv6.meudominio.br um nome de host que corresponde a um endereo IPv6, cabe ressaltar que no h disponvel no package um port do mail.local ou do procmail para o IPv6, o que impede um bom funcionamento do sistema de mail.

A verso de httpd disponibilizada no package admite como localizao default para os arquivos de configurao /usr/local/etc/httpd/, caso na sua verso anteriormente instalada os arquivos estejam em outra localizao (como /var/lib/httpd) criar um link simblico de /usr/local/etc/httpd/ para esta outra localizao, fazer a cpia de segurana do binrio httpd e um link simblico: # ln -sf /var/lib/httpd /usr/local/etc/httpd # cp /usr/sbin/httpd /usr/sbin/httpd.old # ln -sf /usr/inet6/sbin/httpd /usr/sbin/httpd

Executar um kill no processo do Apache (killall httpd) e rodar a nova verso. A verso IPv6 ported no possui suporte a diversas features do Apache, caso ocorram erros de configurao comente as linhas adequadas em /usr/local/etc/httpd/conf/httpd.conf e /usr/local/etc/httpd/conf/srm.conf e refaa o processo at o servidor funcionar corretamente. No package existe um xclient de WWW para IPv6 com alguma funcionalidade, o chimera, ele est em /usr/inet6/bin/chimera. A configurao se resume ao uso correto dos aplicativos ifconfig e route, tendo feito

os links smbolicos para as novas verses IPv6-powered desses aplicativos, basta us-los da mesma forma que se faria em uma mquina IPv4, claro que agora se utilizando endereos IPv6. Para iniciar a network, colocar os comandos apropriados ao seu sistema em um script prprio para a inicializao das interfaces a ser executado no startup do sistema. No caso do Linux Slackware, os comandos devem ser colocados no arquivo rc.inet1 em /etc/rc.d.

87

Sero demonstrados alguns exemplos de configurao dos scripts de inicializao da network baseados em experincia prtica de configurao de uma rede IPv6 com estaes Linux conectada ao 6Bone atravs de um tnel. Se o roteador dessa rede no possui o suporte ao IPv6 e estabelecimento dos tneis, uma mquina com Linux da prpria rede, deve ser alocada para isso. O endereo alocado para essa rede foi 3FFE:2B00:0023:0201::/64 correspondendo a um Leaf Site, possuindo uma capacidade de endereamento de 64 bits para os hosts da rede (eleve o nmero 2 a 64 e ver a quantidade de dispositivos que podem possuir endereamento nessa rede IPv6). A mquina que estabelecer o tnel IPv6-IPv4 possuir evidentemente um endereo IPv4 j configurado, rodando e vlido na Internet, este endereo deve ser conhecido pela outra ponta do tnel para efeito de configurao, bem como ns devemos saber qual endereo IPv4 a outra ponta do tnel possui. Em nosso caso estamos estabelecendo um tnel com o CEO/RNP e o endereo da outra ponta 200.136.100.141; a mquina que deve realizar o roteamento possuir o IP

3FFE:2B00:0023:0201::1. Assumindo que o endereo IPv4 j est configurando e rodando na mquina routertunnel da rede, devemos ento ativar o endereo IPv6 na interface de rede (se for uma interface Ethernet ela ser vista como ethX, indo eth0 para a primeira interface, eth1 para a segunda e assim por diante), ento ativar o device de tunelamento sit0, criando um novo device de tnel (sit1) o qual realizar o tnel para o endereo IPv4 da outra ponta do tnel, ativamos em seguida esse tnel e uma rota para o 6Bone (3FFE:/16), atravs do tnel estabelecido pelo device sit1, observe o formato IPv4 compatvel do gateway para essa rota nos comandos que implementam abaixo os passos da configurao e que devem ser colocados no script de inicializao da network: # Adding IPv6 Configuration ifconfig eth0 add 3ffe:2b00:0023:0201::1/64 # Creating Tunnel Interface ifconfig sit0 up ifconfig sit0 inet6 add 3ffe:2b00:0500:5::2/126 ifconfig sit0 tunnel ::200.136.100.141 ifconfig sit1 up route -A inet6 add 3ffe::/16 gw fe80::200.136.100.141 dev sit1

88

route -A inet6 add 3ffe:2b00:500:5::0/126 dev sit1 /usr/inet6/sbin/radvd & Observa a ltima linha, ela ativa um utilitrio de Router Advertisement, o qual ouve a solicitaes de router e envia anncios de routers, permitindo a autoconfigurao de hosts e a escolha do gateway default pelos mesmos. As demais mquinas da rede IPv6 devem apenas ativar o endereo IP da interface de rede e estabelecer a rota atravs do gateway da rede. Assim para o primeiro host poderamos colocar no script de inicializao os comandos: # Adding IPv6 Configuration ifconfig eth0 add 3ffe:2b00:0023:0201::2/64 route -A inet6 add 3ffe::/16 gw 3ffe:2b00:0023:0201::1 dev eth0 Para fins de teste, podemos usar o ping, netstat, telnet, ftp, traceroute e o prprio route, nas suas novas verses com o suporte ao IPv6: route -v -n get -inet6 ff02::1 route -v -n get -inet6 fe80::a00:20ff:fe0f:28ce route -v -n get -inet6 fe80::220:feff:fe00:8781 route -v -n get -inet6 ::128.93.9.50 route -v -n get -inet6 ::192.87.110.60 route -v -n get -host -inet6 ganesha-v6.ipv6.imag.fr route -v -n get -host -inet6 3ffe:604::c0:4fc6:9cc7 telnet 3ffe:2b00:1:101:a00:20ff:fe72:fefe ftp 3ffe:2b00:1:101:60:8cff:fed9:11c ping -n -q -c 1 3ffe:608:1:101:200:c0ff:fe67:7b9 traceroute server-2.labs.att.ch

89

6- AS PRINCIPAIS DIFERENAS ENTRE IPV4 E IPV6 O suporte conhecido no IPv4 como "Route Optimization" agora foi feito como uma parte fundamental do protocolo IPv6, evitando o problema de padres distintos. Antes, esse suporte era adicionado ao IPv4 como um set opcional de extenses, o que poderia no ser suportado por todos os ns. Esta integrao da optimizao do servidor permite um encaminhamento direto de qualquer n fixo para qualquer n mvel, sem precisar passar pela rede do n mvel e ser tranportado pelo fornecedor do servio de Internet. Dessa forma, elimina-se o problema de encaminhamento triangular presente na base do protocolo IPv4. Esta integrao permite tambm a funcionalidade de registro do IPv4 e a funcionalidade de optimizao do IPv4 ser feita em apenas um protocolo, e no em dois protocolos distintos e separados como no IPv4. O suporte tambm integrado dentro do IPv6 permitindo que ns mveis e IP Mvel coexistam eficientemente com encaminhadores que fazem uso do "ingress filtering". Um n mvel agora usa o seu endereo care-of como endereo de origem no cabealho IP dos datagramas que ele envia, permitindo que estes passem normalmente atravs de encaminhadores "ingress filtering". O uso do endereo care-of como endereo de origem em cada cabealho IP dos datagramas tambm simplifica o encaminhamento de datagramas no modo multicast enviados por um n mvel. No IPv4 o n mvel tinha que fazer o "tunneling" de datagramas multicast para seu agente domiciliar para fazer uso da transparncia de seu endereo domiciliar como origem dos datagramas "multicast". No IPv6, o uso da opo do endereo domiciliar permite que o endereo domiciliar seja usado, mas ainda seja compatvel com encaminhamento multicast que baseado em parte no endereo de origem dos datagramas. No h mais necessidade de determinar routers especiais como agentes estrangeiros (usados no IPv4). No IPv6, os ns mveis fazem uso de modelos para operarem em qualquer local distante da rede domiciliar sem precisar de um suporte especial requerido pelo seu router local.

90

A despeito do IPv4, o IPv6 utiliza o Ipsec para todos requerimentos de segurana e para atualizaes Binding. O mecanismo de deteco de movimento no IPv6 fornece confirmao bidirecional da habilidade do n mvel comunicar com seu router default na sua localizao actual (datagramas que o router envia, chegam ao n mvel, e datagramas que o n mvel envia chegam ao router). Esta confirmao permite uma deteco da situao de "buracos negros", o que no ocorria com o IPv4 (somente a direo router => n mvel era confirmada). Na maioria dos datagramas enviados para um n mvel, quanto longe da sua rede domiciliar, aplicada o "tunneling" no IPv6, usando um cabealho de encaminhamento, enquanto que o IPv4 tem que usar o encapsulamento para todos os datagramas. O uso do cabealho de encaminhamento requer menos bytes adicionais ao cabealho a serem adicionados ao datagrama, reduzindo seu "overhead". Enquanto um n mvel estiver longe de sua rede domiciliar, o seu agente domiciliar intercepta qualquer datagrama com destino a este n mvel que chega rede domiciliar, fazendo uso do "Neighbor Discovery". No IPv4 usado o ARP. O uso do "Neighbor Discovery" implementa a robustez do protocolo e simplifica a implementao do IP Mvel. O uso do encapsulamento IPv6 (e do cabealho de encaminhamento) remove a necessidade de fazer a gesto do "tunnel soft state", o qual foi requerido no IPv4, devido a limitaes no ICMP para o IPv4. O mecanismo de descoberta do endereo do agente domiciliar dinmico no IPv6 faz uso do unicast e retorna uma resposta simples ao n mvel, diferente do IPv4, que usa o broadcast e retorna uma resposta separada para cada agente domiciliar no link domiciliar do n mvel. O mecanismo do IPv6 mais eficiente e mais fivel, uma vez que somente um datagrama precisa ser enviado de volta ao n mvel. O IPv6 define uma opo de "Advertisement Interval" no "Router Advertisements" (equivalente ao "Agent Advertisements" no IPv4), permitindo que um n mvel decida por ele mesmo quantos "Router Advertisements" so necessrios antes de declarar que o router est inacessvel.

91

O uso das opes de destino do IPv6 permitem que todo o controle de trfego seja "piggybacked" em qualquer datagrama existente no IPv6, enquanto que no IPv4, datagramas UDP separados eram requeridos para cada mensagem de controle.

CONCLUSO

Atravs do estudo realizado conclui-se que o IPv6 uma realidade palpvel, e que mais cedo ou mais tarde ser necessrio a sua implementao, considerando que o IPv4 possui limites que esto sendo esgotados naturalmente. Conforme mostrado neste trabalho, a implementao do protocolo IPv6 requer material adequado e conhecimento prtico para que funcione normalmente, o que justifica a no implementao em um laboratrio da Unama (Universidade da Amaznia) devido ausncia desses recursos. Considerando ainda que foi constatado que a UFPA (Universidade Federal do Par), como ponto de referncia de implementao do IPv6 na regio, segundo a RNP (Rede Nacional de Pesquisa), no possui mais laboratrio e documentos referentes a esta implementao. Considera-se importante ressaltar que uma das literaturas utilizadas neste trabalho, o livro c Tanenbaum, a. s. computer networks, faz referncia ao cabealho de extenso destination, porm, em todas as literaturas e sites de pesquisa nenhum desses fala sobre o assunto. Ressalta-se que foi feito contato com o responsvel pela implementao na UFPA e foi informado que este desconhecia tal cabealho. Sugeriu-se que a Unama, como instituio de ensino, deveria ter em um de seus laboratrios um exemplo prtico desse novo protocolo da internet, pois como informado anteriormente, aos poucos a necessidade da utilizao do IPv6 torna-se real e necessria. Portanto, a Unama deveria procurar se tornar um ponto de referncia na regio norte, como instituio de nvel superior que possui implementado o IPv6.

BIBLIOGRAFIA

1. Tanenbaum, A. S. Computer Networks, 3rd Ed. 2. DNS Extensions to support IP version 6 , Internet Architecture Board, RFC 1886. 3. Dr. Sidnie Feit, MacGraw-Hill - Architecture, Protocols, and Implementation with Ipv6 and IP Security. 4. Douglas E. Comer e David L. Stevens - Internetworking with TCP / IP (vol. 1 e 2) 5. Larry J. Hunghes, Jr. - Actually Useful Internet Security Techniques - New Riders Publishing 6. Terry Bernstein, Anixh B. Bhimani, Eugene Schultz & Carol A. Siegel Segurana na Internet - Editora Campos, 1997 7. DOUGLAS E. COMER - Interligao em Rede com TCP/IP 8. DOUGLAS E. COMER DAVID L. STEVENS Interligao em Rede com TCP/IP 9. GABRIEL TORRES - Redes de Computadores: Curso Completo 10. ET AL. ROB CRIMGER PAUL LASALLE MRIDULA PARIHAR TCP/IP: a Bblia 11. Redes de Computadores ANDREW S. TANENBAUM

Endereos eletrnicos visitados


12. http://www.ietf.org/ 13. http://proenca.uel.br/curso-redes-graduacao/1998/ 14. http://www.redes.unb.br/Projetos_grad/ipv6/historico.html 15. http://www.redes.unb.br 16. http://search.ietf.org/ 17. http://www.ietf.org/rfc 18. http://www.ipp.pt/ 19. http://ipv6.fe.up.pt/ipv4.htm 20. http://www.iana.org/ 21. http://www.ietf.org/internet-drafts/draft-ietf-ipsec-esp-v3-03.txt 22. http://www.ietf.org/home.html 23. http://www.ipv6.org/ 24. http://ganges.cs.tcd.ie/4ba2/ipng/index.html 25. http://www.isi.edu/in-notes/rfc1883.txt 26. http://www.internet2.edu/ 27. http://www.amazon.com/exec/obidos/ASIN/0124558380/techfestcom 28. http://www2.kame.net/faq/fom.cgi?file=45 29. http://bofh.st/ipv6/apps.shtml 30. http://www.netbsd.org/packages/README-IPv6.html

ANEXO I (NICO)

Todos os arquivos de Referencia se encontram neste captulos.

-- RFC 792

September 1981

INTERNET CONTROL MESSAGE PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION

-- RFC 950 -- RFC 1112

August 1985 August 1989

Internet Standard Subnetting Procedure Host Extensions for IP Multicasting

link: http://www.dei.isep.ipp.pt/~andre/normas/rfc1112.txt -- RFC 1883 December 1995 IPv6 Specification

link: http://www.dei.isep.ipp.pt/~andre/normas/rfc1883.txt -- RFC 1884 December 1995 IPv6 Addressing Architecture

link: http://www.dei.isep.ipp.pt/~andre/normas/rfc1884.txt -- RFC 1885 December 1995 ICMPv6 (ICMP for IPv6)

link: http://www.dei.isep.ipp.pt/~andre/normas/rfc1885.txt -- RFC 1924 April 1996 A Compact Representation of IPv6 Addresses

link: http://www.dei.isep.ipp.pt/~andre/normas/rfc1924.txt -- RFC 2236 November 1997 Internet Group Management Protocol

link: http://www.dei.isep.ipp.pt/~andre/normas/rfc2236.txt -- RFC 2292 February 1998 Advanced Sockets API for IPv6

UNIVERSIDADE DA AMAZNIA - UNAMA CENTRO DE CINCIAS EXATAS E NATURAIS - CCET TECNOLOGIA EM PROCESSAMENTO DE DADOS

MRCIA GORETT FERNANDES DOS SANTOS OSVALDO BRAGA NETO THIAGO DE FREITAS MARQUES

IMPLEMENTAO DE IPV6 EM UM LABORATRIO DA UNAMA

Belm-PA
2003

UNIVERSIDADE DA AMAZNIA - UNAMA CENTRO DE CINCIAS EXATAS E NATURAIS - CCET TECNOLOGIA EM PROCESSAMENTO DE DADOS

MRCIA GORETT FERNANDES DOS SANTOS OSVALDO BRAGA NETO THIAGO DE FREITAS MARQUES

IMPLEMENTAO DE IPV6 EM UM LABORATRIO DA UNAMA

Trabalho de Graduao apresentado ao curso de Processamento de Dados da Universidade da Amaznia, para a obteno do Grau de Tecnlogo em Processamento de Dados, sob orientao do Professor Edson Brabo

Belm-PA
2003

UNIVERSIDADE DA AMAZNIA - UNAMA CENTRO DE CINCIAS EXATAS E NATURAIS - CCET TECNOLOGIA EM PROCESSAMENTO DE DADOS

MRCIA GORETT FERNANDES DOS SANTOS OSVALDO BRAGA NETO THIAGO DE FREITAS MARQUES

IMPLEMENTAO DE IPV6 EM UM LABORATRIO DA UNAMA

COMISSO EXAMINADORA

______________________________________ [Nome do Orientador]

______________________________________ [Nome do Examinador]

______________________________________ [Nome do Examinador]

Belm, ____ de __________________ de 2003.

AGRADECIMENTOS

Primeiramente agradeo a Deus que me mostrou o caminho para as minhas realizaes, e que me fez chegar ao final desta jornada; Aos meus pais, em especial a minha me Marilourdes Santos, por ser a pessoa mais importante na minha vida, por ter compartilhado do meu ideal, incentivando-me a prosseguir a jornada, fossem quais fossem os obstculos; Aos colegas Osvaldo Braga e Thiago Marques que com toda boa vontade aceitaram a minha participao neste trabalho e sem medir esforos valorizaram o trabalho cooperativo; Ao nosso professor e orientador Edson Brabo pela pacincia, seriedade, competncia e sugestes valiosas que muito nos auxiliaram na elaborao deste trabalho; E a todos que direta ou indiretamente contriburam para a realizao deste trabalho.

Mrcia Gorett Fernandes dos Santos

Dedico a meu Pai Paulo Henrique, minha Me Maria da Penha, minha Irm Paula Flvia, minha Av Irene Vieira, minha Namorada - Christiane Hasse, por me apoiarem em todas as etapas desde a entrada na universidade at o presente momento de minha formatura. Osvaldo Braga Neto

Ao meus pais Jos Maria Marques e Aurenice Marques pelo apoio e compreenso;

Ao professor Edson Brabo pela orientao em cada etapa do trabalho;


A minha namorada Tatiana Silva e irm Tatiana Marques que contriburam para a realizao deste trabalho.

Thiago de Freitas Marques

EPGRAFE
H aqueles que lutam um dia, e por isso so bons;
H aqueles que lutam muitos dias, e por isso so muito bons; H aqueles que lutam anos, e so melhores ainda; Porm, h aqueles que lutam toda a vida; esses so imprescindveis

Bertold Brecht

SUMRIO
LISTA DE TABELAS ....................................................................................................... LISTA DE FIGURAS ........................................................................................................ RESUMO ........................................................................................................................... ABSTRACT ....................................................................................................................... INTRODUO .................................................................................................................. 1. HISTRICO DA INTERNET ...................................................................................... 1.1. rgos regulamentadores da internet ..................................................................... 1.1.1. IETF 09 10 12 13 15 16 17

Internet Engineering Task Force ( Fora Tarefa de Engenharia da Internet ) 17 17 17

.........................................................................................................

1.1.2. ISOC Internet Society (Sociedade da Internet) ............................................ 1.1.3. IAB Internet Architecture Board (Agencia de Arquitetura da Internet) ...... 1.1.4. IRTF Internet Research Task Force ( Fora

Tarefa de Pesquisa da Internet ) 17

.........................................................................................................

1.1.5. IANA Internet Assigned Number Authority (Autoridade de Atribuio de Nmeros da Internet) ..................................................................................... 17 1.1.6. IESG Internet Engineering Steering Group (Grupo de Direo da Engenharia da Internet) .. 18

1.1.7. CERT/CC Computer Emergency Response Team (Equipe de Resposta a Emergencia de Computadores) .. 2. 18 19 19 20 21 21 21 21 22 22 22 22 23 24 24 24 24 27 27 27

ESTUDO DO TCP/IP .................................................................................................. 2.1. Histrico .................................................................................................................. 2.2. O protocolo da internet - TCP/IP ............................................................................ 2.3. A arquitetura OSI .................................................................................................... 2.3.1. Camada de Aplicao ..................................................................................... 2.3.2. Camada de Apresentao ................................................................................ 2.3.3. Camada de Sesso ........................................................................................... 2.3.4. Camada de Transporte .................................................................................... 2.3.5. Camada de Rede ............................................................................................. 2.3.6. Camada de Enlace ........................................................................................... 2.3.7. Camada Fsica ................................................................................................. 2.4. Modelo TCP/IP ........................................................................................................ 2.4.1. Camada Aplicao .......................................................................................... 2.4.2. Camada Transporte (TCP/UDP) .................................................................... 2.4.3. Camada Internet (IP) ...................................................................................... 2.4.4. Camada Rede (HARDWARE) ......................................................................

3.

PROTOCOLO INTERNET VERSO 4 - IPv4 .......................................................... 3.1. Introduo ............................................................................................................... 3.2. A estrutura do protocolo IPv4 .................................................................................

3.3. Endereamento IPv4 ................................................................................................ 3.4. O endereo IP .......................................................................................................... 3.5. Sub-Rede .................................................................................................................. 4. PROTOCOLO INTERNET VERSO 6 IPv6 .......................................................... 4.1. Introduo ................................................................................................................ 4.2. Datagrama IPv6 ....................................................................................................... 4.3. Endereamento ........................................................................................................ 4.4. Cabealho principal do IPv6 ................................................................................... 4.4.1. Descrio dos campos do cabealho IPv6 ...................................................... 4.4.1.1. Cabealhos de extenso ......................................................................... 4.5. Cabealho hop by hop . 4.5.1. 4.5.2. 4.5.3. 4.5.4. Cabealho de fragmentao .......................................................................... Representao dos endereos no IPv6 .......................................................... Notao de endereos ................................................................................... Roteamento .................................................................................................. 4.5.5.1. Tunelamento IPv6 sobre IPv4 .............................................................. 4.6. Auto configurao .................................................................................................. 4.7. Compatibilidade ...................................................................................................... 4.8. Transio IPv4/ IPv6 .............................................................................................. 4.9. ICMP no IPv6 ......................................................................................................... 4.10. DNS no IPv6 ........................................................................................................... 4.11. Fragmentao / remontagem .................................................................................. 4.12. Segurana .............................................................................................................. 4.12.1. Autenticao ................................................................................................. 5. IMPLEMENTAO DO IPv6 ...................................................................................... 5.1. 5.2. Recursos de pessoal na empresa ............................................................................ Recursos de material da empresa ...........................................................................

32 33 34 37 37 38 49 55 55 55 57 58 59 63 63 63 64 65 65 66 68 68 69 69 71 71 71 74

5.3. Como implementar o IPv6 num ambiente IPv4 ..................................................... 5.4.

Estrutura de encapsulamento em roteadores que utilizam IPv4 para conversarem em IPv6 76 76 77 89 92 93 95

................................................................................................................................. 5.5. Softwares para efetuar a implementao do IPv6 ................................................... 5.6. Pr-requisitos para configurao e testes Linux ..................................................... 6. AS PRINCIPAIS DIFERENAS ENTRE IPv4 E IPv6 ................................................ 7. CONCLUSO ............................................................................................................... 8. REFERNCIAS BIBLIOGRFIAS .............................................................................. 9. ANEXOS ........................................................................................................................

LISTA DE TABELAS
TABELA Tabela1 Tabela2 Tabela3 Classes de Endereos Cabealhos de extenso do IPv6 Tratamento das opes que no forem compreendidas pelo roteamento ro roteador Tabela4 Tabela5 Tabela6 Tabela7 Tabela8 Tabela9 Tabela10 Tabela11 Endereos Ipv6 Escopo para um endereo multicast cabealho de extenso diviso de cabealho Hop-by-hop Tipos de opo Prefixos do endereamento IPv4 Recurso de Material Recurso de Material 52 54 56 58 58 62 73 74 TTULO P. 34 42 43

LISTA DE FIGURAS
FIGURA Figura1 Figura2 Figura3 Figura4 Figura5 Figura6 Figura7 Figura8 Figura9 Figura10 Figura11 Figura12 Figura13 Figura14 Figura15 Figura16 Figura17 Figura18 Figura19 Figura20 Figura21 Figura22 Camada OSI Modelo TCP/IP Comparativo camada OSI e TCP/IP Protocolo de SMTP e http A estrutura do protocolo IP Classes de endereamento IP Sub-rede de uma classe B Formato geral do datagrama IPv6 Cabealho fixo do datagrama IPv6 Os dois sub-campos do FLOW LABEL Exemplo de cabealho com duas extenses Formato do Hop-by-hop e Destination Options Formato das opes individuais dos cabealho de opes Formato do cabealho de fragmentao Formato do cabealho de extenso Formato do cabealho de autenticao. Formato do cabealho de encriptao de dados Endereo baseado no provedor Endereo para uso local do enlace Endereo para uso local do site Endereos de Multicast Cabealho principal do IPv6 TTULO P. 21 23 23 25 27 32 35 38 39 40 41 42 43 44 45 46 48 52 53 53 53 55

Figura23 Figura24 Figura25 Figura26 Figura27 Figura28 Figura29 Figura30 Figura31

Cabealhos de extenso Cabealhos de Hop-by-hop Cabealho de fragmentao Tunelamento Autenticao Exemplo da Empresa antes da mudana do protocolo Exemplo da Empresa apos a mudana do Segmento "A" Segmentos IPv6 passando por infraestruturas IPv4 Encapsulamento dos datagramas

57 57 59 64 70 75 75 76 77

RESUMO

Apresenta um breve resgate histrico do incio da Internet at hoje, destacando o incio da popularizao da Internet como meio de comunicao pelo mundo, e como essa comunicao feita utilizando-se o protocolo atual denominado IPv4, a migrao para seu sucessor IPv6 (IPNG), e a demonstrao dos mecanismos de implementao desse novo protocolo de comunicao utilizando-se a internet, demonstrando de forma clara e objetiva sua estrutura, formatao, e como essa evoluo mudar os meios de comunicao na internet e em rede local.

PALAVRAS-CHAVES: Internet, IPv4, IPv6,IPNG.

ABSTRACT

Introduces a brief histocal rescue of internet beginning till today detailing internets popularization beginning as way of communication around the world and how its are made making use of current protocol named by IPv4 and the migration to its successor IPv6 (IPNG) and demonstration of mechanisms of implementation from its new communication protocol making use of internets demonstrating objective and clearly its structure and shape and this evolution will change internets communication ways and in local network.
PALAVRAS-CHAVES: Internet, IPv4, IPvV6,IPNG.

Vous aimerez peut-être aussi