什麼是每子網路主機數計算器?
這個工具會依據 IPv4 子網路的 CIDR 前綴長度(也就是 IP 位址後面的 /n,例如 192.168.1.0/24),告訴你這個子網路裡可以容納多少個可用的主機 IP 位址。前綴長度代表用於「網路部分」的位元數,剩下的位元則用來定位個別主機。
使用方式
輸入 0 到 32 之間的前綴長度,即可讀出可用主機數。計算結果同時會顯示主機位元數與位址總數,讓你清楚看見這個數字是怎麼推算出來的。
公式解析
一個 IPv4 位址共有 32 位元。當前綴為 p 時,主機部分為 32 − p 位元,可產生 2^(32 − p) 個位址。其中有兩個位址被保留:網路位址(主機位元全為 0)與廣播位址(主機位元全為 1)。因此可用主機數為:
$$\text{Usable Hosts} = 2^{\left(32 - \text{Prefix } /n\right)} - 2$$
實際範例
以 /24 子網路為例:主機位元 = \(32 - 24 = 8\),位址總數 = \(2^8 = 256\),可用主機數 = \(256 - 2 = 254\)。而 /30(常用於點對點連線)則為 \(2^2 - 2 = 2\) 個可用主機。
常見問題
為什麼要減 2?第一個位址用來標示網路本身,最後一個位址則是廣播位址,在標準 IPv4 網路中這兩者都不能指派給裝置。
那 /31 與 /32 呢?依傳統公式,/31 的可用主機數為 0,不過 RFC 3021 允許在點對點連線上使用這兩個位址。/32 則代表單一主機路由。本計算器會將可用主機數的下限設為 0。
這也適用於 IPv6 嗎?不適用——這個公式專用於使用 32 位元位址的 IPv4。IPv6 採用 128 位元位址,且不會以相同方式保留網路位址與廣播位址。