IP-alamvõrgu kalkulaator: CIDR, võrgumask ja hostivahemik
Arvuta IPv4-alamvõrgu üksikasjad aadressi ja CIDR-prefiksi põhjal: võrgu- ja leviaadress, kasutatavate hostide vahemik, alamvõrgumask ja metamask.
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).
Dokumentatsioon
IP-alamvõrgu kalkulaator
IP-alamvõrgu kalkulaator arvutab IPv4-aadressi ja prefiksi pikkuse põhjal võrgu üksikasjad. Nende kahe sisendi põhjal leiab see võrguaadressi, leviedastusaadressi, kasutatavate hostiaadresside vahemiku, alamvõrgumaski ja metamärkmaski.
Mida kalkulaator teeb
Tööriist võtab vastu punktidega eraldatud nelja numbrina kirjutatud IPv4-aadressi, näiteks 192.168.1.10, ning prefiksi pikkuse vahemikus 0 kuni 32. Kahe väärtuse koos kirjutamine CIDR-kujul, näiteks 192.168.1.10/24, toimib samuti: /24-osa liigub automaatselt prefiksi välja.
Kalkulaator tagastab järgmised andmed:
- CIDR-märge: võrk aadressi ja prefiksi kujul, näiteks 192.168.1.0/24.
- Võrguaadress: ploki esimene aadress. See tähistab võrku ennast.
- Ringhäälinguaadress: ploki viimane aadress. Sellele saadetud sõnum jõuab iga alamvõrgu hostini.
- Kasutatavate hostiaadresside vahemik: esimene ja viimane aadress, mida seade saab tegelikult kasutada.
- Kasutatavad hostid ja aadresside koguarv: mitu aadressi plokk sisaldab ja mitu neist on seadmetele vabad.
- Alamvõrgu mask ja metamärgi mask: punktidega kirjutatud mask, näiteks 255.255.255.0, ning selle pöördmask 0,0.0,255.
- Alamvõrgumask bittidena, kaheksa bitti okteti kohta.
Tulemused järgivad RFC-d 791 (IPv4-adresseerimine), RFC-d 4632 (CIDR-märge), RFC-d 950 koos RFC-dega 919 ja 922 (võrgu- ja leviedastusaadresside reserveerimine) ning RFC-d 3021 (/31 punkt-punkti ühendused).
Kuidas alamvõrgustamine toimib
IPv4-aadress on 32-bitine arv. See kirjutatakse nelja oktetina, millest igaüks on 8 bitti ja sisaldab väärtust vahemikus 0 kuni 255. Prefiksi pikkus jagab need 32 bitti kaheks osaks. Esimesed bitid, nii palju kui prefiks näitab, tähistavad võrku. Ülejäänud bitid tähistavad selles võrgus olevat hosti.
/24-võrk kasutab võrguosa jaoks 24 bitti ja jätab hostidele 8 bitti. Kaheksa hostibitti annavad 2⁸ = 256 aadressi. /26-võrgus jääb hostidele ainult 6 bitti, seega sisaldab see 2⁶ = 64 aadressi.
Alamvõrgumask esitab sama jaotuse aadressina: iga võrgubiti väärtus on 1 ja iga hostibiti väärtus 0. /24 puhul on selleks 255,255.255,0. Metamärkmask pöörab alamvõrgumaski iga biti ümber. Ruuteri pääsuloendid, eriti Cisco seadmetes, võrdlevad aadresse metamärkmaskide abil, mistõttu näitab tööriist mõlemat maski.
Alamvõrgu valem
Prefiksi pikkuse p korral vahemikus 0 kuni 30 rakendab kalkulaator järgmisi RFC 950-s ja RFC 4632-s määratletud reegleid:
- Alamvõrgumask = 32-bitise sõna esimesed p bitti seatuna väärtusele 1.
- Võrguaadress = IP-aadress JA alamvõrgumask (bitikaupa JA jätab biti alles ainult siis, kui mõlemas sisendis on 1).
- Leviedastusaadress = võrguaadress VÕI metamärkmask (iga hostibitt seatuna väärtusele 1).
- Aadresside koguarv = 2⁽³²⁻ᵖ⁾.
- Kasutatavad hostid = 2⁽³²⁻ᵖ⁾ − 2. Lahutamine eemaldab võrguaadressi ja leviedastusaadressi, mille reserveerivad RFC 950 ja RFC 919.
- Esimene kasutatav host = võrguaadress + 1. Viimane kasutatav host = leviedastusaadress − 1.
Kahe prefiksi pikkuse korral kehtivad teistsugused reeglid. /31 sisaldab täpselt 2 aadressi ja RFC 3021 määrab mõlemad punkt-punkti ühenduse kasutatavateks hostideks, ilma leviedastusaadressita. /32 tähistab üht aadressi: 1 kokku ja 1 kasutatav, leviedastusaadress puudub. Nendel kahel juhul märgib tööriist esimese aadressi „Prefiksi baasiks”, mitte „võrguaadressiks”, sest kumbki plokk ei reserveeri aadressi võrgu tähistamiseks.
Iga tulemus saadakse ühe 32-bitise arvuga tehtavatest aritmeetilistest tehetest. Tööriist ei loetle aadresse ükshaaval, seega arvutab kogu 4 294 967 296 IPv4-aadressiruumi kattev /0 sama kiiresti kui /32.
Lahendatud näide
Aadressi 10.128.7.33 ja prefiksi pikkuse /26 korral:
- Alamvõrgumask: 26 ühtebitti, millele järgnevad 6 nullbitti, annavad 11111111,11111111.11111111,11000000, mis kümnendkujul on 255,255.255,192.
- Võrguaadress: aadressi ja maski bitikaupa JA-tehe. Esimesed kolm oktetti jäävad muutmata. Viimases oktetis on 33 kahendarvuna 00100001; JA-tehe väärtusega 11000000 annab 00000000, mis on 0. Võrguaadress on 10.128.7.0, seega on CIDR-märge 10.128.7.0/26.
- Ringhäälinguaadress: sea kõik 6 hostibitti väärtusele 1. Viimase okteti väärtuseks saab 00111111, mis on 63. Ringhäälinguaadress on 10,128.7,63.
- Loendused: 2⁶ = 64 aadressi kokku ning 64 − 2 = 62 kasutatavat hosti.
- Hostide vahemik: 10.128.7.1 kuni 10,128.7,62.
- Metamärgi mask: alamvõrgu maski pöördkuju, 0,0.0,63.
Teine näide tööriista vaikesisendiga 192.168.1.10/24: võrk 192.168.1.0, ringhäälinguaadress 192.168.1.255, hostid 192.168.1.1 kuni 192.168.1.254, 254 kasutatavat hosti kokku 256 aadressist, alamvõrgumask 255.255.255.0, metamärkmask 0,0.0,255.
Tööriista järgitavad kokkulepped
Nullidega täidetud oktetid lükatakse tagasi. Tööriist keeldub aadressist 010.1.1.1 ega tõlgenda seda kujul 10,1.1,1. See on tahtlik. POSIX-i funktsioon inet_aton, mida kasutavad ping, curl ja enamik operatsioonisüsteemide lahendajaid, käsitleb algusnulliga oktetti kaheksandarvuna, mistõttu tähendab 010.1.1.1 nendes programmides 8.1.1.1. Ükski kümnend- ega kaheksandkuju tõlgendus ei saa sobida kõigi lugejatega, seega ei aktsepteeri tööriist kumbagi. Samal põhjusel lükatakse tagasi ka kujul /08 kirjutatud prefiks.
Hostide arvust lahutatakse kaks. Mõned kalkulaatorid esitavad hostide arvuna ploki toorsuuruse. See tööriist järgib RFC-d 950: igas /0 kuni /30 plokis tähistab ainult nullidest koosnev hostiosa võrku ja ainult ühtedest koosnev hostiosa on leviedastus, seega jäetakse mõlemad välja ning /24-võrgus on 254 kasutatavat hosti, mitte 256.
/31-võrgul on kaks kasutatavat hosti. Vanemad tekstid, mis on kirjutatud enne RFC 3021 avaldamist 2000, nimetavad /31-võrku kasutuskõlbmatuks, sest kahe reserveeritud aadressi lahutamisel jääks järele null. RFC 3021 eemaldas punkt-punkti ühenduste korral mõlemad reservatsioonid ja ruuterid on seda juba aastakümneid toetanud, seega teatab tööriist 2 kasutatavast hostist ning leviedastusaadressi puudumisest.
Aktsepteeritakse kõiki prefikseid vahemikus /0 kuni /32. /0 on kehtiv plokk, mis hõlmab kogu IPv4-ruumi, kooskõlas sellega, kuidas 0.0.0.0/0 esineb marsruutimistabelites vaikemarsruudina.
Ainult IPv4. IPv6 (RFC 4291) kasutab 128-bitiseid aadresse ja teistsugust märget ning jääb selle tööriista käsitlusalast välja. Tööriist ei tuvasta ka eriotstarbelisi vahemikke, näiteks privaat- või loopback-aadresse (RFC 6890); see esitab ainult aadressiarvutuse tulemused.
Korduma kippuvad küsimused
Mitu kasutatavat hosti on /24-võrgus? 254. /24 jätab hostidele 8 bitti, mis annab 2⁸ = 256 aadressi. Kaks on reserveeritud: võrguaadress ja leviedastusaadress. Seadmetele jääb 254 aadressi.
Mis on metamärkmask? Alamvõrgumaski bitikaupa pöördkuju. Kui alamvõrgumaskis on 1, on metamärkmaskis 0, ja vastupidi. Maska 255.255.255.0 vastav metamärkmask on 0,0.0,255. Paljude ruuterite pääsuloendid kasutavad metamärke selle kirjeldamiseks, millistele aadressidele reegel rakendub.
Miks ei näita /31-võrk leviedastusaadressi? /31 sisaldab ainult kahte aadressi. Kui üks reserveerida võrgule ja teine leviedastusele, ei jääks midagi järele, seega määratleb RFC 3021 /31-võrgu punkt-punkti ühendusena, kus mõlemad aadressid on hostid ja leviedastusaadress puudub. Kalkulaator teatab 2 kasutatavast hostist ning märgib leviedastuse mittekohaldatavaks.
Miks lükatakse 010.1.1.1 tagasi, selle asemel et lugeda seda kujul 10.1.1.1? Sest operatsioonisüsteemid ei tõlgenda seda üheselt tavalise kümnendarvuna. POSIX-i inet_aton loeb algusnulliga oktetti kaheksandarvuna, seega tähendab 010 enamiku süsteemide jaoks 8. Sisendi tagasilükkamine on ainus lahendus, mis ei saa vaikselt erineda kasutaja enda arvuti käitumisest.
Mis vahe on aadresside koguarvul ja kasutatavatel hostidel? Aadresside koguarv on ploki täissuurus, 2 astmes (32 miinus prefiksi pikkus). Kasutatavate hostide arv on see arv, millest on lahutatud kaks reserveeritud aadressi, välja arvatud /31-võrgu korral (mõlemad aadressid on kasutatavad) ja /32-võrgu korral (üksik aadress on host).
Mida tähendab 192.168.1.10/24 võrguaadress? See on 192.168.1.0, mis saadakse aadressi esimese 24 biti säilitamisel ja hostibittide nulliks seadmisel. See tähistab alamvõrku tervikuna ning seda ei saa seadmele määrata.
Viited
- Postel, J. „RFC 791: Internet Protocol.” IETF, 1981.
- Mogul, J. ja J. Postel. „RFC 950: Internet Standard Subnetting Procedure.” IETF, 1985.
- Mogul, J. „RFC 919: Broadcasting Internet Datagrams.” IETF, 1984.
- Fuller, V. ja T. Li. „RFC 4632: Classless Inter-domain Routing (CIDR).” IETF, 2006.
- Retana, A. jt. „RFC 3021: IPv4 punkt-punkti ühendustes 31-bitiste prefiksite kasutamine.” IETF, 2000.