1. 程式人生 > 其它 >詳解IP地址、子網掩碼、網路號、主機號、網路地址、主機地址

詳解IP地址、子網掩碼、網路號、主機號、網路地址、主機地址

詳解IP地址、子網掩碼、網路號、主機號、網路地址、主機地址



來源: https://blog.csdn.net/weixin_39676242/article/details/110257459

概念

  • IP地址:一般是指邏輯ip;
  • 子網掩碼:將IP劃分為網路號和主機號的IP;
  • 網路號/主機號:子網掩碼轉成二進位制後,連續全1的是網路號,後面的是主機號;
  • 網路/廣播/主機地址:在二進位制下,主機位全為零就是網路地址,主機位全為1就是廣播地址,其它就是主機地址。

相關計算

根據IP地址和子網掩碼,求網路地址和廣播地址

一個主機的IP地址是202.112.14.137,掩碼是255.255.255.224,要求計算這個主機所在網路的網路地址和廣播地址?

  1. 根據子網掩碼可知網路號有27位,主機號有5位!

    255.255.255.224  --> 11111111 11111111 11111111 11100000    # 子網掩碼
    
  2. 網路地址(把IP地址轉成二進位制和子網掩碼進行與運算

    202.112.14.137   --> 11001010 01110000 00001110 10001001    # ip地址
    
    255.255.255.224  --> 11111111 11111111 11111111 11100000    # 子網掩碼
    
    202.112.14.128   <-- 11001010 01110000 00001110 10000000    # 與操作
    

    即網路地址: 202.112.14.128

  3. 廣播地址(網路地址的主機位有5位,全部變成1)

    202.112.14.128   --> 11001010 01110000 00001110 10000000    # 網路地址
    
                                    ||
    
    202.112.14.159   <-- 11001010 01110000 00001110 10011111    # 廣播地址
    

    即廣播地址: 202.112.14.159

  4. 主機數

    2^5 - 2 = 30


根據每個網路的主機數量,計運算元網掩碼和子網地址的規劃

比如一個子網有10臺主機,那麼對於這個子網需要的IP地址是?

  • ip所需總數:
    10 + 1 + 1 + 1 =13

Tips:三個 1

分別是指閘道器地址網路地址廣播地址

  • 子網掩碼(因為 13 < 16(2^4=16),所以主機位為4位,網路位28位):

    11111111 11111111 11111111 11110000 --> 255.255.255.240
    

    或者根據主機位:
    2^8 - 2^4 = 256 - 16 = 240

所以該子網掩碼為 255.255.255.240

Tips: 如果一個子網有14臺主機,不少人常犯的錯誤是:依然分配具有16個地址空間的子網,而忘記了給閘道器分配地址。這樣就錯誤了,因為:


根據IP地址和子網掩碼,計算網路地址、廣播地址、地址範圍、主機數

IP地址為 128.36.199.3 子網掩碼是 255.255.240.0 , 算出網路地址、廣播地址、地址範圍、主機數

128.36.199.3    --> 10000000 00100100 11000111 00000011    # IP地址

255.255.240.0   --> 11111111 11111111 11110000 00000000    # 子網掩碼

128.36.192.0    <-- 10000000 00100100 11000000 00000000    # 與操作

Tips:子網掩碼連續全1的是網路號,後面的是主機號

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

    即網路地址: 128.36.192.0

  2. 將運算結果中的網路地址不變,主機地址變為1,結果就是廣播地址(由子網掩碼可知主機號為12位)

    10000000 00100100 11000000 00000000 --> 10000000 00100100 11001111 11111111 --> 128.36.207.255
    

    即廣播地址: 128.36.207.255

  3. 地址範圍就是含在本網段內的所有主機

    地址範圍是: 網路地址+1 至 廣播地址-1

    網路地址: 128.36.192.0,廣播地址: 128.36.207.255

    所以本例的網路範圍是:128.36.192.1 至 128.36.207.254

    Tips: 網路地址+1即第一個主機地址,廣播地址-1即最後一個主機地址

  4. 主機的數量

    主機的數量 = 2^主機號-2

    即:主機的數量 = 2^12-2 = 4096-2 =4094

    Tips:減2是因為主機不包括網路地址廣播地址

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


206.110.4.0/18被劃分成16個子網,求每個子網掩碼?

劃分成16個子網,根據子網掩碼/18就表示有18個1,就要從的IP地址的主機位借4位來用作網路位

  1. 由字首長度18,得掩碼是 255.255.192.0

    11111111 11111111 11000000 00000000 -->  255.255.192.0
    

    Tips:206.110.4.0/18 由字首長度/18,可得網路位是18位,主機位是14位(其中1代表網路位,0代表主機位)

  2. 切分成16個子網(2^4=16)

    • 可以看出能操作的位數就是後面的14個0,即可以在裡面劃分出幾位作為子網的網路位,進而來劃分子網。

    • 要求是切分成16個子網,而2的4次方剛好等於16,則:

      1. 子網的網路位: 18+4 = 22
      2. 子網的主機位: 32-22 = 10
      11111111 11111111 11111100 00000000 -->  255.255.252.0
      

結論:

  • 子網掩碼是: 255.255.252.0
  • 每個子網可以容納的主機數是: 2^10-2 = 1024-2, 即 1022臺;