Na Internet, os computadores se comunicam entre eles graças ao protocolo IP (Internet Protocol), que utiliza endereços numéricos, chamados endereços IP, compostos por quatro números inteiros (4 Bytes) entre 0 e 255 e escritos no formato xxx.xxx.xxx.xxx. Por exemplo, 194.153.205.26 é um endereço IP.
Endereços IP servem para que os computadores da rede se comunicarem entre eles. Para tanto, cada computador possui um endereço IP único nessa rede. É o ICANN (Internet Corporation for Assigned Names and Numbers) que se encarrega de atribuir endereços IP públicos, ou seja, os endereços IP dos computadores diretamente ligados à rede pública da Internet.
Um endereço IP é um endereço de 32 bits, geralmente escrito no formato de quatro números inteiros separados por pontos. Um endereço IP é composto de duas partes diferenciadas: os números da esquerda representam a rede e são chamados de netID (identificador de rede) e os números da direita indicam os computadores desta rede e chamam-se host-ID (identificador de hóspede). Veja o exemplo abaixo:
Na rede da esquerda - 194.28.12.0 - há computadores com IP de 194.28.12.1 a 194.28.12.4. Já na rede da direita - 178.12.0.0 - estão computadores de 178.12.77.1 a 178.12.77.4. Neste caso, as redes são 194.28.12 e 178.12.77 e, em seguida, numera-se cada um dos computadores que a constituem.
Imagine agora uma rede 58.0.0.0. Os computadores desta rede poderão ter endereços IP que vão de 58.0.0.1 a 58.255.255.254. Trata-se de atribuir números de modo a que haja uma organização na hierarquia dos computadores e dos servidores. Assim, quanto menor for o número de bits reservados à rede, mais ela poderá conter computadores.
Na realidade, uma rede 102.0.0.0 pode conter computadores cujos endereços IP podem variar entre 102.0.0.1 e 102.255.255.254 (isto é, 16.777.214 possibilidades), enquanto uma rede 194.26 poderá conter apenas computadores cujos endereços IP estejam compreendidos entre 194.26.0.1 e 194.26.255.254 (ou seja, 65.534 possibilidades). Esta é a noção de classe do endereço IP.
Quando se anula a parte host-ID, isto é, quando se substituem os bits reservados às máquinas da rede por zeros (ex: 194.28.12.0), obtém-se o que chamamos de endereço de rede. Este endereço não pode ser atribuído a nenhum dos computadores da rede.
Quando a parte netID é anulada, ou seja, quando os bits reservados à rede são substituídos por zeros, obtemos o endereço do dispositivo. Este endereço representa a máquina especificada pelo host-ID que se encontra na rede atual.
Quando todos os bits da parte host-ID são 1, o endereço obtido chama-se endereço de divulgação ('broadcast'). Trata-se de um endereço específico, permitindo enviar uma mensagem para todas as máquinas situadas na rede especificada pelo netID. Por outro lado, 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 autor retorno ('loopback'), porque designa a máquina local ('localhost').
Os endereços IP se dividem em classes, de acordo com o número de Bytes que representam a rede.
Num endereço IP de classe A, o primeiro Byte representa a rede. O bit mais importante (o primeiro bit, da esquerda) está em zero, o que significa que há 27 (00000000 à 01111111) possibilidades de redes, ou seja, 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.
Assim sendo, as redes disponíveis na classe A são 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, logo, a rede pode conter um número de computador igual a 224-2 = 1.6777.214 computadores.
Um endereço IP de classe A binário é assim:
0 | xxxxxxx | xxxxxxxx | xxxxxxxx | xxxxxxxx |
Rede | Computadores | |||
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, ou 16.384 redes possíveis. Assim, as redes disponíveis na classe B são as redes que vão de 128.0.0.0 a 191.255.0.0.
Os dois Bytes da direita representam os computadores da rede. Então, a rede pode conter um número de computadores igual a 216-21 = 65.534 computadores.
Um endereço IP de classe B binário fica assim:
10 | xxxxxx | xxxxxxxx | xxxxxxxx | xxxxxxxx |
Rede | Computadores | |||
Em um 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 significa que há 221 possibilidades de redes, isto é, 2.097.152 redes possíveis. Por conseguinte, as redes disponíveis em classe C são as que vão de 192.0.0.0 a 223.255.255.0.
O Byte de direita representa os computadores da rede, então, a rede pode conter 28-2 = 254 Computadores
Um endereço IP de classe C binário fica assim:
110 | xxxxx | xxxxxxxx | xxxxxxxx | xxxxxxxx |
Rede | Computadores | |||
O objetivo da divisão dos endereços IP em três classes (A, B e C) é facilitar a investigação de um computador na rede. Na verdade, com este formato é possível procurar, em primeiro lugar, a rede que se quer atingir e, em seguida, procurar um computador. Desta forma, a atribuição dos endereços IP é feita de acordo com a dimensão da rede.
Classe | Número de redes possíveis | Números máximo de computadores em cada rede |
---|---|---|
A | 126 | 16.777.214 |
B | 16.384 | 65.534 |
C | 2.097.152 | 254 |
Os endereços de classe A são especialmente reservados para as grandes redes, enquanto os endereços de classe C serão atribuídos a pequenas redes de empresa, por exemplo.
Em uma empresa, pode acontecer que só um computador esteja conectado à Internet e que, por seu intermédio, os outros computadores da rede acessem à Internet (fala-se, geralmente, de proxy ou gateway). Neste caso, só o computador ligado à Internet terá que reservar um endereço IP com o ICANN. Contudo, os outros computadores também precisam de um endereço IP para poderem se comunicar entre eles, internamente.
Assim, o ICANN reservou um punhado de endereços em cada classe para atribuir um endereço IP aos computadores de uma rede local conectada à Internet sem correr o risco de criar uma confusão de endereços IP na rede das redes. Trata-se dos seguintes endereços:
Endereços IP privados de classe A: 10.0.0.1 a 10.255.255.254, permitindo a criação de grandes redes privadas que compreendem milhares de computadores.
Endereços IP privados de classe B: 172.16.0.1 a 172.31.255.254, permitindo criar redes privadas de média dimensão.
Endereços IP privados de classe C: 192.168.0.1 a 192.168.0.254, para a instalação de pequenas redes privadas.
Para entender o que é uma máscara, talvez seja interessante consultar a seção Linguagem de montagem (Assembly), que fala das máscaras em binário. Resumindo, cria-se uma máscara contendo 1 no lugar dos bits que desejamos conservar e 0 para os que queremos anular. Uma vez criada esta máscara, basta fazer um E lógico entre o valor a ser oculto e a máscara, para deixar intacta a parte desejada e anular o resto.
Assim, uma máscara rede (netmask) se apresenta sob a forma de 4 bits separados por pontos (como um endereço IP) e compreende (na sua notação binária) zeros no lugar dos bits do endereço IP que se quer anular (e 1 no lugar dos que se deseja conservar).
O primeiro interesse de uma máscara de sub-rede é a possibilidade de identificar a rede associada a um endereço IP. Na realidade, a rede é determinada por diversos Bytes do endereço IP (1 Byte para os endereços de classe A, 2 para os de classe B e de 3 Bytes para a classe C). Ora, uma rede é gerada tomando o número de Bytes que a caracteriza e os seguintes Bytes compostos por 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.
Então, para conhecer o endereço da rede associada ao endereço IP 34.56.123.12, basta aplicar uma máscara cujo primeiro Byte comporta apenas 1 (ou seja, 255 em notação decimal) e os seguintes Bytes compostos por zeros. A máscara é 11111111.00000000.00000000.00000000. Por conseguinte, a máscara associada ao endereço IP 34.208.123.12 é 255.0.0.0. O valor binário de 34.208.123.12 é 00100010.11010000.01111011.00001100. Desta maneira, um E lógico entre o endereço IP e a máscara dá o seguinte resultado:
00100010.11010000.01111011.00001100
E
11111111.00000000.00000000.00000000
=
00100010.00000000.00000000.00000000
Ou seja, 34.0.0.0. Trata-se da rede associada ao endereço 34.208.123.12. De um modo geral, é possível obter as máscaras que correspondam 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 11111111.00000000.00000000.00000000, isto é, 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 11111111.11111111.00000000.00000000, correspondente a 255.255.0.0 em notação decimal;
Seguindo o mesmo raciocínio, para um endereço de Classe C, a máscara possuirá a forma 11111111.11111111.11111111.00000000, quer dizer, 255.255.255.0 em notação decimal.
Retomemos o exemplo da rede 34.0.0.0, e suponhamos que desejamos que os dois primeiros bits do segundo Byte permitam indicar a rede. A máscara a ser aplicada será, então:
11111111.11000000.00000000.00000000
Ou seja, 255.192.0.0.
Se aplicarmos esta máscara ao endereço 34.208.123.12 obtemos
34.192.0.0
Na realidade, há 4 casos possíveis para o resultado da 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.1280.0.
Ou os dois primeiros bits do segundo Byte são 11, neste caso o resultado é 34.192.0.0.
Assim sendo, esta máscara divide uma rede de classe A (que pode admitir 16.777.214 computadores) em 4 sub-redes - daí o nome de máscara de sub-rede - que pode admitir 222 computadores, ou seja, 4.194.304 máquinas.
É interessante observar que, nos dois casos, o número total de computadores é o mesmo, quer dizer, 16.777.214 computadores (4 x 4.194.304 - 2 = 16.777.214).
O número de sub-redes depende do número de bits atribuídos a mais à rede (aqui 2). Consequentemente, o número de sub-redes é, então:
números de bits | números sub-redes |
---|---|
1 | 2 |
2 | 4 |
3 | 8 |
4 | 16 |
5 | 32 |
6 | 64 |
7 | 128 |
8 (impossível para uma classe C) | 256 |
Foto: © imilian - 123RF.com