institiuto científico de ensino superior e pesquisa – icesp

Propaganda
INSTITUTO CIENTÍFICO DE ENSINO SUPERIOR E PESQUISA – ICESP
CURSO DE TECNOLOGIA EM REDES DE COMPUTADORES
ELISNALDO SANTIAGO PRAZER
IPng
Plano de migração da versão 4 do protocolo IP, para a versão 6
em grandes corporações
BRASÍLIA
2006
2
ELISNALDO SANTIAGO PRAZER
IPng
Plano de migração da versão 4 para a versão 6 para grandes
corporações
Projeto apresentado ao Instituto Científico de Ensino
Superior-UnICESP como requisito parcial, para a obtenção do
título de tecnólogo em no curso de Tecnologia em Redes de
Computadores.
Orientador: Gustavo Fleury
BRASILIA
2006
3
LISTA DE FIGURAS
Figura
Página
Figura 7.1.1 – Modelo de referencia do TCP/IP baseado em 5 camadas ..................... 18
Figura 7.1.2 – Camadas conceituais dos serviços de internet (TCP/IP) ....................... 18
Figura 7.3.1.1 - Modelo do datagrama IP versão 4 ....................................................... 23
Figura 7.3.1.2 – Modelo do cabeçalho IP versão 4 ....................................................... 24
Figura 7.3.2.2.3 – Representação do funcionamento do protocolo ARP ....................... 30
Figura 7.3.3.1 – Esquema de interligação de redes com roteadores. ........................... 33
Figura 7.3.4.1 – processo de fragmentação do datagrama ........................................... 35
Figura 7.3.5.1 – Diagrama de encapsulamento conforme o Modelo OSI ...................... 36
Figura 7.3.6.1.1– Cabeçalho IP com endereço de destino no formato de multicast...... 38
Figura 7.3.7.1 – Encapsulamento de um datagrama IP criptografado em outro
datagrama IP para comunicação VPN .......................................................................... 41
Figura 7.3.10.1 – Detalhamento do cabeçalho do IPsec ............................................... 43
Figura 7.3.6.5.2 – Detalhamento do cabeçalho do IPsec utilizando ESP ...................... 44
Figura 7.4.1.1 - Modelo do datagrama IP versão 6 ....................................................... 46
Figura 7.4.1.1.1 – Comparação entre os cabeçalhos IP versão 6 e 4 ........................... 51
Figura 7.4.1.1.2 – Composição de um datagrama IPv6 com os cabeçalhos de extensão
...................................................................................................................................... 52
Figura 7.4.2.1 – Composição do cabeçalho hop-by-hop ............................................... 53
Figura 7.4.2.2 – Formato do campo TYPE .................................................................... 53
Figura 7.4.4.1 – Formato do cabeçalho de roteamento ................................................. 55
Figura 7.4.4.2 – Mecanismo de funcionamento do cabeçalho de roteamento com S/L=1
...................................................................................................................................... 57
Figura 7.4.5.1 – Formato do cabeçalho de fragmento ................................................... 58
Figura 7.4.5.2 – Processo de fragmentação de um datagrama..................................... 60
Figura 7.4.6.1 – Formato do cabeçalho de autenticação .............................................. 62
Figura 7.4.6.2 – Encapsulamento IP sobre IP ............................................................... 64
Figura 7.4.7.1 – Formato do cabeçalho criptografia ...................................................... 66
Figura 7.4.7.2 – ESP em modo TRANSPORTE ............................................................ 68
Figura 7.4.7.3 – ESP em modo TÚNEL ........................................................................ 69
Figura 7.4.7.4 – Funcionamento do ESP em modo TÚNEL .......................................... 69
Figura 7.4.8.1 – Endereço IPv6 representado em bits .................................................. 70
4
Figura 7.4.8.1.1 – Hierarquia de 3 níveis da Internet .................................................... 75
Figura 7.4.8.1.2 – Formato do endereço Unicast .......................................................... 75
Figura 7.4.8.2.1 – Formato do endereço Anycast ......................................................... 77
Figura 7.4.8.3.1 – Formato do endereço Multicast ........................................................ 77
Figura 7.4.10.1 – Formato do cabeçalho ICMPv6 ......................................................... 81
Figura 7.4.10.2 – Formato do pseudo cabeçalho ICMPv6 ............................................ 82
Figura 7.4.11.1 – Processo de reconhecimento do MTU dos links ............................... 86
Figura 7.4.11.2.1 – Processo de auto configuração de endereço “sem estado” ........... 87
Figura 7.4.11.3.1 – Processo fornecimento de endereço cliente/servidor ..................... 88
Figura 7.4.11.3.2 – Processo fornecimento de endereço com a utilização do DHCP
Relay ............................................................................................................................. 90
Figura 7.4.11.3.3 – Processo fornecimento de endereço combinando DHCP e DNS ... 90
Figura 7.4.1.4 – Comparação entre os cabeçalhos IP versão 6 e 4 .............................. 93
5
LISTA DE TABELAS
Tabela
Página
Tabela 7.2.1 – Tabela de evolução da Internet .....................................................................21
Tabela 7.3.2.1 -Formas de endereçamento do primeiro octeto do endereço IP ..............27
Tabela 7.3.2.2 – Classes do endereçamento IP....................................................................28
Tabela 7.3.3.1 – Exemplo de informações de uma tabela de roteamento ........................32
Tabela 7.3.6.1.1 – Tabela com algumas atribuições definidas para grupos de multicast
.......................................................................................................................................................39
Tabela 7.4.1.1 – Tabela de classes de datagramas para tráfego controlado por
congestionamento ......................................................................................................................50
Tabela 7.4.1.2 – Tabela de protocolos válida para o campo NEXT HEADER .................50
Tabela 7.4.2.1 – Valores de tipo de tratamento de datagramas pelos nós da rede ........53
Tabela 7.4.8.1 – Alocação de prefixos ....................................................................................72
Tabela 7.4.8.3.1 – Valores possíveis para o campo ESCOP ..............................................78
Tabela 7.4.8.3.2 – Valores Multicast reservados ..................................................................79
Tabela 7.4.8.3.3 – Valores Multicast para todos os nós (escopos 1 e 2) ..........................79
Tabela 7.4.8.3.4 – Valores Multicast para todos os nós (escopos 1, 2 ou 5) ...................79
Tabela 7.4.8.3.5 – Valores Multicast com outras funções ...................................................79
Tabela 7.4.10.1 – Valores e mensagens ICMPv6 .................................................................81
Tabela 7.5.1 – Processo fornecimento de endereço combinando DHCP e DNS ............92
6
LISTA DE SIGLAS
Sigla
Nomenclatura
AH
Authentication Header
ARP
Address Resolution Protocol
ARPA
Advanced Research Projects Agency
ARPANET
Rede de comunicação de dados desenvolvida pela agencia ARPA
BGP
Border Gateway Protocol
BIT
Dígito do sistema BINÁRIO de numeração
BOOTP
Bootstrap
BSD
Berkeley Software Distribution
CBC
Cipher Block Chaining
CDMF
Commercial Data Masking Facility
CIDR
Classes Inter-Domain Routing
CSMA/CD
Carrier Sense Multiple Access with Collision Detect
DARPA
Defense Advanced Research Projects Agency
DCA
Defense Communication Agency
DHCP
Dynamic Host Configuration Protocol
DNS
Domain Name Server
EGP
Exterior Gateway Protocol
ESP
Encap Security Payload
Ethernet
Tecnologia de rede local que utiliza a tecnologia CSMA/CD
GGP
Gateway-to-Gateway Protocol
Hardware
Partes físicas de um sistema computacional, eletrônicas ou não.
7
HMAC
Hashed Message Authentication Code
HOP
Pontos de roteamento pelos quais um datagrama passa em uma
transmissão
IAB
Internet Architecture Board
IANA
Internet Assigned Numbers Authority
ICCB
Internet Control and Configuration Board
ICMP
Internet Control Message Protocol
IESG
Internet Engineering Steering Group
IETF
Internet Engineering Task Force
IGMP
Internet Group Management Protocol
IGRP
Internet Gateway Routing Protocol
Internet
Rede pública
Intranet
Rede privada
IP
Internet Protocol
IPng
Internet Protocol next generation ou também conhecida como IPv6
IPv4
Versão 4 do protocolo IP
IPv6
Versão 6 do protocolo IP
MAC
Media Access Control
MAC
Message Autentication Code
Mainframe
Computadores de grande porte
MILNET
Segmento da ARPANET fechado para o serviço militar Norte Americano
MTU
Maximum Transmission Unit
NAT
Network Address Translation
ND
Neighbor Discovery
NIC
Network Interface Card
8
Octetos
Conjunto de oito bits
OSPF
Open Shortest Path First
PAD
Packet Assembler/Disassembler
payload
Parte de dados do cabeçalho IPv6
RFC
Request for Comments
RIP
Routing Information Protocol
S/L
Strict/Loose Bit Map
SA
Security Association
SHA
Secure Hash Algorithm
Socket
Interface de software para acesso direto de programas aos protocolos
Software
Parte lógica de um sistema computacional
SPI
Security Parameters Index
TCP
Transmission Control Protocol
TCP
Transmission Control Protocol
TLV
Type-Length-Value
TOS
Type Of Service
UDP
User Datagram Protocol
VPN
Virtual Private Network
www
Word Wide Web
9
SUMÁRIO
Capítulo
Página
1. Introdução............................................................................................................. 11
2. Justificativa .......................................................................................................... 13
3. Objetivo Geral ....................................................................................................... 14
4. Objetivo Específico .............................................................................................. 15
5. Metodologia .......................................................................................................... 16
6. Escopo da pesquisa............................................................................................. 17
7. Referencial Teórico .............................................................................................. 18
7.1. Apresentação do protocolo TCP/IP ............................................................. 18
7.2. Breve Histórico.............................................................................................. 19
7.3. Internet Protocol versão 4 (IPv4) ................................................................. 23
7.3.1. Cabeçalho do DATAGRAMA IPV4 ........................................................ 23
7.3.2. Endereçamento IPv4 .............................................................................. 27
7.3.2.1.
Subclasses do IPv4 ....................................................................... 28
7.3.2.2.
Protocolo de Tradução de Endereços (ARP)............................... 29
7.3.3. Roteamento ............................................................................................ 31
7.3.4. Fragmentação ........................................................................................ 35
7.3.5. Encapsulamento .................................................................................... 36
7.3.6. Multicasting ............................................................................................ 37
7.3.6.1.
Endereçamento multicast IP ......................................................... 38
7.3.6.1.1. Internet Group Management Protocol (IGMP) ........................ 39
7.3.7. Virtual Private Network (VPN) ............................................................... 40
7.3.8. Network Address Translation (NAT) .................................................... 41
7.3.9. Dynamic Host Configuration Protocol (DHCP).................................... 42
7.3.10. IP Security (IPsec) ............................................................................... 43
7.4. Internet Protocol versão 6 (IPv6) ................................................................. 46
7.4.1. Cabeçalho do DATAGRAMA IPv6 ......................................................... 46
7.4.1.1.
Cabeçalhos Concatenados IPv6 ................................................... 51
7.4.2. Cabeçalho Hop by Hop options (salto a salto) .................................... 53
7.4.3. Cabeçalho Destination options ............................................................ 54
7.4.4. Cabeçalho Routing ................................................................................ 55
7.4.5. Cabeçalho Fragment ............................................................................. 57
10
7.4.6. Cabeçalho Authentication ..................................................................... 62
7.4.7. Cabeçalho Encapsulating Security Payload (ESP) ............................. 65
7.4.8. Endereçamento IPv6 .............................................................................. 70
7.4.8.1.
Formato de Endereço Unicast Global .......................................... 74
7.4.8.2.
Formato de Endereço Anycast ..................................................... 76
7.4.8.3.
Formato de Endereço Multicast.................................................... 77
7.4.9. IEEE EUI-64............................................................................................. 80
7.4.10. Internet Control Message Protocol version (ICMPv6 6) ................... 80
7.4.11. Protocolo de Descoberta de Vizinhos (NDP – Neighbor Discovery
Protocol) .............................................................................................. 83
7.4.11.1. Processo de descoberta dos MTUs dos caminhos (Path MTU
Discovery Process)........................................................................ 85
7.4.11.2. Autoconfiguração de endereços .................................................. 86
7.4.11.3. DHCPv6 ........................................................................................... 87
7.5.
Compatibilidade entre IPv4 e IPv6 .......................................................... 91
7.6.
Comparando as versões do Protocolo ................................................... 93
7.7.
Reflexões sobre alguns motivos para migração de IPv4 para IPv6 ..... 95
7.8.
Conclusão do estudo ............................................................................... 97
Bibliografia 98
Outras fontes 99
11
1. Introdução
Com a grande evolução da computação, o ser humano torna-se cada vez
mais dependente dos recursos oferecidos pela tecnologia. Atualmente, a linha que
separa os eletrônicos dos sistemas informatizados está cada vez mais tênue, e os
grandes responsáveis por esta evolução são os recursos de comunicação de dados.
Antes dos anos 90, cada aparelho possuía sua função específica, ou seja,
aparelho de som para reprodução de músicas, telefone para conversação, máquina
fotográfica para registro de imagens, computadores para edição de documentos,
programação e execução de aplicativos e, comunicação de dados, atendia apenas a
interesses de grandes corporações para interligação de seus mainframes.
As redes de informação ganharam espaço nas coisas mais simples
possibilitando uma interação entre tudo isso. Um grande exemplo é a telefonia
celular que já é capaz de trafegar voz, dados e imagem utilizando-se de um
aparelho telefônico através de redes integradas à Internet. Computadores exercem
todas as atividades de eletrônicos como conversação, execução de jogos, captura e
edição de imagens e vídeos e até mesmo execução de músicas.
Tudo isso foi possível em função do protocolo TCP/IP que, de tão difundido,
tornou-se necessária à criação de mecanismos de segmentação entre as redes
privadas (Intranet) e a pública (Internet).
Às redes privadas, principalmente nos ambientes corporativos, foi permitida a
adoção de endereços TCP/IP de escolha própria cuja administração é realizada
exclusivamente pela organização. Já a rede pública possui uma unidade
controladora em cada país a fim de gerenciar a distribuição de IPs impedindo assim
a duplicidade.
12
A integração destes dois ambientes, redes privadas e pública, se dá por
dispositivos de tradução de endereços (NATs) que são implantados e administrados
por cada organização a qual é atribuída a responsabilidade pelo seu funcionamento.
Mesmo com vários recursos existentes para melhor aproveitamento dos
endereços públicos, a quantidade de usuários e empresas que utilizam a Internet
cresceu tanto que os 2 32 endereços de rede da Internet tendem a esgotar-se em
poucos anos.
Este foi o cenário que motivou grupos de pesquisa a trabalharem em um
novo modelo de endereçamento TCP/IP a fim de atender a demanda mundial. Este
modelo recebeu o nome de IPng e sua versão oficial é a IPV6 que entra para
substituir a atual IPV4.
13
2. Justificativa
Com o crescimento exponencial de utilização da Internet, os endereços
públicos de acesso estão ficando escassos e os recursos de telecomunicações,
saturados.
Com a grande dependência destes recursos, um colapso no sistema
acarretaria prejuízos imensuráveis para profissionais liberais e empresas que
dependem desta estrutura para manter seus negócios. A fim de evitar este conflito,
foi desenvolvida a versão 6 do protocolo IP.
O IPv6 eleva substancialmente a quantidade de endereços para a Internet,
bem como diminui o uso de banda de rede e reduz informações no cabeçalho de
dados.
Muito mais que a ampliação da faixa de endereçamento oficial, o IPv6 visa
melhorar o desempenho das redes, principalmente nos pontos onde se exige maior
processamento para passagem dos datagramas entre redes diferentes.
Outra questão importante é o novo conceito de “cabeçalhos concatenados”.
Isso permite um melhor gerenciamento de segurança do datagrama desde as
atividades mais simples como um “echo replay” (comando ping) até as mais
complexas como criptografia e VPN, por exemplo.
Face ao exposto, todas as grandes corporações deveriam iniciar um plano de
migração para esta nova tecnologia do protocolo IP. Esta mudança pode ser
implementada a longo prazo, uma vez que existem serviços de tradução que tornam
compatíveis, pelo menos por algum tempo, as duas versões do protocolo até
porque, tal migração pode representar um alto custo em hardware e software caso a
corporação ainda possua equipamentos que não suportem IPv6.
14
3. Objetivo Geral
Nesta primeira etapa do Trabalho de Conclusão de Curso (TCC1), será
realizado um estudo comparativo do protocolo IPv6 em relação ao IPv4,
apresentando as melhorias do protocolo em sua evolução. Serão abordadas as
funcionalidades mais utilizadas em ambientes de redes corporativos. Na segunda
etapa (TCC2), deverá ser apresentado um plano de migração de tecnologia entre
estes protocolos que poderá servir como base para planejamento de empresas de
médio e grande porte, a fim de diminuir os impactos, principalmente com a
substituição de hardware e ajustes de softwares ainda não compatíveis.
15
4. Objetivo Específico

Apresentar as diferenças entre as versões, a compatibilidade e os protocolos
afetados;

Listar alguns equipamentos ativos mais utilizados que sejam compatíveis
com a versão 6 do protocolo IP;

Expor os sistemas de segurança de maior utilização pelo mercado que já são
compatíveis com a nova versão;

Apresentar algumas práticas de configuração de ambiente que sejam mais
apropriadas para o funcionamento com o IPV6.
16
5. Metodologia
Foi realizado um estudo sobre as características da estrutura do protocolo
IPv6 baseada em comparação com o IPv4 para melhor compreensão.
Uma rica bibliografia foi utilizada para estudo, bem como bons sites da
Internet, a fim de se obter dados suficientes para um correto entendimento sobre o
assunto.
As propostas de adaptação apresentadas neste trabalho estão totalmente
fundamentadas no material de estudo e, em alguns casos, em experiências vividas
e compartilhadas na Internet.
17
6. Escopo da pesquisa
Este trabalho de pesquisa apresenta os prós e os contras de cada versão do
protocolo TCP/IP baseado em literaturas diversas com o intuito de orientar os
administradores de grandes redes sobre a melhor forma de migrar seu ambiente
para esta nova versão.
Para a parte 2 do trabalho, será tomada uma empresa fictícia, baseada em
características de uma empresa de grande porte real.
18
7. Referencial Teórico
O objetivo aqui é realizar um estudo detalhado sobre a versão 6 o protocolo
IP. Para isso, faremos uma breve revisão sobre o protocolo IPv4 para melhor
entendimento das novas funcionalidades do IPv6.
7.1. Apresentação do protocolo TCP/IP
O TCP/IP é um protocolo baseado em 5 camadas (Figura 7.1.1) e apresenta
as melhores condições de roteamento e serviços de rede. Estes serviços estão
divididos em três grupos dependentes entre si conforme Figura 7.1.2.
Aplicação
Transporte
Internet
Interface de Rede ou Enlace
Física ou de hardware
Sistemas e aplicativos
Verificação de erros
Serviços de endereçamento lógico e roteamento
Endereçamento físico (MAC)
Infra-estrutura de rede (cabos, conectores, etc.)
Figura 7.1.1 – Modelo de referencia do TCP/IP baseado em 5 camadas
SERVIÇO DE
APLICAÇÃO
SERVIÇO DE TRANSPORTE CONFIÁVEL
SERVIÇO DE ENTREGA DE PACOTES SEM CONEXÃO
Figura 7.1.2 – Camadas conceituais dos serviços de internet (TCP/IP)
Esta divisão facilita o desenvolvimento das pesquisas no sentido poderem
seguir suas linhas de trabalho simultaneamente.
O IP é definido como um sistema de entrega de pacote não-confiável, sem
conexão e com a filosofia do melhor esforço. Não-confiável, pois a entrega do
pacote não é garantida pelo protocolo. Quem faz a garantia são os protocolos
adjacentes. Sem conexão pois o pacote não estabelece um único caminho para
uma seqüência de quadros, ou seja, um dado pode ser fragmentado e cada
19
fragmento pode ser enviado por caminhos diferentes, sendo reagrupados e
reorganizados no destinatário. O melhor esforço é caracterizado pela procura do
caminho de menor custo para entrega do datagrama. Esta procura é realizada
utilizando-se como base de referência, tráfego, banda disponível, retardo do canal,
perda de pacotes e integridade do link.
Na versão 4, o protocolo é totalmente compatível com os hardwares e
softwares disponíveis no mercado. Já na versão 6, como ainda está em fase de
projeto, os primeiros sistemas e equipamentos compatíveis estão começando a
aparecer, depois de quase 10 anos de homologação do serviço.
7.2. Breve Histórico
O protocolo IP teve sua origem na década de 70 quando o Defense
Advanced Research Projects Agency (DARPA), um dos maiores financiadores de
pesquisa de redes de comutação de pacotes, iniciou os trabalhos para a criação de
uma tecnologia para interconexão de redes.
O DARPA desenvolveu sua primeira rede utilizando a tecnologia IP que foi
batizada de ARPANET.
Em 1979, o grupo de pesquisadores interessados no desenvolvimento da
tecnologia IP estava tão grande, que foi necessário a criação do comitê Internet
Control and Configuration Board (ICCB) para coordenar os trabalhos.
Nos anos 80 a ARPANET começou a se expandir interligando os centros de
pesquisa. Como tal expansão apontava para uma grande massa de usuários, a
Agência de Defesa nas Comunicações (DCA), que já havia ingressado à ARPANET,
determinou uma separação em uma rede militar (que passou a ser chamada de
MILNET) e outra rede de pesquisas (que permaneceu com o mesmo nome).
20
Nesta mesma época, a versão Berkeley ou Berkeley Software Distribution
(BSD) do UNIX, incorporou o TCP/IP em seu Sistema Operacional, permitindo que
mais de noventa por cento dos departamentos de ciência de computação das
universidades estivessem interligados podendo realizar transferência de arquivos
entre elas.
A Berkeley também desenvolveu o socket, uma interface para que sistemas
aplicativos pudessem acessar diretamente protocolos de comunicação, não
somente para o TCP/IP, mas outros que já existiam na época.
No final da década de 80, o crescimento da Internet já atingia uma taxa de
15% ao mês, chegando em 2005 com aproximadamente trezentos milhões de
computadores distribuídos em 209 países.
O Internet Architecture Board (IAB) foi o primeiro órgão regulador para
criação de padrões de evolução da Internet, definindo quais protocolos fariam parte
obrigatória do conjunto TCP/IP e quais seriam as suas políticas oficiais.
Em 1989, milhares de pessoas já tinha a Internet como fonte de negócios, o
que dificultava as implementações experimentais de novas idéias. Em função disso,
o IAB teve que ser reestruturado, criando um grupo com mais representantes da
comunidade. Este grupo ficou conhecido como Internet Engineering Task Force
(IETF) e tornou-se responsável pela padronização de protocolos e outros aspectos
técnicos.
Para se registrar os trabalhos de pesquisa com o TCP/IP, foram utilizadas as
Request for Comments (RFC)s de forma seqüencial e cronológica. Os conceitos,
padrões e propostas de protocolos devem ser aprovadas pelo Internet Engineering
Steering Group (IESG), um departamento do IETF, para que se tornarem oficiais.
Estas RFCs podem ser obtidas no site do IETF (http://www.ietf.org).
21
O maior fomentador de demandas tecnológicas, não vem do crescente
aumento da quantidade de conexões, mas sim da necessidade de tráfego que as
novas aplicações e serviços exigem para funcionarem bem na Internet.
Quando a rede mundial de computadores foi implementada, utilizava-se linha
de comando para as transações de dados. Com o surgimento dos sistemas
operacionais gráficos, vieram as aplicações Word Wide Web(www), o que
representou um drástico aumento na utilização do canal de comunicação. Como a
Internet está sempre evoluindo, as demandas por protocolos e equipamentos mais
ágeis não param de crescer. Para se ter uma idéia, temos atualmente telefonia e
vídeo sendo transitados via IP com alta definição e utilizando a mesma tecnologia
de trinta anos.
Na tabela abaixo apresentamos a evolução da expansão do uso da internet,
bem como a quantidade de gerencias nacionais que foram sendo espalhadas pelo
mundo para uma melhor administração da evolução.
Tabela 7.2.1 – Tabela de evolução da Internet
Número
Número de computadores
Ano
de redes
na rede
1980
10
10 2
10 3
10 5
10 6
1990
2000
10 5
10 7
10 8
Número de usuários
utilizando a rede
Número de
gerentes
10 2
10 6
10 8
10 9
10 0
101
10 2
10 3
2005
Fonte:COMER(2006) Interligação de rede com TCP/IP, 5ª ed.)
Frente ao apresentado na tabela acima, pesquisadores chegaram a uma
estimativa de que a disponibilidade de endereços de rede se prolongaria até 2028
se houvesse um bom reaproveitamento dos endereços não utilizados. De qualquer
forma, é consenso que duas coisas ficaram evidentes com base na estatística de
crescimento
da
Internet:
Aplicações
mais
sofisticadas
como
telefonia
e
22
videoconferência funcionam muito bem na versão 4 do IP e, os serviços de CIDR e
NAT conseguiram estender os endereços oficiais à quantidade necessária à
demanda atual
Levando em consideração que a versão 4 do IP, totalmente inalterada, já
está funcionando muito bem a mais de 30 anos, chegamos à conclusão de que o
projeto é bastante flexível e poderoso, uma vez que neste período “o desempenho do
processador aumentou por três ordens de grandeza, os tamanhos típicos de memória
aumentaram por um fator maior que 400 e a largura de banda dos enlaces de maior
velocidade na Internet aumentaram por um fator de cento e cinqüenta mil” (COMMER,
Douglas E., Interligação de redes com TCP/IP. V1, 5 ed. p.370).
Dado a tudo isso, é que os pesquisadores do IETF convidaram
representantes de muitas comunidades para participarem do processo de criação
de uma nova versão do TCP/IP. Deste novo grupo de trabalho foram elaboradas
algumas propostas para base do novo protocolo e a melhor delas foi denominada
SIP que teve sua versão estendida chamada de SIPP. Desta proposta nasceu o
IPng que posteriormente foi nominado de IPV6, pois a versão 5 apresentou uma
série de erros e mal entendidos.
Segundo COMER(2006), com a nova proposta para o IPV6, será possível se
24
alocar 10 endereços IP por metro quadrado da superfície do planeta.
23
7.3. Internet Protocol versão 4 (IPv4)
Como dito na apresentação do protocolo, o IP não garante a entrega do
pacote nem a seqüência de entrega, mas fornece informações para que a camada
TCP (que é um protocolo orientado a conexão) possa realizar a reorganização dos
frames.
Como não é o objetivo deste trabalho explorar a versão 4 do protocolo IP,
esta parte tem o objetivo apenas de referenciar sobre o funcionamento desta versão
para servir de base para as comparações e entendimentos da versão 6.
7.3.1. Cabeçalho do DATAGRAMA IPV4
A figura abaixo apresenta um diagrama pedagógico da estrutura do
VERSÃO
DO IP
(VERSION)
TAMANHO
DO
CABEÇALH
O (HLEN)
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
TIPO DE SERVIÇO
(TOS)
COMPRIMENTO TOTAL
SINALIZADOR
DE
FRAGMENTO
(FLAG)
IDENTIFICAÇÃO
TEMPO DE VIDA DO
DATAGRAMA
(TIME TO LIVE)
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
datagrama IP.
IDENTIFICADOR DE INICIO DO DATAGRAMA
FRAGMENTADO
(OFFSET FRAGMENT)
CHECAGEM DE ERRO DO CABEÇALHO
(HEADER CHECKSUM)
PROTOCOLO
IP DE ORIGEM
IP DE DESTINO
PREENCHIMENTO
OPÇÃO DO IP
DADOS
..........
Figura 7.3.1.1 - Modelo do datagrama IP versão 4
Fonte: COMMER(2006, p. 48)
O datagrama IP é tratado em nível de software, não exercendo qualquer
influência na estrutura de hardware da rede. Por este motivo, os campos devem ser
bem definidos. Façamos um breve estudo de cada um dos campos acima:
24

VERS – Possui quatro bits que identificam a versão do protocolo IP
utilizada para a construção do datagrama. Este é o primeiro campo a ser
verificado pelo equipamento de roteamento a fim de não haver
interpretação errada do conteúdo do datagrama. Caso não seja
compatível, o datagrama é descartado.

HLEN – Informa o tamanho, em palavras de 32 bits, do cabeçalho IP. Um
cabeçalho padrão, ou seja, sem a utilização dos campos OPÇÕES IP e
PREENCHIMENTO, possui um tamanho 5. Isso porque os doze campos
iniciais possuem tamanho fixo.
TIPO DE SERVIÇO
(TOS)
IDENTIFICAÇÃO
FLAG
TIME TO LIVE
PROTOCOLO
IP DE ORIGEM
IP DE DESTINO
VERS
5x32
HLEN
COMPRIMENTO TOTAL
OFFSET FRAGMENT
HEADER CHECKSUM
OPÇÃO DO IP
PREENCHIMENTO
DADOS
..........
Figura 7.3.1.2 – Modelo do cabeçalho IP versão 4

TIPO DE SERVIÇO – Especifica como tratar o datagrama. Este campo
está subdivido em duas partes: Uma com dois bits ainda não utilizada e
outra com 6 bits que irão auxiliar o equipamento de roteamento a escolher
qual o melhor canal de comunicação, baseado nas políticas locais e
informações sobre os meios físicos a ele conectados.

TAMANHO TOTAL – Indica o tamanho total do datagrama em
quantidade de octetos. Este tamanho inclui o cabeçalho e a parte de
dados. Por possuir um tamanho de 16 bits, permite um tamanho máximo
de datagrama de 65.535 (sessenta e cinto mil, quinhentos e trinta e cinco)
bits ou 8192 bytes.
25

IDENTIFICAÇÃO – O datagrama possui uma identificação única e,
juntamente com os campos, FLAG, OFFSET e TAMANHO TOTAL,
auxiliam na remontagem do pacote fragmentado. Ele é copiado para cada
fragmento de modo que o destinatário possa identificar quais fragmentos
pertencem a qual pacote original.

FLAG – Este campo tem por objetivo informar aos roteadores quando um
datagrama pode ou não ser fragmentado e também, se o fragmento
recebido pertence ao meio ou ao fim do datagrama original.

OFFSET FRAGMENT – Sua finalidade é mapear onde se inicia cada
parte do datagrama original em um fragmento, ou seja, se um datagrama
de identificação X possuía um tamanho de 4500 octetos, em uma rede
Ethernet padrão, ele será fragmentado em 3 partes onde a identificação
será igual nos três, a flag do primeiro e do segundo indicarão que há
outros fragmentos relacionados à mesma identificação e o offset irá
indicar valores múltiplos de 1500. Isso auxilia na remontagem do
datagrama original.

TIME TO LIVE (TTL) – Indica o tempo de vida de um datagrama quando
lançado na rede. Este tempo é dado em saltos (hops). O campo possui 8
bits, o que permite um TTL máximo de 255 saltos. O objetivo deste
campo é cuidar para que pacotes com destinos desconhecidos não
fiquem circulando na rede eternamente.

PROTOCOLO – Especifica informações sobre a parte de dados do
datagrama, ou seja, em qual protocolo de alto nível, como o Transmission
Control Protocol (TCP) e o User Datagram Protocol (UDP), o datagrama
foi montado.
26

HEADER CHECKSUN – Tem como objetivo garantir a integridade do
cabeçalho do datagrama. É calculado a partir da técnica de complemento
de um ou inversão. É realizado apenas para o cabeçalho, permitindo
assim, que os protocolos superiores realizem sua própria checagem de
erros.

IP DE ORIGEM – Neste campo é inscrito o endereço do host que originou
o datagrama afim de que o destinatário saiba para quem responder se for
o caso.

IP DE DESTINO – Informa aos equipamentos de roteamento para qual
destino estes devem direcionar os datagramas.

OPÇÃO DO IP – Não é um campo obrigatório, porém sua maior utilização
aplica-se na parte de gerenciamento da rede. É um campo de tamanho
variável subdividido em três subcampos: cópia – que tem por objetivo
informar se o campo opção deve ou não ser copiado para todos os
fragmentos do datagrama; classe opção – informa a que classe pertence
a opção. Ela pode ser datagrama, controle de rede ou depuração e
medição; numero opção – especifica, dentro da classe, qual o objetivo
do datagrama.

PREENCHIMENTO – Como o campo opção do IP é variável, o campo
preenchimento tem como objetivo completar com zeros o cabeçalho para
que o mesmo possua um tamanho que seja múltiplo de 32 bits.
(NAUGLE, Matthew. Guia ilustrado do TCP/IP. 2001 / COMMER, Douglas. Interligação de redes com
TCP/IP)
27
7.3.2. Endereçamento IPv4
O endereçamento IP serve para identificar univocamente um host em uma
rede. Ele é organizado em quatro octetos que podem representar, além do
endereço do host, a rede a qual este pertence.
O endereçamento IPv4 é distribuído em cinco classes distintas que visam
organizar as faixas de endereçamento padrão para distribuição de redes e hosts
como mostra a tabela abaixo:
Tabela 7.3.2.1 -Formas de endereçamento do primeiro octeto do endereço IP
Classe
A
B
C
D
E
Endereço
inicial
0
128
192
224
240
Endereço
final
127
191
223
239
255
Binário
inicial
00000000
10000000
11000000
11100000
11110000
Binário
final
01111111
10111111
11011111
11101111
11111111
A classe D é utilizada para endereçamentos multicasting como veremos no
item 7.3.6. Já a classe E possui aplicações especiais e não é utilizada para
endereçamento de redes e estações.
As classes A, B e C se aplicam à identificação de hosts de um modo geral,
porém com alguns endereços reservados, ficando o endereçamento da seguinte
forma:
Classe A – 1.0.0.0 a 126.0.0
Classe B – 128.0.0.0 a 192.255.0.0
Classe C – 193.0.0.0 a 223.255.255.0
28
O endereço 0.0.0.0 somente é utilizado quando um novo host ingressa na
rede e não possui um endereço. Trata-se de um broadcast para um serviço de
DHCP que objetiva distribuir endereços IP dinamicamente.
O endereço 127.0.0.0 também é conhecido com endereço de loopback. Este
endereço é utilizado pelo software de protocolo para realizar testes na interface e
não circula na rede.
As classes têm como objetivo definir a quantidade de redes e de hosts dentro
um sistema de numeração. Veja na tabela abaixo como fica a distribuição:
Tabela 7.3.2.2 – Classes do endereçamento IP
Classe
A
B
Qtd redes
126
(28  63)  2 (16126)
Qtd hosts
224  2 (16777214)
216  2 (65536)
C
(216  31)  2 (2031616)
28  2 (253)
A subtração de dois do total da quantidade de hosts, deve-se ao fato de que,
quando todos os bits da parte host do endereço estão “setatos” em zero, temos o
endereço da rede geral e quando estes estão em um, representam um endereço de
broadcast.
7.3.2.1.
Subclasses do IPv4
As subclasses foram criadas de modo a se permitir a segmentação das
classes oficiais em pequenas sub-redes que pudessem ser roteadas. Ela é aplicada
em um endereço específico de uma classe válida a fim de aproveitar alguns octetos
da parte host para o endereço de rede.
29
As classes possuem máscaras de rede próprias que são:
Classe A – 255.0.0.0 (11111111.00000000.00000000.00000000)
Classe B – 255.0.0.0 (11111111.11111111.00000000.0000000)
Classe C – 255.255.255.0 (11111111.11111111.11111111.00000000)
Ao se observar a representação binária das máscaras, podemos concluir que
os “uns” agrupados forçam o octeto a representar a parte rede do endereço. Assim,
se forçarmos alguns bits da parte host em “um”, podemos fazer com que esta
também seja rede. Veja o exemplo abaixo:
Endereço - 130.64.80.25
Classe B
Máscara padrão – 255.255.0.0 ou /16
Máscara de sub-rede – 255.255.192.0 ou /18
Novas redes:
130.64.0.0
130.64.64.0
130.64.128.0
130.64.192.0
Observemos que com o simples acréscimo de dois bits para a máscara
classe B, pudemos dividir a rede em quatro novas sub-redes.
7.3.2.2.
Protocolo de Tradução de Endereços (ARP)
Para que os endereços de Internet funcionem em uma rede física, é
necessário que estes endereços lógicos (IP) estejam associados a um endereço
físico (NIC ou assemelhados). Para isso, foi criado o protocolo ARP que está mais
relacionado com a parte de hardware do que com o software em si.
No caso das redes ethernet, toda vez que uma nova interface de rede é
inserida no ambiente, um novo relacionamento entre seu NIC e seu endereço IP
30
deve ser realizado em cada estação da rede em um determinado domínio de
colisão. A questão é que isso não acontece dinamicamente. É necessário que
algum host faça uma requisição de um endereço físico a partir da informação do
endereço lógico, ou seja, quando algum outro host quiser se comunicar com o novo
equipamento. Para que isso aconteça, um broadcast especial é lançado na rede
local com o endereço lógico de destino. Todos os hosts irão ouvir a solicitação mas
apenas o que possuir tal endereço irá responder. Como o host destino também
necessita atualizar sua tabela ARP, ele aproveita o datagrama de solicitação, extrai
os dados do par IP/NIC e atualiza sua tabela.
Justamente porque os NIC não são configurados pelos administradores da
rede, essa tabela deve estar constantemente sendo atualizada. Isso acontece a
cada vez que um determinado host recebe qualquer tipo de solicitação (broadcast,
unicast ou multicast), ou quando o tempo de validade dos dados de sua tabela ARP
expira. Neste último caso, um broadcast ARP é lançado na rede com o endereço
lógico para que o destino devolva a solicitação com o NIC atualizado.
Veja abaixo um diagrama de funcionamento do ARP:
Tabela ARP
10.70.8.3 - 3c.ab.55.23.c6.ff
10.70.8.5 - 3c.b5.8e.73.55.a9
10.70.8.254 - aa.cb.45.78.b8.fc
10.70.8.66 - a6.87.32.b7.ee.76
10.70.8.20 - d4.55.ff.a8.66.b1
10.70.8.3
3c.ab.55.23.c6.ff
10.70.8.5
3c.b5.8e.73.55.a9
Roteador
10.70.8.254
aa.cb.45.78.b8.fc
Broadcast ARP
10.70.8.20
Ethernet
Resposta
d4.55.ff.a8.66.b1
10.70.8.66
a6.87.32.b7.ee.76
10.70.8.20
d4.55.ff.a8.66.b1
Tabela ARP
10.70.8.3 - 3c.ab.55.23.c6.ff
10.70.8.5 - 3c.b5.8e.73.55.a9
10.70.8.254 - aa.cb.45.78.b8.fc
10.70.8.66 - a6.87.32.b7.ee.76
10.70.8.20 - d4.55.ff.a8.66.b1
Figura 7.3.2.2.3 – Representação do funcionamento do protocolo ARP
31
7.3.3. Roteamento
Roteamento é a capacidade que alguns equipamentos possuem de interligar
domínios de broadcast diferentes (entenda-se por domínio de broadcast as redes
que pertencem à mesma rede lógica, definida por uma máscara ou sub-máscara).
Esta atividade é mais comumente realizada por equipamentos que possuem a
capacidade para roteamento (roteadores). Segundo COMMER(2006), na última
edição do seu livro “interligação de redes com TCP/IP 5ª edição 2006”, o termo
atualmente utilizado é encaminhamento ao invés de roteamento, mas será utilizado
este último por questão de familiaridade global.
O roteamento ou encaminhamento de frames está subdividido em dois tipos
básicos: Entrega direta e entrega indireta.

Roteamento com entrega direta
Duas máquinas pertencem a uma mesma rede se os
prefixos IP referentes a parte rede forem idênticos. Caso esta
afirmativa não se aplique, os hosts pertencem a redes diferentes.
Para que haja uma entrega direta do pacote, ou seja, para
que dois hosts possam trocar informações sem a intervenção de
um roteador, é necessário que a afirmativa do primeiro parágrafo
deste item seja verdadeira.

Roteamento com entrega indireta
Se dois hosts pretendem se falar mas seus prefixos são
diferentes, eles pertencem a redes diferentes, logo não podem se
comunicar sem a intervenção de um roteador. Neste caso, o
pacote é encaminhado para este equipamento que, normalmente
interliga duas ou mais redes, para que o mesmo possa dar um
32
novo destino ao pacote. Ou seja, o roteador “retira” o pacote de
uma rede e o “insere” em outra a ele diretamente conectada.
Para que o roteador saiba para onde enviar o pacote, é necessário que o
mesmo possua uma “tabela de roteamento” ou “tabela de encaminhamento”. Nesta
tabela são armazenados apenas os endereços de rede às quais ele conhece. Esta
tabela pode ser alimentada manualmente (rotas estáticas) ou automaticamente
(rotas dinâmicas). Normalmente as redes que são armazenadas nesta tabela foram
aprendidas por um processo semelhante ao da tabela ARP. A diferença é que ela
não contém endereço físico até porque a rede é uma entidade virtual. Mas vale
lembrar que os roteadores possuem uma tabela ARP para cada interface. Assim é
possível ao roteador direcionar o datagrama para o próximo roteador ou host.
Uma tabela de roteamento eficiente possui as informações como segue:
Tabela 7.3.3.1 – Exemplo de informações de uma tabela de roteamento
Destino
Distância
Rota
Rede A
0
Direta
Rede B
0
Direta
Rede C
1
Roteador B
Rede D
2
Roteador B
Podemos observar que a tabela pertence a um roteador que está entre as
redes A e B e que esta última é o caminho para se atingir as redes C e D. Na
seqüência é apresentada uma figura para exemplificar a situação acima:
33
Rede A
Rede D
Roteador A
Roteador C
Rede B
Roteador B
Rede C
Figura 7.3.3.1 – Esquema de interligação de redes com roteadores.
Como podemos observar, a tabela apresentada pertence ao roteador A que
se encontra localizado entre as redes A e B. E assim, cada roteador teria uma
tabela semelhante. Isso facilita ao roteador a identificação do caminho ao qual ele
deve submeter o datagrama.
Existem vários protocolos que foram desenvolvidos especialmente para a
alimentação desta tabela. Entre eles, os mais utilizados são:

Border Gateway Protocol (BGP) – Tem a função de
auxiliar os sistemas autônomos na comunicação entre si
permitindo que estes propagem informações sobre destinos
diretamente conectados ou cujas conexões sejam realizadas
através deles. Este protocolo utiliza o TCP como transporte
a fim de garantir a integridade da entrega. A tabela é
alimentada de uma única vez quando o roteador é ligado. As
34
atualizações são realizadas na medida em que os
datagramas vão sendo roteados.

Routing Information Protocol (RIP) – Trata-se de um
protocolo de roteamento que divulga suas rotas através da
utilização de um broadcast realizado a cada trinta segundos
baseado em vetor de distância, ou seja, qual o menor
caminho para se chegar ao destino. A divulgação é feita por
apenas um roteador dentro de um sistema autônomo. Os
demais
apenas
aprendem
estas
rotas
quando
são
divulgadas. Caso este roteador falhe, ou seja, se em 180
segundos não houver nova divulgação de rota, os demais
zeram o contador de tempo de validade dos dados da tabela
e um novo roteador é eleito para realizar tal atividade. Em
função deste tempo de propagação de rotas, ele se torna
lento para convergência de informações.

Open Shortest Path First (OSPF) – Trata-se de um
protocolo baseado em estado do enlace, ou seja, avalia qual
o melhor caminho em termos de tráfego, distancia,
confiabilidade, retardo do sinal, etc. Este protocolo não
alimenta tabelas de rotas em si, mas levanta o estado das
conexões dos roteadores vizinhos a partir de um roteador de
divulgação. Com ele podem-se definir prioridades por tipo de
serviço, bem como promover balanceamento de carga
através de vários caminhos para um único destino.
35
7.3.4. Fragmentação
A fragmentação foi implementada a fim de atender aos diversos tipos de
meios de transmissão. Cada meio possui um tamanho diferente e normalmente é
dado em octetos. As redes ethernet por exemplo, possuem uma “Unidade de
Transferência Máxima (MTU)” de 1500 octetos.
Cada fragmento de um datagrama possui um cabeçalho semelhante ao
original. Isto objetiva manter a integridade da informação. Em cada processo de
fragmentação, um cabeçalho novo é inserido no fragmento e a parte de dados é
novamente fragmentada. Neste cabeçalho, os campos offset e flags são
modificados em relação ao original, pois eles são responsáveis pela seqüênciação
do datagrama fragmentado tornando-o possível de ser remontado no destino.
Ident. -cabeçalho
offset - 0
flag - 000
tamanho - 3020 octetos
end. Orig - host A
end. Dest - host B
cabeçalho
Ident. -cabeçalho
offset - 0
flag - 000
tamanho - 3020 octetos
end. Orig - host A
end. Dest - host B
Dados
HOST A
cabeçalho
HOST B
Ethernet
Ethernet
MTU = 1500
Ident. -cabeçalho
offset - 0
flag - 001
tamanho - 1500 octetos
cabeçalho
Ident. -cabeçalho
offset - 1480
flag - 001
tamanho - 1500 octetos
Ident. -cabeçalho
offset - 2960
flag - 000
tamanho - 60 octetos
MTU = 600
Dados
Ident. -cabeçalho
offset - 0
flag - 001
tamanho - 600 octetos
cabeçalho
Da
dos
cabeçalho
Dados
Ident. -cabeçalho
offset - 580
flag - 001
tamanho - 600 octetos
cabeçalho
Da
dos
cabeçalho
Dados
Ident. -cabeçalho
offset - 1160
flag - 001
tamanho - 600 octetos
cabeçalho
Da
dos
Ident. -cabeçalho
offset - 1740
flag - 001
tamanho - 600 octetos
cabeçalho
Da
dos
Ident. -cabeçalho
offset - 2320
flag - 001
tamanho - 600 octetos
cabeçalho
Da
dos
Ident. -cabeçalho
offset - 2900
flag - 000
tamanho - 120 octetos
cabeçalho
Da
dos
Figura 7.3.4.1 – processo de fragmentação do datagrama
Dados
36
7.3.5. Encapsulamento
Encapsulamento é o processo de “empacotamento” de dados seguindo um
modelo de camadas. O OSI afirma que cada camada de um host de origem se
comunica apenas com a sua camada equivalente no host de destino. Isso se deve
ao fato de que cada nível possui um cabeçalho próprio que, para os níveis
inferiores, representam apenas dados.
Os níveis mais abaixo, obedecendo à hierarquia da pilha, não se preocupam
com o conteúdo vindo das camadas superiores.
No IP é acrescido o cabeçalho do datagrama e enviado para a camada
subjacente onde serão acrescentados novos cabeçalhos até o momento em que o
quadro é lançado na rede física.
No destinatário, o processo é inverso, ou seja, os últimos níveis primeiro
retiram seus cabeçalhos e repassam os dados para os níveis superiores conforme a
F
E
Aplicação
dado
Apresentação
encapsulament
o
R
dado
desencapsulamento
figura abaixo:
Aplicação
dado
Apresentação
dado
S
dado
Sessão
T
S
dado
Transporte
T
S
dado
Rede
S
dado
Enlace
Enlace
F
Física
Física
E
R
T
R
T
S
dado
Sessão
dado
S
Transporte
dado
S
T
Rede
dado
S
T
R
dado
S
T
R
E
S
T
R
F
dado
Meio físico
Figura 7.3.5.1 – Diagrama de encapsulamento conforme o Modelo OSI
E
F
37
7.3.6. Multicasting
Multicasting é um mecanismo utilizado pelos níveis inferiores do OSI para
direcionar um quadro de dados para mais de um host simultaneamente. A diferença
em relação ao broadcasting está na maneira de propagação da mensagem que se
difunde apenas em um grupo determinado e não para todos os hosts da rede.
No IP, o multicasting possui as seguintes características:

Endereço de grupo – cada grupo possui uma identificação única
classe D.

Número de grupos – Cada IP pode participar de até 2 28 grupos de
multicasting diferentes. Este valor se deve às limitações do tamanho
da tabela de roteamento.

Associação de grupo dinâmico – Cada host pode se associar ou
desassociar de grupos.

Uso do hardware – O IP pode se utilizar da capacidade do hardware
que propaga multicasting para difundir pacote para seu grupo. Caso
esta facilidade não seja suportada pela controladora, o IP se utiliza do
broadcasting ou do unicasting para implementar a facilidade.

Encaminhamento de internet – Permite que hosts se conectem a
outros grupos de multicasting em redes diferentes. Para tal facilidade,
os roteadores devem ser capazes de rotear pacotes de multicasting.

Semântica de distribuição – Os pacotes multicasting também
seguem a filosofia de “caminho de melhor esforço”, ou seja, os
datagramas podem ser fragmentados, sofrer retardos entre outros
problemas como qualquer outro pacote.
38

Associação e transmissão – Qualquer host pode enviar datagramas
a qualquer grupo de multicasting. A associação é declarada apenas
para limitar quem recebe pacotes multicasting.
7.3.6.1.
Endereçamento multicast IP
Os endereçamentos multicast podem ser permanentes (ou conhecidos), que
podem ser utilizados por protocolos de roteamento multicast ou transitórios que são
criados quando necessário e se desfazem quando todos os membros se
desvinculam do grupo.
Um datagrama é identificado como sendo de multicasting, quando os quatro
primeiros bits do campo “endereço de destino” do cabeçalho IP se inicia com a
VERS
HLEN
TIPO DE SERVIÇO (TOS)
31
30
29
28
27
26
25
24
23
22
COMPRIMENTO TOTAL
IDENTIFICAÇÃO
TIME TO LIVE
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
seqüência 1110, ou seja, valores entre 224 e 239.
FLAG
OFFSET FRAGMENT
PROTOCOLO
HEADER CHECKSUM
IP DE ORIGEM
1
1
1
0
I
P
D
E
D
E
S
T
I
N
O
OPÇÃO DO IP
PREENCHIMENTO
DADOS
..........
Figura 7.3.6.1.1– Cabeçalho IP com endereço de destino no formato de multicast
Alguns endereços de multicast representam, como já mencionado, grupos
fixos como por exemplo 224.0.0.12 que é o endereço utilizado para o serviço de
DHCP e o 224.0.0.10 que atende ao serviço de roteamento utilizando IGRP.
A próxima figura apresenta uma tabela com os endereços reservados mais
utilizados.
39
Tabela 7.3.6.1.1 – Tabela com algumas atribuições definidas para grupos de multicast
Endereço
224.0.0.1
224.0.0.2
224.0.0.9
224.0.0.10
224.0.0.12
Função
Todos os sistemas da sub-rede
Todos os roteadores da sub-rede
Roteadores RIP2
Roteadores IGRP
Serviço DHCP
Os limites de propagação dos datagramas multicast podem ser controlados,
utilizando o campo “tempo de vida” (TTL) em hops do pacote (0 para propagação
local ou 1 para interpretação por parte do roteador, 2 para propagação em um hop,
e assim por diante) ou pela configuração dos roteadores, bloqueando a propagação
de qualquer datagrama com endereço de multicast.
Para que haja roteamento de pacotes multicasting entre redes distintas, e até
mesmo para que haja um controle de cadastro e descadastro de novos hosts nos
grupos de multicast é necessário o protocolo IGMP.
7.3.6.1.1. Internet Group Management Protocol (IGMP)
IGMP é um protocolo padrão TCP/IP responsável pela administração das
associações e roteamentos de pacotes multicasting. Sua atividade pode ser
desmembrada em duas etapas:
Primeira etapa: Para que um novo host ingresse em um grupo, este deve
enviar um pacote IGMP para o endereço multicasting do
grupo de endereços solicitando sua inclusão. Os roteadores
multicasting, por sua vez, recebem o datagrama e o propaga
entre os outros roteadores das redes participantes.
Segunda etapa: Em função das associações serem dinâmicas, os roteadores
multicasting realizam ciclos periódicos de verificação de
40
permanência dos membros dos grupos. Se nenhum host
responder pelo mesmo, o roteador deixa de propagar
datagramas para os roteadores das redes adjacentes.
O IGMP foi projetado para evitar congestionamento da rede com difusão
desnecessária de datagramas.
Visto que os grupos multicasting são dinâmicos, cabe dizer que as tabelas de
roteamento para este serviço mudam toda vez que um host entra ou sai do grupo.
Se um host pertencente a um grupo X e este quiser enviar um datagrama
Multicasting para seu próprio grupo, o frame se propagará apenas para as redes
que possua hosts pertencentes ao grupo. Caso o host pertença a um grupo
diferente e queira mandar uma mensagem para um grupo onde nenhum host da sua
rede seja membro, o roteador multicasting terá que identificar as redes que
possuem membros cadastrados no grupo solicitado e propagar o datagrama para
todas de uma única vez. Isso poupa banda de rede.
7.3.7. Virtual Private Network (VPN)
Uma rede virtual privada parte do princípio de que se é possível criar um
túnel pela internet de maneira que duas redes privativas possam usar os vários links
públicos para se comunicarem com completa segurança.
A VPN utiliza os conceitos de tunelamento e criptografia para realizar tal
interligação de redes.
O tunelamento consiste em se inserir um datagrama completo na parte de
dados de outro datagrama. Se o interno for criptografado, todos os seus dados,
inclusive endereços de origem e destinos não poderão ser decodificados por
41
terceiros que não possuam as “chaves de criptografia” adequadas. A figura abaixo
descreve melhor esta situação.
Datagrama interno criptografado com cabeçalho
Cabeçalho do datagrama IP
Área de dados do datagrama externo
Figura 7.3.7.1 – Encapsulamento de um datagrama IP criptografado em outro datagrama IP para
comunicação VPN
Desta maneira, se é possível encaminhar pacotes entre redes privadas
utilizando o canal público. Mesmo assim, ainda encontramos problemas quando os
hosts da rede interna necessitam acessar também a rede pública, pois normalmente
as corporações não possuem um IP válido para cada host de sua rede local.
Para solucionar tal problema, foi criada a tecnologia de NAT, ou tradução de
endereços.
7.3.8. Network Address Translation (NAT)
Essa tecnologia visa permitir que endereços não válidos possam se
comunicar com endereços públicos sem gerar conflitos de endereços repetidos.
O NAT pode atuar de duas maneira: um-para-um e um-para-muitos
No modo um-para-um, apenas um endereço interno pode se comunicar com
outro público, ou seja, se possuíssemos apenas um endereço válido, apenas uma
estação por vez poderia se comunicar com o mundo externo.
Já na configuração um-para-muitos, um único endereço válido permite que
vários endereços internos se comuniquem com vários sites externos utilizando um
mesmo endereço de saída.
42
O NAT é um serviço do nível de transporte baseado em TCP. Ele, associado
aos protocolos de roteamento, permite as ações descritas acima. Quando o
datagrama é roteado de uma rede privada para uma rede pública, o nível de
transporte cria uma tabela de-para a fim de organizar as associações entre os
endereços públicos e privados.
7.3.9. Dynamic Host Configuration Protocol (DHCP)
Trata-se de um protocolo do tipo BOOTP que tem por objetivo proporcionar o
serviço de distribuição de endereços IP válidos para uma intranet. Este serviço pode
ser configurado de três maneiras diferentes:
- Configuração manual: O gerente de rede define que determinado MACADDRES irá possuir sempre o mesmo endereço.
- Configuração automática: O gerente de rede configura o servidor DHCP
para distribuir um endereço permanente para cada host da rede local
- Configuração Dinâmica: O serviço DHCP é configurado para “alocar”, por
um intervalo de tempo pré-determinado, um endereço para cada host. Quando este
tempo estiver vencendo, o host deverá renegociar a alocação deste endereço. Caso
o endereço não seja renegociado com o servidor, ele é liberado e será utilizado por
outro host.
Por se tratar de um protocolo do nível de transporte baseado em UDP, seu
pacote é encapsulado em um datagrama IP. Os servidores necessitam
desencapsular o pacote ao nível de transporte para realizar a identificação do
mesmo.
43
7.3.10. IP Security (IPsec)
Trata-se de um conjunto de protocolos criados pelo IETF a fim de garantir
comunicação de dados de forma segura pela internet utilizando-se de duas
facilidades básicas:
- Autenticação: onde as partes (hosts), ou apenas uma delas, realizam um
processo de autenticação para garantir que um host não será “clonado” por outro
mal intencionado.
- Criptografia: tem por objetivo criptografar o datagrama utilizando o mesmo
algoritmo em ambos os hosts que querem se comunicar.
Uma representação básica para o datagrama seria a seguinte:
Cabeçalho IPV4
Cabeçalho de
autenticação
Cabeçalho TCP
Tamanho do payload
Próximo cabeçalho
Índice de Parâmetros de Segurança
Número de seqüência
Dados de Autenticação (variável)
...
Dados TCP
reservado
Figura 7.3.10.1 – Detalhamento do cabeçalho do IPsec
Para este protocolo, existe um cabeçalho próprio que é inserido entre o
cabeçalho IP e a sua parte de dados e é identificado pelo roteador, analisando o
campo PROTOCOLO que deve estar preenchido com o valor 51.
- Próximo Cabeçalho – armazena o valor original do campo cabeçalho do
cabeçalho IP. Com isso, é possível a multi e demultiplexação do datagrama para se
tratar o conteúdo original.
44
- Tamanho do Payload – Especifica o tamanho do cabeçalho de
autenticação
- Índice de Parâmetros de Segurança – Especifica o esquema de
segurança utilizado
- Número de Seqüência – armazena o número de seqüência exclusivo para
cada datagrama
- Dados de Autenticação – contém os dados de segurança para o esquema
selecionado.
Para que o destinatário saiba que está recebendo uma seqüência de
datagramas
com
criptografia
Encap
Security
Payload
(ESP),
o
campo
PROTOCOLO do cabeçalho IP deve estar setado com o valor 50.
Como este campo não possui um tamanho fixo, o subcampo PRÓXIMO
CABEÇALHO marca que a informação não foi transmitida completamente no
datagrama corrente.
Cabeçalho
IPV4
Cabeçalho
ESP
Autenticado
Criptografado
Cabeçalho TCP
Dados
TCP
Término
ESP
Autenticação
ESP
Figura 7.3.6.5.2 – Detalhamento do cabeçalho do IPsec utilizando ESP
Como podemos observar, a inserção dos campos em vermelho delimitam a
área a ser criptografada e autenticada. Desta maneira, o cabeçalho de transporte
bem como os dados são codificados dificultando a visualização do seu conteúdo por
hosts não autorizados.
Vale atentar que o IPsec não analisa os campos mutáveis em seus cálculos
de integridade do datagrama (check sun). O TTL é utilizado pelos roteadores para a
45
checagem de erros. Isso é feito porque os campos “mutáveis” durante o percurso
entre uma origem e um destino podem afetar nos cálculos da criptografia.
46
7.4. Internet Protocol versão 6 (IPv6)
A versão 6 do protocolo IP, nada mais é do que uma melhoria da versão 4,
uma vez que esta última, conforme dito no item 7.2 é um projeto muito flexível e
estável.
O principal argumento então seria a re-estruturação do formato de
endereçamento de modo a atender a carência de alocações públicas. Tanto é
verdade que, como será observado neste trabalho, poucas diferenças de
funcionamento apareceram e a transparência de comunicação entre as versões foi
preservada.
As limitações estão mais presentes nos hardwares e firmwares que em
alguns casos, poderá haver a necessidade de substituição.
Esta parte do trabalho seguirá a mesma seqüência apresentada na versão 4
afim de facilitar a percepção das diferenças.
7.4.1. Cabeçalho do DATAGRAMA IPv6
VERSÃO
DO IP
(VERSION)
CLASSE DE TRÁFEGO
(CLASS)
RÓTULO DE FLUXO
(FLOW LABEL)
TAMANHO DO PAYLOAD
(PAYLOAD LABEL)
PRÓXIMO CABEÇALHO
(NEXT HEADER)
LIMITE DE SALTOS
(HOP LIMIT)
..........
ENDEREÇO DE ORIGEM
(SOURCE ADDRESS)
ENDEÇO DE DESTINO
(DESTINATION ADDRESS
Figura 7.4.1.1 - Modelo do datagrama IP versão 6
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Vejamos como ficou o novo cabeçalho com o IPv6:
47
Como podemos observar, o novo cabeçalho foi simplificado em relação à
versão 4 em termos de campos de controle, porém o seu tamanho passou de 20
bytes para 40 que é fixo para qualquer tipo e tamanho de datagrama. Isso se deve
principalmente devido ao novo tamanho do endereço que passou de 4 para 16
octetos como veremos no item 7.4.2.
Abaixo segue a função de cada campo:

VERS – É praticamente o único campo que não foi modificado, ou seja,
tem como função identificar a versão do cabeçalho do datagrama. No
caso da versão 6, ele vem setado como 0110.

Class – A classe de tráfego possui função semelhante ao campo Type of
Service (TOS), ou seja, definir a prioridade do datagrama em um
mecanismo de roteamento. Na versão 6, é possível ao roteador distinguir
tipos de tráfego como:
o
“Controlado
por
congestionamento”
(congetion-
controlled) - pacotes são retirados da rede quando o índice
de utilização do canal está muito alto. Possui 7 níveis de
prioridade e seleção do que será descartado, seguindo a
ordem da tabela 7.4.1.1, ou seja, datagramas de FTP
possuem prioridade sobre os datagramas de e-mail, login
remoto, sobre os de FTP e assim por diante.
o “Não controlado por congestionamento” (noncongestioncontrolled) – Os datagramas de prioridade inferior são
descartados para priorizar o tráfego de datagramas com
prioridades mais altas. São sete níveis (8 a 15) mas não
possuem atribuições especificadas. Esta classe de dados
48
normalmente é caracterizada por informações que exigem
transmissão em tempo real. Exemplos de serviços que
utilizam essa classe, seira a transmissão de áudio e vídeo
de alta definição.

Flow Label – Tem como função definir um controle de fluxo
relacionado com o tipo de aplicação. Cada host, ao estabelecer
uma comunicação com outro em uma rede distinta, informa um
valor neste campo. O roteador memoriza-o a fim de criar uma
espécie de reserva de banda para essa comunicação. Caso este
host deixe de usar esse “canal” o roteador libera essa reserva para
outras comunicações. Essa reserva dura aproximadamente seis
segundos após o encerramento do ultimo datagrama trafegado.
Isso acontece para evitar que um host tente utilizar o mesmo rótulo
para comunicações distintas pelo mesmo roteador. Uma vez
estipulado o rótulo de fluxo e respeitando o prazo de validade em
um roteador, o serviço de roteamento não irá mais verificar dados
do datagrama uma vez que no primeiro enviado, estas informações
já foram armazenadas pelo roteador. A associação entre a CLASE
DE TRÁFEGO, RÓTULO DE FLUXO e ENDEREÇO DE ORIGEM,
geram uma identificação única na comunicação de dados.

Tamanho do payload – Informa o tamanho do datagrama sem o
cabeçalho. Se este for maior que 64KB (jumbogramas), um outro
cabeçalho (cabeçalho de opção) entrará no datagrama informando
o tamanho real.
49

Next header – Apresenta qual o tipo de cabeçalho virá
imediatamente seguinte ao cabeçalho base (no IPv6 um datagrama
pode conter vários cabeçalhos anexados). Equivale, de certo
modo, ao campo PROTOCOLO do IPv4. Tanto que os protocolos
do nível superior ainda continuam valendo como pode ser visto na
tabela 7.4.1.2. Mas este campo vai além de informar apenas o
protocolo. O IPv6 permite a criação de cabeçalhos de extensão (ou
cabeçalhos concatenados)
para
definir qual o
serviço
do
datagrama.

Hop-Limit – É a duração do datagrama em uma rede definido em
“saltos” de um roteador para outro. Ele é equivalente ao campo
TTL do IPv4, com uma única diferença teórica. No TTL, a unidade
de medida é o segundo, mas já foi comprovado que os roteadores
atuais conseguem transmitir datagramas entre si, em intervalos de
tempo bem inferiores a 1s. Como em cada roteador é
decrementado um no valor deste campo, praticamente o tempo de
vida é contado em saltos que duram menos que 1s.

Source Address – Este campo de 128 bits, assim como no IPv4,
indica qual o endereço de origem do datagrama.

Destination Address – Informa o endereço de destino da
informação.
50
Tabela 7.4.1.1 – Tabela de classes de datagramas para tráfego controlado por congestionamento
Valor de
prioridade
0
1
2
3
4
5
6
7
Especificação da prioridade
Prioridade não especificada
Tráfego em background
Transferências não continuadas (ex. e-mail)
Reservado para definições futuras
Transferências continuadas de grandes volumes (ex. FTP)
Reservado para definições futuras
Tráfego interativo (ex. logins remotos)
Controle de tráfego (ex.: protocolos de roteamento e gerencia
de redes)
Fonte: THOMAS(1996 p.98)
Tabela 7.4.1.2 – Tabela de protocolos válida para o campo NEXT HEADER
Código do
protocolo
0
1
2
3
4
5
6
8
17
41
43
44
50
51
58
59
60
Descrição
Reservado
ICMP
IGMP
GGP
IP (encapsulamento IP)
Stream
TCP
EGP
UDP
IPv6
Roteamento
Fragmentação
ESP
AH
ICMPv6
Sem próximo cabeçalho
Opções de destinação
Fonte:MURHAMMER, Martin W. et all(2000 p.49),MILLER(1997, p.40)
51
7.4.1.1.
Cabeçalhos Concatenados IPv6
Essa é uma das grandes inovações da versão 6 do IP que na versão 4, era
utilizado apenas na criptografia ESP. Isso permite uma maior flexibilidade do
datagrama que irá agilizar na comunicação dos dados entre os roteadores. Observe
a figura 7.4.1.1.1:
Version
Class
Version
Class
Flow label
Payload lengh
Version
Class
Flow label
Payload lengh
Version
Class
Flow label
Payload lengh
Version
Class
Flow label
Payload lengh
Flow label
Payload
lengh
Next
header
Hop limit
Source address
Destination
address
Next reader
TCP
header
Next reader
Routing
header
Next
reader
Fragment
header
Next
header
Hop limit
Source address
Destination
address
Hop limit
Source address
Destination
address
Hop limit
Source
address
Destination
address
Source
address
Destination
address
Data
Data
TCP
header
Routing
header
Next header
TCP header
Fragment
header
Next header
Routing
header
Hop limit
Data
TCP
header
Routing
header
Next header
TCP header
Data
TCP
header
Data
Figura 7.4.1.1.1 – Conceito de cabeçalhos concatenados
Fonte: Mark (1997,p.41 e 45)
Como podemos ver, os cabeçalhos de extensão e serviços são anexados
entre os dados e o endereço de destino. Todos eles possuem um campo PROXIMO
CABEÇALHO de 8 bits como o apresentado no cabeçalho principal. Porém a
quantidade de cabeçalhos que podem ser anexados é limitada e segue uma ordem
numérica (apesar do destino não checar tal ordem, ela facilita nas atividades de
roteamento) conforme apresentado na tabela 7.4.1.2.
52
Os cabeçalhos de extensão também possuem campos próprios referentes
aos serviços a eles atribuídos. Na próxima figura temos uma visão mais detalhada
VERSION=6
CLASS=6
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
de um datagrama com alguns cabeçalhos de extensão.
FLOW LABEL=80
PAYLOAD LENGTH=64Bytes
NEXT HEADER=0
HOP LIMIT=255
..........
ENDEREÇO DE ORIGEM
(SOURCE ADDRESS)
ENDEREÇO DE DESTINO
(DESTINATION ADDRESS
NEXT HEADER=43
HEADER LENGTH
Hop by Hop options
NEXT HEADER=44
HEADER LENGTH
Routing Options
NEXT HEADER=51
HEADER LENGTH
Fragment Identification
NEXT HEADER=6
HEADER LENGTH
Authentication Data
TCP header and Data
Figura 7.4.1.1.2 – Composição de um datagrama IPv6 com os cabeçalhos de extensão
Fonte: STEPHEN(1996, p.108), TCP/IP Tutorial e Técnico(2000, p. 352) e MARK(1997, p.45)
Observe que cada campo PROXIMO CABEÇALHO aponta para o campo de
informações do cabeçalho seguinte. Cada cabeçalho também possui um tamanho
próprio dependendo do seu tipo e seu valor sempre será múltiplo de 8. Na
seqüência do trabalho, veremos melhor alguns cabeçalhos.
53
7.4.2. Cabeçalho Hop by Hop options (salto a salto)
Este cabeçalho tem por objetivo informar aos “nós” por onde ele passa,
incluindo o próprio destinatário, sobre o tamanho do datagrama (se for do tipo
JUMBO), características de criação do pacote e ações do roteador conforme sua
interpretação do datagrama. Sua opção de extensão é variável no formato Type-
HEADER LENGTH
NEXT HEADER
TYPE
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Length-Value (TLV) conforme podemos ver no esquema abaixo:
LENGTH
VALUE (de tamanho variável)
Figura 7.4.2.1 – Composição do cabeçalho hop-by-hop
Fonte: MARK(1997, p.46)
XX
Y
7
6
5
4
3
2
1
TYPE – Possui tamanho de 8 bits e segue a representação abaixo:
0

ZZZZZ
Figura 7.4.2.2 – Formato do campo TYPE
Fonte: TCP/IP Tutorial e Técnico (2000,p 353)
o XX – Informa como um nó que não reconhece o tipo do
datagrama deve processá-lo. Veja a tabela abaixo
Tabela 7.4.2.1 – Valores de tipo de tratamento de datagramas pelos nós da rede
Fonte: MARK(1997, p.48) e TCP/IP Tutorial e Técnico (2000,p. 353)
Valor
Descrição
00
Pula a opção e continua processando o cabeçalho
01
Descarta o pacote
Descarta o pacote e envia uma mensagem ICMP ao remetente de que o pacote não foi
10
reconhecido
Descarta o pacote e envia uma mensagem ICMP ao remetente (se o endereço de
11
destino não for um multicasting) de que o pacote não foi reconhecido
54
o Y – Informa se o valor do campo VALUE pode ser modificado
ao passar pelos nós da rede. Se 0, não pode haver
modificação. Se 1 pode haver modificação
o ZZZZZ – Informa quantos bytes de preenchimentos serão
utilizados para manter o campo VALUE com tamanho múltiplo
de 8. Isso acontece pois os “limites naturais de palavras” nos
processadores modernos são de 16 ou 64 bits. Quando este
campo está setado para 0, indica que usaremos PAD1, ou seja,
apenas um byte será preenchido. Qualquer outro valor entre 1 e
194 informa a quantidade de bytes de preenchimento foram
utilizados. O valor 194 informa que o datagrama é do tipo
JUMBO.

LENGTH – Apresenta o tamanho do campo VALUE em bytes

VALUE – Depende do tipo do cabeçalho.
7.4.3. Cabeçalho Destination options
Igualmente ao cabeçalho hop by hop, este cabeçalho tem por objetivo
informar sobre o tamanho do datagrama (se for do tipo JUMBO), características de
criação do pacote e ações do roteador conforme sua interpretação. A única
diferença é que as informações aqui contidas são de interesse único do destinatário.
Tanto que a maioria das literaturas trata os dois cabeçalhos em um único item.
Este cabeçalho é opcional e mais utilizado por sistemas de criptografia na
comunicação.
55
7.4.4. Cabeçalho Routing
O cabeçalho de roteamento tem como objetivo permitir que o host de origem
possa definir o caminho pelo qual o datagrama deve passar. Isso é possível uma
vez que a origem deve conhecer todos os MTUs pelos quais seu pacote deverá
passar afim de retirar dos roteadores a tarefa de fragmentação.
Uma vez conhecendo os MTUs, as informações de largura de banda e
confiabilidade também podem ser recebidas. Com isso o host pode mandar pacotes
que necessitem de mais segurança por um caminho específico e os demais por
NEXT HEADER
HEADER LENGTH
ROUTING TYPE
RESERVED
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
rotas livres. Vejamos abaixo o diagrama do cabeçalho de roteamento.
SEGMENTS LEFT
STRICT/LOOSE BIT MAP
ADDRESS (1)
ADDRESS (2)
..................
ADDRESS (N)
Figura 7.4.4.1 – Formato do cabeçalho de roteamento
Fonte: MARK(1997, p.50)

ROUTING TYPE – Define o tipo de roteamento para o datagrama.
Atualmente apenas o valor 0 pode ser atribuído. Este valor permite um
roteamento de origem Fixo/Livre (STRICT/LOOSE).

SEGMENTS LEFT – indica quantos nós faltam para que o datagrama
atinja seu destino. Ele é decrementado toda vez que o datagrama
passa por um nó apontado no campo DESTINATION ADDRESS do
cabeçalho básico.

RESERVED – Inicializado como 0 na transmissão e ignorado na
recepção.
56

STRICT/LOOSE BIT MAP(S/L) – Atualmente existem dois valores
básicos para este campo.
o 1 (strict) – A origem especifica qual será o caminho pelo qual o
roteador deverá passar.
o 0 (loose) – Indica que o datagrama pode ser conduzido
conforme orientação dos próprios roteadores durante o
percurso entre uma origem e um destino, ou seja, não há regras
que definam o percurso.

ADDRESS 1 a N – Caso o campo STRICT/LOOSE BIT MAP esteja
setado para 1, estes campos irão determinar os endereços pelos quais
o datagrama deverá “viajar”.
Como já foi dito, os campos de endereços representam o “mapa de viagem”
do datagrama. À medida que em que o pacote percorre a rede, o campo SEGMENT
LEFT vai sendo decrementado e o campo DESTINATION HOST do cabeçalho
básico vai recebendo o próximo endereço da lista. Veja a ilustração 7.4.4.2 que
representa bem essa rotina.
Observe que os campos de endereços vão sendo trocados à medida em que
o datagrama passa por um nó de roteamento. Cada endereço usado é transferido
para o topo da lista.
57
Ver=6
Class=4
Payload Length=64
Next Header=43
Next Header=X
Reserved=0
Flow Label=80
Next Header=0 Hop Limit=255
Ver=6
Class=4
Payload Length=64
Flow Label=80
Next Header=0 Hop Limit=252
Source Addres=Work1
Source Addres=Work1
Destination=RouterA
Destination=Work2
Type=1
Header Length
Length=8
Value=X
Header Length=96 Routing Type=0 Segment Left=3
Strict/Loose bit map=1
Address=RouterB
Address=RouterC
Adress=Work2
Next Header=43
Next Header=X
Reserved=0
Type=1
Header Length
Length=8
Value=X
Header Length=96 Routing Type=0 Segment Left=0
Strict/Loose bit map=1
Address=RouterA
Address=RouterB
Adress=RouterC
Datagrama
Work1
Datagrama
Work 2
Router B
Datagrama
Datagrama
Router A
Ver=6
Class=4
Payload Length=64
Next Header=43
Next Header=X
Reserved=0
Flow Label=80
Next Header=0 Hop Limit=254
Router C
Ver=6
Class=4
Payload Length=64
Flow Label=80
Next Header=0 Hop Limit=253
Source Addres=Work1
Source Addres=Work1
Destination=RouterB
Destination=RouterC
Type=1
Header Length
Length=8
Value=X
Header Length=96 Routing Type=0 Segment Left=2
Strict/Loose bit map=1
Address=RouterA
Address=RouterC
Adress=Work2
Next Header=43
Next Header=X
Reserved=0
Type=1
Header Length
Length=8
Value=X
Header Length=96 Routing Type=0 Segment Left=1
Strict/Loose bit map=1
Address=RouterA
Address=RouterB
Adress=Work2
Figura 7.4.4.2 – Mecanismo de funcionamento do cabeçalho de roteamento com S/L=1
7.4.5. Cabeçalho Fragment
Como já mencionado na introdução do item 7.4.4, a origem deve conhecer
qual o menor MTU do caminho pelo qual o seu datagrama deve passar. Uma vez de
posse dessa informação, a origem deverá particionar (se necessário) seu pacote em
fragmentos que atendam a esse valor de transmissão. O cabeçalho de
fragmentação tem esse propósito.
58
NEXT HEADER
RESERVED
FRAGMENT OFFSET
RESERVED
RES
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Esse cabeçalho possui o valor 44 e segue o seguinte formato:
M
STRICT/LOOSE BIT MAP
ADDRESS (1)
Figura 7.4.5.1 – Formato do cabeçalho de fragmento
Fonte: MARK(1997, p.54)

NEXT HEADER – Indica o endereço do próximo cabeçalho de
extensão.

RESERVED – Ainda sem aplicação prática, é inicializado com 0 na
origem e ignorado no destino.

FRAGMENT OFFSET – Assim como no IPv4, este campo de 13 bits
indica a posição, em unidades de 8 bytes, relativa ao inicio dos dados
do fragmento.

RES - Ainda sem aplicação prática, é inicializado com 0 na origem e
ignorado no destino.

M – Este campo indica se o datagrama é o último fragmento de uma
seqüência. Se setado em 1, ainda há fragmento. Se 0, não há mais
fragmentos.

IDENTIFICATION – Assim como no IPv4, este campo oferece uma
identificação única ao fragmento, porém seu tamanho é duas vezes
maior.
Um datagrama de fragmentação deve ser montado em duas partes: A parte
não fragmentável que consiste do cabeçalho básico, com o endereço de destino
conforme indicado no item 7.4.4 (cabeçalho routing), seguido dos cabeçalhos de
59
extensão hop-by-hop, destination e routing e a parte fragmentável, que contém os
fragmentos do pacote.
A parte não fragmentável acompanha cada datagrama contendo um
fragmento do pacote como mostra a figura 7.4.5.2.
A ilustração apresenta um pacote com 2902 Bytes e deve passar em um
enlace com MTU de 1500 Bytes, incluindo o cabeçalho básico e os cabeçalhos de
extensão.
Observe que os datagramas devem possuir tamanhos em múltiplos de 8
Bytes. Sendo assim, cada fragmento poderá possuir um tamanho máximo de 1496
bytes.
O campo FRAGMENT OFFSET indica onde começa o datagrama do
fragmento que no exemplo apresenta múltiplos de 187 (pois a unidade de medida
do OFFSET é palavra de 8 bytes. Logo, 187*8=1496 bytes).
Outra observação importante é o tamanho do payload. Como já mencionado
anteriormente, seu valor apresenta o tamanho do datagrama sem o cabeçalho
básico do IPv6 (40 bytes).
60
Ver=6
Class=4
Payload Length=1456
Flow Label=80
Next Header=0 Hop Limit=255
Source Addres=Work1
Datagrama
1
1496 bytes
Destination=RouterA
Next Header=43
Next Header=44
Reserved=0
Next Header=6
Type=1
Header Length
Length=8
Value=X
Header Length=96 Routing Type=0 Segment Left=3
Strict/Loose bit map=1
Address=RouterB
Address=RouterC
Adress=Work2
M=1
Reserved=0
Fragment Offset=0
Identification=0x12345678
Payload Data (1420 bytes)
Ver=6
Class=4
Payload Length=64
Flow Label=80
Next Header=0 Hop Limit=255
Ver=6
Class=4
Payload Length=1456
Source Addres=Work1
Flow Label=80
Next Header=0 Hop Limit=255
Source Addres=Work1
Destination=RouterA
Next Header=43
Next Header=X
Reserved=0
Type=1
Header Length
Length=8
Value=X
Header Length=96 Routing Type=0 Segment Left=3
Strict/Loose bit map=1
Address=RouterB
Address=RouterC
Adress=Work2
Destination=RouterA
Datagrama
2
1496 bytes
Next Header=43
Next Header=44
Reserved=0
Next Header=6
Payload Data (2902 bytes)
Type=1
Header Length
Length=8
Value=X
Header Length=96 Routing Type=0 Segment Left=3
Strict/Loose bit map=1
Address=RouterB
Address=RouterC
Adress=Work2
M=1
Reserved=0
Fragment Offset=187
Identification=0x12345678
Payload Data (1420 bytes)
Ver=6
Class=4
Payload Length=138
Preparação para
encaminhamento
do pacote em um
MTU de 1500 bytes
Flow Label=80
Next Header=0 Hop Limit=255
Source Addres=Work1
Destination=RouterA
Datagrama
3
178 bytes
Next Header=43
Next Header=44
Reserved=0
Next Header=6
Type=1
Header Length
Length=8
Value=X
Header Length=96 Routing Type=0 Segment Left=3
Strict/Loose bit map=1
Address=RouterB
Address=RouterC
Adress=Work2
M=0
Reserved=0
Fragment Offset=374
Identification=0x12345678
Payload Data (62 bytes)
Figura 7.4.5.2 – Processo de fragmentação de um datagrama
Fonte:STEPHEN(1996, p.118)
61
Para se calcular o tamanho máximo dos datagramas de fragmentação em
relação ao menor MTU pelo qual esses irão passar, usa-se a seguinte equação:
MTU (bytes)
 (int)  8  datagrama(bytes)
8
Ex.:
1500
 187  8  1496bytes
8
Sabendo-se o tamanho dos cabeçalhos básico e de extensão em bytes,
podemos calcular também, quanto de dados irá em cada datagrama utilizando a
seguinte fórmula:
datagrama(bytes)-Cab.basico(bytes)-cab.ext.1(bytes)-cab.ext.N(bytes)=payload(bytes)
Ex.: 1496-40(cab.basico)-8(cab.hop-by-hop)-20(cab.routing)-8(cab.fragment)=1420bytes
Já o cálculo do OFFSET é dado pela seguinte fórmula:
datagrama(bytes)
 OFFSET
8
Ex.:
1496
 187
8
Em cada fragmento, o campo OFFSET receberá múltiplos do valor calculado.
62
7.4.6. Cabeçalho Authentication
Este é o cabeçalho de extensão responsável pelo provimento de integridade
e autenticação dos datagramas. Seu código de acionamento é o 51.
Um datagrama contendo um cabeçalho Authentication Header (AH) não pode
ser fragmentado pela origem. Caso os equipamentos roteadores detectem
comportamento de fragmentação em datagramas com AH, estes serão descartados.
Isso evita tentativas de ataque por “sobreposição de fragmentos”. Neste caso, os
pacotes são descartados em nível de IP, o que garante uma considerável redução
em “ataques de negação”.
NEXT HEADER
PAYLOAD LENGHT
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Vejamos o diagrama do cabeçalho de autenticação:
RESERVED
SECURITY PARAMETERS INDEX (SPI)
SEQUENCE NUMBER
AUTHENTICATION DATA (tamanho variável)
Figura 7.4.6.1 – Formato do cabeçalho de autenticação
Fonte: MARK(1997, p.57)

PAYLOAD LENGHT – Este campo apresenta o tamanho do
cabeçalho em palavras de 32 bits – 2, ou seja, é o tamanho total do
cabeçalho menos os campos NEXT HEADER, PAYLOAD LENGHT,
RESERVED e SIP. Seu tamanho mínimo é 1 indicando que apenas o
campo SEQUENCE NUMBER será preenchido.

RESERVED – Este campo de 16 bits é destinado para uso futuro. Ele
é inicializado com zero mas está incluído no calculo dos dados de
autenticação, porém é desprezado pelo destinatário.

SECURITY PARAMETERS INDEX – Este campo, associado com o
ENDEREÇO DE DESTINO, definem uma relação que garante
63
segurança à comunicação e identifica diferentes Security Associations
(SAs) para um mesmo destino. Os valores vão de 0 a 255. O 0 é
utilizado para implementação local e os demais valores são
reservados
pela
Internet
Assigned
Numbers
Authority
(IANA)
atualmente chamada de Internte Corporation forAssigned Names and
Numbers (ICANN), que é a entidade responsável pelo controle de
endereços IP oficiais da internet.
Se for utilizado o algoritmo padrão( que atualmente é o Message
Digest 5 (MD5), a autenticação dos dados consiste de 16 bytes. Uma
chave de autenticação deve ser utilizada pelo computador que inicia a
comunicação. Ela deve possuir um tamanho de 128 bits, caso isso
não ocorra, vários zeros são incluídos até que a chave atinja o
tamanho mínimo requerido. Como alguns campos do datagrama,
como o hop limit, são variáveis, esses 128 bits transportam a
autenticação dentro do datagrama baseada em cálculos que
desprezam esses campos. No destino, o mesmo processo é utilizado.
Se os dados enviados e o cálculo realizado forem diferentes, indica
que o datagrama não é autentico.

SEQUENCE NUMBER – Trata-se de uma seqüência de crescimento
monotônico utilizada para proteger a resposta do destinatário. Este
não tem obrigação de interpretar este campo. Quando uma SA é
estabelecida, esse campo é preenchido com 1 no primeiro datagrama
enviado e o seu valor máximo é de 232  1 . Quando a seqüência atinge
seu limite, uma nova SA deve ser iniciada e consequentemente uma
nova seqüência no campo.
64

AUTHENTICATION DATA – Este campo de tamanho variável e
múltiplo de 32 também é conhecido por ICV (Integrity Check Value).
Este valor de integridade é calculado na inicialização da SA e
despreza os campos mutáveis durante a navegação na rede
considerando seus valores sempre como zeros.
Vários algoritmos MAC podem ser utilizados para realização destes
cálculos. A RFC 1826 recomenda a utilização do MD5, mas o HMACMD5-96 e o HMAC-SHA-1-96 também se aplicam.
O cabeçalho de autenticação (AH) pode ser utilizado de duas maneiras:
Modo Transporte – modo utilizado apenas pelos hosts e não tratado pelos
roteadores, apesar de exigir menos processamento por parte destes, não autentica
os campos mutáveis.
Modo Túnel – utilizado sempre que se quer utilizar “tunelamento”. Esse
conceito se aplica quando um datagrama IP transporta outro como sendo seu
conteúdo. Neste caso o AH é calculado depois do “encapsulamento” de um
datagrama em outro.
Cabeçalho IPv6
Dados
Datagrama IP original
Novo Cabeçalho
IPv6
Cabeçalho IPv6
Dados
Datagrama “tunelado”
Novo Cabeçalho
IPv6
Cabeçalhos Cabeçalho
de extensão
AH
Cabeçalho
IPv6
Datagrama com cabeçalho AH em modo túnel
Figura 7.4.6.2 – Encapsulamento IP sobre IP
Fonte: (TCP/IP Tutorial e Técnico,p.293)
Dados
65
Vale observar que no novo cabeçalho IPv6 da figura, os campos mutáveis
não entram nos cálculos do AH conforme já mencionado.
A RFC 1825 que trata sobre o serviço de “tunelamento”, não obriga a sua
utilização, sendo este um dos motivos pelo qual algumas implementações IPSec
baseadas nesta requisição, não suportam o AH em modo túnel.
7.4.7. Cabeçalho Encapsulating Security Payload (ESP)
Responsável pelos processos de criptografia, sempre deve ser configurado
junto com os serviços de checagem de integridade e autenticação (AH) a fim de se
evitar ataques do tipo “criptoanalítico”.
Esse cabeçalho também se aplica a datagramas encaminhados por
gateways. Isso quer dizer que o roteador de borda irá receber o datagrama e aplicar
ESP antes de enviá-lo ao próximo nó remoto. Caso este datagrama seja um
fragmento, o roteador irá juntar todos os datagramas do pacote, remontá-lo e aplicar
o ESP. No caso do roteador receber um datagrama com ESP implementado, este
irá avaliar os campos que indicam fragmentação FRAGMENT OFFSET e M do
cabeçalho de fragmentação. Caso eles apresentem valores indicativos de fragmento
(OFFSET diferente de 0 e/ou M igual a 1), o datagrama é descartado afim de se
evitar o “ataque de duplicação de pacotes”.
A “descriptografia” do pacote é realizada pelo último gateway antes do
destinatário. Quando o “nó de borda” recebe este datagrama autentica-o e verifica
sua integridade. Se estas informações forem pertinentes, então a “descodificação”
dos dados é realizada e o datagrama segue para o seu destino. Isso diminui o
processamento de dados não válidos e evita o “ataque de negação”.
66
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Cabeçalho
ESP
0
Vejamos o cabeçalho ESP:
SECURITY PARAMETERS INDEX (SPI)
SEQUENCE NUMBER
Dados de
Trailer
autenticação ESP ESP
PAYLOAD DATA (tamanho variável)
PADDING (0-255 octetos)
PAD LENGTH
NEXT HEADER
AUTHENTICATION DATA (tamanho variável)
Figura 7.4.7.1 – Formato do cabeçalho criptografia
Fonte: MARK(1997, p.59)

SPI – Segue a mesma definição do campo SPI do cabeçalho de
autenticação (item 7.4.6)

SEQUENCE NUMBER – Segue a mesma definição do item 7.4.6, mas
uma observação deve ser acrescentada: Como nas especificações
originais do ESP, o conceito de número seqüencial não é tratado, as
impelementações IPSec mais antigas podem não garantir proteção de
resposta do destinatário.

PAYLOAD DATA – Este campo de tamanho variável é obrigatório e
seu conteúdo consiste em dados provenientes do cabeçalho seguinte
chamado pelo campo NEXT HEADER. Os algoritmos DES-DBC,
Triplo-DES e o CDMF da IBM são suportados para criptografia.

PADDING – Devido à maioria dos algoritmos de cripotografia terem
como requisito um número inteiro como valor do bloco, este campo irá
67
fornecer bits adicionais para a preenchimento. Este campo é opcional
uma vez que somente será utilizado caso haja a necessidade de sua
finalidade.
Vale lembrar que a criptografia abrange os campos PAYLOAD DATA,
PADDING, PAD LENGTH e NEXT HEADER.

PAD LENGTH – Este campo possui oito bits de tamanho e indica
quantos bytes foram utilizados para preenchimento. Caso não se
tenha utilizado o campo PADDIN, seu valor será 0.

NEXT HEADER – Como o cabeçalho de cripotografia é o último antes
do protocolo de alto nível (TCP ou UDP por exemplo), este campo irá
fornecer um valor que não será de cabeçalho de serviço e sim um dos
protocolos IP definidos pelo IANA. (ver tabela 7.4.1.2).

AUTHENTICATION DATA – Este campo contém o Valor de
Verificação de Integridade (ICV) calculado para o pacote ESP
utilizando os campos SPI, SEQUENCE NUMBER, PAYLOAD DATA,
PADDING, PAD LENGTH e NEXT HEADER. Este campo somente
será utilizado quando a checagem de integridade for solicitada ou
quando uma AS for inicializada.
Assim como o AH, o ESP pode ser utilizado em Modo Transporte e Modo
Túnel:

Modo Transporte – O cabeçalho ESP é inserido logo após o
cabeçalho IP original. Se o datagrama possuir cabeçalho IPSec, o
ESP é inserido antes. O trailer e a Autenticação ESP são inseridos ao
final do conteúdo conforme pode ser observado no esquema seguinte.
68
Cabeçalho
IPv6
Conteúdo
Datagrama IP original
Cabeçalho
IPv6
Datagrama autenticado
Datagrama criptografado
Cabeçalho
Trailer
Conteúdo
ESP
ESP
Autenticação
ESP
Datagrama com ESP em modo transporte
Figura 7.4.7.2 – ESP em modo TRANSPORTE
Fonte: TCP/IP Tutorial e Técnico,(2000, p.296)
O modo Transporte não prevê encriptação para o cabeçalho IP
original, o que torna possível a entrega de pacotes falsos, no entanto,
reduz a necessidade de processamento. Sua implementação é feita
pelos hosts e não pelos gateways, ou seja, não é requisito que as
interconexões suportem tal modo.

Modo Túnel – Neste modo, assim como na autenticação, a intenção é
encapsular um datagrama IP dentro de outro, só que desta vez,
utilizando um processo de criptografia para o datagrama encapsulado,
pois
o
cabeçalho
IP
do
datagrama
“encapsulador”
continua
desprotegido.
Sempre que uma associação de segurança for requerida entre dois
gateways, este modo será ativado (ao contrário do modo transporte,
essa implementação se dá apenas em roteadores de fronteira).
Vejamos um esquema de ESP em modo túnel:
69
Cabeçalho IPv6
Conteúdo
Datagrama IP original
Novo Cabeçalho
IPv6
Cabeçalho IPv6
Conteúdo
Datagrama “tunelado”
Datagrama autenticado
Datagrama criptografado
Novo
Cabeçalho
IPv6
Cabeçalho
ESP
Cabeçalho
IPv6
Conteúdo
Trailer
ESP
Autenticação
ESP
Datagrama com ESP em modo túnel.
Figura 7.4.7.3 – ESP em modo TÚNEL
Fonte: TCP/IP Tutorial e Técnico (2000, p.297)
Na figura seguinte, podemos verificar uma ilustração de onde o cabeçalho de
criptografia atua em modo túnel:
Datagrama
encapsulado
Datagrama
não
encapsulado
Internet
Datagrama
desencapsulado
Gatway de
segurança
Figura 7.4.7.4 – Funcionamento do ESP em modo TÚNEL
Fonte: STEPHEN (1996, p.124)
Observe que o gateway de segurança cria um novo datagrama e coloca o
original em seu campo de dados de modo que este último não pode ser vizualizado.
Ao chegar no gateway de destino, ele desempacota o datagrama original e o lança
ao seu destino.
70
7.4.8. Endereçamento IPv6
Como dito no início deste trabalho, “o IPv6 eleva substancialmente a
quantidade de endereços válidos para a Internet, bem como procura reduzir a
utilização de banda de rede com redução de informações no cabeçalho de dados”
como vimos itens 7.4.1 a 7.4.7.
Endereçamento IPv6, assim como no IPv4, identifica os nós de uma rede. A
grande diferença do novo sistema é que passamos a usar 128bits com notação
Hexadecimal, agrupada em oito grupos de quatro e separados por dois pontos (:)
como mostra a representação abaixo.
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
FEDC:0000:0000:0000:0008:0800:200C:417A
1
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
0
Figura 7.4.8.1 – Endereço IPv6 representado em bits
A fim de melhorar a escrita, onde houver grupos de zeros, apenas um zero é
necessário ser escrito e, os zeros à esquerda de grupos com outros valores, não
necessitam ser escritos. Veja a representação do endereço acima de forma mais
curta:
FEDC:0:0:0:8:800:200C:417A
71
Uma forma mais simplificada de se escrever uma notação de endereço IPv6,
é a utilização de um par de : para representar grupos de zeros consecutivos, como
mostrado abaixo:
FEDC::8:800:200C:417A
Cabe ressaltar que somente é permitido uma supressão de zeros por ::. Caso
apareçam duas seqüências de zeros, apenas uma deverá receber esta
representação. A outra, será representada por um 0 normalmente.
FEDC:0000:0000:0008:0000:0000:200C:417ª
FEDC::8:0:0:200C:417A
A rede baseada em IPv6 também pode ser subdividida em subredes
utilizando notação de / como no IPv4. Alguns prefixos de endereçamento já foram
estabelecidos e não devem ser utilizados para endereçamentos comuns. Veja a
tabela seguinte:
72
Tabela 7.4.8.1 – Alocação de prefixos
Alocação
Prefixos
binários
Inicio da faixa de
endereçamentos
em Hexadecimal
Extensão da
Máscara em bits
Reservado
0000 0000
0:: /8
8
Reservado para
NSAP
0000 001
200:: /7
7
Reservado para
IPX
0000 010
400:: /7
7
Endereços
Unicast Globais
Agregados
001
2000:: /3
3
Unicast local ao
enlace
1111 1110 10
FE80:: /10
10
Unicast local à
instalação
1111 1110 11
FEC0:: /10
10
Multicast
1111 1111
FF00:: /8
8
Fração do
espaço de
endereços geral
1
256
1
128
1
128
1
8
1
1024
1
1024
1
256
Fonte: TCP/IP Tutorial e Técnico (2000, p. 357) e MARK(1997, p.86)
A notação de endereçamento do IPv6 permitiu aos órgãos de controle
designar um prefixo para cada país que por sua vez poderá criar subprefixos para
cara região ou estado.
Vejamos então alguns endereços de uso fixo:

Endereço Unicast – Designado para ser entregue a uma única
interface. Existem alguns endereços unicast para propósitos especiais
como segue:
o Loopback – Representado pela notação ::1, segue as mesmas
regras do IPv4 (127.0.0.1), ou seja, é um endereço virtual que
funciona apenas para o próprio host.
o Não especificado – Representado por ::, é utilizado para
autoconfiguração do host (DHCP por exemplo).
73
o Compatibilidade com IPv4 – Escrito em notação hexadecimal,
separa os octetos do IPv4 em valores hexa como por exemplo:
o endereço 10.70.4.10 seria representado por ::0A46:040A. Isso
quer dizer que foram utilizados os 32 bits do IPv4 originais e
acrescentado 96 zeros à esqueda do endereço.
Isto é utilizado quando se necessita encaminhar um datagrama
de uma rede IPv6 para outra utilizando tunelamento em redes
IPv4.
o IPv4 mapeado – Utilizado para comunicações entre hosts que
utilizam versões diferentes do IP. Se um equipamento com
endereçamento
IPv6
qualquer
necessitasse
estabelecer
conexão com outro IPv4 cujo endereço fosse 10.70.4.10, a
notação do endereço de destino ficaria ::FFFF:0A46:040A. Só
que para a comunicação funcionar, seria necessário um
gateway para tradução dos cabeçalhos.
o Local ao enlace – São endereços para uso em redes que não
se conectam a nenhum outro tipo de rede. Destinado a locais
isolados e desprovido de qualquer serviço de roteamento. Seu
prefixo é FE80:: e terminam com o endereço da interface
contendo 64 bits.
74
o Local à instalação – Assim como no IPv4, alguns endereços
são restrito às corporações, como os 192, 10, 168 e 176, e não
podem ser roteados para a internet. Eles possuem uma divisão
diferenciada conforme esquema a seguir:
FEC0::(subnet):(endereço da interface)
Onde a subnet possui 16 bits e o endereço da interface, 64 bits.
7.4.8.1.
Formato de Endereço Unicast Global
Este formato de endereço está relacionado com o modelo de internet de 3
níveis:

Topologia Pública – Provedores que oferecem serviços de transito
público compondo a internet.

Topologia de Instalação Local – Fechado às localidades de uma
corporação, mas não provê trânsito público.

Identificadores de Interfaces – Identificam de um modo geral, as
interfaces em conexões.
Os provedores de longa distância são responsáveis pelos grandes
backbones de interligação. Já os provedores de vários níveis, têm por objetivo
distribuir conexões para provedores finais e corporações. Os assinantes por sua
vez, são os usuários ou empresas que utilizam os serviços dos provedores.
75
Veja um esquema que representa a internet em 3 níveis
Provedores de
longa distancia
1
Provedores de
longa distancia
3
Provedores
de alocação
de troca de
endereços
1
Provedores de
longa distancia
2
Provedores
de alocação
de troca de
endereços
2
Para outros
Provedores de
alocação de troca de
endereços
Provedores de
longa distancia
4
Assinante
6
Provedor de
vários níveis
1
Assinante
1
Provedor de
vários níveis
3
Provedor de
vários níveis
2
Assinante
2
Assinante
3
Assinante
4
Assinante
5
Figura 7.4.8.1.1 – Hierarquia de 3 níveis da Internet
Fonte: TCP/IP Tutorial e Técnico (2000, p. 358) e MARK(1997, p.94)
A próxima ilustração apresenta o formado do endereço unicast global.
0 2
FP
3
15
TLA ID
16
23
24
RES
Topologia pública
47
NLA
ID
48
63
SLA
ID
Topologia
do site
Figura 7.4.8.1.2 – Formato do endereço Unicast
Fonte: TCP/IP Tutorial e Técnico(2000, p. 359) e MARK(1997, p.95)
64
127
Interface ID
Topologia de Interface
76

FP (Format Prefix) – Prefixo do Formato Unicast. Para este formato,
seu valor é sempre 001, conforme a tabela 7.4.8.1.

TLA ID (Top-Level Aggregation Identifier) – São os níveis superiores
na hierarquia de roteamentos, onde cada roteador necessitará de uma
entrada TLA ID na sua tabela de roteamento.

RES – Resevado para uso futuro.

NLA ID (Next Level Aggregation Identifier) – Utilizado para que as
organizações
possam
criar
uma
hierarquia
própria.
Essas
organizações não utilizam provedores e podem designar um TLA ID
próprio.

SLA ID (Site Level Aggregation Identifier) – Este campo permite a
criação de hierarquia local para a organização, podendo se definir até
65.535 subredes na corporação.

INTERFACE ID (Interface Identifier) – Identifica qual o tipo de interface
para o link de comunicação(Ethernet, Tolken Ring, etc).
7.4.8.2.
Formato de Endereço Anycast
Trata-se de um endereço preparado para comunicação com múltiplas
interfaces, normalmente em nós diferentes desde que estejam bem próximos. A
distancia pode ser definida pelo protocolo de roteamento.
A RFC 1884 define aplicações de uso para o endereço anycast no que se
refere a identificar grupos de roteadores que pertençam ao mesmo provedor de
serviço de internet, na mesma subrede e dentro do mesmo domínio de roteamento.
Endereços anyicast só podem ser designado por roteadores e não devem ser
utilizados como de origem de pacotes IPv6.
77
Este endereço se inicia com a parte referente à subrede de tamanho variável
(pois depende da máscara aplicada), e a parte referente a host preenchida com
zeros. A intenção é utilizá-lo para a comunicação de um nó com membros de
grupos de sub-redes remotas.
128 bits
Prefixo de Subrede
N
Figura 7.4.8.2.1 – Formato do endereço Anycast
Fonte: TCP/IP Tutorial e Técnico (2000, p. 359) e MARK (1997, p.95)
7.4.8.3.
00000000000000000000
128 – N
Formato de Endereço Multicast
Este endereço é designado para se identificar um conjunto de hosts onde os
pacotes enviados para este endereço serão recebidos por todos do grupo.
A próxima figura apresenta o formato do cabeçalho multicast:
0
7
8
11
12
15 16
FP
FLAG
ESCOP
GROUP ID
Figura 7.4.8.3.1 – Formato do endereço Multicast
Fonte:TCP/IP Tutorial e Técnico (2000, p. 359) e MARK (1997, p.95)
127

FP – O prefixo do formato para multicast é sempre 1111 1111.

FLAG – Pode apresentar dois valores:
o Se 0000, o endereço é designado permanentemente por uma
autoridade de numeração.
o Se 0001, o endereço pode ser estabelecido por aplicativos
conforme a necessidade e, ao término da utilização, o endereço
é liberado para ser reutilizado por outro sistema.
78

ESCOP – Composto de 4 bits, indica o escopo do multicast conforme
a tabela seguinte.
Tabela 7.4.8.3.1 – Valores possíveis para o campo ESCOP
Valor de escopo
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Descrição
Reservado
Restrito ao nó local
Restrito a nós no enlace local
Não utilizado
Não utilizado
Restrito ao site local
Não utilizado
Não utilizado
Restrito à organização
Não utilizado
Não utilizado
Não utilizado
Não utilizado
Não utilizado
Escopo Global
Reservado
Fonte: TCP/IP Tutorial e Técnico (2000, p. 360) e MARK (1997, p.102)

GROUP ID – Valor que identifica o grupo de multicat
Alguns endereços multicast já possuem uma função predefinida com
objetivos especiais conforme tabela 7.4.8.3.2:
79
Tabela 7.4.8.3.2 – Valores Multicast reservados
Endereços multicast
reservados e que não devem
ser utilizados
FF00:0:0:0:0:0:0:0
FF01:0:0:0:0:0:0:0
FF02:0:0:0:0:0:0:0
FF03:0:0:0:0:0:0:0
FF04:0:0:0:0:0:0:0
FF05:0:0:0:0:0:0:0
FF06:0:0:0:0:0:0:0
FF07:0:0:0:0:0:0:0
FF08:0:0:0:0:0:0:0
FF09:0:0:0:0:0:0:0
FF0A:0:0:0:0:0:0:0
FF0B:0:0:0:0:0:0:0
FF0C:0:0:0:0:0:0:0
FF0D:0:0:0:0:0:0:0
FF0E:0:0:0:0:0:0:0
FF0F:0:0:0:0:0:0:0
Fonte: MARK (1997, p.103)
Tabela 7.4.8.3.3 – Valores Multicast para todos os nós (escopos 1 e 2)
Endereços multicast All nodes
FF01:0:0:0:0:0:0:1
FF02:0:0:0:0:0:0:1
Descrição
Todas a interfaces locais ao nó
Todas a interfaces locais ao enlace
Fonte: MARK (1997, p.103)
Tabela 7.4.8.3.4 – Valores Multicast para todos os nós (escopos 1, 2 ou 5)
Endereços multicast All nodes
Descrição
FF01:0:0:0:0:0:0:2
Todos os roteadores locais ao nó
FF02:0:0:0:0:0:0:2
Todos os roteadores locais ao enlace
Todos os roteadores locais ao site
FF05:0:0:0:0:0:0:2
Fonte: MARK (1997, p.104)
Tabela 7.4.8.3.5 – Valores Multicast com outras funções
Endereços multicast
All nodes
FF02:0:0:0:0:0:0:B
FF02:0:0:0:0:0:1:2
FF05:0:0:0:0:0:1:3
Fonte: MARK (1997, p.103)
Descrição
Agentes móveis locais ao enlace
Todos os agentes DHCP locais ao enlace
Todos os servidores DHCP locais à instalação
80
7.4.9. IEEE EUI-64
O Institute of Eletrical and Eletronics Engineers (IEEE) está trabalhando no
sentido de ampliar o tamanho do endereço físico das interfaces de rede (endereços
MAC). Segundo Mark A. Miller, em seu livro “Implementing IPv6, Migrating to the
next generation internet protocols”, a proposta é ampliar o atual endereço MAC de
48 para 64 bits de tamanho inserindo 2 bytes entre o prefixo que representa a
identificação da companhia que fabrica o hardware e a extensão. Isso elevaria a
capacidade de endereçar hardwares de rede em aproximadamente um trilhão de
endereços. Uma das idéias seria utilizar este novo endereçamento incorporando-o
no campo INTERFACE ID do endereço IPv6 a fim de facilitar a implementação em
redes pequenas e isoladas.
7.4.10. Internet Control Message Protocol version 6 (ICMPv6)
O protocolo ICMP foi desenvolvido para transporte de diagnósticos sobre a
transação de datagramas pela rede. Ele é responsável pelas funções de relatar
erros de entrega de datagramas, atualizar tabelas de rotas entre outras.
Com a versão 6 do protocolo, as funções do IGMP (visto no item 7.3.6.1.1) e
do ARP (visto no item 7.3.3.2) foram incorporadas a este, o que o tornou muito mais
robusto.
O cabeçalho de extensão ICMPv6 é acionado pelo número 58 conforme
tabela 7.4.1.2. Seu formato se apresenta na próxima figura:
ICMP TYPE
ICMP CODE
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
81
CHECKSUN
BODY OF ICMP MESSAGE
Figura 7.4.10.1 – Formato do cabeçalho ICMPv6
Fonte: STEPHEN (1996, p.128)

ICMP TYPES – Este campo provê a parte mais pesada da
identificação. Ele é composto por quinze valores distintos que divide as
mensagens em duas classes bem definidas:
o A primeira classe com os 127 primeiros valores, apresentam as
mensagens de erro.
o Na segunda classe, estão presentes os valores a partir de 128.
Eles apresentam mensagens de informação.
A tabela 7.4.10.1 apresenta alguns valores de mensgens ICMP
Tabela 7.4.10.1 – Valores e mensagens ICMPv6
Valor
1
2
3
4
128
129
130
131
132
133
134
135
136
137
Mensagem
Destination Unreachable error message (destino não encontrado)
Packet Too Big error message (pacote muito grande para o canal)
Time Exceeded error message (tempo de resposta excedido)
Parameter Problem error message (problemas com os parâmetros)
Echo Request message (solicitação de resposta)
Echo Replay message (resposta à solicitação)
Group Membership query (associação de um membro a um grupo)
Group Membership report (informações sobre o membro de um grupo)
Group Membership termination (saída do membro do grupo)
Router Solicitation (solicitação de roteamento)
Router Advertisement (aviso de roteamento)
Neighbor Solicitation (busca de vizinhos)
Neighbor Advertisement (anuncio de vizinho)
Redirect message (aviso de redirecionamento)
Fonte: STEPHEN (1996, p.129)
82

CHECKSUN – Destinado a proteger as mensagens ICMP contra
corrupção. Para atender a esta demanda, é utilizado o TCP como nível
de transporte.
Antes de se enviar o datagrama, o checksun é calculado e inserido
neste campo. Se o valor resultante não for múltiplo de 8 bits, um byte
extra é inserido imaginariamente no cálculo do checksun porém não é
enviado com o pacote.

BODY OF ICMP MESSAGE – Trata-se do corpo da mensagem ICMP
onde serão levadas as informações de mensagens ou erros.
Alguns sistemas utilizam-se de um pseudo cabeçalho (pseudo header) para
envido de suas mensagens. Este é composto de Endereço de Origem e Destino,
Tamanho do Conteúdo (payload) e o Próximo Cabeçalho já setado para o ICMP
(valor 58) e é inserido entre o último cabeçalho de extensão e o ICMP conforme
SOURCE ADDRESS
DESTINATION ADDRESS
PAYLOAD LENGTH
NEXT
HEADER=58
ICMP TYPE
ICMP CODE
BODY OF ICMP MESSAGE
Figura 7.4.10.2 – Formato do pseudo cabeçalho ICMPv6
Fonte: STEPHEN (2000,p.130)
CHECKSUN
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
podemos ver na figura seguinte.
83
Na criação deste pseudo cabeçalho, o Endereço de Destino deve ser
preenchido com o valor que ele deverá conter quando lá chegar. Por este motivo, se
estiver utilizando um Cabeçalho de Roteamento, este endereço será diferente do
original quando estiver no destino.
Quando o datagrama é recebido pelo destino, um cálculo reverso do
checksum é realizado. Se o resultado for 0xFFFF, o datagrama será aceito. Caso
contrário será invalidado o checksum e conseqüentemente o datagrama.
7.4.11. Protocolo de Descoberta de Vizinhos (NDP – Neighbor Discovery
Protocol)
Esta é uma das grandes funcionalidades do novo ICMP. Ela substitui o
protocolo de resolução de endereços (ARP), o ICMPv4 de descoberta de roteador
do protocolo de mensagens e o redirecionamento ICMP, que são usados no IPv4.
Isso possibilita aos nós da rede determinarem os MTUs onde seus vizinhos que
executam tarefas de roteamento ou rediredionamento estão conectados (conforme
comentado no item 7.4.5), configurar seu endereço automaticamente (DHCPv6),
descobrir quem são os gateways de sua rede local, determinar o melhor caminho
para envio de seus datagramas a partir de informações dos roteadores vizinhos,
entre outras .
Combinando essas funcionalidades, temos um eficiente disseminador de
informações na rede.
Cinco tipos de mensagens ICMPv6 foram criadas pra facilitar o trabalho do
NDP:
84

Mensagens de Solicitação de Roteador (Router Solicitation
message) – Essa solicitação é enviada pelo host a fim de solicitar aos
roteadores que enviem informações sobre suas rotas. Isso o auxiliará
da definição de um gateway padrão.

Mensagens
de
Anúncios
de
Rota
(Router
Advertisement
message) – Tem como objetivo a divulgação de informações sobre
rotas dos roteadores. A disseminação destes dados é feita
periodicamente ou quando há uma Mensagens de Solicitação de
Roteador.

Mensagem de Solicitação de Vizinhança (Neighbor Solicitation
message) – Solicitado pelos nós de origem via multicast, requer
informações dos nós vizinhos sobre endereçamentos de portas de
saída da rede local, os quais são repassados adiante para outros nós.
Para se saber a distância a que estão destes vizinhos, utiliza-se
mensagens do tipo unicast.

Mensagem de Anúncio de Vizinhança (Neighbor Advertisement
message) – É a resposta à Mensagem de Solicitação de Vizinhança
enviada ao nó solicitante, ou quando não solicitada, disseminada
quando é atualizada localmente no nó.

Mensagens de Redirecionamento – O roteador utiliza-se destas
mensagem pra informar aos hosts os melhores caminhos pelos quais
eles deverão enviar seus datagramas a fim de atingirem seus destinos.
85
7.4.11.1. Processo de descoberta dos MTUs dos caminhos (Path MTU
Discovery Process)
Como já mencionado no item 7.3.4, MTU é taxa máxima de transferência, em
octetos (ou bytes), suportado por um canal de comunicação. Vimos também que, no
IPv6 (7.4.4 e 7.4.5), a responsabilidade pela fragmentação é do host e não mais do
roteador. Com isso, o host sabendo qual o melhor canal de dados e o MTU mais
adequado para o envio, este poderá enviar seus dados com mais eficiência.
O processo se baseia em tentativa e erro em uma primeira comunicação, ou
seja, um nó assume o MTU do roteador que ele já conhece como sendo o melhor
caminho para enviar um datagrama para um host que está em uma rede que ele
não conhece. Quando ele envia o datagrama, este roteador vai recebê-lo e
encaminhar para o próximo nó que ele conhece. Se o próximo canal de
comunicação possuir um MTU igual ou superior, o datagrama segue o curso. Caso
esta unidade não suporte o datagrama, uma mensagem de “pacote muito grande”
(Packt too Big), é enviada ao host de origem. Com isso, este equipamento irá
alimentar sua tabela de rotas com as informações aprendidas e re-fragmentar o
pacote. Este procedimento se repete até que o datagrama chegue ao seu destino.
Uma vez passado o primeiro pacote, o host já terá conhecimento de que para atingir
a rede especifica, o tamanho do datagrama deverá ser sempre aquele. Veja o fluxo:
86
Host de origem
assume
PMTU=MTU do
gatway conhecido
Host monta
datagrama com
tamanho do
PMTU e envia
para o roteador1
Datagrama é
recebido pelo
roteador1
Host de origem
reduz o valor do
PMTU
Roteador1 envia
datagrama pelo
link1 para o
roteador2
Mensagem de
pacore muito grande
é enviada para o
host de origem
Datagrama é
recebido pelo
roteador2
S
Datagrama >
MTU link2
N
Datagrama
continua o
percurso
Figura 7.4.11.1 – Processo de reconhecimento do MTU dos links
Fonte: MARK (1997, p.153)
7.4.11.2. Autoconfiguração de endereços
No IPv6, possuem duas maneiras de se alocar endereços automaticamente:

Com estado – onde um host obtém seu endereço IPv6, informações e
parâmetros de configuração a partir de um servidor DHCPv6 (ver item
7.4.11.3);

Sem estado – trata-se de uma inovação do IPv6 para sites que não
necessitam conhecer seus endereços IP. Para tal são utilizados os
endereços MAC dos adaptadores de rede associadas a informações
disponibilizadas pelos roteadores. Os prefixos IPv6 para este tipo de
endereçamento devem começar com 1111 1110 10 conforme tabela
7.4.8.1. Para este tipo de endereçamento, as chances de se encontrar
um endereço duplo, quase não existem, uma vez que os NICs,
teoricamente, são únicos no mundo, mas, caso aconteça de se
encontrar uma placa com mesmo endereço físico de outra na mesma
87
rede, ou se substitui a interface, ou se força um endereço
manualmente. Veja a ilustração:
+
Nic da interface de rede
02-07-01-E6-31-52
56K
=
Endereço IP da Estação
FE8::780:0207:01E6:3152
PCMCIA
Prefixo da rede
FE80::780
INSERT THIS END
Ethernet
Figura 7.4.11.2.1 – Processo de auto configuração de endereço “sem estado”
Fonte: STEPHEN(1996, p.147)
7.4.11.3. DHCPv6
Assim como na versão 4 do protocolo IP, sua função é distribuir endereços IP
e parâmetros de configuração para os hosts de uma rede. Porém algumas
inovações foram incluídas. Vejamos as diferenças:

As estações configuradas para funcionarem em redes IPv6 com
DHCP, utilizam chamadas multicast (ao invés de broadcast como no
IPv4) para localizar servidores do serviço na rede;

Não é mais necessária a configuração de gateway default no servidor
DHCP, pois as estações utilizam o serviço de “busca de vizinhos”
(neighbor discovery);

O servidor pode encaminhar mensagens de reconfiguração dos
endereços distribuídos, sem a necessidade de aguardar uma nova
solicitação por parte da estação.
88
O serviço DHCPv6 é baseado em arquitetura Cliente/Servidor e possui 4
tipos funcionais:

Client – o nó que requisita e obtém os parâmetros de configuração;

Server – o nó que responde às requisições fornecendo o endereço ou
o prefixo (para o caso de alocação de endereço sem estado), e outros
parâmetros de configuração (que pode ser implementado em um modo
misto – parte com e parte sem estado);

Relay – o nó que serve de intermédio de entrega de mensagens
DHCPv6 entre clientes e servidores;

Agent – nó que pode atuar como cliente ou servidor.
A comunicação DHCPv6 pode ocorrer de 3 modos diferentes dependendo
dos tipos funcionais envolvidos:
1. Interação entre Clientes e servidores de modo direto – Neste
caso, o nome do host não necessita ser conhecido. Esta
comunicação se dá em três níveis como mostra a figura que se
segue:
DHCP Server
Seu endereço
é…..
2
Ethernet
3
OK
1
DHCP Client
Figura 7.4.11.3.1 – Processo fornecimento de endereço cliente/servidor
Me informe
um endereço
89
2. Utilizando um agente Relay – Neste caso, um agente de
interação entre o cliente e o servidor intermedia a negociação
do endereço. Este agente nunca responde diretamente a uma
requisição do cliente. Isso se aplica quando temos duas redes
físicas distintas ligadas a uma terceira e não temos a intenção
de colocar dois servidores DHCP para disponibilizar endereços
como pode ser exemplificado na figura 7.4.11.3.2.
3. Utilização do serviço DHCP associado com o serviço de
resolução de nomes (DNS-Domain Name Server) – Neste caso,
quando o host conhece seu nome de domínio, ele pode solicitar
ao servidor DHCP um endereço a partir de seu nome. Este
servidor irá realizar uma consulta ao servidor DNS para saber
se seu nome já esta associado a algum IP. Em caso positivo, o
servidor DHCP verifica a alocação do endereço e o repassa ao
cliente. Caso o DNS desconheça o endereço do nome, o DHCP
reserva um endereço dinâmico para o cliente, informa essa
locação ao servidor DNS e em seguida o repassa ao cliente.
(funcionamento similar ao WINS).
90
Ethernet
Ethernet
DHCP Client
Me informe
1
um endereço
DHCP Client
OK
Seu endreço
é….. 4
5
DHCP Client
Ethernet
DHCP Relay
DHCP Server
DHCP Relay
O endereço
é…..
3
2
Meu cliente
deseja um
endereço
Figura 7.4.11.3.2 – Processo fornecimento de endereço com a utilização do DHCP Relay
DHCP Server
Qual o endereço
do host X?
2
3
X não possui
end.
conhecido
OK
Ethernet
4
5
Autualize X com o
end. IP …..
6
Seu endereço
é…..
1
DNS Server
Meu nome é X.
Qual meu IP?
DHCP Client
Figura 7.4.11.3.3 – Processo fornecimento de endereço combinando DHCP e DNS
91
7.5. Compatibilidade entre IPv4 e IPv6
Devido à semelhança entre as duas versões do protocolo IP, há a
possibilidade de tê-las funcionando em conjunto. As preocupações não se prendem
somente ao formato do endereço, mas a compatibilidade entre os cabeçalhos
também deve ser ajustadas.
Em termos de endereço, o IPng define dois tipos IPv6 para compatibilizar a
comunicação com o IPv4:

IPv4 compatível – Trata-se do processo de conversão propriamente
dito de endereços IPv4 para IPv6 e vice versa. São utilizados para
comunicação entre duas redes IPv6 com a utilização de uma rede
IPv4 como caminho de passagem sem a utilização de “tunelamento”.
O processo de conversão de endereços se dá com a inclusão de um
endereço IPv4 como por exemplo 10.70.4.5 com os 96 bits que faltam
para 128bits (tamanho padrão do IPv6) inseridos à esquerda setados
em zero da seguinte maneira: 0:0:0:0:0:0:0A:46:04:05 ou simplemente
:: 0A:46:04:05. Desta maneira, quando o roteador que vai receber o
datagrama, retira os 96 zeros ele entrega um pacote convertido para
IPv4 na rede compatível.

IPv4 mapeado – Este endereçamento foi desenvolvido para permitir a
comunicação entre um host puramente IPv6 com outro puramente
IPv4. Seu formato consiste de 80 bits setados em zero, 16 bits em um
e o endereço IPv4 do destino. A apresentação deste endereço ficaria
da seguinte maneira: 0:0:0:0:0:FFFF:0A46:0405.
92
Apesar da semelhança entre os resultados, o complemento 0:0:0:0:0:FFFF é
o parâmetro que indica se o endereço foi convertido ou mapeado.
Quanto aos cabeçalhos, a maioria dos campos se mapeia diretamente. O que
não é possível, faz-se um processo de conversão. A tabela a seguir apresenta uma
lista de compatibilidades entre os cabeçalhos:
Tabela 7.5.1 – Processo fornecimento de endereço combinando DHCP e DNS
Protocolo
IPv4
IPv6
IPv4
IPv4
IPv6
IPv6
Campo
HLength
Compatibilidades
Calculado conforme as opções existentes no
cabeçalho do IPv6
Class(valor > O IPv6 recebe os datagramas IPv4 com prioridade 0
7)
Type
Of Este campo é ignorado pelo IPv6 durante a conversão.
Service
Flags
e Quando recebe um datagrama com cabeçalho de
OffSet
fragmentação, os 16 bits menos significativos do
Fragment
cabeçalho de extensão de fragmentação referente às
informações do serviço entram como valores deste
campo
Fragment
Recebem os valores do datagrama IPv4 normalmente
OffSet e M
Flow Labels
Ignorado quando da conversão para IPv4 e zerado
quando do inverso
Fonte: STEPHEN (1996, p.428)
Ainda há a possibilidade de se ter um host com pilha dupla, ou seja, que é
capaz de conversar tanto com equipamentos IPv6 quanto com equipamentos IPv4.
93
7.6. Comparando as versões do Protocolo
Comparando os dois cabeçalhos, observamos que muitos campos do IPv4
VERSÃO
DO IP
(VERSION)
CLASSE DE TRÁFEGO
(CLASS)
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
foram suprimidos devido a funções re-projetadas no IPv6.
RÓTULO DE FLUXO
(FLOW LABEL)
TAMANHO DO PAYLOAD
(PAYLOAD LABEL)
PRÓXIMO CABEÇALHO
(NEXT HEADER)
LIMITE DE SALTOS
(HOP LIMIT)
..........
ENDEREÇO DE ORIGEM
(SOURCE ADDRESS)
ENDEÇO DE DESTINO
(DESTINATION ADDRESS
X
VERSÃO
DO IP
(VERSION)
TAMANHO
DO
CABEÇALH
O (HLEN)
TIPO DE SERVIÇO
(TOS)
SINALIZADOR
DE
FRAGMENTO
(FLAG)
IDENTIFICAÇÃO
TEMPO DE VIDA DO
DATAGRAMA
(TIME TO LIVE)
COMPRIMENTO TOTAL
IDENTIFICADOR DE INICIO DO DATAGRAMA
FRAGMENTADO
(OFFSET FRAGMENT)
CHECAGEM DE ERRO DO CABEÇALHO
(HEADER CHECKSUM)
PROTOCOLO
IP DE ORIGEM
IP DE DESTINO
Figura 7.4.1.4 – Comparação entre os cabeçalhos IP versão 6 e 4
Campos preservados: TCP/IP-Tutorial(2000, p. 350)
- Versão do IP
- Tipo de Serviço
- Tempo de vida, agora chamado de Limite de Saltos.
- Protocolo, agora chamado de Próximo Cabeçalho.
94
- Endereço de Origem.
- Endereço de Destino.
Campos integrados :
- SINALIZADOR DE FRAGMENTO e IDENTIFICADOR DE INICIO DO
DATAGRAMA FRAGMENTADO – Agora chamada de Rótulo de Fluxo
Campos Substituídos:
-
TAMANHO
DO
CABEÇALHO
e
COMPRIMENTO
TOTAL
DO
DATAGRAMA – No IPv6, o cabeçalho possui tamanho fixo, não sendo mais
necessário o cálculo deste. O campo TAMANHO DO PAYLOAD informa qual o
tamanho do datagrama já subtraindo os 40Bytes do cabeçalho.
Campos Eliminados - IDENTIFICAÇÃO – Os cabeçalhos de extensão possuem informações
mais completas sobre fragmentação, eliminando assim a necessidade de tal
campo.
- CHECAGEM DE ERROS – Entendendo que os níveis superiores tratam
a questão de checagem de erros, o IPv6 não trata mais as questões de garantia,
apesar de existir um cabeçalho opcional de autenticação que certifica que o
datagrama foi recebido sem erros.
95
7.7. Reflexões sobre alguns motivos para migração de IPv4 para IPv6
Como vimos ao longo deste estudo, existem uma série de fatores que irão
influenciar na decisão das corporações em migrar sua rede para este novo sistema
de comunicação de nível 3.
Segundo os autores do livro TCP/IP, Tutorial e técnico, podem ser dois os
motivos: “necessidade de se ter os requisitos apropriados para os novos recursos
que exigem o IPv6, ou a exaustão do espaço de endereços IPv4.”
Eles alegam que grandes organizações com um parque computacional muito
elevado, poderia ser muito oneroso tomar a decisão de troca de tecnologia, uma
vez que a maioria dos seus equipamentos de roteamento e até mesmo outros tipos
de hardware teriam que ser substituídos. Para estas empresas, a única motivação,
seria o mercado limitar conexões e serviços em IPv6. Caso isso não aconteça, o
melhor que elas podem fazer é criar mecanismos de compatibilização, conforme
apresentado no item anterior, para permitir que seu ambiente computacional não
deixe de falar com clientes e fornecedores e até mesmo para receber os recursos
necessários para o bom andamento do seu negócio, mas que sejam puramente
IPv6.
Sabendo-se que o protocolo ainda está em desenvolvimento, mesmo as
novas corporações, devem ficar atentas antes de tomarem a decisão de
implementar sua rede com uma plataforma puramente IPv6, mesmo porque elas
terão a necessidade de se conectar com o mundo que ainda é IPv4.
Para pequenas empresas, onde a convergência pode ser feita de maneira
rápida, trata-se de uma boa opção a implantação de redes IPv6, desde que nela
possuam mecanismos de compatibilização com redes IPv4. Vantagem pois os
mecanismos de distribuição de endereços é facilmente automatizado sem a
96
necessidade de custos adicionais com servidor de DHCP conforme apresentado
durante o estudo.
A implementação da versão 6 do protocolo IP visa melhorar o tráfego nos
links WAN diminuindo a carga de processamento nos roteadores, bem como o
aumento significativo na faixa de endereçamento lógico.
97
7.8. Conclusão do estudo
Apesar das grandes vantagens que encontramos com a implementação da
versão 6 do protocolo, muita cautela antes de se aventurar por este caminho. O
serviço ainda está em desenvolvimento e grandes mudanças ainda serão
implementadas à medida que a grande massa de usuários começar a utilizar
realmente. Muitos hardware e softwares já estão sendo desenvolvidos com
compatibilidade para as duas versões. A Cisco já desenvolve roteadores que
podem funcionar em qualquer uma ou em ambas. A maioria das distribuições Linux
e o próprio Windows 2003 já possuem suporte para esta versão, apesar da
Microsoft ainda não permitir encapsulamento V6 em V4.
De um modo geral, trata-se de um grande projeto que deve ser estudado
antes de ser implementado.
Na segunda parte deste trabalho, iremos trabalhar sobre as configurações de
uma rede IPv6 de modo a analisar na prática todo o conteúdo discutido neste
estudo. Iremos fazer uma simulação de um ambiente com serviços como correio,
DNS, DHCP, Segurança e cripotografia, bem como listar os hardwares e softwares
já compatíveis e testados com a utilização desta nova tecnologia.
98
Bibliografia
COMMER, Douglas E..Interligação de redes com TCP/IP. Vol.1, 5 ed. tradução
Daniel Vieira. Rio de Janeiro: Campus,2006.
MILLER, Mark A..Implementing IPv6: Migrating to the Next Generation Internet
Protocols. New York,USA:M&T Books,1998.
MURHAMMER, Martim W. et. all. TCP/IP Tutorial e Técnico. São Paulo: Makron
Books,2000
NAUGLE, Matthew G.. Guia ilustrado do TCP/IP: Uma anatomia completa das
redes TCP/IP e do conjunto de protocolos IP em um formato de referência rápida.
São Paulo:Berkley,2001.
THOMAS, Stephen A..IPng and TCP/IP Protocols: Implementing the Next
Generation Internet.Canadá,USA:Wiley Computer Publishing, 1996.
99
Outras fontes
DHCPv6.
Disponível
em
http://thesource.ofallevil.com/technet/prodtechnol/windowsserver2003/ptpt/library/ServerHelp/5a528933-a78d-4588-8aa1-b158957ba2d5.mspx?mfr=true
Neighbor
Discovery
Protocol.
Disponível
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/ptbr/library/ServerHelp/55049e22-2aa7-44c9-ab4b-97cf98b96ad2.mspx?mfr=true
em
Download