quarta-feira, 1 de setembro de 2010

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:

exemple de réseau



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 :

0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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:

10xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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 :

110xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
RedeComputadores

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.


ClasseNúmero de redes possíveisNúmeros máximo de computadores em cada uma
A12616777214
B1638465534
C2097152254




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

Para compreender o que é uma máscara, talvez seja interessante consultar a secção “mecânico” que fala das máscaras em binário

Resumindo, fabrica-se uma máscara contendo 1 nos luagres 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    
<b>E</b>
11111111.00000000.00000000.00000000
<b>=</b>
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 bitsnúmeros subredes
12
24
38
416
532
664
7128
8 (impossível para uma classe C)256