Rekenen met ip-adressen
Gepubliceerd: Dinsdag 6 september 2011
Auteur: Koen Vervloesem
Iedere netwerkbeheerder zal wel eens wat rekenbewerkingen met ip-adressen moeten uitvoeren. Hierbij een programmaatje om je berekeningen foutloos uit te voeren.
Het programma ipcalc heeft een eenvoudige maar nuttige functie: op basis van een ip-adres en netmask de resulterende broadcast- en netwerkadressen en hostbereik berekenen, evenals nuttige cijfers zoals het maximale aantal hosts op het netwerk. Als je geen netmask opgeeft, kiest ipcalc het standaard netmask voor je klasse van netwerk. Een voorbeeld:
$ ipcalc 192.168.0.111
Address: 192.168.0.111 11000000.10101000.00000000. 01101111
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>Network: 192.168.0.0/24 11000000.10101000.00000000. 00000000
HostMin: 192.168.0.1 11000000.10101000.00000000. 00000001
HostMax: 192.168.0.254 11000000.10101000.00000000. 11111110
Broadcast: 192.168.0.255 11000000.10101000.00000000. 11111111
Hosts/Net: 254 Class C, Private Internet
De netmask kun je ingeven in CIDR-notatie of in volledige cijfers. Een voorbeeld in CIDR-notatie:
$ ipcalc 192.168.0.111/21
Address: 192.168.0.111 11000000.10101000.00000 000.01101111
Netmask: 255.255.248.0 = 21 11111111.11111111.11111 000.00000000
Wildcard: 0.0.7.255 00000000.00000000.00000 111.11111111
=>Network: 192.168.0.0/21 11000000.10101000.00000 000.00000000
HostMin: 192.168.0.1 11000000.10101000.00000 000.00000001
HostMax: 192.168.7.254 11000000.10101000.00000 111.11111110
Broadcast: 192.168.7.255 11000000.10101000.00000 111.11111111
Hosts/Net: 2046 Class C, Private Internet
Vooral voor netwerken van een niet-standaard-klasse is ipcalc handig om hieruit nuttige gegevens zoals de netmask, de host met het hoogste ip-adres of het maximale aantal hosts te bepalen.
Ipcalc heeft nog één handig trucje, voor als je een netwerk in verschillende subnets wil onderverdelen. Met de optie --s geef je dan op hoeveel hosts er in elk subnet moeten kunnen en dan rekent ipcalc de subnets eenvoudig voor je uit. Bijvoorbeeld:
$ ipcalc 10.1.0.0/16 --s 50 100 100 20
In de uitvoer geeft ipcalc de vier netwerken met de gevraagde grootte en welke adresruimtes er nog ongebruikt zijn.
Standaard toont ipcalc zijn uitvoer in kleur, maar dit kun je onderdrukken met de optie -n. En als je niet geïnteresseerd bent in de binaire voorstelling van alle adressen, kun je dit onderdrukken met -b. Met de optie -h geeft het programma zijn uitvoer overigens in een html-bestand, dat je dan op een webpagina kunt plaatsen. Voor wie met ipv6-adressen wil rekenen, schiet ipcalc overigens tekort; een alternatief met ipv6-ondersteuning is sipcalc.
De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.
