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


 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM