除了從網路架構圖上直接數一數以外, 有沒有更快的方法? 其實 Cisco IOS 的 "show ip route summary" 命令, 正好可以幫助我們作快速估計.
命令 "show ip route summary" 欄位說明
命令 "show ip route summary" 是用來統計路由表中, 各個資訊來源所學習到的項目數分佈統計. 例如, 以下是之前有提過的一個討論BGP記憶體用量最佳化的官網片段:"Achieve Optimal Routing and Reduce BGP Memory Consumption"從以上的例子, IOS告訴我們路由表中, 經由"connected"學習到的, 一共有 0 個 "Networks", 跟 4 個 "Subnets". 其中:
(in "Background Information" section)
R1# show ip route summary IP routing table name is Default-IP-Routing-Table(0) Route Source Networks Subnets Overhead Memory (bytes) connected 0 4 256 576 static 0 1 64 144 eigrp 6 0 5 768 720 bgp XX 80132 18622 6320256 14326656 External: 87616 Internal: 11138 Local: 0 internal 854 994056 Total 80986 18632 6321344 15322152
- "Networks"指的是"恰好是一個完整的分等級世界的A, B, C網路route" 數.
- "Subnets"指的是"包含於某個分等級世界的A, B, C網路的子網路 routes" 都算在這個數字.
還有幾項統計數字要說明一下:
分項 "internal" 指的是某些"分等級世界的A, B, C網路", 有子網路出現在路由表中, 但是該A,B,C主網路route並沒有出現在路由表中. 符合這條件的A,B,C網路數統計在 "internal".
分項 "Total" 就是 Networks 數和 Subnets 數分別的總合.
至於路由表的數量如何跟網段數關連起來? 我們接下來討論.
如何看IP網段有幾個?
假設網路當中,沒有做過路由資訊彙整(route summarization), 這時候路由表的非BGP的路由數字的總和大約就是你所管理的IP網路的總網段數. 從以上的例字, 非BGP的資料來源有 "connected", "static", "eigrp 6", 所以大約有 "0+4 + 0+1 + 0+5 = 10" 個網段.BGP資訊之所以要排除, 是因為BGP的資訊正常應該都屬於是"非你所管的網路"的資訊. 當然, 如果你所管網路內部的路由資訊, 有透過BGP傳送 (例如:電信業者網路), 那以上數字也許需要加上部分的 BGP 網段數作調整.
當然, 如果完全沒有啟動 BGP, 那麼 Total Networks 跟 Total Subnets 的總和就剛好是總網段數的估計值.
另外, 最好選擇核心端的Router下這個命令來分析, 結果應該最接近正確的數字.
結論
經過以上的討論, 我們知道可以利用 "show ip route summary" 命令來快速估計你所管理的IP網路有幾個網段.我這篇文章其實有一個目的, 是想請大家一起動手估算一下自己所管的網路到底有幾個網段, 同時幫我驗證我的 "大膽假設": 非Service Provider的朋友, 網段數應該遠低於 10,000 個.
(我所管理過的IP網路, 每個的總網段數其實都不到 500 個.)
歡迎大家在後面留言, 聊聊您所管理過的網路, 最多出現過幾個網段!
0 意見:
張貼留言
小技巧:也可以 匿名 留言!