什麼是 IP 子網路計算機?
IP 子網路計算機只要輸入一組 IPv4 位址與 CIDR 前置碼(例如 /24),就能立即算出子網路遮罩、網路位址、廣播位址、可用主機位址範圍,以及該子網路可容納多少台主機。對於網路工程師、系統管理員,以及準備網路相關證照考試的人來說,這是日常必備的工具。本工具處理的是標準 IPv4 定址,與特定國家或地區無關,全球通用。
使用方式
輸入 IPv4 位址的四個位元組(每個介於 0–255),並選擇 0 到 32 之間的 CIDR 前置碼。計算機會以位元 AND 運算將遮罩套用到 IP 上,再推導出所有相關數值。最醒目的數字是可用主機數;下方的表格則列出網路位址、遮罩、廣播位址、主機範圍與總位址數。
公式說明
子網路遮罩是一個 32 位元的數值,最左邊的 p 個位元設為 1。主機位元數為 \(32 - p\),因此區塊大小(總位址數)為 \(2^{(32 - p)}\)。其中有兩個位址保留作他用——網路位址(主機位元全為 0)與廣播位址(主機位元全為 1)——所以 \(\text{可用主機數} = 2^{(32 - p)} - 2\)。網路位址本身則以 \(\text{IP} \mathbin{\&} \text{遮罩}\) 計算而得。
$$\begin{gathered} \text{Mask} = \text{0xFFFFFFFF} \ll (32 - \text{Prefix}) \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{IP} &= \text{O1}.\text{O2}.\text{O3}.\text{O4} \\ \text{Network} &= \text{IP} \mathbin{\&} \text{Mask} \\ \text{Broadcast} &= \text{Network} \mathbin{|} (\lnot\,\text{Mask}) \\ \text{Hosts} &= 2^{(32 - \text{Prefix})} - 2 \end{aligned} \right. \end{gathered}$$
範例演練
以 192.168.1.10/24 為例:主機位元數 \(= 32 - 24 = 8\),區塊大小 \(= 2^8 = 256\),可用主機數 \(= 256 - 2 = 254\)。遮罩為 255.255.255.0,網路位址為 192.168.1.0,廣播位址為 192.168.1.255,可用主機範圍則是 192.168.1.1 到 192.168.1.254。
常見問題
為什麼主機數要減 2?網路位址與廣播位址無法指派給任何裝置,因此要從可用總數中扣除。
那 /31 與 /32 呢?/31 用於點對點連線,提供 2 個可用位址(不保留廣播位址);/32 則代表單一主機。本計算機已支援這些特殊情況。
支援 IPv6 嗎?不支援——本工具僅適用於 IPv4(32 位元)定址。