在知道ip位址的情況下,求合適的子網掩碼

2021-07-16 23:36:47 字數 1926 閱讀 6817

ip位址(ip address)的概念及其子網掩碼(subnet mask)的計算對於首次學習網路知識的初學者來說是一件比較困難的事情。下文所述是我看到別人的稍作修改的結果,希望可以幫到大家。

按照目前使用的ipv4的規定,對ip位址強行定義了一些保留位址,即:「網路位址」和「廣播位址」。所謂「網路位址」就是指「主機號」全為「0」的ip位址,如:125.0.0.0(a類位址);而「廣播位址」就是指「主機號」全為「255」時的ip位址,如:125.255.255.255(a類位址)。

而子網掩碼,則是用來標識兩個ip位址是否同屬於乙個子網。它也是一組32位長的二進位制數值,其每一位上的數值代表不同含義:為「1」則代表該位是網路位;若為「0」則代表該位是主機位。和ip位址一樣,人們同樣使用「點式十進位制」來表示子網掩碼,如:255.255.0.0。

如果兩個ip位址分別與同乙個子網掩碼進行按位「與」計算後得到相同的結果,即表明這兩個ip位址處於同乙個子網中。也就是說,使用這兩個ip 位址的兩台計算機就像同一單位中的不同部門,雖然它們的作用、功能、乃至地理位置都可能不盡相同,但是它們都處於同乙個網路中。

子網掩碼計算方法

自從各種型別的網路投入各種應用以來,網路就以不可思議的速度進行大規模的擴張,目前正在使用的ipv4也逐漸暴露出了它的弊端,即:網路號佔位太多,而主機號位太少。目前最常用的一種解決辦法是對乙個較高類別的ip位址進行細劃,劃分成多個子網,然後再將不同的子網提供給不同規模大小的使用者群使用。使用這種方法時,為了能有效地提高ip位址的利用率,主要是通過對ip位址中的「主機號」的高位部分取出作為子網號,從通常的「網路號」界限中擴充套件或壓縮子網掩碼,用來建立一定數目的某類ip位址的子網。當然,建立的子網數越多,在每個子網上的可用主機位址的數目也就會相應減少。

要計算某乙個ip位址的子網掩碼,可以分以下兩種情況來分別考慮。

第一種情況:

無須劃分成子網的ip位址。

一般來說,此時計算該ip位址的子網掩碼非常地簡單,可按照其定義就可寫出。例如:某個ip位址為12.26.43.0,無須再分割子網,按照定義我們可以知道它是乙個a類位址,其子網掩碼應該是255.0.0.0;若此ip位址是乙個b類位址,則其子網掩碼應該為255.255.0.0;如果它是c類位址,則其子網掩碼為255.255.255.0。其它類推。

第二種情況:

要劃分成子網的ip位址。

當然,在求子網掩碼之前必須先清楚要劃分的子網數目,以及每個子網內的所需主機數目。

方法一:利用子網數來計算。

1.首先,將子網數目從十進位制數轉化為二進位制數;

2.接著,統計由「1」得到的二進位制數的位數,設為n;

3.最後,先求出此ip位址對應的位址類別的子網掩碼。再將求出的子網掩碼的主機位址部分(也就是「主機號」)的前n位全部置1,這樣即可得出該ip位址劃分子網的子網掩碼。

1)(28)10=(11100)2;

2)此二進位制的位數是5,則n=5;

3)此ip位址為b類位址,而b類位址的子網掩碼是255.255.0.0,且b類位址的主機位址是後2位(即0-255.1-254)。於是將子網掩碼255.255.0.0中的主 機位址前5位全部置1,就可得到255.255.248.0,而這組數值就是劃分成 28個子網的b類ip位址 167.194.0.0的子網掩碼。

方法二:利用主機數來計算。

1.首先,將主機數目從十進位制數轉化為二進位制數;

3.最後,使用255.255.255.255將此類ip位址的主機位址位數全部置為1,然後按照「從後向前」的順序將n位全部置為0,所得到的數值即為所求的子網掩碼值。

1)(500)10=(111110100)2;

2)此二進位制的位數是9,則n=9;

3)將該b類位址的子網掩碼255. 255.0.0的主機位址全部置 1,得到255.255.255.255。然後再從後向前將後9位置0,可得:11111111. 11111111.11111110.00000000即255.255.254.0。這組數值就是劃分成主機為500臺的b類ip位址 167.194.0.0的子網掩碼。

在合適的情況下選擇多行Update方式

筆記主題 update更新多行資料 oracle 更新日期 2013 07 25 說明 筆記總結了在工作中遇到過的幾種update方法和各種方法適用的範圍。1.單錶更新 方案 使用標準update語法即可,執行穩定且效率較高 update table set column1,column2,valu...

在合適的情況下選擇多行Update方式

筆記主題 update更新多行資料 oracle 更新日期 2013 07 25 說明 筆記總結了在工作中遇到過的幾種update方法和各種方法適用的範圍。1.單錶更新 方案 使用標準update語法即可,執行穩定且效率較高 update table set column1,column2,valu...

MySQL在知道密碼的情況下修改密碼

1.首先cmd開啟終端然後cd到你mysql的bin目錄下 c cd.c cd.兩次cd是退出c c cd d 安裝mysql的盤,我這裡是d盤 回車 當然如果你在外面配置了 環境變數 也就不要這麼麻煩了 d cd 你mysql的bin目錄 2.然後登入mysql 3.登入成功後下一步就是更改密碼 ...