這是什麼
「可用 IP 位址數量計算器」能告訴你,在指定前綴長度(CIDR 表示法,例如 /24 或 /16)的 IPv4 子網路裡,實際上可以分配給主機的位址有多少個。無論是規劃子網路、設定 DHCP 位址範圍,還是評估某個網段的容量,這都是不可或缺的工具。
如何使用
輸入子網路前綴長度,也就是 CIDR 表示法中斜線後面的數字(0 到 32)。按下計算後,工具會回傳該區塊的位址總數、主機位元數,以及扣除網路位址與廣播位址後的可用位址數量。
公式解析
IPv4 位址共有 32 個位元。前綴長度 \(p\) 固定了網路部分,剩下 \(32 - p\) 個位元作為主機位元。因此位址總數為 \(2^{32 - p}\)。在標準子網路中,第一個位址保留作為網路識別碼,最後一個保留作為廣播位址,所以可用數量為:
$$\text{可用數} = 2^{\,32 - p} - 2$$注意:/31 的點對點連線(RFC 3021)與 /32 的主機路由屬於特例,並不適用上述減 2 的計算方式。
實際範例
以 /24 子網路為例:主機位元 = 32 − 24 = 8,總數 = 2^8 = 256,可用數 = 256 − 2 = 254 個位址。/16 子網路則可得 2^16 − 2 = 65,534 個可用主機位址。
$$\text{主機位元} = 32 - 24 = 8$$$$\text{總數} = 2^8 = 256$$$$\text{可用數} = 256 - 2 = 254$$$$2^{16} - 2 = 65{,}534$$常見問題
為什麼要減 2?因為其中一個位址用來識別網路本身,另一個則是廣播位址,這兩個都不能分配給主機使用。
那 /31 子網路呢?RFC 3021 允許 /31 將兩個位址都用於點對點連線,因此可用數量為 2 個。
這適用於 IPv6 嗎?不適用——本工具僅適用於 IPv4。IPv6 使用 128 位元位址,主機保留的慣例也不相同。