Entendendo TCP/IP (parte 2) - Endereços IP
Esse é o segundo artigo sobre TCP/IP que escrevo. No primeiro falei sobre a camada física TCP. Neste
artigo eu explico a camada de rede. O que são endereços IP, para que serve e como calcular a
máscara de sub-rede, endereços válidos e inválidos, roteamento. O objetivo é ensinar os conceitos,
mostrar os comandos mais comuns, e os arquivos de configuração envolvidos na configuração da rede.
artigo eu explico a camada de rede. O que são endereços IP, para que serve e como calcular a
máscara de sub-rede, endereços válidos e inválidos, roteamento. O objetivo é ensinar os conceitos,
mostrar os comandos mais comuns, e os arquivos de configuração envolvidos na configuração da rede.
Parte 4: Máscara de sub-rede
O problema das classes de IP é que não existe um meio termo quanto à quantidade de endereços para uma rede. Se você precisar de apenas 50 IPs, poderá usar a classe C, mas sobrarão mais de 200 endereços sem uso. O mascaramento veio para amenizar isso.
Para entendermos bem o mascaramento de rede, devemos estudar o IP em modo binário. Como exemplo, vou pegar o endereço 10.0.0.1. Na classificação normal, esse endereço é da classe A, sendo que o primeiro número é para a rede, e os 3 últimos para as máquinas. Esse número em binário é:
00001010.00000000.00000000.00000001
Essa rede varia de 00001010.00000000.00000000.00000000 até 00001010.11111111.11111111.11111111, ou seja, de 10.0.0.0 até 10.255.255.255
Vemos que, na classe A, os oito primeiros bits são reservados para o endereço de rede. Logo, qualquer número que comece com o binário 00001010 é da rede decimal 10, não importando os outros 24 bits. Dizemos então que a rede é 10.0.0.0/8. Da mesma forma, um endereço classe B seria /16, como em 150.14.32.124/16, e um classe C /24, como 200.234.12.15/24.
Agora imagine o que acontece se eu pegar somente 7 bits para rede, ao invés de 8. Logo teremos a seguinte intervalo da rede.
00001010.00000000.00000000.00000000 até 00001011.11111111.11111111.11111111 que, convertendo para decimais é:
10.0.0.0 até 11.255.255.255.
Lebre-se de que somente os sete primeiros bits ficam "fixos". Quando qualquer um dos sete primeiros bits mudar, então o endereço já será de outra rede. Nesse exemplo, tanto os endereços começados com 10 quanto os começados com 11 fazem parte da mesma rede. Essa rede pode ser representada como 10.0.0.0/7.
Suponha agora que você acabou de contratar um link empresarial de Internet. A empresa prestadora do serviço disponibilizou para você o seguinte endereço:
200.234.12.17/28
O que isso significa? Significa que você tem 28 bits para rede, e apenas 4 para máquinas (32-28). Vamos converter o endereço para binário. Use o Kcalc.
11001000.11101010.00001100.00010001
Se temos 28 bits para rede, logo somente os 4 último bits podem mudar. Então, o intervalo de IP da sua rede e:
de 11001000.11101010.00001100.00010000 até 11001000.11101010.00001100.00011111
Convertendo para decimal temos:
200.234.12.16 até 200.234.12.31
Antes do 15 é uma outra rede, e depois do 31 também. Só poderemos usar os IPs deste intervalo.
A forma mais usada para escrever a máscara é bem inteligente. Onde for endereço de rede usa-se 1, e onde for endereço de máquina usá-se 0. Analisando o primeiro exemplo:
IP - 11001000.11101010.00001100.00010001 máscara- 11111110.00000000.00000000.00000000
Convertendo para decimal temos:
IP 10.0.0.1
máscara 254.0.0.0
No segundo exemplo temos:
IP - 11001000.11101010.00001100.00010001
máscara - 11111111.11111111.11111111.11110000
o que resulta em:
IP - 200.234.12.17
máscara - 255.255.255.240
Agora não ficamos mais preso à classes de IP. Eu posso transformar um endereço classe A (como 10.0.0.0) em um endereço classe C, bastando pra isso apenas acrescentar a máscara 255.255.255.0 (24 bits).
Em redes locais é comum usarmos na máscara apenas os números 0 e 255, simplesmente porque é mais fácil de trabalhar. Já na Internet é necessário saber calcular a máscara para saber quantas máquinas eu posso ter.
Uma situação típica que acontece com frequência é ter que calcular a máscara dado um número de máquinas na rede. Por exemplo, qual é a máscara ideal para uma rede com 200 micros? Para calcularmos isso é necessário saber qual é o menor número fatorável por dois que seja maior do que 200. A resposta é 256. Logo, precisamos de uma máscara que comporte 256 computadores. É só fazer o caminho inverso, primeiramente transformando o 256 em binário;
11111111
São 8 bits. Logo, temos 24 bits para rede, e 8 para máquinas. A máscara será 255.255.255.0
Também usamos máscaras quando trabalhamos com firewall. Com frequência precisamos bloquear os acesso de um intervalo de IP. Como exemplo, imaginem a situação onde os IP de 192.168.5.0 até 192.168.5.15 devam ser bloqueados no firewall. Podemos fazer isso com 16 linhas, ou em apenas uma usando máscara que, no caso, será 255.255.255.240. Logo, uma única regra no firewall relacionada à rede 192.168.5.0/255.255.255.240 já seria suficiente para relacionar todas as minhas máquinas.
Para entendermos bem o mascaramento de rede, devemos estudar o IP em modo binário. Como exemplo, vou pegar o endereço 10.0.0.1. Na classificação normal, esse endereço é da classe A, sendo que o primeiro número é para a rede, e os 3 últimos para as máquinas. Esse número em binário é:
00001010.00000000.00000000.00000001
Essa rede varia de 00001010.00000000.00000000.00000000 até 00001010.11111111.11111111.11111111, ou seja, de 10.0.0.0 até 10.255.255.255
Vemos que, na classe A, os oito primeiros bits são reservados para o endereço de rede. Logo, qualquer número que comece com o binário 00001010 é da rede decimal 10, não importando os outros 24 bits. Dizemos então que a rede é 10.0.0.0/8. Da mesma forma, um endereço classe B seria /16, como em 150.14.32.124/16, e um classe C /24, como 200.234.12.15/24.
Agora imagine o que acontece se eu pegar somente 7 bits para rede, ao invés de 8. Logo teremos a seguinte intervalo da rede.
00001010.00000000.00000000.00000000 até 00001011.11111111.11111111.11111111 que, convertendo para decimais é:
10.0.0.0 até 11.255.255.255.
Lebre-se de que somente os sete primeiros bits ficam "fixos". Quando qualquer um dos sete primeiros bits mudar, então o endereço já será de outra rede. Nesse exemplo, tanto os endereços começados com 10 quanto os começados com 11 fazem parte da mesma rede. Essa rede pode ser representada como 10.0.0.0/7.
Suponha agora que você acabou de contratar um link empresarial de Internet. A empresa prestadora do serviço disponibilizou para você o seguinte endereço:
200.234.12.17/28
O que isso significa? Significa que você tem 28 bits para rede, e apenas 4 para máquinas (32-28). Vamos converter o endereço para binário. Use o Kcalc.
11001000.11101010.00001100.00010001
Se temos 28 bits para rede, logo somente os 4 último bits podem mudar. Então, o intervalo de IP da sua rede e:
de 11001000.11101010.00001100.00010000 até 11001000.11101010.00001100.00011111
Convertendo para decimal temos:
200.234.12.16 até 200.234.12.31
Antes do 15 é uma outra rede, e depois do 31 também. Só poderemos usar os IPs deste intervalo.
A forma mais usada para escrever a máscara é bem inteligente. Onde for endereço de rede usa-se 1, e onde for endereço de máquina usá-se 0. Analisando o primeiro exemplo:
IP - 11001000.11101010.00001100.00010001 máscara- 11111110.00000000.00000000.00000000
Convertendo para decimal temos:
IP 10.0.0.1
máscara 254.0.0.0
No segundo exemplo temos:
IP - 11001000.11101010.00001100.00010001
máscara - 11111111.11111111.11111111.11110000
o que resulta em:
IP - 200.234.12.17
máscara - 255.255.255.240
Agora não ficamos mais preso à classes de IP. Eu posso transformar um endereço classe A (como 10.0.0.0) em um endereço classe C, bastando pra isso apenas acrescentar a máscara 255.255.255.0 (24 bits).
Em redes locais é comum usarmos na máscara apenas os números 0 e 255, simplesmente porque é mais fácil de trabalhar. Já na Internet é necessário saber calcular a máscara para saber quantas máquinas eu posso ter.
Uma situação típica que acontece com frequência é ter que calcular a máscara dado um número de máquinas na rede. Por exemplo, qual é a máscara ideal para uma rede com 200 micros? Para calcularmos isso é necessário saber qual é o menor número fatorável por dois que seja maior do que 200. A resposta é 256. Logo, precisamos de uma máscara que comporte 256 computadores. É só fazer o caminho inverso, primeiramente transformando o 256 em binário;
11111111
São 8 bits. Logo, temos 24 bits para rede, e 8 para máquinas. A máscara será 255.255.255.0
Também usamos máscaras quando trabalhamos com firewall. Com frequência precisamos bloquear os acesso de um intervalo de IP. Como exemplo, imaginem a situação onde os IP de 192.168.5.0 até 192.168.5.15 devam ser bloqueados no firewall. Podemos fazer isso com 16 linhas, ou em apenas uma usando máscara que, no caso, será 255.255.255.240. Logo, uma única regra no firewall relacionada à rede 192.168.5.0/255.255.255.240 já seria suficiente para relacionar todas as minhas máquinas.
Estou iniciando em Redes e esse artigo será uma bela referencia para mim.
se possível gostaria de tirar duas dúvidas que fiquei com elas ao ler seu artigo:
Citação do Artigo
"Numa máscara 255.255.255.240 só teremos 14 endereços disponíveis, ao invés de 16. "
isso seria pq o primeiro endereço de rede e o ultimo para broadcast não poderiam ser usados? não entendi muito bem...
outra dúvida é no arquivo /etc/network/interfaces essa linha: allow-hotplug eth0
nunca cheguei a saber pra que que ela serve afinal.
somente essas dúvidas, mas novamete parabéns pelo artigo cara e pela atitude de querer compartilhar conhecimento que é louvável.
um abraço.