糯米文學吧

位置:首頁 > 計算機 > 網絡技術

IP和子網掩碼解析

  我們都知道,IP是由四段數字組成,在此,我們先來了解一下3類常用的IP

IP和子網掩碼解析

A類IP段  到

B類IP段  到

C類IP段  到

XP默認分配的子網掩碼每段只有255或0

A類的默認子網掩碼      一個子網最多可以容納1677萬多台電腦

B類的默認子網掩碼     一個子網最多可以容納6萬台電腦

C類的默認子網掩碼    一個子網最多可以容納254台電腦

我以前認為,要想把一些電腦搞在同一網段,只要IP的前三段一樣就可以了,今天,我才知道我錯了。如果照我這説的話,一個子網就只能容納254台電腦?真是有點笑話。我們來説詳細看看吧。

要想在同一網段,只要網絡標識相同就可以了,那要怎麼看網絡標識呢?首先要做的是把每段的IP轉換為二進制。(有人説,我不會轉換耶,沒關係,我們用Windows自帶計算器就行。打開計算器,點查看>科學型,輸入十進制的數字,再點一下“二進制”這個單選點,就可以切換至二進制了。)

把子網掩碼切換至二進制,我們會發現,所有的子網掩碼是由一串[red]連續[/red]的1和一串[red]連續[/red]的0組成的(一共4段,每段8位,一共32位數)。

   11111111.00000000.00000000.00000000

  11111111.11111111.00000000.00000000

 11111111.11111111.11111111.00000000

這是A/B/C三類默認子網掩碼的二進制形式,其實,還有好多種子網掩碼,只要是一串連續的1和一串連續的0就可以了(每段都是8位)。如11111111.11111111.11111000.00000000,這也是一段合法的子網掩碼。子網掩碼決定的是一個子網的計算機數目,計算機公式是2的m次方,其中,我們可以把m看到是後面的多少顆0。如轉換成二進制,那就是11111111.11111111.11111111.00000000,後面有8顆0,那m就是8,這個子網掩碼可以容納2的8次方(台)電腦,也就是256台,但是有兩個IP是不能用的,那就是最後一段不能為0和255,減去這兩台,就是254台。我們再來做一個。

這個子網掩碼可以最多容納多少台電腦?

  計算方法:

把將其轉換為二進制的四段數字(每段要是8位,如果是0,可以寫成8個0,也就是00000000)

11111111.1111111.11111000.00000000

然後,數數後面有幾顆0,一共是有11顆,那就是2的11次方,等於2048,這個子網掩碼最多可以容納2048台電腦。

一個子網最多可以容納多少台電腦你會算了吧,下面我們來個逆向算法的題。

一個公司有530台電腦,組成一個對等局域網,子網掩碼設多少最合適?

首先,無疑,530台電腦用B類IP最合適(A類不用説了,太多,C類又不夠,肯定是B類),但是B類默認的子網掩碼是,可以容納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進制,那就是。

分配和計算子網掩碼你會了吧,下面,我們來看看IP地址的網段。

相信好多人都和偶一樣,認為IP只要前三段相同,就是在同一網段了,其實,不是這樣的,同樣,我樣把IP的每一段轉換為一個二進制數,這裏就拿IP:,子網掩碼:做實驗吧。

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 ,,先轉換為二進制,然後AND每一位

IP      11000000.10101000.00000000.00000001

子網掩碼    11111111.11111111.11111111.00000000

得出AND結果  11000000.10101000.00000000.00000000

轉換為十進制,這就是網絡標識,

再將子網掩碼反取,也就是00000000.00000000.00000000.11111111,與IP AND

得出結果00000000.00000000.00000000.00000001,轉換為10進制,即,

這就是主機標識。要想在同一網段,必需做到網絡標識一樣。

我們再來看看這個改為默認子網掩碼的B類IP

如IP:,,子網掩碼都設為,在同一網段嗎?

先將這些轉換成二進制

 10111100.10111100.00000000.01101111

 10111100.10111100.00000101.11011010

 11111111.11111111.11111110.00000000

分別AND,得

10111100.10111100.00000000.00000000

10111100.10111100.00000100.00000000

網絡標識不一樣,即不在同一網段。

判斷是不是在同一網段,你會了吧,下面,我們來點實際的。

一個公司有530台電腦,組成一個對等局域網,子網掩碼和IP設多少最合適?

子網掩碼不説了,前面算出結果來了11111111.11111111.11111100.00000000,也就是

我們現在要確定的是IP如何分配,首先,選一個B類IP段,這裏就選188.188.x.x吧

這樣,IP的前兩段確定的,關鍵是要確定第三段,只要網絡標識相同就可以了。我們先來確定網絡號。(我們把子網掩碼中的1和IP中的?對就起來,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和子網掩碼。