Kalkulator Subrangkaian IP: CIDR, Topeng Rangkaian & Julat Hos
Kira butiran subrangkaian IPv4 daripada alamat dan awalan CIDR: alamat rangkaian dan siaran, julat hos boleh guna, topeng rangkaian serta topeng wildcard.
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).
Dokumentasi
Kalkulator Subrangkaian IP
Kalkulator subrangkaian IP mengira butiran rangkaian di sebalik alamat IPv4 dan panjang awalan. Daripada dua input ini, ia mencari alamat rangkaian, alamat siaran, julat alamat hos yang boleh digunakan, topeng subrangkaian dan topeng kad bebas.
Fungsi kalkulator
Alat ini menerima alamat IPv4 yang ditulis sebagai empat nombor yang dipisahkan oleh titik, seperti 192.168.1.10, serta panjang awalan daripada 0 hingga 32. Menulis kedua-duanya bersama dalam bentuk CIDR, seperti 192.168.1.10/24, juga berfungsi: bahagian /24 dipindahkan ke medan awalan secara automatik.
Kalkulator ini memulangkan:
- Notasi CIDR: rangkaian dalam bentuk alamat/awalan, seperti 192.168.1.0/24.
- Alamat rangkaian: alamat pertama dalam blok. Alamat ini menamakan rangkaian itu sendiri.
- Alamat siaran: alamat terakhir dalam blok. Mesej yang dihantar kepadanya sampai kepada setiap hos dalam subrangkaian.
- Julat hos yang boleh digunakan: alamat pertama dan terakhir yang sebenarnya boleh digunakan oleh peranti.
- Hos yang boleh digunakan dan jumlah alamat: bilangan alamat dalam blok dan bilangan alamat yang tersedia untuk peranti.
- Topeng subrangkaian dan topeng kad bebas: topeng dalam bentuk bertitik, seperti 255.255.255.0, serta songsangnya, 0.0.0.255.
- Topeng subrangkaian yang dihuraikan bit demi bit, lapan bit bagi setiap oktet.
Hasilnya mengikut RFC 791 (pengalamatan IPv4), RFC 4632 (notasi CIDR), RFC 950 bersama RFC 919 dan RFC 922 (tempahan rangkaian dan siaran), serta RFC 3021 (pautan titik ke titik /31).
Cara subnet berfungsi
Alamat IPv4 ialah nombor 32 bit. Alamat ini ditulis sebagai empat oktet, dengan setiap oktet mempunyai 8 bit dan menyimpan nilai daripada 0 hingga 255. Panjang awalan membahagikan 32 bit itu kepada dua bahagian. Bit pertama, sebanyak yang ditentukan oleh awalan, menamakan rangkaian. Bit yang selebihnya menamakan hos dalam rangkaian tersebut.
Rangkaian /24 menyimpan 24 bit untuk bahagian rangkaian dan meninggalkan 8 bit untuk hos. Lapan bit hos memberikan 2⁸ = 256 alamat. Rangkaian /26 hanya meninggalkan 6 bit hos, maka ia mempunyai 2⁶ = 64 alamat.
Topeng subrangkaian menulis pembahagian yang sama sebagai alamat: bit 1 bagi setiap bit rangkaian dan bit 0 bagi setiap bit hos. Bagi /24, nilainya ialah 255.255.255.0. Topeng kad bebas membalikkan setiap bit topeng subrangkaian. Senarai kawalan akses penghala, khususnya pada peralatan Cisco, memadankan alamat menggunakan topeng kad bebas, sebab itu alat ini memaparkan kedua-duanya.
Formula subrangkaian
Bagi panjang awalan p antara 0 dan 30, kalkulator menggunakan peraturan berikut, yang ditakrifkan oleh RFC 950 dan RFC 4632:
- Topeng subnet = p bit teratas bagi perkataan sepanjang 32 bit yang ditetapkan kepada 1.
- Alamat rangkaian = alamat IP DAN topeng subrangkaian (operasi DAN bit demi bit mengekalkan bit hanya apabila kedua-dua input mempunyai 1).
- Alamat siaran = alamat rangkaian ATAU topeng kad bebas (setiap bit hos ditetapkan kepada 1).
- Jumlah alamat = 2⁽³²⁻ᵖ⁾.
- Hos yang boleh digunakan = 2⁽³²⁻ᵖ⁾ − 2. Penolakan ini mengeluarkan alamat rangkaian dan alamat siaran yang ditempah oleh RFC 950 dan RFC 919.
- Hos pertama yang boleh digunakan = alamat rangkaian + 1. Hos terakhir yang boleh digunakan = alamat siaran − 1.
Dua panjang awalan menggunakan peraturan yang berbeza. /31 mempunyai tepat 2 alamat dan RFC 3021 menjadikan kedua-duanya hos yang boleh digunakan pada pautan titik ke titik, tanpa alamat siaran. /32 menamakan satu alamat: 1 jumlah, 1 boleh digunakan, tanpa siaran. Untuk kedua-dua kes ini, alat melabelkan alamat pertama sebagai "Asas Awalan" dan bukannya "Alamat Rangkaian", kerana tiada alamat yang ditempah dalam mana-mana blok untuk menamakan rangkaian.
Setiap hasil datang daripada aritmetik pada satu nombor 32 bit. Alat ini tidak pernah menyenaraikan alamat satu demi satu, jadi /0 yang meliputi semua 4,294,967,296 alamat IPv4 dikira sepantas /32.
Contoh yang diselesaikan
Bagi alamat 10.128.7.33 dengan panjang awalan /26:
- Topeng subrangkaian: 26 bit satu diikuti oleh 6 bit sifar ialah 11111111.11111111.11111111.11000000, yang dibaca sebagai 255.255.255.192.
- Alamat rangkaian: Lakukan operasi DAN antara alamat dengan topeng. Tiga oktet pertama kekal tanpa perubahan. Dalam oktet terakhir, 33 ialah 00100001 dalam binari; operasi DAN dengan 11000000 memberikan 00000000, iaitu 0. Alamat rangkaian ialah 10.128.7.0, maka notasi CIDR ialah 10.128.7.0/26.
- Alamat siaran: tetapkan semua 6 bit hos kepada 1. Oktet terakhir menjadi 00111111, iaitu 63. Alamat siaran ialah 10.128.7.63.
- Kiraan: 2⁶ = 64 jumlah alamat, dan 64 − 2 = 62 hos yang boleh digunakan.
- Julat hos: 10.128.7.1 hingga 10.128.7.62.
- Topeng kad bebas: songsangan topeng subrangkaian, 0.0.0.63.
Contoh kedua menggunakan input lalai alat, 192.168.1.10/24: rangkaian 192.168.1.0, siaran 192.168.1.255, hos 192.168.1.1 hingga 192.168.1.254, 254 hos yang boleh digunakan daripada 256 jumlah alamat, topeng subrangkaian 255.255.255.0, dan topeng kad bebas 0.0.0.255.
Konvensyen yang diikuti alat
Oktet yang dipenuhi sifar ditolak. Alat ini menolak 010.1.1.1 dan bukannya membacanya sebagai 10.1.1.1. Ini dilakukan dengan sengaja. Fungsi POSIX inet_aton, yang digunakan oleh ping, curl dan kebanyakan resolver dalam sistem pengendalian, menganggap oktet dengan sifar pendahulu sebagai perlapanan, jadi 010.1.1.1 bermaksud 8.1.1.1 bagi program tersebut. Tiada tafsiran perpuluhan atau perlapanan yang boleh sepadan dengan setiap pembaca, maka alat ini tidak menerima kedua-duanya. Awalan yang ditulis sebagai /08 ditolak atas sebab yang sama.
Kiraan hos menolak dua. Sesetengah kalkulator melaporkan saiz mentah blok sebagai kiraan hos. Alat ini mengikut RFC 950: dalam mana-mana blok /0 hingga /30, bahagian hos yang semuanya sifar menamakan rangkaian dan bahagian hos yang semuanya satu ialah siaran, maka kedua-duanya dikecualikan dan /24 mempunyai 254 hos yang boleh digunakan, bukannya 256.
/31 mempunyai dua hos yang boleh digunakan. Teks lama, yang ditulis sebelum RFC 3021 (diterbitkan pada 2000), menganggap /31 tidak boleh digunakan kerana penolakan dua alamat yang ditempah menghasilkan sifar. RFC 3021 menghapuskan kedua-dua tempahan untuk pautan titik ke titik, dan penghala telah menyokongnya selama beberapa dekad, maka alat ini melaporkan 2 hos yang boleh digunakan dan tiada alamat siaran.
Mana-mana awalan daripada /0 hingga /32 diterima. /0 ialah blok sah yang meliputi seluruh ruang IPv4, selaras dengan kemunculan 0.0.0.0/0 dalam jadual penghalaan sebagai laluan lalai.
IPv4 sahaja. IPv6 (RFC 4291) menggunakan alamat 128 bit dan notasi yang berbeza, maka ia di luar skop alat ini. Alat ini juga tidak menandakan julat tujuan khas seperti alamat persendirian atau gelung balik (RFC 6890); alat ini hanya melaporkan aritmetik alamat.
Soalan lazim
Berapakah hos yang boleh digunakan bagi /24? 254. /24 meninggalkan 8 bit hos, menghasilkan 2⁸ = 256 alamat. Dua daripadanya ditempah: alamat rangkaian dan alamat siaran. Maka 254 alamat tinggal untuk peranti.
Apakah topeng kad bebas? Songsangan topeng subrangkaian bit demi bit. Di tempat topeng subrangkaian mempunyai 1, topeng kad bebas mempunyai 0, dan begitu juga sebaliknya. Bagi topeng 255.255.255.0, topeng kad bebasnya ialah 0.0.0.255. Senarai kawalan akses pada banyak penghala menggunakan topeng kad bebas untuk menerangkan alamat yang dipadankan oleh sesuatu peraturan.
Mengapakah /31 tidak memaparkan alamat siaran? /31 hanya mempunyai dua alamat. Jika satu ditempah untuk rangkaian dan satu lagi untuk siaran, tiada alamat yang tinggal, maka RFC 3021 mentakrifkan /31 sebagai pautan titik ke titik yang kedua-dua alamatnya ialah hos dan tiada alamat siaran wujud. Kalkulator melaporkan 2 hos yang boleh digunakan dan menandakan siaran sebagai tidak berkenaan.
Mengapakah 010.1.1.1 ditolak dan bukannya dibaca sebagai 10.1.1.1? Kerana sistem pengendalian tidak sependapat dengan tafsiran perpuluhan biasa. POSIX inet_aton membaca oktet yang bermula dengan sifar sebagai perlapanan, maka 010 bermaksud 8 bagi kebanyakan sistem. Menolak input ialah satu-satunya jawapan yang tidak boleh berbeza secara senyap daripada tindakan mesin pengguna sendiri.
Apakah perbezaan antara jumlah alamat dengan hos yang boleh digunakan? Jumlah alamat ialah saiz penuh blok, 2 dipangkatkan dengan (32 ditolak panjang awalan). Hos yang boleh digunakan ialah nombor itu ditolak dua alamat yang ditempah, kecuali dalam /31 (kedua-duanya boleh digunakan) dan /32 (satu-satunya alamat ialah hos).
Apakah maksud alamat rangkaian bagi 192.168.1.10/24? Alamat itu ialah 192.168.1.0, yang diperoleh dengan mengekalkan 24 bit pertama alamat dan menetapkan bit hos kepada sifar. Alamat ini mengenal pasti keseluruhan subrangkaian dan tidak boleh diberikan kepada peranti.
Rujukan
- Postel, J. "RFC 791: Protokol Internet." IETF, 1981.
- Mogul, J. dan J. Postel. "RFC 950: Prosedur Subrangkaian Piawai Internet." IETF, 1985.
- Mogul, J. "RFC 919: Penyiaran Datagram Internet." IETF, 1984.
- Fuller, V. dan T. Li. "RFC 4632: Penghalaan Antara Domain Tanpa Kelas (CIDR)." IETF, 2006.
- Retana, A. et al. "RFC 3021: Menggunakan Awalan 31 Bit pada Pautan Titik ke Titik IPv4." IETF, 2000.