
遮罩總結
| 撰文 | AM |
|---|---|
| 最後編輯 | |
| 編輯時間 |
子網路遮罩
子網路遮罩 ( 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.1、192.168.1.126、192.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.0IPv4 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 位址匹配時,你有兩個計算思路
- 把萬用遮罩變回子網路遮罩再與 IP 位址做 AND 運算
- 直接相加,所以範圍是網段開始到加完之後的 IP 位址
- 一個位元對到的萬用遮罩位元如果是 0 ,那就保留其值;如果對應的萬用遮罩位元是 1,就直接歸 0
以下省略落落長的運算過程 . . .,自己拿筆起來算好嗎
萬用遮罩關鍵字
- host
表示的是萬用遮罩 0.0.0.0 ( 即子網路遮罩 255.255.255.255 ),所以只會匹配一個 IP 位址。
AM