Por que precisamos de máscara de sub-rede?


37

Como um endereço IPv4 já fornece as informações da rede e do host, por que ainda precisamos de uma máscara de sub-rede?

O primeiro octeto já especifica a classe de rede (1-127: A, 128-191: B, 192-223: C etc.). A, B ou C implica o número de octetos para a rede (respectivamente 255.0.0.0, 255.255.0.0, 255.255.255.0), que informa automaticamente quantos hosts são permitidos para cada classe de rede.

O IP fornece todas as informações que uma máscara de sub-rede possui e muito mais. Por que precisamos da máscara de sub-rede em primeiro lugar? Se as informações que uma sub-rede contém não são inteiramente um subconjunto daquelas dentro de um IP, o que mais ela contém ou o que a sub-rede faz, que exige que a especifiquemos de forma independente?


21
As classes A, B e C são tão de 1980 e há muito mortas. À medida que a exaustão de endereços surgiu, percebeu-se que muito espaço atribuído às Classes A e B foi totalmente desperdiçado pelos proprietários, daí o CIDR e a atribuição de pequenos blocos de endereços utilizáveis ​​em todo o espaço de endereços.
Fiasco Labs

2
@FiascoLabs Isso não responde a sua pergunta, cara. Os roteadores ainda usavam essas máscaras de sub-rede? Sim, com classe (se não houver mais sub-redes, o que talvez seja improvável), a máscara de sub-rede pode ser calculada a partir do endereço. Mas a) é necessário usar uma máscara de sub-rede com um AND lógico, se você já sabe quantos bits deseja e por que isso? Provavelmente, as operações da CPU não são capazes de testar x bits de um byte; portanto, outros precisam ser zerados e o operador EQU é aplicado.
barlop

8
Os roteadores com os quais trabalhei não assumem que o primeiro octeto da classe A, B ou C signifique alguma coisa. Eu sempre tive que definir uma máscara de rede ou CIDR para informar ao roteador os endereços onde a rede e a transmissão estavam localizadas. É claro que as atribuições de endereço de classe têm máscaras de rede realmente fáceis, 255.0.0.0, 255.255.0.0 e 255.255.255.0, portanto, sim, é necessário usar uma máscara de sub-rede.
Fiasco Labs

VLSM - máscaras de subreto de comprimento variável, você pode criar um domínio de rede ou broadcast tão grande ou pequeno quanto desejar!
Mark S.

3
Mesmo nos dias de aula, você pode ter uma grande rede com sub-rede (sic) em várias outras menores. Uma estação de trabalho em uma grande universidade ainda teria um endereço em uma rede classe A, mas poderia ser uma sub-rede de uma sub-rede de uma sub-rede de toda a classe A. Então, naturalmente, os roteadores não fizeram suposições.
Alexios

Respostas:


38

Precisamos de uma máscara de sub-rede para endereços IPv4 porque o endereço não fornece nenhuma informação sobre o tamanho da rede. Tamanhos de classe não são os tamanhos de rede. Em redes práticas, todas as redes IPv4 são divididas em sub - redes menores que o tamanho da classe.

Por exemplo, você pode dividir a rede da classe C 200.200.200.0/255.255.255.0 em duas redes menores (potencialmente em locais separados) 200.200.200.0/255.255.255.128 e 200.200.200.12.12/255.255.255.128, assumindo que não era necessário mais de 126 hosts. Na realidade, a maioria das empresas obtém apenas endereços IPv4 suficientes para os servidores que precisam estar na Internet pública. Eu já vi pessoalmente configurações com redes de endereços 32,16 e 8 (que seriam máscaras de 255.255.255.224, 255.255.255.240 e 255.255.255.248, respectivamente)

Ter redes IP apenas em blocos de tamanho de classe era muito restritivo, limitando o número de redes que poderiam ser permitidas - as 127 redes classe A ocupavam metade do espaço. Sem mencionar que ter uma rede de 24 bilhões de nós é completamente incontrolável. Em 1993, o CIDR (Classless Inter-Domain Routing) foi introduzido para permitir que as redes fossem divididas.

Também para ficar claro, o objetivo da máscara de sub-rede é determinar quais hosts estão na rede local e quais estão fora da rede. Os hosts podem conversar diretamente com hosts na mesma rede, mas precisam se comunicar com um roteador para conversar com hosts em redes externas.


ao usar o CIDR, você anexa um prefixo para especificar o número de bits usado para endereçamento de rede e o restante para endereços de host. Por exemplo, 200.200.200.0/27, implica automaticamente que o endereço do host deve ser 63 ou inferior. Mais uma vez, o IP ainda diz que este pedaço de informação, portanto, persiste a minha pergunta ...
KMC

Ainda é um endereço e uma máscara de rede quando tudo está dito e feito e é isso que o hardware subjacente usa para calcular seu bloqueio de rede, não é?
Fiasco Labs

Minha pergunta é persistente porque o IP ainda contém todas as informações que uma máscara de sub-rede precisa ter. Ainda não encontro nenhuma razão para a máscara de sub-rede existir.
KMC

11
@KMC: Eu realmente não entendo seu comentário, um prefixo CIDR é comparável a uma máscara de sub-rede e software, portanto, geralmente usa o prefixo ou a máscara, por uma questão de gosto.
Legolas

20
@KMC: /27 é a máscara de sub-rede, escrita apenas em uma notação diferente.
Heinzi 27/02

20

O primeiro octeto já especifica a classe de rede (1-127: A, 128-191: B, 192-223: C etc.). A, B ou C implica o número de octetos para a rede (respectivamente 255.0.0.0, 255.255.0.0, 255.255.255.0), que informa automaticamente quantos hosts são permitidos para cada classe de rede.

Certo, mas se alguém sub-rede essa rede, você precisaria da máscara de sub-rede para saber qual o tamanho da sua sub-rede. Sim, com endereçamento de classe, a classe informa o tamanho da rede e permite que você indique se O host está na mesma rede que você, mas se essa rede estiver em sub-rede, sem a máscara de sub-rede, como você saberia se outro nó está na mesma sub-rede que você?

Digamos que você esteja em uma rede Ethernet. Usamos o endereçamento de classe com sub-redes. Seu endereço IP é 1.2.3.4e você deseja acessar 1.3.1.1. Você usa o ARP para acessar esse endereço? Bem, depende de estar 1.2.3.4e 1.3.1.1estar na mesma sub-rede . Mesmo que estejam na mesma rede, se houver sub-redes diferentes, é necessário usar um roteador. Se eles estiverem na mesma sub-rede, o ARP deve ser usado.

Portanto, você precisa da máscara de sub-rede se a sub-rede estiver em uso, mesmo em redes classful.

Acho que você está confundindo sub-redes com o CIDR, na verdade. Sem o CIDR, mesmo com sub-redes, você não precisa da máscara de sub-rede entre regiões administrativas. Mas você ainda precisa dentro da rede!


6

Uma máscara de sub-rede é usada para realizar operações um pouco sábias em um endereço IP, em conjunto com um endereço de rede. Se minha memória me serve bem, você pega um endereço IP e faz um pouco de sabedoria sobre ele e a máscara de sub-rede para uma determinada rede. Se o resultado for igual ao endereço de rede, o endereço IP estará nessa rede específica. Os roteadores que possuem tabelas de roteamento de endereços de rede e máscaras de sub-rede podem usar matemáticas binárias simples (o que é muito rápido, se não o mais rápido para os computadores manipularem), para descobrir qual interface enviar um pacote.


3

"O 1º octeto já especifica a classe de rede (1-127: A, 128-191: B, 192-223: C etc.)."

Atualmente, não existem muitos protocolos em uso comum que respeitem mais isso (consulte o comentário do @Fiasco Labs - o RIP é o único em que consigo pensar). Então, esta declaração na sua pergunta:

O IP fornece todas as informações que uma máscara de sub-rede possui e muito mais.

não é verdade para a grande maioria dos protocolos em uso na Internet atualmente.

Se você tiver um número de máquinas conectadas entre si e apenas se comunicar, sem nenhum roteador envolvido, a máscara de sub-rede não será realmente necessária (embora as pilhas TCP / IP modernas insistam em você especificar uma).

Os roteadores definem as bordas das (sub) redes. Qualquer coisa que precise passar por um roteador está em uma rede diferente - e vice-versa: qualquer coisa que precise acessar uma rede diferente precisa passar por um roteador.

A máscara de sub-rede é como todas as máquinas podem saber se o tráfego é da rede atual ou precisa ser enviado a um roteador para chegar ao seu destino. A pilha TCP / IP do seu computador enviará seu tráfego diretamente para o destino se estiver dentro da máscara de sub-rede; caso contrário, ele consultará sua tabela de roteamento, e a situação usual é que envia outro tráfego para o gateway padrão.


3

O primeiro octeto já especifica a classe de rede (1-127: A, 128-191: B, 192-223: C etc.). A, B ou C implica o número de octetos para a rede (respectivamente 255.0.0.0, 255.255.0.0, 255.255.255.0), que informa automaticamente quantos hosts são permitidos para cada classe de rede.

Enquanto isso era historicamente verdade. Isso não é verdade há anos. Anos atrás, 24.0.0.0/8 foi distribuído em pedaços para vários ISPs. (Eu acredito que isso foi principalmente para provedores de cabo.)

Mesmo quando era verdade para atribuições de rede, as máscaras de rede eram necessárias para as redes internas simplificarem o roteamento. O roteamento eficiente de uma rede como 10.0.0.0/8 requer subdivisão em redes menores. Pode ser um esquema simples usando as subdivisões / 16 e / 8, mas é mais provável que seja uma subdivisão sem classe. Sub-redes maiores fazem uso mais eficiente do espaço de endereço (mais de 99% de a / 24 está disponível para dispositivos, enquanto apenas 50% de a / 30 está disponível.

A rede local é roteada diretamente do dispositivo, enquanto outros endereços são transmitidos por um roteador. Hosts com múltiplas interfaces podem ser conectados a redes de tamanhos diferentes.

Para sub-redes sem hosts com hospedagem múltipla, o / 24 contém mais endereços do que o necessário. A maioria dos roteadores com os quais trabalhei têm 24, 48 ou 96 portas e pode ser suportada com sub-redes / 27, / 26 ou / 25. Isso permite alguns endereços extras para DCHP e / ou hospedagem múltipla. As organizações podem padronizar a alocação de sub-redes de / 24 ou / 23 para roteamento.

Como um endereço IPv4 já fornece as informações da rede e do host, por que ainda precisamos de uma máscara de sub-rede?

Muitos dispositivos usam uma máscara de rede padrão de / 24 que, em muitos casos, corresponde ao tamanho da sub-rede local (localnet) atribuída ao roteador. Isso é igualmente aplicável às classes A, B e C. A menos que o tamanho da sub-rede corresponda à sub-rede padrão, uma máscara de rede é necessária.

Se os endereços forem especificados usando o formato CIDR, a máscara de rede e a rede poderão ser calculadas a partir do endereço. Caso contrário, a rede pode ser calculada a partir do endereço e da máscara de rede. Não é possível calcular com segurança a máscara de rede a partir do endereço e da rede.

O fornecimento de um endereço de gateway (roteador) para uma sub-rede permite que a rota padrão seja configurada, permitindo o roteamento para endereços fora da sub-rede.


2

Exceto pela resposta de @ Adrian, não tenho certeza de que algum deles realmente mencione POR QUE usamos a máscara em vez de uma solução mais simples de entender - e ele apenas tocou no fato de que o mascaramento é RÁPIDO, quero dizer, por que não apenas especificar que você está interessado nos endereços 192.168.1.200-192.168.1.220, ou por que não usar apenas nomes como * .my.address.com para isso, apenas nomeando cada computador em vez de atribuir números?

Na verdade, agora você pode, até certo ponto, remover completamente os números do roteamento, a maioria dos PCs pode lidar com os tipos de tráfego que são enviados, mas ainda há um problema nos dispositivos de maior escala.

Filtrar assim está acontecendo o tempo todo, e está acontecendo MUITO. O mascaramento pode ser feito em hardware, eliminando completamente a necessidade de perder tempo com pacotes desinteressantes (que costumavam ser 99% dos pacotes que você passaria pelo seu fio, agora com hubs comutados você não deve ver nenhum que não seja endereçado à sua máquina, novamente tornando-a menos relevante).

Para uma solução que é tão fácil no hardware, ela também é muito flexível. O mesmo hardware pode rotear uma rede classe A inteira (10.xxx) ou apenas um ou dois endereços IP com a mesma implementação.

Isso não substitui nenhuma das outras respostas, apenas um pouco mais de informação.


"por que não usar nomes como * .my.address.com para isso, apenas nomear cada computador" - você quer dizer, DNS?
Piskvor 27/02

@Piskvor Exactly! O DNS resolve para endereços IP; você pode usar o DNS diretamente, mas o poder de processamento usado aumenta. Você poderia até mesmo domínios sub-dividir de forma que * .meh.com vai para um endereço exceto * .alt.meh.com vai para outro ...
Bill K

Isso funciona, sim - ou seja, quando funciona (complexidade adicional); Além disso, você precisa saber onde está o servidor DNS; problema de galinha e ovo.
Piskvor

@Piskvor Estou apenas dizendo que existem outras possibilidades que funcionariam bem, exceto pelo desempenho - ainda significativo em alguns casos - e pelo fato de exigir uma reescrita TUDO. (Você realmente acha que o problema com um servidor DNS seria diferente se você alternasse para um esquema de endereçamento diferente?) #
224 Bill K Bill K

Não, o problema realmente persistiria. (e, por outro lado, o esforço por uma pilha de rede simples não está diminuindo - pelo contrário, fica mais forte com a "internet das coisas": simples também significa menos energia necessária e maior duração da bateria)
Piskvor

1

Já existem muitas coisas explicadas em outras respostas, mas não a principal.

Você quer saber se o endereço IP já pode fornecer o endereço completo do destinatário e por que existem máscaras de sub-rede. Você sabe que, em grandes organizações, às vezes os departamentos precisam de redes separadas; portanto, os contadores estão em uma sub-rede diferente e não podem acessar os endereços IP internos do departamento de marketing. Assim, por exemplo, um funcionário com o IP 192.168.10.3 não conseguiria acessar a impressora em 192.168.15.76, porque estaria em uma sub-rede diferente.


1

Até o momento, ainda não há resposta sobre por que as sub-redes (em oposição ao CIDR) ainda estão em uso. Há dois problemas com máscaras de sub-rede:

  1. você pode especificar máscaras não contíguas, que são inválidas.
  2. (também se aplica ao CIDR) eles introduzem uma possível sobreposição - os ISPs podem fornecer o mesmo endereço IP como parte de diferentes sub-redes. por exemplo

    cliente A: máscara de sub-rede 22.132.124.121 255.255.255.0
    cliente B: máscara de sub-rede 22.132.114.55 255.255.0.0

que não é imediatamente visível como deveria ser.

https://blog.certskills.com/ccent/vlsmo_01_01/


0

Normalmente, a máscara de sub-rede funciona como um indicador para as sub-redes abaixo. geralmente uma rede contém várias sub-redes e a máscara de sub-rede é a maneira que o roteador usa para entregar tráfego para o destino específico (em qualquer sub-rede usando a máscara de sub-rede) esse link contém uma introdução às máscaras de sub-rede


11
Por favor, adicione as informações importantes do link até aqui, adicione o link como fonte.
avirk
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.