Você sabe o que significam matematicamente as máscaras de rede? Um /24, /25? Um 255.255.128.0 define o quê? No iptables um 10.1.0.0/28 tem qual finalidade? E o que isto tem a ver com as classes de IPs? Para quem não for alérgico à escovação de bits...
Como o nome sugere, roteamento livre de classe. Adeus, bye bye classes. Foi uma furada, um tiro no pé. Em 1993 este padrão substitui as classes.
Lembre-se que o número IP versão 4 é dividido em duas partes:
alguns bits iniciais dizem qual rede é;
outros bits finais dizem qual a máquina dentro desta rede.
Antes a própria definição de Classe dizia quantos bits era rede e quantos eram host. O que o CIDR fez foi libertar-se desta restrição: não importa de qual classe o IP é, o número de bits de rede não é fixo. Posso ter agora um IP "CLASSE A", mas usando não sete, mas 24 bits para rede e os demais 8 para host, como seria um classe C.
Uma sutil mudança, mas com impactos profundos: o roteador já não sabe, através da análise do IP, quantos bits deve analisar para determinar a rede de destino. Adeus otimização dos cálculos. Roteador vai sofrer um pouco mais com cálculos mais onerosos. Ganha-se em um lado, perde-se em outro.
A pergunta é: se agora o número de bits que determinam qual rede sou não é fixo, como era no modelo por classes, como sei quantos bits devo usar?
Resposta: não sei, preciso sempre ter esta informação. Neste modelo cada máquina precisa saber que ip eu sou e deste meu IP quantos bits são usados para rede e quantos para host.
Cada roteador igualmente tem em sua nova tabela de rotas a informação de rede de destino, quantos bits devem ser usados para rede, e para onde vai. Mais oneroso, como disse (e, claro, suscetível a falhas).
No modelo CIDR a informação de quantos bits são usados para rede é simplesmente representada colocando-se este número ao lado do IP:
Meu IP: 10.1.0.5/24
O /24 determina que são usados os primeiros 24 bits para rede, e que os últimos 8 (o que sobrou) são para host. Cada definição de uma rede IP possui ainda dois números especiais, que não podem ser usados:
a definição do número da rede;
e a definição do número de broadcast.
Isto já era assim mesmo no modelo de classes, mas naquela época estes números eram fixos, pois o número de bits para rede era amarrado a qual classe ele pertencia. Agora não, agora estes dois números precisam ser calculados!
[2] Comentário enviado por m4tri_x em 28/11/2007 - 10:37h
Olá, agradeço antes mesmo de ler completamente o artigo, tive uma prova sobre isso na faculdade ontem, eu não tinha encontrado nenhum artigo interessante como esse, vlw kra, continua assim...
[]´s
[7] Comentário enviado por Iron Fist em 28/11/2007 - 15:26h
Elgio, você já ouviu falar em ips não roteaveis?
Eu acredito que os ips não roteaveis sejam os da família de redes 10.0.0.0, 127.0.0.1 e 192.168.0.0.
sabe onde eu posso achar alguma informação "segura" (isto é, consistente) sobre elas?
Ah, e uma pergunta. Eu tive algumas aulas de redes, mas depois de ler seu artigo, fiquei com uma dúvida.
Por acaso estes ips pertencem à classe A B ou C?
10.0.0.0 = Classe A
127.0.0.0 = Classe B
192.168.0.0 = Classe C?
É possível também a mascara permitir que um ip seja transformado em uma família de IP de Classe A? Por exemplo:
192.0.0.0/8 é possível?
[8] Comentário enviado por elgio em 28/11/2007 - 15:47h
"Não roteáveis" é um termo muito ruim, não deve ser usado. Quem diz "não roteáveis" quer dizer "não válidos na Internet", ou seja, roteadores bem configurados da Internet NÃO IRÃO ROTEÁ-LOS, mas não que o Ip tem um "problema no seu DNA" que não permite serem roteados... :-D
O termo correto é Ips PRIVADOS, para uso somente interno, INTRANET.
Os ips "válidos" na Internet são chamados ips Públicos.
Os Privados são:
10.0.0.0/8: isto abrange desde 10.0.0.0 até 10.255.255.255. O 9.X.X.X e o 11.X.X.X são PÚBLICOS, ou seja, possuem DONO.
172.16.0.0/12: isto vai de 172.16.0.0 até 172.31.255.255. Erro COMUM: o 172.15. e o 172.32. SÃO PÚBLICOS!!
192.168.0.0/16: isto vai de 192.0.0.0 até 192.168.255.255
Além destes ips PRIVADOS tem os reservados e que não podem ser usados. O 0.0.0.0 por exemplo está reservado (usado como origem em requizições DHCP por exemplo). O 127.X.X.X é para localhost e assim vai com outros.
Quanto a 192.0.0.0/8, CASUALMENTE este exemplo invade a área de ips PÜBLICOS e deve ser evitado. NÃO que não funcione, veja bem... mas com esta máscara (/8) estarias definindo uma rede que começa em 192.0.0.0 (que não é PRIVADA) e termina em 192.255.255.255 (que também não é PRIVADA).
No mais, liberte-se das classes. Só porque um IP é classe A não quer dizer que tu não possa usar um /24 nele!
Lá é o lugar "quente" para ver atribuições de ips e portas.
Sobre os ips, mais especificamente: http://www.iana.org/assignments/ipv4-address-space
Veja que o Iana diz as GRANDES alocações.
para ver como cada país redistribuiu, ai tem que se ir no gestor de ips de cada um dos países. (eles só dizem de quem é o /8)
Veja o exemplo:
010/8 Jun 95 IANA - Private Use See [RFC1918]
Tem uma RFC que define o seu uso!
Veja que tem muito "Varius Registers" inclusive para alguns privados.
[10] Comentário enviado por kalib em 28/11/2007 - 16:30h
Parabéns Elgio...excelente artigo...além de ser um conteúdo de grande importância para qualquer profissional da área de redes, foi abordado com qualidade.
Parabéns. ;]
[16] Comentário enviado por forkd em 29/11/2007 - 19:21h
Bom artigo!
Em 2005 eu fiz um programa pra exibir os dados de um endereço IP e sua máscara (este último é opcional). A primeira versão foi feita em C, mas depois eu refiz o código em Java, como um applet. Os códigos-fonte estão na minha página de scripts do VOL e a versão em Java pode ser acessada a partir de www.freewebs.com/jlojunior (necessário JRE para executar).
Infelizmente eu não usei métodos muito eficientes para trabalhar com os dados passados (manipulação direta de bits), mas o funcionamento é perfeito.
Abraço!
[20] Comentário enviado por cytron em 14/02/2008 - 02:06h
Legal heim! Eis um artigo q pode ter 50 páginas que ainda não cansa de ler. Ficou muito bem escrito. Reaprendi bastante sobre máscaras. Estava tudo enferrujado kkkkk!!!
elgio... vou dar uma sugestão e aposto que a comunidade em peso vai apoiar, ou pelo menos quem passar por aqui:
Faça um novo artigo sobre máscaras, mas dessa vez um modo avançado, aprofundando mais nas entranhas do IP e seu roteamento. Não é todo mundo que domina com tanta naturalidade o assunto e escreve tão bem.
Vamos lá galera! Quem sabe ele se comove eheheheh!!!
[29] Comentário enviado por anarco2002 em 07/12/2008 - 10:50h
Ótimo artigo, parabéns!
Gostaria de saber o porquê de se usar uma máscara /16 numa rede com ip classe A... Exemplo: 10.45.0.0/16..
Grato,
Antonio A. Correia
[31] Comentário enviado por maran em 02/03/2009 - 14:25h
Muito bom Elgio, hoje consigo interpretar perfeitamente este seu artigo,
pois estou realizando um curso voltado a estes aspectos.
Este mundo de bits é muito louco, VLSM, subnetar as redes, dividir o que já esta dividido.
Muito facinante, e o melhor é você depois de conhecer um pouco deste mundo, é ir em uma empresa e perguntar para alguem, porque você usa 255.255.255.0
Ai a pessoa responde :
É o padrão!!
Além de que é por ai que começa a segurança de uma rede, alem de sua performance, uma rede bem subnetada, pode evitar inasões, alem de que ganha em potencial, pois o broadcast é menor, assim consiguimos um menor delay!
Você poderia mostrar alguns outros exemplos um pouco diferentes na parte onde , explicou esta parte de /24 /28 /30, enfim!
Alguns exemplos de como é possivel descobrir qual é o host 900 da tal rede e em qual subrede o mesmo se encontra, enfim, para mostrar pra galera o quão longe podemos ir neste mundo.
[33] Comentário enviado por xerxeslins em 24/03/2009 - 21:40h
Gostei muito do artigo. Ajudou-me a entender um pouco mais sobre máscaras de rede.
Porém, fiquei com uma dúvida. Quebrei a cabeça tentando resolver, mas não consegui.
minha rede local possui um roteador com o seguinte IP:
192.168.2.1.
e tem 4 máquinas que recebem os seguintes IPs:
192.168.2.2
192.168.2.3
192.168.2.4
192.168.2.5
Como seria a notação da máscara da minha rede, supondo que eu não poderia acrescentar outras máquinas? (ou seja, não poderia existir o 192.168.2.6).
Se eu disser que é 192.168.2.0/24
eu estarei dizendo que o último octeto está livre para determinar vários hosts (mais de 5 inclusive), mas o que eu deveria colocar depois da barra ao invés de 24, se o intervalo máximo de hosts fosse de 192.168.2.1 até 192.168.2.5 apenas?
De 192.168.2.1 até 192.168.2.5 NÃO TEM COMO.
Assim como se quisesse ter 9 máquinas (de 192.168.2.1 até 192.168.2.9) terias que puxar para um /28 criando uma rede com 16 ips!! 8, 16, 32, 64, 128, 256,... sempre potência de 2.
[43] Comentário enviado por spyke em 10/01/2012 - 16:42h
amigo, estudei 1 semestre disso na escola, e demorei muito mais tempo pra aprender o que aprendi aqui, obrigado por essa aula, e continue a fazer artigos desse nível.
[44] Comentário enviado por piratex em 13/02/2012 - 02:22h
Excelênte !! Estava com umas dúvidas, já faz 3 anos que me formei em Analise de Sistemas, lá paguei Redes básico e avançado, mas já havia esquecido de alguns conceitos e seu artigo me fez relembrar tudo =D Achei melhor inclusive do que abrir o Kurose ou o Tanenbaum !!! Muito obrigado !!
[48] Comentário enviado por MAPOGOS em 10/02/2014 - 13:52h
ótimo artigo, tem que term um tempo com muita atenção para ler isto ja que estou no horário de trabalho.
Minha dúvida é os cálculos de maskarades e gateway e Ip com por exemplo 192.168.0.1/24...
Eu esqueci esta aula.
Como posso fazer estes cálculos
[53] Comentário enviado por MAPOGOS em 27/04/2015 - 13:12h
Eu ja li sobre esta escovação de bits muito interessante.
E tenho um Modem/Hub/Roterador com Ip 192.168.0.1 e outro 10.0.0.1.
Esta Classe de rede 192 é uma e 10 ´outra classe.
Não podem dar conflitos?
[54] Comentário enviado por removido em 26/03/2017 - 23:26h
Muito bom o artigo.
Questão para os alunos:
Dada uma rede 200.200.200.0, calcule as máscaras de forma que sejam criadas sub-redes com 10 hosts por sub-rede. Mostre as possíveis sub-redes criadas e seus respectivos ranges de endereços (sub-rede, broadcast e hosts).
Use papel e lápis, não use o comando ipcalc ou site.