什麼是 IP 子網路計算機?
這個工具會接收一組 IPv4 位址(四個 0–255 的位元組)與一個 CIDR 前綴長度(/0 到 /32),並算出規劃或記錄子網路所需的所有資訊:網路位址、廣播位址、子網路遮罩、萬用字元遮罩(wildcard mask)、第一個與最後一個可用主機,以及總位址數與可用主機數。它完全依照標準的 32 位元 IPv4 二進位運算,因此適用於全球任何網路環境。
如何使用
輸入 IP 位址的四個位元組,並選擇子網路前綴。舉例來說,192.168.1.10/24 代表位元組 192、168、1、10,前綴為 24。按下計算後,即可在下方檢視完整的網路資訊。
公式說明
子網路遮罩的算法,是把最左邊的 prefix 個位元設為 1,其餘設為 0。網路位址是 IP 與遮罩做位元 AND 運算的結果;廣播位址則是網路位址與反相遮罩(即萬用字元遮罩)做 OR 運算。總位址數為 \(2^{32 - \text{prefix}}\),而可用主機數要再扣掉網路位址與廣播位址這兩個:
$$H = 2^{\,32 - \text{prefix}} - 2$$$$\begin{gathered} \text{Hosts} = 2^{\,32 - \text{Prefix}} - 2 \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{IP} &= (\text{O1} \ll 24)\,|\,(\text{O2} \ll 16)\,|\,(\text{O3} \ll 8)\,|\,\text{O4} \\ \text{Mask} &= \texttt{0xFFFFFFFF} \ll (32 - \text{Prefix}) \\ \text{Network} &= \text{IP} \,\&\, \text{Mask} \\ \text{Broadcast} &= \text{Network}\,|\,(\sim\text{Mask}) \end{aligned} \right. \end{gathered}$$
實際範例
以 192.168.1.10/24 為例,遮罩為 255.255.255.0。網路位址=192.168.1.0,廣播位址=192.168.1.255。總位址數=\(2^8 = 256\),可用主機數=\(256 - 2 = 254\)。第一個可用主機是 192.168.1.1,最後一個則是 192.168.1.254。
常見問題
為什麼主機數要減 2?第一個位址會保留作為網路識別碼,最後一個位址則是廣播位址,這兩個都不能指派給裝置使用。
那 /31 和 /32 呢?/32 代表單一主機;而 /31 用於點對點連線(RFC 3021),此時兩個位址都可使用。
支援 IPv6 嗎?不支援——這個計算機僅適用於 IPv4。