Utviklere

Slik Beregner Du en Nettmaske (CIDR Forklart med et Praktisk Eksempel)

7 min lesetid

For å beregne en nettmaske fra et CIDR-prefiks setter du like mange biter til 1 fra venstre i et 32-bits tall, fyller resten med 0, og leser hver 8-bits gruppe tilbake som et desimaltall. Et /24-prefiks setter de første 24 bitene til 1, noe som blir 255.255.255.0.

Hva CIDR-tallet faktisk betyr

En IPv4-adresse er 32 biter, skrevet som fire 8-bits grupper (oktetter) i desimalform. CIDR-notasjon, skråstreken og tallet etter en adresse som 192.168.1.0/24, forteller deg hvor mange av de 32 bitene som er låst fast som nettverksdelen. Bitene som er igjen tilhører hostene på det nettverket.

En /24 låser de første 24 bitene og lar 8 biter være igjen til hoster. En /26 låser 26 biter og lar bare 6 være igjen. Jo færre bit som er igjen til hoster, desto færre enheter kan nettverket romme, og matematikken bak dette er rett og slett en toerpotens: et nettverk med h host-biter har 2^h adresser totalt.

Regn ut masken for hånd: 192.168.1.0/24

Ta CIDR-prefikset, 24, og skriv ut et 32-bits tall der de første 24 bitene er satt til 1 og de siste 8 til 0:

11111111.11111111.11111111.00000000

Konverter hver 8-bits gruppe til desimal. Åtte 1-tall på rad blir 255, og åtte 0-tall blir 0:

255 . 255 . 255 . 0

Det er nettmasken: 255.255.255.0. For å finne nettverksadressen stiller du opp IP-adressen og masken i binærform og utfører en bitvis AND, bit for bit, der du beholder en 1 bare når begge har en 1:

Oktett 1Oktett 2Oktett 3Oktett 4
IP-adresse11000000101010000000000100000000
Nettmaske11111111111111111111111100000000
Nettverk (AND)11000000101010000000000100000000

Det gir en nettverksadresse på 192.168.1.0, uendret i dette tilfellet fordi host-delen av den opprinnelige adressen allerede besto av bare nuller. Broadcast-adressen er den motsatte operasjonen: ta nettverksadressen og sett hver host-bit til 1, noe som her gir 192.168.1.255. Alt mellom, 192.168.1.1 til 192.168.1.254, er en brukbar host-adresse. Det er 256 adresser totalt i blokken, minus 2 reserverte (nettverksadressen og broadcast-adressen), som gir 254 brukbare hoster.

Del en /24 opp i fire /26-subnett

Si at du har 192.168.1.0/24 og trenger å dele det opp i fire mindre, separate nettverk, kanskje ett per etasje på et kontor. Å gå fra /24 til /26 låner 2 ekstra biter til nettverksdelen (26 − 24 = 2), og 2 lånte biter gir alltid 2^2 = 4 like store subnett. Hvert /26-subnett har 32 − 26 = 6 host-biter igjen, så hvert av dem rommer 2^6 = 64 adresser totalt, 62 av dem brukbare.

SubnettNettverksadresseBrukbart områdeBroadcast
1192.168.1.0/26192.168.1.1192.168.1.62192.168.1.63
2192.168.1.64/26192.168.1.65192.168.1.126192.168.1.127
3192.168.1.128/26192.168.1.129192.168.1.190192.168.1.191
4192.168.1.192/26192.168.1.193192.168.1.254192.168.1.255

Legg merke til at hver nettverksadresse hopper med 64, blokkstørrelsen, og at broadcast-adressen til hvert subnett alltid er nøyaktig én mindre enn nettverksadressen til det neste. Dette mønsteret holder uansett hvilket prefiks du deler opp i: blokkstørrelsen er alltid 2^h der h er antall host-biter som er igjen, og subnettene fyller adresserommet uten hull og uten overlapp.

CIDR-til-nettmaske referansetabell

En jukselapp for prefiksene du faktisk kommer borti, fra en enkelt /32-hostrute opp til en /8-blokk:

CIDRNettmaskeAdresser totaltBrukbare hoster
/8255.0.0.016 777 21616 777 214
/16255.255.0.065 53665 534
/24255.255.255.0256254
/25255.255.255.128128126
/26255.255.255.1926462
/27255.255.255.2243230
/28255.255.255.2401614
/29255.255.255.24886
/30255.255.255.25242
/31255.255.255.25422 (punkt-til-punkt)
/32255.255.255.25511 (hostrute)

Beregn med din egen adresse

Skriv inn en hvilken som helst IPv4-adresse og et CIDR-prefiks eller en maske nedenfor, og nedbrytingen, nettverksadressen, broadcast, det brukbare området og masken i binærform oppdateres mens du skriver.

IPv4 Subnettkalkulator (CIDR)
Gratis, ingen registrering, fungerer på alle enheter.
Åpne hele verktøyet

Vanlige feil og spesialtilfeller

Å glemme at nettverks- og broadcast-adressen ikke er brukbare hoster. En /24 har 256 adresser totalt, men bare 254 du faktisk kan tildele en enhet. Det er en vanlig off-by-one-feil å planlegge kapasitet ut fra det totale antallet adresser i stedet for det brukbare antallet, og deretter gå tom for plass to adresser tidligere enn ventet.

Å behandle /31 og /32 som alle andre prefikser. RFC 3021 gjør /31 til et spesialtilfelle for punkt-til-punkt-lenker: begge adressene i paret er brukbare, siden en 2-adresseblokk ikke har plass til å sette av én til broadcast. En /32 er en enkeltstående adresse, oftest sett som en hostrute eller en loopback-adresse, og den har ingen nettverks- eller broadcast-adresse å trekke fra i det hele tatt.

Å blande sammen nettmasken og wildcard-masken. Nettmasken markerer nettverksbiter med 1-tall, 255.255.255.0 for en /24. Wildcard-masken er det bitvise motstykket, og markerer i stedet host-biter med 1-tall, 0.0.0.255 for den samme /24. Wildcard-masker dukker opp i access control lists på Cisco-utstyr og lignende, og hvis du skriver inn en nettmaske der en enhet forventer en wildcard-maske (eller omvendt), matcher den stille og rolig feil sett med adresser.

Å anta at en nettmaske alltid er en gyldig, sammenhengende rekke av 1-tall. En maske som 255.0.255.0 ser plausibel ut ved første øyekast, men er ugyldig: 1-bitene danner ikke en enkelt, ubrutt blokk fra venstre, så den kan ikke uttrykkes som et CIDR-prefiks i det hele tatt. Ekte nettmasker består alltid av et visst antall ledende 1-biter etterfulgt av avsluttende 0-biter, og ikke noe annet.

Ofte stilte spørsmål

Hvordan konverterer jeg en nettmaske tilbake til et CIDR-prefiks? Tell antall 1-biter i masken, lest fra venstre til høyre i binærform. 255.255.255.0 er 11111111.11111111.11111111.00000000, som har 24 ettall, så det er en /24. Dette fungerer bare rent når masken er en gyldig, sammenhengende rekke av 1-tall etterfulgt av 0-tall; en maske som 255.0.255.0 har ingen CIDR-tilsvarighet fordi bitene ikke er sammenhengende.

Hvorfor gir det alltid en toerpotens å låne biter til subnett? Hver bit du låner fra host-delen dobler antall mulige verdier den biten kan representere, 0 eller 1. Lån 1 bit og du får 2 subnett, lån 2 og du får 4, lån 3 og du får 8. Det er samme grunn til at en byte (8 biter) kan representere 256 forskjellige verdier: hver ekstra bit dobler antallet.

Hva er forskjellen på en nettmaske og en standard-gateway? En nettmaske forteller en enhet hvilken del av en IP-adresse som er nettverket og hvilken del som er hosten, slik at den kan avgjøre om en annen adresse befinner seg på dens eget lokale nettverk. En standard-gateway er en egen innstilling, IP-adressen til ruteren en enhet sender trafikk til når målet ikke er på det lokale nettverket. Du trenger begge deler riktig konfigurert for at en enhet skal nå noe utenfor sitt eget subnett.

Kan jeg dele opp med et prefiks som ikke går jevnt opp, for eksempel splitte en /24 i 3 nettverk? Ikke i nøyaktig 3 like store deler, nei, fordi subnetting alltid deler en blokk i en toerpotens. Å dele opp en /24 gir deg 2, 4, 8, 16 og så videre, aldri 3. I praksis betyr dette at du ville delt opp i 4 (ved å låne 2 biter) og enten latt en /26 stå ubrukt eller delt den videre for en mindre avdeling, i stedet for å prøve å tvinge frem en eksakt 3-veis splitt.

SubnettCIDRIPv4Nettverk
IPv4 Subnettkalkulator (CIDR)
Prøv det nå selv med hele verktøyet.
Prøv nå