O que é um endereço IP Na Internet, os computadores comunicam entre eles graças ao protocolo IP (Internet Protocol), que utiliza endereços numéricos, chamados endereços IP, compostos por 4 números inteiros (4 bytes) entre 0 e 255 e notados sob a forma xxx.xxx.xxx.xxx. Por exemplo, 194.153.205.26 é um endereço IP com forma técnica. Estes endereços servem para os computadores da rede para comunicarem entre eles, assim cada computador de uma rede possui um endereço IP único nessa rede. É o ICANN (Internet Corporation for Assigned Names and Numbers, substituindo o IANA, Internet Assigned Numbers Agency, desde 1998) que está encarregado de atribuir endereços IP públicos, isto é, os endereços IP dos computadores directamente ligados à rede pública de Internet. Decodificar um endereço IP Um endereço IP é um endereço 32 bits, geralmente notado sob a forma de 4 números inteiros separados por pontos. Distinguem-se, com efeito, duas partes no endereço IP: uma parte dos números à esquerda designa a rede e chama-se ID de rede (em inglês netID), os números à direita designam os computadores desta rede e chamam-se ID de hóspede (em inglês host-ID). Repare no exemplo abaixo: Tomemos a rede de esquerda: 194.28.12.0. Contém os computadores seguintes: • 194.28.12.1 a 194.28.12.4 Repare na rede à direita: 178.12.0.0. Compreende os computadores seguintes: • 178.12.77.1 a 178.12.77.6 No caso acima, as redes são notadas 194.28.12 e 178.12.77, seguidamente numera-se cada um dos computadores que a constituem. Imagine uma rede notada 58.0.0.0. Os computadores desta rede poderão ter os endereços IP que vão de 58.0.0.1 a 58.255.255.254. Trata-se de atribuir os números de modo a que haja uma organização na hierarquia dos computadores e dos servidores. Assim, quanto mais pequeno for o número de bits reservado à rede, mais esta pode conter computadores. Com efeito, uma rede notada 102.0.0.0 pode conter computadores cujo endereço IP pode variar entre 102.0.0.1 e 102.255.255.254 (256*256*256-2=16777214 possibilidades), enquanto uma rede notada 194.26 poderá conter apenas computadores cujo endereço IP esteja compreendido entre 194.26.0.1 e 194.26.255.254 (256*256-2=65534 possibilidades), é a noção de classe de endereço IP. Endereços específicos Quando se anula a parte host-id, isto é, quando se substituem os bits reservados às máquinas da rede por zeros (por exemplo 194.28.12.0), obtém-se o que chamamos de endereço rede. Este endereço não pode ser atribuído a nenhum dos computadores da rede. Quando a parte netid é anulada, quer dizer, quando os bits reservados à rede são substituídos por zeros, obtém-se o endereço máquina. Este endereço representa a máquina especificada pelo host-ID que se encontra na rede corrente. Quando todas as bits da parte host-id são de 1, o endereço obtido chama-se endereço de divulgação (em inglês broadcast). Trata-se de um endereço específico, permitindo enviar uma mensagem a todas as máquinas situadas na rede especificada pelo netID. Pelo contrário, quando todos os bits da parte netid são 1, o endereço obtido constitui o endereço de divulgação limitada (multicast). Por último, o endereço 127.0.0.1 chama-se endereço de defeito (em inglês loopback), porque designa a máquina local (em inglês localhost). As classes de redes Os endereços IP estão repartidos por classes, de acordo com o número de bytes que representam a rede. Classe A Num endereço IP de classe A, o primeiro byte representa a rede. O bit de peso forte (o primeiro bit, o da esquerda) está a zero, o que significa que há 27 (00000000 à 01111111) possibilidades de redes, quer dizer 128 possibilidades. Contudo, a rede 0 (bits que valem 00000000) não existe e o número 127 é reservado para designar a sua máquina. As redes disponíveis em classe A são por conseguinte as redes que vão de 1.0.0.0 a 126.0.0.0 (os últimos bytes são zeros que indicam que se trata de redes e não de computadores!) Os três bytes à direita representam os computadores das redes, a rede pode por conseguinte conter um número de computador igual a: 224 ‒ 2 = 16777214 computadores. Um endereço IP de classe A, binário, parece-se com isto: 0 xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Rede Computadores Classe B Num endereço IP de classe B, os dois primeiros bytes representam a rede. Os dois primeiros bits são 1 e 0, o que significa que há 214 (10 000000 00000000 do 111111 11111111) possibilidades de redes, quer dizer de 16384 redes possíveis. As redes disponíveis em classe B são por conseguinte as redes que vão de 128.0.0.0 a 191.255.0.0 Os dois bytes de direita representam os computadores da rede. A rede pode por conseguinte conter um número de computadores igual a: 216 ‒ 21 = 65534 computadores. Um endereço IP de classe B, binário, assemelha-se a isto: 10 xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Rede Computadores Classe C Num endereço IP de classe C, os três primeiros bytes representam a rede. Os três primeiros bits são 1,1 e 0, que significa que há 221 possibilidades de redes, quer dizer 2097152. As redes disponíveis em classe C são por conseguinte as redes que vão de 192.0.0.0 a 223.255.255.0 O byte de direita representa os computadores da rede, a rede pode por conseguinte conter: 28 ‒ 21 = 254 Computadores Um endereço IP de classe C, binário, assemelha-se a isto : 110 xxxxx xxxxxxxx xxxxxxxx xxxxxxxx Rede Computadores Atribuição dos endereços IP O objectivo da divisão dos endereços IP em três classes A, B e C, é facilitar a investigação de um computador na rede. Com efeito, com esta notação é possível procurar inicialmente a rede que se deseja atingir e seguidamente procurar um computador . Assim, a atribuição dos endereços IP faz-se de acordo com a dimensão da rede. Classe Número de redes possíveis Números máximos de computadores em cada uma A 126 16777214 B 16384 65534 C 2097152 254 Os endereços de classe A são reservados especialmente para as grandes redes, enquanto se atribuirão os endereços de classe C a pequenas redes de empresa, por exemplo. Endereços IP reservados Acontece frequentemente numa empresa ou uma organização que um só computador esteja ligdo à Internet, é por seu intermédio que os outros computadores da rede acedem à Internet (fala-se geralmente de proxy ou ponte estreita). Neste caso, o único computador ligado à Internet tem necessidade de reservar um endereço IP junto do ICANN. Contudo, os outros computadores têm na mesma necessidade de um endereço IP para poderem comunicar entre eles internamente. Assim, o ICANN reservou um punhado de endereços em cada classe para permitir afectar um endereço IP aos computadores de uma rede local ligada à Internet sem correr o risco de criar uma confusão de endereços IP na rede das redes. Trata-se dos endereços seguintes : Endereços IP privados de classe A: 10.0.0.1 a 10.255.255.254, permitindo a criação de vastas redes privadas que compreendem milhares de computadores. Endereços IP privados de classe B: 172.16.0.1 à 172.31.255.254, permitindo criar redes privadas de média dimensão. Endereços IP privados de classe C: 192.168.0.1 à 192.168.0.254, para instalação de pequenas redes privadas. Máscaras de subrede Máscara de subrede Resumindo, fabrica-se uma máscara contendo 1 nos lugares dos bits que desejamos conservar, e 0 para os que queremos anular.Uma vez criada esta máscara, basta fazer um ET lógico entre o valor que se deseja mascarar e a máscara, para deixar intacta a parte que deseja e anular o resto. Assim, uma máscara rede (em inglês netmask) apresenta-se sob a forma de 4 bytes separados por pontos (como um endereço IP), compreende (na sua notação binária) dos zeros a nível das bits do endereço IP que quer-se anular (e do 1 a nível dos que deseja-se conservar). Interesse de uma máscara de subrede O primeiro interesse de uma máscara de subrede é permitir identificar simplesmente a rede associada a um endereço IP. Com efeito, a rede é determinada por diversos bytes do endereço IP (1 byte para os endereços de classe A, 2 para os endereços de classe B, e de 3 bytes para a classe C). Ora, uma rede é notada tomando o número de bytes que a carateriza, seguidamente completando com zeros. A rede associada ao endereço 34.56.123.12 é por exemplo 34.0.0.0, porque se trata de um endereço IP de classe A. Para conhecer o endereço da rede associada ao endereço IP 34.56.123.12, basta então aplicar uma máscara cujo primeiro byte comporta apenas 1 (quer dizer, 255 em notação decimal), seguidamente 0 sobre os bytes seguintes. A máscara é: 11111111.00000000.00000000.00000000 A máscara associada ao endereço IP 34.208.123.12 é por conseguinte 255.0.0.0. O valor binário de 34.208.123.12 é: 00100010.11010000.01111011.00001100 Um ET lógico entre o endereço IP e a máscara dá assim o resultado seguinte: 00100010.11010000.01111011.00001100 E 11111111.00000000.00000000.00000000 = 00100010.00000000.00000000.00000000 Isto é, 34.0.0.0. Trata-se da rede associada ao endereço 34.208.123.12 Generalizando, é possível obter as máscaras que correspondem a cada classe de endereço: • Para um endereço de Classe A, só o primeiro byte deve ser conservado. A máscara possui a forma seguinte 11111111.00000000.00000000.00000000, quer dizer 255.0.0.0 em notação decimal; • Para um endereço de Classe B, os dois primeiros bytes devem ser conservados, o que dá a máscara seguinte 11111111.11111111.00000000.00000000, correspondente a 255.255.0.0 em notação decimal; • Para um endereço de Classe C, com o mesmo raciocínio, a máscara possuirá a forma seguinte 11111111.11111111.11111111.00000000, quer dizer 255.255.255.0 em notação decimal Criação de subredes Retomemos o exemplo da rede 34.0.0.0, e suponhamos que desejamos que os dois primeiros bits do segundo byte permitam designar a rede. A máscara a aplicar será então: 11111111.11000000.00000000.00000000 quer dizer 255.192.0.0 Se se aplicar esta máscara, ao endereço 34.208.123.12 obtém-se : 34.192.0.0 Realmente há 4 casos possíveis para o resultado máscara de um endereço IP de um computador da rede 34.0.0.0 Ou os dois primeiros bits do segundo byte são 00, neste caso o resultado é 34.0.0.0 Ou os dois primeiros bits do segundo byte são 01, neste caso o resultado é 34.64.0.0 Ou os dois primeiros bits do segundo byte são 10, neste caso o resultado é 34.128.0.0 Ou os dois primeiros bits do segundo byte são 11, neste caso o resultado é 34.192.0.0 Esta máscara divide por conseguinte uma rede de classe A (que pode admitir 16.777.214 computadores) em 4 subredes ‒ daí o nome de máscara de subrede ‒ que pode admitir 222 computadores, quer dizer 4.194.304 computadores. Pode ser interessante observar que nos dois casos, o número total de computadores é o mesmo, quer dizer 16.777.214 computadores (4 x 4194304 ‒ 2 = 16777214). O número de subredes depende do número de bits atribuídos a mais à rede (aqui 2). O número de subredes é por conseguinte: números de bits números subredes 1 2 2 3 4 8 4 16 5 32 6 7 64 128 8 (impossível para uma classe C) 256