UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO. TUNELAMENTO IPv6 / IPv4 GLAUCIMAR FALEIRO DA SILVA - PDF
UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO. TUNELAMENTO IPv6 / IPv4 GLAUCIMAR FALEIRO DA SILVA
Download "UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO. TUNELAMENTO IPv6 / IPv4 GLAUCIMAR FALEIRO DA SILVA"
Ian de Sá Gentil
1 UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO TUNELAMENTO IPv6 / IPv4 GLAUCIMAR FALEIRO DA SILVA NOVEMBRO 2007
2 UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO TUNELAMENTO IPv6 / IPv4 Trabalho de Projeto Final de Curso apresentado por Glaucimar Faleiro da Silva à Universidade Católica de Goiás como requisito parcial para obtenção do título de Bacharel em Ciência da Computação, apresentado à Banca examinadora da Universidade sob orientação do professor Wilmar Oliveira de Queiroz. 2
3 TUNELAMENTO IPv6 / IPv4 GLAUCIMAR FALEIRO DA SILVA Trabalho de Projeto Final de Curso II apresentado por Glaucimar Faleiro da Silva à Universidade Católica de Goiás como parte dos requisitos para obtenção do título de Bacharel em Ciência da Computação, sob orientação do professor Wilmar Oliveira de Queiroz. Professor Wilmar Oliveira de Queiroz Orientador Professor José Luiz de Ferreira Júnior, Dr. Coordenador de Projeto Final de Curso 3
4 DEDICATÓRIA A DEUS, pelo dom da vida. Aos meus pais e familiares que estiveram sempre comigo nessa jornada. Aos professores pelo apoio despendido para a realização deste e de outros trabalhos. 4
5 AGRADECIMENTOS Agradeço ao professor Wilmar Oliveira de Queiroz pela confiança em mim depositada para a conclusão deste trabalho. Aos professores desta universidade, especialmente do Departamento de Computação que, ao longo do curso, se dedicaram em ensinar, contribuindo para minha formação e conclusão deste curso com sabedoria. 5
6 RESUMO Apresenta-se um estudo sobre os mecanismos da transição do protocolo IPv4, versão esta que é usada atualmente na internet, para a sua nova versão, o IPv6. A mudança para a nova versão é de suma importância para o crescimento da Internet, novas tecnologias de processamento e redes, qualidade de serviço e segurança. Porém, esta mudança deve acontecer gradativamente. Será mostrado neste trabalho quais são os métodos de transição das duas versões do protocolo que atendem a este requisito afim de não causar um colapso na Internet. Palavras-chave: IPv6, Internet, Qos, Tunelamento 6
7 ABSTRACT This work presents a study of the transition mechanisms from the protocol IPv4, which is currently being used in the internet, to its latest version, the IPv6 protocol. The transition to a newer version of the protocol is of great importance towards the growth of Internet usage, new processing and network technologies and service and safety quality. On the other hand, this change may take place gradually. This work will show the transition methods for the two protocol versions which meet all requirements in order to avoid a total breakdown of the Internet. Key-words: IPv6, Internet, Qos, Tunneling 7
8 SUMÁRIO LISTA DE FIGURAS... x LISTA DE SIGLAS E ABREVIATURAS... xi 1. INTRODUÇÃO A ORIGEM DAS REDES E DA INTERNET IPv A INTERNET E SEU CRESCIMENTO IPv ARQUITETURA INTERNET A PILHA TCP/IP O PROTOCOLO IPv Cabeçalho IPv Endereçamento Roteamento MEDIDAS PARA EVITAR O FIM DOS ENDEREÇOS Máscara de sub-rede VLSM (Variable-Length Subnet Mask) CIDR (Classless Inter-Domain Routing) NAT (Network Address Translation) MOTIVAÇÕES PARA A MUDANÇA DE IPv4 PARA IPv O PROTOCOLO IPv HISTÓRICO MOBILIDADE IP (MIP) E O IPv IPv6 E SUAS CARACTERÍSTICAS Endereçamento composto por 128 Bits Auto-Configuração Novo formato de endereço no IPv Simplificação no cabeçalho IPv Cabeçalho para Hosts e para Roteadores
9 Múltiplos endereços por interface de rede Conectividade fim-a-fim Extensibilidade Segurança incorporada Qualidade de serviço eficiente Suporte a multiprotocolos e mobilidade CABEÇALHO IPv ENDEREÇAMENTO IPv Endereço unicast Endereço anycast Endereço multicast ROTEAMENTO IPv ICMPv SEGURANÇA NO IPv COMPARAÇÃO ENTRE IPv4 E IPv MIGRAÇÃO IPv4 PARA IPv PILHA DUPLA TRADUÇÃO DE ENDEREÇOS (NAT-PT) TUNELAMENTO Tunelamento configurado Tunelamento automático to ISATAP Teredo IMPLEMENTAÇÃO DE TUNELAMENTO CONFIGURADO CONCLUSÃO REFERÊNCIAS BIBLIOGRÁFICAS
10 LISTA DE FIGURAS Figura 2.1 O modelo TCP/IP Figura 2.2 Encapsulamento de protocolos Figura 2.3 Cabeçalho IPv Figura 2.4 Diagrama das classes IP Figura 2.5 Classes de endereço IP Figura 2.6 Diagrama de roteamento IPv Figura 2.7 Rede classe C dividida em 16 sub-redes Figura 3.1 Diagrama de comunicação MIP IPv Figura 3.2 Cabeçalho IPv Figura 3.3 Alocação do espaço de endereçamento IPv Figura 3.4 Divisão de Aggregatable Global Unicast Addresses Figura 3.5 Divisão do endereço anycast Figura 3.6 Formato do endereço multicast Figura 3.7 Cabeçalho ICMPv Figura 3.8 Mensagens ICMPv Figura 3.9 Comparação entre IPv4 e IPv Figura 4.1 Interoperabilidade entre IPv6 e IPv Figura 4.2 Diagrama de funcionamento da Pilha Dupla Figura 4.3 Diagrama de tunelamento IPv6-in-IPv Figura 4.4 Formato de um endereço do tipo 6to Figura 5.1 Topologia de um tunelamento configurado Figura 5.2 ICMPv6 (echo request) dentro de um túnel IPv6-in-Pv Figura 5.3 ICMPv6 (echo reply) dentro de um túnel IPv6-in-Pv
11 LISTA DE SIGLAS E ABREVIATURAS CIDR Classless Inter Domain Routing DES Data Encryption Standard DNS Domain Name System FTP File Transfer Protocol HTTP Hyper-text Transfer Protocol ICMP Internet Control Message Protocol IGMP Internet Group Management Protocol IPNG Internet Protocol Next Generation IPv4 Internet Protocol version 4 IPv6 Internet Protocol version 6 IPX Internetwork Packet Exchange ISATAP Intra-Site Automatic Tunnel Addressing Protocol MIP Mobilidade IP MN Mobile Node MTU Maximum Transmission Unit NAT Network Address Translation NLA Next-Level Aggregation NSAP Network Service Access Point PPP Peer-to-Peer Protocol SLA Site-Level Aggregation TCP Transmission Control Protocol TLA Top-Level Aggregation UDP User Datagram Protocol VLSM Variable Length Subnet Mask 11
12 CAPÍTULO I INTRODUÇÃO 1.1 A ORIGEM DAS REDES E DA INTERNET Uma rede de computadores consiste de dois ou mais computadores e outros dispositivos ligados entre si e compartilhando informações, impressoras, trocando mensagens ( s), etc. Antes do advento das redes de computadores baseadas em algum tipo de sistema de telecomunicação, a comunicação entre máquinas calculadoras e computadores antigos era realizada por usuários através do carregamento de instruções entre eles. Em setembro de 1940, George Stibitz usou uma máquina de teletipo para enviar instruções para um conjunto de problemas a partir de seu Model K na Faculdade de Dartmouth em New Hampshire para a sua Calculadora de Números Complexos em Nova Iorque e recebeu os resultados de volta pelo mesmo meio. Conectar sistemas de saída como teletipos a computadores era um interesse na Advanced Research Projects Agency (ARPA) quando, em 1962, J. C. R. Licklider foi contratado e desenvolveu um grupo de trabalho o qual ele chamou de a Rede Intergaláctica, uma precursora da ARPANet. Em 1964, pesquisadores de Dartmouth desenvolveram o Sistema de Compartilhamento de Tempo de Dartmouth para usuários distribuídos de grandes sistemas de computadores. No mesmo ano, no MIT (Massachusetts Institute of Technology), um grupo de pesquisa apoiado pela General Electric e Bell Labs usou um computador (DEC s PDP-8) para rotear e gerenciar conexões telefônicas. Durante a década de 1960, Leonard Kleinrock, Paul Baran e Donald Davies, de maneira independente, conceituaram e desenvolveram sistemas de redes os quais usavam datagramas ou pacotes, que podiam ser usados em uma rede de comutação de pacotes entre sistemas de computadores. Em 1969, a Universidade da Califórnia em Los Angeles, SRI (em Stanford), a Universidade da Califórnia em Santa Bárbara e a Universidade de Utah foram conectadas com o início da rede ARPANet usando circuitos de 50 kbits/s. [6] 12
13 A origem da Internet vem dos tempos da guerra fria, quando então as duas potências, Estados Unidos e a antiga União Soviética, disputavam uma corrida tecnológica. O governo estadunidense queria desenvolver um sistema que possibilitasse a comunicação entre bases militares. Foi então que o Departamento de Defesa dos Estados Unidos iniciou um projeto chamado ARPANET que realizou a interconexão de computadores, através de um sistema chamado de chaveamento de pacotes no qual as informações a serem transmitidas na rede de computadores são divididas em pequenos pacotes, que contém um trecho de dados, o endereço do destinatário (que será descrito mais adiante) e informações que permitiam a remontagem da mensagem inicial no seu destinatário. O sucesso do sistema criado pela ARPANET foi tamanho que as redes agora eram voltadas para áreas de pesquisa científicas das universidades. Com isso, a ARPANET começou a ter dificuldades de administrar todo esse sistema devido ao número crescente de localidades universitárias contidas nela. O acesso, então, à ARPANET foi permitido aos cientistas, que, mais tarde, cederam o acesso a universidades de outros países e a pesquisadores domésticos, disseminando essa tecnologia. Em síntese, a Internet é um conjunto de computadores interconectados, os quais possuem um conjunto de protocolos e serviços, de modo a proporcionar aos usuários, acesso a informações e comunicação em âmbito mundial. Para que diferentes computadores possam usufruir desses serviços de informação e comunicação, são necessárias regras para prover todo o transporte e serviços de encaminhamento de informações. Essas regras são chamadas de protocolos e o modelo de referência que predomina em toda a rede atualmente é a pilha TCP/IP. Esse modelo de referência utiliza dois protocolos, que são os mais importantes: o TCP (Transmission Control Protocol) e o IP (Internet Protocol). O TCP/IP proporciona ao usuário uma visão de que a Internet é uma única rede que interconecta todos os computadores. Cada um desses computadores interconectados possui um endereço único, chamado endereço IP, que os identifica. Esse endereço IP possibilita que as informações circulem pela rede e sejam encaminhados corretamente aos seus destinatários. 13
14 1.2 IPv4 Se todos os computadores e dispositivos disponíveis com acesso à Internet fossem conectados simultaneamente com endereços válidos, a Internet sofreria um colapso. Isso por que cada máquina que entra na rede precisa de um endereço para ser reconhecida e o número de endereços (endereços IP) está cada vez mais reduzido. O protocolo IP está em sua versão 4 (IPv4). Essa versão oferece um endereço de tamanho 32 bits, o que dá um total de 2 32 (cerca de 4,3x10 9 ) combinações possíveis de endereços. O IPv4 data de setembro de 1981, quando sua RFC foi publicada. Desde então, o crescimento da Internet tem sido o maior consumidor de endereços IP, o que é um problema, já que o IPv4 não foi projetado para tamanho crescimento. [2] 1.3 A INTERNET E SEU CRESCIMENTO Com o desenvolvimento do sistema de Hiper Texto, criado no final da década de 80, aliado à criação da WWW (World Wide Web) na década de 90, a Internet sofre um grande impulso no número de usuários. Até então, essas idéias apareceram apenas para o compartilhamento de informações e pesquisas entre os cientistas. Em 1992, surge o primeiro navegador para a Internet, o Mosaic, capaz de interpretar gráficos e realizar navegações entre links, como é visto atualmente na Web. A possibilidade de se trafegar imagens, sons era muito atraente. Nesse momento todo mundo começou a prestar mais atenção na Internet e na Web. Logo surgiu um grande interesse comercial pela Rede. Além disso, a disponibilidade de novos serviços de diretório, indexação e pesquisa que ajudam os usuários a descobrir as informações de que precisam na imensa Internet foram fatores primordiais para o seu crescimento. A maioria desses serviços surgiu em função dos esforços de pesquisas das universidades e evoluíram para serviços comerciais. E-commerce é um tema moderno e ao mesmo tempo tradicional envolvendo televendas e tele atendimento. A principal questão está centralizada na nova filosofia de percepção de compra eletrônica, na definição de um internauta e sua percepção de realização da compra através de um novo canal de comunicação, a Internet. Para compreender a filosofia do comércio eletrônico é necessário entender o mecanismo de tele vendas e tele atendimento como sendo a primeira tentativa de venda "virtual" que surgiu no início da década de 80 e procura incorporar os seguintes conceitos: 14
15 Desmaterialização: substituição gradativa do movimento e contato físico por informação telefônica ou via catálogos e um contato virtual; Desintermediação: substituição de um ou mais intermediários na cadeia de venda do produto; Grupo de afinidades: são produtos e serviços que possuem similaridades (em termo de divulgação e consumo) e que oferecem ao consumidor soluções apenas visuais, cujas características são inquestionáveis em termo de qualidade, preços e garantias. Algumas empresas implementam o conceito e a infra-estrutura necessária para operar um centro de atendimento ao cliente, os chamados call-centers. Surgiram os sistemas de informação, os banco de dados, sistemas de telefonia com unidade de respostas audíveis, profissionais de tele atendimento e a interação entre comandos, dados e voz, que representa o ponto máximo de evolução do atendimento virtual. Os recursos de telefonia integrados com sistemas de banco de dados aliados a uma filosofia de televendas proporcionam o início do comércio eletrônico que "acoplou" os recursos de Internet, home page, browser, servidor Web e provedor de acesso. Esse novo jeito de vender foi um grande impulso para o crescimento da Internet. O site Netcraft, especializado em auditoria de Internet, divulgou em julho de 2005 uma pesquisa que o mês de junho desse mesmo ano representou um dos maiores aumentos mensais de sites na grande rede. Segundo a pesquisa o aumento em junho daquele ano foi de cerca de 2,76 milhões de hostnames (perdendo apenas para os 3,3 milhões de março de 2003). Já são, por resultados destas pesquisas mensais do Netcraft, 30 meses seguidos de crescimento. Dentre os fatores preponderantes para o crescimento, destacam-se, de acordo com a equipe do Netcraft, o aumento do uso da Internet por parte de pequenas empresas, por conta dos menores custos na adoção de um site, os weblogs, especulação no mercado em relação a nomes de domínios, vendas on-line e propaganda. Estima-se que a Internet cresce, no mundo todo, cerca de 10% ao mês. Ainda este ano, a rede atingirá um bilhão de internautas, 10 bilhões de aparelhos eletrônicos vão estar conectados entre si. O comércio eletrônico, no Brasil, vai movimentar aproximadamente R$ 4,5 bilhões. As estimativas dizem ainda que 66% dos usuários residenciais têm banda larga, 98% das Empresas usam Internet e procuram fornecedores através dela, cinco 15
16 milhões de usuários compram via Internet, treze milhões usam a Internet para acessarem sites de bancos. [4] [6] [13] [14] Nenhum outro meio na história cresceu tanto como a Internet. O rádio precisou de 38 anos para alcançar 50 milhões de ouvintes. Treze anos foram necessários para que a televisão alcançasse 50 milhões de espectadores, enquanto que a Internet alcançou 50 milhões de usuários em apenas quatro anos. Infelizmente a Internet não foi projetada para suportar tal crescimento. [13] Desde 1999 o IANA (Internet Assigned Numbers Authority) instituição que controla os endereços IP no mundo, vem alertando os especialistas e usuários de Internet sobre o esgotamento iminente do número de endereços IP. Desde então, novas idéias foram sendo abordadas e implementadas. Idéias estas que vão desde o racionamento de endereços, soluções estas de caráter emergencial que não acompanham o crescimento da Internet, até a adoção de uma nova versão do protocolo, o IPv6. [4] [6] 1.4 IPv6 Muito foi discutido sobre esse problema que a cada dia agrava-se mais, até que em julho de 1999 foi discutido e aprovado pelo IANA o novo modelo de endereçamento que seria adotado como padrão do novo protocolo: o IPv6 Com uma capacidade de endereçamento na escala de 3,4x10 38 (o novo padrão de endereçamento possui 128 bits), o IPv6 vem se mostrando a melhor solução para resolver o problema do número escasso de endereços IP existentes. Além disso, o IPv6 é muito mais que aumento da capacidade de endereçamento. Melhorias como melhores tempos de resposta, maior segurança, maior mobilidade, endereçamento automático, foram incorporadas ao novo padrão. Estima-se que os Estados Unidos vão gastar cerca de 30 bilhões de dólares para a transição da sua estrutura de redes para o protocolo IPv6. Estima-se também que em 2008, toda a rede estadunidense terá migrado para o novo protocolo. No Japão, há incentivos por parte do governo no sentido de produzir equipamentos preparados para o novo protocolo em escala comercial, enquanto no Brasil, ainda é preciso fazer um trabalho de conscientização quanto à importância dessa evolução. [6] [13] Como visto na seção 1.3, a Internet tomou proporções astronômicas. Não é possível simplesmente substituir todos os roteadores e dispositivos que fazem parte da infra- 16
17 estrutura da Internet ou seus firmwares, haja vista que a Internet sofreria um colapso. É humanamente impossível que a Internet durma IPv4 e acorde IPv6. Um processo de transição com uma rede híbrida se faz necessário. Com base nestes fatos, esse trabalho objetiva mostrar as formas de transição do protocolo IPv4 para a nova versão do protocolo, o IPv6, detalhando uma das propostas para se trabalhar com o IPv4 e IPv6 na estrutura existente até a migração total para o novo protocolo. [6] [7] [8] No capítulo 2, serão abordadas definições relativas à arquitetura Internet, seu modelo de camadas e o protocolo IPv4. Também será exposto as medidas tomadas para evitar o fim dos endereços bem como as motivações para a migração para uma nova versão do protocolo IP. No capítulo 3, serão apresentadas as definições do protocolo IPv6, mostrando suas principais características, mudanças e implicações em relação à versão atualmente utilizada. Também serão descritos aspectos de roteamento e a interação com outros protocolos. No capítulo 4, serão discutidas as técnicas de migração do IPv4 para o IPv6, as vantagens e desvantagens de cada uma dessas técnicas e os pré-requisitos de cada uma. No capítulo 5, será apresentada uma implementação de um túnel configurado em um ambiente de rede local. Será comentada, também, a utilização dessa técnica na Internet. No capítulo 6, serão apresentadas as conclusões deste trabalho. 17
18 CAPÍTULO II ARQUITETURA INTERNET 2.1 A PILHA TCP/IP Na pilha TCP/IP, o modelo que é dividido em camadas e uma destas camadas é o próprio protocolo IP. Na figura 2.1 está a descrição destas camadas: MODELO TCP/IP Aplicação Transporte Inter-redes (Internet) Física Figura 2.1 O modelo TCP/IP [1] Aplicação faz a comunicação entre os aplicativos e a camada de transporte. Corresponde ao nível mais alto, onde os usuários executam aplicações que utilizam recursos disponíveis em uma rede TCP/IP e é onde são tratadas as compatibilidades entre os vários protocolos. As aplicações são responsáveis por funções como transferência de arquivos, acesso a terminais remotos, execução de tarefas remotas, correio eletrônico, visualização de páginas, etc. Transporte - é responsável por receber os dados enviados pela camada de aplicação e transformá-los em segmentos, a serem repassados para a camada de Inter-redes. É responsável também pelo controle de envio e recepção (erros, bufferização, seqüência, reconhecimento, etc.). Esta camada provê a comunicação entre as duas camadas de transporte, a de origem e a destino, chamadas de fim a fim, isto é, uma entidade desta camada só se comunica com a sua entidade-par do host destinatário. O serviço é ou não 18
19 confiável, tendo controle de erro e seqüência com mecanismos de identificação dos processos de origem e de destino recebendo dados da camada de aplicação e os dividindo em unidades menores, com o endereço de destino para a camada de rede. Pode ser um serviço orientado a conexão (ponto a ponto), e pode controlar o fluxo de informações. Camada Inter-redes - A camada Inter-redes trata da comunicação entre máquinas. Fornece funções necessárias para interconectar redes e gateways formando um sistema coerente. É responsável pela entrega de dados desde a origem até o destino final. Esta camada aceita uma requisição de envio de pacote, vinda da camada de transporte, com a identificação da máquina para onde o pacote deve ser transmitido, encapsula o pacote em um datagrama IP, preenche o cabeçalho do datagrama, usa um algoritmo de roteamento para determinar se o datagrama deve ser entregue diretamente, ou enviado para um gateway e, finalmente, o datagrama é passado para a interface de rede apropriada, para que este possa ser transmitido. A camada Inter-rede é uma camada não orientada à conexão, portanto se comunica através de datagramas. Camada Física - também chamada camada de abstração de hardware, tem como função principal a interface do modelo TCP/IP com os diversos tipos de redes (X.25, ATM, FDDI, Ethernet, Token Ring, Frame Relay, sistema de conexão ponto-a-ponto, etc.). Como há uma grande variedade de tecnologias de rede, que utilizam diferentes velocidades, protocolos, meios transmissão, etc. esta camada não é normatizada pelo modelo, o que provê uma das grandes virtudes do modelo TCP/IP: a possibilidade de interconexão e inter-operação de redes heterogêneas. Esta camada corresponde ao nível de hardware, ou meio físico juntamente com o software que controla os sinais elétricos. Os protocolos da camada física enviam e recebem dados em forma de pacotes, que contém um endereço de origem, um endereço de destino e os dados propriamente ditos. Na figura 2.2, é possível observar o encapsulamento do datagrama e as suas respectivas camadas. [2] 19
20 Figura 2.2 Encapsulamento de Protocolos [2] 2.2 O PROTOCOLO IPv4 Definido pela RFC 791, o IP é um acrônimo para a expressão Internet Protocol (protocolo de Internet), protocolo este mais importante atualmente na transmissão de dados entre computadores, ou seja, o protocolo do qual depende toda a Internet. [1] Como visto anteriormente, o protocolo IP é parte essencial na pilha TCP/IP. Os dados numa rede IP são enviados em blocos conhecidos como pacotes ou datagramas. Em particular, no IP, nenhuma definição é necessária antes do host tentar enviar pacotes para um host com o qual não comunicou previamente. O IP oferece um serviço de datagramas não confiável (também chamado de melhor esforço), ou seja, o pacote é entregue sem garantias. O pacote pode chegar fora de seqüência (comparado com outros pacotes enviados entre os mesmos hosts), também podem chegar duplicados, ou podem ser 20
21 perdidos por inteiro. Se a aplicação precisa de confiabilidade, esta é adicionada na camada de transporte Cabeçalho IPv Versão (4 bits) Tempo de Vida (8 bits) Comp. do Cabeçalho (4 bits) Identificação (16 bits) Tipo de Serviço (8 bits) Flags (3 bits) Protocolo da Camada Superior (8 bits) Endereço de Origem (32 bits) Endereço de Destino (32 bits) Opções IP (se houver) - Enchimento (de 0 a 320 bits) Dados 32 bits Figura 2.3 Cabeçalho IPv4 [1] Comprimento do datagrama (16 bits) Deslocamento de Fragmentação (13 bits) Soma de Verificação (16 bits) Segundo o RFC 791, o cabeçalho IPv4 é definido da seguinte forma: Versão: O primeiro campo do cabeçalho de um datagrama IPv4 é o campo de versão do protocolo. Possui 4 bits; Comprimento do Cabeçalho: Esse campo tem o tamanho de 4 bits e contém o número de palavras de 32 bits no cabeçalho IPv4. Como o cabeçalho IPv4 pode conter um número variável de opções, este campo essencialmente especifica o começo da porção de dados de um datagrama IPv4, que é utilizado na fragmentação do pacote. Um cabeçalho mínimo tem 20 bytes de comprimento, logo o valor mínimo, em decimal, no campo cabeçalho é 5; Tipo de Serviço ToS: Com um tamanho de 8 bits, a intenção original desse campo era para um host especificar uma preferência para como os datagramas poderiam ser manuseados assim que circulassem pela rede. Por exemplo, um host pode definir o campo de valores do seu ToS dos datagramas IPv4 para preferir pequeno atraso (delay), enquanto que outros podem preferir alta prioridade. Na prática, o campo ToS não foi largamente implementado. Contudo, trabalho 21
22 experimental, de pesquisa e desenvolvimento se focou em como fazer uso destes oito bits; Comprimento do Datagrama: Esse campo de 16 bits define o tamanho do datagrama, em bytes, incluindo cabeçalho e dados. O datagrama de tamanho mínimo é de 20 bytes e o máximo é (64 Kbytes). O tamanho máximo do datagrama que qualquer host requer para estar apto para manusear são 576 bytes, mas os hosts mais modernos manuseiam pacotes bem maiores. Por vezes, as subredes impõem restrições no tamanho, em cada caso os datagramas têm que ser fragmentados. A fragmentação é manuseada quer no host quer no roteador de pacotes no IPv4; Identificação: O campo identificação tem o tamanho de 16 bits e é usado principalmente para identificar fragmentos do datagrama IP original; Flags: O campo de 3 bits é usado para controlar ou identificar fragmentos, além de informar se o datagrama pode ou não ser fragmentado; Deslocamento de Fragmentação: Este campo possui 13 bits e permite que um receptor determine o posicionamento de um fragmento em particular no datagrama IP original em relação aos demais fragmentos em unidades de 8 bytes. O primeiro fragmento é igual à zero; Tempo de Vida - TTL: É um campo de 8 bits que ajuda a prevenir que os datagramas entrem em loop numa rede. Historicamente, o campo TTL limita a vida de um datagrama em segundos, mas tornou-se num campo de contagem de hops (saltos). Cada roteador que um datagrama atravessa decrementa o campo TTL em um valor. Quando o campo TTL chega a zero, o pacote não é seguido por um switch de pacotes e é descartado; Protocolo da Camada Superior: Campo de 8 bits. Este campo define o protocolo seguinte usado numa porção de dados de um datagrama IP. A Internet Assigned Numbers Authority (IANA) mantém uma lista de números de protocolos. Os protocolos comuns e os seus valores decimais incluem o Protocolo ICMP (Internet control message protocol), o Protocolo TCP (Transmission Control Protocol); Soma de Verificação: Com 16 bits, esse é o campo de verificação (checksum) para o cabeçalho do datagrama IPv4. Um pacote em trânsito é alterado por cada roteador 22
23 que atravessa. A transmissão pode comprometer o pacote, e a soma de verificação é uma simples forma de detectar a consistência do cabeçalho. Este valor é verificado a cada novo roteador. Envolve apenas verificação do cabeçalho (não dos dados); Endereço de origem: Campo com 32 bits que identifica quem é o remetente do pacote e, por conseqüência, indica a quem deverá ser enviado a resposta; Endereço de destino: Esse campo possui 32 bits e possui o endereço do destino do pacote; [2] [7] [8] Opções: Com uma variação de tamanho que vai de 0 a 320 bits, é um campo opcional. Se existir conterá informações adicionais que podem ser de roteamento, horário ou segurança. Consiste de um byte com a identificação da opção e uma quantidade variável com as informações específicas. Um datagrama IP pode transportar várias opções simultaneamente. As opções são usadas basicamente como forma de verificação e monitoração de uma rede IP, mas são raros os programas que as implementam Endereçamento Quando se diz que a Internet não foi projetada para o crescimento descrito na seção 1.3, significa, na verdade, que o protocolo IPv4 não foi projetado para acompanhar o crescimento da Internet. Isso se dá devido à limitação do protocolo em endereçar os hosts conectados à rede. O endereçamento IPv4 é dividido em classes. A definição de classes de endereços deve-se ao fato do tamanho das redes que compõem a inter-rede variarem muito, indo desde redes locais de pequeno porte, até redes públicas interligando milhares de hosts. A identificação das classes do IPv4 pode ser feita seguindo o diagrama representado pela figura 2.4: 23
24 Início 1.o bit o bit 3.o bit 4.o bit Classe E Classe A Classe B Classe C Classe D Figura 2.4 Diagrama das classes IP Se o endereço em questão começar com o primeiro bit igual a 0, então trata-se de um endereço classe A. Se o endereço começar com o primeiro bit igual a 1 e o bit seguinte for igual a 0, então este endereço é de classe B. Se começar com os dois primeiros bits iguais a 1 e o próximo bit for igual a 0 o endereço é de classe C. Se os 3 primeiro bits do endereços forem iguais a 1 e o bit seguinte for igual a 0, trata-se de um endereço classe D. E finalmente, quando os 4 primeiros bits do endereço em questão forem iguais a 1, então o endereço é de classe E. Esse endereçamento em classes faz com que haja uma diferença gigantesca entre os números de hosts que cada classe suporta. Por exemplo, uma rede classe B com máscara padrão tem hosts, enquanto uma rede classe C com máscara padrão tenha apenas 254 hosts. Isso fez com que várias empresas acabassem optando pela classe B. O endereço IP, na versão 4 (IPv4), é um número de 32 bits escrito com quatro octetos e no formato decimal (exemplo: ). A primeira parte do endereço identifica uma rede específica na inter-rede, a segunda parte identifica um host dentro dessa rede. Nota-se que um endereço IP não identifica uma máquina individual, mas uma conexão à inter-rede. Assim, um gateway conectado à n redes tem 'n' endereços IP diferentes, um para cada conexão. Os endereços IP podem ser usados tanto para se referir às redes quanto a um host individual. Por convenção, um endereço de rede tem o campo identificador de host com todos os bits iguais a 0 ( ). É possível também se referir a todos os hosts de uma rede através de um endereço por difusão, quando, por convenção, o campo identificador de host deve ter todos os bits iguais a 1 ( ). Um endereço com todos os 32 bits 24