這個計算機能做什麼
本工具只要輸入一個 IPv4 位址與 CIDR 前綴長度(也就是斜線後面的數字,例如 /26),就能算出該子網路的所有關鍵參數:網路位址、廣播位址、以點分十進位表示的子網路遮罩、第一個與最後一個可用主機位址,以及總位址數與可用主機數。支援 /0 到 /32 的任何前綴,無論是網路規劃、設定防火牆規則,或是準備網路證照考試(如 CCNA)都相當實用。
使用方式
先輸入一個 IPv4 位址,例如 192.168.1.130,再填上前綴長度,例如 26。送出後即可看到完整的分析結果。計算機會把位址視為一個 32 位元的數值,以位元運算套用遮罩,再將結果轉換回點分十進位格式顯示。
計算公式解析
CIDR 前綴為 n,代表前 n 個位元是網路位元,因此子網路遮罩就是 n 個 1 後面接 (32 − n) 個 0。網路位址為 IP AND 遮罩,會把所有主機位元歸零;廣播位址為 網路位址 OR (NOT 遮罩),會把每一個主機位元都設為 1。總位址數等於 \(2^{\,32 - n}\);在 /30(含)以前的前綴中,可用主機數等於總數減 2(一個保留給網路位址,一個保留給廣播位址)。
$$\begin{gathered} \text{Network} = \text{IP} \,\&\, M, \qquad \text{Broadcast} = \text{Network} \mid \lnot M \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{IP} &= \text{IP Address} \\ M &= \texttt{0xFFFFFFFF} \ll \left(32 - \text{Prefix}\right) \\ \text{Total Hosts} &= 2^{\,32 - \text{Prefix}} \\ \text{Usable Hosts} &= 2^{\,32 - \text{Prefix}} - 2 \end{aligned} \right. \end{gathered}$$
實例演算
以 192.168.1.130/26 為例:/26 的遮罩是 255.255.255.192。最後一個八位元組 \(130 \,\&\, 192 = 128\),所以網路位址是 192.168.1.128。區塊大小為 64,因此廣播位址是 192.168.1.191。可用範圍為 192.168.1.129 到 192.168.1.190,在 64 個總位址中有 62 個可用主機。
常見問題
為什麼 /31 與 /32 的計算方式不一樣?/32 代表單一主機;而 /31(依據 RFC 3021)會把兩個位址都用於點對點連線,因此都不需要扣掉網路位址與廣播位址這一組。
/24 的子網路遮罩是多少?/24 為 255.255.255.0,共有 256 個位址、254 個可用主機。
這個工具支援 IPv6 嗎?不支援——本計算機僅適用於 IPv4 位址。