1. 程式人生 > >【科普】IP地址詳解-你,是誰?(二)

【科普】IP地址詳解-你,是誰?(二)

我聽見了你的聲音
也藏著顆不敢見的心
薛之謙--《我好像在哪見過你》

IP這個單詞隨著網際網路的發達而被人們熟知,但其中還藏著諸多內容不被人所熟知,那麼今次接著上回詳解的內容往下講,同時在這裡也要向為這篇文章提出意見和鼓勵的知友們真摯的道聲謝,感謝你們的支援和鼓勵,祝好。

1. IP地址分為有類和無類

1.1 簡介

在我們的實現生活IP地址分為有類和無類。

有類(主類)IP地址:主要分為A、B、C類,每種型別固定的掩碼。

無類IP地址:無論哪種型別的IP地址都沒有固定掩碼。

1.2 什麼是掩碼(子網掩碼)?

子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網路地址和主機地址兩部分。

簡單點說就像隔房間的牆,把大房間分割成一個個小房間。

2. 無類的IP地址規劃


比如有類:B類網段172.16.0.0,使用自然掩碼255.255.0.0

2.1 區分主類和無類的使用方式

當使用172.16.0.0主類方式劃分網段。以下網路地址規劃是錯誤(在不使用NAT情況下是錯誤的,NAT在後面的章節進行介紹)

因為:

172.16.4.1/16的網路地址是172.16.0.0

172.16.8.1/16的網路地址是172.16.0.0

網路地址一樣172.16.0.0=172.16.0.0

所以172.16.4.1/16和172.16.8.1/16是同一網段,這兩臺計算機中間隔著路由器需要在不同的網段。

錯誤的地址規劃:

比如無類:172.16.0.0無類的方式劃分網段。以下網路地址規劃是正確

因為:

172.16.4.1/24的網路地址是172.16.4.0

172.16.8.1/24的網路地址是172.16.8.0

網路地址不一樣172.16.4.0≠172.16.8.0

所以172.16.4.1/24和172.16.8.1/24是不同網段,這兩臺計算機中間隔著路由器需要在不同的網段;

正確的地址規劃:

2.2 掩碼的表示方式

192.168.1.7/28表示的方式如下

• 掩碼的計算公式

變數

a:掩碼;

b:8的最大倍數(b決定了有多少個255);

c:尾數(以下思維導圖內容);

計算公式

a-8*b=c

掩碼的表示,對應轉換,其他的掩碼以此類推;

• 例子

比如掩碼/20,c=20-8*2=4

a=20

b=2

c=4

b=2表示的方式有2個255;

c=4尾數為240;最後一組用0填充,255.255.240.0


2.3 網路地址計算方式

在無類地址中,網路地址轉換方式;

• 計算方式1

將IP地址通過子網掩碼計算出網路地址,首先將十進位制的IP地址和子網掩碼轉換為二進位制;

對IP和子網掩碼,進行與運算,兩個都為1時候為1,任何一個為0得出結果為0;

例如:192.168.1.7/28計算

• 計算方式2

變數

a=子網掩碼-8*倍數(a小於等於8)

b=地址數

c=網路地址

公式

b=2^(8-a)

c=b*整數倍 (c為最接近主機地址的網路地址)

c≤主機地址 (b為最接近主機地址)

• 例如1

192.168.1.7/28

a=28-24=4

b=16

c≤0

所以網路地址為192.168.1.0

• 例如2

192.168.1.101/22

a=22-16=6

b=2^(8-6)=4

c≤1(192.168.1.0的第三組為1)

c=0*4=0

所以網路地址為192.168.0.0

2.4 主機數計算

在一個網段中能夠支援多少個主機使用呢?下面我們來計算下主機數。在主機數的計算中我們要注意減去2個地址,這兩個地址分別是網路地址和廣播地址。

主機數為:

2n

可用主機數為 : 2n- 2


例如192.168.1.0/24能夠支援多少個主機?

2^8-2=254

所以能支援254個IP地址

例如192.168.0.0/22能夠支援多少個主機?

2^10-2=1022

所以能支援1022個IP地址

2.5 子網數計算

a能夠支援最大的主機的子網掩碼

b能夠支援最小的主機的子網掩碼

2^(b-a)=子網數

比如192.168.1.0/24能夠分配多少個/27子網掩碼的網段?

2^(27-24)=8

能夠支援8個子網數。

2.6 案例

某公司分配到C類地址201.222.5.0。假設需要20個子網,每個子網有5臺主機,我們該如何劃分?

1. 首先要5臺主機


2^n-2>5

所以n最小取值為3,掩碼為29

2. 能夠支援多少個子網?


首先C類地址那掩碼為/24位,然後進行無類掩碼/29位,計算2^(29-24)=32

能夠支援32個子網數。

2.7 無類地址進行劃分

例子:B類地址子網變長

B類地址從原來的/16變為/24,掩碼進行變長,這時候使用的是VLSM(可變長的子網掩碼);

掩碼邊長使網段的主機數減少,但增加了子網數量;

舉個例子,在現實生活中買100平米的房子,大多數人都會將房子分割成一個個功能區房間,餐廳,廚房等,雖然每個房間面積變小但是功能區分割清楚。這個跟我們IP地址進行VLSM意思一樣,在/16的時候地址空間是很大,但是沒法進行細分各個網段的功能;

掩碼 主機數 子網數

/16 65534 1

/24 254 256

比如172.16.0.0/16變長為/24這時候,地址範圍、網路地址、廣播地址產生變化,可以將容納更多的網段,但減少每個網段承載的主機數量。

例子:C類地址子網變長

C類地址從原來的/24變為/29,掩碼進行變長,這時候使用的是VLSM(可變長的子網掩碼);

掩碼邊長使網段的主機數減少,但增加了子網數量;

舉個例子,在現實生活中買50平米的房子,雖然房子小,但是還是會將房子分割成一個個功能區房間,餐廳,廚房等,雖然每個房間面積變小但是功能區分割清楚。在/24的時候地址空間是雖然不大,但是沒法進行細分各個網段的功能;

掩碼 主機數 子網數

/24 254 1

/29 6 32

比如192.168.5.0/24變長為/29這時候,地址範圍、網路地址、廣播地址產生變化,可以將容納更多的網段,但減少每個網段承載的主機數量。

2.8 子網掩碼變長路由彙總

子網掩碼變長以後使路由更容易進行彙總,比如右側有多個192.168.1.x的網段,這時候只需要釋出一條192.168.1.0/24路由就可以進行彙總,而且大大降低了地址的浪費,在後面講到路由和現網地址規劃內容就可知道彙總的重要性。

2.9 CIDR的使用

在現實網路中路由條目數決定了裝置的執行效率,就跟電腦開應用程式一樣,太多的運用程式佔用大量的內容,使機器變慢。路由也是一樣會佔用裝置的記憶體,路由條目數越多裝置執行越慢。所以有效的路由彙總可以大大的減少裝置的執行壓力。

比如以下右側的有3條C類路由,這時候在通告個周圍的鄰居的時候,正常情況下要3條路由。這時候如果使用CIDR將3條路由彙總為1條路由釋出,可以減少裝置的壓力。


2.10 生活小實驗,網段測試

實驗1

1.裝置

兩臺電腦A和B。(電腦要關閉防火牆)

2.配置

配置A的IP地址:192.168.1.1/24

配置B的IP地址:192.168.1.130/24

3.步驟

然後在A電腦執行輸入cmd

在視窗下ping 192.168.1.130

這時候是能夠通的。

實驗2

1.裝置:

兩臺電腦A和B。(電腦要關閉防火牆)

2.配置

配置A的IP地址:192.168.1.1/25

配置B的IP地址:192.168.1.130/25

3.步驟

然後在A電腦執行輸入cmd

在視窗下ping 192.168.1.130

這時候是不能通的。

總結:正常情況下處於同一網段的裝置能通訊,不同網段的裝置不能通訊(通過三層裝置閘道器能通)

IP地址就先講到這,還有很多地方還未說全,很多涉及到網路地址設計的內容,網路中的地址不止這麼簡單,各種用法,比如業務地址、實體地址、邏輯地址等等。

如有需要再進行更新IP相關內容。

如果對網路學習有興趣的同學可以掃碼新增我的個人微信。