【網工的福利來了!】用Excel表做的“子網划分&路由聚合計算器”


 

 

我們假設有這么一個場景。

 

紫竹:“文彬同學,這里有幾個子網連續的網段,10.108.1.0/24、10.108.2.0/24、10.108.3.0/24、10.108.4.0/24、10.108.5.0/24、10.108.6.0/24,你把這些網段聚合一下。”

 

謝文彬:“好嘞!”

 

結果,過了5分鍾,謝文彬還沒有把答案交過去。

當紫竹走到他面前時,才發現這小子還伏在電腦面前,辛辛苦苦的畫着二進制呢……

 

 

 

 

 

 

福利來了

 

 

捷哥根據自己對子網划分、路由聚合的理解,結合多年的工作經驗,用Excel做了一個比較粗糙,但是非常實用的Excel表格。用這個表格,讓你做子網划分/路由聚合的時候徹底告別二進制換算,讓你的工作效率更高,更准確。

 

 

 

 

 

 

制表原理

咱其實可以說一下用Excel做路由聚合計算器的原理。



就拿C段聚合來說吧,兩段子網連續C段10.110.0.0/2410.110.1.0/24,是可以聚合為/23的,即10.110.0.0/23。



如果給你4段子網連續C段:10.110.0.0/2410.110.1.0/2410.110.2.0/2410.110.3.0/2410.110.0.0/24和10.110.1.0/24可以聚合為10.110.0.0/2310.110.2.0/2410.110.3.0/24可以聚合為10.112.2.0/23,也可以把這4個連續C段聚合為10.110.0.0/22。



所以,這里可以看出來,/23包含2個/24(2個C)、/22包含2個/23和4個/24(4個C)。

於是,我們可以以此類推:



/21包含2個/22、4個/23、8個/24(8個C)

/20包含2個/21、4個/22、8個/23、16個/24(16個C)



直到一個/16,就包含255個C了,且C段正好是0-255,完全包含了IP地址256個數字

所以,我們就可以根據這個,在Excel內做一個表:

 

 

 

 

這張表格中的數字,就代表一個C段IP網段中,第三段的數值。

如果這個IP網段的前兩段是10.108,則這張表就代表了10.108.0.0/24—10.108.255.0/24。每一格都代表一個C段。

 

根據之前說過的,/23為兩個C、/22為4個C、/21為8個C、/20為16個C,我們就在這表格中對相應位置的單元格進行合並,得到如下這張表:

 

 

在這張表內,/23合並兩個單元格,/22合並4個單元格,/21合並8個、/20合並16個。

於是,一個格子的數字是一個/24、偶數小奇數大兩個就是/23、包含兩個/23的4個格子就是/22、包含兩個/22的8個格子就是/21、一行16個格子就是一個/20。

從圖上來看,就是16個/20

分別是x.x.0.0/20、x.x.16.0/20、x.x.32.0/20……依次類推

 

咱舉個例子:172.31.152.0/24、172.31.153.0/24、172.31.154.0/24、172.31.155.0/24要怎么聚合?

 

這正好是4個連續C,於是我們就可以在表格中,標出152、153、154、155的位置:

 

 

然后和表格上方的掩碼做一個比較:

 

 

結果你發現, 152、153、154、155正好處於一個/22的列內。這說明152、153、154、155可以聚合成一個/22,正好是一個4C段。

 

我們選舉152、153、154、155中的最小值152,得到結果:152.0/22,再加上這個網段的A、B兩段,就得到結論了:

 

172.31.152.0/24、172.31.153.0/24、172.31.154.0/24、172.31.155.0/24可以聚合為一個網段,結果是172.31.152.0/22。

 

咱再來看一個例子:

202.106.71.0/24—202.106.78.0/24,這8個連續C應該怎么聚合?

 

還是老規矩,在表格中標出71—78的位置:

 

 

 

再把71—78這段與表格上方的掩碼長度做一個對應,結果你發現:

 

 

 

有人會說,那71-78不也都在一行,都在/20里面嗎?

但是,71-78也就8個連續C,把它直接聚合為/20顯然太大了。

 

所以,得到結論是,:

 

A、202.106.71.0/24—202.106.78.0/24只能聚合202.106.72.0/24—202.106.78.0/24,聚合為202.106.72.0/21。

B、202.106.71.0/24只能單獨留出來

C、而未提及的202.106.79.0/24也必須作為這個區域預留網段了,最好不要分配給其他區域使用。

 

圖片

圖片

表格的擴充

圖片

 

看到這里有人會說了,你這張表格只能聚合到/20,那么,我要想聚合到/19、/18、/17怎么辦呢?實際上,這張表格還能繼續擴充掩碼,如下圖所示:

 

 

圖片

表格的數字,每一行都是一個/20段。

再根據/19是兩個/20、/18是4個/20、/17是8個/20的遞進關系,就可以在表格的左邊合並單元格,做出/17、/18、/19了

 

 

圖片

表格的數字,每一行都是一個/20段。

再根據/19是兩個/20、/18是4個/20、/17是8個/20的遞進關系,就可以在表格的左邊合並單元格,做出/17、/18、/19了。

 

利用路由聚合表判斷IP網段能否聚合。

 

首先說明一下,如果IP網段太離散,比如有人常用的垃圾IP:192.168.10.0/24、192.168.20.0/24……這肯定不能聚合,想都別想。要判斷IP網段能否聚合,必須是一段連續C。

 

比如,你得到的連續C是192.168.44.0/24—192.168.47.0/24,這正好是4段連續C,4C段的掩碼應該是/22,那你就在表格中找44-47的格子,看看這4個格子是不是能正好落在一個/22的大格子里。

 

 

圖片

 

那如果是192.168.44.0/24到192.168.58.0/24呢?

從44到58,有15個C段,也就是說192.168.44.0/24到192.168.54.0/24是15個C。也只有一個/20能裝得下15個C。

 

但是,從表格上來看,44—58沒法是沒法落在一個/20的大格子里的:

 

 

所以我們只能細分,我們發現:44-47是在一個/22格子里,48-51在一個/22格子里,52-55在一個/22格子里,剩下的56、57、58還在一個/22格子里,但這個格子里余了一個59。

 

於是,我們得到了4個/22的4C段:

192.168.44.0/22,192.168.48.0/22、192.168.52.0/22、192.168.56.0/22

 

這4個/22的4C段肯定是沒法聚合成一個/20的,因為在表格里面,只有在同一行內的網段才能聚合,跨行的網段是不能聚合的。

 

 

那就只能考慮把192.168.44.0/22,192.168.48.0/22、192.168.52.0/22、192.168.56.0/22聚合成兩個/21了。

 

但這里也要注意一點,跨行的不能聚合,處於中間位置的不能聚合。

 

跨行的不能聚合,這個好理解,192.168.44.0/22和192.168.48.0/22,里面包含的C段44—47、48—51就不在一行,這個肯定不能聚合。

 

那么192.168.48.0/22、192.168.52.0/22、192.168.56.0/22包含的48—58可都在一行內,怎么聚合呢?這就要看/21大格的落位情況了。如果是192.168.52.0/22、192.168.56.0/22,只能分別落在兩個/21大格內,這就叫做:處於中間位置的不能聚合。

 

 

最終:192.168.44.0/24到192.168.58.0/24聚合成三段

192.168.44.0/22、192.168.48.0/21、192.168.56.0/22。

 

處於中間位置不能聚合總結

 

同樣,當/23聚合為/22的時候,如果兩個/23分別落在了兩個/22里面,且處於兩個/22表格的中間位置,這兩個/23也是不能聚合成/22的。

 

比如10.112.2.0/23和10.112.4.0/23,就不能聚合成/22,同樣,10.112.66.0/23和10.112.68.0/23,也不能聚合成/22。

 

這個關系如下圖所示:

 

 

咱在把眼光放遠一點,如果是/20聚合到/19呢?

 

也滿足“中間位置不能聚合”,只是,/20聚合到/19是在左邊擴充的位置,要豎着看才行。

 

 

進一步擴充

圖片

 

計算表的進一步擴充:

 

如果你認為這張表只能計算/17-/24的路由聚合,那就錯了!這張表可以計算任何掩碼長度的路由聚合。

 

剛才,在我們的表格中,出現的0-255的數字都是IP地址的第三段,也就是C段,每個格子的數字代表一個/24;但在這個表格中,我們還可以把這0-255的數字都看成是IP地址的第四段,也就是D段。這時,每個數字代表的就是一個/32了。

 

再根據兩個/32為一個/31(實際上基本沒這種情況),兩個/31是一個/30,兩個/30是一個/29,我們就可以對表格做出如下擴充:

 

 

當你要計算/24的路由聚合的時候,你選中右下表格中的數字,這些數字就和有藍色背景色的掩碼長度大格子對齊計算;當你要計算/32主機路由聚合的時候,這些數字就和有白色背景色的掩碼長度大格子對齊計算。

 

當然,這個表格還可以用來計算掩碼小於/16的時候,咱讓表格中的數字代表一個/16,再進行一次擴充:

 

 

這樣,就得到了一個可以計算掩碼長度從/9-/32的IP地址划分表了

圖片

圖片

舉例說明表的用法

圖片

 

最后,我們舉幾個例子,告訴你這個表怎么用。

 

【例1】寫出下列地址的子網ID和廣播地址,並說出這個地址是否可用。

 

 

這里有9個地址,但是子網掩碼最長的是/16。我們要先進行一個分類,把掩碼長度小於/24的分成一類,把掩碼長度大於/24的分成一類。

於是有:

172.18.31.255/16、10.16.100.100/18、10.31.255.255/22、172.250.32.158/23為一類。

10.0.20.56/29、192.168.100.72/30、192.168.50.1/30、192.168.15.255/28為一類

 

掩碼取值在[24,32]的,參照計算表中白底色的計算格子,取IP地址中的第四段和表格中的數字對照。這個相對簡單一些:

 

比如10.0.20.56/29,我們就看數字56落在哪個/29掩碼格子的位置:

 

 

 

再看一個:192.168.15.255/28,找到255與/28大格對應的位置:

 

 

再看192.168.100.72/30,在表格中標出72的位置:

 

 

如果是掩碼范圍在[16,24]之間的,則相對來說要麻煩一些。我用10.16.100.100/18為例來說明一下。

 

首先要確認,10.16.100.100/18所在的子網ID。這時我們把表格內的數值看做是IP地址的C段,找到/18掩碼和數值100重合的區域,把100所在的/18的所有數值全選

 

 

從圖上可以看到,當100作為IP地址的第四段時,它既不是所選范圍的最小值,也不是最大值,肯定是一個可用地址。

 

所以,10.16.100.100/18既不是子網ID也不是廣播地址,所以是一個可用IP地址。只是在現網標准環境中,不可能有掩碼那么短的IP地址。

 

它的子網ID是10.16.64.0/18,廣播地址是10.16.127.255。

 

你要驗算也沒關系,打開ENSP模擬器,把這個地址配置在一個UP的物理接口上

 

 

【例2】下列網段不能聚合成一個掩碼盡可能短的大段?

 

第一組:10.108.64.64/26、10.108.64.128/26

第二組:10.112.11.0/24--10.112.20.0/24

第三組:10.112.81.0/24--10.112.90.0/24

 

先看第一組:10.108.64.64/26、10.108.64.128/26,掩碼長度大於/24,所以把表格中的數值看成是IP地址的D段。

在表格上先將這兩個/26的標出來,找到左下角/26的位置,可以看到10.108.64.64/26和10.108.64.128/26正好位於兩個/25的中間位置,這屬於“中間位置不能聚合”,所以,這兩個網段不能聚合成/25的大段。

 

 

第二組:10.112.11.0/24--10.112.20.0/24

這是C段地址聚合,所以我們要把11-20在表格中標出來,和灰色底色的掩碼格子對應

 

 

從11-20有“換行”的情況,所以11-20肯定不能聚合成一個大段了。但仔細看這個表格

11.0/24的C段是一個奇數,連續C里面的第一個段是奇數的話,這個網段就只能單獨出來了。所以11.0/24只能單獨成一段。

 

所以,要聚合成一個大段還有個先決條件:C段聚合時,第一個C段只能是偶數。

 

再看從12.0/24以后的,12、13、14、15落在了一個/22的格子里,但15以后有換行,所以12、13、14、15聚合成12.0/22。

剩下的16、17、18、19、20,是5個C,而16-19又落在了一個/22的格子里,所以16、17、18、19聚合成16.0/22,剩下的20.0/24也只能單獨出來了

 

 

最終10.112.11.0/24--10.112.20.0/24只能聚合成4個網段

10.112.11.0/24、10.112.12.0/22、10.112.16.0/22、10.112.20.0/24

 

第三組:10.112.81.0/24--10.112.90.0/24

就留給讀者自己去練習吧,在評論區把答案告訴我。

 

【例3】根據此表格做IP地址規划題

 

某公司共有生產部、研發部、銷售部、財務部、客服部5個部門和1組服務器,其中生產部和研發部各有主機50台,銷售部、財務部和客服部各有主機20台,服務器組有主機6台。該公司使用C類地址192.168.10.0/24,應該如何划分子網呢?

 

我們把表格稍微修改一下,然后直接往里面標記即可。按照主機數量多從到少進行標記。

給你的地址是192.168.1.0/24,讓你給這段地址划分子網,則表格中的數字肯定是IP的D段了。

 

先標記生產部的50台,用紅底白字進行標記:

 

 

再有一個50台主機的部門是研發部,由於前4行的數字已經分配給生產部了,所以研發部從數字的第5行,即64的位置還是標記,正好也是4行數字,也是一個/26。

 

 

然后就是銷售部、財務部和客服部各有主機20台,這個我們直接在表格中標記

 

 

20個主機就需要標記20個數字,而20個數字正好占兩行。兩行也就是一個/27

所以,銷售部、財務部和客服部分配的地址就是三個/27,分別是:

192.168.10.128/27、192.168.10.160/27、192.168.10.192/27

 

還剩余一個/27沒有分配。

而此時還有服務器組有主機6台,於是,我們在最后224開始的位置標記6個數字。見圖中的最上方掩碼/29和最下方綠底白字標記的數字。

 

 

綜上所述:針對這個需求做如下的IP地址規划:

 

生產部和研發部各有主機50台,使用192.168.10.0/26和192.168.10.64/26

銷售部、財務部和客服部各有主機20台,

使用192.168.10.128/27、192.168.10.160/27、192.168.10.192/27

服務器組有主機6台,使用192.168.10.224/29

 

整個需求順利完成,不用算二進制,直接從表格里面就能得到結果,簡單、准確、快速。

 

再提醒你一下,這個表格打印出來,也適合在沒有電腦的場合下用哦。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM