遮罩總結

撰文AM
最後編輯陳育威 資訊111甲
編輯時間

子網路遮罩


子網路遮罩 ( Subnet Mask ) 就是一個數值,主要作用是切個一個大型網路為數個子網路。而其運算建立在二進制上,與另一運算元做 AND (及) 運算。

一般稱的遮罩長度指的是這一個數值在二進制中,從最高有效位元開始有幾個連續的 1

IPv4   11000000.10101000.00000001.00000001  -> 192.168.1.1
遮罩   11111111.11111111.11111111.10000000  -> 255.255.255.128
-------------------------------------------
網段   11000000.10101000.00000001.00000000  -> 192.168.1.0

當你將一個 IP 位址與一個固定的遮罩做 AND 運算之後就可以知道這個網段的標示 IP,同個網段的 IP 與該遮罩做 AND 運算也會是一樣的結果。

假設有三個 IPv4 位址 192.168.1.1192.168.1.126192.168.1.187 與遮罩長度 25 ( 255.255.255.128 ),請觀察下面的算式。

IPv4   11000000.10101000.00000001.01111110  -> 192.168.1.126
遮罩   11111111.11111111.11111111.10000000  -> 255.255.255.128
-------------------------------------------
網段   11000000.10101000.00000001.00000000  -> 192.168.1.0
IPv4   11000000.10101000.00000001.10111011  -> 192.168.1.187
遮罩   11111111.11111111.11111111.10000000  -> 255.255.255.128
-------------------------------------------
網段   11000000.10101000.00000001.10000000  -> 192.168.1.128

你會發現 192.168.1.187 與其他兩個 IP 位址的網段不一樣,這就是子網路切割的原理。

深度一點的說法:子網路遮罩用 1 來匹配另一個運算元的對應位元值

萬用遮罩


萬用遮罩 ( Wildcard Mask ),因其就是子網路遮罩取反,所以又稱反相遮罩。

假設一個遮罩 255.255.255.0,那反遮罩就是 0.0.0.255

遮罩    11111111.11111111.11111111.00000000
反遮罩  00000000.00000000.00000000.111111111

因為其特性不適合用一般數位邏輯觀念直接解釋運算過程,所以在與 IP 位址匹配時,你有兩個計算思路

以下省略落落長的運算過程 . . .,自己拿筆起來算好嗎

萬用遮罩關鍵字

表示的是萬用遮罩 0.0.0.0 ( 即子網路遮罩 255.255.255.255 ),所以只會匹配一個 IP 位址。


  • any

表示的則是萬用遮罩 255.255.255.255 ( 即子網路遮罩 0.0.0.0 ),就是任何位址都匹配。

🔼 255.255.255.255 (左) 與 隨便一個 IP 位址 (右)