Juan Rodolpho Basso Análise e Testes da Mobilidade em Redes do Padrão IEEE 802.11 Utilizando Protocolo IP versão 6 Joinville / SC Junho de 2006 Juan Rodolpho Basso Análise e Testes da Mobilidade em Redes do Padrão IEEE 802.11 Utilizando Protocolo IP versão 6 Orientador: Prof. Charles Christian Miers, M.Sc. UDESC - U NIVERSIDADE D O E STADO DE S ANTA C ATARINA C ENTRO DE C I ÊNCIAS T ECNOL ÓGICAS D EPARTAMENTO DE C I ÊNCIA DA C OMPUTAÇ ÃO Joinville / SC Junho de 2006 Monografia sob o tı́tulo “Análise e Testes da Mobilidade em Redes do Padrão IEEE 802.11 Utilizando Protocolo IP versão 6”, defendida por Juan Rodolpho Basso e aprovada junho de 2006, em Joinville, Santa Catarina, pela banca examinadora constituı́da pelos professores: Prof. Charles Christian Miers, M.Sc. Departamento de Ciência da Computação - UDESC Orientador Prof. Adriano Fiorese, M.Sc. Departamento de Ciência da Computação - UDESC Prof. Maurı́cio Aronne Pillon, Dr. Departamento de Ciência da Computação - UDESC Prof. Ricardo Ferreira Martins, M.Sc. Departamento de Ciência da Computação - UDESC Dedico esta monografia a meus pais, cujo exemplo de honestidade e trabalho tem sido um norteador para a minha vida, e para minha namorada, que tem me dado apoio nos momentos mais difı́ceis e mostrado a simplicidade de ter esperança. Agradecimentos Dedico meus sinceros agradecimentos para: – Meus caros colegas e amigos que me ajudaram durante todo o curso; – Meus pais pela compreensão e apoio que vem me dado durante todo curso; – Meu professor orientador que contribui na elaboração desta monografia. “Quando a riqueza se perde, nada se perde, quando a saúde se perde, se perde alguma coisa; mas quando o caráter se perde, tudo está perdido.” Zorobadel - Reconstruindo o Templo Resumo Este trabalho visa analisar e testar a mobilidade nas redes locais sem fio, baseado em um estudo sobre o protocolo IPv6. Além disso, para fins de comparação com outra rede com o mesmo objetivo, foi feito o estudo do IPv4, também voltado para a questão de mobilidade. Com isso, será possı́vel comparar os resultados obtidos da mobilidade nas redes IPv6 em relação à mobilidade nas redes IPv4. Entretanto, para a explicação da mobilidade, é necessário conhecer os conceitos básicos que compõem a mobilidade, como, por exemplo, a redes locais sem fio (WLANs), modelos OSI e DARPA, além dos protocolos IPv4 e IPv6. Palavras-chave: IPv4, IPv6, MIPv4, MIPv6, WLAN, IEEE 802.11, mobilidade. Abstract This work aim to analyze and test the mobility in wireless local network, based in a study about IPv6 protocol. Beyond that, to compare with another network with the same objective, has maked the study of IPv4, also turned to the question of mobility. Thereby, it will be possible to compare the obtained results of mobility in the IPv6 networks in relation with the mobility in the IPv4 networks. However, for the mobility’s explication, it is necessary to know the basics conceptions that compose the mobility, as, for example, the wireless local network (WLAN), OSI and DARPA model, besides IPv4 and IPv6 protocols. Keywords: IPv6 móvel, MIPv6, IPng, WLAN, IEEE 802.11, mobilidade. Lista de Figuras 1 Troca de dados usando modelo OSI. Adaptado de Tanenbaum (2003) . . . . . . 19 2 Comparação do Modelo OSI e Modelo Internet. Adaptado de Tanenbaum (2003) 20 3 Cabeçalho IPv4. Adaptado de Doyle (2005) . . . . . . . . . . . . . . . . . . . 22 4 Definindo a sub-rede. Adaptado de Doraswamy e Harkins (2003) . . . . . . . . 25 5 Classe de IPs e faixas que as compõe. Adaptado de Tanenbaum (2003) . . . . . 26 6 Descobrindo o endereço MAC. Adaptado de Doyle (2005) . . . . . . . . . . . 28 7 Transformação do endereço, utilizando NAT. Adaptado de Tanenbaum (2003) . 29 8 Exemplo de rede utilizando IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . 31 9 Estrutura do IPv6. Adaptado de Smetana (2001) . . . . . . . . . . . . . . . . . 34 10 Exemplos do uso de extensões no IPv6. Adaptado de Sousa, Monteiro e Boavida (2003) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 11 Exemplo de rede utilizando IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . 41 12 Envio de pacote IPv6 em rede IPv4 usando túnel. Adaptado de Beijnum (2005) 46 13 Envio de pacote IPv6 para nó IPv4 usando NAT-PT. Adaptado de Popoviciu, Levy-Abegnoli e Grossetete (2006) . . . . . . . . . . . . . . . . . . . . . . . . 47 14 Troca de dados entre redes IPv4 com meio IPv6. Adaptado de Sportack (2002) 48 15 Tipos de topologias para redes Wireless . . . . . . . . . . . . . . . . . . . . . 52 16 Usuário trocando de rede. Adaptado de Roshan e Leary (2003) . . . . . . . . . 54 17 Envio e recebimento de pacotes para o MN. Adaptado de Raab et al. (2005) . . 57 18 Os dois casos possı́veis de se utilizar mobilidade IPv6 . . . . . . . . . . . . . . 59 19 Esquema básico de rede utilizando HMIPv6. Adaptado de Soliman et al. (2005) 61 20 Roteamento dinâmico pelo dispositivo móvel . . . . . . . . . . . . . . . . . . 63 21 Passagem entre redes usando micro e macro-mobilidade . . . . . . . . . . . . 65 Lista de Tabelas 1 Descrição do cabeçalho do IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . 23 2 Principais números para os protocolos . . . . . . . . . . . . . . . . . . . . . . 24 3 Descrição do cabeçalho IPv6. Adaptado de Filho (2004), Deering e Hinden (1998) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4 Comparação do IPv4 com IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5 Comparação entre uma rede IPv4 e outra IPv6 . . . . . . . . . . . . . . . . . . 44 6 Comportamento dos nós móveis nas redes móveis . . . . . . . . . . . . . . . . 62 7 Alcance dos nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Lista de Abreviaturas e Siglas ABNT Associação Brasileira de Normas Técnicas AP Access Point ARP Address Resolution Protocol BA Binding Acknowledgement BSS Basic Service Set BU Binding Update CCITT Consultative Committee on International Telephony and Telegraph CCoA Co-located Care-of-Address CIDR Classless Inter-Domain Routing CN Correspondent Node CoA Care-of-Address DARPA Defense Advanced Research Projects Agency DHCP Dynamic Host Configuration Protocol DMZ DeMilitarized Zone DNS Domain Name System DSMIPv4 Dual Stack Mobile Internet Protocol version 4 DSMIPv6 Dual Stack Mobile Internet Protocol version 6 ESS Extended Service Set FA Foreign Agent FTP File Transfer Protocol GHz Giga Hertz GPRS General Packet Radio Service HA Home Agent HTTP HyperText Transfer Protocol HMIPv6 Hierarchical Mobile Internet Protocol version 6 IBSS Independent Basic Service Set ICMP Internet Control Message Protocol IEEE Institute of Electrical and Electronics Engineers IETF Internet Engineering Task Force IHL Internet Header Length IP Internet Protocol IPng Next Generation Internet Protocol IPSec Internet Protocol Security IPv4 Internet Protocol version 4 IPv5 Internet Protocol version 5 IPv6 Internet Protocol version 6 ISO International Organization for Standardization LAN Local Area Network LCoA Link Care of Address MAC Medium Access Control MAP Mobile Anchor Point Mbps Mega bits por segundo MIP Mobilidade Internet Protocol MIPv4 Mobilidade Internet Protocol version 4 MIPv6 Mobilidade Internet Protocol version 6 MN Mobile Node MTU Maximum Transmit Unit NAPT Network Address and Port Translator NAT Network Address Translation OFDM Orthogonal Frequency Division Multiplexing OSI Open Systems Interconnection QoS Quality of Service RCoA Regional Care of Address RFC Request For Comments TCP Transmission Control Protocol TCP/IP Transmission Control Protocol over Internet Protocol TTL Time To Live UDESC Universidade do Estado de Santa Catarina VPN Virtual Private Network WCDMA Wide-Band Code-Divison Multiple Access WECA Wireless Ethernet Compatibility Alliance Wi-Fi Wireless Fidelity WLAN Wireless Local Area Network Sumário 1 Introdução 14 2 Histórico e Conceitos 17 2.1 Modelo OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2 Modelo DARPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3 Protocolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.1 IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3.1.1 Endereçamento IPv4 . . . . . . . . . . . . . . . . . . . . . . 25 2.3.1.2 ARP (Address Resolution Protocol) . . . . . . . . . . . . . . 27 2.3.1.3 ICMP (Internet Control Message Protocol) . . . . . . . . . . 28 2.3.1.4 NAT (Network Address Translation) . . . . . . . . . . . . . 29 2.3.1.5 Exemplo de Uso . . . . . . . . . . . . . . . . . . . . . . . . 31 IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3.2.1 Endereçamento IPv6 . . . . . . . . . . . . . . . . . . . . . . 37 2.3.2.2 Exemplo de Uso . . . . . . . . . . . . . . . . . . . . . . . . 40 Diferenças entre IPv4 e IPv6 . . . . . . . . . . . . . . . . . . . . . . . 42 2.3.3.1 Exemplo de Uso . . . . . . . . . . . . . . . . . . . . . . . . 43 Integração de Redes IP . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.3.4.1 IPv6 em redes IPv4 . . . . . . . . . . . . . . . . . . . . . . 45 2.3.4.2 IPv4 em redes IPv6 . . . . . . . . . . . . . . . . . . . . . . 47 2.4 WLAN (Wireless Local Area Network) . . . . . . . . . . . . . . . . . . . . . 49 2.5 Conclusões Parciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.3.2 2.3.3 2.3.4 3 Mobilidade IP 53 3.1 Mobilidade em Redes IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.2 Mobilidade em Redes IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.3 Mobilidade em Redes Mistas (IPv4 e IPv6) . . . . . . . . . . . . . . . . . . . 61 3.4 Mobilidade nas redes IEEE 802.11 . . . . . . . . . . . . . . . . . . . . . . . . 63 3.5 Conclusões Parciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4 Considerações Finais 67 Referências 69 Apêndice A -- Plano do TCC 73 15 1 Introdução Com a evolução dos computadores houve a necessidade da interconexão dos mesmos. Para isso existem várias formas, diferenciando o modo de conexão, velocidades de transmissão, formas de comunicações, tratamento dos erros, entre outros. Este conjunto de interconexão ficou denominado de rede de computadores. (COMER, 2000) As redes de computadores fizeram com que a utilização ficasse mais simplificada, reduzindo custos e aumentando a produtividade. Entretanto, a evolução dos computadores era cada vez maior, fazendo com que a área de redes evoluı́sse na mesma medida. A evolução foi tão grande que não limitava-se apenas as redes locais, mas entre lugares distantes, necessitando de redes mais complexas. (COMER, 2000) As redes em seu princı́pio eram interconectadas por cabos, conduzindo sinais elétricos e ópticos de um ponto ao outro, mas com o aumento para centenas ou milhares de computadores na mesma rede, isto se tornou uma dificuldade por causa do espaço fı́sico para instalação dos cabos e aspectos relacionados a essa arquitetura. Devido a essa necessidade das empresas, foram desenvolvidas as formas de comunicação sem fio. (COMER, 2000) Alguns algoritmos para comunicações de redes sem fio foram padronizados por órgãos internacionais, dentre eles a IEEE (Institute of Electrical and Electronics Engineers). Os principais algoritmos para as redes locais sem fio ficaram agrupados nos padrões IEEE 802.11 (IEEE, 1993), IEEE 802.15 e IEEE 802.16. O padrão IEEE 802.11 é o mais utilizado pelos computadores para a comunicação em redes locais. Para a comunicação de computadores de mesa foi um sucesso o padrão IEEE 802.11, já que não precisava mais de tomadas de rede próximas, além de dutos para passagem dos cabos. Porém, surgiu um problema onde os computadores portáteis (notebook, handheld, entre outros) só poderiam se deslocar dentro da área que aquela rede comportava. Para resolver isto, foi necessário criar mobilidade dentro das redes, ou seja, possibilitar que os computadores portáteis pudessem se deslocar entre diversos pontos de acesso compatı́veis entre si, sem perder seu vı́nculo de comunicação. 1 Introdução 16 Para que haja a comunicação entre as redes, é necessário, além da parte fı́sica, que o receptor entenda os dados transmitidos pelo emissor. Devido a isto, foram criados protocolos de rede que fazem esta função, sendo o principal protocolo utilizado pelas redes, tanto com ou sem fios, o IPv4 (Internet Protocol version 4). (COMER, 2000) O protocolo IPv4 e a mobilidade que as redes sem fio necessitam não estão incorporadas como padrão, necessitando alguns ajustes para que se possa utilizar este recurso (PERKINS, 2002). Mas para sanar este problema, já há o protocolo IPv6 (Internet Protocol version 6), que traz a mobilidade como um recurso padrão, dentre outros recursos. (PERKINS, 1996) O IPv6 (DEERING; HINDEN, 1998) é baseado no IPv4, podendo ser considerado como um melhoramento. Este foi desenvolvido, pois o IPv4, projetado na década de 70, já está quase na sua capacidade total de possı́veis endereços. Outros fatores que motivaram a criação do IPv6 foi a nova disponibilidade tecnológica que o mercado oferece, como dispositivos móveis, redes sem fio, entre outros. (FILHO, 2004) Baseando-se nisso, o principal objetivo deste trabalho visa analisar e testar o recurso de mobilidade em redes sem fio. Para isso será feito o uso do protocolo IPv6 em redes baseadas no padrão IEEE 802.11. O propósito é comprovar a funcionalidade, segurança, caracterı́sticas, assim como seus pontos negativos. Além disto, mostrar quais configurações e requisitos são necessários para a implantação deste recurso. Para que este objetivo seja alcançado, é necessário o conhecimento sobre alguns temas em especı́fico. Dentre eles, o estudo dos protocolos IPv4 e IPv6 a fim de conhecer como estes protocolo funcionam e ajudar no entendimento na mobilidade em cada caso. Outro assunto que deve ser analisado é sobre as redes locais sem fio, principalmente as baseadas no padrão IEEE 802.11, pois são as mais utilizadas para este fim. Por fim, analisar o comportamento da mobilidade IP para os protocolos IPv4 e IPv6, podendo assim notar as diferenças que ambos possuem. Outros objetivos a serem alcançados podem ser encontrados no Apêndice A. Para representar isto, foi elaborado um texto, divido em capı́tulos. Cada capı́tulo visa dividir os principais assuntos, podendo detalhar de forma clara e objetiva o conteúdo. Desta forma, é possı́vel acompanhar de forma cronológica o entendimento até a busca do objetivo final. Antes de começar o assunto do objetivo final, busca-se apresenta os conceitos básicos que representam a base do assunto. Para isso foi criado o capı́tulo “Histórico e Conceitos”, onde inicia apresentando o modelo OSI (Open Systems Interconnection) para a compreensão de como funciona a troca de mensagens entre dois dispositivos. Em seguida, apresenta o modelo DARPA (Defense Advanced Research Projects Agency) que é o modelo que será utilizado para 1 Introdução 17 a realização dos testes práticos. Além disso, exibe informações sobre os protocolos que serão utilizados de base (IPv4 e IPv6) para a o estudo da mobilidade. Por fim, apresenta conceitos das redes locais sem fio, pois é com ela que será explanado a mobilidade IP. Após ser estudado os conceitos básicos sobre mobilidade IP, é possı́vel demonstrar como funciona a mobilidade de uma forma geral e apresentar a mobilidade IP com os dois protocolos estudados (IPv4 e IPv6). Além disso, demonstrar como é possı́vel ter redes móveis mistas. Por fim, apresentar como a mobilidade IP se encaixa no padrão IEEE 802.11. Por fim, depois do estudo sobre a mobilidade IP estar concluı́da, é possı́vel apresentar as considerações finais, contendo uma explicação sobre a obtenção dos objetivos propostos. Além disso, demonstrar as dificuldades encontradas, possı́veis modificações em relação ao plano e citar alguns temas para trabalhos futuros. Entretanto, para o desenvolvimento deste trabalho foi necessário uma motivação, onde esta foi demonstrar como funciona a mobilidade no IPv6. Porém, para que se tenha uma idéia das caracterı́sticas apresentas nos testes, é necessário que seja comparada a uma outra mobilidade, no caso a mobilidade IPv4. Além disso, após a comparação da mobilidade em ambos os protocolos, mostrar se no IPv6, já que é um novo protocolo, é mais vantajoso que no IPv4, informando também seus pontos negativos. Para que isto seja expressado da melhor forma, o método de desenvolvimento que será utilizado é a pesquisa aplicada e referenciada com um estudo de caso prático baseado no conhecimento adquirido no estudo teórico. A parte prática será realizada nas dependências da UDESC (Universidade do Estado de Santa Catarina) e será totalmente documentada. Para os testes práticos, serão necessários no mı́nimo dois repetidores de redes local sem fio que utilizam o padrão IEEE 802.11, dois roteadores para isolar as redes e um dispositivo móvel. Este teste tem o objetivo de locomover-se com o dispositivo móvel entre a abrangência dos repetidores sem que a conexão seja interrompida com a troca da rede. Um trabalho que possui correlação com este é o artigo publicado por Fengping Li, intitulado de “A study of mobility in WLAN”(ou “Um estudo sobre a mobilidade em WLAN”). Este artigo faz um estudo sobre a mobilidade nas redes sem fio, explicando principalmente as formas de mobilidade nas redes IPv6. Além disso, demonstra formas alternativas de diminuir a latência que ocorre durante a troca de uma rede para outra. 18 2 Histórico e Conceitos O uso de dispositivos móveis dentro das redes de computadores veio para auxiliar na usabilidade de dispositivos dentro das instituições ou até mesmo comunicando-se de fora da mesma. Isto fez com que as pessoas pudessem deslocar-se sem a necessidade de ficar conectado por cabos ou ainda ficar trocando o local de conexão do cabo. Porém, com o crescimento do uso de dispositivos móveis, houve a necessidade das redes adaptarem-se a suportar estes dispositivos. Isto fez com que fossem criados padrões e protocolos para realizar este tipo de comunicação. Dentre estes protocolos estão o IPv4 e o IPv6, ambos são baseados no modelo DARPA e oferecem uma estrutura para comunicação entre computadores, independentes do meio fı́sico (redes guiadas ou sem fio). Mas para que se expliquem os protocolos IPv4 e IPv6 é interessante o estudo sobre o modelo OSI, que foi um modelo que tentou entrar em prática, porém devido ao alto custo de implementação e implantação não obteve seu espaço no mercado, ficando apenas como um modelo de referência. O intuito de apresentar este modelo é facilitar o entendimento de como as redes funcionam, já que demonstra a divisão das camadas de rede bem definidas. Entretanto, além de explicar como os protocolos se comunicam, é necessário explicar como os pacotes trafegam pelo meio de comunicação. O meio que será explicado é o WLAN, onde é utilizado para redes locais sem fio, provendo acesso com possibilidade de deslocamentos do dispositivo móvel dentro de uma determinada área. 2.1 Modelo OSI O modelo OSI é um modelo criado pela ISO (International Organization for Standardization) e pelo CCITT (Consultative Committee on International Telephony and Telegraph). Este modelo foi elaborado no mesmo tempo em que o DARPA fazia pesquisas sobre protocolos de rede. (PATIL et al., 2003) Este modelo dividiu a comunicação de rede através de sete camadas. Cada uma destas 2.1 Modelo OSI 19 camadas deve ser criada com o intuito de que qualquer modificação na camada não necessite alterar as demais, ter suas funções bem definidas e o limite das camadas deve ser escolhido a minimizar ao máximo o fluxo de dados através das interfaces. Além disso, as camadas devem ser grandes o bastante que as funções distintas não necessitem ser jogadas para outras camadas e pequeno o bastante que a arquitetura não se torne de difı́cil manuseio. (TANENBAUM, 2003; BARNES; SAKANDAR, 2004) Conforme Patil et al. (2003) e Tanenbaum (2003) as camadas ficaram divididas da seguinte maneira: 1. Fı́sica: Responsável pela transmissão dos bits no hardware; 2. Enlace: Faz a união ou divisão das informações e controle de erros; 3. Rede: Realiza a função de entrega de pacotes e determina a rota dos pacotes na rede; 4. Transporte: Prove a segurança na entrega dos pacotes; 5. Sessão: Administra a estabilização e manterimento das sessões, além da sincronização na comunicação; 6. Apresentação: Faz a formatação e o ciframento dos dados; e 7. Aplicação: Dá suporte a aplicação do usuário. As camadas de 1 a 4 são responsáveis pela definição de como o dados irão trafegar na rede. As camadas de 5 a 7 são responsáveis pelo suporte a nı́vel de aplicação para a interface do usuário, formatação dos dados e as sessões de comunicação. (BARNES; SAKANDAR, 2004) A Figura 1 mostra como é feita a passagem de um dado da origem até o destino, utilizando o modelo OSI. Os dados saem da aplicação do emissor, descendo por todas as camadas até chegar ao meio fı́sico do emissor. É transmitido até o meio fı́sico do receptor, aonde vai subindo por cada camada até chegar à camada de aplicação do receptor. Além da emissão e recepção dos dados, as camadas precisam de protocolos para interpretar o que está sendo transmitido, assim como é mostrado na Figura 1. As três primeiras camadas possuem protocolos internos da sub-rede que servem para a comunicação entre nós, nó com roteador e vice versa. (TANENBAUM, 2003) O modelo OSI apresenta alguns problemas devidos ao tempo, tecnologia, implementações e polı́ticas. A escolha das sete camadas foi uma questão mais polı́tica do que técnica, isso acarretou que camadas ficassem sobrecarregadas e outras sem grande utilidade. As camadas de 2.1 Modelo OSI 20 Figura 1: Troca de dados usando modelo OSI. Adaptado de Tanenbaum (2003) Rede e Enlace possuem muitas funções, enquanto as camadas Sessão e Apresentação são dispensáveis1 . Outros problemas foram encontrados na dificuldade de implementação e operações ineficientes. (TANENBAUM, 2003) Porém, o modelo OSI é usado como referência para compreensão, projeto de pilhas de protocolos de rede e também para um parâmetro de comparação com outros modelos de rede (PATIL et al., 2003). Um destes modelos é o DARPA, desenvolvido paralelamente ao OSI. O modelo OSI foi aprovado pela ISO em meados da década de 80 e por suas implementações serem complexas, apresentavam muitos bugs2 . Por isso, as empresas não adotaram este modelo por considerar a implementação do modelo OSI como sendo um sinônimo de baixa qualidade (TANENBAUM, 2003). Isto fez com que o modelo OSI ficasse apenas na teoria, não tendo grandes aplicações práticas. Tanto a ISO como a DARPA estavam desenvolvendo protocolos, porém a abordagem da ISO era mais teórica, enquanto da DARPA era mais prática. Deste modo quando foram termi1 Devido 2 Falhas a sua baixa funcionalidade, as poucas funções puderam ser atribuı́das a outras camadas ocorridas em determinadas condições decorrentes de má implementação 2.2 Modelo DARPA 21 nadas as pesquisas, a DARPA já tinha um protocolo operacional, enquanto a ISO ainda carecia de uma implementação. 2.2 Modelo DARPA O modelo DARPA pode ser considerado uma otimização do modelo OSI, sendo também baseado em camadas, porém não é subdivido em sete camadas, apenas em quatro camadas (PATIL et al., 2003). Este modelo também é conhecido como modelo TCP/IP (Transmission Control Protocol over Internet Protocol) ou Internet. A Figura 2 mostra uma analogia entre os dois modelos, comparando quais camadas se equivalem e quais foram extintas. Figura 2: Comparação do Modelo OSI e Modelo Internet. Adaptado de Tanenbaum (2003) As camadas Sessão e Apresentação foram extintas devido a sua baixa funcionalidade, como fora descrito nos problemas do modelo OSI. As camadas de Enlace e Fı́sica foram unificadas devido às funcionalidades serem muito correlacionadas. As demais camadas se equivalem. Destas, apenas a camada de Rede que passou a ser chamada de Internet. Este modelo (DARPA, 1981) foi uma sucessão do modelo ARPANET3 , onde este se tornou obsoleto devido às novas tecnologias que foram surgindo, dentre elas a comunicação por satélite e rádio. Ambos são projetos de pesquisa desenvolvidos pelo DARPA, onde este queria criar uma rede onde as conexões entre os nós de origem e destino continuassem funcionando caso algum dos outros nós da rede fossem desativados. (TANENBAUM, 2003) O objetivo para se alcançar a mobilidade IP é baseada neste modelo e dará maior ênfase a duas camadas: • Nó-para-Rede já que o meio fı́sico a ser utilizado é sem fio; 3 Rede de computadores destinada ao trabalho corporativo de grupos, geograficamente distantes e sem um controle central. (SIMON, 1997) 2.3 Protocolos 22 • Internet, pois é nesta camada que se encontram os protocolos IPv4 (Internet Protocol version 4) e IPv6 (Internet Protocol version 6). Estas camadas são as duas de nı́vel mais próximas do meio fı́sico do modelo, onde a mobilidade IP atua. As demais camadas não se preocupam tanto se a forma de comunicação é com ou sem mobilidade, haja visto que a divisão em camadas torna esta independência possı́vel. Porém, o modelo DARPA é caracterizado pelas camadas intermediárias, cada uma com seu protocolo principal: • TCP (Transmission Control Protocol): Protocolo da camada de transporte, orientado a conexão, que realiza as funções ordenamento dos pacotes recebidos. Sua padronização se encontra na RFC (Request For Comments) 793; e • IP (Internet Protocol): Protocolo da camada de rede, responsável pela identificação de cada nó da rede. Na Internet é o protocolo mais usado. Sua padronização se encontra na RFC 791. Para que se faça o entendimento do que são estes protocolos e qual o papel que desempenham dentro de suas camadas, surge a necessidade do conhecimento do que são e quais deles serão necessários para que se cumpra o objetivo final. Além de explicar quais protocolos serão utilizados, será necessário o entendimento das diferenças entre eles. 2.3 Protocolos Protocolos nada mais são que um conjunto de regras, reguladores de tempo e um sintetizador que coordena a troca de informação entre dispositivos ou programas de computador (HARTE, 2003). Tanto a origem quanto o destino devem ter o mesmo protocolo para interpretar os dados enviados/recebidos. Caso os extremos não possuam o mesmo protocolo, pode haver um intermediário que faça a tradução entre eles. (LABCOMP, 1998) A mobilidade pode ser realizada utilizando-se vários protocolos. O objetivo deste trabalho é apresentar a mobilidade IP utilizando tanto o protocolo IPv4 quanto o protocolo IPv6, portanto se faz necessária a explicação do que são estes protocolos, assim como compará-los. Além disso, mostrar como que é possı́vel ter uma rede com protocolo IPv6 dentro das redes IPv4. 2.3 Protocolos 23 2.3.1 IPv4 O IPv4 é um protocolo da camada de rede (modelo OSI) e da camada Internet (modelo DARPA) (NAUGLE, 1998). Ele foi padronizado pela IETF (Internet Engineering Task Force) na década de 80 (DARPA, 1981) e depois de 25 anos continua sendo muito utilizado, principalmente na Internet. É um protocolo roteável, possibilita o crescimento da rede sem serviços de interrupção e ainda permite que a rede seja formada por equipamentos de diversos fabricantes distintos (FEIT, 1999; NAUGLE, 1998). Isto possibilitou que as organizações pudessem comprar comutadores de um ou mais fabricantes, roteadores de outros e ainda garantir que a rede funcionasse como se fossem de apenas um fabricante. Este protocolo é divido em duas partes: o cabeçalho e os dados (FEIT, 1999). O cabeçalho contém as informações do pacote, informando a versão, IP de origem, IP de destino, checksum (para controle de erros), entre outros. A Figura 3 mostra como é formado o cabeçalho do IPv4. Figura 3: Cabeçalho IPv4. Adaptado de Doyle (2005) Cada campo do cabeçalho tem sua particularidade e descreve informações importantes para os nós que interpretarão o pacote. Conforme Smetana (2001) e Doyle (2005) a descrição de cada campo deste cabeçalho é dada conforme a Tabela 1. 2.3 Protocolos 24 Tabela 1: Descrição do cabeçalho do IPv4 Campo Cabeçalho Versão do Tamanho do Cabeçalho Tipo de Serviço ou DiffServ Tamanho Total Indicador Sinalizador Deslocamento Fragmento do Tempo de Vida (TTL - Time To Live) Protocolo Verificação da Soma do Cabeçalho Endereço de Origem e Endereço de Destino Opções Enchimento Descrição Ocupa quatro bits que representam a versão do protocolo IP que está sendo utilizada. A versão 4 do IP é representado pelo número 4. Também conhecida como IHL (Internet Header Length), informa o tamanho do cabeçalho. A contagem é feita de 32 em 32 bits. Campo muito importante para o uso do QoS (Quality of Service). É uma representação numérica que informa a precedência do pacote na rede. Informa o tamanho total do datagrama. É medido em octetos (bytes), podendo ocupar no máximo 64kB, porém é recomendado não ultrapassar de 576 bytes, a fim de evitar problemas de perca de pacote. Informa o número para identificar o datagrama. Serve para que o destino remonte os datagramas da forma que foram criados e não da forma que foram recebidos. 3 bits que representam os sinais de controle na transmissão. O primeiro bit é reservado, o segundo indica se o datagrama pode ser fragmentado (DF - Don’t Fragment) e o terceiro informa se é o último datagrama (MF - More Fragments). São 13 bits que especificam o offset, medido em 8 octetos, representa a posição do começo do cabeçalho até o começo do fragmento. Isto evita erros na remontagem, causados por recebimento de pacotes fora de ordem de criação. Indica o tempo máximo que o pacote pode permanecer na rede. Cada unidade processadora de datagramas deve diminuir 1 do valor do TTL. Quando o TTL tem o valor 0, ele deve ser destruı́do por ser considerado inalcançável. Informa o protocolo que está usando a camada IP para as camadas Nó-para-Rede ou Transporte. É um campo destinado a detecção de erros. O checksum É verificado a cada vez que é recebido, para garantir que o pacote chegou sem modificações. Quando se utiliza os protocolos TCP, UDP ou ICMP não é necessário o uso deste checksum, já que aqueles protocolos já fazem o cálculo. Cada um possui 32 bits e representa o IP do emissor e do destinatário, respectivamente. É um campo de tamanho variável, com no máximo 320 bits que definem algumas informações para os roteadores. Outro campo de tamanho variável, porém com no máximo 31bits. Serve apenas para completar com 0 o campo Opções caso ele não seja múltiplo de 32 bits. O campo Protocolo tem seu valor definido com um número de 8 bits. Cada protocolo possui um número de identificação único (SMETANA, 2001). Estes números estão padronizados na RFC 1700. Na Tabela 2 é apresentado alguns protocolos com seus respectivos números de identificação. 2.3 Protocolos 25 Tabela 2: Principais números para os protocolos Número do Protocolo 1 2 4 6 17 41 45 46 47 54 58 88 89 Protocolo Internet Control Message Protocol (ICMPv4) Internet Group Management Protocol (IGMPv4) IP sobre IP (encapsulado) Transmission Control Protocol (TCP) User Datagram Protocol (UDP) IPv6 Inter-Domain Routing Protocol (IDRP) Resource Reservation Protocol (RSVP) Generic Routing Encapsulation (GRE) NBMA (Non-Broadcast, Multi-Access) Next Hop Resolution Protocol (NHRP) Internet Control Message Protocol (ICMPv6) Cisco Internet Gateway Routing Protocol (IGRP) Open Shortest Path First (OSPF) Conforme a Tabela 2, quando o protocolo IP está trabalhando com TCP, o campo Protocolo recebe o valor 6, porém quando está trabalhando com IP sobre IP (como é o caso da Virtual Private Network - VPN), o campo recebe o valor 4. Isto é aplicável aos demais protocolos também. Outros campos a serem explicados com maior detalhe são os de Endereço de Origem e Endereço de Destino, pois possuem uma forma especial para serem definidos. É de suma importância o conhecimento de como é calculado e o modo de funcionamento do endereçamento IPv4. Para compreender como a mobilidade funciona dentro da camada de rede é necessário o entendimento de como um nó identifica o outro para a transmissão das mensagens. Alguns mecanismos que ajudam no processo de identificação, controle e tradução são: • Endereçamento IP: Responsável por situar um nó dentro da rede. Com ele é possı́vel saber em que rede está, quais outros nós podem ser alcançados, entre outros; • ARP (Address Resolution Protocol): Responsável por descobrir o endereço fı́sico de um determinado nó, representado por determinado IP. Possibilitando a comunicação; • ICMP (Internet Control Message Protocol): Responsável por informar ocorrências na rede, principalmente problemas causados por perdas de pacote; e • NAT (Network Address Translation): Responsável pela tradução de um IP para outro, fazendo que uma rede com IPs inválidos compartilhem um único IP válido. Após apresentar estes itens, será possı́vel analisar um exemplo. Este exemplo será baseado 2.3 Protocolos 26 numa simples rede conectada a Internet e seus servidores, exceto o de DHCP4 (Dynamic Host Configuration Protocol), estarão em uma zona separada das estações. Contudo para que se entenda o exemplo é necessário os conhecimentos que serão explicados sobre endereçamento IP, ARP, ICMP e NAT, todos estes mecanismos terão sua utilidade prática apresentadas no exemplo. A compreensão do funcionamento do ARP, ICMP e NAT requer o entendimento das formas de endereçamento. Formas de endereçamento mal realizadas podem ocasionar anomalias na rede, impedindo que os outros mecanismos atuem corretamente. 2.3.1.1 Endereçamento IPv4 O endereçamento no IPv4 é um conjunto de 32 bits. Ele é representado em quatro conjuntos de 8 bits na forma A.B.C.D, onde cada letra é um conjunto de 8 bits, porém na forma decimal (DORASWAMY; HARKINS, 2003). Por exemplo, o IP 10101100000100100000011111010000 (forma binária) é representado por 172.18.7.208. Como cada letra é um conjunto de 8 bits, os IPs variam de 0.0.0.0 a 255.255.255.255. O IP é subdivido em duas partes, uma parte chamada de Network (Rede) e outra de Host (Máquina). A sub-rede é definida através de um .AND. Lógico entre o IP e a máscara de subrede, a Figura 4 mostra um exemplo desta operação. Esta máscara é um conjunto de 32 bits que representa um conjunto de 1 e 0, sem alternância (PATIL et al., 2003). A representação da máscara de sub-rede é igual a do IP, em decimal, ou, em alguns casos, em hexadecimal. Para representar os dois juntos é feito da seguinte forma: IP/Máscara (exemplo: 172.18.7.208/255.255.0.0) ou IP/Quantidade de 1 na parte mais significativa da máscara (exemplo: 172.18.7.208/16) (DORASWAMY; HARKINS, 2003). Figura 4: Definindo a sub-rede. Adaptado de Doraswamy e Harkins (2003) Na Figura 4 foram apresentados três exemplos de como encontrar o endereço de sub-rede. O endereço dos nós são sempre os mesmos, variando apenas a máscara de sub-rede (representada na forma hexadecimal), causando significativas mudanças no endereço de sub-rede. Isto 4 Serviço que atribui um IP automaticamente a um nó. 2.3 Protocolos 27 mostra que o endereço da máscara de sub-rede é muito importante para a definição de que rede determinado IP se encontra. Conforme Kirkpatrick, Stahl e Recker (1990) e Malone e Murphy (2005), os IPs são divididos em cinco classes, a Figura 5 representa a disposição das classes e a faixa de IPs que abrangem. As classes são: • A: Permite 128 endereços para cada sub-rede; • B: Permite 16.384 endereços para cada sub-rede; • C: Permite 2.097.152 endereços para cada sub-rede; • D: Representam os endereços de multicast; • E: Esta classe é utilizada apenas para testes e não deve ser utilizada por nenhuma aplicação. Figura 5: Classe de IPs e faixas que as compõe. Adaptado de Tanenbaum (2003) Na Figura 5 pode ser visto quais os bits que são fixos para cada classe, bem como a faixa de endereçamento que abrangem e onde se faz a divisão entre os bits que representam o endereço de sub-rede e de rede. Isto faz com que seja possı́vel ter melhores divisões na organização dos IPs. Um exemplo disto são os endereços privados. Os endereços das redes privadas são faixas de IP que são destinados para uso de rede internas, não podendo ser utilizáveis na Internet. Sua definição encontra-se na RFC 1918. Estes IPs também são conhecidos como IPs inválidos, sendo recomendados para a utilização em LAN (Local Area Network). Os IPs de loopback não chegam até a camada fı́sica, eles são apenas para referenciar o próprio nó. Quando um dispositivo de rede é iniciado, ele é definido com o IP 0.0.0.0, até que seja definido um valor, seja este estático ou dinâmico (TANENBAUM, 2003). 2.3 Protocolos 28 Além disso, um IP pode querer enviar um pacote a todos os membros da LAN ou da sua sub-rede (MALONE; MURPHY, 2005). Conforme Tanenbaum (2003), este processo é conhecido como broadcast. A forma que isto é feito é através da definição do IP de destino, podendo ser de dois tipos: • Para toda a LAN: o campo endereço de destino é atribuı́do todo com valor 1, ou seja, 255.255.255.255, fazendo que todos os nós que receberem o pacote, irão processá-lo; • Para todos da sub-rede: o campo endereço de destino é atribuı́do com o endereço da subrede e na parte da identificação do nó é atribuı́do com tudo 1. Por exemplo, se a sub-rede é 192.168.254.0/24, o endereço para 192.168.254.255. O uso do endereçamento IP é indispensável para qualquer pacote IP, pois é ele quem informa para quem se destina o pacote, seja para todos os nós ativos da rede (broadcast), para si mesmo (loopback), para algum nó em especı́fico (unicast) ou para algum grupo que tal nó pertença (multicast), entre outros tipos de destino. É também nele que se baseiam os cálculos para definir em que sub-rede se encontra. 2.3.1.2 ARP (Address Resolution Protocol) O protocolo ARP, definido na RFC 826, é um protocolo que auxilia na comunicação de redes com endereços lógicos (COMER, 2000). Por exemplo, se um nó A quer comunicar-se com um nó B, ele precisa saber o endereço fı́sico do nó B, sem ele torna-se inviável a comunicação nó-a-nó. O objetivo será explicar este protocolo devido o IPv4 ter uma forma de endereçamento lógico. É necessária a utilização do protocolo ARP para a localização dos endereços fı́sicos dentro da rede IPv4, já que endereços lógicos não identificam fisicamente os nós. Este protocolo funciona enviando um pacote broadcast para a rede informando o IP de origem, endereço MAC (Medium Access Control) de origem, IP de destino e o endereço MAC de destino. Inicialmente o endereço MAC é iniciado em branco (valor 0), pois é este o valor que se quer descobrir. Quando o dono do IP de destino identifica este pacote na rede, ele automaticamente responde para o endereço de origem o seu endereço MAC (DOYLE, 2005). A Figura 6 mostra um exemplo desta comunicação. 2.3 Protocolos 29 Figura 6: Descobrindo o endereço MAC. Adaptado de Doyle (2005) A Figura 6 exemplifica o envio e recebimento do ARP. O nó 172.16.1.21 quer descobrir o endereço MAC do IP 172.16.1.33, então ele envia um pacote para a rede, informando seus endereços (IP e MAC) e o endereço IP do destinatário. O nó 172.16.1.33 recebe o pacote e identifica que se refere a ele, então responde ao emissor o pacote informando seu endereço MAC. Para evitar o uso do ARP a cada envio de pacote a um endereço lógico, os nós geram uma tabela que guardam o endereço IP e o endereço MAC. Assim, antes de enviar um pacote ARP para descobrir o endereço MAC, consulta-se na tabela, economizando banda, processamento e tempo. (DOYLE, 2005) O ARP é apenas um exemplo para este tipo de serviço, porém um dos mais usados. Os sistemas operacionais utilizam este protocolo para descobrirem os endereços fı́sicos dos IPs no qual o usuário quer verificar informações compartilhadas, por exemplo. 2.3.1.3 ICMP (Internet Control Message Protocol) O ICMP, descrito na RFC 792, é um protocolo que serve para controle de eventos dentro da rede, no nı́vel da camada de rede (TANENBAUM, 2003). Este protocolo informa mensagens de controles apenas, não transporta nenhum tipo de dados utilizados para as aplicações (DOYLE, 2005). Informações para verificar se um nó está funcionando, se um pacote foi perdido, se uma rede, nó, protocolo ou porta não foram encontrados são exemplos da utilidade deste protocolo. Este protocolo também pode ser conhecido como ICMPv4, informando que é o protocolo ICMP para a versão 4 do IP. O comando PING é um exemplo do uso de ICMP e será utilizado no estudo de caso. 2.3 Protocolos 30 A intenção de apresentar este protocolo é mostrar que é possı́vel controlar os eventos de uma rede, no nı́vel da camada Internet. Ao realizar os testes práticos este protocolo servirá de forma que será possı́vel testar maus comportamentos da rede durante a utilização da mobilidade, servindo, portanto, como um depurador da rede. No cabeçalho do ICMP há um campo para armazenar o código ICMP, que identifica o propósito da mensagem. Nas RFCs 792, 1256, 1393, 1475, entre outras podem ser encontradas alguns destes códigos. A RFC 4065 descreve um código ICMP que está sendo usado de forma experimental para testar os protocolos que tratam de mobilidade. 2.3.1.4 NAT (Network Address Translation) Para que fosse economizado IPs, foram criados os serviços de NAT, definidos na RFC 3022. Estes serviços transformam IPs privados em IPs públicos e vice-versa (MALONE; MURPHY, 2005; SRISURESH; EGEVANG, 2001). Por exemplo, uma empresa possui 1000 computadores que utilizam Internet. Se cada computador tivesse que ter um IP válido, com algumas empresas a quantidade de IPs esgotaria, já que um IP pode ser atribuı́do a apenas um nó simultaneamente. Logo, esta empresa precisa de no mı́nimo um IP válido e os demais poderiam ser inválidos e quando um dos nós precisasse acessar algo da Internet, ele enviaria seu IP inválido até o servidor NAT e este transformaria no IP válido detido pela empresa. A Figura 7 exemplifica como ocorre esta transformação. Figura 7: Transformação do endereço, utilizando NAT. Adaptado de Tanenbaum (2003) Na Figura 7, o nó 1 envia um pacote para a Internet e seu IP na LAN é 10.0.0.1, mas após passar pelo NAT, ele é alterado para 198.60.42.12. Isto ocorre a todos os nós que tentarem enviar um pacote para a Internet. 2.3 Protocolos 31 O objetivo de mostrar este tipo de serviço é demonstrar que ele é muito importante para as redes IPv4, já que possibilitaram a ampliação das redes IPv4. Este serviço é largamente utilizado em empresas e até mesmo em residências. Em residências é comum para quem tem mais de um computador e utiliza Internet, outro caso de uso residencial é para utilização de Internet de forma coletiva, abrangendo vários condôminos. Além do serviço de transformação do IP na saı́da do pacote, ele também é utilizado para o recebimento de pacotes, direcionando uma requisição de um serviço para outro nó servidor deste serviço (TANENBAUM, 2003). Por exemplo, uma empresa possui um servidor HTTP (HyperText Transfer Protocol). Quando o servidor NAT recebe o pacote direcionado para a porta do servidor, ele já faz a tradução do IP válido para o IP inválido que representa o nó do servidor de HTTP. Para este tipo de ocasião, o servidor NAT guarda uma tabela com o tipo do protocolo de transporte, porta de origem, IP do nó que oferece o serviço e porta do serviço no nó que oferece (TANENBAUM, 2003). O NAT é um serviço que ajudou na não extinção do IPv4, já que este possibilitou um aumento da quantidade de IPs sem a alteração do número de bits reservados ao endereçamento. Isto fez com que a existência do IPv4 perdurasse por mais alguns anos, porém este serviço apenas aumentou a quantidade de endereços para suprir a necessidade da época (TANENBAUM, 2003). Pensando nisso, os órgãos reguladores da Internet, em parceria com empresas do ramo, estão desenvolvendo uma nova versão para o IP, visando resolver o problema de endereçamento e outros problemas ou aperfeiçoamentos de recursos, como as formas para roteamento, ficando esta nova versão do IP chamada de IPv6. Acredita-se que em meados de 2010 o IPv4 entre em desuso e seja iniciado o processo de transição para o IPv6. (SMETANA, 2001) Entretanto, o NAT oferecia apenas o serviço de tradução de endereços e não se preocupava com a porta que o pacote estava requisitando. Para que se resolvesse tal situação foi criado o serviço de NAPT (Network Address and Port Translation). Este serviço faz com que além de transformar o IP, transforme a porta que está sendo requisitada (SRISURESH; EGEVANG, 2001). Por exemplo, se o servidor de e-mail da empresa se encontra em uma porta diferente do padrão, o serviço de NAT pode fazer com que quando um pacote proveniente na porta padrão de e-mail venha da Internet, este seja traduzido para aquele configurado no servidor de e-mail. Tanto o NAPT, quanto o NAT oferecem serviços para a tradução de endereços, a única diferença é que o NAPT pode traduzir portas além do endereço. Estes serviços, realizando a tradução dos endereços, fazem com que grandes redes privadas possam acessar as redes públicas utilizando poucos IPs, pois fazem a convergência de vários IPs inválidos em um único válido. 2.3 Protocolos 32 2.3.1.5 Exemplo de Uso O exemplo será uma definição de polı́tica IP5 de uma rede que está conectada a Internet e possui um firewall6 para controlar os pacotes que trafegam entre a rede interna e a Internet, assim como as estações e a rede de servidores na DMZ7 (DeMilitarized Zone). Este firewall dividirá a rede de servidores pertencentes a DMZ das estações e do servidor de DHCP, assim como pode ser visto na Figura 8. Figura 8: Exemplo de rede utilizando IPv4 A função desempenhada pelo roteador é de fazer a troca de pacotes entre a rede e a Internet. Conforme a Figura 8, o roteador apresenta duas interfaces: • Voltada para Internet: atribuı́da com IP estático 200.18.7.1 e máscara 255.255.255.252; e • Voltada para rede: atribuı́da com IP estático 192.168.3.254 e máscara 255.255.255.252. Para todo pacote que seja originado na rede com destino a Internet terá que passar pelo 5 Designação 6 Controla e alocação do espaço de endereçamento IP o tráfego entre duas ou mais sub-redes a ele conectado, impedindo a transmissão de pacotes não autorizados. 7 Rede com menor proteção para colocar informações que sejam voltadas ao público. Isto faz com que uma invasão em um dos serviços de Internet não comprometa os dados internos, pois esta rede estaria separada da rede de dados privados. 2.3 Protocolos 33 roteador e vice-versa. O roteador fará o serviço de NAT para transformar o IP inválido da rede em um IP válido, no caso da Figura 8 seria o IP 200.18.7.1, e vice-versa. Porém todo pacote que é enviado entre a rede e a Internet, também deve passar pelo firewall, conforme a Figura 8. Este firewall possui três interfaces: 1. Ligada ao roteador: Apresenta o IP 192.168.3.253 com máscara 255.255.255.252. Todos os dados que serão trocados com a Internet passarão por esta interface; 2. Ligada a DMZ: Apresenta o IP 192.168.2.254 com máscara 255.255.255.0. É na DMZ que se encontram os serviços de Internet, logo todo o tráfego que a rede oferece de serviço passará por esta interface; e 3. Ligada a rede interna: Apresenta o IP 192.168.1.254 com máscara 255.255.255.0. Toda estação que tentar usar algo da Internet passará por esta interface. O firewall possui regras de segurança a fim de garantir que ninguém faça mau uso dos serviços disponı́veis, bem como que as estações respeitem, de forma forçada, a polı́tica de segurança impostas para a rede. Além disso, como ele analisa os pacotes e encaminha para o seu devido destino, possui incorporado um serviço de NAT e NAPT (Network Address and Port Translator). Como a rede interna não apresenta nenhum serviço para a Internet ou para outras sub-redes, o firewall descartará todo o pacote que tentar acessar algum serviço para esta rede. Isto faz com que a segurança seja reforçada, pois impede que usuários ou programas mal intencionados que estão na rede interna permitam usuários da Internet acessar os mesmos dados desta rede, comprometendo assim os dados da rede em geral. Dentro da rede interna, há apenas as estações e o servidor de DHCP. Todas as estações possuem IP dinâmico, ou seja, precisam de um servidor para receber o valor IP que utilizarão. É por este motivo que dentro da rede interna há o servidor de DHCP. Este servidor DHCP apresenta um IP estático definido em 192.168.1.253 com máscara 255.255.255.0. Por ter esta configuração de endereçamento, ele apenas pode atribuir endereços para a rede interna e no máximo 252 estações. Seriam 256 estações, porém são descontados os endereços que não podem ser atribuı́dos por serem IP estáticos (firewall e servidor de DHCP) ou endereços que representam a rede (endereço da sub-rede e endereço de broadcast). Após ter sido detalhada a rede da Figura 8, pode-se resumir a rede nas seguintes caracterı́sticas: 2.3 Protocolos 34 • Possui acesso a Internet apenas através de uma conexão; • Os serviços disponibilizados para a Internet devem estar dentro da DMZ; • Possui um firewall para controle do tráfego e para realizar os serviços de NAT e NAPT; • A rede interna não disponibiliza nenhum serviço para Internet ou outras sub-redes; • A rede interna pode acessar a Internet, respeitando as regras impostas no firewall; • Na rede interna, todas as estações possuem IP dinâmico atribuı́dos pelo servidor DHCP; e • Possui três sub-redes: 1. Entre o firewall e a rede interna: com IP de sub-rede sendo 192.168.1.0/24; 2. Entre o firewall e a DMZ: com IP de sub-rede sendo 192.168.2.0/24; 3. Entre o firewall e o roteador: com IP de sub-rede sendo 192.168.3.252/30. Muitas destas caracterı́sticas são encontradas em outras redes que utilizam IPv4. Estas caracterı́sticas se formam muitas vezes até pela disposição da rede, onde há normalmente a parte de rede interna e outra parte para os servidores, ambas independentes entre si. Este exemplo demonstrou como seria uma simples rede estruturada sem uso de conexões sem fio e, conseqüentemente, de mobilidade. O objetivo da apresentação deste exemplo foi para ajudar na compreensão do IPv4, bem como servir de modelo para comparação com redes que utilizam mobilidade. 2.3.2 IPv6 Este protocolo não foi chamado de IPv5 (Internet Protocol version 5), pois esta versão foi apenas uma pequena modificação experimental do IPv4 para tráfego multimı́dia utilizando multicasting (SMETANA, 2001; TANENBAUM, 2003). Seu uso não foi de larga escala e nem de grande impacto mundial, já que era mais voltada a um tipo especı́fico de aplicação. O IPv6, definido na RFC 2460, também conhecido como IPng (Next Generation Internet Protocol) (HAGEN, 2002), é uma evolução da versão 4 do IP (IPv4) (DEERING; HINDEN, 1998). Décadas depois da criação do IPv4 a quantidade de endereçamento do IPv4 estava chegando ao seu limite, a grande quantidade de dados simultânea, o surgimento de aplicativos multimı́dias e outros fatores causaram uma necessidade de melhorar o protocolo, por isso foi criado o IPv6 2.3 Protocolos 35 (6BONE-BR, 1998; FILHO, 2004). Conforme a 6BONE-BR (1998), pode-se citar algumas das caracterı́sticas do IPv6: • Endereçamento de 128 bits; • Arquitetura de endereçamento diferenciada do IPv4; • Suporte a mobilidade; • Mecanismos de autoconfiguração; • Mecanismos de segurança nativo; • Suporte a multicasting e anycasting nativo; • Suporte a aplicações multimı́dia em tempo real. Estas caracterı́sticas fazem com que os serviços da camada Internet sejam melhores adaptados ao meio em que são utilizados. Assim, os recursos e as aplicações podem ser otimizadas a fim de garantir uma maior qualidade na transmissão de dados. Uma inovação do IPv6 foi tornar o tamanho do cabeçalho fixo. Isto aumenta a velocidade de processamento dos equipamentos de rede, já que o mesmo sabe o que cada bit significa, sem a necessidade de leitura e interpretação seqüencial dos dados anteriores. O tamanho do cabeçalho ficou definido com 40 bytes (320 bits), (FILHO, 2004) conforme mostra a Figura 9. Figura 9: Estrutura do IPv6. Adaptado de Smetana (2001) Cada campo do IPv6 possui uma função especı́fica. Na Tabela 3 é possı́vel ver qual a função de cada uma deles, assim como seu respectivo tamanho. 2.3 Protocolos 36 Tabela 3: Descrição do cabeçalho IPv6. Adaptado de Filho (2004), Deering e Hinden (1998) Nome do Campo Versão Classe de Tráfego Rótulo de Fluxo Comprimento da Carga Próximo Cabeçalho Limite de Saltos Endereço de Origem Endereço de Destino Tamanho Descrição (em bits) 4 Informa a versão do protocolo IP, para a versão 6, o campo tem o valor 6. 8 Classifica o tipo do pacote. É similar ao Tipo de Serviço do IPv4. 20 Identifica o fluxo. 16 Tamanho do pacote sem o cabeçalho IP, ou seja, o tamanho dos dados. 8 Informa qual o protocolo deve tratar o pacote depois de passar pela camada de rede. 8 Quantos saltos o pacote pode dar até ser destruı́do caso não chegue ao destino. Similar ao Tempo de Vida no IPv4. 128 Endereço IP do nó remetente do pacote. 128 Endereço IP do nó destinatário. O campo Próximo Cabeçalho no IPv6 é similar ao campo Protocolo do IPv4. Com isto, os valores que podem ser atribuı́dos àquele campo são os mesmos preenchidos no IPv4. Ou seja, os itens descritos na Tabela 2 também podem ser atribuı́dos ao campo Próximo Cabeçalho no IPv6. (DEERING; HINDEN, 1998) Assim como o campo Próximo Cabeçalho foi inserido no cabeçalho do IPv6, outros campos também foram, como é o caso dos campos Classe de Tráfego e Rótulo de Fluxo. Estes protocolos foram inseridos na primeira versão do IPv6 (RFC 1883), porém é possı́vel que estes campos sejam eliminados (SMETANA, 2001). Na RFC 2460, versão que substituiu a RFC 1883, ainda é mantido estes campos. Outro campo que foi incluı́do no IPv6 é o Extensão do Cabeçalho, entre o cabeçalho e os dados, apresentada na Figura 9. Esta extensão tem o objetivo de mover os campos variáveis do protocolo IPv4 para o IPv6, fazendo com que o cabeçalho do IPv6 seja previsı́vel e de fácil adaptação para novas extensões (SOUSA; MONTEIRO; BOAVIDA, 2003). Para que não haja uma perda de desempenho, as extensões só serão processadas quando chegam ao seu endereço de destino (DEERING; HINDEN, 1998). Esta extensão pode ser nula ou conter até mais que uma extensão, (SOUSA; MONTEIRO; BOAVIDA, 2003) porém cada extensão deve ter tamanho múltiplo de 64 bits (SMETANA, 2001) e a soma de todas extensões não pode ultrapassar 60 bytes (HAGEN, 2002). Cada extensão possui um campo chamado Próximo Cabeçalho para que seja determinado o próximo protocolo (da próxima extensão) ou o inı́cio dos dados (SMETANA, 2001). A Figura 10 exemplifica o uso de extensões, mostrando, por exemplo, no segundo caso que há o cabeçalho do IPv6 normalmente, com o campo Próximo cabeçalho indicando ser Roteamento. A próxima extensão então será de Roteamento, tendo seu cabeçalho e indicando o próximo, e assim sucessivamente, até chegar ao cabeçalho do TCP e ir direto para os dados. 2.3 Protocolos 37 Figura 10: Exemplos do uso de extensões no IPv6. Adaptado de Sousa, Monteiro e Boavida (2003) A Figura 10 é composta por três exemplos, são eles: • No item (a) não há extensões; • No item (b) é feito uso de uma extensão, onde esta é a extensão de roteamento; e • No item (c) é feito uso de várias extensões, inicialmente referencia para um cabeçalho de roteamento e em seguida para uma extensão de fragmentação. Conforme Hinden e Deering (2006), uma completa implementação do IPv6 inclui alguns tipos de cabeçalhos de extensões disponı́veis, dentre elas estão: • Opções de salto-a-salto (Hop-by-Hop): Carrega as informações que devem ser analisadas por todos os nós por onde passa; • Roteamento: O nó de origem define uma lista de nós intermediários em que o pacote deve visitar no caminho; • Fragmento: é utilizado pelo nó de origem para enviar um pacote maior que o suportado pelo MTU8 (Maximum Transmit Unit) do caminho até o destino; • Opções de Destino: Carrega as informações que deve ser analisadas apenas pelo nó de destino. 8 Tamanho bytes. do maior datagrama que pode ser enviado pela rede. Nas redes Ethernet este tamanho vale 1.500 2.3 Protocolos 38 O uso de extensões é extremamente fundamental para a utilização da mobilidade IPv6, pois é nelas que ficam armazenadas as opções de mobilidade, como por exemplo, a posição do nó móvel. Isto facilita o suporte à mobilidade, ao contrário do que ocorre na mobilidade IPv4. (SOUSA; MONTEIRO; BOAVIDA, 2003) Para que se entenda como o IPv6 compõe os campos Endereço de Origem e Endereço de Destino é necessário saber como funciona a arquitetura de endereçamento do IPv6. Conforme Hagen (2002), Hinden e Deering (2006), Sportack (2002), Dixit e Prasad (2002), é nesta arquitetura que se define se o pacote é: • Unicast: Um endereço unicast identifica uma única interface IPv6. Quando o pacote é enviado para um endereço unicast, apenas a interface que representa este IP recebe o pacote; • Multicast: Um endereço muticast identifica um grupo de interfaces. Quando o pacote é enviado para o endereço multicast, todas as interfaces pertencentes ao grupo processam o pacote; e • Anycast: Um endereço anycast é designado para múltiplas interfaces. Quando o pacote é enviado para o endereço anycast, apenas uma das interfaces processa o pacote. O endereçamento IPv6 tem o mesmo propósito do endereçamento IPv4. Além de um IP ser dividido nas três categorias apresentadas, ele pode apresentar sub-divisões, onde estas definirão a que grupo pertencem, se são auto configuráveis e outros aspectos particulares para identificação do nó na rede. Após adquirir o conhecimento de como funciona o endereçamento no IPv6, será apresentado um exemplo para demonstrar como fica uma rede utilizando o protocolo IPv6. Além da apresentação da rede, será explicado como a rede foi elaborada. A explicação deste protocolo é de fundamental importância para que se alcancem os objetivos, pois será em rede sem fio baseadas neste protocolo que serão feitos os testes. Teste estes que visão apresentar a qualidade da mobilidade IPv6. 2.3.2.1 Endereçamento IPv6 O IPv6 reserva 128 bits para o endereçamento, e possui as mesmas funcionalidades do IPv4: identificadores para interfaces e conjunto de interfaces (NAUGLE, 1998). Com esta quantidade de bits reservadas para o endereçamento é dito ser impossı́vel o esgotamento da quantidade de endereços, não sendo um problema assim como foi no IPv4. 2.3 Protocolos 39 A arquitetura de endereçamento é muito importante para a organização da rede e de uma forma de identificação da localização e o papel que um determinado nó está realizando dentro da rede. A definição da arquitetura de endereçamento recomendada pela IETF encontra-se na RFC 4291. A notação que é utilizada no IPv6 é diferente da IPv4. Na versão anterior era utilizada a notação decimal pontuada, já nesta versão é utilizada a notação hexadecimal. A representação é definida como um conjunto de oito grupos de 16 bits cada, separados pelo sı́mbolo dois-pontos, (HINDEN; DEERING, 2006) ficando na forma x:x:x:x:x:x:x:x, onde cada “x” representa um grupo de 16 bits. Não há a necessidade de representar cada grupo com quatro dı́gitos, podendo ser representado em apenas um, por exemplo, em vez de representar 008E, basta representar por 8E. Para suprimir a repetição de zeros dentro do IP, foi criada uma notação para simplificar a identificação, isto faz com que a interpretação fique mais clara. Esta identificação ficou definida como a repetição do sı́mbolo de dois-pontos (“::”) (DOYLE, 2005). O IP FF01:0:0:0:0:0:0:101 pode ser resumido para FF01::101. Porém, esta simplificação pode ocorrer apenas uma vez no endereço. Por exemplo, o IP FF01:0:0:0:80:0:0:1 pode ser representado por FF01::80:0:0:1 ou FF01:0:0:0:80::1 e nunca como FF01::80::1. Para que a transição do IPv4 para o IPv6, foram criados mecanismos que auxiliam este processo. Um desses mecanismos é uma representação do IPv4 dentro do IPv6. A representação ficou definida por x:x:x:x:x:x:d.d.d.d, onde os “d” representam o valor decimal do endereço IPv4 e o “x” um grupo de 16 bits na forma hexadecimal (HINDEN; DEERING, 2006). Por exemplo, o IPv4 172.18.7.208 é representada no IPv6 na forma 0:0:0:0:0:0:172.18.7.208, ou simplesmente, ::172.18.7.208. A representação do prefixo de endereços IPv6 serve para informar quantos bits são significativos. É com este valor que se calcula o endereço de sub-rede. A representação no IPv6 é similar a do IPv4. É representado pela notação decimal logo após o endereço, separado por uma barra, ficando na forma “endereço-ipv6/tamanho-do-prefixo” (HAGEN, 2002). Um exemplo da representação é 2001:0DB8:0:CD30:123:4567:89AB:CDEF/60, onde o endereço de sub-rede fica, por conseqüência, sendo 2001:0DB8:0:CD30::. No IPv6 o broadcast foi extinto, sendo substituı́do pelo multicast. Isto faz com que o fluxo nas redes internas seja reduzido devido a menor quantidade de dados transmitida, fazendo com que os dados a serem transmitidos sejam enviados diretamente para seus fins e não para todos. A composição dos endereços Unicast é similar ao IPv4, seguindo a CIDR (Classless Inter- 2.3 Protocolos 40 Domain Routing), ou seja, é composto pelo prefixo da sub-rede e pelo identificador do nó. Porém, ele é dividido em alguns tipos, conforme Hinden e Deering (2006): • Endereço não especificado: é o endereço ::0, nunca sendo atribuı́do a nenhum nó. Isto significa que é um endereço não atribuı́do ainda. Ele pode ser utilizado no campo de endereço de origem, apenas quando está mandando um pedido para determinação de IP (como utilização do serviço DHCP) e nunca pode ser usado para endereços de destino; • Endereço de loopback: Também conhecido como ::1, serve para representar o próprio nó. Assim como no IPv4, este endereço nunca é usado como endereço de origem na camada fı́sica, ficando restrito apenas ao dispositivo de rede; • Endereço global de unicast: é formado por n bits do prefixo de roteamento global, m bits do identificado de sub-rede e 128-n-m bits para o identificador do nó. O prefixo de roteamento global é um valor designado para um grupo em geral; • Endereço de Conexão-Local: São definidos com os 10 primeiros bits sendo 1111111010, os próximos 54 bits são fixos, com valor 0. e os demais 64 bits identificam o nó. É com este tipo de IP que é possı́vel utilizar o recurso de configuração automática de IP no IPv6, porém, estes IPs não são roteáveis, ou seja, os roteadores descartam os pacotes que contenham estes IP como origem ou destino; • Endereço de Sı́tio-Local: Desenvolvidos para serem usados em locais que não precisasse de um prefixo global, porém isto entrou em desuso (HUITEMA; CARPENTER, 2004). As novas aplicações já tratam este tipo de endereçamento como global de unicast. Sua composição é feita por uma concatenação de 10 bits fixos (1111111011), 54 bits para identificar a sub-rede e 64 bits para identificar o nó; e • Endereços IPv6 com IPv4 embutido: Pode ser representado de duas formas: – Endereço Compatibilidade IPv4 em IPv6: Isto ajuda na transição do IPv4 para o IPv6. Sua forma é com os primeiros 96 bits sendo 0 e os demais 32 sendo o endereço IPv4. É um modo que aceita apenas endereços unicast do IPv4. Como as formas de transição não utilizam mais esta forma de endereçamento, este modo está entrando em desuso; e – Endereço IPv4 mapeado no em IPv6: Representa os nós do IPv4 dentro do IPv6. A representação é dada por 80 bits com valor 0, 16 bits com valor 1 e os demais 32 bits representam o endereço IPv4. 2.3 Protocolos 41 Estas formas de endereçamento são responsáveis pela identificação de cada nó na rede. Caso um nó seja atribuı́do de forma incorreta, o seu comportamento dentro da rede pode ser anômalo, fazendo com que aplicações ou serviços não funcionem, por exemplo. O endereço anycast é identificado quando o IP é uma concatenação do prefixo da subrede com zeros (HINDEN; DEERING, 2006). Um exemplo disto é o IP FE80:A52:8E::. Onde FE80:A52:8E é o prefixo da sub-rede e os demais 80 bits são completados com o valor zero. Ele faz com que quando um pacote chegar a um roteador e tiver a opção de escolha entre mandar o pacote para três servidores que executam o mesmo serviço, ele escolhe a rota que tem menor custo e envia (MALONE; MURPHY, 2005). O endereço de multicast é representado por um conjunto de 8 bits com valor um, seguidos de 4 bits representado um sinalizador, 4 bits para definir o escopo e 112 bits para definir a identificação do grupo multicast. O sinalizador é definido conforme a RFC 4291, RFC 3306 e RFC 3956. O escopo serve para identificar o grupo multicast, definindo se este será uma interface local, um grupo de administração, um grupo organizacional, entre outros (HINDEN; DEERING, 2006). Conforme Hinden e Deering (2006), Popoviciu, Levy-Abegnoli e Grossetete (2006), destacam-se alguns grupos: • Interface-Local (0001): é apenas uma simples interface, sendo útil para loopback dentro da transmissão multicast; • Conexão-Local (0010): Mede a amplitude da mesma região topológica, com espaço corresponde ao unicast; • Admin-Local (0100): é o menor escopo que deve ser administravelmente configurada; • Sı́tio-Local (0101): Planejado para um simples sı́tio; e • Organização-Local (1000): Planejado para vários sı́tios dentro de uma mesma organização. Os demais itens, com exceção de 0000 e 0011 que são reservados, estão avaliados para os administradores definirem regiões adicionais (HINDEN; DEERING, 2006). Isso faz com que os administradores adaptem à melhor forma de criação dos grupos para as organizações. A forma de endereçamento, conforme Hinden e Deering (2006), define uma grande gama bem definidas de IPs para as diversas formas de aplicações. Isto possibilita uma quantidade maior de nós dentro das redes internas, facilitando a administração da mesma. O IPv6, por ser uma nova versão, incorpora funcionalidades que são incapazes ou ineficientes de serem atendidas com IPv4. Uma das novas funcionalidades é a padronização dos 2.3 Protocolos 42 endereços para as redes multicast, possibilitando a simplificação deste tipo de rede, dando um maior espaço para o desenvolvimento de aplicações nesta área, como por exemplo, aplicações multimı́dia. 2.3.2.2 Exemplo de Uso A rede que será estuda é semelhante a que foi estudada com IPv4 (Seção 2.3.1.5), porém utilizará IPv6. Ela apresenta conectividade com a Internet, possui um firewall entre a Internet, DMZ e a rede interna, servidores para Internet e estações de trabalho. A Figura 11 representa graficamente como está disposta esta rede. Figura 11: Exemplo de rede utilizando IPv6 O Roteador faz todos os serviços de roteamento entre a rede e a Internet. Precisando, portanto, de duas interfaces: 1. Ligada a Internet: Atribuı́da com IP 2001:DB8::8:800:200C:417A; e 2. Ligada ao firewall: Atribuı́da com IP FEC0:0:0:2::2/126. 2.3 Protocolos 43 O IP da conexão com a Internet é do tipo endereço global de unicast. Todos os IPs na Internet devem trabalhar com este tipo de endereçamento. O IP da conexão com o firewall é considerado do tipo endereçamento de Sı́tio-Local, conforme Hinden e Deering (2006). Porém, Huitema e Carpenter (2004) demonstram que esta forma de endereçamento já entrou em desuso, tornando este IP do tipo endereçamento global de unicast também. Todo o pacote de quer for originado ou destinado a Internet passará tanto pelo roteador quanto pelo firewall. Este firewall possui três interfaces: 1. Ligada a DMZ: Com IP FEC0:0:0:1::1/64; 2. Ligada ao roteador: Com IP FEC0:0:0:2::1/126; e 3. Ligada a rede interna: Com IP FE80::1/64. Assim como o tipo de endereçamento do roteador para o firewall é do tipo Sı́tio-Local ou global de unicast, os IPs do firewall para o roteador e do firewall para a DMZ também são, pois seguem a mesma regra. Já a interface para a rede interna apresenta um IP do tipo ConexãoLocal, pois assim é possı́vel ativar a atribuição automática de IP para as interfaces configuradas com IP dinâmico. O motivo da rede interna em utilizar IP do tipo de Conexão-Local é para isentar da necessidade de ter um servidor de DHCP, pois é no tipo de endereçamento de Conexão-Local que se tem a opção de utilizar o configuramento automático de endereços. Deste modo, é possı́vel dispensar o uso de um equipamento que precise estar sempre ativo para atribuir IP para as estações. A finalidade do roteador, do firewall e da DMZ são as mesmas que foram apresentas no exemplo para a rede IPv4. Ocorrendo a tradução do pacote enviado ou recebido da Internet para a rede, a segurança dos dados com o redirecionamento dos pacotes as devidas sub-redes e os serviços disponı́veis para a Internet, respectivamente. 2.3.3 Diferenças entre IPv4 e IPv6 Como o IPv6 é uma versão melhorada e adaptada do IPv4, algumas diferenças entre ambos surgiram. Estas diferenças é que fazem com que a nova versão seja mais adaptada e atendam com melhor performance as necessidades atuais. Conforme Deering e Hinden (1998), Hagen (2002) e Smetana (2001), a Tabela 4 mostra algumas dessas diferenças. 2.3 Protocolos 44 Tabela 4: Comparação do IPv4 com IPv6 Capacidade Endereçamento de Autoconfiguração Hierarquia endereçamento Formato cabeçalho de do IPv4 32 bits, possibilitando 232 combinações possı́veis. Necessita de um servidor para distribuir IP. Por exemplo, o DHCP. Grande definição para unicast e generalização pra multicast. Forma complexa de interpretação pelos roteadores, necessitando de mais tempo de processamento. Suporte para extensões e opções Possui o campo Opções. Identificação Fluxo de Necessária configuração especial junto aos roteadores e comutadores, além dos aparelhos necessitarem suporte para tal recurso. Extensão autenticação privacidade para e Não possui suporte nativo, necessita de utilização de IPsec (Internet Protocol Security) IPv6 128 bits, possibilitando 2128 combinações, ou seja, quatro vezes a quantidade de bits do IPv4 Pode utilizar servidores DHCP ou utilizar o modo de autoconfiguração. Definição para unicast, multicast e anycast. Fácil interpretação, devido ao seu cabeçalho ser de tamanho fixo. Por conseqüência tem-se um maior desempenho nas redes. Alguns campos foram extintos por serem considerados desnecessários. Suporte a extensões de diversos tipos. As opções do IPv4 são adaptadas para dentro deste espaço. Possui a possibilidade de identificar o fluxo que está indo ao destinatário. Isso faz com que se possa pedir um tratamento especial para a transmissão (QoS - Quality of Service), dispensando recursos extras para os roteadores e comutadores. Extensões dão suporte a autenticação, integridade e confiabilidade dos dados. São estas as principais diferenças que tornam o IPv6 um melhoramento do IPv4, onde incorpora dentro do protocolo funções que eram externas, mas de grande uso, como por exemplo, serviços de configuração de IP dinamicamente (DHCP) e segurança na troca de dados (IPsec). Porém com estas diferenças, o IPv6 e o IPv4 não são completamente compatı́veis, necessitando de alguns ajustes para que se trafegue IPv6 dentro de redes IPv4, como é o caso da Internet. A explicação das diferenças entre estes dois protocolos ajudam a mostrar que os protocolos têm uma certa diferença arquitetural e isto afeta diretamente na forma em que a mobilidade se comporta com cada um destes protocolos. Além da diferença entre os protocolos, surgirão as diferenças em termos de mobilidade, desde o tratamento de itens básicos aos mais complexos. Para que estas diferenças sejam analisadas dentro de uma rede, será feito um comparativo entre as redes de exemplo estudas. As redes possuem uma infra-estrutura semelhante, onde a maior diferença é lógica. Neste caso, esta diferença é na escolha do protocolo de rede utilizado. 2.3.3.1 Exemplo de Uso O exemplo será baseado nos estudos apresentados para redes IPv4 e para redes IPv6. A Figura 8 demonstra a rede utilizando o protocolo IPv4 e a Figura 11 demonstra para a rede com 2.3 Protocolos 45 IPv6. De modo geral, a rede é formada por um roteador, que faz o o roteamento dos dados entre a rede e a Internet, assim como o serviço de NAT. Quando um pacote passa pelo roteador, proveniente da Internet, ele obrigatoriamente irá passar pelo firewall. O firewall faz a segurança dos dados entre a Internet, a rede interna e a DMZ, seguindo as regras baseadas na polı́tica de segurança da rede. A DMZ apresenta apenas três servidores que servem para oferecer serviços a Internet. Ela disponibiliza os serviços de DNS, Web e E-mail. Para comparar o que muda de uma rede com a infra-estrutura semelhante, a Tabela 5 mostrará as diferenças encontradas usando cada um dos protocolos: IPv4 e IPv6. Isto tornará possı́vel a comparação do que os protocolos IPv4 e IPv6 afetam dentro da rede. Tabela 5: Comparação entre uma rede IPv4 e outra IPv6 Atribuição de dinâmicos Infra-Estrutura IPs Quantidade de subredes Quantidade de hosts disponı́veis na rede interna IPv4 Possui um servidor DHCP Necessita de um servidor DHCP ligado a rede 3 IPv6 Utiliza o tipo de endereçamento ConexãoLocal que atribui automaticamente Não necessita de servidores adicionais para endereçamento 3 252 264 -1 Estas diferenças são as diferenças mais comuns nas redes em geral. Porém, nas redes mais especı́ficas (ou seja, com maior quantidade de recursos), além destas diferenças é possı́vel encontrar muitas outras como a segurança incorporada, opções avançadas para roteamento, entre outras. 2.3.4 Integração de Redes IP Como a versão IPv6 é uma inovação da IPv4 e as redes IPv4 são largamente difundidas, houve a necessidade da elaboração de formas para efetuar a transição entre os dois protocolos. Ao se desenvolver o IPv6, estas formas de transição já foram analisadas e incorporadas dentro do protocolo. A criação do campo de extensões e a forma de endereçamento de Hinden e Deering (2006) são exemplos de métodos para auxiliar nesta transição. Simplesmente extinguir o uso do IPv4 e passar a utilizar IPv6 seria uma forma muito complicada para as empresas, devido a amplitude de transição, adequação de softwares, entre outros. Portanto, esta transição baseia-se na utilização do protocolo IPv6 juntamente com o IPv4. Este uso simultâneo pode ocorrer de duas maneiras: 2.3 Protocolos 46 1. IPv6 em redes IPv4: Como a Internet utiliza, em sua maioria, equipamentos baseados em IPv4, as redes podem utilizar IPv6 e fazer com que os pacotes transitem dentro das redes IPv4; e 2. IPv4 em redes IPv6: Pode ocorrer de ter uma transição parcial dentro de uma rede, causando que segmentos da rede permaneçam utilizando IPv4 e outros IPv6. Para isso, ocorre a transformação dos pacotes IPv4 em IPv6. Estas formas garantem que as redes possam funcionar de forma conjunta, causando a transição entre as redes uma forma bem definida e sem prejuı́zo a rede. Além disso, faz com que a transição não seja realizada num curto espaço de tempo, o que poderia causar em problemas futuros devido à falta de estratégia por parte dos administradores da rede. 2.3.4.1 IPv6 em redes IPv4 Como o IPv6 é uma versão mais atual que o IPv4, a necessidade da criação de formas para se ter redes mistas, durante o perı́odo de transição, foi a criação de métodos para trafegar pacotes do tipo IPv6 nas redes IPv4. Estes métodos exercem uma forma de transformação de um pacote do tipo IPv6 em pacote do tipo IPv4 para que se possa ser transmitido dentro das redes. Há diversas situações em que pode ocorrer o uso das redes mistas. No caso de se ter o uso de IPv6 em redes IPv4, pode-se citar: • Duas redes trabalham com IPv6, porém, o meio em que os pacotes trafegam é unicamente do tipo IPv4; e • Uma das redes trabalha com IPv6 e outra com IPv4; Um dos métodos que realizam a comunicação entre duas redes IPv6 com o meio sendo IPv4 é o túnel. Este método cria um túnel virtual entre as redes (NAUGLE, 1998). Para que este método funcione, é necessário que o roteador de cada rede trabalhe tanto com IPv4, quanto com IPv6. Este roteador fará o papel de tradutor do pacote, ou seja, quando a rede enviar um pacote do tipo IPv6, o mesmo deve transformá-lo em um pacote IPv4 e transmiti-lo pela rede IPv4 até o roteador da outra rede. (BEIJNUM, 2005; FEIT, 1999) Para fazer a conversão de um pacote IPv6 em IPv4, o roteador utiliza a forma de encapsulamento do pacote (BEIJNUM, 2005), ou seja, é criado um pacote IPv4 onde o campo dados 2.3 Protocolos 47 é composto pelo pacote IPv6. Feito isto, o pacote é enviado normalmente pela rede IPv4 e ao chegar no outro roteador é feito o processo inverso, ou seja, desencapsulamento do pacote e então o seu processamento como IPv6 (BEIJNUM, 2005). A figura 12 demonstra como ocorre o processo de envio de um pacote entre redes IPv6. Figura 12: Envio de pacote IPv6 em rede IPv4 usando túnel. Adaptado de Beijnum (2005) Pode se ver na Figura 12 que os nós de origem e destino fazem parte da rede IPv6, porém há roteadores que são unicamente IPv4. Para que a transmissão seja realizada entre os nós, é coloco roteadores mistos entre os roteadores IPv4 e os nós IPv6. Isto possibilita que a comunicação entre os nós seja realizada. A forma de túnel apresentou alguns problemas em lugares que possuı́am servidores de NAT pouco sofisticados ou com limitação na tradução dos pacotes. Como o túnel faz o encapsulamento do IPv6 dentro do IPv4, o campo Protocolo do pacote IPv4 é alterado para 41 (encapsulamento de IPv6, conforme Tabela 2), e alguns servidores NATs bloqueiam este tipo de pacote. Para resolver isto, foi criada a forma de transmissão chamada Teredo. (MALONE; MURPHY, 2005) O Teredo é um sistema que encapsula o pacote IPv6 dentro do IPv4, porém o campo Protocolo agora é atribuı́do com valor 17 (UDP, conforme Tabela 2). Isto faz com que os servidores de NAT deixem o pacote passar para a rede IPv4 sem problema algum (MALONE; MURPHY, 2005). Contudo, os pacotes não são destinados diretamente ao roteador da outra rede. Eles devem ser enviados para um servidor de Teredo, onde este é quem encaminhará o pacote para o servidor da outra rede. A comunicação não ocorre apenas com redes de mesmo protocolo e interconexão com protocolos diferentes. Pode ocorrer com que haja uma rede do tipo IPv6 e outra do tipo IPv4. Para solucionar tal comunicação entre estas redes, foi criado o serviço de NAT-PT (Network 2.3 Protocolos 48 Address Translation - Protocol Translation). Este serviço permite a um nó que só possui o protocolo IPv6 comunicar-se com outro que só possui o protocolo IPv4. Fazendo com que o nó IPv6 possa acessar os dados e aplicativos do nó IPv4. Para utilizar o NAT-PT, deve-se ter um roteador que comunica-se tanto com redes IPv4, quando com redes IPv6, além de ter incorporado o serviço de NAT-PT. Este roteador deve possuir a rede IPv6 em uma das suas interfaces e a rede IPv4 na outra. (POPOVICIU; LEVYABEGNOLI; GROSSETETE, 2006) O roteador irá receber um pacote do nó com IPv6 e consultar numa tabela estática interna para saber em qual IP será traduzido. Após feita esta identificação, o pacote IPv6 é transformado em um pacote IPv4 com o campo de dados idêntico e os endereços serão transformados pelo consultado na tabela. Podendo, assim, o pacote IPv4 trafegar pela rede normalmente (POPOVICIU; LEVY-ABEGNOLI; GROSSETETE, 2006). A Figura 13 exemplifica um caso do envio de um nó IPv6 para um nó IPv4. Figura 13: Envio de pacote IPv6 para nó IPv4 usando NAT-PT. Adaptado de Popoviciu, LevyAbegnoli e Grossetete (2006) Na Figura 13, quando o pacote IPv6 chega no roteador, ele tem seu IP transformado, podendo assim trafegar na rede IPv4 sem problemas. Isto permite que a estação que utiliza apenas IPv6 possa acessar o servidor que é exclusivamente IPv4. São estes e outros métodos que proporcionam a transição entre os diferentes protocolos uma maneira simples, sem causar inoperabilidade, além de possibilitar o uso mútuo das tecnologias. Entretanto, caso uma rede já tenha efetuada sua transição para IPv6 e alguma rede IPv4 precisa comunicar-se com ela, é necessária a utilização de métodos que façam a comunicação inversa, ou seja, pacotes IPv4 dentro das redes IPv6. 2.3 Protocolos 49 2.3.4.2 IPv4 em redes IPv6 Assim como houve a necessidade de criação de formas para trafegar IPv6 dentro de IPv4, ocorre o mesmo para o caso inverso: IPv4 em redes IPv6. Para que se possa realizar este tráfego, os pacotes IPv4 são transformados em pacotes IPv6. Devido ao IPv6 ser uma versão mais nova e os pesquisadores notarem a necessidade de transição entre as versões, foram criadas formas dentro do próprio IPv6 para transportar os pacotes IPv4. Conforme (HINDEN; DEERING, 2006), há reservado duas formas de endereçamento para que isto seja feito: 1. Compatibilidade de IPv4 em endereços IPV6: Esta forma é utilizada para nós que já utilizam IPv6, porém a rede mantém toda a arquitetura de endereçamento baseada em IPv4. Deste modo, os IPs são atribuı́dos com os mesmos valores que tinham durante a rede IPv4, mas como o IPv6 possui 96 bits a mais no endereçamento, estes bits recebem o valor 0 e vão antes dos bits que representam o IPv4 (SPORTACK, 2002). Por exemplo, o IP 192.168.1.1 é representado como ::192.168.1.1 ou ::C0A8:0101. Assim é possı́vel manter a rede IPv4 incorporada na rede IPv6; e 2. IPv4 Mapeado em IPv6: Destina-se a redes exclusivamente IPv4 que desejam enviar seus pacotes para outras redes IPv4, porém a interconexão entre as redes é do tipo IPv6 (SPORTACK, 2002). A forma que ocorre a troca de pacotes é semelhante ao método de túnel, transforma-se o pacote IPv4 no roteador de origem em um pacote IPv6 e é transmitido pelo meio até o roteador da outra rede. A Figura 14 demonstra como ocorre esta comunicação. Figura 14: Troca de dados entre redes IPv4 com meio IPv6. Adaptado de Sportack (2002) 2.4 WLAN (Wireless Local Area Network) 50 Na Figura 14, para se fazer um comunicação entre as sub-redes 192.168.1.0 e 192.168.2.0, é necessário que o pacote seja enviado ao roteador da sub-rede do emissor, este é quem fará a tradução do pacote para que se possa trafegar dentro da rede IPv6 e quando o pacote é recebido pelo roteador da sub-rede de destino, ele é transformado novamente para IPv4 e enviado ao nó de destino. A forma que ocorre esta transformação do pacote IPv4 em IPv6 é baseada nas formas de endereçamento de Hinden e Deering (2006). O pacote IPv6 que será criado guardará os dados do IPv4 no campo dados do IPv6 e o endereço será atribuı́do com os primeiros 80 bits sendo 0, os próximos 16 sendo 1 e os demais 32 sendo o mesmo valor do IPv4. (HINDEN; DEERING, 2006) Outra forma de realizar a passagem de pacotes IPv4 por redes IPv6 é utilizando o serviço de NAT-PT. Ele funciona da mesma forma que em redes IPv4 utilizando nó com IPv6, porém no sentido de transmissão contrária, ou seja, o pacote IPv4 é enviado até o roteador NAT-PT e então transformado em IPv6 para enviar até o nó de destino. (TSIRTSIS; SRISURESH, 2000; POPOVICIU; LEVY-ABEGNOLI; GROSSETETE, 2006) Assim como as técnicas de utilização do protocolo IPv4 em redes IPv6, as técnicas para usar IPv6 em redes IPv4 também contribuem para que seja feito uma transição dos protocolos de forma simples e bem estruturada. Isto permite que enquanto a transição não seja completamente efetivada, as redes permaneçam funcionam sem nenhum tipo de incompatibilidade. Entretanto, as redes que trabalham tanto em IPv4, quanto IPv6, podem funcionar em meios fı́sicos diferentes (guiados ou sem fio). Em ambos os meios o funcionamento do protocolo de rede é igual, porém em cada um há particularidades. Nas redes guiadas a simplicidade é destacada, já nas redes sem fio a flexibilidade mostra-se mais vantajosa, ainda mais em de redes locais sem fio (WLAN). 2.4 WLAN (Wireless Local Area Network) A Wireless Local Area Network é uma rede de comunicação sem fio que utiliza como forma de transmissão as ondas de rádio (HARTE, 2004). Foi padronizado pela IEEE (Institute of Electrical and Electronics Engineers), no padrão IEEE 802.11, em 1997 (ALEXANDER, 2004), e trouxe ao mercado um sistema de baixo custo, fácil desenvolvimento e boa flexibilidade (PRASAD; PRASAD, 2005). Os sistemas de redes locais sem fio tornaram o uso dos ambientes mais simples e permitiu 2.4 WLAN (Wireless Local Area Network) 51 o uso de dispositivos móveis se conectarem a rede sem precisarem fazer a conexão de um cabo. Isto trouxe muitas vantagens a todos os tipos de computadores. Para os computadores de mesa, o fim do cabo de rede torna muito mais barato a implementação das redes. Para os dispositivos móveis a acessibilidade permite a interconexão em diversos lugares, por exemplo, em hotéis, aeroportos, restaurantes, entre outros. As redes sem fio destinadas ao público visitante em determinadas áreas é conhecido como hot spots. Os hot spots são regiões geográficas ou serviços de acesso a um ponto com finalidade de atingir o maior público possı́vel. (HARTE, 2004) Estas vantagens fazem com que as redes sem fio adquiram espaço e tornem mais simples a utilização, comparadas com as redes guiadas. Porém, os padrões de redes sem fio são mais lentos, em termo de transmissão de dados, do que as redes estruturadas. A IEEE 802.11 possui várias sub-divisões, cada qual com suas caracterı́sticas, entretanto, todas abordam sobre conexões de redes locais sem fio. Dentre estas sub-divisões estão: • a: Criada em 1999 e definia a freqüência de comunicação em 5 GHz usando OFDM (Orthogonal Frequency Division Multiplexing), podendo chegar a larguras de banda de até 54 Mbps. Os produtos para este tipo de rede só foram surgir em 2000, devido a dificuldade de se trabalhar com a freqüência de 5 GHz (HARTE, 2004; GEIER, 2004); • b: Permitia largura de banda de até 11 Mbps e acessibilidade de até 100 metros dentro de locais fechados. Foi um grande marco para as redes locais sem fio, pois era de fácil implementação e baixo custo, além de trabalhar com freqüência de 2,4 GHz (HARTE, 2004; GEIER, 2004; FLICKENGER, 2003); e • g: Permitia larguras de banda de até 54 Mbps. Este modelo é considerado apenas uma inovação do modelo b, já que são semelhantes, com exceção na largura de banda (HARTE, 2004). Estas são apenas as principais e mais utilizadas sub-divisões do padrão IEEE 802.11. A maioria destas outras sub-divisões são apenas especializações dos apresentados, incrementando segurança, qualidade de serviço, entre outros. Por exemplo, o padrão IEEE 802.11e é apenas uma atualização em questão de qualidade de serviço e provê mecanismos de autenticação e segurança para o padrão IEEE 802.11b. Entretanto houve a necessidade de interligar redes sem fio com redes guiadas. Para tal, foi criada a WECA (Wireless Ethernet Compatibility Alliance). Este grupo garantia que um dispositivo de rede sem fio pudesse fazer a comunicação entre as redes sem fio e as redes Ethernet, 2.4 WLAN (Wireless Local Area Network) 52 além de garantir que um dispositivo certificado por este grupo comunicasse com qualquer outro dispositivo que possuı́sse a mesma certificação. Por fins comerciais, este grupo mudou seu nome para Wi-Fi (Wireless Fidelity) Alliance. (ROSS, 2003; HARTE, 2004) Para que fosse possı́vel comunicar os diversos dispositivos móveis, foi criado um centralizador que provia os serviços básicos que a rede sem fio necessitava. Este centralizador foi chamado de Ponto de Acesso (AP - Access Point) e cabem a ele funções de autenticação, servidor de endereços dinâmicos, entre outros. Para que seja feita uma interconexão entre as redes sem fio e as redes guiadas é necessário um dispositivo intermediário entre as redes. Este dispositivo pode ser um AP. Conforme Roshan e Leary (2003), Davies (2004), Akyildiz, Wang e Wang (2005), com a criação do AP, pode se formar quatro topologias de redes: 1. IBSS (Independent Basic Service Set): É o modo de interligação entre dispositivos móveis, ou seja, ponto a ponto. Também é conhecido como Ad Hoc. Pode ser considerada uma ligação 1:1. A Figura 15 (a) representa esta topologia; 2. BSS (Basic Service Set): É o modo que um grupo de usuários irá se comunicar com apenas um dispositivo, na maioria dos casos um AP. Um usuário nunca se comunica com outro cliente diretamente. Pode ser considerada uma ligação n:1. A Figura 15 (b) representa esta topologia; 3. ESS (Extended Service Set): É quando há uma interligação entre dois ou mais BSS. A ligação entre os BSS pode ser através de um AP mandando os dados para outro AP ou, com maior freqüência, cada AP é ligado na rede guiada. A Figura 15 (c) representa esta topologia; e 4. Malha (ou Mesh): Rede comunitária baseada no modelo IBSS, dispensando o uso de uma rede fixa, fazendo com que os nós sejam os próprios roteadores dinâmicos da rede. A Figura 15 (d) representa esta topologia. 2.5 Conclusões Parciais 53 Figura 15: Tipos de topologias para redes Wireless A Figura 15 representa os quatro tipos de topologias existentes para as redes sem fio, ou seja, toda WLAN é representada por uma destas topologias. Isso faz com que se tenha uma melhor organização conceitual e possa ser feito algoritmos especı́ficos para cada topologia. Para o estudo de caso será utilizada a topologia ESS. Fazendo com que se tenha dois Access Point separados, porém interligados por meio de rede estruturada, tornando possı́vel a transição da comunicação entre o comunicador da rede e o dispositivo móvel, sem a quebra da conexão. Com isto, é possı́vel demonstrar o impacto da mobilidade nas redes sem fio. 2.5 Conclusões Parciais Para que se entenda a mobilidade IP, foram necessários conhecimentos sobre a forma de arquitetura utilizada (no caso o DARPA), os principais protocolos IP (IPv4 e IPv6) e o funcionamento do meio de comunicação sem fio (WLAN). É com a mistura destes itens que se forma a mobilidade IP, onde cada um desempenha uma atividade distinta da outra, mas correlacionados. Além disso, vale ressaltar a importância dos diferentes tipos de topologias para as redes WLANs, já que podem afetar, e bastante, a forma como é tratada a questão de roteamento e as formas de comunicação entre um nó e outro. Devido a isso, as diferentes topologias podem ter protocolos distintos para a realização de uma mesma tarefa. 54 3 Mobilidade IP Com o surgimento das WLANs e os dispositivos de rede sem fio passarem a ter uma maior capacidade de processamento, houve um interesse maior de se trabalhar com estes dispositivos dentro das redes. Entretanto, as redes WLANs permitem os dispositivos deslocarem-se dentro das rede sem fio pelo espaço que cada AP abrange, mas a camada seguinte (Rede) poderia não permitir a mobilidade, fazendo com que a mobilidade entre as redes fosse inutilizável. (MARTINS; BARBOSA; LIMA, 2003) A mobilidade, então, nada mais é que a possibilidade de trocar de redes sem fio sem a necessidade de reconexão das aplicações com a rede (MARTINS; BARBOSA; LIMA, 2003). Um exemplo disto é um usuário estar fazendo envio de um arquivo utilizando um sistema de FTP (File Transfer Protocol) e assim que troca de rede o envio continua normalmente. Caso não houvesse a mobilidade neste caso, a conexão do usuário com o servidor de FTP seria perdida. A Figura 16 representa um usuário mudando de rede. Conforme o exemplo apresentado, ao passar de uma rede para a outra, a comunicação com o sistema de FTP seria interrompida, pois o endereço IP do dispositivo seria trocado e as camadas superiores não estariam preparadas para suportar esta mudança. Porém, com a mobilidade, isto não ocorre. O objetivo da mobilidade, na Figura 16, é permitir que o usuário que está na rede A passe para a rede B sem que suas conexões sejam perdidas. Além disso, fazer de uma forma transparente ao usuário, onde ele não precisará conectar na outra rede para fazer a transição, isto é feito automaticamente. Porém, para que possa passar de uma rede para outra, é necessário que as duas redes abranjam áreas comuns e que o usuário passe por esta área, caso contrário é como se saı́sse da rede e voltasse logo em seguida. Segundo Roshan e Leary (2003), a mobilidade pode ser dividida em três tipos. Esta divisão é baseada em qual camada do modelo OSI que a mobilidade está atuando: 1. Camada 2 (Enlace): Nesta camada apenas há a mobilidade em relação ao meio de comunicação, não influenciando nenhuma camada seguinte. Um exemplo que possui esta mobilidade são os dispositivos de WLAN, onde permitem os dispositivos deslocarem-se 3 Mobilidade IP 55 Figura 16: Usuário trocando de rede. Adaptado de Roshan e Leary (2003) dentro da abrangência do seu ponto de conexão (normalmente um AP); 2. Camada 3 (Rede): Nesta camada a mobilidade se preocupa com a identificação do dispositivo dentro da rede, ou seja, ao trocar de rede a as funcionalidades da camada continuem as mesmas na nova rede, sem quebra de comunicação durante a transição entre redes. Um exemplo que possui mobilidade nativa é o IPv6; e 3. Camadas 4-7 (Transporte a Aplicação): Estas camadas baseiam-se mais na parte da comunicação que é interna ao dispositivo, ou seja, não causam impactos significativos dentro das redes. Exemplo que se utiliza isto é quando se troca uma porta de comunicação e a transmissão não é interrompida. Como o objetivo é comparar a mobilidade entre as redes IP, o maior foco será na mobilidade dentro da camada 3, ou seja, na camada onde o IP se encontra (Mobilidade IP). Para se ter uma mobilidade nesta camada, é necessário que as camadas inferiores a ela possuam mobilidade também. Como a camada inferior a IP é o meio fı́sico (no caso IEEE 802.11), não haverá problemas, pois este padrão já comporta o recurso de mobilidade. A Mobilidade IP (MIP) permite, em conjunto com a camada fı́sica das WLANs, deslocar os dispositivos entre redes distintas sem que haja a quebra da conexão, ou seja, ela independe 3.1 Mobilidade em Redes IPv4 56 da localização fı́sica do usuário, assim como foi apresentado na Figura 16. A mobilidade em redes ESS pode apresentar-se de duas formas, segundo Prasad e Prasad (2005), Perkins (2002): 1. Micro-Mobilidade (ou homogênea): Representa a mobilidade dentro da mesma rede, ou seja, seria simplesmente trocar o dispositivo de comunicação (por exemplo, os AP); e 2. Macro-Mobilidade (ou heterogênea): Além de trocar de dispositivo de comunicação, troca-se de rede. A micro-mobilidade tem uma abrangência menor, tendo como objetivo de uso em pequenas áreas. Já a macro-mobilidade é mais ampla, podendo abranger áreas maiores, como é o caso de algumas formas de comunicação via celular e televisões digitais. O objetivo deste trabalho visa comparar as redes IP, porém não especifica qual tipo de divisão será utilizado. Para fins de estudo será utilizado o modelo de macro-mobilidade. A escolha é baseada na sua forma mais ampla e de maior uso prático, além de englobar quase todos os conceitos de micro-mobilidade. Para que se faça o uso da mobilidade IP, é necessário que o usuário utilize IPv4 ou IPv6. Cada um destes protocolos tem uma particularidade para o tratamento da mobilidade, por exemplo, o IPv6 já possui recurso de mobilidade nativo, enquanto o IPv4 não. Isto faz com que a flexibilidade na forma de funcionamento seja diferenciada. 3.1 Mobilidade em Redes IPv4 Segundo Perkins (2002), para se ter mobilidade é necessário que para um nó móvel se comunique com outros nós é preciso que este nó móvel não mude de endereço IP, o nó de destino (também conhecido como nó correspondente ou CN - Correspondent Node) não precise ter implementado funcionalidades de mobilidade e todas as mensagens do nó móvel devem ser autenticadas a fim de proteger contra ataques. Pensando nisso, foram analisadas três formas distintas: 1. A cada troca de rede, o IP do dispositivo seria trocado; 2. A cada troca de rede, os roteadores passariam espalhar a informação da mudança do IP a todos seus vizinhos; ou 3. O roteador que controlasse o dispositivo seria um informante de onde o dispositivo se encontra. 3.1 Mobilidade em Redes IPv4 57 As duas primeiras formas foram inaceitáveis, por serem inviáveis. A primeira porque as camadas superiores a de rede não estariam aptas a alteração do IP, além de quem está comunicando também não iria saber o novo endereço. Já na segunda forma, é devido ao grande problema de escalonamento, principalmente quando haverá várias mudanças de IPs (PERKINS, 2002). A grande mudança de IP poderia ser devido ao fato de se terem muitos dispositivos móveis dentro da rede. Se vários dispositivos trocassem de rede ao mesmo tempo, haveria muita atualização das tabelas de roteamento, o que aumentaria significativamente a utilização da banda, principalmente quando os roteadores estão interligado através da Internet. Com isto, a terceira forma foi a escolhida para que a mobilidade nas redes IPv4 fossem realizadas. Assim, foi possı́vel estabelecer a comunicação do nó móvel (MN - Mobile Node) com os equipamentos que irão interpretar os dados provenientes deste nó (PERKINS, 2002). O nó móvel recebe dois endereços IP, diferentemente das redes guiadas que recebiam apenas um. Um dos endereços é estático, onde irá permanecer por todas as redes onde passar, sendo utilizado para o preenchimento do campo do endereço de origem. O outro endereço é dinâmico, sendo trocado a cada rede que será visitada. Quanto o MN se encontra dentro da sua rede de origem, ele é roteado por um roteador denominado Home Agent (HA). Este roteador é quem se comunicará com a rede, sendo responsável por todas as comunicações do MN. Porém, quando o MN se encontra em uma rede visitante, o roteador é denominado de Foreign Agent (FA). (VIEIRA, 2001; ROSHAN; LEARY, 2003) Quando um pacote é enviado ao MN, ele é transmitido até o HA, que verificará se o nó está na sua rede. Caso esteja, o pacote é enviado ao MN diretamente, caso contrário ele identifica a que FA o MN se encontra e envia o pacote encapsulado para este FA. Este FA irá desencapsular o pacote e transmiti-lo ao MN (RAVAGNANI, 2003). Entretanto, quando o MN for enviar um pacote ao CN, o caminho inverso não ocorre. O pacote sai do MN e vai para o FA e então é diretamente enviado para o CN, não necessitando passar pelo HA. Este processo é chamado de roteamento triangular (RAAB et al., 2005). A Figura 17 mostra como funciona o processo de envio e recebimento de pacotes no MN. O CoA (Care-of-Address), apresentado na Figura 17, representa o endereço atual do MN. Este endereço é dinâmico e alterado a cada nova rede que o usuário se conectar. Quem atribui este endereço é o FA ou um servidor de atribuição de endereços (por exemplo, DHCP) (RAAB et al., 2005). Após a atribuição, este endereço é registrado no HA. Logo, ele é usado na ponta final do tunelamento entre o HA e o FA. 3.1 Mobilidade em Redes IPv4 58 Figura 17: Envio e recebimento de pacotes para o MN. Adaptado de Raab et al. (2005) Portanto, segundo Raab et al. (2005), Ravagnani (2003), os dispositivos podem receber de duas formas o CoA: 1. FA CoA: Quando o dispositivo recebe o endereço do FA e todos os dispositivos móveis daquela rede utilizam o mesmo endereço; ou 2. CCoA (Co-located Care-of-Address): Quando o dispositivo recebe o endereço através de um servidor de endereços dinâmicos (por exemplo, DHCP), assim cada dispositivo tem um endereço distinto. Quando um MN troca de rede (tanto de HA para FA, FA para HA ou FA1 para FA2 ) há um atraso na comunicação, pois ao entrar na nova rede é feito todo o processo de autenticação e registro do CoA junto ao HA, fazendo com que a conexão não seja interrompida, mas fique sem troca de dados por alguns instantes. Isto é considerado um dos problemas nas redes MIPv4 (Mobilidade IPv4). No princı́pio das redes MIPv4 era feito com que ao entrar numa nova rede os pacotes que saiam do MN iam para o HA e depois para a rede, isto causava um aumento na utilização dos roteadores, lentidão devido a latência da rede entre os roteadores e deixava a conexão para o MN lenta. A solução foi fazer com que os pacotes fossem enviados para a rede diretamente do FA que o MN estivesse utilizando. A forma que isto ocorre é baseado no roteamento triangular, apresentado na Figura 17. Porém, esta solução abriu brechas para ataques a rede visitante (SNOEREN; BALAKRISHNAN, 2000). Com isto, deve-se analisar se pretende-se uma rede mais otimizada ou uma rede mais segura. 3.2 Mobilidade em Redes IPv6 59 Este método foi proposto pela IETF, mas há outros métodos que visam apresentar formas alternativas de fazer o roteamento e o funcionamento em geral das redes móveis. Como outros exemplos pode-se citar: esquema Columbia, esquema Sony e esquema LSR. Informações sobre estes métodos podem ser encontrados no artigo de Bhagwat, Tripathi e Perkins (1996). Outra forma que foi apresentada é a de Maysore e Brarghavan (1997), onde defendia a idéia de substituir o CoA e o IP da rede de origem por um IP de classe D, ou seja, fazer como se aquele dispositivo estivesse dentro de uma rede multicast (SNOEREN; BALAKRISHNAN, 2000). Porém, diferentemente do outro modelo, o IP não mudaria a cada nova rede que entraria, ficando permanentemente com o mesmo IP em todas as redes. Entretanto, o problema deste modelo é que necessitaria-se de uma infra-estrutura robusta e eficiente para comportar vários grupos distintos. (SNOEREN; BALAKRISHNAN, 2000) Ao se desenvolver o protocolo IPv6, questões de mobilidade já foram pensadas antes de implementarem e incluı́do recursos nativos de mobilidade. Isto ocasionou que a forma de funcionamento da mobilidade IPv6 fosse tratada de forma distinta da mobilidade IPv4. 3.2 Mobilidade em Redes IPv6 A mobilidade nas redes IPv6 é similar a mobilidade das redes IPv4. As principais diferenças são encontradas nas questões de otimizações e requisitos necessários. Entretanto, mesmo com estas diferenças, ambas visam o mesmo objetivo: um nó trocar de rede sem a perda da conexão. Assim como na mobilidade IPv4, o MN recebe um IP estático da sub-rede de origem e tem um HA responsável por ele. Este endereço deve receber, obrigatoriamente, o mesmo prefixo da sub-rede do HA, ficando assim um nó pertencente àquela sub-rede (ALBERTONI, 2005). Além disso, isto faz com que fique transparente para a camada de transporte, pois é como se não houvesse nenhuma alteração (MARTINS; BARBOSA; LIMA, 2003). Porém, diferentemente da MIPv4, o MIPv6 (Mobilidade IPv6) não possui FA. Isto possibilitou que o MIPv6 pudesse funcionar em qualquer lugar sem nenhum recurso especial (no caso o FA) (JOHNSON; PERKINS; ARKKO, 2004). Entretanto, ainda há a necessidade de um endereço de CoA. Antes ele era atribuı́do pelo FA ou pela rede, agora ele é atribuı́do de forma stateless (sem servidor de atribuição) ou stateful (com servidor de atribuição). Em ambos os casos, o endereço CoA deve possuir o prefixo da rede visitada. Com isso, duas formas de troca de pacotes puderam ser utilizadas, segundo Popoviciu, Levy-Abegnoli e Grossetete (2006), Johnson, Perkins e Arkko (2004): 3.2 Mobilidade em Redes IPv6 60 1. Sem otimização de rota (ou Tunelamento bidirecional): É criado um túnel virtual e bidirecional entre o MN e o HA, e outro túnel entre o HA até o CN. Assim, quando o CN tentar enviar uma mensagem ao MN, o pacote passará pelos dois túneis, chegando até o MN. O mesmo ocorre quando o MN tenta enviar uma mensagem ao CN, porém utilizando o caminho inverso. Ou seja, todo pacote enviado ou recebido passa pelo HA, o que torna o processo lento; ou 2. Com otimização de rota: Os pacotes enviados por CN são encaminhados diretamente para o MN e vice-versa. Fazendo, assim, com que o HA não seja sobrecarregado com mensagens que não são úteis a ele. Com a otimização de rota, nota-se que é bem mais vantajoso, principalmente pelo fato de não haver a necessidade das mensagens terem que passar pelo HA. Além disso, faz com que a comunicação entre MN e CN seja facilitada e tenha uma menor latência. A Figura 18 demonstra como é feito o caminho nos dois casos. Figura 18: Os dois casos possı́veis de se utilizar mobilidade IPv6 Para que o HA saiba sempre onde está o MN, é feito uma associação entre o endereço da rede local (estático) com o endereço CoA. Este processo é conhecido como binding. O binding é realizado pelo MN, juntamente ao HA, onde o MN envia uma mensagem de Binding 3.2 Mobilidade em Redes IPv6 61 Update (BU) ao HA. O HA devolve uma mensagem para garantir ao MN que a atualização foi feita. Esta mensagem é conhecida como Binding Acknowledgement (BA). (MARTINS; BARBOSA; LIMA, 2003) Sendo assim, é possı́vel que o CN possa criar uma tabela associando o endereço da rede local do MN com o endereço na rede atual. Estes dados são fornecidos pelos MN através de um processo de ligação correspondente (MARTINS; BARBOSA; LIMA, 2003). Assim, ao invés do CN mandar sempre o pacote para o endereço da rede local do MN, ele envia diretamente ao endereço atual do MN, fazendo com que a otimização seja realizada. Um caso que será facilitado no MIPv6, e que não era tratado no MIPv4, é o fato do multicast. No MIPv6, pretende-se que o MN receba os pacotes via tunelamento dentro da sua rede local e ao passar para as redes visitantes a conexão continue normalmente. Porém, há a possibilidade de ter quedas de performance durante a transição das redes. (PERKINS, 1998) Para resolver este problema na queda de performance, não apenas na utilização de multicast, mas de uma forma em geral na MIPv6, foram criados métodos para reduzir a latência nas trocas de rede. Exemplos destes métodos são o HMIPv6 (Hierarchical Mobile Internet Protocol version 6), informação da camada de enlace, entre outros. (LI, 2004) O HMIPv6, definido na RFC 4140, é baseado no MIPv6 e adiciona uma nova funcionalidade: o MAP (Mobile Anchor Point). Além disso, trás algumas pequenas extensões para os MN. Deste modo, o HA e o CN não sofrem nenhuma alteração, onde apenas o MN e a infra-estrutura da rede sofrem modificações. (LI, 2004; SOLIMAN et al., 2005) O MAP é um roteador colocado na rede visitante para servir como um HA do MN. Ele exerce as mesmas funcionalidades do HA, mas na rede visitante, diminuindo a latência na transição do nó. Dentro das redes, é possı́vel ter um ou mais MAP para fazer este controle. O funcionamento básico do HMIPv6 é definido que quando um MN entra na rede do MAP, o roteador desta rede informa ao MN informações sobre o MAP. Com isso, o MN pode ligar sua localização atual (LCoA - on-Link Care of Address) com a sub-rede do MAP (RCoA - Regional Care of Address) (SOLIMAN et al., 2005), registrando este endereço junto ao HA e o CN. Assim, os pacotes que são destinados ao MN, passam pelo MAP da rede. A Figura 19 demonstra um esquema básico de rede que utiliza HMIPv6. 3.3 Mobilidade em Redes Mistas (IPv4 e IPv6) 62 Figura 19: Esquema básico de rede utilizando HMIPv6. Adaptado de Soliman et al. (2005) Baseando-se na Figura 19, é possı́vel ver que quando o CN enviar um pacote ao MN, o pacote passará pelo MAP, em seguida pelo roteador que está servindo de ligação para o MN e, então, ao MN. Com isto, é mais fácil de adaptar a conexão quando há troca de sub-redes apenas dentro da mesma rede administrada pelo MAP. Para fazer a troca da sub-rede, não necessitaria de fazer todos os registros novamente, apenas seria informado ao MAP em qual sub-rede está o MN. Isto faz com que a latência na hora da troca da rede seja diminuı́do, não prejudicando aplicações que necessitam de baixa latência, como é o caso do multicast e do VoIP1 . Todavia, a mobilidade IP não se limita apenas em MIPv4 ou MIPv6, onde cada uma funciona apenas com o seu devido protocolo, ou seja, MIPv4 suporta mobilidade, porém todos os nós devem suportar IPv4, valendo a mesma regra para MIPv6, mas com protocolo IPv6. É possı́vel que se misture MIPv4 em MIPv6 e vice-versa. 3.3 Mobilidade em Redes Mistas (IPv4 e IPv6) Quando um nó MIPv4 se movia entre as redes MIPv4, nenhum problema de compatibilidade era notado, mas quando este nó fosse a uma rede MIPv6, sua conexão era interrompida. 1 Comunicação de voz sobre IP 3.3 Mobilidade em Redes Mistas (IPv4 e IPv6) 63 O mesmo ocorria quando um nó MIPv6 entrava numa rede MIPv4. (TSIRTSIS; SOLIMAN; PARK, 2006) Para resolver este problema, os grupos nemo, mip4 e mip6 da IETF estão criando padrões para que se possa estabelecer esta troca de redes sem a quebra da comunicação. Isto faz com a transição das redes que utilizam MIPv4 possam migrar para o IPv6 sem problemas. Algumas idéias surgiram para que este problema fosse sanado. Umas das formas seria utilizar métodos de transição nas bordas das redes para alteração do protocolo (por exemplo, 6to4, Teredo, entre outros). Outra forma seria a utilização de métodos criados pelo grupo nemo do IETF. Porém, o principal método (que se mostrou mais adequado) foi o Dual Stack. (LIU, 2002; SHIMA, 2006) Para cada um dos protocolos (IPv4 e IPv6) há um modelo de Dual Stack, ainda não padronizado, sendo chamado de DSMIPv4 (Dual Stack Mobile IPv4) para redes MIPv4 e DSMIPv6 (Dual Stack Mobile IPv6) para as redes MIPv6. Cada um destes Dual Stack é independente do outro, fazendo com que definições em um, não acarrete em problemas nos outros (TSIRTSIS; SOLIMAN; PARK, 2006; SOLIMAN et al., 2006). Entretanto, ainda não é possı́vel fazer com que um nó MIPv4 entre numa rede MIPv6 e continue a sua conexão normalmente, assim como um nó MIPv6 numa rede MIPv4. A solução encontrada é fazer com que haja uma rede mista (Dual Stack) que suporte tanto a MIPv4 quanto a MIPv6. A Tabela 6 representa os casos possı́veis de se misturar diferentes protocolos em redes móveis baseadas em IP. Tabela 6: Comportamento dos nós móveis nas redes móveis Rede IPv4 DSMIPv4 DSMIPv6 DSMIPv4 DSMIPv6 ! % ! Rede IPv6 Baseado na Tabela 6, os itens representados por % ! ! Rede Dual Stack ! ! ! !significa que se o nó utiliza o Dual Stack da primeira coluna nas redes descritas na primeira linha, ele irá funcionar. Caso esteja marcado com %o Dual Stack não irá funcionar naquela rede. O princı́pio geral do Dual Stack é fazer com que o um nó possua um endereço IP de cada protocolo (um IPv4 e outro IPv6) e dentro de sua rede ele utilize o MIP correspondente ao seu protocolo, mas na rede visitante ele utiliza o outro endereço de IP, mas encapsulado. Por exemplo, um MIPv4 está na sua rede MIPv4 e tudo acontece normalmente, ao ir para uma rede Dual Stack, ele funcionará normalmente como era antes, porém com algumas generalizações, 3.4 Mobilidade nas redes IEEE 802.11 64 mas quando ele entra numa rede MIPv6, ele encapsula o pacote IPv4 dentro de um IPv6 e transmite. (TSIRTSIS; SOLIMAN; PARK, 2006) Apesar de ainda ser um modelo em fase de teste, ou seja, sem padronização, já é possı́vel ver que ajudará na questão da transição entre o IPv4 e o IPv6, na questão de mobilidade. Além disso, permitirá a coexistência de ambos tipos de mobilidade IP juntas, podendo ser utilizada em serviços públicos, como os hotspots2 . Entretanto, a mobilidade IP foi tratada de uma forma generalizada. Em cada tipo de rede (local, metropolitana e de longa distância) é possı́vel encontrar particularidades. E como o objetivo deste trabalho é apresentar a mobilidade IP em redes locais, faz-se necessário a apresentação das caracterı́sticas para este tipo de rede. 3.4 Mobilidade nas redes IEEE 802.11 Ao se tratar de mobilidade para as redes IEEE 802.11, fala-se principalmente dos modelos que utilizam pontos de acesso para comunicar-se com os dispositivos, ou seja, das topologias BSS, ESS e malha. Para a topologia IBSS, o tratamento ocorre de forma diferenciada, pois os nós não dependem de um ponto de acesso, mas sim da disposição dos outros dispositivos móveis. Para as redes IBSS (ou Ad Hoc), onde não possuem um roteador para controlar os pacotes provenientes de requisições de mobilidade, cada dispositivo móvel serve como um roteador dinâmico e multi-saltos, ou seja, além de apenas acessar o meio, ele serve como roteador para outros dispositivos que desejam alcançar nós que não estão alcançando (PERKINS, 1998). Para exemplificar melhor este problema, a Figura 20 representa como seria um exemplo de situação que isto ocorre. Figura 20: Roteamento dinâmico pelo dispositivo móvel 2 Serviço disponibilizado pelas empresas para utilização de Internet com dispositivos móveis em locais públicos 3.4 Mobilidade nas redes IEEE 802.11 65 Conforme a Figura 20, se o dispositivo (a) tenta comunicar-se diretamente com (c), ele não obtém sucesso. Porém, se o dispositivo (b) informar a (a) que consegue comunicar-se com (c), é possı́vel fazer com que (a) envie o pacote para (b), que enviará para (c), podendo assim conseguir fazer a transmissão de um pacote de (a) para (c) mesmo sem os dois nós possuı́rem ligação direta. Com isso, é possı́vel demonstrar a importância dos dispositivos fazerem a função de roteadores, quando equipamentos especializados para tal função não esteja acessı́vel ou operante. O motivo por serem considerados roteadores dinâmicos é que a cada movimento do dispositivo é possı́vel que este encontre novos nós pela rede, bem como possa deixar de se comunicar com algum outro, mantendo uma tabela de roteamento dos nós que são acessı́veis àquele dispositivo. Entretanto, pode haver situações em que não seja possı́vel transmitir um pacote utilizando apenas um dispositivo intermediário. Por exemplo, se o dispositivo A quer enviar uma mensagem a B, mas não é alcançável, e sabendo que as relações da Tabela 7 são conhecidas, é possı́vel enviar um pacote de A, passando por C, depois por D e finalmente chegando a B. Este fato é conhecido como multi-saltos (PERKINS, 1998). Tabela 7: Alcance dos nós Nó A B C D A Não Sim Não B Não Não Sim C Sim Não D Não Sim Sim Sim Com os dados apresentados Tabela 7, é possı́vel imaginar como é o roteamento dentro de cada nó. Assim, para cada alteração em um dos nós, é possı́vel que conexões já existentes sejam quebradas (por exemplo, se o nó C distanciar-se de A, não será possı́vel a comunicação entre A e B) ou então possam ser formadas (por exemplo, a entrada de um novo nó à rede). Já para as redes com topologia BSS o tratamento é diferente, pois é uma rede que possui apenas um centralizador (ROSHAN; LEARY, 2003). Isto faz com que a mobilidade não se torne um problema para a camada IP, mas sim para a camada de enlace, ou seja, é possı́vel deslocar o móvel pela rede somente na área que o centralizador abrange, apenas tendo tratamentos de mobilidade para a camada de enlace, não afetando a camada de rede (LI, 2004). Nas redes ESS o tratamento é distinto, pois é possı́vel ter situações de macro-mobilidade e micro-mobilidade. Na micro-mobilidade é quando um nó passa de um centralizador para outro dentro da mesma rede. Neste caso, alguns consideram que é uma mobilidade entre duas redes BSS distintas. Já na macro-mobilidade é quando o nó passa por redes distintas de topologias ESS (LI, 2004). A Figura 21 mostra como pode ocorrer os dois casos. 3.4 Mobilidade nas redes IEEE 802.11 66 Figura 21: Passagem entre redes usando micro e macro-mobilidade Baseando na Figura 21, nota-se que cada rede é de topologia BSS, se analisada separadamente e é de topologia ESS juntando (A) com (B) e (C) com (D), tendo duas redes ESS. Quando o dispositivo, que está na rede (A), vai para a rede (B), ele está trocando apenas de centralizador, permanecendo na mesma rede, ou seja, está acontecendo uma micro-mobilidade. Porém, ao passar da rede (B) para a rede (C), ele está trocando de rede, causando uma macromobilidade. Quando trocar da (C) para a (D), mesmo estando numa rede visitante, continua sendo uma micro-mobilidade. Para as redes de malha, é possı́vel encontrar uma mistura entre BSS e ESS, já que a rede de malha é formada deste modo. Por isso, é possı́vel que na parte da rede BSS tenha-se tratamentos de mobilidade para BSS, acontecendo o mesmo para a ESS. Com isto, pode-se demonstrar que para todas as topologias de rede IEEE 802.11 é possı́vel aplicar funções de mobilidade, sejam estas apenas na camada de enlace ou na de rede. E, baseando-se nisso, para a comparação entre a mobilidade em redes MIPv4 e MIPv6, será utilizado a topologia ESS com macro-mobilidade. 3.5 Conclusões Parciais 67 3.5 Conclusões Parciais A utilização de redes móveis vem crescendo significativamente e o número de outros serviços que utilizam rede sem fio vem se adequando para a utilização da mobilidade IP. Um bom exemplo é a rede de telefonia celular, onde novos padrões, como o GPRS (General Packet Radio Service) e WCDMA (Wide-Band Code-Divison Multiple Access), já estão sendo criados com tecnologia MIPv6. Porém, o MIPv4 tem sua utilidade, não apenas dentro da telefonia celular, mas dentro das instituições, pois o IPv4 é o protocolo mais utilizado por usuários finais, necessitando de mobilidade para os dispositivos móveis. Outro fato que deve ser levado em consideração é que a maioria dos dispositivos móveis utilizam o protocolo IPv4, fazendo com que o MIPv4 seja mais vantajoso na hora da implantação. É possı́vel ver que a utilização de MIPv4 e MIPv6 é bem diferenciada, quanto uma é utilizada para usuários finais, a outra é utilizada para novas tecnologias de uso não tão acessı́veis ao usuário. Porém, a convergência para a MIPv6 é esperada, visto que este é um novo protocolo e que logo o IPv4 entrará em extinção, necessitando, assim, de redes e dispositivos que aceitem ambos os tipos de redes e mobilidade. 68 4 Considerações Finais Após feitos os estudos apresentados, é possı́vel analisar que todos os objetivos almejados foram realizados com sucesso. Isso representa que todo o embasamento teórico está compreendido e, portanto, apto ao desenvolvimento dos testes práticos. Estes testes são viáveis de serem realizados, pois outros órgãos já o fizeram (RNP e 6BONE são exemplos de instituições que já realizaram estes testes, além de fazerem estudos na área). Porém, o grande problema do protocolo IPv4 é ser antigo e não suportar, com tanta flexibilidade, as necessidades atuais. Como por exemplo: sistemas de auto-configuração, suporte facilitado para multicast, segurança na troca de dados, entre outros. Além disso, na época de desenvolvimento do protocolo, não esperaria-se a utilização de tantos nós simultâneos, o que resultou numa falta de endereços. O principal motivo que faz com que o IPv6 não entre rapidamente no mercado é o fato de ser incompatı́vel com as redes IPv4. Necessitando, assim, de métodos de transição para que se possa ser feita a migração de um protocolo para o outro, sem grandes prejuı́zos. Para isso, há diversos métodos que contribuem para que seja realizado tal serviço da melhor forma possı́vel para cada organização. Em relação a mobilidade, é possı́vel ver que muitas pessoas confundem o termo mobilidade como sendo apenas aquela aplicada a troca de ponto de acesso, e ainda não necessitando que a conexão fosse mantida. Nota-se que a mobilidade é mais do que isso, é a possibilidade de trocar tanto de ponto de acesso, quanto de redes ou apenas recursos locais do sistema operacional. Com base na mobilidade é possı́vel tornar as redes mais flexı́veis a utilização de dispositivos móveis, já que há uma forte tendência no crescimento da aplicação de mecanismos sem fio. Por exemplo, a utilização de celulares, notebooks, handheld, entre outros. Além disso, os principais padrões de TV Digital existentes utilizam este recurso para fazer com que os dispositivos móveis possam comportar TV, mostrando que a mobilidade é uma necessidade. Porém, assim como nos protocolos, a mobilidade IP apresenta suas falhas. Ao se tratar da mobilidade IPv4, a necessidade de todos os pacotes terem de passar pelo HA é um problema 4 Considerações Finais 69 que pode causar uma sobrecarga do HA, caso possua muitos MN associados a ele. Já para as redes IPv6, esse problema foi resolvido, porém outro problema, já proveniente do MIPv4, é o fato da lentidão durante a troca de redes. Isto pode comprometer a usabilidade de algumas aplicações, visto que são sensı́veis a grandes latências, como por exemplo, a comunicação de áudio e/ou vı́deo em tempo real. Em questão de mobilidade, as redes com micro-mobilidade, devido a menor abrangência, são mais simples de serem implementadas e podem prover uma melhor usabilidade, ao contrário da macro-mobilidade que é de difı́cil implementação e há o aumento da latência no momento da troca de rede. Assim, tanto a micro, quanto a macro-mobilidade apresentam pontos negativos, dependendo da aplicação que se destinam. O cronograma proposto apresentado no plano foi alterado devido a melhor organização de como atingir os objetivos e basear-se numa maior fundamentação teórica antes da realização do estudo de caso. As alterações foram basicamente remover os testes práticos que vinham logo em seguida do estudo teórico e coloca-los para serem feitos após todo o desenvolvimento da teoria. Com este novo cronograma, as atividades foram realizadas dentro dos prazos previstos, exceto no estudo do modelo DARPA e do IPv4. Nestes casos o motivo do atraso foi a falta de adequação na escrita, acarretando em muitas revisões. Já para as demais, todas foram cumpridas normalmente, além de recuperar o tempo gasto nos atrasos. Porém, para que estes objetivos fossem alcançados, algumas dificuldades foram aparecendo durante a confecção do trabalho. Dentre os principais obstáculos, encontra-se o problema de testar na prática os exemplos apresentados durante a explicação dos protocolos IPv4 e IPv6. Isto fez com que os exemplos demonstrados fossem apenas baseados na teoria e não na prática. Para a continuação deste trabalho, espera-se realizar os testes práticos referentes a MIPv4 e MIPv6, demonstrando as caracterı́sticas de cada mobilidade em particular e expressar em que áreas cada uma pode ser mais vantajosa que a outra, além de informar os motivos. Para a validação dos testes, serão realizadas as operações com os mesmos equipamentos e em mesmas circunstâncias. 70 Referências 6BONE-BR. Sobre o Projeto IPv6. Setembro de 1998. Disponı́vel em: <http://www.6bone.rnp.br/sobre-ipv6.html>. Acesso em: 10 mar. 2006. AKYILDIZ, I. F.; WANG, X.; WANG, W. Wireless mesh networks: a survey. Computer Networks, v. 47, n. 4, p. 445–487, Março de 2005. ALBERTONI, F. X. Laboratório Didático para o ensino de mobilidade IPv6. Dissertação (Mestrado) — Instituto de Pesquisas Tecnológicas do Estado de São Paulo, São Paulo, 2005. ALEXANDER, B. E. 802.11 Wireless Network Site Surveying and Installation. [S.l.]: Cisco Press, 2004. 456 p. BARNES, D.; SAKANDAR, B. Cisco LAN Switching Fundamentals. Indianapolis: Cisco Press, 2004. 408 p. BEIJNUM, I. von. Running IPv6: The Expert Voice In Networking. [S.l.]: Apress, 2005. 288 p. BHAGWAT, P.; TRIPATHI, S. K.; PERKINS, C. Network layer mobility: an architecture and survey. IEEE Personal Communication, v. 3, n. 3, Junho de 1996. Disponı́vel em: <http://citeseer.ist.psu.edu/bhagwat96network.html>. Acesso em: Acesso em: 01 jun. 2006. COMER, D. E. Internetworking with TCP/IP: Principles, protocols, and Architecture. 4. ed. New Jersey: Prentice Hall, 2000. 755 p. DAVIES, J. Deploying Secure 802.11 Wireless Networks with Microsoft Windows. [S.l.]: Microsoft Press, 2004. 392 p. DEERING, S.; HINDEN, R. RFC 2460: Internet Protocol, Version 6 (IPv6): Specification. [S.l.], Dezembro de 1998. Disponı́vel em: <http://www.ietf.org/rfc/rfc2460.txt>. Acesso em: 10 mar. 2006. DEFENSE ADVANCED RESEARCH PROJECTS AGENCY. RFC 791: INTERNET PROTOCOL. [S.l.], Setembro de 1981. Disponı́vel em: <http://www.ietf.org/rfc/rfc0791.txt>. Acesso em: 10 mar. 2006. DIXIT, S.; PRASAD, R. Wireless IP and building the mobile Internet. [S.l.]: Artech House, 2002. 676 p. DORASWAMY, N.; HARKINS, D. IPSec: The New Security Standard for the Internet, Intranets, and Virtual Private Networks. 2. ed. [S.l.]: Prentice Hall PTR, 2003. 288 p. DOYLE, J. CCIE Professional Development Routing TCP/IP. 2. ed. [S.l.]: Cisco Press, 2005. 936 p. Referências 71 FEIT, S. TCP/IP: Architecture, Protocols, and Implementation with Ipv6 and IP Security. Signature. New York: McGraw Hill, 1999. FILHO, D. L. B. Mobilidade sobre IPv6. São Paulo: USP, Novembro de 2004. Disponı́vel em: <http://grenoble.ime.usp.br/movel/mipv6dbassi.pdf>. Acesso em: 05 fev. 2006. FLICKENGER, R. Wireless Hacks. [S.l.]: O’Reilly, 2003. 304 p. GEIER, J. Wireless Networks first-step. [S.l.]: Cisco Press, 2004. 264 p. HAGEN, S. IPv6 Essentials: Integrating IPv6 into Your IPv4 Network. [S.l.]: O’Reilly, 2002. 360 p. HARTE, L. Introduction to Data Networks: PDN, LAN, MAN, WAN, and Wireless Data, Technologies and Systems. [S.l.]: Althos, 2003. 52 p. HARTE, L. Introduction to 802.11 Wireless LAN (WLAN): Technology, Market, Operation, Profiles, & Services. [S.l.]: Althos, 2004. 66 p. HINDEN, R.; DEERING, S. RFC 4291: IP Version 6 Addressing Architecture. [S.l.], Fevereiro de 2006. Disponı́vel em: <http://www.ietf.org/rfc/rfc4291.txt>. Acesso em: 06 abr. 2006. HUITEMA, C.; CARPENTER, B. RFC 3879: Deprecating Site Local Addresses. [S.l.], Setembro de 2004. Disponı́vel em: <http://www.ietf.org/rfc/rfc3879.txt>. Acesso em: 18 abr. 2006. INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS. IEEE 802.11: Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specification. [S.l.], 1993. JOHNSON, D.; PERKINS, C.; ARKKO, J. RFC 3775: Mobility Support in IPv6. [S.l.], Junho de 2004. Disponı́vel em: <http://www.ietf.org/rfc/rfc3775.txt>. Acesso em: 21 mai. 2006. KIRKPATRICK, S.; STAHL, M.; RECKER, M. RFC 1166: INTERNET NUMBERS. [S.l.], Julho de 1990. Disponı́vel em: <http://www.ietf.org/rfc/rfc1166.txt>. Acesso em: 10 mar. 2006. LABCOMP. Glossário de Termos da Internet. Maio de 1998. Disponı́vel em: <http://www.fis.ufba.br/labcomp/glossario.htm>. Acesso em: 05 abr. 2006. LI, F. A study of mobility in WLAN. 2004. Disponı́vel em: <http://citeseer.ist.psu.edu/709457.html>. Acesso em: Acesso em: 01 jun. 2006. LIU, C. Mobile IPv6 over Mobile IPv4. Minneapolis: [s.n.], Março de 2002. Disponı́vel em: <http://www.6bone.net/ngtrans/IETF-53-Minneapolis/mipv6overmipv4.pdf>. Acesso em: 28 mai. 2006. MALONE, D.; MURPHY, N. R. IPv6 Network Administration. [S.l.]: O’Reilly, 2005. 306 p. MARTINS, L.; BARBOSA, A.; LIMA, M. B. Redes móveis baseadas nos protocolos IPv4 e IPv6: uma visão geral do MIP e MIPv6. Boletim bimestral sobre tecnologia de redes produzido e publicado pela RNP - Rede Nacional de Ensino e Pesquisa, v. 7, n. 1, Abril de 2003. Referências 72 MAYSORE, J.; BRARGHAVAN, V. A new multicastingbased architecture for internet host mobility. In: Proc. ACM/IEEE Mobicom ’97. [S.l.: s.n.], 1997. p. 161–172. NAUGLE, M. Illustrated TCP/IP: A Graphic Guide to the Protocol Suite. [S.l.]: Wiley, 1998. 499 p. PATIL, B. et al. IP in Wireless NETWORKS. [S.l.]: Prentice Hall PTR, 2003. 400 p. PERKINS, C. RFC 2002: IP Mobility Support. [S.l.], Outubro de 1996. Disponı́vel em: <http://www.ietf.org/rfc/rfc2002.txt>. Acesso em: 07 fev. 2006. PERKINS, C. RFC 3344: IP Mobility Support for IPv4. [S.l.], Agosto de 2002. Disponı́vel em: <http://www.ietf.org/rfc/rfc3344.txt>. Acesso em: 07 fev. 2006. PERKINS, C. E. Mobile networking in the internet. Mobile Networks and Applications, v. 3, n. 4, p. 319–334, 1998. Disponı́vel em: <http://citeseer.ist.psu.edu/perkins98mobile.html>. Acesso em: Acesso em: 01 jun. 2006. POPOVICIU, C.; LEVY-ABEGNOLI, E.; GROSSETETE, P. Deploying IPv6 Networks. Indianapolis: Cisco Press, 2006. 672 p. PRASAD, A. R.; PRASAD, N. R. 802.11 WLANs and IP Networking: security, QoS, and mobility. [S.l.]: Artech House, 2005. 340 p. RAAB, S. et al. Mobile IP Technology and Applications. Indianapolis: Cisco Press, 2005. 312 p. RAVAGNANI, G. S. Simulação do IP Móvel Via Network Simulator (NS2): Uma proposta de rede wireless. Minas Gerais, 2003. Monografia (Bacharelado em Ciência da Computação) Universidade Federal de Lavras, 2003. ROSHAN, P.; LEARY, J. 802.11 Wireless LAN Fundamentals. [S.l.]: Cisco Press, 2003. 312 p. ROSS, J. The Book of Wi-Fi: Install, Configure, and Use 802.11b Wireless Networking. [S.l.]: No Starch Press, 2003. 260 p. SHIMA, K. The design and implementation of a dual-stack mobile network using ipv6 only network infrastructure. In: The First International Workshop on Network Mobility (WONEMO). [S.l.: s.n.], 2006. SIMON, I. A ARPANET. Julho de 1997. Disponı́vel em: <http://www.ime.usp.br/˜is/abc/abc/node20.html>. Acesso em: 05 abr. 2006. SMETANA, G. IPv4 e IPv6. Maio de 2001. Disponı́vel em: <http://www.redes.usp.br/conteudo%5C%5Cdocumentos%5CArtigoIP.pdf>. Acesso em: 27 mar. 2006. SNOEREN, A. C.; BALAKRISHNAN, H. An end-to-end approach to host mobility. In: 6 (Ed.). ACM/IEEE International Conference on Mobile Computing and Networking (MobiCom ’00). [S.l.: s.n.], 2000. SOLIMAN, H. et al. RFC 4140: Hierarchical Mobile IPv6 Mobility Management (HMIPv6). [S.l.], Agosto de 2005. Disponı́vel em: <http://www.ietf.org/rfc/rfc4140.txt>. Acesso em: 01 jun. 2006. Referências 73 SOLIMAN, H. et al. Internet Draft: Mobile IPv6 support for dual stack Hosts and Routers (DSMIPv6). [S.l.], Março de 2006. Disponı́vel em: <http://www.ietf.org/internetdrafts/draft-ietf-mip6-nemo-v4traversal-01.txt>. Acesso em: 25 mai. 2006. SOUSA, T.; MONTEIRO, E.; BOAVIDA, F. Estudo do IPv6 Móvel em Linux. In: 6 (Ed.). CONFERÊNCIA SOBRE REDES DE COMPUTADORES. Bragança: Instituto Politécnico de Bragança, 2003. SPORTACK, M. IP Addressing Fundamental. [S.l.]: Cisco Press, 2002. 368 p. SRISURESH, P.; EGEVANG, K. RFC 3022: Traditional IP Network Address Translator (Traditional NAT). [S.l.], Janeiro de 2001. Disponı́vel em: <http://www.ietf.org/rfc/rfc3022.txt>. Acesso em: 25 abr. 2006. TANENBAUM, A. S. Computer Networks. 4. ed. New Jersey: Prentice Hall PTR, 2003. 384 p. TSIRTSIS, G.; SOLIMAN, H.; PARK, V. Internet Draft: Dual Stack Mobile IPv4. [S.l.], Abril de 2006. Disponı́vel em: <http://www.ietf.org/internet-drafts/draft-tsirtsis-v4v6-mipv401.txt>. Acesso em: 25 mai. 2006. TSIRTSIS, G.; SRISURESH, P. RFC 2766: Network Address Translation - Protocol Translation (NAT-PT). [S.l.], Fevereiro de 2000. Disponı́vel em: <http://www.ietf.org/rfc/rfc2766.txt>. Acesso em: 25 abr. 2006. VIEIRA, F. J. C. de P. IP com suporte a mobilidade, em ambiente Linux. Julho de 2001. Porto. 74 APÊNDICE A -- Plano do TCC Plano de Trabalho de Conclusão de Curso Análise e Testes da Mobilidade em Redes do Padrão IEEE 802.11 Utilizando Protocolo IP versão 6 UDESC - Centro de Ciências Tecnológicas Departamento de Ciências da Computação Bacharelado em Ciência da Computação - Integral Turma 2006/1 - Joinville - Santa Catarina Juan Rodolpho Basso - [email protected] Orientador: Charles Christian Miers - [email protected] Resumo - Este trabalho de conclusão de curso visa apresentar o protocolo IPv6 em redes sem fio, baseada no padrão internacional IEEE 802.11; Porém com maior foco na utilização da mobilidade neste tipo de rede. Será apresentado uma motivação para o uso, suas qualidades, vantagens, como pode ajudar a reduzir a latência de comunicação e ao mesmo tempo aumentar a segurança na rede comparada com a versão IPv4. Ao final, busca-se realizar testes e análise de mobilidade dentro de uma rede com padrão IEEE 802.11, utilizando o protocolo IPv6. Palavras-chave: IPv6 móvel, MIPv6, IPng, Wireless, 802.11, Mobilidade, Segurança. A.1 Introdução e Justificativa A.1.1 Introdução Com a evolução dos computadores houve a necessidade da interconexão dos mesmos. Para isso existem várias formas, diferenciando o modo de conexão, velocidades, formas de 75 comunicações, tratamento dos erros, entre outros. Este conjunto de interconexão ficou denominado de rede de computadores. [COMER, 2000] As redes de computadores fizeram com que a utilização ficasse mais simplificada, reduzindo custos para as empresas e aumentando a produtividade. Porém, a evolução dos computadores era cada vez maior, fazendo com que a área de redes evoluı́sse na mesma medida. A evolução foi tão grande que não limitava apenas as redes dentro das empresas, mas entre locais distantes, necessitando de redes mais complexas. [COMER, 2000] As redes em seu princı́pio eram interconectadas por cabos, conduzindo sinais elétricos e óticos de um ponto ao outro, mas com o aumento para centenas ou milhares de computadores na mesma rede, isto se tornou uma dificuldade por causa do espaço fı́sico para instalação dos cabos e aspectos relacionados a essa arquitetura. Devido a essa necessidade das empresas, foram desenvolvidas as formas de comunicação sem fio. [COMER, 2000] Alguns algoritmos para comunicações de redes sem fio foram padronizados por órgãos internacionais, dentre eles a IEEE (Institute of Electrical and Electronics Engineers). Eles foram agrupados no padrão IEEE 802.11, que engloba todos os algoritmos de comunicação wireless para LANs (Local Access Network). [IEEE, 1999] Para a comunicação de computadores de mesa (desktop) foi um sucesso, já que não precisava mais de tomadas de rede próximas, além de dutos para passagem dos cabos. Porém um problema veio à tona, onde os computadores portáteis (notebook, handheld, entre outros) só poderiam se deslocar dentro da área que aquela rede comportava. Para resolver isto, foi necessário criar mobilidade dentro das redes, ou seja, possibilitar que os computadores portáteis pudessem se locomover entre diversas antenas compatı́veis sem perder seu vı́nculo de comunicação. Para que haja a comunicação entre as redes, é necessário, além da parte fı́sica, que o receptor entenda os dados transmitidos pelo emissor. Devido a isto, foram criados protocolos de rede que fazem esta função, sendo o principal protocolo utilizado pelas redes, tanto com ou sem fios, é o IPv4 (Internet Protocol version 4). [COMER, 2000] O protocolo IPv4 e a mobilidade que as redes sem fio necessitam não estão incorporadas como padrão, necessitando alguns ajustes e uso de softwares para que se possa utilizar este recurso. [PERKINS, 2002] Mas para sanar este problema, já está em desenvolvimento a versão 6 do protocolo IP (IPv6), que trará a mobilidade como um recurso padrão, dentre outros recursos. [PERKINS, 1996] O IPv6 [DEERING, 1998] é baseado no IPv4, pode-se dizer até que é um melhoramento. O IPv6 ainda está em fase de desenvolvimento, pois o IPv4, projetado na década de 70, já está 76 quase na sua capacidade em relação à combinação de endereços. Outros fatores que motivaram a criação do IPv6 foram a nova disponibilidade tecnológica que o mercado oferece, como dispositivos móveis, redes sem fio, entre outros. [BASSI FILHO, 2004] Segundo [BASSI FILHO, 2004], o IPv6 possui algumas inovações em relação ao IPv4, por exemplo: •Maior quantidade de endereços; •Alteração no cabeçalho dos pacotes; •Segurança mais robusta; •Recursos plug-and-play; •Mobilidade. São estes e outros fatores que fazem com que o IPv6 venha a substituir o IPv4. Esta transição se dará de forma gradual para que não haja problema, deixando as redes compatı́veis até o fim da adaptação, já que há bilhões de computadores interconectados usando IPv4. [6BONEBR, 1998] Com a realização deste trabalho será possı́vel mostrar que a mobilidade nas redes sem fio é viável e o que é necessário para ser implantada. As principais áreas de atuação do recurso de mobilidade são hospitais, fábricas, TV Digital, residências, escritórios, e muitos outros. A.1.2 Justificativa Com o aperfeiçoamento das redes sem fio e dos dispositivos móveis, aliados com a nova versão do protocolo IP (IPv6), que oferece suporte nativo à mobilidade, fazem com que o usuário possa deslocar-se em redes distintas de forma transparente e sem a necessidade de uma nova autenticação. Com a versão antiga do protocolo IP (IPv4) não havia suporte nativo à mobilidade, fazendo que a cada troca de rede necessitasse de uma nova autenticação e ainda a conexão é perdida. Além da mobilidade nativa, o IPv6 possui o recurso de segurança melhorado, possibilitando que outros dispositivos, além de computadores, utilizem este protocolo, como é o caso dos atuais padrões de TV Digital. 77 A.2 Objetivos A.2.1 Objetivo Geral O objetivo geral deste trabalho é analisar e testar o recurso de mobilidade em redes sem fio. Para isso será feito o uso do protocolo IPv6 em redes baseadas no padrão IEEE 802.11. O propósito é comprovar a funcionalidade, segurança, caracterı́sticas, assim como seus pontos negativos. Além disto, mostrar quais configurações e requisitos são necessários para a implantação deste recurso. A.2.2 Objetivos Especı́ficos O objetivo especı́fico deste trabalho compreende diversos itens, são estes: •Analisar os protocolos IPv4 e IPv6; •Analisar a infra-estrutura necessária para o IPv4 e IPv6; •Analisar padrão IEEE 802.11 e principais subdivisões; •Analisar a infra-estrutura necessária para redes do padrão IEEE 802.11; •Analisar como os sistemas operacionais utilizam os protocolos IPv4 e IPv6; •Analisar o funcionamento geral dos repetidores para redes sem fio; •Analisar os sistemas operacionais para utilização de redes sem fio baseadas no padrão IEEE 802.11; •Analisar a arquitetura para mobilidade no IPv4 e IPv6; •Testar e analisar interconexão da malha de repetidores para redes sem fio; •Analisar e calcular o posicionamento dos equipamentos de rede sem fio no local de teste; •Efetuar testes de mobilidade na rede sem fio utilizando o protocolo IPv6; •Análise de performance entre IPv4 e IPv6 na questão de mobilidade; •Analisar o resultado obtido dos testes. Estes objetivos são de extrema necessidade para que a busca do objetivo final seja alcançada. Serão utilizados para traçar o cronograma que será desenvolvido. 78 A.3 Metodologia O método de desenvolvimento que será utilizado neste Trabalho de Conclusão de Curso será a pesquisa aplicada referenciada com um estudo de caso prático baseado no conhecimento adquirido com o estudo teórico. A parte prática será realizada nas dependências da UDESC (Universidade do Estado de Santa Catarina) e será totalmente documentada. Para os testes práticos, serão necessários no mı́nimo dois repetidores de redes sem fio que trabalham com mesmo padrão de rede e um dispositivo móvel. O intuito é deslocar o dispositivo móvel entre os dois repetires, trocando de rede e não perdendo a conectividade. Nas reuniões periódicas, o professor orientador analisará o conteúdo e irá propor ao aluno correções ou alteração de foco do assunto, a fim de evitar que o orientado desvie-se do tema principal ou abranja um conteúdo diferente do proposto neste documento. O orientado por sua vez terá um prazo para adequar as correções e então ser refeita a análise do orientador. Para a confecção do trabalho será dividida em etapas de diferentes intervalos de tempo e podendo ou não haver necessidade de dependência de outra(s). As etapas foram dividas da seguinte maneira: 1.Estudar e analisar os protocolos e a infra-estrutura necessária para o uso dos protocolos IPv4 e IPv6; 2.Estudar e analisar o padrão e a infra-estrutura necessária para redes IEEE 802.11; 3.Estudar o funcionamento dos protocolos da camada de rede nos sistemas operacionais; 4.Configurar e testar alguns sistemas operacionais para utilização do protocolo IPv4 e IPv6; 5.Estudar e testar conexões sem fio utilizando alguns sistemas operacionais, utilizando IPv4; 6.Estudar a utilização do protocolo IPv6 em redes baseadas no padrão IEEE 802.11; 7.Testar conexões sem mobilidade em redes com padrão IEEE 802.11, utilizando protocolo IPv6; 8.Análise da arquitetura para mobilidade no IPv4 e IPv6; 9.Estudar, testar e analisar interconexão da malha de repetidores para redes sem fio; 10.Estudar mobilidade em redes baseadas no padrão IEEE 802.11, utilizando IPv4 e IPv6; 79 11.Configuração da rede de teste para aceitar mobilidade IPv4 e IPv6; 12.Análise e testes com mobilidade utilizando IPv6 em redes do padrão IEEE 802.11; 13.Análise da performance entre IPv4 e IPv6 na questão de mobilidade; 14.Documentação do estudo, análise e configurações. Com estas etapas espera-se cumprir todos os objetivos traçados. A relação do tempo necessário e da possı́vel realização em conjunto das etapas será mostrado no item 4 deste cronograma. A.4 Cronograma A tabela abaixo mostra as etapas e o perı́odo que deve ser realizada. O número da etapa baseia-se nos itens descritos no item 3 deste plano. A.5 Linha e Grupo de pesquisa O grupo de pesquisa que este TCC encontrar-se-á é o GRADIS (Grupo de Redes e Aplicações Distribuı́das) da UDESC. Sua linha de pesquisa será no desenvolvimento de aplicações e configuração de redes sem fio, juntamente com a utilização do protocolo IPv6. 80 A.6 Forma de Acompanhamento/Orientação O acompanhamento do professor orientador junto ao orientado será presencial e de no mı́nimo uma hora semanal, onde este será combinado por ambos, podendo variar entre cada semana. Nas reuniões o professor orientador e o orientado esclarecerão as dúvidas sobre o Trabalho de Conclusão do Curso. Para efeito de controle de presença, será criado um registro de presença, que deverá ser assinado pelo professor orientador e pelo orientado. Poderá haver discussões de forma eletrônica, porém não será contabilizada como tempo de encontro semanal, sendo considerada uma forma de orientação informal. A.7 Referências Bibliográficas 6BONE-BR. Sobre o Projeto IPv6. Setembro de 1998. Disponı́vel em: <http://www.6bone.rnp.br/sobre-ipv6.html>. Acesso em: 10 mar. 2006. BASSI FILHO, Dairton Luiz. Mobilidade sobre IPv6. São Paulo, nov. 2004. Disponı́vel em <http://grenoble.ime.usp.br/movel/mipv6dbassi.pdf>. Acesso em: 28 fev. 2005. COMER, Douglas E. Internetworking with TCP/IP: Principles, Protocols, and Architectures. 4.ed. New Jersey: Prentice Hall, 2000. 749p. DEERING, S. e HINDEN, R. Internet Protocol, Version 6 (IPv6) Specification. IETF RFC 2460, Dezembro de 1998. IEEE Std 802. Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specification. 1999. PERKINS, C. IP Mobility Support. IETF RFC 2002, Outubro de 1996. PERKINS, C. IP Mobility Support for IPv4. IETF RFC 3344, Agosto de 2002.