堯時茂 高光勇
(九江學院信息科學與技術學院 江西九江 332005)
不同網(wǎng)絡下靜態(tài)路由配置選項優(yōu)化選擇研究*
堯時茂 高光勇
(九江學院信息科學與技術學院 江西九江 332005)
針對廣播多點出口網(wǎng)絡、點對點出口網(wǎng)絡和非廣播多點出口網(wǎng)絡環(huán)境,分析采用下一跳地址、出接口、出接口+下一跳方式配置的靜態(tài)路由對路由轉(zhuǎn)發(fā)處理的影響,找到一種適合實際網(wǎng)絡環(huán)境的最優(yōu)配置方案。
靜態(tài)路由,路由轉(zhuǎn)發(fā)處理,性能優(yōu)化,方案選擇
靜態(tài)路由因為其簡單、占用資源少等優(yōu)點在實際網(wǎng)絡項目中經(jīng)常被采用,在教學與實驗中屬于基礎內(nèi)容。一般在教學環(huán)節(jié)中,教師通常會將靜態(tài)路由的語法格式詳盡介紹,在實驗環(huán)節(jié)中學生多以驗證性實驗項目為主,甚至一些研究[1,2]也僅限于此,但對于作為Intranet接入Internet的主要路由構建方法的相關研究卻從未間斷過,比如靜態(tài)路由熱備份及負載均衡[3,4]、多目標環(huán)境下靜態(tài)路由優(yōu)化[5]、策略路由[6]等相關研究很多。
在路由器上配置靜態(tài)路由協(xié)議時,一般都以“ip route 目標網(wǎng)絡 掩碼 下一跳地址”形式配置(本文以Cisco設備為例),除此之外,還有“ip route 目標網(wǎng)絡 掩碼 出接口”和“ip route 目標網(wǎng)絡 掩碼 出接口 下一跳地址”兩種形式。雖然這3種配置方式構建的路由表一般都可以用來轉(zhuǎn)發(fā)數(shù)據(jù)包,但路由轉(zhuǎn)發(fā)處理時延可能不同,而且不同網(wǎng)絡環(huán)境下路由器及網(wǎng)絡性能的影響也不相同。
本文通過對路由轉(zhuǎn)發(fā)處理流程的分析,對比不同網(wǎng)絡環(huán)境下不同靜態(tài)路由的配置命令對路由器及網(wǎng)絡的性能影響,找到一種適合實際網(wǎng)絡環(huán)境的最優(yōu)配置方案。
為了實驗需要,搭建如圖1所示的網(wǎng)絡環(huán)境,包括廣播多點以太網(wǎng)、點對點網(wǎng)絡和非廣播多點幀中繼網(wǎng)絡。其中路由器“幀中繼交換機”默認與其它路由器構建點對點環(huán)境,在進行幀中繼環(huán)境時配置成幀中繼交換機,并且使用全網(wǎng)狀拓撲。
圖1 網(wǎng)絡拓撲圖
2.1 直連下一跳方式
選擇圖1中的路由器A、以太網(wǎng)交換機、路由器B、幀中繼交換機、路由器C這條鏈路,配置路由器A到網(wǎng)絡C的靜態(tài)路由為:
ip route 10.1.4.0 255.255.255.0 10.1.1.2
該配置命令中的“下一跳地址”為直連鄰居路由器B的接口地址(其它路由條目類似,在此略)。當路由器A有數(shù)據(jù)包需要轉(zhuǎn)發(fā)給網(wǎng)絡10.1.4.0/24,首先查路由表,得知該數(shù)據(jù)包需要轉(zhuǎn)發(fā)給10.1.1.2,而該數(shù)據(jù)包需要交換到哪個出口緩存,還要再次查路由表獲得10.1.1.2所直連的接口f0/0,然后數(shù)據(jù)包被轉(zhuǎn)發(fā)到出接口緩存,在路由器內(nèi)部完成交換過程。接下來路由器會根據(jù)接口數(shù)據(jù)鏈路層協(xié)議封裝成MAC幀,源MAC地址為本接口的MAC地址,目的MAC地址為下一跳10.1.1.2地址對應的MAC地址。如果此時ARP緩存表有對應記錄,則數(shù)據(jù)包將封裝成幀從接口f0/0排隊發(fā)出,如果缺少對應ARP記錄,則需要發(fā)送ARP廣播請求來獲取[7]。處理流程如圖2所示。
圖2 路由轉(zhuǎn)發(fā)流程圖
2.2 遞歸靜態(tài)路由[8]
通常靜態(tài)路由配置命令中的下一跳地址都是直連鄰居路由器接口地址,此種配置簡單、直接,但在某些時候可能不太方便。假設在上一小節(jié)中以太網(wǎng)交換機出現(xiàn)故障,下一跳不可達,路由器A上的多條經(jīng)由10.1.1.2的路由都將失效從路由表中刪除。如果此時有一條替代路由,替代下一跳,管理員就需要將原路由刪除,重新配置。若受影響路由條目較多,管理員工作量會比較大,而遞歸靜態(tài)路由針對這種情況可能就比較合適。
路由器A上針對目標網(wǎng)絡C配置的遞歸靜態(tài)路由如下所示:
ip route 10.1.4.0 255.255.255.0 10.1.3.2
ip route 10.1.3.0 255.255.255.0 10.1.2.2
ip route 10.1.2.0 255.255.255.0 10.1.1.2
在此配置中,去往目的網(wǎng)絡C的下一跳并非直連鄰居接口地址,而是路徑上靠網(wǎng)絡C最近的路由器C的接口地址,其它網(wǎng)絡的路由也是如此。此配置方法下,路由器A若收到一個去往網(wǎng)絡10.1.4.0的包,查路由表匹配該網(wǎng)絡得知下一跳地址為10.1.3.2,但發(fā)往哪個出口緩存還需要再次查找路由表,這樣的查找過程可能需要進行多次,直到獲得出接口才能完成路由器內(nèi)部的交換過程。
當以太網(wǎng)交換機出現(xiàn)問題時,路由器A發(fā)現(xiàn)直連下一跳不可達,需要重新修改路由,但只需要修改一條路由條目,這樣維護起來將很方便,不過路由器A需要進行多次迭代查找過程,會增加路由器的開銷,會增加路由轉(zhuǎn)發(fā)處理時延,所以很少被部署。
2.3 廣播多點出口靜態(tài)路由
當知道下一跳地址的情況下,配置靜態(tài)路由比較方便,但某些特殊情況,比如路由器接口是通過DHCP或者PPPOE等方式獲取地址,這時就無法使用下一跳地址來配置靜態(tài)路由,在此可以用出接口替代下一跳方式配置。
當采用“出接口”作為靜態(tài)路由配置選項時,該路由條目在路由表中會被當成是直連路由對待,圖3顯示了路由器A采用出接口配置的靜態(tài)路由。
圖3 出接口的靜態(tài)路由
在此配置方式下,路由器A若需要轉(zhuǎn)發(fā)去往目的地址為10.1.4.4的數(shù)據(jù)包,只需查一次路由表就可以確定轉(zhuǎn)發(fā)出口,在路由器內(nèi)部完成交換功能,接下來再準備封裝成MAC幀。源MAC地址就是出接口MAC地址,但目的MAC地址肯定不存在,所以路由器A將發(fā)送一個ARP廣播去詢問10.1.4.4對應的MAC地址,當然,這個ARP廣播是不會被路由器B轉(zhuǎn)發(fā)的,這樣也就意味著無法獲得ARP應答,也就意味著目的MAC地址無法獲取,MAC幀將無法封裝成功,那么數(shù)據(jù)包將會被丟棄。
當然,如果當路由器B接口f0/0開啟了代理ARP功能,并且路由器B有到達目的網(wǎng)絡10.1.4.0/24的路由,則路由器B在收到路由器A詢問10.1.4.4的MAC地址的ARP廣播時會以路由器B接口f0/0的MAC地址作為響應,這樣路由器A可以獲取到10.1.4.4對應的MAC地址,數(shù)據(jù)包可以封裝成幀發(fā)送出去給路由器B。
路由器A在這種環(huán)境下數(shù)據(jù)包的路由轉(zhuǎn)發(fā)處理相對簡單,但對于路由器B卻需要接口開啟代理ARP的支持。有時出于需要,路由器B會關閉接口的代理ARP功能,那么路由器A這種靜態(tài)路由設置將不可行。除此之外,因為該路由被當成直連路由,所以該目標網(wǎng)絡下任意主機都需要進行ARP查找,會增加該廣播型網(wǎng)絡環(huán)境的流量,影響網(wǎng)絡的性能。還有,通過代理ARP返回的MAC地址都是路由器B接口的MAC,存在地址欺騙行為。
2.4 點對點出口靜態(tài)路由
對于配置廣播型出口的靜態(tài)路由因為目的MAC解析會帶來一些影響,但對于點對點出口就不存在這樣的情況。目前PPP協(xié)議是點對點環(huán)境中使用最多的數(shù)據(jù)鏈路層協(xié)議,在PPP幀中地址字段值固定為0xFF,這樣在使用出口作為配置選項配置靜態(tài)路由時,只要目的地址匹配該路由,則該數(shù)據(jù)包就可以發(fā)往出接口,并且可以封裝成幀被轉(zhuǎn)發(fā)出去,這樣路由器處理的效率就非常高,而對網(wǎng)絡又不會帶來額外的開銷。
2.5 非廣播多點出口靜態(tài)路由
以上兩種網(wǎng)絡出口靜態(tài)路由一般都能工作正常,但若在不支持廣播的多點型網(wǎng)絡環(huán)境使用出口作為靜態(tài)路由配置選項可能會出現(xiàn)數(shù)據(jù)包封裝出錯。
此處以幀中繼環(huán)境作為非廣播多點網(wǎng)絡分析環(huán)境,圖1中的路由器A、路由器B和路由器C都通過串行接口S1/0分別與幀中繼交換機相連,該幀中繼交換機使用路由器模擬,路由器A、B、C的S1/0地址設為10.1.0.1/24、10.1.0.2/24、10.1.0.3/24,路由器B和路由器C相連的兩個直連網(wǎng)絡B和C網(wǎng)絡號分別為10.1.2.0/24和10.1.3.0/24。幀中繼環(huán)境假設為全互聯(lián)網(wǎng)絡拓撲,即三臺路由器間存在兩兩相連的PVC。幀中繼環(huán)境中的逆地址解析協(xié)議正常工作,如果此時在路由器A上配置到網(wǎng)絡B的靜態(tài)路由采用的參數(shù)是出口S1/0,因為該出口有效,所以該路由條目有效。
當其他網(wǎng)絡配置都正確的情況下,在路由器A上發(fā)送一個去往網(wǎng)絡B的數(shù)據(jù)包將會失敗。對路由器A和幀中繼網(wǎng)絡分析發(fā)現(xiàn),數(shù)據(jù)包被發(fā)往出接口S1/0,但封裝成幀中繼幀時未能進行獲取正確的DLCI地址,所以封裝失敗,數(shù)據(jù)包發(fā)送失敗。調(diào)試結(jié)果如圖4所示。
圖4 幀中繼數(shù)據(jù)包調(diào)試結(jié)果
幀中繼接口雖然是多點型網(wǎng)絡,但接口并不支持廣播,所以ARP廣播就無法發(fā)送到路由器B的S1/0接口,也沒辦法執(zhí)行代理ARP之類的功能。在這種情況下,管理員或者設計人員可能就需要手工指定IP地址和DLCI地址之間的映射,這樣維護管理就不方便,路由器A也會因為多條靜態(tài)映射記錄而性能受影響,所以在幀中繼環(huán)境配置靜態(tài)路由一般使用下一跳地址。
2.6 下一跳+出口靜態(tài)路由
綜合前面幾種情況,單獨使用下一跳地址或者出接口配置靜態(tài)路由可能會增加路由器或網(wǎng)絡的開銷而不能處于最優(yōu)性能狀態(tài)。其實如果采用的動態(tài)路由協(xié)議,路由表一般都是同時記錄下一跳和出口,這樣在路由轉(zhuǎn)發(fā)處理時只要找到了匹配路由條目就可以將數(shù)據(jù)包交換到出接口緩存處理,這就可以節(jié)省路由器多重查找的時間,對于地址解析過程也只需要對下一跳進行,就可以優(yōu)化路由器和網(wǎng)絡的性能。
假設從路由器到目的網(wǎng)絡中間經(jīng)過的網(wǎng)段為m,路由器直連路由為n,那路由表中應該存在的路由條目為m+n-1。假設去往目的的路由在路由表中處的位置為第x條,下一跳地址對應的出口路由表在路由表中的位置為第y條。路由器需要轉(zhuǎn)發(fā)去往z個主機的數(shù)據(jù)包,此處理中路由器需要查表次數(shù)和地址解析次數(shù)對比如表1所示。
表1 性能分析
從表1中可以看到,直連下一跳+出口配置方式下,數(shù)據(jù)包路由查找次數(shù)取決于去往主機數(shù)據(jù)包的數(shù)目和匹配路由條目所在位置,與其他方法比較,消耗路由器資源是最少的,同時進行地址解析次數(shù)也是最少的。
本文通過對廣播型多點網(wǎng)絡(以太網(wǎng))環(huán)境、點對點網(wǎng)絡(串行線路)環(huán)境、非廣播多點網(wǎng)絡(全互聯(lián)幀中繼)環(huán)境下配置靜態(tài)路由,分析各種網(wǎng)絡環(huán)境各種配置方法對路由器和網(wǎng)絡的影響,認為以“直連下一跳地址+出接口”作為配置參數(shù)在路由表查找和地址解析方面比單獨使用“下一跳地址”或“出接口”能更好的優(yōu)化路由器或網(wǎng)絡的性能。對動態(tài)獲取地址的出接口的靜態(tài)路由配置選擇“出接口”可能比較合適,而對于非廣播多點型網(wǎng)絡(全互聯(lián)幀中繼)應當以下一跳地址方式配置,否則數(shù)據(jù)包在封裝成幀時將失敗而丟棄。
[1]惠玥,張媛.IP靜態(tài)路由實驗的研究[J].實驗室研究與探索,2010,29(11):62.
[2]肖捷.靜態(tài)路由選擇配置方案的設計[J].計算機工程,2000,26(8):141.
[3]韋有華,王成耀.靜態(tài)路由熱備份及其負載均衡[J].計算機應用,2004,13(3):9.
[4]龐亞賓.基于靜態(tài)路由的ISP負載均衡解決方案[J].計算機與應用化學,2010,27(8):1096.
[5]羅正全,葉建鋒.靜態(tài)路由體系結(jié)構下的多目標優(yōu)化研究進展[J].科技信息,2008,25(15):10.
[6]廖淑華.策略路由技術在多出口網(wǎng)絡中的應用[J].吉林師范大學學報(自然科學版),2010,24(2):95.
[7]謝希仁.計算機網(wǎng)絡[M].北京:電子工業(yè)出版社,2010.126.
[8]Joff Doyle,Jennifer Carroll.TCP/IP路由技術[M].北京:人民郵電出版社,2010.126.
(責任編輯胡安娜)
Study on Optimal Selection of Static Routing Configuration Option in Different Network
YAO Shimao,GAO Guangyong
(School of Information Science & Technology, Jiujiang University, Jiujiang, Jiangxi 332005,China)
Because the configuration of static route was simple. It was usually a verification type experiment in teaching process. However, under different network environments, the affect to the performance of the router and the network was different when using different options in configuration schemes. The influence to the routing and forward process was analyzed when using next-hop address, outgoing-interface, outgoing-interface+next-hop address to configure the static route in broadcast multi-access, point-to-point and non-broadcast multi-access network environments. A suitable optimal configuration scheme was found for the actual network environment.
static route; routing and forward process,performance optimization, scheme selection
江西省級教學改革項目(編號JXJG-13-17-16)和國家自然科學基金項目(編號61362032 )成果之一。
2014-8-20
堯時茂,31621664@qq.com。
TP 393
A
1674-9545(2014)04-0019-(04)