1. 程式人生 > >網段、子網和掩碼

網段、子網和掩碼

網絡

網段劃分

IP和子網掩碼

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

AIP段  0.0.0.0 127.255.255.255

BIP段  128.0.0.0 191.255.255.255

CIP段  192.0.0.0 223.255.255.255

  XP默認分配的子網掩碼每段只有2550

  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.011111111.00000000.00000000.00000000

255.255.0.011111111.11111111.00000000.00000000

255.255.255.011111111.11111111.11111111.00000000

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

255.255.248.0這個子網掩碼可以最多容納多少臺電腦

  計算方法:

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

11111111.1111111.11111000.00000000

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

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

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

  首先,無疑,530電腦用B類IP最合適(A類不用說了,太多,C類又不夠,肯定是B類),但是B類默認的子網掩碼是255.255.0.0,可以容納6萬臺電腦,顯然不太合適,那子網掩碼設多少合適呢?我們先來列個公式。

2m次方=560

  首先,我們確定2一定是大於8次方的,因為我們知道28次方是256,也就是C類IP的最大容納電腦的數目,我們從9次方一個一個試29次方是512,不到560210次方是1024,看來210次方最合適了。子網掩碼一共由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方法:010000111

  如:And192.168.0.1255.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,與IPAND

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

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

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

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

  先將這些轉換成二進制

188.188.0.11110111100.10111100.00000000.01101111

188.188.5.22210111100.10111100.00000101.11011010

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

255.255.252.011111111.11111111.11111100.00000000

188.188.x.x10111100.10111100.??????**.********

網絡標識   10111100.10111100.??????00.00000000

  由此可知,?處隨便填(只能用01填,不一定全是01),我們就用全填0吧,*處隨便,這樣呢,我們的IP就是

10111100.10111100.000000**.********,一共有530電腦,IP的最後一段1254可以分給254臺計算機,530/2542.086,采用進1法,得整數3,這樣,我們確定了IP的第三段要分成三個不同的數字,也就是說,把000000**中的**填三次數字,只能填10,而且每次的數字都不一樣,至於填什麽,就隨我們便了,如000000010000001000000011,轉換成二進制,分別是123,這樣,第三段也確定了,這樣,就可以把IP分成188.188.1.y188.188.2.y188.188.3.yy處隨便填,只要在1254範圍之內,並且這530電腦每臺和每臺的IP不一樣,就可以了。

  有人也許會說,既然算法這麽麻煩,幹脆用A類IP和A類默認子網掩碼得了,偶要告訴你的是,由於A類IP和A類默認子網掩碼的主機數目過大,這樣做無疑是大海撈針,如果同時局域網訪問量過頻繁、過大,會影響效率的,所以,最好設置符合自己的IP和子網掩碼

【轉自】https://wenku.baidu.com/view/7c764de9e009581b6bd9eb30.html?from=search

本文出自 “doublelinux” 博客,謝絕轉載!

網段、子網和掩碼