子網掩碼概念及計算

轉自:https://blog.csdn.net/wuseyukui/article/details/24306645

一、子網掩碼的概述及作用

  1. 子網掩碼是一個應用於TCP/IP網絡的32位二進制值,每節8位,必須結合IP地址對應使用。
  2. 子網掩碼32位都與IP地址32位對應,如果某位是網絡地址,則子網掩碼爲1,否則爲0。
  3. 子網掩碼可以通過與IP地址“與”計算,分離出IP地址中的網絡地址和主機地址,用於判斷該IP地址是在局域網上,還是在廣域網上。
  4. 子網掩碼一般用於將網絡進一步劃分爲若干子網,以避免主機過多而擁堵或過少而IP浪費。

二、爲什麼要使用子網掩碼?

子網掩碼可以分離出IP地址中的網絡地址和主機地址,那爲什麼要分離呢?因爲兩臺計算機要通訊,首先要判斷是否處於同一個廣播域內,即網絡地址是否相同。如果網絡地址相同,表明接受方在本網絡上,那麼可以把數據包直接發送到目標主機,否則就需要路由網關將數據包轉發送到目的地。

三、子網掩碼的分類

1)缺省子網掩碼:

(未劃分子網)

子網掩碼32位與IP地址32位對應,如果某位是網絡地址,則子網掩碼爲1,否則爲0。例如A類IP地址,第一節爲網絡地址,其餘三節爲主機地址,故掩碼爲“11111111.00000000.00000000.00000000”

A類網絡缺省子網掩碼:255.0.0.0
B類網絡缺省子網掩碼:255.255.0.0
C類網絡缺省子網掩碼:255.255.255.0

2)自定義子網掩碼:

(用於劃分子網)

將一個網絡劃分爲若干子網,希望每個子網擁有不同的網絡地址或子網地址。因爲IP是有限的,實際上我們是將主機地址分爲兩個部分:子網網絡地址、子網主機地址。形式如下:

未做子網劃分的ip地址:網絡地址+主機地址
做子網劃分後的ip地址:網絡地址+(子網網絡地址+子網主機地址)

四、子網掩碼和ip地址的關係

子網掩碼是用來判斷任意兩臺計算機的IP地址是否屬於同一子網絡的根據。具體說就是兩臺計算機各自的IP地址與子網掩碼進行“與”運算後,如果得出的結果是相同的,則說明這兩臺計算機是處於同一個子網絡上的,可以進行直接的通訊。

例如:設IP地址爲192.168.10.2,子網掩碼爲255.255.255.240,那麼子網掩碼是怎樣來區分網絡地址和主機地址的呢。

 

主機地址爲:0.0.0.2(將掩碼取反,然後與運算)

五、爲什麼要要劃分子網?

例如:在A類IP地址中,每個A類網絡可能有16,777,214臺主機,它們處於同一廣播域。在同一廣播域中有這麼多主機是不可能的,網絡會因爲廣播通信而飽和。另一方面,IP地址資源越來越少。爲實現更小的廣播域,就需要進一步分成更小的網絡。劃分子網後,通過使用掩碼,把子網隱藏起來,使得從外部看網絡沒有變化,這就是子網掩碼。

六、子網劃分簡述

子網劃分是通過借用IP地址中若干位主機地址來充當子網的網絡地址,從而將原網絡劃分爲若干子網。

劃分子網時,隨着子網地址借用主機位數的增多,子網的數目隨之增加,但每個子網中的可用主機數逐漸減少。

如C類地址,原有8位主機位,2^8-2即254個主機地址,默認子網掩碼255.255.255.0。(全0或全1不可用)
借用1位主機位,產生2121=4個子網,每個子網有2^6個主機地址;
……
根據子網ID借用的主機位數,我們可以計算出劃分的子網數、掩碼、每個子網主機數,列表如下:

 

 

 

七、子網掩碼計算

1、利用子網數來計算

在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目。
1)將子網數目轉化爲二進制來表示
2)取得該二進制的位數,爲 N
3)取得該 IP地址的類子網掩碼,將其主機地址部分的的前N位置 1 即得出該IP地址劃分子網的子網掩碼。

如欲將C類IP地址192.168.10.0劃分成4個子網:
1)4=100
2)該二進制爲三位數,N = 3
3)將A類地址的子網掩碼255.255.255.0的主機地址前3位置 1,得到子網掩碼255.255.255.224。(具體見下圖)

 

2、利用主機數來計算

1)將主機數目轉化爲二進制來表示
2)如果主機數小於或等於254(注意去掉保留的兩個IP地址),則取得該主機的二進制位數。
3)將該類IP地址的主機地址位數全部置1,然後從後向前的將N位全部置爲 0,即爲子網掩碼值。

如欲將B類IP地址192.168.10.0劃分成若干子網,每個子網內有主機25臺:
1) 25=11001
2)該二進制爲十位數,N = 5
3)將該B類地址的子網掩碼 255.255.255.0的主機地址全部置 1,得到255.255.255.255,然後再從後向前將後5位置0,即爲:11111111.11111111.11111111.11100000,即255.255.252.224。

 

步驟總結:

1.子網數和主機數都可以計算子網掩碼,2.取得子網/主機的二進制位數,3.網絡地址置0主機地址置1,4.換成十進制

 

發佈了20 篇原創文章 · 獲贊 20 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章