IP-undernetberegner: CIDR, netmaske og værtsområde
Beregn oplysninger om et IPv4-undernet ud fra en adresse og et CIDR-præfiks: netværks- og broadcastadresse, interval for brugbare værtsadresser, netmaske og wildcardmaske.
IP Subnet Calculator
Results
Subnet Mask in Binary
Results follow RFC 791 (IPv4 addressing), RFC 4632 (CIDR notation), RFC 950 with RFC 919 and RFC 922 (network and broadcast reservation), and RFC 3021 (/31 point-to-point links).
Dokumentation
IP-undernetberegner
En IP-undernetberegner beregner netværksoplysningerne bag en IPv4-adresse og en præfikslængde. Ud fra disse to input finder den netværksadressen, broadcastadressen, området med brugbare værtsadresser, undernetmasken og jokertegnsmasken.
Hvad beregneren gør
Værktøjet tager en IPv4-adresse skrevet som fire tal adskilt af punktummer, f.eks. 192.168.1.10, og en præfikslængde fra 0 til 32. Det fungerer også at skrive de to sammen i CIDR-format, f.eks. 192.168.1.10/24: /24-delen flyttes automatisk ind i præfiksfeltet.
Beregneren returnerer:
- CIDR-notation: netværket i adresse/præfiks-form, f.eks. 192.168.1.0/24.
- Netværksadresse: den første adresse i blokken. Den angiver selve netværket.
- Broadcastadresse: den sidste adresse i blokken. En meddelelse, der sendes til den, når alle værter i undernettet.
- Område med brugbare værtsadresser: den første og sidste adresse, som en enhed faktisk kan bruge.
- Brugbare værter og samlet antal adresser: hvor mange adresser blokken indeholder, og hvor mange der er ledige til enheder.
- Undernetmaske og jokertegnsmaske: masken i punktumformat, f.eks. 255.255.255.0, og dens inverse, 0,0.0,255.
- Undernetmasken vist bit for bit, otte bit pr. oktet.
Resultaterne følger RFC 791 (IPv4-adressering), RFC 4632 (CIDR-notation), RFC 950 sammen med RFC 919 og RFC 922 (reservationerne af netværks- og broadcastadresser) samt RFC 3021 (/31 punkt-til-punkt-forbindelser).
Sådan fungerer subnetting
En IPv4-adresse er et tal på 32 bit. Den skrives som fire oktetter, hvor hver oktet er 8 bit og indeholder en værdi fra 0 til 255. Præfikslængden opdeler disse 32 bit i to dele. De første bit, så mange som præfikset angiver, identificerer netværket. De resterende bit identificerer en vært i dette netværk.
Et /24-netværk bruger 24 bit til netværksdelen og efterlader 8 bit til værter. Otte værtsbit giver 2⁸ = 256 adresser. Et /26-netværk efterlader kun 6 værtsbit, så det indeholder 2⁶ = 64 adresser.
Undernetmasken viser den samme opdeling som en adresse: en 1-bit for hver netværksbit og en 0-bit for hver værtsbit. For /24 er den 255,255.255,0. Jokertegnsmasken vender hver bit i undernetmasken. Adgangslister i routere, især på Cisco-udstyr, matcher adresser med jokertegnsmasker, og derfor viser værktøjet begge.
Undernetformlen
For en præfikslængde p mellem 0 og 30 anvender beregneren disse regler, som er defineret af RFC 950 og RFC 4632:
- Undernetmaske = de øverste p bit i ordet på 32 bit sat til 1.
- Netværksadresse = IP-adresse OG undernetmaske (en bitvis OG-operation beholder kun en bit, når begge input har en 1).
- Broadcastadresse = netværksadresse ELLER jokertegnsmaske (hver værtsbit sat til 1).
- Samlet antal adresser = 2⁽³²⁻ᵖ⁾.
- Brugbare værter = 2⁽³²⁻ᵖ⁾ − 2. Fratrækningen fjerner netværksadressen og broadcastadressen, som RFC 950 og RFC 919 reserverer.
- Første brugbare vært = netværksadresse + 1. Sidste brugbare vært = broadcastadresse − 1.
To præfikslængder følger andre regler. Et /31 indeholder præcis 2 adresser, og RFC 3021 gør begge til brugbare værter på en punkt-til-punkt-forbindelse uden nogen broadcastadresse. Et /32 identificerer én enkelt adresse: 1 i alt, 1 brugbar, ingen broadcastadresse. I disse to tilfælde kalder værktøjet den første adresse »Præfiksbasis« i stedet for »Netværksadresse«, eftersom ingen af blokkene reserverer en adresse til at identificere netværket.
Ethvert resultat kommer fra aritmetik på ét tal på 32 bit. Værktøjet oplister aldrig adresserne én for én, så et /0, der dækker alle 4.294.967.296 IPv4-adresser, beregnes lige så hurtigt som et /32.
Regneeksempel
For adressen 10.128.7.33 med præfikslængden /26:
- Undernetmaske: 26 ettaller efterfulgt af 6 nuller er 11111111,11111111.11111111,11000000, hvilket som adresse er 255,255.255,192.
- Netværksadresse: Udfør OG-operationen på adressen og masken. De første tre oktetter går uændret igennem. I den sidste oktet er 33 00100001 i binær notation; OG-operation med 11000000 giver 00000000, hvilket er 0. Netværksadressen er 10.128.7.0, så CIDR-notationen er 10.128.7.0/26.
- Broadcastadresse: Sæt alle 6 værtsbit til 1. Den sidste oktet bliver 00111111, hvilket er 63. Broadcastadressen er 10,128.7,63.
- Antal: 2⁶ = 64 adresser i alt, og 64 − 2 = 62 brugbare værter.
- Værtsområde: 10.128.7.1 til 10,128.7,62.
- Jokertegnsmaske: den inverse af undernetmasken, 0,0.0,63.
Et andet eksempel med værktøjets standardinput, 192.168.1.10/24: netværk 192.168.1.0, broadcast 192.168.1.255, værter 192.168.1.1 til 192.168.1.254, 254 brugbare værter ud af 256 i alt, undernetmaske 255.255.255.0, jokertegnsmaske 0,0.0,255.
Konventioner, som værktøjet følger
Oktetter med indledende nuller afvises. Værktøjet afviser 010.1.1.1 i stedet for at læse den som 10,1.1,1. POSIX-funktionen inet_aton, som ligger bag ping, curl og de fleste operativsystemers navneopslag, behandler en oktet med et indledende nul som oktal, så 010.1.1.1 betyder 8.1.1.1 for disse programmer. Ingen fortolkning som decimal eller oktal kan stemme overens med alle læsere, så værktøjet accepterer ingen af delene. Et præfiks skrevet som /08 afvises af samme grund.
Værtsantallet trækker to fra. Nogle beregnere angiver blokkens rå størrelse som værtsantal. Dette værktøj følger RFC 950: I enhver blok fra /0 til /30 identificerer værtsdelen med lutter nuller netværket, og værtsdelen med lutter ettaller er broadcastadressen, så begge udelades, og et /24 har 254 brugbare værter, ikke 256.
Et /31 har to brugbare værter. Ældre tekster, skrevet før RFC 3021 (udgivet i 2000), kalder et /31 ubrugeligt, fordi fratrækningen af de to reserverede adresser giver nul. RFC 3021 fjernede begge reservationer for punkt-til-punkt-forbindelser, og routere har understøttet dette i årtier, så værktøjet angiver 2 brugbare værter og ingen broadcastadresse.
Ethvert præfiks fra /0 til /32 accepteres. Et /0 er en gyldig blok, der dækker hele IPv4-adresserummet, svarende til at 0.0.0.0/0 optræder i routingtabeller som standardruten.
Kun IPv4. IPv6 (RFC 4291) bruger adresser på 128 bit og en anden notation og er ikke omfattet af dette værktøj. Værktøjet markerer heller ikke områder til særlige formål, f.eks. private adresser eller loopbackadresser (RFC 6890); det rapporterer kun adressearitmetikken.
Ofte stillede spørgsmål
Hvor mange brugbare værter har et /24? 254. Et /24 efterlader 8 værtsbit, hvilket giver 2⁸ = 256 adresser. To er reserverede: netværksadressen og broadcastadressen. Det efterlader 254 til enheder.
Hvad er en jokertegnsmaske? Den bitvise inverse af undernetmasken. Hvor undernetmasken har en 1, har jokertegnsmasken en 0, og omvendt. For masken 255.255.255.0 er jokertegnsmasken 0,0.0,255. Adgangskontrollister på mange routere bruger jokertegnsmasker til at beskrive, hvilke adresser en regel matcher.
Hvorfor viser et /31 ingen broadcastadresse? Et /31 indeholder kun to adresser. Hvis den ene reserveres til netværket og den anden til broadcast, er der ingen tilbage, så RFC 3021 definerer /31 som en punkt-til-punkt-forbindelse, hvor begge adresser er værter, og der ikke findes nogen broadcastadresse. Beregneren angiver 2 brugbare værter og markerer broadcast som ikke relevant.
Hvorfor afvises 010.1.1.1 i stedet for at blive læst som 10.1.1.1? Fordi operativsystemer er uenige i en almindelig decimal fortolkning. POSIX inet_aton læser en oktet med indledende nul som oktal, så 010 betyder 8 for de fleste systemer. Afvisning af inputtet er den eneste løsning, der ikke stiltiende kan afvige fra det, brugerens egen maskine ville gøre.
Hvad er forskellen mellem samlet antal adresser og brugbare værter? Samlet antal adresser er blokkens fulde størrelse, 2 opløftet til potensen (32 minus præfikslængden). Antallet af brugbare værter er dette tal minus de to reserverede adresser, undtagen i et /31 (begge er brugbare) og et /32 (den ene adresse er værten).
Hvad betyder netværksadressen for 192.168.1.10/24? Den er 192.168.1.0, fundet ved at bevare de første 24 bit i adressen og sætte værtsbittene til nul. Den identificerer undernettet som helhed og kan ikke tildeles en enhed.
Referencer
- Postel, J. »RFC 791: Internet Protocol.« IETF, 1981.
- Mogul, J. og J. Postel. »RFC 950: Internet Standard Subnetting Procedure.« IETF, 1985.
- Mogul, J. »RFC 919: Broadcasting Internet Datagrams.« IETF, 1984.
- Fuller, V. og T. Li. »RFC 4632: Classless Inter-domain Routing (CIDR).« IETF, 2006.
- Retana, A. m.fl. »RFC 3021: Using 31-Bit Prefixes on IPv4 Point-to-Point Links.« IETF, 2000.