Kies bij “Modus” IPv4 of IPv6 en vul een IP-adres en een prefixlengte in. De pagina berekent het netwerkadres, het aantal hosts, het subnetmasker en meer, en tekent een bitdiagram.
Inhoudsopgave
-
Wat je op deze pagina kunt doen
-
Waarvoor is deze berekening handig?
-
Zo werkt het
-
Formule
-
Symbolen en begrippen
-
Handig om vooraf te weten
-
Berekenen met Excel
-
Berekenen met Google Spreadsheets
-
Berekenen met Python
-
De formule in LaTeX en andere wiskundenotaties (om te kopiëren)
-
Zo laat je ChatGPT de berekening doen
-
Kenmerken van DataChef
-
Gerelateerde functies
-
Alle rekenmachines van NumberChef
Wat je op deze pagina kunt doen
- Vul een IP-adres en een prefixlengte in (bijvoorbeeld 192.168.1.0 /24) en je ziet meteen het netwerkadres, het broadcastadres en het bereik van bruikbare host-IP’s
- Ook het totale aantal hosts, het aantal bruikbare hosts, het subnetmasker, het wildcardmasker, de CIDR-notatie, het ID als geheel getal en het hex-ID worden in één keer berekend
- Een bitdiagram kleurt de 32 bits van het IP-adres in naar netwerkdeel en hostdeel, zodat je ziet hoe subnetten werken
- Je kunt wisselen tussen de modi IPv4 en IPv6. In IPv6-modus berekent de pagina het netwerk, het adresbereik en het totale aantal adressen (\(2^{128-\text{prefixlengte}}\))
- Op deze pagina vind je ook een eenvoudige uitleg van de formules en formules om te kopiëren voor Excel, Google Spreadsheets en Python
Waarvoor is deze berekening handig?
Grote organisaties verdelen één IP-netwerk in kleinere subnetten per afdeling of locatie. Bijvoorbeeld: “om op de afdeling verkoop maximaal 60 apparaten aan te sluiten, wijs je een /26 toe, met 62 bruikbare hosts (\(2^{32-26}-2 = 62\))”. Je kiest de prefixlengte op basis van het aantal apparaten dat je nodig hebt.
Subnetten berekenen is een basisvaardigheid bij het ontwerpen van netwerken die netwerkbeheerders en infrastructuurengineers bijna dagelijks gebruiken.
“192.168.1.0/24” en “subnetmasker 255.255.255.0”, die je vaak ziet in de instellingen van een router thuis, zijn precies deze berekening. Een /24 heeft 254 bruikbare hosts, dus je kunt in totaal maximaal 254 apparaten aansluiten, zoals telefoons, computers en tv’s.
Het helpt ook als een apparaat geen verbinding maakt: je kunt controleren of het IP-adres in het juiste bereik (netwerk) valt.
Als je in de cloud je eigen privénetwerk maakt (zoals een AWS VPC), geef je het adresbereik op in CIDR-notatie, bijvoorbeeld “deze VPC is 10.0.0.0/16 en een subnet daarin is 10.0.1.0/24”. Bereiken die elkaar overlappen kunnen niet met elkaar praten, dus je moet de netwerkadressen en het aantal hosts goed berekenen.
Voor cloudengineers is subnetten berekenen een vaardigheid die je moet beheersen en het beginpunt voor het bouwen van een omgeving.
Certificeringen zoals Cisco CCNA en CompTIA Network+ en ICT-opleidingen in het mbo en hbo stellen steeds vragen als “Bereken bij dit IP-adres en dit subnetmasker het netwerkadres, het broadcastadres en het aantal bruikbare hosts”.
Binaire AND en OR en machten van 2, de vier formules op deze pagina, leveren precies die punten op. Met de stappen en het bitdiagram kun je oefenen door opgaven zelf uit te werken.
In firewallregels en toegangscontrolelijsten (ACL’s), zoals “laat alleen verkeer van dit subnet toe”, geef je de adressen die je toestaat of blokkeert samen op in CIDR-notatie (bijvoorbeeld 192.168.10.0/24). Als je het netwerkadres en het bereik verkeerd hebt, blokkeer je per ongeluk verkeer of open je per ongeluk een gat.
In de beveiliging is deze berekening de basis om bereiken op te geven die precies kloppen, niet breder en niet smaller.
Formule
Symbolen en begrippen
Symbolen
| \(N\) | Het netwerkadres, het eerste adres van het netwerk (alle hostbits 0). Je gebruikt het als naam van het netwerk zelf. |
| \(B\) | Het broadcastadres, het laatste adres van het netwerk (alle hostbits 1). Je gebruikt het om in één keer naar alle apparaten in het netwerk te sturen. |
| \(W\) | Het wildcardmasker, het subnetmasker met nullen en enen omgewisseld. De hostbits zijn allemaal 1, en je gebruikt het om het broadcastadres te vinden en in toegangscontrolelijsten. |
| \(p\) | De prefixlengte, de “24” in “/24”. Ze geeft aan uit hoeveel bits het netwerkdeel bestaat. (De letter komt van “prefix”.) |
| \(H\) | Het totale aantal hosts, het totale aantal adressen in het netwerk, \(H = 2^{32-p}\). (De letter komt van “host”.) |
| \(U\) | Het aantal bruikbare hosts, het aantal adressen dat je echt aan apparaten kunt geven. Het is het totaal min 2 (het netwerkadres en het broadcastadres). |
| \(\land\) | Logische AND (conjunctie). De uitkomst is alleen 1 als beide bits 1 zijn. Je gebruikt het om het netwerkadres te vinden. |
| \(\lor\) | Logische OR (disjunctie). De uitkomst is 1 als een van de twee bits 1 is. Je gebruikt het om het broadcastadres te vinden. |
Begrippen
| subnet | Elk van de kleinere netwerken waarin een groot IP-netwerk is verdeeld. Een netwerk verdelen per afdeling of locatie (subnetten) maakt het makkelijker te beheren en veiliger. |
| subnetmasker | Een waarde van 32 bits die laat zien waar het netwerkdeel van een IP-adres eindigt en het hostdeel begint. Ze heeft enen voor de netwerkbits en nullen voor de hostbits (bijvoorbeeld 255.255.255.0). |
| prefixlengte | Het aantal netwerkbits. Je schrijft het als “/24” en het bevat dezelfde informatie als het subnetmasker, maar korter. |
| CIDR | Classless Inter-Domain Routing, meestal uitgesproken als het Engelse woord “cider”. Een methode om netwerken vrij te verdelen met de prefixlengte in plaats van met klassen, geschreven met een schuine streep, zoals “192.168.1.0/24”. Het is de standaard op het internet van nu. |
| netwerkadres | Het eerste adres van het netwerk (alle hostbits 0). Je geeft het niet aan een apparaat, maar gebruikt het als naam van het netwerk zelf. |
| broadcastadres | Het laatste adres van het netwerk (alle hostbits 1). Het is een speciaal adres om tegelijk naar alle apparaten in het netwerk te sturen. |
| wildcardmasker | Het subnetmasker met omgedraaide bits. De hostbits zijn allemaal 1. Het wordt gebruikt om het broadcastadres te berekenen en in toegangscontrolelijsten (ACL’s) van routers. |
| octet | Een van de vier delen van een IPv4-adres, gescheiden door punten (8 bits, 0 tot en met 255). In 192.168.1.0 zijn “192”, “168”, “1” en “0” elk één octet. |
| privé-IP-adres | Een IP-adres dat is gereserveerd voor gebruik binnen een huis of organisatie (10.0.0.0 tot en met 10.255.255.255, 172.16.0.0 tot en met 172.31.255.255 en 192.168.0.0 tot en met 192.168.255.255, vastgelegd in RFC 1918). Op het internet kun je het niet zomaar gebruiken. Een adres dat op het hele internet werkt, heet een publiek IP-adres. |
| IP-klasse | Een ouder systeem, gebruikt voordat CIDR gangbaar werd, waarbij de grootte van een netwerk werd bepaald door het eerste getal (het eerste octet), als klasse A, B, C enzovoort. Het wordt niet meer gebruikt voor routering, maar de termen bestaan nog, dus deze pagina toont ook de klasse. |
| IPv4 | Het adresseringssysteem van 32 bits (ongeveer 4,3 miljard adressen), het meest gebruikte. Dit is ook waar deze pagina zich vooral op richt. |
| IPv6 | Het nieuwere adresseringssysteem van 128 bits, met praktisch onbeperkt veel adressen. Het is bedacht om het tekort aan IPv4-adressen op te lossen. |
| bit | De kleinste eenheid van informatie, 0 of 1. Een IPv4-adres bestaat uit 32 bits en een IPv6-adres uit 128 bits. |
Handig om vooraf te weten
Dit helpt je om de berekening op deze pagina echt te begrijpen.
| Binair en decimaal (informatica, bovenbouw havo en vwo, 15-18 jaar) |
|
| Machten en exponenten (klas 1-2, 12-14 jaar) |
|
| Logische bewerkingen AND en OR (informatica, bovenbouw havo en vwo, 15-18 jaar) |
|
| Bits en bytes (informatica, bovenbouw havo en vwo, 15-18 jaar) |
|
Berekenen met Excel
| Prefixlengte p | 24 |
| Hostbits (32−p) | =32-B1 |
| Totaal aantal hosts | =2^B2 |
| Bruikbare hosts | =MAX(B3-2;0) |
| Prefixlengte p | 24 |
| Subnetmasker als geheel getal | =(2^32)-(2^(32-B1)) |
| Eerste octet | =INTEGER(B2/16777216) |
| Tweede octet | =INTEGER(REST(B2;16777216)/65536) |
| Derde octet | =INTEGER(REST(B2;65536)/256) |
| Vierde octet | =REST(B2;256) |
De tweede tabel splitst het subnetmasker in de vier octetten (0 tot en met 255). B2 berekent het hele masker als één geheel getal, en B3 t/m B6 halen elk octet eruit met quotiënten en resten van delingen door machten van 256. Bij /24 is de uitkomst 255.255.255.0.
Berekenen met Google Spreadsheets
| Prefixlengte p | 24 |
| Hostbits (32−p) | =32-B1 |
| Totaal aantal hosts | =2^B2 |
| Bruikbare hosts | =MAX(B3-2;0) |
| Prefixlengte p | 24 |
| Subnetmasker als geheel getal | =(2^32)-(2^(32-B1)) |
| Eerste octet | =INTEGER(B2/16777216) |
| Tweede octet | =INTEGER(REST(B2;16777216)/65536) |
| Derde octet | =INTEGER(REST(B2;65536)/256) |
| Vierde octet | =REST(B2;256) |
Berekenen met Python
import ipaddress
ip = "192.168.10.130" # IP-adres
prefix = 24 # prefixlengte (de 24 in /24)
net = ipaddress.ip_network(f"{ip}/{prefix}", strict=False)
total = net.num_addresses # totaal aantal hosts = 2 ** (32 - prefix)
usable = max(total - 2, 0) # bruikbare hosts (0 bij /31 en /32)
print(f"Netwerkadres: {net.network_address}")
print(f"Broadcastadres: {net.broadcast_address}")
print(f"Subnetmasker: {net.netmask}")
print(f"Wildcardmasker: {net.hostmask}")
print(f"Totaal aantal hosts: {total}")
print(f"Bruikbare hosts: {usable}")
De formule in LaTeX en andere wiskundenotaties (om te kopiëren)
N = IP ∧ mask
N = \mathrm{IP} \land \mathrm{mask}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi>
<mo>=</mo>
<mi>IP</mi>
<mo>∧</mo>
<mi>mask</mi>
</mrow>
</math>
N = IP ^^ mask
BitAnd[ip, mask]
N := Bits:-And(ip, mask);
N = bitand(ip, mask);
N = IP ∧ mask
B = N ∨ W
B = N \lor W
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>B</mi>
<mo>=</mo>
<mi>N</mi>
<mo>∨</mo>
<mi>W</mi>
</mrow>
</math>
B = N vv W
BitOr[network, wildcard]
B := Bits:-Or(network, wildcard);
B = bitor(network, wildcard);
B = N ∨ W
H = 2^(32 − p)
H = 2^{32 - p}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>H</mi>
<mo>=</mo>
<msup>
<mn>2</mn>
<mrow><mn>32</mn><mo>−</mo><mi>p</mi></mrow>
</msup>
</mrow>
</math>
H = 2^(32 - p)
2^(32 - p)
H := 2^(32 - p);
H = 2^(32 - p);
H = 2^(32-p)
U = H − 2
U = H - 2
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>U</mi>
<mo>=</mo>
<mi>H</mi>
<mo>−</mo>
<mn>2</mn>
</mrow>
</math>
U = H - 2
H - 2
U := H - 2;
U = H - 2;
U = H - 2
Zo laat je ChatGPT de berekening doen
Je bent een rekenassistent voor netwerken. Voer de volgende berekening uit door echt Python-code uit te voeren (de module ipaddress uit de standaardbibliotheek), en baseer je antwoord alleen op de getallen uit het resultaat van de uitvoering (geef geen antwoord op basis van hoofdrekenen of gokken). Bereken voor het IPv4-adres 192.168.10.130 met een prefixlengte van /24: 1. Het netwerkadres 2. Het broadcastadres 3. Het subnetmasker en het wildcardmasker 4. Het totale aantal hosts en het aantal bruikbare hosts Laat de code zien die je hebt gebruikt en de getallen uit het resultaat van de uitvoering.
Zo werkt het
-
1Vul je getallen inTyp de getallen waarmee je wilt rekenen in de invoervelden
-
2BerekenKlik op de knop “Berekenen”
-
3Bekijk het resultaatHet resultaat verschijnt meteen. Op dezelfde pagina vind je ook de uitwerking van de berekening en de uitleg van de formule
Kenmerken van DataChef
Geen voorkennis nodig – intuïtieve en eenvoudige bediening
Zonder persoonlijke gegevens op te geven
Bestand wordt automatisch verwijderd zodra je op "Downloaden" klikt
Geen bronvermelding vereist
Geen toestemming vooraf nodig