什麼是反向子網路遮罩?
反向子網路遮罩又稱為萬用字元遮罩(wildcard mask),是標準子網路遮罩的位元反相結果。子網路遮罩用 1 來標示 IP 位址中的網路部分,而萬用字元遮罩則相反:用 0 代表「必須相符」的位元,用 1 代表「可以變動」的位元。萬用字元遮罩在網路設定中相當常見,尤其是在 Cisco 的存取控制清單(ACL)與 OSPF 設定中,這些裝置要求填入的是萬用字元遮罩,而非一般的子網路遮罩。
本計算機只需要一個輸入值——你的子網路遮罩(例如 255.255.255.0)——就能即時算出反向遮罩,同時附帶幾個實用的相關數值:CIDR 前綴長度、主機總數,以及可用主機數。
如何使用本計算機
- 子網路遮罩:輸入你想轉換的點分十進位遮罩,例如
255.255.255.192。 - 送出後即可取得反向(萬用字元)遮罩、CIDR 表示法、主機總數與可用主機數。
背後的計算公式
本工具會進行四項簡單的運算:
$$\text{Wildcard Mask} = 255.255.255.255 - \text{Subnet Mask}$$- 萬用字元遮罩:每一個八位元組都以 255 減去其數值(
255 − 八位元組)。 - CIDR 前綴:將遮罩轉換為二進位,並計算其中 1 的位元數量。
- 主機總數:\(2^{(32 - \text{CIDR})}\)。
- 可用主機數:主機總數減 2(一個保留給網路位址,一個保留給廣播位址),最低為 0。
實際範例
假設你輸入 255.255.255.0:
- 萬用字元遮罩:\(255-255,\ 255-255,\ 255-255,\ 255-0\) =
0.0.0.255 - CIDR:其二進位形式共有 24 個 1,因此前綴為 /24
- 主機總數:\(2^{(32 - 24)} = 2^{8} = 256\)
- 可用主機數:\(256 - 2 = 254\)
常見問題
為什麼 /24 的萬用字元遮罩會是 0.0.0.255?因為萬用字元遮罩正好是子網路遮罩的反相——被遮罩鎖定的位元(網路部分)變成 0,主機位元則變成 1,這裡剛好對應到最後一個涵蓋 256 個位址的八位元組。
萬用字元遮罩究竟用在哪裡?最常見於 Cisco IOS 的存取清單與 OSPF 的 network 指令中,這些設定要求使用萬用字元遮罩,而非標準的子網路遮罩。
計算可用主機數時為什麼要減 2?因為一個子網路中的第一個位址保留作為網路識別碼,最後一個位址則作為廣播位址,這兩個位址都無法指派給裝置使用。