詳解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,要求計算這個主機所在網路的網路地址和廣播地址?
-
根據子網掩碼可知網路號有27位,主機號有5位!
255.255.255.224 --> 11111111 11111111 11111111 11100000 # 子網掩碼
-
網路地址(把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
-
廣播地址(網路地址的主機位有5位,全部變成1)
202.112.14.128 --> 11001010 01110000 00001110 10000000 # 網路地址 || 202.112.14.159 <-- 11001010 01110000 00001110 10011111 # 廣播地址
即廣播地址: 202.112.14.159
-
主機數
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的是網路號,後面的是主機號
-
IP地址和子網掩碼進行與運算,結果是網路地址
即網路地址: 128.36.192.0
-
將運算結果中的網路地址不變,主機地址變為1,結果就是廣播地址(由子網掩碼可知主機號為12位)
10000000 00100100 11000000 00000000 --> 10000000 00100100 11001111 11111111 --> 128.36.207.255
即廣播地址: 128.36.207.255
-
地址範圍就是含在本網段內的所有主機
地址範圍是: 網路地址+1 至 廣播地址-1
網路地址: 128.36.192.0,廣播地址: 128.36.207.255
所以本例的網路範圍是:128.36.192.1 至 128.36.207.254
Tips:
網路地址+1
即第一個主機地址,廣播地址-1
即最後一個主機地址 -
主機的數量
主機的數量 = 2^主機號-2
即:主機的數量 = 2^12-2 = 4096-2 =4094
Tips:
減2
是因為主機不包括網路地址
和廣播地址
。
從上面兩個例子可以看出不管子網掩碼是標準的還是特殊的,計算網路地址、廣播地址、地址數時只要把地址換算成二進位制,然後從子網掩碼處分清楚連續1以前的是網路地址,後是主機地址進行相應計算即可。
206.110.4.0/18被劃分成16個子網,求每個子網掩碼?
劃分成16個子網,根據子網掩碼/18就表示有18個1,就要從的IP地址的主機位借4位來用作網路位
-
由字首長度18,得掩碼是 255.255.192.0
11111111 11111111 11000000 00000000 --> 255.255.192.0
Tips:206.110.4.0/18 由字首長度/18,可得網路位是18位,主機位是14位(其中1代表網路位,0代表主機位)
-
切分成16個子網(2^4=16)
-
可以看出能操作的位數就是後面的14個0,即可以在裡面劃分出幾位作為子網的網路位,進而來劃分子網。
-
要求是切分成16個子網,而2的4次方剛好等於16,則:
- 子網的網路位:
18+4 = 22
- 子網的主機位:
32-22 = 10
11111111 11111111 11111100 00000000 --> 255.255.252.0
- 子網的網路位:
-
結論:
- 子網掩碼是: 255.255.252.0
- 每個子網可以容納的主機數是: 2^10-2 = 1024-2, 即 1022臺;