張小翠

摘要摘要:當路由器下一跳的選擇有多條路徑時,需要考慮負載均衡問題。負載均衡是路由器應具備的基本功能,其應適合于所有的路由器平臺。它基于標準的路由協議,例如RIP、RIPV2、OSPF、IGRP等協議,允許路由器選擇多條路徑到達目的地址。多條路徑可以保證網絡的安全性,可提高網絡性能。在介紹RIP協議的基礎上,重點探討基于路由器的負載均衡方法。在思科路由器中負載均衡中有兩種方式:一種是按目的地址的負載均衡,另一種是按數據包配置的負載均衡。
關鍵詞關鍵詞:負載均衡;RIP協議;等價路徑;目的地址負載均衡;數據包配置負載均衡
DOIDOI:10.11907/rjdk.162342
中圖分類號:TP393文獻標識碼:A文章編號文章編號:16727800(2017)001015202
引言
隨著計算機網絡的發展,網絡訪問的流量越來越大,當所有信息訪問都經過同一路徑時,將會造成該設備的癱瘓,因此在網絡中應該提供多條路徑到達目的地址,由此而產生了負載均衡問題。負載均衡可在一定程度上擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性[1] 。負載均衡在網絡上應用于各個方面,本文主要介紹基于路由器的負載均衡方法。1RIP協議
RIP協議是一種動態網絡協議,應用于小型的同構網絡[2]。RIP協議是一種動態的路由選擇算法,路由器和相鄰路由器交換路由表中的全部信息,最終每個路由器形成自己的路由表,該路由表中有達到所有目的網絡的最佳路徑。所謂最佳路徑就是到達目的地址所經過的路由個數最少的路徑,除到達目的地的最佳路徑外,任何其它信息均予以丟棄。同時路由器也把所收集的路由信息用RIP協議通知相鄰的其它路由器。這樣,正確的路由信息逐漸擴散到了全網。RIP使用非常廣泛,它簡單、可靠且便于配置。但RIP允許的最大站點數為15,任何超過15個站點的目的地均被標記為不可達,RIP每隔30s廣播一次路由信息是造成網絡廣播風暴的重要原因之一。
RIP協議的度量方法中,最佳路徑由所經過的路由器的跳數來決定,每經過一個路由器將跳數加1,到達目地網絡選擇路由跳數最少的一條。如果有另一條達到目的網絡跳數相同的路徑,這時將選擇路由表中的默認路徑,而不更改路由表。這種情況下的負載均衡實現方式如圖1所示,從主機PC0到主機PC1有3條路徑,可以經過路由器(1,2,5),也可以經過路由器(1,3,5),另外一條路徑(1,4,5),這3條路徑經過的路由器的個數相同,因此對于RIP協議而言這3條路徑應該是等價路徑,但是默認情況下卻只選擇其中一條路徑。這時應該考慮路由器的負載均衡,以思科路由器為例,思科路由器有兩種解決負載均衡的方式:一是按目的地址的負載均衡,另一種是按數據包配置的負載均衡。
2負載均衡方式
2.1按目的地址配置的負載均衡
按目的地址配置的負載均衡是指路由器將使用多條路徑來進行負載均衡,而且它可以確保數據包總是使用相同的路徑,并按照它們發送的順序到達目的地址 [3] 。這種方式的負載均衡最適用于需要數據包按照某種順序到達的應用程序。如圖1所示,從主機PC0到主機PC1有3條路徑,由PC0到PC1的第一個目標的所有報文選擇第一條路徑(路由1-2-5),第二個目標的所有報文選擇第二條路徑(路由1-3-5),第三個目標的所有報文選擇第三條路徑(路由1-4-5)。相同的數據包選擇相同的路徑,并將報文按順序到達目標,由此來實現負載均衡的目的。此種負載均衡方式在流量比較大時更加有效,大多路由器采用這種方式,而且它是思科路由器快速轉發(CEF)的缺省負載均衡方式。啟動此種負載均衡的方式為:ip load-sharing per-destination。2.2按數據包配置的負載均衡
基于數據包的負載均衡的路由器可以在多條鏈路上連續發送數據包,即對到達同一目的地址的一個數據的多個分組可以選擇不同的路徑到達,而不用考慮主機或用戶的具體情況。這種負載均衡采用輪轉機制來確定每個數據包走哪條路徑到達目的地址。但是由于同一個目標的不同數據包可選擇不同的路徑,所以將會造成同一數據包的不同分組不按照次序到達目的地址的情況。某些應用不能采用這種負載均衡的方法,如視頻對話(VOIP)。如圖1所示,如果有一數據報將其分為三組報文發送,那么第一組報文可能選擇路由1-2-5這條路徑,第二組報文可能選擇路由1-3-5,第三組報文選擇路由1-4-5,因為每條路徑的帶寬、流量以及吞吐量等不同,所以有可能先發送的第二組報文已經到達目的地址PC1,但第一組報文還沒有到達,而造成分組不按照順序到達的問題。啟動此種負載均衡的命令為:ip load-sharing per-packet。2.3路由器交換方式
思科的路由器一般有快速交換方式、過程交換方式、流交換方式及思科快速交換方式 [4] 。在基于目的地址配置的負載均衡和快速交換這種負載均衡方式下,常采用快速交換方式(Fast Switching),且默認條件下都是采用這種方式。快速交換只需要將第一個數據報存儲入系統緩存之中,然后查找目的地址,并將信息存入到高速緩存之中,后續的數據包不需要經過此操作,直接從高速緩存中提取目的地址的接口進行轉發即可。采用這種方式極大提高了數據報的轉發速度。思科1600、1700、2500、2600系列路由器的Ethernet、Fast Ethernet、Serial接口默認采用的就是Fast Switching。啟動快速交換的命令為: ip route-cache。
基于數據包的負載均衡和過程交換,在這種負載均衡下需要啟動過程交換方式或者禁用快速交換方式[5]。當路由器采用過程交換模式時,需要將一條數據流中的第一個數據包放置入系統緩存。將目的地址與路由表進行查找比對,找到到達目的網絡的下一跳路由器的接口,路由器的處理器同時進行CRC校驗,檢查數據包是否正確,如果正確則轉發,不正確將數據包丟棄。然后將數據包的硬件地址改為下一跳的硬件地址(MAC)。對于此條線路上的第2、3、4個數據包等按照第一個數據包的處理方式進行相同的處理。這種處理方式有較大的時延,與快速交換相比它需要處理每一個數據包。但是這種交換方式在某些時候仍然被需要,如基于數據包的負載均衡時,禁用快速交換打開過程交換的命令為:no ip route-cache。
如圖1所示,如果路由1采用了快速交換(CEF),那么不管路由5采用哪種交換方式,最終都采用快速交換方式,這時采用基于目的地址的負載均衡方式。如果入站口沒有配置CEF方式,而出站口配置為過程交換方式,這時將采用過程交換方式進行數據報的轉發。
3結語
路由器可以采用基于目的地址的負載均衡,也可以采用按數據包的負載均衡。默認情況下思科的路由器采用快速交換方式(CEF),而此種方式下實現按目的地址的負載均衡。采用這種負載均衡方式,數據報轉發速度快,而且可以保證數據報按序到達。而采用基于數據包的負載均衡,必須先禁用快速交換方式啟動過程交換方式,采用這種方式將造成數據包不按序到達,會影響某些應用程序的正常運行,因此運用較少。參考文獻:
[1]楚蓓蓓,劉曉楠,劉鐵銘.負載均衡技術[J].信息工程大學學報,2002,3(4):4850.
[2]余世文.淺談RIP路由協議的工作原理及應用[J].福建電腦,2014(11):185187.
[3]CISCO CCNP.Cisco負載均衡[EB/OL].http://www.docin.com.
[4]林秀.幾種IP包交換技術的分析和比較[J].電信快報,2004(6):1518.
[5]CISCO CCNP.How does load balancing work?[EB/OL].http://www.cisco.com.
責任編輯(責任編輯:孫娟)