MÁSCARAS DE TAMANHO FIXO O artigo tem por objetivo apresentar uma visão atual do TCP/IP como uma arquitetura base do funcionamento da Internet e suas peculiaridades no que diz respeito à configuração das redes, particularmente a configuração das redes de computadores por meio das máscaras de sub-redes. INTRODUÇÃO A comunicação de dados tornou-se parte fundamental da computação. As redes de abrangência mundial reúnem dados sobre assuntos diversificados como condições atmosféricas, produção de safra e tráfego aéreo. É impossível a estruturação de uma rede universal com base em uma única tecnologia de hardware, já que nenhuma rede única atende a todas as aplicações. Alguns usuários precisam de uma rede de alta velocidade para conectar-se a máquinas, mas essas redes não podem ser expandidas para alcançar grandes distâncias. Outros preferem uma rede de velocidade inferior que faça conexão com máquinas a centenas de quilômetros de distância. Para possibilitar a interconexão de muitas redes físicas e fazê-las operar como uma unidade ordenada, foi desenvolvida uma nova tecnologia, denominada interligação em redes, suportando diferentes tecnologias básicas e hardware, permitindo uma forma de interconectar redes heterogêneas e um conjunto de convenções que possibilitam as comunicações. A tecnologia de interligação em redes esconde os detalhes de hardware da rede, e permite que os computadores se comuniquem independentemente de suas conexões físicas. Ao longo dos anos, as agências governamentais norte-americanas perceberam a importância e o potencial da tecnologia de interligação em redes e vêm financiando as pesquisas que possibilitaram a interconexão global de redes. Inicialmente desenvolvido para a ARPANET, uma das mais antigas redes comutadas por pacote, resultado das pesquisas do PROJETO DARPA (Defense Advanced Research Projects Agency), do Departamento de Defesa dos EUA, a proposta era dispor de uma tecnologia que permitisse o intercâmbio de dados entre sistemas heterogêneos em uma rede distribuída. Denominado oficialmente Pilha de Protocolos de interligação em redes TCP/IP, e geralmente citado como TCP/IP, essa pilha pode ser utilizada em qualquer conjunto de redes interconectadas. Nos anos 80, o protocolo ganhou ainda mais força, ao ser adotado como padrão UNIX e outros sistemas corporativos. Mais tarde, a Microsoft colocou o TCP/IP como protocolo nativo do NT. E a explosão comercial da Internet consolidou o TCP/IP como padrão nas comunicações globais. O TCP/IP é um protocolo anterior ao modelo OSI/ISO. 1 HISTÓRIA DO TCP/IP O que faz com que a tecnologia TCP/IP seja tão notável deve-se, em parte, à sua utilização quase universal, e também à dimensão e à taxa de crescimento da Internet. A ARPA iniciou suas atividades voltandose para uma tecnologia de interligação de redes em meados da década de 1970, e a arquitetura e os protocolos adquiriram sua forma atual por volta de 1977-79. Nessa ocasião, a ARPA era conhecida como a primeira agência a financiar a pesquisa de redes de comunicação de pacotes e como a pioneira de muitas idéias sobre comutação de pacotes por meio de sua famosa ARPANET. A Internet global teve seu início mais ou menos em 1980, quando a ARPA passou a adotar os novos protocolos TCP/IP nas máquinas ligadas às suas redes de pesquisa. A ARPANET, já instalada, rapidamente tornou-se o “backbone” da nova Internet. Em 1983, a Defense Communication Agency (DCA) dividiu a ARPANET em duas redes distintas, uma para futuras pesquisas e outra para comunicação de caráter militar. A parte relacionada à pesquisa conservou o nome ARPANET; a parte militar, maior, tornou-se conhecida como MILNET. O sucesso alcançado pela tecnologia TCP/IP e a Internet entre pesquisadores da ciência da computação, levou grupos a adotá-los. Ao perceber que a comunicação de redes logo seria parte decisiva da pesquisa científica, a National Science Foundation assumiu um papel importante na expansão da Internet. Em 1985, a NSF iniciou um programa para estabelecer redes de acesso centralizadas em torno de seis supercomputadores. Em 1986, ela expandiu o desenvolvimento de redes ao financiar um novo “backbone” denominado NSFNET, que praticamente alcançava todos os seus centros de supercomputadores e conectou-os à ARPANET. Sete anos após a sua criação, a Internet cresceu, abrangendo centenas de redes individuais localizadas nos Estados Unidos e na Europa. Conectou aproximadamente 20.000 computadores de Universidades, órgãos públicos e laboratórios de pesquisa. O tamanho e a utilização da Internet continuou em ascensão muito mais acelerada do que o previsto. No final de 1987, estimou-se que o crescimento alcançara 15% ao mês. Em torno de 1994, a Internet global alcançava mais de três milhões de computadores em sessenta e um países. A utilização de protocolos TCP/IP e o crescimento da Internet não se limitaram a projetos financiados pelo governo. Grandes Companhias voltadas para o setor de computadores conectaram-se à Internet, bem como muitas outras organizações de grande porte como companhias de petróleo, indústria automobilística, empresas de eletrônica, companhias farmacêuticas e portadoras de telecomunicações. As empresas de pequeno e médio porte começaram a conectar-se na década de 1990. Além disso, muitas outras utilizavam os protocolos TCP/IP em suas interligações em redes corporativas, mesmo tendo optado por não participar da Internet global. Novos protocolos foram desenvolvidos e um sistema de atribuição de nome foi colocado em vigor na Internet global para permitir que qualquer usuário automaticamente determinasse o nome de uma máquina remota. Conhecido como Domain Name Service, o mecanismo conta com máquinas denominadas servidoras de nome para responder a consultas sobre nomes. Nenhuma máquina contém todo o banco de dados de nomes de domínio. Em vez de uma máquina, os dados são distribuídos por um conjunto de máquinas que utilizam protocolos TCP/IP para se comunicarem entre si quando estiverem respondendo a uma consulta. Já que a série de protocolos de interligação em redes TCP/IP não surgiu de um fornecedor específico, ou de uma sociedade profissional reconhecida, é natural perguntar 2 “QUEM ESTABELECE AS DIRETRIZES TÉCNICAS E DECIDE QUANDO OS PROTOCOLOS DEVEM-SE TORNAR UM PADRÃO ?” A resposta é um grupo conhecido como Internet Architeture Board (IAB). O IAB proporciona a base e a coordenação para muitas pesquisas e desenvolvimentos, como a base de protocolos TCP/IP, e orienta a evolução da Internet. Ele decide quais protocolos são uma parte necessária da pilha TCP/IP e estabelece políticas oficiais. Como nenhum fornecedor detém o direito de propriedade sobre a tecnologia TCP/IP, a National Science Foundation (NSF) financia um grupo da AT&T para manter e distribuir informações sobre TCP/IP e Internet global. Conhecido como Internet Network Information Center (INTERNIC), o grupo trata de detalhes administrativos para a Internet, além de distribuir a documentação. Documentação para o trabalho da Internet, as propostas para protocolos novos ou revisados e os padrões de protocolos TCP/IP constam todos de uma série de relatórios técnicos denominados “Requests for Comments” (RFCs) da Internet. OBJETIVOS DA ARQUITETURA TCP/IP? INTERCONEXÃO DE AMBIENTES HETEROGÊNEOS SEM DISTINÇÃO DE FABRICANTE, TECNOLOGIA OU ARQUITETURA Protocolos como TCP e IP fornecem as regras para a comunicação. Eles contêm os detalhes de formatos de mensagens, descrevem o que um computador faz ao receber uma mensagem e especificam como um computador trata os erros ou outras condições anormais. O mais importante é que esses protocolos permitem que tratemos a comunicação através do computador, independente do hardware da rede de qualquer fornecedor em particular. Ocultar os detalhes de baixo nível de comunicação facilita a melhoria da produtividade de diversas formas. Primeiro, os programadores lidam com abstrações de alto nível, não precisando aprender ou lembrar-se de todos os detalhes sobre determinada configuração de hardware. Assim sendo podem-se criar novos programas rapidamente. Segundo, como os programas desenvolvidos com abstrações de alto nível não estão restritos a uma arquitetura de máquina específica ou a um hardware de rede específico, eles não precisam ser mudados quando as máquinas ou as redes forem reconfiguradas. Terceiro, como os programas aplicativos desenvolvidos com protocolos de alto nível são independentes do hardware, eles podem promover uma comunicação direta entre um par de máquinas arbitrário. Os programadores não precisam elaborar versões especiais de software aplicativo para mover ou traduzir dados entre cada par de máquinas possível. Um sistema de protocolos como TCP/IP deve ser capaz de realizar as seguintes tarefas: Dividir mensagens em pedaços gerenciáveis de dados que serão passados eficientemente pelo meio de transmissão; Realizar a interface como o hardware adaptador de rede; Fazer o ENDEREÇAMENTO --- o computador que envia deve ser capaz de endereçar os dados a um computador receptor. O computador receptor deve ser capaz de reconhecer uma mensagem destinada a ele; Fazer o ROTEAMENTO --- o sistema deve ser capaz de rotear os dados à sub-rede do computador de destino, mesmo que a sub-rede de origem e a sub-rede de destino sejam redes físicas distintas; 3 Realizar a verificação de erros, controle de fluxo e confirmação --- para que haja uma comunicação confiável, os computadores emissor e receptor devem ser capazes de identificar e corrigir falhas de transmissão e controlar o fluxo de dados; Aceitar dados físicos de uma aplicação e passá-los para a rede. O Modelo TCP/IP em camadas, comparado ao Modelo OSI/ISO ... Figura 1 Comparação entre as arquiteturas OSI/ISO e TCP/IP SERVIÇOS DE INTERLIGAÇÃO EM NÍVEL DE APLICATIVOS Do ponto de vista do usuário, uma interligação em redes TCP/IP aparenta ser um conjunto de programas que utilizam a rede para desempenhar tarefas de comunicação consideradas necessárias. A maioria dos usuários que acessa a Internet o faz simplesmente executando programas aplicativos sem compreender a tecnologia TCP/IP, a estrutura da interligação em redes principal, ou mesmo o caminho por onde os dados trafegam para seu destino; eles lançam mão de programas aplicativos e do software da rede principal para tratar desses detalhes. Apenas os programadores que desenvolvem programas aplicativos de rede precisam considerar a interligação em redes e ter certo entendimento da tecnologia. Os serviços de aplicativos da Internet mais comuns e difundidos incluem: Correio eletrônico – permite que um usuário elabore memorandos e os envie a indivíduos ou grupos. Um outra parte do aplicativo do correio eletrônico permite que os usuários leiam os memorandos que receberem. O correio eletrônico tem sido tão bem-sucedido que muitos usuários da Internet dependem dele para correspondência comercial normal. Embora existam muitos sistemas de correio eletrônico, a utilização do TCP/IP faz com que a entrega de correio seja mais confiável, já que não depende de computadores para processamentos intermediários na transmissão de mensagens. Um sistema de entrega de correio TCP/IP opera através do contato direto entre a máquina do transmissor e a máquina do receptor. Assim, o transmissor sabe que quando a mensagem deixa a máquina local, ela foi recebida com êxito no destino. 4 Transferência de arquivos – Embora alguns usuários às vezes transfiram arquivos através do correio eletrônico, ele se destina, sobretudo, a mensagens de pouco texto. Os protocolos TCP/IP incluem um programa aplicativo que permite que os usuários enviem ou recebam arbitrariamente arquivos externos de programas de dados. Ao utilizar, por exemplo, um programa de transferência de arquivos, a pessoa pode copiar de uma máquina para outra uma base de dados extensa contendo imagens de satélite, um programa escrito em Pascal ou C++, ou um dicionário de inglês. O sistema indica uma maneira de checar os usuários autorizados, ou até de evitar acessos. Tal como corre com o correio eletrônico, a transmissão de arquivos na interligação de redes TCP/IP é confiável porque as duas máquinas envolvidas comunicam-se diretamente, sem depender de máquinas intermediárias que façam cópias do arquivo ao longo do processo. Login Remoto (Telnet) – O login remoto permite que, de seu computador, um usuário entre em conexão com uma máquina remota e estabeleça uma sessão interativa de login. O login remoto faz com que uma janela na tela do usuário pareça conectar-se diretamente com a máquina remota, enviando cada toque no teclado a uma máquina remota e exibindo cada caractere que o computador remoto imprime na janela do usuário. Quando a sessão de login remoto termina, o aplicativo retorna o usuário ao sistema local. COMO FUNCIONA O TCP/IP? A figura 2 ilustra o modelo TCP/IP com suas camadas, seus protocolos e sua ligação física. Figura 2 Arquitetura TCP/IP em camadas, serviços e protocolos 5 Camada Aplicação - É formada Camada Internet (IP) - Essa pelos protocolos utilizados pelas diversas camada é a primeira normatizada do aplicações do modelo TCP/IP. Esta modelo. Também conhecida como camada não possui um padrão comum. O camada Internet, é responsável pelo padrão é estabelecido por cada aplicação. endereçamento, roteamento e controle de Isto é, o FTP possui seu próprio envio e recepção. Ela não é orientada à protocolo, assim como o TELNET, SMTP, conexão, se comunica através de POP3, DNS, dentre outros. datagramas. Camada Transporte (TCP e Camada Rede (Hardware) UDP) - Camada fim-a-fim, isto é, uma Camada de abstração de hardware, tem entidade desta camada só se comunica como principal função a interface do com a sua entidade-par do host modelo TCP/IP com os diversos tipos de destinatário. É nesta camada que se faz o redes (X.25, ATM, FDDI, Ethernet, Token controle da conversação entre as Ring, Frame Relay, PPP e SLIP). Por aplicações intercomunicadas da rede. causa da grande variedade de tecnologias Dois protocolos aqui são usados: o TCP e de rede, ela não é normatizada pelo o UDP. O TCP é orientado à conexão e o modelo, o que provê a possibilidade de UDP não. O acesso das aplicações à interconexão e interoperação de redes camada de transporte é feito através de heterogêneas. portas que recebem um número inteiro para cada tipo de aplicação. Cada serviço corresponde a um protocolo específico. No caso de e-mails, este serviço é atendido pelo protocolo SMTP, que se comunica diretamente com o TCP/IP. No caso do WWW, usado para visualização de páginas, o protocolo usado é o http. Figura 3 Arquiteturas TCP/IP - camadas de Transporte e Aplicação O TCP é um protocolo da camada de transporte confiável, baseado em conexão encapsulada no IP. O TCP garante a entrega dos pacotes, assegura o "seqüenciamento" dos pacotes e providencia um "checksum" que valida tanto o cabeçalho, quanto os dados do pacote. No caso da rede perder ou corromper um pacote TCP/IP durante a transmissão, é tarefa do TCP retransmitir o pacote. Essa confiabilidade torna o TCP/IP o protocolo escolhido para transmissões baseadas em sessão e aplicativos cliente-servidor. O protocolo UDP é a segunda opção da camada de transporte, não é confiável, pois não implementa "acknowledgements"," janelas" e nem "seqüenciamentos". O único controle feito é um "checksum" opcional que está dentro do seu próprio "header", ele é utilizado por aplicações que não vão gerar altos volumes de tráfego na Internet. 6 O IP é o protocolo da camada Internet. Sua função é entregar pacotes a todos os outros protocolos da família TCP/IP. Seu funcionamento é baseado em um sistema de entrega de dados sem conexão. Isto significa que não há garantia de entrega dos pacotes IP no destino, nem na ordem em que foram enviados. O "checksum" do IP confirma apenas a integridade do cabeçalho do pacote. Embora sendo utilizado o IP versão 4, já existe uma nova versão 6. O endereço IP é formado por um número de 32 bits no formato "nnn.nnn.nnn.nnn" onde cada "nnn" pode variar de 0 até 255 (1 octeto = 8 bits e 28 = 256). Os endereços possuem uma classificação que varia de acordo com o número de subredes e de host´s. Tal classificação tem por finalidade otimizar o roteamento de mensagens na rede. O protocolo ICMP fornece mecanismos para tratamento de erros, fazendo com que os "routers" possam informar ao computador que gerou a requisição, a ocorrência de algum erro. Em seu funcionamento, o ICMP apenas notifica à fonte original sobre a ocorrência de erro, sendo que esta fonte é responsável por efetuar o relato do mesmo à aplicação correspondente. O protocolo IGMP, é o responsável por implementar a facilidade "IP multicasting", utilizada em empresas que tem diversos sites interligados por "routers" através de circuitos ponto a ponto. Quando um host remetente precisa saber o endereço físico do host destinatário, ele envia um pacote ARP na rede em broadcast contendo todos os campos conhecidos preenchidos, e o destinatário retorna uma réplica ARP após preencher os campos desconhecidos pelo remetente, ficando então, ambos os host´s e suas tabelas atualizadas. PROTOCOLO IP Cada host é identificado por um endereço IP lógico. O endereço IP pertence à camada de rede e não tem nenhuma dependência com a camada de enlace. Um único endereço IP é necessário para cada host que se comunica usando TCP/IP. O endereço IP identifica a localização de um host na rede. Cada endereço IP inclui uma identificação de rede e uma de host. A identificação de rede (também conhecida como endereço de rede), identifica os computadores que estão localizados no mesmo segmento físico de rede. Todos os sistemas na mesma rede física devem ter a mesma identificação de rede. Há uma correspondência biunívoca entre computador e IP. A identificação de host (também conhecido como endereço de host) identifica uma estação de trabalho, servidor, roteador, ou outro host TCP/IP dentro de uma rede. O endereço para cada host deve ser único para a identificação de rede. Figura 4 Endereço IP Um endereço IP consiste em 32 bits. Em geral utiliza-se a segmentação dos 32 bits de um endereço IP em quatro campos de 8 bits chamados de octeto, ao invés de trabalhar com um só bloco de 32 bits. Cada octeto é representado por números na faixa na base decimal na escala de 0255 e separados por um ponto. Este formato é chamado notação decimal pontuada, conforme ilustrado na figura 4 mostrada ao lado. 7 Classificação de endereços IP A comunidade Internet definiu originalmente 5 classes de endereços para acomodar as redes de tamanhos variados. A classe de um endereço define quantos bits estão sendo usados para identificação de rede e quantos para identificação do host. Definindo, também, o possível número de redes e host´s por rede. IP Classe A Figura 5 Endereço IP de classe A Endereços classe A são atribuídos a redes com uma grande quantidade de host´s. O bit de maior grau em uma classe A é sempre zero. Os próximos 7 bits (preenchendo o primeiro octeto) completam a identificação de rede. Os 24 bits restantes (os últimos 3 octetos) representam a identificação do host. Um endereço classe A permite 126 redes e 16.777.214 host por rede. A figura 5 ilustra a estrutura dos endereços classe A IP Classe B Figura 6 Endereço IP de classe B Endereços classe B são atribuídos a redes com um número médio de host´s. Os 2 bits de maior grau em uma classe B são sempre os valores binários 10. Os próximos 14 bits (preenchendo primeiro e o segundo octeto) completam a identificação de rede. Os 16 bits restantes (os últimos 2 octetos) representam a identificação do host. Um endereço classe B permite 16.384 redes e 65.534 host por rede. A figura 6 ilustra a estrutura dos endereços classe B 8 IP Classe C Figura 7 Endereço IP de classe B Endereços classe C são atribuídos a pequenas redes. Os 3 bits de maior grau em uma classe C são sempre os valores binários 110. Os próximos 21 bits (preenchendo os 3 primeiros octetos) completam a identificação de rede. Os oito bits restantes (o último octeto) representam a identificação do host. Um endereço classe C permite 2.097.152 redes e 254 host´s por rede. A figura 7 ilustra a estrutura dos endereços classe C. MÁSCARA DE REDE – COMO FUNCIONAM ? As sub-redes As classes de endereços Internet prevêem três classes de endereços, nas quais os 32 bits do endereço IP são divididos proporcionalmente entre as identificações de rede e de host (qualquer dispositivo que possui uma placa de rede), dependendo de quantas redes e quantos host´s por rede necessitamos. Considere uma identificação de rede classe A, a qual pode conter 16 milhões de host´s em uma mesma rede física. Todos eles, dentro dos limites do roteador, compartilhando o mesmo tráfego de difusão (broadcast). Não é aconselhável ter 16 milhões de host´s no mesmo domínio de difusão, o resultado disto, é que a maior parte dos 16 milhões de endereços de host´s não são atribuídos, e desta forma, desperdiçados. Mesmo em uma rede de classe B, a qual pode conter até 65 mil host´s, essa prática é totalmente inviável.No esforço de criar domínios de difusão menores, e com isso, ter uma melhor utilização dos bits em uma identificação de host, uma rede IP pode ser subdividida em pequenas redes, cada qual, limitada por um roteador IP e atribuída a uma nova identificação de sub-rede, na qual, é um subconjunto da identificação de rede original baseada em classes. Desta forma são criadas subdivisões de uma rede IP, onde cada sub-rede possui sua única identificação de sub-rede. Identificações de sub-rede são criadas usando-se uma porção dos bits de uma identificação de host original baseada em classes. Desta forma cria-se subdivisões de uma rede IP, onde cada sub-rede possui sua única identificação de sub-rede. Identificações de sub-rede são criadas usando uma porção dos bits de uma identificação de host original baseada em classes. Máscaras de sub-rede Com o advento das sub-redes, não se pode confiar na definição dos endereços IPs baseados em classes para determinar a identificação de rede do endereço IP. Um novo valor é necessário para definir qual parte do endereço IP é a identificação de rede e qual parte é a identificação de host indiferentemente do tipo de endereçamento usado, baseado em classes ou identificação de sub-redes. 9 A RFC 950 define o uso das máscaras de sub-rede (conhecidas também como máscara de endereço) como um valor de 32 bits que é usado para distinguir a identificação de rede da identificação de host em um endereço IP arbitrário. Os bits de uma máscara de sub-rede são definidos como a seguir: Todos os bits correspondentes a identificação de rede devem ser configurados com o valor 1 Todos os bits correspondentes a identificação de host devem ser configurados com o valor 0 Cada host em uma rede TCP/IP requer uma máscara de sub-rede mesmo em um único segmento de rede. Tanto uma máscara de sub-rede padrão, que é atribuída usando uma identificação de rede baseada em classes, quanto uma máscara de sub-rede customizada, que é usada quando criamos sub-redes ou super-redes. Notação decimal pontuada de máscara de sub-redes Máscaras de sub-rede são freqüentemente expressas com a notação decimal pontuada. Após a atribuição dos bits da porção da identificação de rede e de host, os 32 bits resultantes são convertidos para notação decimal pontuada. Observe que mesmo expresso na notação decimal pontuada, a máscara de sub-rede não é um endereço IP. Uma máscara de sub-rede padrão é baseada na classe do endereço IP e é usada em redes TCP/IP que não foram subdivididas em sub-redes. A tabela I lista as máscaras de subrede padrão usando a notação decimal pontuada para a mascara de sub-rede. Tabela I – MÁSCARAS DE SUB-REDES PADRÃO (NOTAÇÃO DECIMAL PONTUADA) Classe de endereço IP Classe A Classe B Classe C Máscara de sub-rede Bits da máscara de sub-rede 11111111 11111111 11111111 00000000 11111111 11111111 00000000 00000000 11111111 00000000 00000000 00000000 255.0.0.0 255.255.0.0 255.255.255.0 Máscaras de rede customizadas são diferentes destas, consideradas padrões, e são utilizadas quando atribuímos sub-redes ou super-redes. Por exemplo, 145.196.69.0 é uma identificação de sub-rede classe B. 8 bits da identificação do host na notação baseada em classes estão sendo usados para expressar a identificação da sub-rede. A máscara de sub-rede usa um total de 24 bits (255.255.255.0) para definir a identificação de rede. A identificação de sub-rede e a correspondente máscara de sub-rede, expressa em notação decimal pontuada, seria exemplificada como: 145.296.69.0, 255.255.255.0 Prefixo de rede, representação do comprimento da máscara de sub-rede Os bits da identificação de rede devem ser sempre escolhidos de forma contínua, do bit mais alto (esquerda) para o bit mais baixo (direita). Uma maneira de expressar uma máscara de sub-rede é a do número de bits que define a identificação de rede como em um prefixo de rede usando a notação de prefixo de rede: /<#(número) de bits>. 10 A tabela II lista as máscaras de rede padrão usando a notação de prefixo de rede para as máscaras de sub-rede. TABELA II – MÁSCARA DE SUB-REDES PADRÃO (NOTAÇÃO DE PREFIXO DE REDE) Classe de endereço IP Classe A 11111111 Classe B 11111111 Classe C 11111111 Bits da máscara de sub-rede 00000000 11111111 11111111 00000000 00000000 11111111 00000000 00000000 00000000 Prefixo de rede /8 /16 /24 Por exemplo, a identificação de rede classe B de 145.196.0.0 com a máscara de rede de 255.255.0.0 seria expressa na notação de prefixo de rede como 145.296.0.0/16, onde /16 representa a quantidade de bits de valor 1. Exemplo de uma máscara de sub-rede customizada Uma rede utiliza o endereço IP de classe B 145.196.0.0 e a máscara de rede 255.255.255.0 . Portanto, esta rede pode ser representada na notação de prefixo de rede por 145196.0.0/24. A notação de prefixo de rede é também conhecida como CIDR (Classless Interdomain Routing) - roteamento entre domínios sem classe. Assim, todos os hosts na mesma rede devem usar a mesma identificação de rede como também a mesma máscara de sub-rede. Sendo assim, 145.196.0.0/16 não está na mesma rede que 145.196.0.0/24. A identificação de rede 145.196.0.0/16 implica um intervalo válido de endereços IPs de 145.196.0.1 até 145.196.255.254. A identificação de rede 145.196.0.0/24 implica um intervalo válido de endereços IPs de 145.196.0.1 até 145.196.0.254. Portanto, essas identificações de rede não representam o mesmo intervalo de endereços IPs. Como descobrir a identificação de rede Para extrair a identificação de rede de um endereço IP arbitrário usando uma máscara de sub-rede arbitrária, o IP usa uma operação matemática chamada "comparação lógica E". Numa comparação lógica E, o resultado de duas proposições quando comparadas apresenta-se VERDADEIRO somente quando ambas as proposições forem VERDADEIRAS. Em qualquer outra situação, o resultado apresenta-se FALSO. Aplicando o princípio dos bits, onde o valor 1 representa "VERDADEIRO" e 0 "FALSO", o resultado é 1 quando ambos os valores comparados forem 1, caso contrário o resultado é 0. O IP faz uma comparação lógica E com os 32 bits do endereço IP e os 32 bits da máscara de sub-rede. Esta operação é conhecida como "E lógico bit-a-bit". O resultado da operação de E lógico bit-a-bit em um endereço IP e uma máscara de sub-rede é a identificação de rede. 11 Qual seria a identificação de rede do IP 193.128.191.77 com a máscara de sub-rede de 255.255.255.0 ? Para obter o resultado, deve-se transformar ambos os números na notação binária equivalente e alinhá-los. Em seguida, fazer a operação E lógico bit-a-bit escrevendo na linha de baixo o resultado: 11000001 10000000 10111111 01001101 Endereço IP 11111111 11111111 11111111 00000000 Máscara de sub-rede 11010001 10000000 10111111 00000000 Identificação de sub-rede O resultado da operação lógica "E" dos 32 bits do endereço IP e a máscara de subrede é a identificação de rede 193.128.191.0 Criação de sub-redes Mesmo que a noção conceitual de sub-redes, utilizando bits de host´s, pareça bastante simples, os mecanismos atuais de criação de sub-redes são mais complexos. Criar sub-redes eficientes, que reflitam as necessidades de sua rede, requer três procedimentos básicos: 1) Determinar o número de bits de host a serem usados para sub-redes; 2) Listar as novas identificações de sub-redes; e 3) Listar os endereços IPs para cada nova identificação de sub-rede Determinar o número de bits de host a serem usados para sub-redes O número de bits de host usado para sub-redes determinará o número de sub-redes possíveis e o número de host´s por sub-rede. Antes de escolher o número de bits de host, deve-se avaliar o número de sub-redes e de host´s necessário. Quanto mais bits de host são usados para sub-redes, maior quantidade de sub-redes será possível configurar, porém, com menor quantidade de host´s por sub-rede. Por exemplo, as figuras 8 e 9 ilustram a subdivisão utilizando até os 8 primeiros bits de host de uma identificação de rede classe B. Se for escolhido um bit de host para subredes, haverá 2 identificações de sub-redes com 16.382 host´s por identificação de sub-rede. Se for escolhido 8 bits de host para sub-redes, haverá 256 identificações de sub-redes com 254 host´s por identificação de sub-rede. Figura 8 Máscara de rede de classe B 12 Figura 9 Máscara de rede de classe B Na prática, os administradores de rede definem o número máximo de host´s que desejam em uma única rede. É conveniente destacar que todos os host´s em uma rede compartilham o mesmo tráfego de difusão (broadcast). Na configuração de uma rede, é mais importante o crescimento do número de sub-redes ao invés do número de host´s por subrede. As tabela III, IV e V mostram as subdivisões possíveis para uma identificação de rede, respectivamente, de classes A, B e C. Considerando a quantidade de sub-redes e a quantidade máxima de host´s por subrede, deve-se escolher um esquema de subdivisão da rede. Observar que no número de host´s por sub-rede são retirados dois, por conta da identificação da sub-rede e do endereço de broadcasting da sub-rede. 13 Tabela III - SUBDIVISÕES DE UMA IDENTIFICAÇÃO DE REDE CLASSE A Número de sub-redes 1-2 3-4 5-8 9-16 17-32 33-64 65-128 129-256 257-512 513-1.024 1.025-2.048 2.049-4.096 4.097-8.192 8.193-16.384 16.385-32.768 32.769-65.536 65.537-131.072 131.073-262.144 262.145-524.288 524.289-1.048.576 1.048.577-2.097.152 2.097.153-4.194.304 Número de bits para subrede 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Máscara de sub-rede Número de host´s por sub-rede 255.128.0.0 ou /9 255.192.0.0 ou /10 255.224.0.0 ou /11 255.240.0.0 ou /12 255.248.0.0 ou /13 255.252.0.0 ou /14 255.254.0.0 ou /15 255.255.0.0 ou /16 255.255.128.0 ou /17 255.255.192.0 ou /18 255.255.224.0 ou /19 255.255.240.0 ou /20 255.255.248.0 ou /21 255.255.252.0 ou /22 255.255.254.0 ou /23 255.255.255.0 ou /24 255.255.255.128 ou /25 255.255.255.192 ou /26 255.255.255.224 ou /27 255.255.255.240 ou /28 255.255.255.248 ou /29 255.255.255.252 ou /30 8.388.606 4.194.302 2.097.150 1.048.574 524.286 262.142 131.070 65.534 32.766 16.382 8.190 4.094 2.046 1.022 510 254 126 62 30 14 6 2 14 Tabela IV - SUBDIVISÕES DE UMA IDENTIFICAÇÃO DE REDE CLASSE B Número de sub-redes 1-2 3-4 5-8 9-16 17-32 33-64 65-128 129-256 257-512 513-1.024 1.025-2.048 2.049-4.096 4.097-8.192 8.193-16.384 Número de bits para subrede 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Máscara de sub-rede Número de host´s por sub-rede 255.255.128.0 ou /17 255.255.192.0 ou /18 255.255.224.0 ou /19 255.255.240.0 ou /20 255.255.248.0 ou /21 255.255.252.0 ou /22 255.255.254.0 ou /23 255.255.255.0 ou /24 255.255.255.128 ou /25 255.255.255.192 ou /26 255.255.255.224 ou /27 255.255.255.240 ou /28 255.255.255.248 ou /29 255.255.255.252 ou /30 32.766 16.382 8.190 4.094 2.046 1.022 510 254 126 62 30 14 6 2 Tabela V - SUBDIVISÕES DE UMA IDENTIFICAÇÃO DE REDE CLASSE C Número de sub-redes 1-2 3-4 5-8 9-16 17-32 33-64 Número de bits para subrede 1 2 3 4 5 6 Máscara de sub-rede Número de host´s por sub-rede 255.255.255.128 ou /25 255.255.255.192 ou /26 255.255.255.224 ou /27 255.255.255.240 ou /28 255.255.255.248 ou /29 255.255.255.252 ou /30 126 62 30 14 6 2 Listar as novas identificações de sub-redes Após escolher o número de bits de host a ser usado nas sub-redes, deve-se listar as novas identificações de rede disponíveis, Embora, produzam o mesmo resultado, a lista enumerada das identificações de sub-rede, existem duas formas métodos de fazê-la: binária - lista todas as combinações de bits de host escolhidos para a subdivisão e converte cada combinação na notação decimal pontuada; e decimal - adiciona um valor incremental calculado para cada identificação de sub-rede sucessiva e converte na notação decimal pontuada. A título de exemplo, consideremos que se deseja criar uma sub-rede utilizando 3 bits de host´s da identificação de rede privada 200.187..0.0. A máscara de sub-rede para a nova identificação de sub-rede deve ser 255.255.224.0 ou /19. 15 As tabelas VI e VII mostram os métodos citados, onde os bits usados para subdivisão da rede estão sublinhados. Tabela VI - TÉCNICA BINÁRIA SUBDIVISÃO PARA A IDENTIFICAÇÃO DE REDE 200.187..0.0 Sub-rede 1 2 3 4 5 6 7 8 Representação binária 11000000.10101000.00000000.00000000 11000000.10101000.00100000.00000000 11000000.10101000.01000000.00000000 11000000.10101000.01100000.00000000 11000000.10101000.10000000.00000000 11000000.10101000.10100000.00000000 11000000.10101000.11000000.00000000 11000000.10101000.11100000.00000000 Identificação de sub-rede 200.187..0.0/19 200.187..32.0/19 200.187..64.0/19 200.187..96.0/19 200.187..128.0/19 200.187..160.0/19 200.187..192.0/19 200.187..224.0/19 Tabela VII - TÉCNICA DECIMAL SUBDIVISÃO PARA A IDENTIFICAÇÃO DE REDE 200.187..0.0 Sub-rede 1 2 3 4 5 6 7 8 Representação decimal 3232235520 3232243712 3232251904 3232260096 3232268288 3232276480 3232284672 3232292864 Identificação de sub-rede 200.187..0.0/19 200.187..32.0/19 200.187..64.0/19 200.187..96.0/19 200.187..128.0/19 200.187..160.0/19 200.187..192.0/19 200.187..224.0/19 Listar os endereços IPs para cada nova identificação de sub-rede Após listar todas as identificações de sub-rede, deve-se listar os endereços IP´s válidos para as novas identificações de sub-rede. Listar cada endereço IP individualmente seria, e com certeza é, uma tarefa muito tediosa. Ao invés de listar os endereços IPs para cada identificação de sub-rede, defini-se uma faixa de endereços IP´s (o primeiro e o último) para cada identificação de sub-rede. Existem duas formas de fazê-lo: binária - escrevendo o primeiro e o último endereço para cada identificação de sub-rede e convertendo para a notação decimal pontuada; e decimal - adicionando valores incrementais, correspondentes ao primeiro e ao último endereço IP para cada identificação de sub-rede e convertendo para a notação decimal pontuada. A título de exemplo, consideremos que se deseja criar uma sub-rede utilizando 3 bits de host´s da identificação de rede 200.187..0.0. A máscara de sub-rede para a nova identificação de sub-rede deve ser 255.255.224.0 ou /19. As tabelas VIII e IX mostram os métodos citados, onde os bits usados para subdivisão da rede estão sublinhados. 16 Tabela VIII – LISTAGEM DOS ENDEREÇOS IP´s – REPRESENTAÇÃO BINÁRIA Sub-rede Representação binária 11000000.10101000.00000000.00000000 até 11000000.10101000.00011111.11111110 11000000.10101000.00100000.00000000 até 11000000.10101000.00111111.11111110 11000000.10101000.01000000.00000000 até 11000000.10101000.01011111.11111110 11000000.10101000.01100000.00000000 até 11000000.10101000.01111111.11111110 11000000.10101000.10000000.00000000 até 11000000.10101000.10011111.11111110 11000000.10101000.10100000.00000000 até 11000000.10101000.10111111.11111110 11000000.10101000.11000000.00000000 até 11000000.10101000.11011111.11111110 11000000.10101000.11100000.00000000 até 11000000.10101000.00011111.11111110 1 2 3 4 5 6 7 8 Faixa de endereços IP´s 200.187..0.1 até 200.187..31.254 200.187..32.0/19 até 200.187..63.254 200.187..64.0/19 até 200.187..95.254 200.187..96.0/19 até 200.187..127.254 200.187..128.0/19 até 200.187..159.254 200.187..160.0/19 até 200.187..191.254 200.187..192.0/19 até 200.187..223.254 200.187..224.0/19 até 200.187..255.254 Tabela IX – LISTAGEM DOS ENDEREÇOS IP´s – REPRESENTAÇÃO DECIMAL Sub-rede Representação binária 1 3232235521 - 3232243710 2 3232243713 - 3232251902 3 3232251905 - 3232260094 4 3232260097 - 3232268286 5 3232268289 - 3232276478 6 3232276481 - 3232284670 7 3232284673 - 3232292862 8 3232292865 - 3232301054 Faixa de endereços IP´s 200.187..0.1 - 200.187..31.254 200.187..32.0/19 200.187..63.254 200.187..64.0/19 200.187..95.254 200.187..96.0/19 200.187..127.254 200.187..128.0/19 200.187..159.254 200.187..160.0/19 200.187..191.254 200.187..192.0/19 200.187..223.254 200.187..224.0/19 200.187..255.254 17 BIBLIOGRAFIA COMER, Douglas E. Interligação dem Rede com TCP/IP, Vol. 1 e 2, Rio de Janeiro: Campus, 1998. KUROSE, J. F. & ROSS, K. W. Redes de Computadores e a Internet, São Paulo: Makron Books, 2003 MURHAMMER, M. W. et all. TCP/IP Tutorial e Técnico, São Paulo: Makron Books, 2000. TANENBAUM, Andrew S. Computer Networks, 3a. ed., New Jersey: Prentice Hall PTR, 1996. Sites especializados, Internet, 2004. http://www.rfc-editor.org/ http://www.ieee.org/ http://www.cisco.com 18