胡 云
(無錫市廣播電視大學,江蘇 無錫 214011)
基于路由匯總的網絡故障分析
胡 云
(無錫市廣播電視大學,江蘇 無錫 214011)
路由匯總能減少對外廣播的路由條目,節省路由器的資源,提高網絡運行的效率.但不恰當的路由匯總也會造成網絡故障,根據網絡的實際情況合理地配置路由匯總,可以在保證網絡正常運行的前提下最大限度地減少網絡資源的消耗.
網絡故障;路由匯總;路由
路由匯總,也稱路由匯聚,它是把一組路由匯總為一個單個的路由.它帶來的直接結果是縮小網絡上路由表的尺寸,這樣查詢路由表的速度將加快,與每一個路由跳有關的延遲會減小,路由協議的開銷也將顯著減少.隨著網絡規模的不斷擴大,特別是子網數量的迅速增加,路由匯總變得越來越重要,對網絡運行的效率有著重要的影響.但不恰當的路由匯總不僅不能提高網絡的效率,而且會造成意想不到的網絡故障,所以應根據網絡的實際情況合理地配置路由匯總,這樣才能在保證網絡正常運行的前提下最大限度地減少網絡資源的消耗.
子網掩碼又叫網絡掩碼,其作用是指明IP地址中哪些位標識的是主機所在的子網、哪些位標識的是主機位,也就是將IP地址劃分成網絡地址和主機地址2個部分.子網掩碼不能單獨存在,它必須結合IP地址一起使用.
可變長子網掩碼(Variable Length Subnet Mask,VLSM)是為了解決在一個網絡系統中使用多種層次的子網化IP地址的問題,VLSM是相對于有類的IP地址來說的.IP地址根據網絡ID的不同分為5種類型:A、B、C、D和E類地址.D類地址主要用于多點廣播,E類地址為將來使用保留,故常用的是A、B和C類地址.A類地址的第一段是網絡號(前8位),B類地址的前兩段是網絡號(前16位),C類的前三段是網絡號(前24位).而VLSM的作用就是在有類的IP地址的基礎上,從它們的主機號部分借出相應的位數來做網絡號,也就是增加網絡號的位數.各類網絡可以用來再劃分的位數為:A類有24位可以借,B類有16位可以借,C類有8位可以借.可以再劃分的位數就是主機號的位數,實際上不可以都借出來,因為IP地址中必須要有主機號的部分,而且主機號部分剩下1位是沒有意義的,剩下1位的時候不是代表網絡號就是代表廣播號,所以在實際中可以借的位數是在理論數字中再減去2.這是一種產生不同大小子網的網絡分配機制,一個網絡可以配置不同的掩碼.開發VLSM就是在每個子網上保留足夠的主機數的同時,把一個網分成多個子網時有更大的靈活性.如果沒有VLSM,一個子網掩碼只能提供給一個網絡,這樣就限制了要求的子網數上的主機數.
通常,VLSM只有在路由協議支持的情況才能使用,例如開放式最短路徑優先路由選擇協議(Open Shortest Path First,OSPF)和高級距離矢量路由選擇協議(Enhanced Interior Gateway Routing Protocol,EIGRP)是支持的.目前,RIP版本2可以支持VLSM.
路由是信息從信息源出發后選擇路徑穿過網絡傳遞到目的地的行為.在這條路徑上,至少會遇到一個中間節點,在這個中間節點上如何選擇路徑就叫路由.路由分為靜態路由和動態路由,其相應的路由表稱為靜態路由表和動態路由表.靜態路由表由網絡管理員在系統安裝時根據網絡的配置情況預先設定,網絡結構發生變化后由網絡管理員手工進行修改.動態路由隨網絡運行情況的變化而變化,路由器根據路由協議提供的功能自動計算數據傳輸的最佳路徑,由此得到動態路由表.
路由協議用于路由器動態尋找網絡最佳路徑,保證所有路由器擁有一致的路由表,并決定數據包在網絡上的傳輸路徑.根據路由算法,路由協議可分為距離向量路由協議(Distance Vector Routing Protocol,DVRP)和鏈路狀態路由協議(Link State Routing Protocol,LSRP).距離向量路由協議基于 Bellman-Ford算法,主要有RIP、IGRP(IGRP為Cisco公司的私有協議);鏈路狀態路由協議基于圖論中非常著名的Dijkstra算法,即最短優先路徑(Shortest Path First,SPF)算法,如OSPF.在距離向量路由協議中,路由器將部分或全部的路由表傳遞給與其相鄰的路由器;而在鏈路狀態路由協議中,路由器將鏈路狀態信息傳遞給在同一區域內的所有路由器.
距離向量路由協議使用跳數或向量來確定從一個設備到另一個設備的距離,而不考慮每跳鏈路的速率.鏈路狀態路由協議使用“圖形理論”算法或最短路徑優先算法,沒有跳數的限制,也不像距離向量路由協議那樣,更新時發送整個路由表,它只廣播更新的或改變的網絡拓撲,這使得更新信息量更小,節省了帶寬和CPU利用率.鏈路狀態路由協議有更短的收斂時間,并支持 VLSM和無類型域間選路(Classless Inter-Domain Routing,CIDR).
在大型網絡環境中,在同一網內可能使用多種路由協議,為了實現多種協議的協同工作,路由器使用路由重分發將從一種路由協議學習到的路由分發進另外一種路由協議,實現路由協議的遷移.
CIDR將路由集中起來,使一個IP地址代表ISP服務的幾千個IP地址,從而減輕Internet路由器的負擔.CIDR對原來用于分配A、B和C類地址的有類別路由選擇進程進行了重新構建.CIDR用不定長的前綴取代了原來IP地址結構對網絡部分的限制(A、B、C類地址的網絡部分分別被限制為8位、16位和24位),從而能更好地滿足機構對地址的特殊需求.CIDR地址中包含標準的32位IP地址和有關網絡前綴位數的信息.以CIDR地址222.80.18.18/25為例,其中“/25”表示其前面地址中的前25位代表網絡部分,其余位代表主機部分.
CIDR建立于“超級組網”的基礎上,“超級組網”是“子網劃分”的派生詞,可看成子網劃分的逆過程.子網劃分時,從IP地址主機部分借位,將其合并進網絡部分;而在超級組網中,則是將網絡部分的某些位合并進主機部分.這種無類別超級組網技術通過將一組較小的無類別網絡匯聚為一個較大的單一路由表項,減少了Internet路由域中路由表條目的數量.
在實驗中,本研究構建的網絡拓撲結構如圖1所示.

圖1 網絡拓撲結構圖
1)設備IP地址配置如表1所示.

表1 設備IP地址配置表
2)具體配置要求如下:
①172.16.1.0、172.16.4.0、192.168.1.0 和192.168.3.0 網段運行 RIP 協議(版本2).
②172.16.2.0、172.16.3.0 和 192.168.2.0 網段運行OSPF協議.
網絡的具體配置方案為:
1)按表1要求給相應設備接口配置IP地址.
2)路由器路由配置如下:
①R1路由器路由配置為,




3.4.1 故障現象.
本實驗設置的故障現象為:PC1、PC2、PC3和PC4相互之間無法訪問.
3.4.2 故障分析.
1)測試各網段PC機能否訪問路由器網關,從各網段PC機ping各網段路由器網關IP地址,發現訪問正常,故可排除IP地址配置錯誤此項故障原因.
2)檢查各路由器路由表的信息,結果如圖2~5所示.

圖2 路由器R1的路由表信息

圖3 路由器R2的路由表信息

圖4 路由器R3的路由表信息

圖5 路由器R4的路由表信息
由圖2~5可知,用show ip route查看各路由器路由表信息,發現R1路由器沒有學習到172.16.2.0和172.16.4.0網段信息;R2路由器沒有學習到172.16.1.0和172.16.4.0網段信息;R3路由器沒有學習到172.16.1.0和172.16.4.0網段信息;R4路由器沒有學習到172.16.1.0和172.16.3.0網段信息.據此可初步判斷網絡故障與路由配置有關,因為網絡中配置用到了RIP和OSPF 2種路由協議,所以應先檢查網絡故障是否是由不同的路由協議之間重發布引起的.為了排除其他因素干擾,明確故障原因,將R2和R3之間的連線斷開,測試發現PC1和PC2、PC3和PC4之間相互能ping通,故路由重發布是正確的,可排除此故障原因.
3)為了進一步診斷故障,分別從 PC1、PC2和PC3向PC4執行tracert命令(見圖6~8),通過查看IP數據包訪問目標所采取的路徑來確定故障原因.

圖6 PC1向PC4執行tracert命令

圖7 PC2向PC4執行tracert命令

圖8 PC3向PC4執行tracert命令
由圖6~8可知,從tracert命令執行結果看,PC1發往PC4的數據包在到達網關(R1)時就沒有在往下一節點傳遞,這個和R1中沒有PC4所在網段(172.16.4.0)路由信息一致.但PC2和PC3發往PC4的數據包都是先到達各自網段的網關,然后到達下一節點,然后再回送至網關,如此循環往復,始終無法到達目標網絡.由于從PC2和PC3發往PC4的數據包在傳遞過程中故障現象相似,所以下面以PC2向PC4執行tracert命令為例進行分析.
PC2發往PC4的數據包中目標地址是172.16.4.1/24,該數據包首先送至本網段網關 172.16.2.100/24(路由器R2的F0/0端口).隨后路由器R2在路由表中進行查詢,沒有發現可到達網絡172.16.4.0/24的路由,但數據包會根據路由表中的這一條路由進行轉發:

網絡172.16.4.0/24 匯總后可看成網絡 172.16.0.0/16,所以數據包會發往下一跳的地址192.168.2.2(路由器R3的S0/1端口).數據包進入R3后工作過程和R2類似,也是先在路由表中進行查詢,沒有發現可到達網絡172.16.4.0/24的路由,但路由表存在如下路由:

網絡172.16.4.0/24 匯總后可看成網絡 172.16.0.0/16,所以數據包會發往下一跳的地址192.168.2.1(路由器R2的 S0/0端口).這樣數據包就會在路由器R2和R3中循環往復的傳遞,永遠到不了目的地.
仔細分析上述故障現象,發現R2和R3路由器沒有能根據路由協議學習到全部網絡的信息,或者說有些網絡只得到了其匯總信息,而沒有得到其詳細信息.據此就可以確定網絡故障的原因是由路由匯總造成的.
明確了故障的原因是路由匯總,接下來檢查各路由器的路由配置,發現路由器 R1、R2、R3和 R4中在配置路由協議RIP時都沒有關閉其路由自動匯總功能,所以在上述路由器RIP路由協議中配置如下命令:no auto-summary,隨后再進行測試,PC1、PC2、PC3和PC4相互訪問正常,故障排除.
當網絡是不連續時,即同屬于一個主類網絡的2個子網段被其他網絡分隔時要關閉自動匯總,本例 中, 如 172.16.1.0/24、 172.16.2.0/24、172.16.3.0/24 和172.16.4.0/24,當其被192.168.1.0/24、192.168.2.0/24 和 192.168.3.0/24 分隔時,不關閉自動匯總則邊界都匯總成B類172.16.0.0發布出去,這樣就會產生路由錯誤.
[1]William Ford,William Topp.數據結構 C++ 語言描述[M].北京:清華大學出版社,2003.
[2]王新風.中小企業網絡設備配置與管理[M].北京:清華大學出版社,2010.
[3]石林.構建高級的路由互聯網絡(BARI)[M].北京:電子工業出版社,2009.
[4]鄭輝.有類路由匯總的學習和探討[J].電腦知識與技術,2011,18(6):1306 -1307,1312.
[5]曹曉麗.將中綴表達式轉換為前綴表達式的三種方法[J].甘肅科技,2006,20(5):72 -73.
Analysis of Network Fault Based on Route Summarization
HU Yun
(Wuxi Radio& Television University,Wuxi 214011,China)
The route summarization can reduce the routing entries for broadcasting,and save the resources of routers,and improve the operating efficiency of the network.But the inappropriate route summarization will cause network failures,so the route summarization should be configured reasonably according to actual situation of the network,which can minimize the consumption of network resources under the premise of normal network operations.
network fault;route summarization;routing
TP391
A
1004-5422(2014)01-0044-05
2013-12-15.
胡 云(1978—),男,碩士,副教授,從事計算機算法設計與圖像處理研究.