1. 程式人生 > >子網劃分及子網掩碼計算方法

子網劃分及子網掩碼計算方法

轉自: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位主機位,產生2^1-2=0個子網,每個子網有2^7個主機地址;
借用2位主機位,產生2^2-2=2個子網,每個子網有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.換成十進位制