IP地址專題二:子網掩碼入門

子網掩碼的主要功能是告知網絡設備,一個特定的IP地址的哪一部分是包含網絡地址與子網地址,哪一部分是主機地址。網絡的路由設備只要識別出目的地址的網絡號與子網號即可作出路由尋址決策,IP地址的主機部分不參與路由器的路由尋址操作,只用於在網段中唯一標識一個網絡設備的接口。

本來,如果網絡系統中只使用A、B、C這三種主類地址,而不對這三種主類地址作子網劃分或者進行主類地址的彙總,則網絡設備根據IP地址的第一個字節的數值範圍即可判斷它屬於A、B、C中的哪一個主類網,進而可確定該IP地址的網絡部分和主機部分,不需要子網掩碼的輔助。

但爲了使系統在對A、B、C這三種主類網進行了子網的劃分,或者採用無類別的域間選路技術(Classless Inter-Domain Routing,CIDR)對網段進行彙總的情況下,也能對IP地址的網絡及子網部分與主機部分作正確的區分,就必須依賴於子網掩碼的幫助。

子網掩碼使用與IP相同的編址格式,子網掩碼爲1的部分對應於IP地址的網絡與子網部分,子網掩碼爲0的部分對應於IP地址的主機部分。將子網掩碼和IP地址作"與"操作後,IP地址的主機部分將被丟棄,剩餘的是網絡地址和子網地址。例如,一個IP分組的目的IP地址爲:10.2.2.1,若子網掩碼爲:255.255.255.0,與之作"與"運算得:10.2.2.0,則網絡設備認爲該IP地址的網絡號與子網號爲:10.2.2.0。子網掩碼是用來判斷任意兩臺計算機的IP地址是否屬於同一子網絡的根據。

最爲簡單的理解就是兩臺計算機各自的IP地址與子網掩碼進行AND運算後,如果得出的結果是相同的,則說明這兩臺計算機是處於同一個子網絡上的,可以進行直接的通訊。就這麼簡單。
請看以下示例:
運算演示之一:aa

I P 地址  192.168.0.1

子網掩碼  255.255.255.0

AND運算

轉化爲二進制進行運算:

I P 地址 11010000.10101000.00000000.00000001

子網掩碼 11111111.11111111.11111111.00000000

AND運算

 11000000.10101000.00000000.00000000

轉化爲十進制後爲:

192.168.0.0

運算演示之二:

I P 地址  192.168.0.254

子網掩碼  255.255.255.0

AND運算

轉化爲二進制進行運算:

I P 地址 11010000.10101000.00000000.11111110

子網掩碼 11111111.11111111.11111111.00000000

AND運算

 11000000.10101000.00000000.00000000

轉化爲十進制後爲:

192.168.0.0

運算演示之三:

I P 地址  192.168.0.4

子網掩碼  255.255.255.0

AND運算

轉化爲二進制進行運算:

I P 地址 11010000.10101000.00000000.00000100

子網掩碼 11111111.11111111.11111111.00000000

AND運算

 11000000.10101000.00000000.00000000

轉化爲十進制後爲:

192.168.0.0

通過以上對三組計算機IP地址與子網掩碼的AND運算後,我們可以看到它運算結果是一樣的。均爲192.168.0.0

所以計算機就會把這三臺計算機視爲是同一子網絡,然後進行通訊的。我現在單位使用的代理服務器,內部網絡就是這樣規劃的。

也許你又要問,這樣的子網掩碼究竟有多少了IP地址可以用呢?你可以這樣算。

根據上面我們可以看出,局域網內部的ip地址是我們自己規定的(當然和其他的ip地址是一樣的),這個是由子網掩碼決定的通過對255.255.255.0的分析。可得出:

前三位IP碼由分配下來的數字就只能固定爲192.168.0所以就只剩下了最後的一位了,那麼顯而易見了,ip地址只能有(2的8次方-1),即256-1=255一般末位爲0或者是255的都有其特殊的作用。

但是這樣劃分但浪費地址了,所以後來又引出一種叫VLSM(可變長掩碼)的新算法。

如果共有50臺機器,那一定是用C類地址。但是如果用C類的話每一個網段可以用到253臺主機而你現在只有50臺,這樣的話不是要浪費200臺了嗎?但是如果用了VLSM就不同了請看。

如果是靜態掩碼的話C類地址因該是255.255.255.0

50<2的7次方,化爲十進制就是64。所以VLSM就是255.255.255.64

例一:IP:192.168.0.1

SubstMask:255.255.255.64

轉化爲二進制11000000.10101000.00000000.00000001

11111111.11111111.00000000.1000000

AND與運算

11000000.10101000.00000000.00000000

轉化爲十進制192.168.0.0

例二:192.168.0.50

SubstMask:255.255.255.64

轉化爲二進制11000000.10101000.00000000.00110010

11111111.11111111.11111111.01000000

AND與運算

11000000.10101000.00000000.00000000
轉化爲十進制192.168.0.0

以上二個地址在同一網段

再看:

例三:IP:192.168.0.65

SubstMask:255.255.255.64

轉化爲二進制11000000.10101000.00000000.01000001

11000000.10101000.00000000.01000000

AND與運算

110000000.10101000.00000000.010000000

轉化爲十進制192.168.0.64

劃開了!!就這麼簡單!
子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網絡地址和主機地址兩部分。

子網掩碼的設定必須遵循一定的規則。與IP地址相同,子網掩碼的長度也是32位,左邊是網絡位,用二進制數字“1”表示;右邊是主機位,用二進制數字“0”表示。附圖所示的就是IP地址爲“192.168.1.1”和子網掩碼爲“255.255.255.0”的二進制對照。其中,“1”有24個,代表與此相對應的IP地址左邊24位是網絡號;“0”有8個,代表與此相對應的IP地址右邊8位是主機號。這樣,子網掩碼就確定了一個IP地址的32位二進制數字中哪些是網絡號、哪些是主機號。這對於採用TCP/IP協議的網絡來說非常重要,只有通過子網掩碼,才能表明一臺主機所在的子網與其他子網的關係,使網絡正常工作。

常用的子網掩碼

子網掩碼有數百種,這裏只介紹最常用的兩種子網掩碼,它們分別是“255.255.255.0”和“255.255.0.0”。

1. 子網掩碼是“255.255.255.0”的網絡:最後面一個數字可以在0~255範圍內任意變化,因此可以提供256個IP地址。但是實際可用的IP地址數量是256-2,即254個,因爲主機號不能全是“0”或全是“1”。

2. 子網掩碼是“255.255.0.0”的網絡:後面兩個數字可以在0~255範圍內任意變化,可以提供2552個IP地址。但是實際可用的IP地址數量是2552-2,即65023個。

IP地址的子網掩碼設置不是任意的。如果將子網掩碼設置過大,也就是說子網範圍擴大,那麼,根據子網尋徑規則,很可能發往和本地機不在同一子網內的目的機的數據,會因爲錯誤的判斷而認爲目的機是在同一子網內,那麼,數據包將在本子網內循環,直到超時並拋棄,使數據不能正確到達目的機,導致網絡傳輸錯誤;如果將子網掩碼設置得過小,那麼就會將本來屬於同一子網內的機器之間的通信當做是跨子網傳輸,數據包都交給缺省網關處理,這樣勢必增加缺省網關的負擔,造成網絡效率下降。因此,子網掩碼應該根據網絡的規模進行設置。

如果一個網絡的規模不超過254臺電腦,採用“255.255.255.0”作爲子網掩碼就可以了,現在大多數局域網都不會超過這個數字,因此“255.255.255.0”是最常用的IP地址子網掩碼;筆者見到的最大規模的中小學校園網具有1500多臺電腦,這種規模的局域網可以使用“255.255.0.0”。

默認子網掩碼

在Windows 2000 Server中,如果給一個網卡指定IP地址,系統會自動填入一個默認的子網掩碼。這是Windows 2000 Server爲了節省用戶輸入時間自動產生的子網掩碼。比如,局域網最常使用的IP地址“192.168.x.x”默認的子網掩碼是“255.255.255.0”。一般情況下,IP地址使用默認子網掩碼就可以了。
子網劃分與實例根據以上分析,建議按以下步驟和實例定義子網掩碼。

1、將要劃分的子網數目轉換爲2的m次方。如要分8個子網,8=23。

2、取上述要劃分子網數的2的m次方的冪。如23,即m=3。

3、將上一步確定的冪m按高序佔用主機地址m位後轉換爲十進制。如m爲3 則是11100000,轉換爲十進制爲224,即爲最終確定的子網掩碼。如果是C類網,則子網掩碼爲255.255.255.224;如果是B類網,則子網掩碼爲255.255.224.0;如果是C類網,則子網掩碼爲255.224.0.0。

在這裏,子網個數與佔用主機地址位數有如下等式成立:2m=n。其中,m表示佔用主機地址的位數;n表示劃分的子網個數。根據這些原則,將一個C類網絡分成4個子網。若我們用的網絡號爲192.9.200,則該C類網內的主機IP地址就是192.9.200.1~192.9.200.254(因爲全“0”和全“1”的主機地址有特殊含義,不作爲有效的IP地址),現將網絡劃分爲4個部分,按照以上步驟:

4=22,取22的冪,即2,則二進制爲11,佔用主機地址的高序位即爲11000000,轉換爲十進制爲192。這樣就可確定該子網掩碼爲:192.9.200.192,4個子網的IP地址範圍分別爲:

二進制十進制

① 11000000 00001001 11001000 00000001 11000000 00001001 11001000 00111110 192.9.200.1

192.9.200.62

② 11000000 00001001 11001000 01000001 11000000 00001001 11001000 01111110 192.9.200.65

192.9.200.126

③ 11000000 00001001 11001000 10000001 11000000 00001001 11001000 10111110 192.9.200.129

192.9.200.190

④ 11000000 00001001 11001000 11000001 11000000 00001001 11001000 11111110 192.9.200.193

192.9.200.254

在此列出A、B、C三類網絡子網數目與子網掩碼的轉換表,以供參考。

A類:
子網數目 佔用位數子網掩碼子網中主機數

 2 1255.128.0.08,388,606

 4 2255.192.0.04,194,302

 8 3255.224.0.02,097,150

 16 4255.240.0.01,048,574

 32 5255.248.0.0524,286

 64 6255.252.0.0262,142

 1287255.254.0.0131,070

 1288255.255.0.065,534
B類:
子網數目 佔用位數子網掩碼子網中主機數

 2 1255.255.128.0 32,766

 4 2255.255.192.0 16,382

 8 3255.255.224.0 8,190

 16 4255.255.240.0 4,094

 32 5255.255.248.0 2,046

 64 6255.255.252.0 1,022

 1287255.255.254.0 510

 2568255.255.255.0 254
C類:
子網數目 佔用位數子網掩碼子網中主機

 2 1255.255.255.128 126

 4 2255.255.255.192 62

 8 3255.255.255.224 30

 16 4255.255.255.240 14

 32 5255.255.255.248 6

 64 6255.255.255.252 2

0

收藏

zcmsgk

20篇文章,2W+人氣,0粉絲

Ctrl+Enter 發佈

發佈

取消

掃一掃,領取大禮包

0

分享
zcmsgk
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章