Qual é a história por trás das famosas máscaras de rede?
22/01/2025
Por Alejandro Acosta, Coordenador de I+D no LACNIC
Introdução
Você lembra quando estava aprendendo sobre máscaras de rede? Com certeza você pensou algo como: “isso não serve para nada”, “nunca vou precisar disso”, ou “para que inventaram essa loucura?” Além de lhe arrancar um sorriso, espero convencê-lo da enorme importância que elas têm no gigantesco ecossistema da Internet.
Objetivo
Este post no blog resume a história e os marcos relacionados aos conceitos de máscara de rede no mundo do IPv4. Começamos a história em um mundo onde as classes não existiam (plano-flat), passamos por um mundo baseado em classful e finalizamos em uma Internet totalmente sem classless (CIDR). A informação baseia-se em trechos dos RFC 790, 1338 e 1519, juntamente com discussões na lista de e-mails “Internet-history”.
Você sabe o que é uma máscara de rede?
Presumo que, se você chegou a este documento, já sabe :-) Mas aqui vai um conceito básico: uma máscara de rede é utilizada para localizar e dividir um espaço de endereços entre a rede e os endereços de host. Em outras palavras, ela indica ao sistema qual é o esquema de particionamento de sub-rede.
Qual é o propósito da máscara de rede?
Roteamento: Os roteadores utilizam a máscara de rede para identificar a parte referente à rede e encaminhar corretamente os pacotes.
Subnetting: As máscaras de rede são utilizadas para criar redes menores.
Aggregation: As máscaras de rede permitem a criação de prefixos maiores.
As máscaras de rede sempre existiram?
Não, curiosamente as máscaras de rede nem sempre existiram. No início, as redes IP eram planas (flat) e sempre assumiam 8 bits para a rede e 24 bits para o host. Em outras palavras, o primeiro octeto representava a rede, enquanto os 3 octetos restantes correspondiam ao host. Outro fato interessante é que, há muitos anos, elas também eram chamadas de bitmask ou simplesmente mask (termos ainda utilizados).
Isso significa que as classes (A, B, C, D) nem sempre existiram.
As classes só foram introduzidas com o surgimento do RFC (setembro de 1981) de Jon Postel, ou seja, foi uma época anterior aos conceitos de classless e classful.
A introdução do sistema classful foi impulsionada pela necessidade de acomodar redes de tamanhos diferentes, já que o ID de rede original com 8 bits era insuficiente (256 redes). O sistema classful foi uma tentativa de resolver as limitações de um espaço de endereçamento plano, embora também apresentasse limitações em termos de escalabilidade. No mundo das classes, a máscara de rede era implícita.
As classes também não resolveram tudo
O sistema classful não era eficiente, embora tenha representado uma melhoria em relação ao design original (plano). Os tamanhos fixos dos espaços de rede e hosts dos endereços IP levaram ao esgotamento do espaço de endereços, especialmente com o crescente número de redes que eram maiores que uma Classe C, mas menores que uma Classe B. Isso levou ao desenvolvimento do Roteamento Inter-Domínio Sem Classes (Classless Interdomain Routing – CIDR), que utiliza máscaras de sub-rede de comprimento variável (Variable Length Subnet Mask – VLSM).
Trecho do RFC 790
Você sabia que nem sempre as máscaras eram escritas com bits contínuos ativados da esquerda para a direita?
A princípio, não era necessário que os bits das máscaras de rede fossem ativados consecutivamente da esquerda para a direita. Por exemplo, máscaras como: 255.255.192.128 eram completamente válidas.
Essa configuração era aceita por roteadores (IMPs — os primeiros roteadores) e por diferentes sistemas operacionais, incluindo os antigos BSDs e SunOSs. Em outras palavras, até o início dos anos 1990, ainda era possível usar máscaras de rede com bits não contínuos.
Por que foi decidido que os bits fossem obrigatoriamente ativados da esquerda para a direita?
Houve várias razões para isso, sendo a principal relacionada ao roteamento e ao famoso conceito de “longest match” que conhecemos, no qual o roteador seleciona a rota cuja máscara de sub-rede seja a mais longa que coincida com o endereço de destino do pacote. Se os bits não forem contínuos, a complexidade computacional aumenta significativamente. Em resumo: eficiência.
Desde aquela época, os endereços IPv4 já estavam se esgotando.
O esgotamento dos recursos IPv4 não é algo novo. Inclusive, na primeira seção do RFC 1338, no item número um, há uma referência ao esgotamento dos endereços da Classe B, indicando que a Classe C era pequena demais para muitas organizações, enquanto a Classe B era grande demais. Isso gerou uma pressão sobre o espaço de endereços da Classe B, levando ao seu esgotamento. E não só isso, o próprio RFC, no item 3, cita textualmente: “Eventual exhaustion of the 32-bit IP address space” (1992).
O CIDR aborda as soluções de ontem, que se tornaram os problemas daquele momento.
Ao criar as classes, foram criadas mais redes, o que resultou em mais prefixos e, consequentemente, maior consumo de memória e CPU. Por isso, em setembro de 1993, no RFC 1519, surgiu o conceito de CIDR, trazendo soluções para algumas questões, incluindo a possibilidade de realizar supernetting (ou seja, apagar bits da direita para a esquerda) e tentar reduzir a quantidade de prefixos de rede. É importante destacar que o RFC 1338 também introduziu conceitos semelhantes.
Por fim, a notação de prefixo (/nn) também surgiu graças ao CIDR, o que foi possível, mais uma vez, devido à continuidade dos bits ligados e desligados da máscara de rede.
Em resumo, o objetivo do CIDR era desacelerar o crescimento das tabelas de roteamento e buscar maior eficiência no uso do espaço de endereços IP.
Timeline
Conclusões
O conceito de máscara de rede evoluiu significativamente desde sua origem, passando da sua inexistência, em um esquema plano (flat), para um modelo rígido e, posteriormente, para um modelo flexível com o CIDR. Inicialmente, as redes classful e as máscaras descontínuas geravam ineficiência e problemas de escalabilidade à medida que a Internet crescia.
Uma mudança fundamental foi a exigência de continuidade nos bits ativados, o que simplificou o processo de seleção de rotas e permitiu que os roteadores operassem de forma mais eficiente.
Este documento informativo destaca os marcos principais e as motivações por trás da evolução do endereçamento IP, enfatizando a importância de compreender o contexto histórico para valorizar plenamente a arquitetura atual da Internet.
Referências
RFC https://datatracker.ietf.org/doc/html/rfc1338
RFC https://datatracker.ietf.org/doc/html/rfc1380
RFC https://datatracker.ietf.org/doc/html/rfc1519
RFC https://datatracker.ietf.org/doc/html/rfc790
Lista de e-mails da ISOC “Internet History” intitulada “The netmask”: https://elists.isoc.org/pipermail/internet-history/2025-January/010060.html
As opiniões expressas pelos autores deste blog são próprias e não refletem necessariamente as opiniões de LACNIC.