Hoe je stopt met subnetmaskers in je hoofd uitrekenen en gaat genieten van het leven
Elk team heeft die persoon die "hoeveel adressen in /26?" beantwoordt met rekenmachine-snelheid en je direct vertelt of 10.0.13.37 binnen het 10.0.12.0/22-bereik valt. Dat ben ik niet. Elke keer dat ik met een netwerk moet werken, open ik Python en begin ik bits te klikken. Dat was tot ik cidr.xyz ontdekte.
Wat is dit ding eigenlijk
cidr.xyz is een CIDR-calculator en subnet-visualisatietool gemaakt door een ontwikkelaar bekend als yuvadm. Het project bestaat al een tijdje: de repository werd gemaakt in december 2015, en sindsdien heeft het ongeveer 850 sterren en 238 forks verzameld. De service zelf draait op cidr.xyz en werkt volledig in de browser.
Het idee is verfrissend eenvoudig: je voert een IP-adres en masker in (ofwel in CIDR-notatie of de klassieke 255.255.255.0-indeling), en de pagina toont direct alles wat je uit dat paar kunt halen. De eerste regel na de invoer is een kant-en-klaar CIDR-achtervoegsel dat je rechtstreeks in je configuratie kunt kopiëren.
Wat de calculator toont
Laat me een voorbeeld doorlopen. We voeren 10.0.13.37 in met masker /22. De output geeft ons:
- Netwerk- en broadcastadres
- Eerste en laatste bruikbare hostadres
- Aantal hosts in het subnet
- Adres en masker binair, bit voor bit
- Wildcard-masker (dat
0.0.3.255waar je geen ACL's mee kunt schrijven) - "Bereik van alles"-formaat — de vertrouwde string voor pfSense- of Cisco-configuraties
- Binair masker in decimale vorm
Klinkt als elke ipcalc-beschrijving, maar er is één ding dat cidr.xyz onderscheidt van honderd vergelijkbare tools — visualisatie. Onder de invoervelden wordt een bitgrid getekend: 32 bits adres en 32 bits masker, opgesplitst in octetten. De bits verantwoordelijk voor netwerk en host zijn in verschillende kleuren gemarkeerd.
En dat is het moment van besef. Voorheen wist ik dat /22 22 netwerkbits betekent, maar ik bewaarde dat in mijn hoofd als abstracte kennis. Op cidr.xyz kun je de grens tussen netwerk- en hostgedeelte zien verschuiven terwijl je het masker van /24 naar /21 sleept. Je begrijpt direct waarom 10.0.13.37/22 het 10.0.12.0-netwerk betekent — het derde octet 13 is binair 00001101, en met een /22-masker zijn de eerste zes bits van het derde octet bevroren door het netwerk, de overige zes bits zijn voor hosts. Geen tabel geeft je dat "oh, zo zit het dus"-gevoel.
Voor wie is dit
Allereerst degenen die zich voorbereiden op interviews of certificeringen. Vragen over VLSM en netwerkverdeling komen voor in CCNA, en begrip van bit-rekenkunde is daar echt noodzakelijk.
Ten tweede, admins en SRE's die met configuraties werken. Snel verifiëren dat het wildcard-masker voor een ACL correct is berekend, dat het 172.16.0.0/12-bereik eigenlijk eindigt bij 172.31.255.255 — dat is een taak van tien seconden.
Ten derde, iedereen die maandelijks met netwerken te maken krijgt en maandelijks vergeet hoe het werkt. Ik val in deze categorie.
Onder de motorkap
Het project is geschreven in TypeScript, met gebruik van React en Next.js. De README is minimaal tot het extreme — slechts twee secties — maar dat is genoeg om een lokale kop te draaien:
npm install
npm run dev
Daarna is de tool beschikbaar op localhost:3000, en kun je in de code duiken of het voor jezelf aanpassen. Bijvoorbeeld, ik dacht er serieus over na om subnet-aantal-berekening toe te voegen bij deling door een bepaald getal. Dit is dat zeldzame geval waarbij de codebase zo compact is dat je realistisch gezien een pull request in een avond kunt indienen.
Deployment is geautomatiseerd: de master-branch vliegt via Cloudflare Workers. MIT-licentie, dus als je wilt, kun je het forkken of ergens inbedden.
Een beetje kritiek
Geen vat honing zonder een lepel teer. De functionaliteit is afgestemd op IPv4 — de calculator accepteert geen IPv6-adressen. Als je in de wereld van fd00::/8 leeft, zal deze tool je niet helpen. De binaire visualisatie wordt soms ook overweldigend: bij een blik op de knipperende bit-tabel is het makkelijk om op de verkeerde plek te belanden. En ja, 850 sterren is geen miljoen — het project is bekend in kleine kringen, maar niet vergeten: de laatste commit naar de master-branch was recent, de repository leeft.
Is het de moeite waard om te proberen
Absoluut ja, als je: je voorbereidt op een netwerk-interview; configuraties maakt voor netwerkapparatuur; eindelijk visueel wilt begrijpen hoe een subnetmasker de adresruimte opdeelt. Voeg gewoon cidr.xyz toe aan je bladwijzers naast de vertaler — het komt van pas.
En als je meer wilt, fork de repository en voeg IPv6-ondersteuning toe. Gezien de compactheid van de code is het een perfect haalbare weekendklus.
Gerelateerde projecten