O que é um endereço IP
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.
Estes endereços servem para os computadores da rede se comunicarem entre eles, assim, 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.
Como decodificar um endereço IP
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.
O que são os 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 (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 autorretorno ('loopback'), porque designa a
máquina local ('localhost').
Quais são as classes de redes
Os endereços IP se dividem em
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 mais importante (o primeiro bit, da esquerda) está em zero, o que significa que há 2
7 (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 2
24-2 = 1.6777.214 computadores.
Um endereço IP de classe A binário é assim:
| 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á 2
14 (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 2
16-2
1 = 65.534 computadores.
Um endereço IP de classe B binário fica assim:
| 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 significa que há 2
21 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 2
8-2 = 254
Computadores
Um endereço IP de classe C binário fica assim:
| 110 | xxxxx | xxxxxxxx | xxxxxxxx | xxxxxxxx |
| Rede | Computadores |
|
Como é feita a atribuição dos endereços IP
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.
O que são endereços IP reservados
Numa 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.
Máscaras de sub-redes
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, fabrica-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).
Qual é o interesse de uma máscara de sub-rede
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 é escrita 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.
Como criar sub-redes
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 2
22 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 |