子網路遮罩(Netmask)
IP 是每台機器的地址。IPv4(Internet Protocol version 4)由 32 位元(4 x 8)的二進位數字(0 或 1)組成,如:11000000.10101000.11111111.00000000。為方便讀取,IP 常被轉換成十進位的方式表示,如:192.168.255.0。
IPv4 能產生近 43 億種組合,但仍不敷使用,而子網遮罩就是其中一種解方,方便我們可以切分出更多 IP 重複使用。
以 172.16.17.0/24 為例,其轉成二進位為:
10101100.00010000.00010001.00000000/24
172/2= 86,餘數為 0
86/2= 43,餘數為 0
43/2= 21,餘數為 1
21/2= 10,餘數為 1
10/2= 5,餘數為 0
5/2= 2,餘數為 1
2/2= 1,餘數為 0
1/2= 0,餘數為 1
由最下面的餘數往上讀,所以 172 的二進位表示是 10101100
後面的「/24」表示第 1-24 位都被遮住,第 25 位開始才可以有 0 和 1 的變化。
沒有被遮住的第 25-32 位,每個位數都可以有 0 或 1 的變化,
如此一來會有 2*2*2*2*2*2*2*2 = 256 種組合。
從 0 開始(含)計算,表示可以用的 IP 是 172.16.17.0 - 172.16.17.255。
1*27 + 1*26 + 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20
= 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
= 255
進階題一
172.16.17.16/30 可以用的 IP 有哪些呢?
先將 172.16.17.16/30 轉換成二進位 10101100.00010000.00010001.00010000/30。
/30 表示第 1-30 位都被遮住,第 31 位開始才可以有 0 和 1 的變化。
沒有被遮住的第 31-32 位,每個位數都可以有 0 或 1 的變化,
如此一來會有 2*2 = 4 種組合。
從 16 開始(含)計算,表示可以用的 IP 是 172.16.17.16 - 172.16.17.19。
進階題二
192.168.16.0/20 可以用的 IP 是 192.168.16.0/24 的幾倍?
先將 192.168.16.0/20 轉換成二進位 11000000.10101000.00010000.00000000/20。
/20 表示第 1-20 位都被遮住,第 21 位開始才可以有 0 和 1 的變化。
再看到 192.168.16.0/24,
/24 表示第 1-24 位都被遮住,第 25 位開始才可以有 0 和 1 的變化。
兩者差在第 21-24 位,/20 可以有 0 和 1 的變化,/24 則否,所以 /20 可用的 IP 是 /24 的 2*2*2*2 = 16 倍。