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...
Cada máquina sabe seu IP, sua máscara e o IP do gateway. A máquina não sabe as máscaras e os ips de outras máquinas, apenas a sua. Logo, ao necessitar comunicar-se com uma máquina cujo o IP é X.Y.K.Z a máquina não tem como saber qual rede este IP é, mas tem como saber se é a mesma rede sua. Isto é suficiente para ela saber se pode enviar diretamente (mesma rede) ou se precisa acionar o gateway para jogar para fora (eu, estando no RS, posso não saber onde é um CEP que começa com "4", mas sei que não é RS, pois estou no RS e aqui ele começa com "9". Basta para eu enviar para outra agência de correio).
Alguns exemplos:
Caso A: origem e destino estão na mesma rede. Maquina A com IP 10.1.0.5/25 deseja conversar com 10.1.0.120 (ela não sabe a máscara do destino!!!).
Máquina A primeiro determina a sua rede aplicando um AND do seu IP com sua máscara, sendo que ela agora é 255.255.255.128, pois um /25 significa 25 bits em 1:
Ela chega a conclusão que pertence a rede 10.1.0.0. Ela faz o mesmo com o IP de destino, aplicando um AND do IP de destino COM A SUA MÁSCARA (única que ela tem):
Como resultado deste AND, chega-se ao cálculo de 10.1.0.0. Como o número calculado para rede é o mesmo, a conclusão é que o destino está aqui, local, basta realizar um ARP e endereçar diretamente o MAC do destino. Nada de gateway.
Caso B: origem e destino não estão na mesma rede. Maquina A com IP 10.1.0.5/25 deseja conversar com 10.1.0.129. Já sabemos que a rede que a máquina A pertence é 10.1.0.0 (veja, pode não ser se a máquina A estiver com a máscara errada!!!)
Ela faz o mesmo com o IP de destino, aplicando um AND do IP de destino COM A SUA MÁSCARA (única que ela tem):
Como resultado deste AND, chega-se ao cálculo de 10.1.0.128, que não é mesma rede da máquina A. A conclusão é que o destino não está aqui e preciso repassar o pacote para o gateway (o que o gateway faz deixamos para um próximo artigo).
Se a máquina A estiver com a máscara errada (um /24 quando deveria ser um /25) ela pode ficar isolada de parte da rede, por achar que o destino é rede local quando não é (deveria ter usado o gateway). Da mesma forma se ela é um /25 quando deveria ser um /24 poderá usar o gateway quando não era necessário. A correta configuração de máscara é extremamente importante.
[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.