網路知識之 IP 與子網掩碼

caohaoyu發表於2019-10-28

一、背景

與外公司進行業務合作的時候,需要提供我司的出口ip,用來開通白名單。

去找公司運維問出口ip,得到答覆說:XX.XX.XX.128/25 這個網段一百多個ip都是我們的ip

內心:???100+的ip?這個25代表什麼?應該是誤把255打成25了吧!恩,對的,應該是想說XX.XX.XX.128到XX.XX.XX.255這差不多有100多個的!!

但是畢竟是給外面公司,還是發揚不懂就問的精神吧!於是問了問這個25是什麼,運維大哥回答說這是子網掩碼。

幸好多問了一句,發現了個知識盲區,所以仔細去了解了下網路的基本知識,並整理記錄下來。

二、IP

1.IP是什麼

官方定義:IP地址是一種在Internet上的給主機編址的方式,也稱為網際協議地址。IP地址是IP協議提供的一種統一的地址格式,它為網際網路上的每一個網路和每一臺主機分配一個邏輯地址,以此來遮蔽實體地址的差異。常見的IP地址,分為IPv4與IPv6兩大類。主要介紹的是IPv4這一類。

2.IP的表現形式

IP地址是一個32位的二進位制數,但為了方便記憶,通常被分割為4個"8位二進位制數",並且用"點分十進位制"表示為a.b.c.d的形式,其中a,b,c,d都是0~255之間的十進位制整數。

3.IP地址分類

分類摘自百度百科
IP地址分為五類,各類可容納的地址數目不同:

A類保留給政府機構(0.0.0.0到127.255.255.255)

B類分配給中等規模的公司(128.0.0.0到191.255.255.255)

C類分配給任何需要的人(192.0.0.0到223.255.255.255)

D類用於組播(224.0.0.0---239.255.255.255)

E類用於實驗(240.0.0.0---247.255.255.255)

A、B、C三類中IP地址=網路地址+主機地址,而D、E兩類不區分網路地址和主機地址

特殊說明:

(1)A類中的 10.X.X.X是私有地址;127.X.X.X是保留地址

(2)B類中的 172.16.0.0~172.31.255.255是私有地址

(3)C類中的 192.168.X.X是私有地址

4.網路地址和主機地址

網路地址可以簡單理解我們平時常說的網段

主機地址則是在這個網段中不同裝置的地址

那麼提供一個IP地址,我們要怎麼得到網路地址和主機地址呢?

這時候就輪到子網掩碼上場了!

三、子網掩碼

1.作用

子網掩碼只有一個作用,就是將一個IP地址劃分成網路地址和主機地址兩部分。

(常見的掩碼是由一連串1+一連串0構成的,不過看網上資料也說1和0交替也是可以的)

預設分配的子網掩碼每段只有255或0

  • A類的預設子網掩碼 255.0.0.0
  • B類的預設子網掩碼 255.255.0.0  
  • C類的預設子網掩碼 255.255.255.0  
      

2.原理

子網掩碼與IP地址一樣是32位地址,然後將IP地址與子網掩碼進行與運算即可得到網路地址。

例:

IP地址為192.168.10.2,子網掩碼為255.255.255.240。
先將十進位制轉換成二進位制:
IP地址:  11000000 10101000 00001010 00000010
子網掩碼: 11111111 11111111 11111111 11110000
進行與運算:--------------------------
          11000000 10101000 00001010 00000000
則可得其網路標識為192.168.10.0,主機標識為2。

3.掩碼的不同表示形式

已經說過了子網掩碼也是32位的地址,那麼開頭的25怎麼轉化呢?

25的意思是網路號為25,就代表連續的25個1,然後剩下的用0補齊

即11111111 11111111 11111111 10000000

4.包含的其他資訊

還是以這個資訊為例:XX.XX.XX.128/25,我們還可以拿到什麼資訊呢?

(1)主機號:主機號+網路號=32,32-25=7

(2)網路地址:當7位主機號全為0,也就是XX.XX.XX.128

(3)廣播地址:當7位主機號全為1,也就是XX.XX.XX.255

(4)可用地址數量:7位主機號有2^7種結果,但是要去掉網路地址和廣播地址,即:2^7-2=126(這個也就是運維所說的一百多個ip)

這些資訊網上是有工具可以直接幫助計算的,只要瞭解原理即可。

四、最後

不要不懂裝懂,多問問還是沒什麼壞處的。

相關文章