一般人對於子網路遮罩的理解都還停留在255.255.255.0之上
子網路遮罩的使用可以很簡單,今天來談談—子網路切割快速計算法
首先從一般的Subnet遮罩表示法開始
[Subnet遮罩表示法]
若你唸過計算機概論,你會知道在程式語言到最後是以二進位方式表達給電腦看
若你唸過網路TCP/IP概論,你也會知道子網路遮罩也同樣是以二進位方式表達給電腦看
因此,以子網路遮罩255.255.255.0為例
從小的數字依序排到大
0是第一個遮罩號碼
255其實是最後一個遮罩號碼
總共有1(0)+255(1~255)=256個數字
而以二進位表示的話呢
0=00000000 (二進位表示)
256=2的8次方=11111111(二進位表示)
而255是子網路遮罩中最後一位,也就是第256個號碼
因此其實在子網路遮罩中255的二進位表示法就是11111111
以上都要牢記喔
接著,我們必須提到子網路的切割
一般都是利用二進位法來講解網段的切割
但是那會有點難懂,因此我自創另一種計算法
以子網路遮罩255.255.255.224為例
前三段遮罩都是255,因此我們不予理會它,只要看第四段號碼即可
此時要如何知道這個遮罩代表的網段長度是多少呢?
很簡單,請用256減去你的子網路遮罩號碼就是你的網段長度
我們來試看看
256-255=1
256-254=2
256-252=4
256-248=8
256-240=16
256-224=32
256-192=64
256-128=128
所以
當子網路遮罩=255時,表示網段長度=1(僅包含一個IP)個IP
當子網路遮罩=224時,表示網段長度=16(包含32個IP)個IP
以此類推,最多只能切割到128個IP一個網段,因為下一個就是0囉
聽不懂嗎? 換個方式表達剛剛的算式:
256-2的0次方=255
256-2的1次方=254
256-2的2次方=252
256-2的3次方=248
256-2的4次方=240
256-2的5次方=224
256-2的6次方=192
256-2的7次方=128
其實網段長度是用二進位算的
所以都是二的倍數
有沒有剛好注意到沒有2的8次方
因為256-2的8次方=0,而且本來就只有八種遮罩
[CIDR表示法]
我們有時會看到這樣的子網路遮罩表示法
192.168.0.1/24
一般人會有點看不懂,這裡提供簡單的記憶法
用32減去24得到8
再用256-2的8次方=0
因此這個遮罩=255.255.255.0
那如果是22呢?
事情是一樣的,只是我們要記得子網路遮罩共有四段,每一段有八種遮罩組合
所以每8位數為一段,由上一個例子知道看到8就等於0
用同樣的方式計算
32-22=10=8+2
所以
第四段遮罩=0
第三段遮罩的算法同上
256-2的2次方=252
所以這一個遮罩=255.255.252.0
轉自http://caf677.pixnet.net/blog/post/22615302