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類,只算第1、二段。C類,算第1、2、三段。
算法只要把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和子網掩碼^_^算法