通過IP地址和子網掩碼,如何計算出網路地址、廣播地址和主機數?

小宇飛刀發表於2018-12-06

Q:通過IP地址和子網掩碼,如何計算出網路地址、廣播地址和主機數?

A:知道知道IP地址和子網掩碼後,通過 IP地址和子網掩碼的【與】運算,可以計算出以下相關地址:

  •     1、 網路地址
  •     2、 廣播地址
  •     3、 地址範圍
  •     4、 本網有幾臺主機

    例1:下面例子IP地址為192·168·100·5 子網掩碼是255·255·255·0。計算出網路地址、廣播地址、地址範圍、主機數。
)分步驟計算
    1) 將IP地址和子網掩碼換算為二進位制,子網掩碼連續全1的是網路地址,後面的是主機地址。 虛線前為網路地址,虛線後為主機地址
  

    2)IP地址和子網掩碼進行與運算,結果是網路地址 

      

    3) 將上面的網路地址中的網路地址部分不變,主機地址變為全1,結果就是廣播地址。 

      

    4) 地址範圍就是含在本網段內的所有主機 
    網路地址+1即為第一個主機地址,廣播地址-1即為最後一個主機地址,由此可以看出 
    地址範圍是: 網路地址+1 至 廣播地址-1 
    本例的網路範圍是:192·168·100·1 至 192·168·100·254 
    也就是說下面的地址都是一個網段的。 
    192·168·100·1、192·168·100·2 …… 192·168·100·20 …… 192·168·100·111 …… 192·168·100·254


    5) 主機的數量 
    主機的數量 = 2的二進位制主機位數-2,比如一個網段的二進位制主機位數為n,則主機數量=2^n-2 
    減2是因為主機不包括網路地址和廣播地址。本例二進位制的主機位數是8位。 
    主機的數量=2^8-2=254


(二)總體計算 
    我們把上邊的例子合起來計算一下過程如下: 

    

    例2:已知一臺主機的IP地址為128·36·199·3 子網掩碼是255·255·240·0。計算出該主機所在IP段的網路地址、廣播地址、地址範圍、主機數。 
    1) 將IP地址和子網掩碼換算為二進位制,子網掩碼連續全1的是網路地址,後面的是主機地址, 虛線前為網路地址,虛線後為主機地址 

    

    2)IP地址和子網掩碼進行與運算,結果是網路地址 

    

    3)將運算結果中的網路地址不變,主機地址變為1,結果就是廣播地址。 

    

    4) 地址範圍就是含在本網段內的所有主機 
    網路地址+1即為第一個主機地址,廣播地址-1即為最後一個主機地址,由此可以看出
    地址範圍是: 網路地址+1 至 廣播地址-1 
    本例的網路範圍是:128·36·192·1 至 128·36·207·254 

    5) 主機的數量 
    主機的數量=2二進位制位數的主機-2 
    主機的數量=212-2=4094 
    減2是因為主機不包括網路地址和廣播地址。 
    從上面兩個例子可以看出不管子網掩碼是標準的還是特殊的,計算網路地址、廣播地址、地址數時只要把地址換算成二進位制,然後從子網掩碼處分清楚連續1以前的是網路地址,後是主機地址進行相應計算即可。 

(三)實戰應用 

這是2017年騰訊模擬機試的一道題目:IP地址為10.123.6.11,子網掩碼為255.255.252.0,則本網段廣播地址是_____________。

解答:把點分十進位制的子網掩碼地址換算成二進位制:

  255     .    255    .   252     .    0
1111 1111 . 1111 1111 . 1111 1100 . 0000 0000        

發現子網掩碼有22個連續1,所以前22位作為網路地址,後10位作為主機地址,所以此IP地址書寫為10.123.6.11/22,跟這種分開寫法等價。

把IP地址跟子網掩碼取與(&)得到網路地址:

     10  . 123 .  0000  0110  .11
     255 . 255 .  1111  1100  .0
 &------------------------------------------------  
 =   10  . 123 .  0000  0100  .0  也就是說網路地址為 10.123.4.0

而廣播地址是網路地址的主機位全1,也就是10.123.4.0的後十位全變1就是廣播地址

10.123.0000 0100.0000 0000  變成:
10.123.0000 0111.1111 1111

所以廣播地址是 : 10.123.7.255

空裡面填:10.123.7.255

相關文章