IP和子網路遮罩
我們都知道,IP是由四段數字組成,在此,我們先來瞭解一下3類常用的IP
A類IP段 0.0.0.0 到127.255.255.255
B類IP段 128.0.0.0 到191.255.255.255
C類IP段 192.0.0.0 到223.255.255.255
XP默認分配的子網路遮罩每段只有255或0
A類的默認子網路遮罩 255.0.0.0 一個子網最多可以容納1677萬多台電腦
B類的默認子網路遮罩 255.255.0.0 一個子網最多可以容納6萬台電腦
C類的默認子網路遮罩 255.255.255.0 一個子網最多可以容納254台電腦
我以前認為,要想把一些電腦搞在同一網段,只要IP的前三段一樣就可以了,今天,我才知道我錯了。如果照我這說的話,一個子網就只能容納254台電腦?真是有點笑話。我們來說詳細看看吧。
要想在同一網段,只要網路標識相同就可以了,那要怎麼看網路標識呢?首先要做的是把每段的IP轉換為二進位。(有人說,我不會轉換耶,沒關係,我們用Windows自帶計算器就行。打開計算器,點查看>科學型,輸入十進位的數字,再點一下“二進位”這個單選點,就可以切換至二進位了。)
把子網路遮罩切換至二進位,我們會發現,所有的子網路遮罩是由一串[red]連續[/red]的1和一串[red]連續[/red]的0組成的(一共4段,每段8位,一共32位數)。
255.0.0.0 11111111.00000000.00000000.00000000
255.255.0.0 11111111.11111111.00000000.00000000
255.255.255.0 11111111.11111111.11111111.00000000
這是A/B/C三類默認子網路遮罩的二進位形式,其實,還有好多種子網路遮罩,只要是一串連續的1和一串連續的0就可以了(每段都是8位)。如11111111.11111111.11111000.00000000,這也是一段合法的子網路遮罩。子網路遮罩決定的是一個子網的電腦數目,電腦公式是2的m次方,其中,我們可以把m看到是後面的多少顆0。如255.255.255.0轉換成二進位,那就是11111111.11111111.11111111.00000000,後面有8顆0,那m就是8,255.255.255.0這個子網路遮罩可以容納2的8次方(台)電腦,也就是256台,但是有兩個IP是不能用的,那就是最後一段不能為0和255,減去這兩台,就是254台。我們再來做一個。
255.255.248.0這個子網路遮罩可以最多容納多少台電腦?
計算方法:
把將其轉換為二進位的四段數位(每段要是8位,如果是0,可以寫成8個0,也就是00000000)
11111111.1111111.11111000.00000000
然後,數數後面有幾顆0,一共是有11顆,那就是2的11次方,等於2048,這個子網路遮罩最多可以容納2048台電腦。
一個子網最多可以容納多少台電腦你會算了吧,下面我們來個逆向演算法的題。
一個公司有530台電腦,組成一個對等局域網,子網路遮罩設多少最合適?
首先,無疑,530台電腦用B類IP最合適(A類不用說了,太多,C類又不夠,肯定是B類),但是B類默認的子網路遮罩是255.255.0.0,可以容納6萬台電腦,顯然不太合適,那子網路遮罩設多少合適呢?我們先來列個公式。
2的m次方=560
首先,我們確定2一定是大於8次方的,因為我們知道2的8次方是256,也就是C類IP的最大容納電腦的數目,我們從9次方一個一個試2的9次方是512,不到560,2的10次方是1024,看來2的10次方最合適了。子網路遮罩一共由32位組成,已確定後面10位是0了,那前面的22位就是1,最合適的子網路遮罩就是:11111111.11111111.11111100.00000000,轉換成10進制,那就是255.255.252.0。
分配和計算子網路遮罩你會了吧,下面,我們來看看IP地址的網段。
相信好多人都和偶一樣,認為IP只要前三段相同,就是在同一網段了,其實,不是這樣的,同樣,我樣把IP的每一段轉換為一個二進位數字,這裏就拿IP:192.168.0.1,子網路遮罩:255.255.255.0做實驗吧。
192.168.0.1
11000000.10101000.00000000.00000001
(這裏說明一下,和子網路遮罩一樣,每段8位,不足8位的,前面加0補齊。)
IP 11000000.10101000.00000000.00000001
子網路遮罩 11111111.11111111.11111111.00000000
在這裏,向大家說一下到底怎麼樣才算同一網段。
要想在同一網段,必需做到網路標識相同,那網路標識怎麼算呢?各類IP的網路標識演算法都是不一樣的。A類的,只算第一段。B類,只算第一、二段。C類,算第一、二、三段。
演算法只要把IP和子網路遮罩的每位數AND就可以了。
AND方法:0和1=0 0和0=0 1和1=1
如:And 192.168.0.1,255.255.255.0,先轉換為二進位,然後AND每一位
IP 11000000.10101000.00000000.00000001
子網路遮罩 11111111.11111111.11111111.00000000
得出AND結果 11000000.10101000.00000000.00000000
轉換為十進位192.168.0.0,這就是網路標識,
再將子網路遮罩反取,也就是00000000.00000000.00000000.11111111,與IP AND
得出結果00000000.00000000.00000000.00000001,轉換為10進制,即0.0.0.1,
這0.0.0.1就是主機標識。要想在同一網段,必需做到網路標識一樣。
我們再來看看這個改為默認子網路遮罩的B類IP
如IP:188.188.0.111,188.188.5.222,子網路遮罩都設為255.255.254.0,在同一網段嗎?
先將這些轉換成二進位
188.188.0.111 10111100.10111100.00000000.01101111
188.188.5.222 10111100.10111100.00000101.11011010
255.255.254.0 11111111.11111111.11111110.00000000
分別AND,得
10111100.10111100.00000000.00000000
10111100.10111100.00000100.00000000
網路標識不一樣,即不在同一網段。
判斷是不是在同一網段,你會了吧,下面,我們來點實際的。
一個公司有530台電腦,組成一個對等局域網,子網路遮罩和IP設多少最合適?
子網路遮罩不說了,前面算出結果來了11111111.11111111.11111100.00000000,也就是255.255.252.0
我們現在要確定的是IP如何分配,首先,選一個B類IP段,這裏就選188.188.x.x吧
這樣,IP的前兩段確定的,關鍵是要確定第三段,只要網路標識相同就可以了。我們先來確定網路號。(我們把子網路遮罩中的1和IP中的?對就起來,0和*對應起來,如下:)
255.255.252.0 11111111.11111111.11111100.00000000
188.188.x.x 10111100.10111100.??????**.********
網路標識 10111100.10111100.??????00.00000000
由此可知,?處隨便填(只能用0和1填,不一定全是0和1),我們就用全填0吧,*處隨便,這樣呢,我們的IP就是
10111100.10111100.000000**.********,一共有530台電腦,IP的最後一段1~254可以分給254台電腦,530/254=2.086,採用進1法,得整數3,這樣,我們確定了IP的第三段要分成三個不同的數位,也就是說,把000000**中的**填三次數字,只能填1和0,而且每次的數字都不一樣,至於填什麼,就隨我們便了,如00000001,00000010,00000011,轉換成二進位,分別是1,2,3,這樣,第三段也確定了,這樣,就可以把IP分成188.188.1.y,188.188.2.y,188.188.3.y,y處隨便填,只要在1~254範圍之內,並且這530台電腦每台和每台的IP不一樣,就可以了。
有人也許會說,既然演算法這麼麻煩,乾脆用A類IP和A類默認子網路遮罩得了,偶要告訴你的是,由於A類IP和A類默認子網路遮罩的主機數目過大,這樣做無疑是大海撈針,如果同時局域網訪問量過頻繁、過大,會影響效率的,所以,最好設置符合自己的IP和子網路遮罩^_^
本文来源:中国网管学院 作者:佚名