ANÁLISE DE DESEMPENHO DOS PROTOCOLOS IPV4 E IPV6 EM SERVIDORES WEB COM DIFERENTES PLATAFORMAS



Documentos relacionados
Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de Página

Entendendo como funciona o NAT

APOSTILA DE REDES DE COMPUTADORES PARTE - I I

18/05/2014. Problemas atuais com o IPv4

Arquitetura de Rede de Computadores

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

3) Na configuração de rede, além do endereço IP, é necessário fornecer também uma máscara de subrede válida, conforme o exemplo:

Veja abaixo um exemplo de um endereço IP de 32 bits:

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Serviço de datagrama não confiável Endereçamento hierárquico. Facilidade de fragmentação e remontagem de pacotes

Aula 5 Cálculo de máscara e de subredes

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos

Redes de Computadores II. Professor Airton Ribeiro de Sousa

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Arquitetura de Rede de Computadores

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

Disciplina Fundamentos de Redes. Introdução ao Endereço IP. Professor Airton Ribeiro de Sousa Outubro de 2014

Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Conexão de Redes. Protocolo TCP/IP. Arquitetura Internet.

Capítulo 7 CAMADA DE TRANSPORTE

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02. Prof. Gabriel Silva

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

PROTOCOLO IP O esgotamento dos endereços IP.

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Máscaras de sub-rede. Fórmula

Endereços Lógicos, Físicos e de Serviço

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Redes de Computadores II INF-3A

Aula 4. Pilha de Protocolos TCP/IP:

Aula 6 Modelo de Divisão em Camadas TCP/IP

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

PARANÁ GOVERNO DO ESTADO

Unidade 2.4 Endereçamento IP

IW10. Rev.: 02. Especificações Técnicas

REDES DE COMPUTADORES

Redes de Computadores Modelo de referência TCP/IP. Prof. MSc. Hugo Souza

Roteamento e Comutação

SISTEMAS OPERACIONAIS LIVRES GERENCIAMENTO DE SERVIÇOS NO WINDOWS. Professor Carlos Muniz

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

Introdução Introduç ão Rede Rede TCP/IP Roteame Rotea nto nto CIDR

Capítulo 6 - Protocolos e Roteamento

Projeto e Instalação de Servidores IPv6. Prof.: Roberto Franciscatto

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Aplicação Prática de Lua para Web

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Faculdade INED Curso Superior de Tecnologia: R d es e Comput d a ores Bibliografia da disciplina Endereçamento IP Bibliografia Obrigatória

Desenvolvendo Websites com PHP

Firewall. Alunos: Hélio Cândido Andersson Sales

Informática I. Aula Aula 22-03/07/06 1

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010

Rede de Computadores

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Como medir a velocidade da Internet?

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04. Prof. André Lucio

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

CAMADA DE REDE. UD 2 Aula 3 Professor João Carneiro Arquitetura de Redes 1º e 2º Semestres UNIPLAN

Sumário INTRODUÇÃO... 4 PROTOCOLO ARP...5 ARP - ADDRESS RESOLUTION PROTOCOL...5 FUNCIONAMENTO DO PROTOCOLO ARP...5 CACHE ARP... 6

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

ENDEREÇO CLASSFULL E CLASSLESS

Capítulo 4 - Roteamento e Roteadores

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

Redes de Computadores. Prof. Dr. Rogério Galante Negri

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Prof. Rafael Gross.

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Um Driver NDIS Para Interceptação de Datagramas IP

Arquitetura dos Sistemas de Informação Distribuídos

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

Capítulo 7 CAMADA DE TRANSPORTE

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus

Protocolo IP (Internet Protocol) Características do

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

Endereçamento IP, Sub-redes e Roteamento

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Processos Técnicos - Aulas 4 e 5

Considerações no Projeto de Sistemas Cliente/Servidor

Manual do Visualizador NF e KEY BEST

Redes. Pablo Rodriguez de Almeida Gross

Evolução na Comunicação de

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

MÓDULO 8 Modelo de Referência TCP/IP

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

Prefixo a ser comparado Interface Senão 3

Transcrição:

0 Organização Sete de Setembro de Cultura e Ensino - LTDA Faculdade Sete de Setembro - FASETE Bacharelado em Sistema de Informação Natália Rafaela Nascimento da Silva ANÁLISE DE DESEMPENHO DOS PROTOCOLOS IPV4 E IPV6 EM SERVIDORES WEB COM DIFERENTES PLATAFORMAS Paulo Afonso BA 2012

1 Natália Rafaela Nascimento da Silva ANÁLISE DE DESEMPENHO DOS PROTOCOLOS IPV4 E IPV6 EM SERVIDORES WEB COM DIFERENTES PLATAFORMAS Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Sistemas de Informação, da Faculdade Sete de Setembro FASETE, como requisito para avaliação conclusiva. Orientador: Prof. Esp. Antônio Henrique Paulo Afonso BA 2012

1 Dedico este trabalho a DEUS, peça fundamental em minha vida, aos meus pais Francisco e Antônia, meus grandes exemplos de vida, a minha irmã Lorena, pessoa que tanto amo e a minha amiga Carla Luciana, que tanto me incentivou e acreditou em minha capacidade.

2 AGRADECIMENTOS A DEUS, pelo dom da vida, por me permitir a cada dia a graça de recomeçar e fazer diferente, obrigada meu Senhor pela presença constante, pelas vezes em que durante esta jornada me levantou e me carregou no colo, onde por vezes acreditei que o fardo fosse pesado de mais. Ao meu painho Francisco e a minha mainha Antônia, por terem dado o seu sim a Deus para me receber como filha, obrigada pela educação saibam que o que sou hoje devo a vocês, exemplos de honestidade e dignidade, serei eternamente grata por tudo, AMO VOCÊS. A minha irmã Lorena, pessoa que apesar das brigas amo muito, obrigada pela compreensão em alguns momentos desta jornada e por estar sempre presente em minha vida, nem que seja para uma briguinha. Agradeço a minha amiga Carla Luciana, que durante este tempo esteve presente em minha vida, me ajudando e escutando os meus desabafos, quantas noites de sono perdidas com projetos, trabalhos, monografia, tantos motivos. Saiba que sempre serei grata a ti pelo carinho e apoio a mim dedicado. Agradeço a minha prima Elisabeth pelo apoio e incentivo desde o início do curso até hoje, principalmente em alguns momentos difíceis. Agradeço a seu esposo Apoliano por ter me incentivado a fazer este curso, estou realizando o sonho por você. As minhas amigas de classe as meninas, Carla e Cíntia, pelos momentos bons compartilhados, pelas histórias vividas, pelas brigas, mereço um prêmio por aguentar vocês duas. Saibam que serão eternamente lembradas. Agradeço a Naiana pessoa que me identifiquei muito aqui na faculdade, obrigada pelo incentivo no começo desta jornada, queria muito que você estivesse concluindo conosco, mas infelizmente nossas escolhas fazem o nosso destino. Agradeço aos demais amigos de turma, pelo companheirismo e experiências vividas, vocês fizeram parte de um momento da minha vida ao qual sempre recordarei com boas lembranças. Agradeço de uma forma especial a duas pessoas

3 que foram meus grandes incentivos aqui dentro, Dona Maria e Fadilson, exemplos de superação e otimismo, mostrando-nos sempre que poderíamos ir além do que almejávamos, a vocês o meu muito obrigada. Aos meus colegas de outra turma, Carlos (Valdomiro) e Anderson pelas conversas, risadas e apoio, principalmente nesta fase final. Ao meu orientador professor Antônio Henrique, pela disponibilidade, paciência, incentivo, conversas, desabafos e por ter aceitado me orientar. Agradeço aos demais professores pelo ensino e exemplo de profissionais: Jacson Junior, pela paciência em ensinar C, Fabiano pela simplicidade em ensinar Java e a disponibilidade em tirar minhas dúvidas sempre que era preciso, a Eloy Lago pelas orientações, a Igor Costa pela facilidade em ensinar engenharia, a Igor Medeiros pelo ensinamento e pelas viagens malucas nas diversas matérias ensinadas, a Julyana que através de suas aulas despertou em mim o gosto pela área de redes e demais professores que fizeram parte desta jornada. Agradeço de forma especial a Ricardo Porto pelo ensino e pelas vezes em que tive que refazer sua matéria, estou viva!. Agradeço pela amizade, pelas brincadeiras, as fofocas compartilhadas, os momentos vividos, as sobradas. Saiba que essas são lembranças que levarei para sempre. Aos demais familiares, amigos e colegas que contribuíram direta e indiretamente nesta jornada. A todos, o meu sincero e profundo agradecimento.

4 Muitos dos fracassos da vida são pessoas que não perceberam o quão perto elas estavam do êxito quando elas desistiram. Thomas A. Edison

5 SILVA, Natália Rafaela Nascimento. Análise de desempenho dos protocolos IPv4 e IPv6 em servidores web com diferentes plataformas. 2012. 70 f. Monografia. (Bacharelado em Sistemas de Informação). Faculdade Sete de Setembro, FASETE. Paulo Afonso BA. RESUMO A internet oferece uma série de recursos de comunicação importantes para a disseminação das informações. Nos dias atuais, é impossível pensar no mundo sem ela, a mesma se tornou parte dos lares de pessoas do mundo todo. Estar conectado a rede mundial passou a ser uma necessidade. Portanto faz-se necessário uma comunicação ao qual o usuário tenha vontade de navegar, onde o tempo de busca e resposta seja rápido. É necessário criar servidores web com uma boa configuração a fim de que a troca de informações com o usuário se dê de forma rápida e precisa. O presente trabalho aborda uma pesquisa bibliográfica e uma análise prática em laboratório, que visa avaliar o desempenho dos protocolos IPv4 e IPv6 em servidores web com diferentes plataformas mostrando qual dos protocolos obteve melhor desempenho. Através dos resultados obtidos foi possível constatar que o IPv6 teve melhor desempenho em ambos os servidores web, o que representa um ganho para o usuário, isto esta diretamente ligado as alterações feitas no cabeçalho da nova versão, que faz com que os dispositivos de rede processem os pacotes com mais rapidez. Porém este teste não é o suficiente para fazer com que os usuários migrem para a nova versão, é preciso que os protocolos coexistam para depois mudarem totalmente para o IPv6, exigindo mudança não só do usuário, mas também das empresas que fornecem o acesso a rede. Palavras-Chave: Internet. Protocolo de Internet. Servidores Web. Comunicação. Informações. IPv4. IPv6.

6 SILVA, Natália Rafaela Nascimento. Análise de desempenho dos protocolos IPv4 e IPv6 em servidores web com diferentes plataformas. 2012. 70 f. Monografia. (Bacharelado em Sistemas de Informação). Faculdade Sete de Setembro, FASETE. Paulo Afonso BA. ABSTRACT The Internet offers a number of communication resources important to the dissemination of information. Nowadays, it is impossible to imagine the world without it, it took part in the homes of people around the world. Being connected to the global network has become a necessity. Therefore it is necessary a communication to which the user will have to navigate, where the search time and response is quick. You need to create web servers with a good setup so that the exchange of information with the user takes place in quickly and accurately. This paper provides a literature survey and a practical examination in the laboratory, which aims to evaluate the performance of IPv4 and IPv6 web servers with different platforms showing which protocols performed better. From the results it was found that IPv6 had better performance on both Web servers, which represents a gain for the user, this is directly linked to changes in the header of the new version, which causes network devices to process packets faster. But this test is not enough to cause users to migrate to the new version, we need protocols coexist and then change completely to IPv6, requiring changes not only the user but also the companies that provide network access. Key-words: Internet. Internet Protocol. Web Communication Servers. Information. IPv4. IPv6.

7 LISTA DE FIGURAS Figura 1: Cabeçalho IPv4 (Protocolo de Internet versão 4)...22 Figura 2: Cabeçalho fixo do IPv6 (obrigatório)...27 Figura 3: Visão do Sistema Operacional....34 Figura 4: Endereço IPv4 do Servidor Windows Server 2008 e do Cliente Windows 7...49 Figura 5: Configuração do Servidor Web IIS com o IPv4....49 Figura 6: Página em HTML com endereço IPv4 do arquivo a ser baixado...50 Figura 7: Endereço IPv6 do Servidor Windows Server 2008 e do Cliente Windows 7...51 Figura 8: Página em HTML com endereço IPv6 do arquivo a ser baixado...51 Figura 9: Endereço IPv4 do Servidor Back Track e do Cliente Windows 7...52 Figura 10: Página em HTML com endereço IPv4 do arquivo a ser baixado...53 Figura 11: Endereço IPv6 do Servidor Back Track e do Cliente Windows 7...54 Figura 12: Página em HTML com endereço IPv4 do arquivo a ser baixado...54

8 LISTA DE GRÁFICOS Gráfico 1: Tempo total do download e da taxa de tráfego utilizando o IPv4 no Servidor IIS...57 Gráfico 2: Tempo total do download e da taxa de tráfego utilizando o IPv6 no Servidor IIS...58 Gráfico 3.:Tempo total do download e da taxa de tráfego utilizando o IPv4 no Servidor Apache...59 Gráfico 4: Tempo total do download e da taxa de tráfego utilizando o IPv6 no Servidor Apache....60 LISTA DE TABELA Tabela 1 - Classificação, intervalos e capacidades dos endereços IP...22 Tabela 2 - Resultado final dos testes obtidos endereços IP...61

9 LISTA DE SIGLAS ASF - Apache Software Foundation NCSA - Centro Nacional para Aplicações de Super Computação QoS - Conceito de Qualidade de Serviços DHCP- Dynamic Host Configuration Protocol FSF - Free Software Foudation. FTP - File Transfer Protocol GPL - Licença Pública Geral HTML - HyperText Markup Language HTTP - Protocolo de Transferência de Hipertexto. IIS - Internet Information Services IP- Protocolo de Internet IPSEC Protocolo de Segurança IPV4 Protocolo de Internet versão 4 IPV6 - Protocolo de Internet versão 6 LANs - Local Area Network NAT- Network Address Translation NCP - Protocolo de Controle. RFC- Request for Comments SSL Secure Socket Layer TCP - Protocolo de Controle de Transmissão UDP- User Datagram Protocol WANs - Wide Area Network

10 SUMÁRIO CAPÍTULO I CONSIDERAÇÕES FINAIS...12 1 INTRODUÇÃO...13 1.1 JUSTIFICATIVA...14 1.2 PROBLEMAS DE PESQUISA...15 1.3 HIPÓTESES...15 1.4 OBJETIVOS...15 1.4.1 Objetivo Geral...15 1.4.2 Objetivos Específicos...15 1.5 ORGANIZAÇÃO DO TRABALHO...16 CAPÍTULO II REFERENCIAL TEÓRICO...17 2 REFERENCIAL TEÓRICO...18 2.1 HISTÓRIA DA INTERNET...18 2.2 PROTOCOLO DE INTERNET (IP)...19 2.3 PROTOCOLO DE INTERNET VERSÃO 4 (IPv4)...19 2.3.1 Classificação dos Endereços IPv4...20 2.3.2 Cabeçalho IPv4...22 2.4 PROTOCOLO DE INTERNET VERSÃO 6 (IPv6)...26 2.4.1 Cabeçalho do IPv6...27 2.5 CLASSIFICAÇÃO DE SOFTWARE...30 2.5.1 Software Livre...31 2.5.1.1 Open Source...32 2.5.1.2 Livre Comercial...32 2.5.2 Software proprietário...33 2.6 SISTEMAS OPERACIONAIS...33 2.6.1 Windows Server 2008...36 2.6.2 Back Track..37 2.6.3 Windows 7..37 2.7 SERVIDOR WEB...38 2.7.1 Servidor Apache...39 2.7.2 IIS...40 CAPÍTULO III METODOLOGIA DA PESQUISA...41 3 METODOLOGIA DE PESQUISA...42 3.2 ABORDAGEM...42 3.2 PESQUISA BIBLIOGRÁFICA...42 3.3 DESCRIÇÃO DO LABORATÓRIO PARA A REALIZAÇÃO DA PRÁTICA...44 3.3.1 Ferramentas...44 3.3.1.1Virtual Box...44 3.3.1.2NetTraffic...45 3.3.2 Linguagem...46

11 3.3.2.1HTML...46 3.3.3 Ambientes de Testes...47 3.3.1 Configuração dos Equipamentos Utilizados...47 3.3.2 Descrição do Processo de Avaliação do ambiente (A)...48 3.3.3 Descrição do Processo de Avaliação do ambiente (B)...52 CAPÍTULO IV ANÁLISE DOS RESULTADOS...56 4 ANÁLISE DOS RESULTADOS OBTIDOS...57 4.1 AVALIAÇÃO DO AMBIENTE (A)...57 4.2 AVALIAÇÃO DO AMBIENTE (B)...59 CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS...62 CONSIDERAÇÕES FINAIS...63 TRABALHOS FUTUROS...64 REFERÊNCIAS...65

CAPÍTULO I CONSIDERAÇÕES INICIAIS 12

13 1 INTRODUÇÃO A internet desde o seu surgimento até os dias de hoje passou por muitas modificações. Começou como uma pequena rede militar e de pesquisa e em seguida tornou-se uma grande rede, interligando milhares de usuários e países, aumentando assim, o acesso as diversas informações disponibilizadas na rede. Após alguns anos a internet já estabelecida como uma grande comunidade de pesquisadores e desenvolvedores passou a ser utilizada pela maioria das pessoas como meio de comunicação, através da utilização das ferramentas de bate papo e redes sociais. Com isso, houve um aumento significativo na quantidade de usuários e dispositivos conectados na rede, porém de contra partida, ocorreu à diminuição dos endereços disponíveis para este acesso. A partir daí, começou a preocupação em aumentar esta quantidade de endereços, entretanto, a versão 4 do protocolo de internet (IPv4), não oferecia meios para que isso fosse possível, uma vez que as possíveis combinações dos campos dos endereços já haviam sido feitas, pensou-se ainda em algumas soluções como o Network Address Translation (NAT), porém ainda assim não era o suficiente. Com isso surgiu a versão 6 do protocolo de internet (IPv6), onde segundo Silva (2008), ele ressalta que o IPv6 tem uma quantidade maior de endereços, sendo capaz de atender os usuários existentes e os demais que forem surgindo ao longo do tempo. Com a grande quantidade de usuários utilizando a rede e várias informações sendo disponibilizadas, os servidores web passaram a ser utilizados como principal ferramenta de armazenamento e disponibilização destas informações. Diante disto, surge à necessidade de abordar as versões do protocolo de internet para diagnosticar o desempenho dos mesmos em servidores web com diferentes plataformas, através de uma pesquisa bibliográfica e uma análise de desempenho de tráfego em rede, realizada através de testes em laboratório.

14 1.1 JUSTIFICATIVA O crescimento da internet se deu de forma muito rápida, revolucionando o mundo dos computadores e das comunicações como nenhuma invenção foi capaz de fazer antes. Sua influência não atinge somente os campos técnicos das comunicações via computadores, mas toda a sociedade na medida em que as ferramentas online são utilizadas. O início de sua utilização comercial por volta de 1993 junto à política vigente de alocação de endereços, aparentemente poderiam fazer com que seu espaço de endereçamento se esgotasse em um prazo de 2 ou 3 anos, sendo assim já estimava-se um possível colapso no crescimento da rede. Nos últimos anos, a internet demonstrou uma altíssima taxa de crescimento que superou as mais otimistas expectativas de uma década atrás. Isto, eventualmente, trouxe problemas que não estavam previstos. Com o grande número de hosts conectados, os endereços IP tornaram-se escassos principalmente pela maneira ineficiente como foram divididos em classes. (THIBES, 2005, p. 19) Apesar de ter sido usado tecnologias para evitar a falta de endereços IPv4, infelizmente não foi possível se manter assim por muito tempo, uma vez que está havendo um aumento de dispositivos conectados a rede, necessitando assim de um endereço para se comunicar. Para tanto fez-se necessário a criação de uma nova versão deste protocolo, a fim de que este pudesse oferecer aos usuários uma quantidade maior de endereços. A partir daí surgiu o IPv6, que vem para suprir as necessidades de seu antecessor. Este aumento na quantidade de endereços e investimento nos servidores web proporciona aos usuários um melhor acesso as informações, uma vez que estas estão armazenadas nestes servidores, com isso será possível manter o crescimento da rede, disponibilizando aos usuários o acesso a mesma. Com isso, o presente trabalho tem como proposta apresentar o desempenho do IPv4 e IPv6 em servidores web com diferentes plataformas.

15 1.2 PROBLEMA DE PESQUISA Com o crescimento da internet houve um aumento significativo de usuários na rede, gerando assim uma diminuição na quantidade de endereços IPv4. A partir daí surgiu a necessidade do aumento destes endereços, com isso, criou-se a nova versão do protocolo de internet versão 6, que vem justamente para solucionar este problema. Com a utilização do protocolo de internet versão 6 qual será o ganho para o usuário no tempo de resposta da rede? Será que ele conseguirá ter melhor desempenho que o seu antecessor? 1.3 HIPÓTESES Através da análise realizada será possível identificar qual das versões do protocolo de internet obteve melhor desempenho; Como o teste será realizado em sistemas operacionais com plataformas diferentes haverá diferença no tempo de transferência; A utilização do IPv6 trará bons resultados para o usuário em termo de desempenho de tráfego na rede. 1.4 OBJETIVOS 1.4.1 Objetivo Geral Verificar o desempenho dos protocolos IPv4 e IPv6 em servidores web com diferentes plataformas, identificando qual dos dois obteve melhor desempenho. 1.4.2 Objetivos Específicos Identificar as vantagens e desvantagens do IPv4 e IPv6; Medir e avaliar o tráfego gerado em cada uma das versões do protocolo; Verificar as mudanças ocorridas no cabeçalho de uma versão para a outra.

16 1.5 ORGANIZAÇÃO DO TRABALHO Este primeiro capítulo contextualiza o conteúdo a ser apresentado assim como a organização deste documento, incluindo o objetivo geral e específico. O Capítulo 2 traz informações sobre o surgimento da internet, do Protocolo de Internet (IP), assim como de suas versões, descrevendo as diferenças do cabeçalho destas, bem como importância e benefício na utilização de alguma destas versões. Discorre ainda sobre a classificação dos softwares e dos sistemas operacionais que serão utilizados na análise prática. Finalizando com os servidores web. O Capítulo 3 é composto das metodologias utilizadas, para a realização da pesquisa e da prática deste estudo, evidenciando as ferramentas e linguagem escolhidas. Descrevendo ainda os ambientes e os processos de testes. O Capítulo 4 apresenta a análise dos resultados obtidos através de uma prática em laboratório e as considerações finais desta pesquisa, assim como, algumas sugestões para trabalhos futuros, relacionados ao trabalho exposto. As Referências envolvem todo o material bibliográfico e sites utilizados no processo de desenvolvido deste estudo.

CAPÍTULO II REFERENCIAL TEÓRICO 17

18 2 REFERENCIAL TEÓRICO Neste capítulo será abordado inicialmente sobre a história da internet, em seguida Protocolo de Internet, desde o seu surgimento ate os dias de hoje, classificação de softwares, Sistemas Operacionais, enfatizando os que serão utilizados para a realização da prática, descrevendo ainda sobre Servidores Web identificando e explanando os que irão ser utilizados no laboratório. 2.1 HISTÓRIA DA INTERNET A internet surgiu por volta dos anos 50 durante a Guerra Fria, onde o Departamento de Defesa dos Estados Unidos queria uma rede de controle e comando, que fosse capaz de sobreviver a uma guerra nuclear, uma vez que todas as comunicações militares passavam pela rede de telefonia pública e esta era considerada vulnerável. Sendo assim, os países envolvidos na guerra poderiam interceptar os sinais e ter acesso as informações. Quando a ameaça da Guerra Fria passou, ArpaNet tornou-se tão inútil que os militares já não a consideravam tão importante para mantê-la sob a sua guarda. Foi assim permitido o acesso aos cientistas que, mais tarde, cederam a rede para as universidades as quais, sucessivamente, passaram-se para as universidades de outros países, permitindo que pesquisadores domésticos a acessarem, até que mais de 5 milhões de pessoas já estavam conectadas com a rede e, para cada nascimento, mais 4 se conectavam com a imensa teia da comunicação mundial. (BOGO, 2000) A partir daí, surgiu a ARPANET uma pequena rede de computadores, criada pela ARPA, com o intuito de que cada computador independentemente de fabricante pudesse se conectar a um computador específico. Tempos depois isso se tornou uma realidade, sendo utilizada entre quatro nós de Universidades diferentes para formar uma rede, onde a comunicação era controlada através do Protocolo de Controle (NCP). A internet é utilizada tanto por indivíduos quanto organizações como agências governamentais, escolas, centro de pesquisa, corporações e bibliotecas em mais de 100 países. (FOROUZAN, 2006, p. 44) A internet sofreu muitas modificações desde o seu surgimento, passando a ser constituída por muitas redes locais de computadores (LANs) e redes de longas

19 distâncias (WANs) que trabalhando juntas conectam vários dispositivos, e usuários dos mais variados setores. 2.2 PROTOCOLO DE INTERNET (IP) O Protocolo de Internet (IP) pertence à camada de rede e serve para controlar os processos de envio host-to-host na internet, através da entrega de datagramas, que são pacotes, sendo considerado não confiável e sem conexão. Embora, não ofereça garantias da entrega, ele faz o possível para que ela seja realizada. O elemento que mantém a Internet unida é o protocolo da camada de rede, o IP (Internet Protocol). Ao contrário da maioria dos protocolos da camada de rede mais antigos, o IP foi projetado desde o início tendo como objetivo a interligação de redes. A tarefa do IP é fornecer a melhor forma possível de transportar datagramas da origem para o destino, independentemente dessas máquinas estarem na mesma rede ou de haver outras redes entre elas. (TANEMBAUM, 2003; p.496). Um endereço IP pode ser entendido fazendo uma analogia com um endereço residencial ou comercial, onde o residencial especifica um país, estado, cidade, rua e o local na rua, e o IP identifica um nó especificando o número da rede, sub-rede e do nó. Segundo a RFC 791 (1981), a função ou finalidade do Protocolo de Internet é mover datagramas de um conjunto de redes interconectadas. Isto é feito fazendo passar os datagramas de um módulo de internet para outro até que o destino seja alcançado. Pensando em confiabilidade, o IP deve ser combinado ao Protocolo de Controle de Transmissão (TCP), que é orientado à conexão e fornece controle de fluxo e confiabilidade. Esses dois unidos fornecem todos os serviços que uma rede precisa. 2.3 PROTOCOLO DE INTERNET VERSÃO 4 (IPv4) Atualmente, o protocolo da camada de rede na internet é o IPv4. Embora, este tenha sido bem projetado, a comunicação de dados evoluiu desde a época da sua criação, o que acabou gerando algumas deficiências neste sentido.

20 O protocolo IPv4 é a tecnologia que está por trás da rede mundial, Internet. O rápido crescimento da Internet tem esgotado esta tecnologia e muitos esforços têm sido feitos para sua evolução. Entre as limitações apresentadas pelo IPv4, podemos destacar o uso de endereços compostos por 32 bits divididos em classes. (ALBUQUERQUE, 2001, p. 1). Tanembaum (2003) ressalta que a comunicação através do TCP/IP requer dois parâmetros: um endereço de IP e uma máscara de sub-rede, em se tratando de uma rede grande ela pode ser segmentada em sub-redes manipulando a máscara de sub-rede, com isso, vale ressaltar que caso a máscara de sub-rede seja alterada o número de sub-redes e os nós na rede também serão alterados. Os endereços de IP têm quatro partes onde cada uma é chamada de octeto, por possuir oito bits e fornecem endereços de 32 bits, onde a primeira parte do sempre identifica a classe da rede. Há cinco classes de endereço e a cada uma pode-se atribuir um número diferente de endereços. 2.3.1 Classificação dos Endereços IPv4 Apesar do espaço de endereçamento do IP versão 4 ter 32 bits, o que representa 4.294.967.296 endereços, quase o suficiente para dar um IP exclusivo para cada habitante do planeta, a política utilizada para alocação inicial destes não foi favorável a uma utilização racional dos mesmos, onde esse espaço foi dividido em cinco classes, A, B, C, D e E. O IPv4 consiste em cinco classes de endereços, rotulados pelas letras A até E. Os endereços das Classes A, B e C, estão disponíveis para reserva. Os endereços da classe D são separados para aplicativos especiais que utilizem o multicast e os endereços de Classe E são experimentais. (SCRINGER, 2002, p.104). A classe A tem um intervalo de 1 126 no primeiro octeto, onde o primeiro octeto se refere à rede e os outros três seguintes ao host, existindo apenas 126 faixas de endereços classe A disponíveis no Mundo, com aproximadamente 16 milhões de endereços cada, que são dadas a governos, instituições e, em alguns casos, a empresas privadas. As faixas de endereços dessa classe consomem cerca da metade dos endereços IP disponíveis, representando um desperdício, já que nenhuma das faixas é completamente utilizada. As redes dessa classe utilizam uma máscara de sub-rede padrão de 255.0.0.0.

21 A classe B tem um intervalo de 128 191 no primeiro octeto, onde os dois primeiros octetos se referem à rede e os outros dois ao host, com aproximadamente 16 mil segmentos de 64 mil endereços cada. A máscara de sub-rede padrão para uma rede da classe B é 255.255.0.0. A classe C tem um intervalo de 192 223 no primeiro octeto, onde os três primeiros octetos se referem à rede e o outro ao host, com aproximadamente 2 milhões de segmentos de 256 endereços cada. A máscara de sub-rede padrão para uma rede dessa classe é 255.255.255.0. Nos endereços classe B e C há desperdício de endereços, as empresas alugam faixas classe C para utilizar apenas alguns endereços. A classe D tem um intervalo de 224 239 no primeiro octeto. As redes dessa classe são utilizadas apenas para multicasting, transmissão de datagramas IP desde uma fonte para múltiplos destinatários de uma rede, utilizando uma máscara de sub-rede de 255.255.255.255. Os formatos das classes A, B,C e D permitem até 128 redes com 16 milhões de hosts cada, 16.384 redes com hosts de até 64 K, dois milhões de redes (por exemplo, LANs) com até 256 hosts cada, embora algumas dessas redes sejam especiais. (TANENBAUM, 2003, p. 465) A classe E tem um intervalo de 240 255 no primeiro octeto. As redes dessa classe são reservadas para uma utilização futura. Somente uma quantidade limitada dessas classes está disponível. Por exemplo, os primeiros componentes com valores entre 1 e 126 são reservados para os endereços Classe A. Na prática menos de 50 endereços Classe A foram atribuídos, basicamente para os criadores da Internet, como as forças armadas e empresas de telecomunicação americanas. Os primeiros componentes entre 128 e 191 são para os endereços Classe B, e os que estão entre 192 e 223 são para os endereços Classe C. Os primeiros componentes a partir de 224 são endereços reservados para classes D e E (ALMEIDA, 1999, p. 1). A tabela 1 ilustra a divisão das classes de IP, que são separadas para distinguir redes pequenas, médias e grandes. Caso uma rede tenha milhões de hosts, empresas grandes, talvez precisem de um endereço classe A, sendo que poucos endereços desta classe estão disponíveis. Já as empresas de tamanho médio

22 podem utilizar um endereço da classe B, porém é mais comum a utilização dos classe C. Tabela 1 Intervalos e capacidades de endereço IP Classe de endereço Primeiro Intervalo do octeto Número de redes Número de hosts por rede A 1-126 126 16.777.214 B 128-191 16.384 65.534 C 192-223 2.097.152 254 D 224-239 n/d n/d E 240-254 n/d n/d Tabela 1 - Classificação, intervalos e capacidades dos endereços IP. Fonte: SCRIMGER, 2002; p. 106 Como ilustra a tabela 1 os endereços da classe D e E não suportam o endereçamento de host no sentido comum, diferentemente das outras classes. 2.3.2 Cabeçalho IPv4 Datagramas são os pacotes na camada IP que possuem tamanhos variáveis consistindo de duas partes: cabeçalho e dados, onde o primeiro possui uma parte fixa de 20 bytes e uma parte opcional de tamanho variável, que contém informações indispensáveis para os serviços de roteamento e entrega. Segundo Tanembaum (2003), ele é transmitido da esquerda para a direita com o bit de mais alta ordem do campo Versão aparecendo primeiro, como pode ser visualizado na figura 1. Figura 1. Cabeçalho IPv4 (Protocolo de Internet versão 4) Fonte: Disponível em <http://www.gta.ufrj.br/grad/06_1/ipv6/mudancas.htm> acesso dia 17 de Outubro de 2011.

23 Cada datagrama que vai ser entregue é tratado o erro de forma independente, podendo seguir uma rota diferente até o destino, isto implica dizer que a ordem de saída pode não ser a mesma de entrega, podendo haver a possibilidade de perca de pacotes durante a transmissão, sendo assim há a utilização do TCP, que vai ser o responsável por essas garantias. Como visto na figura 1, o cabeçalho do IPv4 esta dividido em alguns campos, os quais segue uma explicação logo abaixo. O campo Versão controla a versão do protocolo à qual o datagrama pertence, neste caso é o número 4. Como o cabeçalho varia de tamanho, existe um campo nele, o IHL, que serve para informar o seu tamanho em palavras de 32 bits, onde o valor mínimo é 5, quando não há nenhuma opção presente e o valor máximo é 15. O campo IHL representa o número de palavras de 32 bits encontradas no cabeçalho. Uma palavra de 32 bits é formada por 4 octetos. Com 4 bits é possível representar no máximo 15 unidades maiores que zero. Em função disto, o tamanho total do cabeçalho fica limitado a 60 bytes. Como 20 bytes já são usados pela parte fixa, sobram 40 bytes para a parte variável. (GOMES, 2008, p.1) O campo Tipo do Serviço é destinado a distinguir entre classes de serviço, onde são possíveis várias combinações de confiabilidade e velocidade. Em algumas aplicações a entrega rápida sobressai a segura, como no caso de voz digitalizada, porém para a transferência de arquivos, uma transmissão sem erros é mais importante do que uma transmissão rápida. O campo Tamanho Total tem o seu tamanho máximo de 65.535 bytes onde, atualmente, esse limite superior é tolerável, mas, com as futuras redes de gigabits serão necessários datagramas maiores. O campo Identificação é necessário para permitir que o host de destino determine a qual datagrama pertence um fragmento recém-chegado, cada pacote possui uma identidade única de 8 bits. Em seguida, há um bit não utilizado e dois campos de 1bit, o Don t fragment (NF), ou seja, não fragmentar, que trata de uma ordem para os roteadores não fragmentarem o datagrama, isso ocorre devido à máquina de destino ser incapaz de juntar os

24 fragmentos novamente. Caso o campo seja marcado, o transmissor sabe que ele chegará em um único fragmento. O outro campo de 1 bit, é o More fragments (MF), ou seja, mais fragmentos, onde todos exceto o último, têm esse conjunto de bits, que é necessário para se saber quando chegaram todos os fragmentos de um datagrama. O campo Identificação de Fragmento informa a que ponto do datagrama atual o fragmento pertence, conforme Tanembaum (2003) aborda que todos os fragmentos do Datagrama, com exceção do ultimo,devem ser múltiplos de 8 byts, a unidade elementar de fragmento. O campo Tempo para viver serve para contar o tempo em segundos, para limitar a vida útil dos pacotes, permitindo uma vida máxima de 255 s. Esse contador deve ser decrementado a cada hop (salto). O campo Protocolo informa a que processo de transporte o datagrama deve ser entregue. O TCP é uma possibilidade, mas também há o UDP e alguns outros. O campo Checksum do Cabeçalho serve para conferir o cabeçalho, através de uma verificação útil para a detecção de erros gerados por palavras de memória incorretas em um roteador. Esse campo deve ser recontado a cada hop, porque pelo menos um campo sempre se altera como é o caso do campo Tempo para viver, mas existem artifícios que podem ser usados para acelerar o calculo. Inicialmente se supõe que o valor do campo Header Checksum seja zero. O objetivo do algoritmo é somar as meias palavras (cada 16 bits) no momento em que chegam, usando aritmética de "complemento de um". Após todas as meias palavras terem chegado é calculado o "complemento de um" de todas os resultados das meias palavras. Este será o valor armazenado no campo Header Checksum. (RFC 791, 1981, p. 1) Os campos Endereço da Fonte e Endereço de Destino servem para indicar o número da rede e o número do host. O campo Opções foi projetado para permitir que versões posteriores do protocolo incluam informações inexistentes no projeto original, possibilitando a experimentação de novas idéias e evitando a alocação de bits de cabeçalho para informações raramente necessárias. (TANEMBAUM, 2003; p.463).

25 Além da limitação da quantidade de endereços no IPv4, há também a falta de uma camada de segurança, pois o mesmo foi desenvolvido para ser usado em redes onde as pessoas confiam umas nas outras, diferentemente da forma em que se encontra a internet atual, onde a cada instante há uma invasão ocorrendo e novas formas de ataques sendo criadas, por isso precisa ser adicionada camadas de autenticação e encriptação, através de protocolos implantados sobre o TCP/IP. O protocolo IPv4 não disponibiliza nenhum mecanismo de segurança para os dados que são transmitidos pela rede, possibilitando assim que um invasor intercepte uma conexão e tenha acesso aos dados que estão sendo trafegados. É possível fazer a implementação do IPSEC utilizando IPv4, porém a sua configuração pode ser tornar complexa. (SISNEMA, 2009). Para contornar a falta de endereços, algumas tecnologias foram desenvolvidas, que funcionaram como uma solução paliativa para esse problema, como o Network Address Translation (NAT), que permite que com apenas um endereço válido, toda a rede baseada em endereços privados tenha conexão, embora limitada, com a internet. Apesar do NAT ser uma solução muito utilizada, traz uma série de problemas, ele acaba com o modelo de funcionamento fim a fim (peer to peer), trazendo complicações ou impedindo o funcionamento de uma série de aplicações que exijam um processamento pesado. Seu funcionamento acaba dando uma falsa sensação de segurança a muitos administradores de rede, colaborando assim para a não adoção de boas práticas de segurança nas empresas. Outra solução para a falta de endereços é o Dynamic Host Configuration Protocol (DHCP), descrito pela RFC 2131, que permite a alocação dinâmica de endereços IP, possibilitando aos provedores reutilizarem endereços de Internet fornecidos a seus clientes para conexões não permanentes, como as realizadas através de linhas discadas ou ADSL. Essas tecnologias reduziram a demanda por novos números IP. A alocação dinâmica é o único dos três mecanismos que permite a reutilização automática de um endereço que não é mais necessário pelo cliente para o qual foi atribuído. Assim, a alocação dinâmica é particularmente útil para a atribuição de um endereço para um cliente que irá ser conectado à rede apenas temporariamente ou para compartilhar uma limitada pool de endereços IP entre um grupo de clientes que não necessitam de permanentes endereços IP. (RFC 2131)

26 2.4 PROTOCOLO DE INTERNET VERSÃO 6 (IPv6) A versão 6 do Protocolo de Internet (IPv6), foi desenvolvido para solucionar definitivamente o problema com a falta de endereços, aumentando de uma cadeia de 32 bits para uma de 128, gerando assim 340.282.366.920.938.463.463.374.607.431.768.211.456 de endereços IP ou 2 128, representando 79 trilhões de trilhões de vezes a quantidade de endereços disponíveis na versão 4, sendo assim toda a necessidade atual e futura da internet será suprida. Para atender a essa necessidade de maior espaço para endereços IP, um novo protocolo IP, o IPv6, foi desenvolvido.os projetistas do IPv6 também aproveitaram essa oportunidade para justar e ampliar outros aspectos do IPv4 com base na experiência operacional acumulada sobre esse protocolo. (KUROSE, 2006, p.270) Essa versão foi desenvolvida ao longo de 10 anos, no seu projeto foi mantido os princípios do seu antecessor o IPv4, buscando suprir todas as suas carências, onde além da grande capacidade de endereçamento, o novo formato permite uma arquitetura hierárquica, possibilitando um encaminhamento mais eficiente dos pacotes, distribuição de IP s fixos e válidos para conexões DSL, Modems a cabo e telefones móveis, sem falar no fornecimento de endereços válidos na internet para todos os dispositivos conectados a ela, utiliza ainda a arquitetura fim-a-fim e elimina os problemas associados ao NAT, onde existir uma pequena rede, com diversos computadores ou ainda com outros dispositivos, cada um deles terá um endereço IP fixo e válido na Internet. Outra modificação importante em relação ao seu antecessor é a simplificação do cabeçalho, contendo apenas sete campos, seis a menos que a versão anterior, sendo um ganho, pois essa mudança permite aos dispositivos de rede processarem os pacotes com mais rapidez melhorando o throughput e o retardo. Através das mudanças ocorridas nessa nova versão, houve um melhor suporte as opções oferecidas, onde os campos que eram obrigatórios são agora opcionais. Para garantir a qualidade do tráfego de determinadas aplicações como Voip, distribuição de vídeos de alta qualidade e jogos online é aplicado a Internet o conceito de Qualidade de Serviços (QoS), através da implementação de especificações que priorizam o fluxo de determinados pacotes. Para isso, foram

27 designados dois campos do cabeçalho IPv6, a Classe de Tráfego e o Indicador de Fluxo. A autenticação e a privacidade são recursos importantes do novo IP, porém, esses recursos já foram integrados ao IPv4. Por fim, foi dada maior atenção à qualidade de serviço. 2.4.1 Cabeçalho do IPv6 O IPv6 introduz um novo formato de cabeçalho, onde todos os campos deste novo cabeçalho possuem tamanho fixo, totalizando 64 bytes. O fato de esse possuir um tamanho fixo acelera bastante o processamento dos pacotes pelos dispositivos de rede, visto que não haja necessidade de calcular a extensão de certos campos, e nem o tamanho do cabeçalho como um todo. Além disso, ocorreu uma redução do número de campos utilizados, como mostra a figura 2, por meio da exclusão de campos de pouca utilidade prática. Figura 2. Cabeçalho fixo do IPv6 (obrigatório) Fonte: Disponível em <http://www.gta.ufrj.br/grad/06_1/ipv6/mudancas.htm> acesso dia 17 de Outubro de 2011. Conforme Sofia (1998), o IPv6 mantém as principais características que fizeram do IPv4 um sucesso mundial. Assim como, o IPv4 é um protocolo sem conexão - cada datagrama contém um endereço de destino e é roteado de forma independente. O IPv6 também possui um número máximo de roteadores por onde pode passar (Hop Limit).

28 Segue-se uma explanação sobre os campos do cabeçalho do IPv6. O campo Versão neste caso será preenchido pelo número 6, devido a versão do protocolo. O campo Version é sempre 6 para o IPv6 (e 4 para o IPv4). Durante o período de transição do IPv4, que provavelmente durará uma década, os roteadores serão capazes de examinar esse campo para identificar o tipo de pacote que eles têm. O campo Traffic class é usado para fazer distinção entre pacotes com diferentes requisitos de entrega em tempo real. (TANENBAUM, 2003, p. 496) O campo Classe de Tráfego é usado para assinalar a classe de serviço a que o pacote pertence, permitindo assim dar diferentes tratamentos a pacotes vindos de aplicações com exigências distintas. Este campo serve de base para o funcionamento do mecanismo de qualidade de serviço (QoS) na rede. O campo Identificação de Fluxo é usado com novas aplicações que necessitem de bom desempenho, permitindo uma associação de datagramas que fazem parte da comunicação entre duas aplicações, e é usado para enviar datagramas ao longo de um caminho pré-definido. O campo Tamanho dos Dados determina o volume de dados em bytes que o pacote transporta. O campo Próximo Cabeçalho revela um segredo, onde este pode ser simplificado, porque existe a possibilidade de haver outros deste de extensão, se houver algum, e quando esse cabeçalho for o último do IP, esse campo revelará para qual trator de protocolo de transporte o pacote deverá ser enviado, se é o TCP ou UDP. Next Header, próximo cabeçalho - Indica o tipo do possível cabeçalho de extensão que segue o cabeçalho IPv6. Caso não esteja se utilizando cabeçalho de extensão, este campo indica a qual protocolo de transporte o pacote deve ser repassado. (SILVA, 2001, p. 1) O campo Limite de Saltos é usado para impedir que os pacotes tenham duração eterna, indicando o número máximo de saltos que o datagrama pode dar, antes de ser descartado.

29 Em seguida, vêm os campos Endereço da Fonte e Endereço do Destino, que diferentemente do IPv4, que utiliza endereços de 8 bytes, essa versão utiliza 16 bytes evitando assim o esgotamento dos endereços disponíveis. Muitas pessoas perceberam que, com endereços de 8 bytes, o IPv6 esgotaria os endereços disponíveis em apenas algumas décadas, enquanto os endereços de 16 bytes nunca se esgotaria. (TANENBAUM, 2003, p. 498) Foi criada uma nova notação para representar endereços de 16 bytes. Eles são escritos sob a forma de oito grupos de quatro dígitos hexadecimais, separados por sinais de dois-pontos entre os grupos, como por exemplo, 8000:0000:0000:0000: 0123:4567:89AB:CDEF. A notação escolhida para representar um endereço IPv6 consiste de agrupar os 128 bits em oito grupos de 16 bits. Cada grupo é representado por números hexadecimais de quatro algarismos, sendo os grupos separados entre sí pelo símbolo de dois pontos :. (FARIA, 2001, p. 1) Como vários endereços irão conter muitos zeros foram autorizadas três otimizações onde conforme Tanembaum (2003) ressalta que, em primeiro lugar, os zeros à esquerda dentro de um grupo podem ser omitidos. Em segundo lugar, um ou mais grupos de 16 bits zero podem ser substituídos por um par de sinais de dois-pontos. Por fim, os endereços IPv4 podem ser escritos empregando-se par de sinais de dois-pontos e um número decimal tradicional, como por exemplo: ::192.31.20.46. No IPv6 foram definidos três tipos de endereços, o Unicast - que identifica uma única interface, o Anycast - que identifica um conjunto de interfaces tais que um pacote enviado a um endereço Anycast seja entregue a qualquer um dos membros desse conjunto e o Multicast - que identifica um grupo de interfaces, tais que um pacote enviado a um endereço Multicast seja entregue a todas as interfaces do grupo. Não existe nenhum endereço Broadcast no IPv6, sendo sua função substituída por endereços Multicast. Na arquitetura de endereçamento IPv6, há 3 tipos de endereços: Unicast, Multicast e Anycast. Os endereços do tipo Broadcast foram abolidos da arquitetura, mas essa funcionalidade é provida pelos endereços Multicast. Endereços de qualquer tipo podem ser assinalados a uma interface, e uma única interface pode compartilhar mais de um endereço que também podem ser de qualquer tipo. (SILVA, 2001, p. 1)

30 Da mesma forma que no IPv4, os endereços IPv6 são atribuídos as interfaces físicas e não aos nós. É possível atribuir a uma única interface múltiplos endereços, independentemente do seu tipo. Na prática, o espaço de endereços não será usado com eficiência, exatamente como acontece com espaço de endereços dos números telefônicos, porque há uma enorme quantidade de endereços disponíveis, como relata Durand e Huitema (2000) na RFC 3194, eles calcularam que usando a alocação dos números de telefones com um guia, mesmo considerando-se a hipótese mais pessimista, ainda assim haverá mais de 1.000 endereços IP por metro quadrado de toda a superfície da Terra (incluindo rios e mares). Em qualquer situação provável, haverá trilhões deles por metro quadrado. Em resumo, parece improvável que eles venham a se esgotar em um futuro próximo. Os campos relacionados à fragmentação foram removidos nessa nova versão, pois o IPv6 dá um tratamento diferente à fragmentação, onde todos os hosts e roteadores compatíveis com o IPv6 devem determinar dinamicamente o tamanho de datagrama que será usado, diminuindo assim a probabilidade de ocorrer fragmentação, onde quando for enviado um pacote IPv6 grande, o roteador que não puder encaminhá-lo enviará de volta uma mensagem de erro em vez de fragmentálo. Outro campo que foi eliminado foi o Checksum, aumenta de forma significativa o desempenho, porque o cálculo que era feito acaba reduzindo o desempenho. Com a remoção desses recursos, o protocolo da camada de rede ficou muito mais enxuto e prático, atendendo os objetivos propostos pelo projeto dessa versão. 2.5 CLASSIFICAÇÃO DE SOFTWARE Segundo Molinari (2007), a criação de software, consiste em uma área da ciência da computação muito importante, em que é considerada a criação de produtos de software por meio da utilização de ferramentas de desenvolvimento, pagas ou não, além de considerar todo um patrimônio intelectual e ideológico de seus criadores. Com isso, apontam-se os software livres e os proprietários, de acordo com a metodologia utilizada pelo desenvolvedor e pela sua distribuição.

31 2.5.1 Software Livre O software livre teve inicio em 1983 como movimento organizado, quando Richard Stallman deu início ao projeto GNU, cujo objetivo era de criar um sistema operacional totalmente livre garantindo para todos o mesmo direito e em seguida a Fundação para Software Livre a Free Software Foudation (FSF). No processo de criação de um software que envolve tanto direitos autorais quanto intelectuais que devem ser respeitados, o software livre tem ganhado considerável força devido à crescente visão de que, segundo a Free Software Foundation (FSF) (2007), software Livre é uma questão de liberdade, não de preço. Para entender o conceito, você deve pensar em liberdade de expressão, não em cerveja grátis. Livre, vem do inglês free, que pode ser traduzido tanto como gratuito ou mesmo livre. O ponto central software livre se baseia na idéia de se dar liberdade para que usuários executem, copiem, distribuam, estudem, aperfeiçoem e modifiquem um software levando em consideração suas características, expectativas e necessidades, contribuindo para uma visão construtivista e evolucionária em que diversas pessoas podem trabalhar para torná-lo melhor (OSI, 2006, p.1). Uma das características importantes de um software livre é a disponibilização de seu código fonte aos usuários, para que eles possam utilizar, alterar ou mesmo redistribuir o software com suas alterações. Isso faz com que as pessoas tenham acesso à informação, difundindo conhecimento e incentivando a pesquisa científica. A FSF (2007) menciona que, para que um software seja considerado livre, ele deve necessariamente possuir os quatro princípios da liberdade. São elas: Liberdade n.º 0: o usuário deve ter a liberdade de executar o programa, para qualquer propósito; Liberdade n.º 1: o usuário deve ter a liberdade de estudar e adaptar o programa para as suas necessidades. O acesso ao código-fonte é um pré-requisito para essa liberdade; Liberdade n.º 2: o usuário deve ter a liberdade de distribuir cópias de modo que possa ajudar ao próximo; Liberdade n.º 3: o usuário deve ter a liberdade de aperfeiçoar o programa e disponibilizar seus aperfeiçoamentos, de modo a beneficiar toda a comunidade.

32 Uma das características de um software livre é o acesso ao código fonte, um software ser classificado em livre não quer dizer que ele não seja comercial, uma vez que, a idéia de ganhar dinheiro com software livre não está na venda dos produtos fechados, mas sim dos serviços de qualidade que estão expostos, sendo colocados a disposição da comunidade para que possam julgá-los. Geralmente um software para ser livre é regido pela Licença Publica Geral GPL, que é a licença com maior utilização por parte de projetos de software livre, em grande parte devido à sua adoção para o projeto GNU e o sistema operacional. Assim a classificação de software livre pode ser dividida em duas sub-divisões, O Open Source e o Livre Comercial. 2.5.1.1 Open Source É o tipo de software cujo código fonte é distribuído, permitindo que este seja modificado e redistribuído, levando em consideração os princípios de liberdade do software original, proporcionando a sua utilização sem fins comerciais. Alguns estão sujeitos aos termos da licença GPL. Alguns software open source são o Kernel do sistema operacional Linux e o projeto Web Apache TomCat, que podem ser alterados e redistribuídos. 2.5.1.2 Livre Comercial O software livre não exclui a possibilidade de sua utilização comercial, sendo distribuído mediante o pagamento. Porém isso, comercialmente, é comprometido, uma vez que está sob as regras impostas pela GPL no qual, apesar do software ser comercializado, pode ser livremente distribuído sem ônus algum (FSF, 2007, p.1). A maioria desse tipo de software trabalha com a idéia de agregar valores que o torne diferenciado da versão open source, como o empacotamento e venda com outros software integrados, ou como a venda de hardware, que se comporta melhor devido à sua compatibilidade com o software. Diversos exemplos podem ser citados, como as distribuições Linux Red Hat e Mandrake. Nesse tipo de software, ainda é preservada a característica de código fonte aberto. Nem sempre um software gratuito é livre e, no caso, quando um determinado software é livre não é o caso de deixar completamente de ser comercial.

33 2.5.2 Software proprietário Segundo Molinari (2007) software proprietário é aquele que é fornecido através do preço que é definido de acordo com a utilidade que este software tem para uma determinada pessoa que pague o valor sugerido, mesmo que outros discordem completamente desse ponto de vista, portanto, este tipo de software é um produto criado por uma empresa, que detém os direitos sobre os produtos e sua distribuição é feita mediante pagamento de licença de uso. Um software comercial ou proprietário é distribuído sem a disponibilização de seu código fonte, sendo normalmente comercializados de acordo os termos de licença de uso e não de propriedade. O que acontece nesse caso é que, ao adquirir um software, uma pessoa está se comprometendo somente a utilizá-lo, sem direito algum sob aspectos de comercialização ou mesmo de sua redistribuição, podendo responder através de penas e multas severas. Para as pessoas que utilizam este tipo de software é oferecido durante um certo tempo suporte para estes, que vai de acordo com o que ficou definido no momento da compra e da própria legislação ao que o software está atrelada. Apesar desse suporte que é oferecido, o usuário pode sofrer um pouco, dependendo da quantidade de máquinas existentes na empresa, uma vez que quando se paga por uma licença, está é utilizada apenas por um computador, não podendo ser utilizada por outro, com isso a quantidade de computadores existentes na empresa será a quantidade de licenças que serão compradas, gerando um certo custo para este usuário. 2.6 SISTEMAS OPERACIONAIS Para utilizar os primeiros computadores, era preciso conhecer profundamente o seu funcionamento, pois a programação nessa época era feita em painéis, através de fios. Com o avanço das tecnologias de informação e a evolução da informática, este tipo de sistema passou a ser pouco eficiente e muitas vezes causava muitos erros. A partir disto surgiram os primeiros sistemas operacionais, a fim de automatizar o uso dos computadores. A partir daí os Sistemas Operacionais (SO) evoluíram ornandose grandes sistemas com grande capacidade de processamento.

34 Um sistema Computacional moderno consiste em um ou mais processadores, memória principal, interfaces de rede e outros dispositivos de entrada e saída. Desenvolver programas que mantenham o controle de todos esses componentes e os utilizem corretamente de maneira otimizada é um trabalho extremamente difícil. Por isso, os computadores têm um dispositivo de software denominado sistema operacional. (TANEMBAUM, 2003, p. 1) Os Sistemas operacionais e a arquitetura de computador tiveram grande influência entre si, uma vez que os pesquisadores desenvolveram estes tipos de sistemas para facilitar o uso do hardware. Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executado pelo processador, de forma semelhante aos programas dos usuários. Sua principal função é controlar o funcionamento de um computador, gerenciando a utilização e o compartilhamento dos seus diversos recursos. (MACHADO, 2007, p.3) A figura a seguir mostra de uma forma geral uma visão do sistema operacional, que funciona como uma interface entre o usuário e o computador, tornando sua utilização, mais simples, rápida e segura, através do gerenciamento da utilização e compartilhamento dos seus recursos, como processadores, memórias e dispositivos de entrada e saída. Sem este tipo de sistema, o usuário para interagir com o computador teria que ter conhecimento sobre o hardware, o que tornaria seu trabalho lento e com possibilidades de erro. Figura 3. Visão do Sistema Operacional Fonte: KUROSE, 2007, p.4

35 A comunicação do usuário com o sistema operacional se dá através de duas formas básicas de interface, a de linha de comando e a gráfica, onde na maioria dos casos a última forma é a mais usual. O Sistema Operacional oferece determinados serviços aos programas e aos usuários destes programas de modo a facilitar suas tarefas. Os serviços diferem de um sistema operacional para outro. (SILBERSCHATZ, GALVIN e GAGNE, 2001, p.1). Apesar de alguns serviços serem diferentes de um sistema operacional para outro, existem alguns que são padrões. Segundo Oliveira (2004) Todo sistema operacional oferece meios para que um programa seja carregado na memória principal e executado. Talvez o serviço mais importante oferecido pelo sistema operacional seja o que permite a utilização de arquivos. Várias informações sobre o estado do sistema são mantidas pelo sistema operacional, que são necessárias para o funcionamento deste sistema, porém, elas também podem ser fornecidas aos programas e usuários. Dessa forma, a manutenção dessas informações pode ser considerada como mais um serviço que é oferecido. O sistema operacional deve oferecer segurança na execução dos programas e manutenção dos dados, garantindo que cada usuário possa trabalhar sem interferência danosa dos demais. A lista de serviços do sistema operacional é transformada em uma lista de chamadas de sistema, e a parte do sistema operacional responsável por implementá-la é normalmente chamada de núcleo ou kernel, cujo os principais componentes do kernel de qualquer sistema operacional são, a gerência de processador, a gerência de memória, o sistema de arquivos e a gerência de entrada e saída. Os programas de sistema ou utilitários como as vezes são chamados, são programas normais executados fora do Kernel do sistema operacional, utilizando as mesmas chamadas de sistema disponíveis aos demais programas. Por implementar tarefas básicas para a utilização do sistema, muitas vezes são confundidos com o próprio sistema operacional.

36 2.6.1 Windows Server 2008 Os sistemas operacionais de rede Windows são projetados para interagir com os componentes do cliente incluídos nos sistemas operacionais. A primeira geração foi o Windows NT Server, em seguida o Windows 2000 Server, Windows Server 2003 e atualmente o Windows Server 2008. Uma das grandes novidades no Windows Server 2008 é a facilidade de instalação do sistema operacional. Durante a instalação é solicitado o mínimo de informações e as demais configurações são realizadas somente após a instalação. (SANTANA, 2008, p.1) Este sistema possui algumas versões que atendem aos mais diversos públicos, neste caso a versão utilizada foi a do Windows Server 2008 R2 Standard, sendo considerado o mais robusto dos sistemas operacionais desta rede até hoje. Com capacidades web integradas e aprimoradas, está versão foi projetada para aumentar a confiabilidade e a flexibilidade de infraestrutura do servidor, poupando tempo e reduzindo custos. O Windows Server 2008 R2 Standard fornece às organizações a capacidade de oferecer ricas experiências baseadas na web de forma eficiente, com administração e diagnóstico aprimorados, ferramentas avançadas de desenvolvimento e aplicação e custos de infraestrutura reduzidos. (MICROSOFT, 2008, p.1) Por ser uma plataforma de aplicação e serviço web, o Internet Information Services (IIS) fornece um servidor web para hospedar aplicativos e serviços. Inclui uma arquitetura repleta de componentes para uma maior flexibilidade e controle, além de fornecer fácil gerenciamento, diagnósticos poderosos e recursos para economizar tempo. O Windows Server 2008 fornece aos profissionais de TI maior controle sobre o servidor e a infraestrutura de rede, fornecendo sólida plataforma de nível corporativo para lidar com cargas de trabalho de maneira mais eficiente, ou seja, oferecendo alta produtividade de funcionários em locais remotos. (ALEN, 2011, p.1) Conforme afirma Amoroso (2008) o Windows Server 2008 é uma ótima fundação para todos os seus trabalhos dentro de um servidor, sendo ao mesmo tempo fácil de administrar. Além disto existe os recursos de segurança que ajudam a proteger os dados e a rede, onde as ferramentas existentes proporcionam maior controle sobre seus servidores e dinamizam as tarefas de configuração e gerenciamento.

37 2.6.2 Back Track Segundo Soares (2009), o BackTrack é uma distribuição linux voltada para segurança, para ser mais exato, testes de penetração. Por essas habilidades o BackTrack é muito apreciado no mundo dos hackers. Sendo bastante conhecido quando o assunto é testar segurança do computador, este aplicativo é uma evolução de duas distribuições anteriores distintas, onde a junção delas fez com que este sistema ganhasse popularidade. O Back Track atualmente está baseado em Slackware, porém já esteve em muitas outras distribuições Linux. Sua distribuição está sendo utilizada em testes de invasões. O Back Track foi votado em 2006 como a melhor distribuição de testes de segurança pela organização Insecure. De lá para cá, o sistema se tornou uma das versões mais utilizadas tanto por profissionais quanto usuários comuns. (SILVA, 2011, p.1) Atualmente, o BackTrack reúne mais de trezentas ferramentas diferentes e atualizadas, que são estruturadas de maneira a tornar o trabalho de profissionais de segurança ainda mais prático. A estrutura facilita encontrar os aplicativos corretos, melhorando o desempenho das tarefas. Novas tecnologias e técnicas de teste sempre estão sendo atualizadas no BackTrack. Ser um aplicativo de qualidade superior sem se tornar complicado para utilização é a chave para o sucesso de um sistema para testes de segurança. Além disso, ele apresenta testes de invasão em metodologias conhecidas e padronizadas, ajudando os profissionais em seu dia-a-dia. (FONSECA, 2010, p.1) A versão atual conta com aplicações criadas em módulos separados, tornando os processos ainda mais rápidos. 2.6.3 Windows 7 O Windows 7 é o sistema operacional criado pela Microsoft como sucessor do Windows Vista, ele veio para suprir algumas necessidades da versão anterior, mantendo ainda alguns recursos desta, cuja principal reclamação entre os que usavam o Windows Vista foi à constante presença das caixas de confirmação para a

38 movimentação de dados entre pastas, para a instalação de programas e também para o acesso a certas configurações de sistema. Diferentemente do Windows Vista que surgiu com grande número de novas características, o Windows 7 foi uma atualização mais modesta e focalizada para a linha do Windows, tornando-o compatível com aplicações e hardware com os quais o seu antecessor era compatível. De todas as novidades, talvez a que mais agrade aos usuários é a redução do número de serviços que é carregado na inicialização do sistema. Abrindo apenas o necessário para o seu funcionamento, o Windows torna-se mais leve tanto em termos de consumo de memória quanto de processamento. O resultado é um desempenho muito superior em todos os momentos, seja para abrir programas e janelas ou para carregar arquivos, aceitável até mesmo em máquinas não tão robustas, carregando sem dificuldades a interface Aero Glass. (ABRÃO, 2009, p.1) Das versões existentes no Windows 7 a que será utilizada é a Ultimate, sendo considerada a mais versátil e poderosa deste sistema, onde segundo a MICROSOFT (2009) Ele combina os incríveis e práticos recursos do Home Premium com os recursos comerciais do Professional, gerando assim um sistema com diversos recursos para as necessidades dos usuários. 2.7 SERVIDOR WEB Segundo Aurélio (2005), os servidores web são responsáveis pelo armazenamento e a troca de informações com outras máquinas. Onde há pelo menos dois participantes envolvidos em cada troca de informações: um cliente, que é a pessoa que solicita a informação, e um servidor, que é quem atende a esse pedido. Como na web não é possível prever a que hora se dará essa conexão, os servidores web precisam estar disponíveis dia e noite. A partir disto, é processado o pedido do cliente, e conforme as restrições de segurança e a existência da informação solicitada, o servidor devolve os dados. Cada lado exige também um programa especializado para negociar a troca de dados; no caso do cliente, um browser como o Internet Explorer é usado. (AURÉLIO, 2005, p.1)

39 No lado do servidor, existem muitas opções de software disponíveis, todos com a mesma tarefa, negociar transferências de dados entre clientes e servidores via (Protocolo de Transferência de Hipertexto) HTTP, que geralmente são páginas em HTML. Segundo Aurélio (2005), o software depende do sistema operacional escolhido para o servidor. Por exemplo, o IIS da Microsoft é uma escolha popular para Windows, já os usuários do Unix escolhem o Apache mais o Tomcat. Com o aumento dos programas que fazem pedidos HTTP, os ficheiros passam a utilizar além do HTML, imagens, ficheiros de som, pdfs. Além disto, os Servidores Web também podem executar programas e scripts, interagindo mais com o usuário. A origem do conteúdo enviado pelo servidor web pode ser: Estática, vindo diretamente de um ficheiro já existente no servidor ou Dinâmica, se for criada dinamicamente por outro programa, script ou API chamado pelo servidor. 2.7.1 Servidor Apache O Servidor HTTP Apache é o mais bem sucedido servidor web livre, sendo considerado estável e seguro. Foi criado em 1995 por Rob McCool funcionário do Centro Nacional para Aplicações de Super Computação (NCSA). É a principal tecnologia da Apache Software Foundation (ASF), sendo responsável por mais de uma dezena de projetos envolvendo tecnologias de transmissão via web, processamento de dados e execução de aplicativos distribuídos. Numa pesquisa realizada em dezembro de 2007, foi constatado que a utilização do Apache representa 47.20% dos servidores ativos no mundo. Em setembro de 2009 o Apache serviu mais de 54,48% de todos os sites e mais de 66% dos milhões de sites mais movimentados. (MENDES, 2010, p.1) De acordo com Fernando (2011) o Servidor Apache é um software livre, o que significa que qualquer um pode estudar ou alterar seu código-fonte, além de poder utilizá-lo gratuitamente é compatível com o HTTP, tendo suas funções mantidas através de módulos, permitindo ao usuário escrever seus próprios módulos utilizando o API do Software. Por se tratar de um software livre, existem versões do Apache para as versões do Windows e do Linux.

40 O Apache não só executa o HTTP, como outros protocolos, tais como: o HTTPS (O HTTP combinado com a camada de segurança SSL Secure Socket Layer), o FTP (File Transfer Protocol), entre outros. (ALECRIM, 2006, p.1) Para garantir segurança nas transações HTTP, o servidor dispõe de um módulo chamado mod_ssl, o qual adiciona a capacidade do servidor atender requisições utilizando o protocolo HTTPS. Este protocolo utiliza uma camada SSL para criptografar todos os dados transferidos entre o cliente e o servidor, provendo maior grau de segurança, confidencialidade e confiabilidade dos dados. 2.7.2 IIS Segundo a Microsoft (2010), o Internet Information Services (IIS), é um servidor web criado por ela para seus sistemas operacionais para servidores. Sua primeira versão foi introduzida com o Windows NT Server versão 4, e passou por várias atualizações. Vale ressaltar que a versão mais atual é a 7.5, que se encontra disponível no Windows Server 2008 R2 e Windows 7. Das varias características existentes, uma das mais utilizadas é a geração de páginas HTML dinâmicas, que ao contrário de outros servidores web, usa tecnologia proprietária, podendo usar outras tecnologias com adição de módulos de terceiros. O IIS 7.0 completa 10 anos onde se consolida como o principal servidor web da atualidade sendo distribuído com o Windows Server 2008 e Windows Vista SP1. Para os desenvolvedores ASP.NET o IIS é o grande parceiro responsável pela distribuição das aplicações na Web. Desde a versão 6.0 foram feitos grandes investimentos em segurança tornando a infra estrutura muito segura reduzindo a zero o número de hotfix relacionados. (DURÃES, 2009, p.1) Oferece ao desenvolvedor web uma nova plataforma totalmente reestruturada e adaptável as suas necessidades consolidando o mesmo como principal plataforma para hospedagem de aplicações web. Com a criação de novos módulos é possível ampliar os recursos e criar novas funcionalidades conforme as necessidades de negócio.

CAPÍTULO III METODOLOGIA DE PESQUISA 41

42 3 METODOLOGIA DE PESQUISA Neste capítulo serão apresentados os métodos que irão ser utilizados para a realização do trabalho desde a escolha do tema até o levantamento dos resultados obtidos através da pesquisa realizada. 3.1 ABORDAGEM Este estudo tem como base uma pesquisa que será feita através do referencial teórico, onde a mesma pode ser considerada como um procedimento formal com método de pensamento reflexivo que requer um tratamento científico e se constitui no caminho para se conhecer a realidade ou para descobrir verdades parciais, ou seja, isso significa muito mais do que apenas procurar a verdade: é encontrar respostas para questões propostas, utilizando métodos específicos. Toda pesquisa implica o levantamento de dados de variadas fontes, quaisquer que sejam os métodos ou técnicas empregadas. Os dois processos pelos quais se podem obter os dados são a documentação direta e a indireta. (LAKATOS, 2001, p. 43) Com base nisto, essas teorias irão descrever/abordar da melhor forma o tema apresentado em busca de produção do conhecimento e para apresentar aspectos teóricos da metodologia, para que o trabalho traga de fato um resultado positivo. 3.2 PESQUISA BIBLIOGRÁFICA Depois de estabelecido e delimitado o tema do trabalho e formulado o problema a ser pesquisado, deu-se início ao levantamento bibliográfico com a documentação existente sobre o assunto, onde se desencadeou uma série de procedimentos para a localização dos documentos que pudessem interessar ao tema discutido. Segundo Severino (2003), tais documentos se definem pela natureza dos temas estudados e pelas áreas em que os trabalhos se situam. Tratando-se de trabalhos no âmbito de reflexão teórica, tais documentos são basicamente textos como: livros, artigos científicos, teses e dissertações, etc.

43 À medida que se procedeu à leitura e que os elementos importantes foram surgindo, fez-se a documentação, tomando-se nota de todos os elementos que seriam utilizados na elaboração deste trabalho. Documentar-se não é apenas uma das fases da elaboração do trabalho científico: é um hábito do trabalhador intelectual e um tipo de pesquisa também: a pesquisa documental. (SALOMON, 2001, p. 289) Foram utilizados como literatura específica deste trabalho vários livros dentre os quais formaram a literatura base: Kurose (2006); Forouzan (2006); Tanenbaum (2003); Scringer (2002); Lakatos (2001) e outros, bem como, artigos científicos, acessados no site padrão das versões dos protocolos e outros sites com temas afins ao estudo proposto nesta pesquisa. O trabalho de investigação teórico ou prático, bibliográfico ou de campo dá oportunidade ao estudante para explorar determinado tema ou problema, levando-o a um estudo com maior ou menor profundidade e/ou extensão. Possibilita o desenvolvimento de sua capacidade de coletar, organizar e relatar informações obtidas e, mais, de analisar e até de interpretar os dados de maneira lógica e apresentar conclusões. (LAKATOS, 2001, p. 157) Portanto, a finalidade desse estudo não é apenas um relatório ou descrição de fatos levantados empiricamente, mas o desenvolvimento de um caráter interpretativo, no que se refere aos dados obtidos. Para tal, é imprescindível correlacionar a pesquisa com o universo teórico, optando-se por um modelo teórico que sirva de embasamento à interpretação do significado dos dados e fatos colhidos ou levantados. Após o levantamento bibliográfico, será feita uma análise de desempenho dos protocolos IPv4 e IPv6 em servidores web com plataformas distintas, embasado em todos os dados coletados durante a pesquisa bibliográfica. Após está prática, os resultados serão expressos em forma de gráficos para uma maior e melhor visualização, definindo assim qual das versões do protocolo obteve melhor desempenho, justificando o resultado com o levantamento feito anteriormente durante a pesquisa bibliográfica.

44 3.3 DESCRIÇÃO DO LABORATÓRIO PARA A REALIZAÇÃO DA PRÁTICA Para compor o laboratório para a realização da prática desta pesquisa, que consiste em configurar dois servidores web e um cliente, fazendo com que este último solicite a cada um dos servidores, em momentos diferentes, o download de um arquivo, através dos protocolos de internet versão 4 e 6, foram utilizadas algumas ferramentas, uma linguagem e um notebook, que serão descritos adiante. 3.3.1 Ferramentas Duas ferramentas foram utilizadas, o Virtual Box, software de virtualização que serve para criar máquinas virtuais e foi o responsável por rodar os Sistemas Operacionais utilizados, e o NetTraffic, que foi a responsável pelo monitoramento do tráfego na rede. 3.3.1.1 Virtual Box A Virtual Box é um software de virtualização que visa criar ambientes para instalação de sistemas distintos, permitindo a instalação e utilização de um sistema operacional dentro de outro dando suporte real aos software dos outros sistemas, compartilhando fisicamente o mesmo hardware. As máquinas virtuais são muito utilizadas para testar sistemas operacionais ou programas sem alterar as configurações do sistema em uso, algumas empresas, por exemplo, mantém sistemas em máquinas virtuais quando os computadores são atualizados e não são mais compatíveis com os programas usados anteriormente. (EISHIMA, p.1, 2012) De acordo com Roberto (2010), uma máquina virtual simula um disco rígido, memória, processador e etc. Praticamente tudo que uma máquina real possui. Desta forma fica claro que é possível utilizar essa ferramenta para a instalação de sistemas operacionais à parte do que já existe no computador, utilizando tanto do software como do hardware do computador o qual a máquina está instalada. A Virtual Box começou como um projeto da Innotek, empresa alemã de desenvolvimento de softwares, e foi posteriormente incorporado

45 pela Sun. O Virtual Box é oferecido em duas versões: a primeira é uma versão parcialmente fechada, gratuita para uso pessoal, enquanto a segunda é uma versão inteiramente open-source, que pode ser usada para qualquer fim e redistribuída livremente. (MORIMOTO, 2008, p.1) Das duas versões oferecidas pela virtualbox, uma é a "oficial", que inclui alguns componentes proprietários e é distribuída através de uma licença específica, desta forma a Sun ganha dinheiro vendendo versões aprimoradas do software, destinadas ao ramo corporativo, o que permite manter os investimentos no projeto. A outra é a padrão, que é inteiramente livre, tem todo o código-fonte disponível e pode ser usada dentro dos termos da GPL. Esta é a que vem inclusa nos repositórios das distribuições, podendo ser instalada diretamente usando o gerenciador de pacotes. 3.3.1.2 NetTraffic Para medir o desempenho de uma rede é preciso o auxílio de um software, neste caso será utilizado o NetTraffic, que é um programa simples de usar e roda em segundo plano, monitorando toda a conexão de rede do computador. Este aplicativo monitora a velocidade de download/upload atual e realiza algumas estatísticas de uso, como a média de arquivos baixados, tempo que seu computador ficou conectado, entre outros métodos. O programa ainda exibe um gráfico com todos estes dados para facilitar na visualização das informações. (GUISS, 2012, p.1) A versão utilizada nesta avaliação será a 1.16.0, possui uma instalação simples e em seguida exibe um ícone na bandeja do sistema para facilitar o acesso do usuário a todas as informações disponíveis. São apresentadas em tempo real as transmissões de dados, constando as velocidades de download e upload. O monitoramento de dados se dá através do tempo, mostrando ao usuário um monitor em tempo real que atualiza os dados médios de consumo de banda por hora, dia, mês e ano. As estatísticas mostram a quantidade de dados enviados e recebidos, tempo de uso, velocidade média de envio e recebimento, e fazem um prognóstico com base nos dados atuais de quanto será consumido nos intervalos de tempo determinados.

46 Esses dados coletados vão sendo armazenados pelo programa, possibilitando ao usuário o acesso a eles sempre que preciso, podendo filtrar a busca pela data de início e término. 3.3.2 Linguagem Para a criação da página que servia de interface para o download do arquivo foi utilizada a linguagem marcação de texto HTML, que serve para criar páginas para a web, é muito usual devido à facilidade em aprendê-la. 3.3.2.1 HTML HTML é a abreviação de Hypertext Markup Language (linguagem de marcação de hipertexto), é usada para escrever e criar páginas para Web. Não possui estrutura rígida e exata, define apenas a estrutura de uma página, estabelecendo o que é título, texto, lista, subtítulo, local das imagens, etc, através da utilização de tags de marcação. A HTML não foi escrita para ser uma ferramenta de design, mas para ser uma linguagem de exibição, com a intenção de oferecer exibições diferentes em máquinas e sistemas operacionais distintos. (WEINMAN, 2002, p. 6) Os códigos são escritos em um editor de texto simples, como o bloco de notas, o que facilita ainda mais sua manipulação. A criação de uma página pode ser feita em qualquer computador, desde que se tenha domínio da linguagem, onde a única exigência é que a página seja salva com a extensão.htm ou.html, não interessando em que editor de textos ela foi criada, já que toda a formatação e manipulação de imagens são feitas por meio de comandos da linguagem. A linguagem HTML não cria apenas textos, mas hipertextos. Esses textos são rápidos e pequenos, facilitando o acesso dos usuários da web. Com base nisto Marcondes (2007), ressalta que esta linguagem não requer que o browser mantenha a conexão ativa o tempo todo com provedor, para que você possa ler uma home Page, mas somente quando for necessário, isso acontece porque a linguagem envia os dados para o computador que deseja lê-la, através do HTTP

47 (Protocolo de Transferência de Hipertextos) e só então são decodificados pelo browser. 3.3.3 Ambientes de Testes Para a realização da análise de desempenho dos protocolos IPv4/IPv6 em servidores web, foi necessário a construção de um laboratório com dois ambientes de testes, para realizar a coleta dos dados a serem analisados. Para tal, três Sistemas Operacionais foram virtualizados, através da ferramenta Virtual Box, onde dois foram utilizados como servidores e um como cliente. O ambiente (A) foi montado com os Sistemas Operacionais Windows Server 2008 e Windows 7, servidor web IIS e a ferramenta NetTraffic. Neste ambiente foi realizado dois testes, um com o IPv4 e o outro com o IPv6, tanto nos Sistemas Operacionais quanto no IIS. O ambiente (B) foi montado com os Sistemas Operacionais Back Track e Windows 7, servidor Apache e a ferramenta NetTraffic. Neste ambiente também foi realizado dois testes, cada um com uma versão do protocolo de internet, tanto nos Sistemas quanto no servidor Apache. A avaliação será feita através dos dados obtidos pelo NetTraffric, que medirá o tráfego na rede durante os testes. A fim de mostrar qual dos ambientes obteve um melhor desempenho e com qual versão do protocolo. 3.3.1 Configuração dos Equipamentos Utilizados Computador / Especificações de Hardware e Software: Notebook HP Pavilion Entertainment PC, modelo DV4-2012BR; Processador: M300 AMD Athlon II Dual-Core; Disco Rígido: 320 GB Enhanced IDE 5400 RPM SATA; Memória: 3,0 GB 800 MHz DDR2.

48 Aplicações: Máquina Virtual Oracle: Virtual Box / Versão: 4.1.14; Servidor Web: IIS - Internet Information Services / Versão: 7; Servidor Apache: Apache2 / Versão: 2.2.22; Ferramenta de análise de tráfego: NetTraffic / Versão: 1.16.0. Máquinas Virtuais: A configuração das máquinas tanto para os servidores quanto para o cliente foram às mesmas. Abaixo descrição: Disco Rígido: 70 GB Memória: 1 GB Processador: Dual Core 3.3.2 Descrição do Processo de Avaliação do ambiente (A) Para dar início ao primeiro teste do ambiente (A), foi realizada a instalação do Windows Server 2008, utilizado como servidor, e do Internet Information Services (IIS) servidor web, que vem como parte integrante deste sistema, bastando apenas instalá-lo e configurá-lo. Em seguida, foi desenvolvida uma página em HTML contendo o arquivo Monografia de 35.8 GB, utilizado para gerar tráfego na rede. Após a configuração do servidor, houve a instalação do Windows 7, Sistema Operacional utilizado como cliente, e da ferramenta para medir o tráfego na rede através do download do arquivo o NetTraffic. Após a instalação e configuração dos Sistemas Operacionais o teste foi iniciado. A primeira versão do protocolo de internet utilizada foi a versão 4, tanto o servidor quanto o cliente foram configurados com este tipo de endereço, e com o número da máscara de sub-rede, como pode ser visualizado na figura 4.

49 Figura 4. Endereço IPv4 do Servidor Windows Server 2008 e do Cliente Windows 7. Fonte: Natália Rafaela. Para que a página criada pudesse ser acessada pelo usuário, foi preciso colocá-la juntamente com o arquivo a ser baixado dentro da pasta chamada sites, localizado no Servidor web IIS. Em seguida foi preciso editar as ligações deste site, onde foi atribuído o endereço IP e o número da porta, ao qual o cliente poderia fazer a solicitação do arquivo, como pode ser visualizado na figura 5. Figura 5. Configuração do Servidor Web IIS com o IPv4. Fonte: Natália Rafaela.

50 Com os Sistemas e o servidor configurados o cliente passou a ter acesso à página através do endereço IP 192.168.10.1, atribuído anteriormente, com isso ele solicitou o download do arquivo Monografia de 35.8 GB, como pode ser observado na figura 6, onde no mesmo momento em que este foi solicitado, a ferramenta NetTraffic, começou a monitorar o tráfego que estava sendo gerado, informando no final o tamanho do arquivo e o tempo gasto para o download do mesmo. Figura 6. Página em HTML com endereço IPv4 do arquivo a ser baixado. Fonte: Natália Rafaela. Após a realização do teste com a versão 4, iniciou-se o teste com a versão 6, utilizando os mesmos sistemas operacionais e a mesma ferramenta de análise de tráfego do teste anterior. Foi preciso configurar além do endereço IP do servidor e do cliente com a versão 6, o comprimento do prefixo da sub-rede, como pode ser visualizado na figura 7, onde diferentemente da versão anterior, esta não atribui o número de sub-rede, mas sim o comprimento do prefixo da sub-rede.

51 Figura 7. Endereço IPv6 do Servidor Windows Server 2008 e do Cliente Windows 7. Fonte: Natália Rafaela. Após a configuração dos endereços, foi preciso editar novamente as ligações do site, mudando o endereço da página para a versão 6, [2000:db8::3] como pode ser visualizado na figura 8. Figura 8. Página em HTML com endereço IPv6 do arquivo a ser baixado. Fonte: Natália Rafaela.

52 Os endereços nesta versão são atribuídos entre colchetes quando estiverem relacionados à url, isso ocorre porque o uso dos : pode causar ambiguidade, gerando assim uma sintaxe incorreta. O colchete não é válido para notação de rede. Em seguida foi possível ao cliente requisitar o download do arquivo Monografia de 35.8 GB, através do endereço IPv6 atribuído a página, como pode ser observado na figura 8. O NetTraffic mediu o tráfego da rede desde o início até o fim do download. Com a realização destes testes no ambiente (A) foi possível identificar qual das versões do protocolo de internet teve melhor desempenho, através dos dados coletados pela ferramenta de análise de desempenho de tráfego. 3.3.3 Descrição do Processo de Avaliação do ambiente (B) Para dar início aos testes do ambiente (B), foi instalado o Sistema Operacional Back Track que funcionou como servidor e o servidor web Apache, que hospedou a página criada e o arquivo a ser baixado. O outro sistema utilizado foi o Windows 7, o mesmo usado no ambiente anterior, que serviu como cliente. Foi utilizado ainda a mesma ferramenta para medir o tráfego da rede, o NetTraffic. Em seguida foram configurados os endereços IPs e as máscaras de sub-rede tanto do servidor quanto do cliente, como pode ser visualizado na figura 9. A versão utilizada no primeiro foi a 4 do protocolo de internet. Figura 9. Endereço IPv4 do Servidor Back Track e do Cliente Windows 7. Fonte: Natália Rafaela

53 Para que o usuário pudesse ter acesso à página e ao arquivo a ser baixado, foi preciso configurar o servidor Apache, atribuindo um endereço e um número de porta. Além disso, o arquivo e a página foram colocados dentro de uma pasta do servidor. Após as configurações a página ficou acessível ao usuário, que pôde solicitar o download do arquivo através do IP 192.168.10.5, como pode ser visualizado na figura 10. Enquanto o download ocorria, o NetTraffic media o tráfego gerado na rede. Figura 10. Página em HTML com endereço IPv4 do arquivo a ser baixado. Fonte: Natália Rafaela Depois da realização do teste com a versão 4, foi feito outro teste com a versão 6, utilizando os mesmos sistemas operacionais e a mesma ferramenta de análise de tráfego do teste anterior. Como ocorrido anteriormente, foi preciso configurar o IP do servidor e do cliente com a versão 6, como pode ser visualizado na figura 11, assim como o comprimento do prefixo da sub-rede.

54 Figura 11. Endereço IPv6 do Servidor Back Track e do Cliente Windows 7. Fonte: Natália Rafaela O endereço do servidor Apache também precisou ser modificado para a versão que está sendo utilizada, com isso o endereço da página passou a ser [2000:db8::5]. Após estas configurações foi possível solicitar o download do arquivo, como pode ser visualizado na figura 12 e medir o desempenho deste através do NetTraffic. Figura 12. Página em HTML com endereço IPv6 do arquivo a ser baixado. Fonte: Natália Rafaela

55 Com a realização dos testes no ambiente (B), foi possível coletar dados que foram avaliados para poder identificar qual versão do protocolo obteve melhor desempenho.

CAPÍTULO IV ANÁLISE DOS RESULTADOS 56

57 4 ANÁLISE DOS RESULTADOS OBTIDOS Após a realização dos testes nos dois ambientes, foi possível analisar alguns dados obtidos, gerando resposta ao questionamento expresso no início deste trabalho. Portanto, será mostrado através de gráficos e tabelas o resultado final do cruzamento destes dados. Para poder assim identificar qual das versões obteve um melhor desempenho de tráfego na rede, através do tempo e tamanho do download. 4.1 AVALIAÇÃO DO AMBIENTE (A) O primeiro teste a ser analisado foi a versão 4 do protocolo de internet. As taxas de download e de tempo começaram a ser medidas no início do download e pararam no término do mesmo, gerando assim o total final de ambos. A ferramenta de avaliação de desempenho dividiu o teste em dois momentos como pode ser observado no gráfico 1, onde o primeiro gerou uma taxa de tráfego de 6.94 GB em um tempo de 25 minutos e 17 segundos, e o segundo um tráfego de 28.86 GB em 44 minutos e 30 segundos. Totalizando um tráfego final de 35.8 GB em 1 hora, 9 minutos e 47 segundos. Gráfico 1. Tempo total do download e da taxa de tráfego utilizando o IPv4 no Servidor IIS. Fonte: Natália Rafaela.

58 O segundo teste analisado foi o da versão 6, onde os dados foram gerados seguindo a mesma forma do teste anterior, com isso foi possível obter o tráfego gerado e o tempo total gasto para o download do arquivo. O teste realizado gerou um tráfego de 35.8 GB em 53 minutos e 17 segundos, como pode ser visualizado no gráfico 2. Diferentemente do teste anterior, este não foi dividido em dois momentos, o NetTraffic detectou o tráfego gerado como sendo constante durante todo o tempo. Gráfico 2. Tempo total do download e da taxa de tráfego utilizando o IPv6 no Servidor IIS. Fonte: Natália Rafaela. Após a realização dos dois testes foi possível analisar os dados obtidos e perceber que o tempo gasto para o download do arquivo monografia foi menor no IPv6 do que no IPv4, onde a diferença de tempo de uma versão para outra foi de 16 minutos e 33 segundos.

59 4.2 AVALIAÇÃO DO AMBIENTE (B) A avaliação do ambiente B começou com a versão 4 do protocolo de internet. Assim como nos testes do ambiente A, o NetTraffic monitorou o tráfego da rede desde o início ate o fim do download, gerando ao final a taxa de download e o tempo gasto para o mesmo. A ferramenta dividiu o teste em dois momentos como pode ser observado no gráfico 3, onde o primeiro gerou um tráfego de 22.34 GB em 38 minutos e 25 segundos, e o segundo um tráfego de 13.46 GB em 24 minutos e 26 segundos, totalizando um tráfego final de 35.8 GB em 1 hora, 2 minutos e 51 segundos. Gráfico 3: Tempo total do download e da taxa de tráfego utilizando o IPv4 no Servidor Apache. Fonte: Natália Rafaela. O segundo teste analisado foi o da versão 6, onde os dados foram gerados da mesma forma que o anterior, sendo assim, foi possível obter o tráfego gerado e o tempo total gasto para o download do arquivo.

60 A ferramenta de análise dividiu o teste em dois momentos como pode ser visualizado no gráfico 4, onde o primeiro gerou um tráfego na rede de 32.35 GB em 44 minutos e o segundo de 3.45 GB em 6 minutos, totalizando um tráfego final de 35.8 GB em 50 minutos. Gráfico 4: Tempo total do download e da taxa de tráfego utilizando o IPv6 no Servidor Apache. Fonte: Natália Rafaela. Ao término das análises dos testes foi possível verificar que, assim como o que ocorreu no ambiente A, neste ambiente o IPv6 também obteve melhor desempenho que o IPv4, cuja diferença de uma versão para outra foi de 12 minutos e 51 segundos. Através dos resultados obtidos pelos testes realizados foi possível fazer a junção destes em uma tabela, a fim de facilitar a visualização do desempenho das versões dos protocolos nos diferentes servidores web, como pode ser observado na tabela 2. Diante disto, observa-se que independentemente da plataforma de servidor utilizada o IPv6 obteve um melhor desempenho em relação ao seu antecessor, onde no