Como Parar de Calcular Máscaras de Sub-rede na Cabeça e Começar a Viver
Toda equipe tem aquela pessoa que responde "quantos endereços em /26?" na velocidade da calculadora e instantaneamente diz se 10.0.13.37 está dentro do intervalo 10.0.12.0/22. Eu não sou essa pessoa. Toda vez que preciso trabalhar com uma rede, abro o Python e começo a clicar em bits. Isso foi até eu descobrir o cidr.xyz.
O Que É Isso Aqui
cidr.xyz é uma calculadora CIDR e visualizador de sub-redes criada por um desenvolvedor conhecido como yuvadm. O projeto existe há um tempo: o repositório foi criado em dezembro de 2015, e desde então acumulou cerca de 850 estrelas e 238 forks. O serviço em si está em cidr.xyz e roda inteiramente no navegador.
A ideia é refrescantemente simples: você insere um endereço IP e máscara (tanto em notação CIDR quanto no formato clássico 255.255.255.0), e a página mostra instantaneamente tudo que você pode extrair desse par. A primeira linha após a entrada é um sufixo CIDR pronto para usar que você pode copiar direto para sua configuração.
O Que o Calculador Mostra
Deixe-me caminhar por um exemplo. Inserimos 10.0.13.37 com máscara /22. A saída nos dá:
- Endereço de rede e broadcast
- Primeiro e último endereço de host utilizável
- Número de hosts na sub-rede
- Endereço e máscara em binário, bit a bit
- Máscara curinga (aquela
0.0.3.255sem a qual você não consegue escrever ACLs) - Formato "intervalo de tudo" — a string familiar para configs do pfSense ou Cisco
- Máscara binária em forma decimal
Parece descrição de qualquer ipcalc, mas há uma coisa que diferencia o cidr.xyz de uma centena de ferramentas similares — visualização. Abaixo dos campos de entrada, uma grade de bits é desenhada: 32 bits de endereço e 32 bits de máscara, separados em octetos. Os bits responsáveis pela rede e host são destacados em cores diferentes.
E é aí que o momento de realização acontece. Antes, eu sabia que /22 significa 22 bits de rede, mas mantinha isso na minha cabeça como conhecimento abstrato. No cidr.xyz, você pode ver o limite entre as partes de rede e host saltando enquanto arrasta a máscara de /24 para /21. Você entende imediatamente por que 10.0.13.37/22 significa a rede 10.0.12.0 — o terceiro octeto 13 em binário é 00001101, e com uma máscara /22, os primeiros seis bits do terceiro octeto são congelados pela rede, os seis bits restantes são dados aos hosts. Nenhuma tabela te dá aquela sensação de "ah, é assim que funciona".
Para Quem Isso Serve
Em primeiro lugar, aqueles se preparando para entrevistas ou certificações. Questões sobre VLSM e subdivisão de rede aparecem no CCNA, e entender aritmética de bits realmente é necessário lá.
Em segundo lugar, admins e SREs trabalhando com configurações. Verificar rapidamente se a máscara curinga para uma ACL está calculada corretamente, se o intervalo 172.16.0.0/12 realmente termina em 172.31.255.255 — isso é uma tarefa de dez segundos.
Em terceiro lugar, todos os outros que encontram networking uma vez por mês e uma vez por mês esquecem como funciona. Eu estou nessa categoria.
Por Trás dos Panos
O projeto é escrito em TypeScript, usando React e Next.js. O README é minimalista ao extremo — apenas duas seções — mas é o suficiente para rodar uma cópia local:
npm install
npm run dev
Depois disso, a ferramenta está disponível em localhost:3000, e você pode fuçar no código ou personalizar para você. Por exemplo, eu estava pensando seriamente em adicionar cálculo de contagem de sub-redes ao dividir por um número dado. Esse é aquele caso raro onde a base de código é tão compacta que você pode realisticamente abrir um pull request em uma noite.
O deploy é automatizado: a branch master voa através do Cloudflare Workers. Licença MIT, então se quiser, você pode fazer um fork ou embedar em algum lugar.
Um Pouco de Crítica
Não há barril de mel sem uma colher de piche. A funcionalidade é adaptada para IPv4 — o calculador não aceita endereços IPv6. Se você vive no mundo de fd00::/8, essa ferramenta não vai te ajudar. A visualização binária também às vezes fica avassaladora: à primeira vista na tabela de bits piscando, é fácil pousar no lugar errado. E sim, 850 estrelas não é um milhão — o projeto é conhecido em círculos estreitos, mas não esquecido: o último commit na branch master foi recente, o repositório está vivo.
Vale a Pena Tentar
Absolutamente sim, se você: está se preparando para uma entrevista de rede; fazendo configurações para equipamentos de rede; quer finalmente entender visualmente como uma máscara de sub-rede corta o espaço de endereços. Apenas adicione cidr.xyz aos seus favoritos ao lado do tradutor — vai ser útil.
E se quiser algo mais, faça um fork do repositório e adicione suporte a IPv6. Vendo a compacticidade do código, é uma tarefa de fim de semana perfeitamente factível.
Projetos relacionados