什麼是 CIDR 轉子網路遮罩計算機?
無類別域間路由(Classless Inter-Domain Routing,簡稱 CIDR)採用前綴長度來描述網路,例如 /24。這個計算機能把前綴長度換算成對應的點分十進位子網路遮罩(例如 255.255.255.0),同時算出萬用字元遮罩、總位址數,以及可用的主機數量。它支援 /0 到 /32 的任何前綴,適用於全球各地的 IPv4 網路。
如何使用
輸入 CIDR 前綴長度,也就是斜線後面的數字,計算機就會回傳對應的子網路遮罩與相關數據。舉例來說,輸入 24,就能看到一般家用或小型辦公室網路所使用的遮罩。
公式說明
子網路遮罩是一個 32 位元的數值,前面 n 個位元設為 1,其餘設為 0。計算方式是先取全為 1 的數值 \(2^{32} - 1\),再向左位移 \(32 - n\) 位。把這 32 個位元每 8 位分成一組,就得到四個 8 位元區塊(octet)。
$$\text{Subnet Mask} = \left(2^{32} - 2^{\,32 - \text{Prefix (/n)}}\right) \;\text{in dotted decimal}$$每個區塊的值等於 \(256 - 2^{(8 - \text{bits})}\),其中 bits 是該區塊落在前綴範圍內的位元數。
實際範例
以 /26 為例:遮罩前面有 26 個 1。前三個區塊完全被涵蓋(255.255.255),第四個區塊則有 2 個位元:
$$256 - 2^{(8-2)} = 256 - 64 = 192$$因此遮罩是 255.255.255.192。總位址數 = \(2^{(32-26)} = 64\),可用主機數 = \(64 - 2 = 62\)。
常見問題
為什麼可用主機數要減 2?因為其中一個位址是網路識別碼,另一個是廣播位址,剩下的才能配給主機使用。(/31 與 /32 屬於點對點連線的特殊情況,另有規則。)
什麼是萬用字元遮罩(wildcard mask)?它是子網路遮罩的位元反轉(也就是用 255 減去每個區塊的值),常用於存取控制清單(ACL)以及 OSPF 等路由協定。
這也能用在 IPv6 嗎?不行。IPv6 採用 128 位元位址,而且很少使用點分十進位遮罩;本工具僅支援 IPv4。