IPv4 子網路計算機能做什麼
這款 IPv4 子網路計算機只需要您輸入兩個值——IP 位址與子網路遮罩——就能立刻算出該位址所屬網路的各項關鍵資訊。您不必再手動進行二進位的 AND/OR 運算,工具會一次幫您列出網路位址、廣播位址、可用主機範圍、可用主機總數、網路類別以及萬用字元遮罩(wildcard mask)。本計算機適用於全球通用的標準 32 位元 IPv4 定址方式。
輸入欄位說明
- IP 位址——任何以點分十進位表示的 IPv4 位址,例如
192.168.1.10。 - 子網路遮罩——同樣以點分十進位表示的遮罩,例如
255.255.255.0,用來界定有幾個位元代表「網路」、有幾個位元代表「主機」。
計算原理
計算機會針對每一個八位元組(octet)獨立運算:
$$\begin{gathered} \text{Network} = \text{IP} \mathbin{\&} \text{Mask} \\[1.5em] \text{where (per octet)}\quad \left\{ \begin{aligned} \text{Network} &= \text{IP} \mathbin{\&} \text{Mask} \\ \text{Broadcast} &= \text{IP} \mathbin{|} (\text{Mask} \oplus 255) \\ \text{Wildcard} &= 255 - \text{Mask} \end{aligned} \right. \end{gathered}$$- 網路位址= IP 與遮罩做位元 AND 運算。每個 IP 八位元組都會被遮罩:
ipOctet & maskOctet。 - 廣播位址= IP 與「反向遮罩」做位元 OR 運算:
ipOctet | (maskOctet ^ 255)。 - 可用主機總數= \(2^{32 - \text{CIDR}} - 2\),其中 CIDR 是遮罩中 1 位元的個數。減 2 是為了扣除網路位址與廣播位址。
- 第一台主機=網路位址 + 1;最後一台主機=廣播位址 − 1。
- 網路類別由第一個八位元組判定:1–126 為 A 類、128–191 為 B 類、192–223 為 C 類、224–239 為 D 類(多播)、240–255 為 E 類(保留)。
- 萬用字元遮罩=子網路遮罩的反向(取補數)。
其中 CIDR 前綴長度為:
$$\text{CIDR} = \sum_{\text{octets}} \operatorname{bitCount}\!\left(\text{Mask}\right)$$ $$\text{Hosts} = 2^{\,32 - \text{CIDR}} - 2$$
實例演算
輸入 IP 192.168.1.10、遮罩 255.255.255.0:
- 網路位址:192.168.1.10 AND 255.255.255.0 = 192.168.1.0
- 廣播位址:192.168.1.10 OR 0.0.0.255 = 192.168.1.255
- CIDR = 24 位元,因此主機總數 = \(2^{(32-24)} - 2 = 254\) 254
- 第一台主機:192.168.1.1;最後一台主機:192.168.1.254
- 類別:C 類;萬用字元遮罩:0.0.0.255
常見問題
為什麼主機數量要減 2?每個子網路的第一個位址會保留作為「網路識別碼」,最後一個位址則保留作為「廣播位址」,這兩者都不能指派給實際裝置使用。
萬用字元遮罩有什麼用途?它是子網路遮罩的位元反向(例如 255.255.255.0 → 0.0.0.255),常用於路由器的存取控制清單(ACL)以及 OSPF 設定。
可以直接輸入 CIDR 標記法嗎?本工具的輸入欄位採用點分十進位的遮罩格式,不過系統內部會自動計算遮罩中 1 位元的個數,推導出 CIDR 前綴長度,用以計算主機總數。