1. 程式人生 > 其它 >子網掩碼、字首長度、IP地址數的換算

子網掩碼、字首長度、IP地址數的換算

子網掩碼、字首長度、IP地址數的換算



子網掩碼

子網掩碼只有一個功能,就是將IP地址劃分為網路地址和主機地址兩部分。 如同現實生活中的通訊地址,可以看作省市部分和具體門牌號部分。相同的IP地址,但掩碼不一樣,則指向的網路部分和主機部分不一樣。子網掩碼用來判斷任意兩臺計算機的IP地址是否在同一個子網中的根據。如果相同,說明兩臺計算機在同一個子網中,可以直接通訊;

  1. 按照TCP/IP協議規定,IP地址用二進位制來表示,每個IP地址長32bit,位元換算成位元組,就是4個位元組;
  2. 子網掩碼的長度也是32位,左邊是網路位,用二進位制數字“1”表示;右邊是主機位,用二進位制數字“0”表示;
  3. 子網掩碼常用兩種表示形式,一種是 點分十進位制表示法
    ,如: 255.255.255.0;另一種是用 字首長度 表示,如: 24;
  4. 子網掩碼不能單獨存在,它必須結合IP地址一起使用;
  5. 子網掩碼只有一個作用,就是將某個IP地址劃分成網路地址和主機地址兩部分;

子網掩碼計算

子網掩碼和字首長度的換算:

  • case 1

    255.255.255.0 --> 11111111 11111111 11111111 00000000

    網路號: 24
    主機號: 8
    ip個數: 256
    

    子網掩碼“255.255.255.0”的字首長度為: 24;
    後面一個數字可以在0~255範圍內任意變化,因此可以提供256個IP地址。但是實際可用的IP地址數量是256-2,即254個,因為主機號不能全是“0”或全是“1”。

  • case 2

    255.255.0.0 --> 11111111 11111111 00000000 00000000

    網路號: 16
    主機號: 16
    ip個數: 256² = 65536
    

    子網掩碼“255.255.0.0”的字首長度為: 16;
    後面兩個數字可以在0~255範圍內任意變化,可以提供 256² 個IP地址。但是實際可用的IP地址數量是256²-2,即65534個。

  • case 3

    255.255.252.0 --> 11111111 11111111 11111100 00000000

    網路號: 22
    主機號: 10
    ip個數: 256 * 2 = 512
    

    子網掩碼“255.255.252.0”的字首長度為: 22;
    可以提供 512 個IP地址。但是實際可用的IP地址數量是512 -2,即510個。

...

十進位制和二進位制的相互轉換傳送

不想計算的小夥伴可以參考下表


子網掩碼與ip個數對照表

來源: https://blog.csdn.net/xbin1981/article/details/79580080

子網掩碼 網路號/位 IP數
255.255.255.255 32 1
255.255.255.254 31 2
255.255.255.252 30 4
255.255.255.248 29 8
255.255.255.240 28 16
255.255.255.224 27 32
255.255.255.192 26 64
255.255.255.128 25 128
255.255.255.0 24 256
255.255.254.0 23 512
255.255.252.0 22 1024
255.255.248.0 21 2048
255.255.240.0 20 4096
255.255.224.0 19 8192
255.255.192.0 18 16384
255.255.128.0 17 32768
255.255.0.0 16 65536
255.254.0.0 15 131072
255.252.0.0 14 262144
255.248.0.0 13 524288
255.240.0.0 12 1048576
255.224.0.0 11 2097152
255.192.0.0 10 4194304
255.128.0.0 9 8388608
255.0.0.0 8 16777216
254.0.0.0 7 33554432
252.0.0.0 6 67108864
248.0.0.0 5 134217728
240.0.0.0 4 268435456
224.0.0.0 3 536870912
192.0.0.0 2 1073741824
128.0.0.0 1 2147483648
0.0.0.0 0 4294967296