私有IP網子網掩碼劃分原則及計算方法
最好記下的二進制轉換十進制
00000000 0
00000001 1
00000010 2
00000100 4
00001000 8
00010000 16
00100000 32
01000000 64
10000000 128
11000000 192
11100000 224
11110000 240
11111000 248
11111100 252
11111110 254
11111111 255
IP和子網掩碼
我們都知道,IP是由四段數字組成,在此,我們先來了解一下3類常用的IP
A類IP段 0.0.0.0 到127.255.255.255 (0段和127段不使用)
B類IP段 128.0.0.0 到191.255.255.255
C類IP段 192.0.0.0 到223.255.255.255
Windows默認分配的子網掩碼每段只有255或0
A類的默認子網掩碼 255.0.0.0 一個子網最多可以容納1677萬多臺電腦
B類的默認子網掩碼 255.255.0.0 一個子網最多可以容納6萬臺電腦
C類的默認子網掩碼 255.255.255.0 一個子網最多可以容納254臺電腦
我以前認為,要想把一些電腦搞在同一網段,只要IP的前三段一樣就可以了,今天,我才知道我錯了。如果照我這樣說的話,一個子網就只能容納254臺電腦?真是有點笑話。我們來說詳細看看吧。
要想在同一網段,只要網絡標識相同就可以了,那要怎么看網絡標識呢?首先要做的是把每段的IP轉換為二進制。(有人說,我不會轉換耶,沒關系,我們用Windows自帶計算器就行。打開計算器,點查看>程序員,輸入十進制的數字,再點一下“二進制”這個單選點,就可以切換至二進制了。)
把子網掩碼切換至二進制,我們會發現,所有的子網掩碼是由一串連續的1和一串連續的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(不少于8個)和一串連續的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臺。
劃分方法
子網的劃分,實際上就是設計子網掩碼的過程。子網掩碼主要是用來區分IP地址中的網絡ID和主機ID,它用來屏蔽IP地址的一部分,從IP地址中分離出網絡ID和主機ID.子網掩碼是由4個十進制數組成的數值“中間用“.”分隔,如255.255.255.0。若將它寫成二進制的形式為:11111111.11111111.11111111.00000000,其中為“1”的位分離出網絡ID,為“0”的位分離出主機ID,也就是通過將IP地址與子網掩碼進行“與“邏輯操作,得出網絡號。
例如,假設IP地址為192.160.4.1,子網掩碼為255.255.255.0,則網絡ID為192.160.4.0,主機ID為0.0.0.1。計算機網絡ID的不同,則說明他們不在同一個物理子網內,需通過路由器轉發才能進行數據交換。
每類地址具有默認的子網掩碼:對于A類為255.0.0.0,對于B類為255.255.0.0,對于C類為255.255.255.0。除了使用上述的表示方法之外,還有使用子網掩碼中“1”的位數來表示的,在默認情況下,A類地址為8位,B類地址為16位,C類地址為24位。例如,A類的某個地址為 12.10.10.3/8,這里的最后一個“8”說明該地址的子網掩碼為8位,而199.42.26.0/28表示網絡199.42.26.0的子網掩碼位數有28位。
如果希望在一個網絡中建立子網,就要在這個默認的子網掩碼中加入一些位,它減少了用于主機地址的位數。加入到掩碼中的位數決定了可以配置的子網。因而,在一個劃分了子網的網絡中,每個地址包含一個網絡地址、一個子網位數和一個主機地址。
示例
255.255.248.0這個子網掩碼可以最多容納多少臺電腦?
計算方法
把將其轉換為二進制的四段數字(每段要是8位,如果是0,可以寫成8個0,也就是00000000)
11111111.1111111.11111000.00000000
然后,數數后面有幾顆0,一共是有11顆,那就是2的11次方,等于2048 (注意:主機號中全0是保留地址,全1是廣播地址,所以它們不算可用主號地址。網絡號也是一樣的。子網號是可以用全0和全1的),所以這個子網掩碼最多可以容納2048-2=2046臺電腦。
一個子網最多可以容納多少臺電腦你會算了吧,下面我們來個逆向算法的題。
一個公司有530臺電腦,組成一個對等局域網,子網掩碼設多少最合適?
首先,無疑,530臺電腦用B類IP最合適(A類不用說了,太多,C類又不夠,肯定是B類),但是B類默認的子網掩碼是255.255.0.0,可以容納6萬臺電腦,顯然不太合適,那子網掩碼設多少合適呢?我們先來列個公式。
公式
2的m次方>=560
首先,我們確定2的m次方一定是大于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.11011110
255.255.254.0 11111111.11111111.11111110.00000000
分別AND,得
10111100.10111100.00000000.00000000
10111100.10111100.00000100.00000000
網絡標識不一樣(看255.255.254.0轉換成二進制后1的數位,所以可以看到不一樣),即不在同一網段。
判斷是不是在同一網段,你會了吧,下面,我們來點實際的。
一個公司有530臺電腦,組成一個對等局域網,子網掩碼和IP設多少最合適?
子網掩碼不說了,前面算出結果來了11111111.11111111.11111100.00000000,也就是255.255.252.0
B類地址
選一個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和子網掩碼^_^
舉個實例:比如公司分配到的網段是192.168.1.0/24,首先我要分一個8個主機的網段出來,那么這個網段的首地址是什么?之后,我又要劃分一個16個主機的地址出來,那么16個主機的首地址是什么?
劃分實例
C類地址例子:
網絡地址192.168.10.0;子網掩碼255.255.255.192(/26)
1.子網數:2*2=4
2.主機數:2的6次方-2=62
3.有效子網:256-192=64;所以第一個子網為192.168.10.64,第二個為192.168.10.128
4.廣播地址:下個子網-1.所以2個子網的廣播地址分別是192.168.10.127和192.168.10.191
5.有效主機范圍是:所以第一個子網為192.168.10.0,第二個為192.168.10.64,第三個為192.168.10.128,第四個為192.168.10.192
B類地址例子1:
網絡地址:172.16.0.0;子網掩碼255.255.192.0(/18)
1.子網數:2*2=4
2.主機數:2的14次方-2=16382
3.有效子網:256-192=64;所以第一個子網為172.16.64.0,最后1個為172.16.128.0
4.廣播地址:下個子網-1.所以2個子網的廣播地址分別是172.16.127.255和172.16.191.255
5.有效主機范圍是:第一個子網的主機地址是172.16.64.1到172.16.127.254;第二個是172.16.128.1到172.16.191.254
B類地址例子2:
網絡地址:172.16.0.0;子網掩碼255.255.255.224(/27)
1.子網數=2的11次方-2=2046(因為B類地址默認掩碼是255.255.0.0,所以網絡位為8+3=11)
2.主機數:2的5次方-2=30
3.有效子網:256-224=32;所以第一個子網為172.16.0.32, 最后1個為172.16.255.192
4.廣播地址:下個子網-1.所以第一個子網和最后1個子網的廣播地址分別是172.16.0.63和172.16.255.223
5.有效主機范圍是:第一個子網的主機地址是172.16.0.33到172.16.0.62;最后1個是172.16.255.193到172.16.255.223
原創文章,作者:wangdongxu,如若轉載,請注明出處:http://www.www58058.com/74584