IP 超網路計算機
輸入
| CIDR 區塊 | 192.168.0.0/24 192.168.1.0/24 |
|---|
IP 超網路計算機
輸入一組 IPv4 CIDR 區塊,找出能涵蓋全部區塊的最小單一超網路——也就是把多個子網路彙總成單一前綴的聚合路由。
輸入
CIDR 區塊
結果
輸入數值即可顯示計算結果。
聚合超網路
IP 超網路
超網路化是把數個相鄰的 IPv4 網路收攏成單一、更大的 CIDR 區塊的做法。子網路化是拉長前綴把一個網路切成許多較小的網路,超網路化則正好相反:它縮短前綴,讓一個區塊代表整組網路。其結果稱為超網路、聚合或彙總路由,而找出這個區塊正是維持路由表乾淨精簡背後的日常工作。
本計算機接收一份 CIDR 區塊清單,並回傳仍能涵蓋清單中每一個位址的最小超網路。這裡的「最小」指的是前綴最長的區塊——在仍包含所有輸入的前提下,浪費最少位址空間的那一個。
如何找出超網路
每個 CIDR 區塊都描述一段連續的位址範圍。寫成 a.b.c.d/p 的區塊包含 個位址,從本身大小整數倍的基底位址開始,到下一個對齊區塊開始的前一個位址結束。要聚合一份清單,計算機會先把每個輸入化簡成數值範圍:所有區塊中最低的網路位址成為下限,最高的廣播位址成為上限。
超網路必須是一個包含整段(從下限到上限)的有效 CIDR 區塊。它受到兩條規則約束:
- 它的大小必須是 2 的次方: 個位址。
- 它的基底位址必須對齊——是本身大小的整數倍。
計算機會從最長前綴(/32)往最短前綴(/0)逐一檢視,回傳第一個其對齊區塊能完整包含下限到上限整段的前綴。由於先嘗試較長的前綴,答案永遠是最緊密的可能組合。
一個實例
取兩個相鄰網路 192.168.0.0/24 與 192.168.1.0/24。每個各含 256 個位址。第一個從 192.168.0.0 到 192.168.0.255,第二個從 192.168.1.0 到 192.168.1.255。合起來形成一段連續的 512 個位址範圍,從 192.168.0.0 到 192.168.1.255。
512 個位址的區塊是 /23,因為 。基底位址 192.168.0.0 在第三和第四個八位元組上是 512 的整數倍,所以是正確對齊的。因此這兩個 /24 網路恰好聚合成 192.168.0.0/23:
沒有任何位址空間被浪費:這個超網路精確地包含兩個輸入的位址,沒有多餘。這是理想情況,輸入本身就剛好鋪滿一個對齊區塊。
當超網路涵蓋超過你輸入的範圍時
聚合無法打破 2 的次方與對齊規則,所以答案有時會跨越比輸入本身更多的位址。考慮 172.16.5.0/24 與 172.16.6.0/24。它們合併後的範圍從 172.16.5.0 到 172.16.6.255——512 個位址。但這段範圍並非起始於 /23 的邊界,因為 172.16.5.0 不是 512 的整數倍。仍能涵蓋兩者的最小對齊區塊是 /22 區塊 172.16.4.0/22,它包含四倍之多的位址:
這個 /22 也包含從未出現在清單中的 172.16.4.0/24 與 172.16.7.0/24。這是彙總無法避免的代價:為了通告單一前綴,你可能必須宣告一個稍大、對齊的區塊。網路工程師在設計位址計畫時會權衡這項取捨,常刻意把子網路安排在 2 的次方邊界上,正是為了讓未來的聚合保持緊密。
為什麼聚合很重要
路由器一次通告一個前綴的可達性。在大型網路中,逐一通告每個子網路會用大量條目淹沒鄰居,並使路由表膨脹。路由聚合會用一條彙總路由——也就是超網路——取代一整群明細路由,讓鄰居只學到單一前綴,而不是幾十條。路由表越小,查表越快、記憶體用量越低、路由更新也更穩定,因為聚合內部的某個抖動不會再向外擴散。這正是彙總成為 BGP 與階層式企業設計中基礎技術的原因。
同樣的運算在撰寫防火牆規則、存取控制清單與位址管理文件時也很有幫助:單一超網路比一長串相鄰區塊更易於閱讀與維護。
相關計算機
若要往反方向切割一個區塊,或檢視單一網路的遮罩、範圍與主機數量,請使用 子網路(CIDR)計算機。若要計算兩個任意端點之間的位址數量、並查看它們是否構成一個 CIDR 區塊,請試試 IP 位址範圍計算機。
常見問題(FAQ)
什麼是超網路?
超網路是包含數個較小區塊的單一 CIDR 區塊。子網路化是把一個網路切割成多個,超網路化則相反:它把數個相鄰網路合併成一個更大的前綴。
舉例來說,192.168.0.0/24 和 192.168.1.0/24 合起來佔用的位址空間和 192.168.0.0/23 相同,所以 /23 就是它們的超網路。本計算機會回傳最小的超網路——前綴最長、仍能涵蓋你輸入每一個區塊的那一個。
這在路由聚合中如何運用?
路由器會通告自己能到達的網路。當許多相鄰子網路共用同一條上游路徑時,逐一通告會讓路由表膨脹。聚合會用一條彙總路由——也就是超網路——取代那些條目,讓鄰居只學到單一前綴,而不是幾十條。路由表越小,查表越快、記憶體用量越低、更新也更穩定,這正是聚合成為 BGP 與大型企業網路核心做法的原因。
為什麼超網路有時涵蓋的範圍會超過輸入的區塊?
每個 CIDR 區塊都包含 2 的次方個位址,並且起始於本身大小整數倍的邊界上。能涵蓋任意一組輸入的最小區塊必須同時滿足這兩條規則,因此它可能延伸到你實際列出的位址之外。
例如,172.16.5.0/24 和 172.16.6.0/24 會被 172.16.4.0/22 涵蓋,而後者也包含未輸入的 172.16.4.0/24 與 172.16.7.0/24。聚合一定會向外湊到最接近的對齊 2 的次方區塊。
超網路和子網路有什麼差別?
它們是同一概念的兩個方向。子網路化是拉長前綴,把一個網路切成更小的片段——一個 /24 變成兩個 /25。超網路化是縮短前綴,把網路合併起來——兩個 /24 變成一個 /23。前綴越短,區塊一定越大。如果你想切割一個區塊而不是合併區塊,請使用子網路計算機。