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和子網路遮罩^_^