一種負載均衡的方法及裝置的製作方法
2023-06-06 14:46:26 1
專利名稱:一種負載均衡的方法及裝置的製作方法
技術領域:
本發明涉及一種負載均衡的方法及裝置,尤其涉及一種多ISP出口的負載均衡的方法及裝置。
背景技術:
在企業網應用中,很多網絡規模較大的用戶都會有兩個或多個運營商(ISP)出口(如中國電信與中國聯通等)。企業用戶希望在自己網絡出口的網關設備上實現多鏈路的負載均衡功能,同時也能避免某個ISP網絡異常導致企業員工無法網際網路接入的問題。負載均衡就將出口的流量在多條鏈路上根據某種算法進行負載分擔。請參考圖I所示的典型多ISP出口的企業組網圖,企業內網的PC個人用戶需要訪問Internet上的遠程伺服器的業務,PC發出去的業務報文被企業網出口部署的負載均衡設備按某種算法在多條ISP鏈路 上選擇較優的一條鏈路進行分發。目前主流的鏈路負載分擔算法目前主要有兩種第一種是靜態算法根據遠程伺服器IP位址來判斷是屬於某個ISP網段就直接分發到該ISP鏈路,也就是說遠程伺服器屬於電信網段的走電信鏈路,屬於聯通網段的走聯通鏈路等。如果某個IP位址不屬於任何一個ISP鏈路,則根據其他算法(如輪轉算法等)在各個ISP鏈路上進行分發。然而由於ISP網段是經常會有變更的(多數是新增IP位址),因此如果採用靜態算法,則需要負載均衡設備經常維護ISP地址表,增大用戶的維護壓力。一旦用戶維護不夠及時,可能導致訪問新增IP位址的業務報文分錯鏈路從而影響用戶業務體驗,比如訪問速度較慢。另外,如果某個ISP鏈路出現質量問題(比如特定鏈路中斷),靜態算法缺乏鏈路探測機制而無法感知到這樣的變化,從而導致從該ISP鏈路訪問相應的伺服器都會出現業務中斷。第二種是動態算法定期從每條鏈路向遠程伺服器發送鏈路探測報文,根據探測報文回應的時間等因素來決定發往該伺服器的報文應該走哪條鏈路。比如ISPl鏈路回應的報文時間比從ISP2鏈路回應的要短,則後續報文都從ISPl發出去。動態算法解決了鏈路探測問題,但是動態算法有個最大缺陷在於負載均衡設備探測壓力過大。尤其當企業網絡有比較多的ISP鏈路的時候,同時又訪問大量的遠程伺服器的業務情況下,網絡出口的負載均衡設備需要針對每一個遠程伺服器分別在多條鏈路上發起探測報文。因此這種情況下會導致負載均衡設備同時處理大量的探測報文,並直接導致設備性能出現瓶頸從而影響用戶實際業務報文的發送,情況更嚴重的可能引起負載均衡設備完全不可用的狀況。
發明內容
有鑑於此,本發明提供一種負載均衡方法,應用於網絡設備上,其中該網絡設備包括多個作為網絡出口的ISP鏈路,該方法包括A、在網絡設備收到數據報文後,查詢報文的目的IP位址是否在動態探測表中有對應的表項,如果沒有則轉步驟B,如果有則從動態探測表中獲得與該目的IP位址對應的ISP鏈路;B、在預設的ISP地址表中查詢報文的目的IP位址所對應的ISP鏈路,將查詢到的ISP鏈路作為當前ISP鏈路並轉步驟C ;C、從當前ISP鏈路向所述目的IP位址發送探測報文,並檢查目的IP位址對探測報文的響應時間是否超過預設的閾值,如果否,則更新動態探測表。本發明還提供一種負載均衡裝置,應用於網 絡設備上,其中該網絡設備包括多個作為網絡出口的ISP鏈路,該裝置包括第一查詢單元、第二查詢單元以及探測單元,其特徵在於第一查詢單元,用於在網絡設備收到數據報文後,查詢報文的目的IP位址是否在動態探測表中有對應的表項,如果沒有則轉第二查詢單元處理,如果有則從動態探測表中獲得與該目的IP位址對應的ISP鏈路;第二查詢單元,用於在預設的ISP地址表中查詢報文的目的IP位址所對應的ISP鏈路,將查詢到的ISP鏈路作為當前ISP鏈路並通知探測單元發起探測;探測單元,用於從當前ISP鏈路向所述目的IP位址發送探測報文,並檢查目的IP位址對探測報文的響應時間是否超過預設的閾值,如果否,則更新動態探測表。通過以上的處理過程可以看出,一方面,本發明對遠程伺服器的探測僅僅發生在內部用戶首次訪問某個遠程伺服器,網絡設備的負擔相較於現有技術來說大幅度縮小。另一方面,由於探測機制的存在,對於ISP地址表的維護工作頻率可以大幅度降低,而且即便用戶維護不及時,探測機制依然可以保證選擇到合適的ISP鏈路作為轉發出口。因此本發明把兩種方式有機融合之後在性能和降低維護成本上都有大幅度的提升。
圖I是典型的多ISP出口的企業網絡組網圖。圖2是本發明一種實施方式中網絡設備硬體架構圖。圖3是本發明一種實施方式中負載均衡裝置邏輯結構圖。圖4是本發明一種實施方式中負載均衡方法流程圖。
具體實施例方式本發明將融合靜態表與動態探測的優點,規避掉兩者固有的缺陷,取得探測效果與負載均衡設備業務性能的較佳平衡。以下結合流程圖以及結構圖來描述本發明較佳的實施方式。請參考圖3,以計算機軟體實現為例,本發明的負載均衡裝置應用於網絡設備上,該負載均衡裝置包括第一查詢單元、第二查詢單元以及探測單元。其中,第一查詢單元主要負責動態探測表的查詢,第二查詢單元負責ISP地址表的查詢,而探測單元主要是用來維護動態探測表。該負載均衡裝置是一個邏輯裝置,其所在的網絡設備的硬體架構如圖2所示,其中如果網絡設備是一臺傳統的路由器,轉發晶片則可能不存在,轉發任務可以由CPU執行計算機軟體實現的。如前所述,本實施方式中負載均衡的過程採用是由CPU執行軟體來實現的,以下將重點講述這一過程。而數據報文進入網絡設備到被上送到CPU進行軟體處理之前過程,以及軟體層面處理之後怎樣離開網絡設備的過程不再詳細講述,因為這一過程有眾多的現有技術可以作為參考,本發明的實現不依賴於這些更為底層的實現,為了更為簡潔精準的描述本發明,在以下描述中將這些底層的處理透明化。請參考圖4,在較佳的實施方式中,本發明負載均衡裝置一般性的處理流程包括以下步驟步驟101,在網絡設備接收到數據報文後,查詢報文的目的IP位址是否在動態探測表中,如果是則轉步驟102,如果否則轉步驟103 ;步驟102,從動態表中獲得與該目的IP位址對應的ISP鏈路;步驟103,在ISP地址表中查詢報文的目的IP位址所對應的ISP鏈路;步驟104,從當前ISP鏈路向所述目的IP位址發送探測報文; 步驟105,檢查目的IP位址對探測報文的響應時間是否超過閾值,如果是,則選擇另一個ISP鏈路作為當前ISP鏈路並返回步驟104,如果否,則更新動態探測表。請參考表1,在本發明中動態探測表包括遠程伺服器IP位址以及對應的ISP鏈路標識。表中的每一個表項表明了對一個遠程伺服器來說,有一個對應的ISP鏈路對於用戶訪問來說是較佳的,處於可接受範圍中的(後文將進一步解釋其中緣由)。
遠程伺服器IP位址 ISP鏈路~
223. 2. 0. 13iTI
~110. 16. 0. 25Wm
~111. 160. 0. 7WM
~120. 192. 0. 9表I當網絡設備收到一個待轉發的數據報文,該數據報文的目的IP是某個遠程伺服器,如果該數據報文是企業網絡內第一次訪問該遠程伺服器的數據報文,那麼動態探測表中並不會存在相應表項。如果該數據報文並不是企業網絡第一次訪問該遠程伺服器的數據報文,動態探測表中則可能存在對應的表項。如果從動態探測表中找到了對應的ISP鏈路,則可以ISP鏈路可以作為數據報文的轉發出口。當動態探測表中不能找到需要使用的ISP鏈路,此時需要藉助ISP地址表。ISP地址表的組織結構如表2所示,其可以採用與圖I 一樣的結構。不同的是,動態探測表初始的時為空;而ISP地址表初始時已經配置了相對完整的表項內容,並且可以由網絡管理側定期來更新。值得注意的是,本發明中表I的遠程主機IP位址是一個32位的主機IP位址,而表2中則是通常是一個IP位址段,因為各個ISP的擁有的地址資源往往是成段的,如果用單個主機的地址來維護表2,表2的表項長度顯然會太長,不利於節約網絡設備的硬體資源,更不利於表項的查詢速度。同樣的道理,表I也可以按照網段的方式進行聚合以減少表項的內容。值得注意的是,在這裡表I和表2中的ISP鏈路標識只是示例性的,其實際上完全可以是網絡設備的出接口或者下一跳IP位址等其他標識,這個標識的作用是用來指導轉發的,並無特殊限制。
權利要求
1.一種負載均衡裝置,應用於網絡設備上,其中該網絡設備包括多個作為網絡出口的ISP鏈路,該裝置包括第一查詢單元、第二查詢單元以及探測單元,其特徵在於 第一查詢單元,用於在網絡設備收到數據報文後,查詢報文的目的IP位址是否在動態探測表中有對應的表項,如果沒有則轉第二查詢單元處理,如果有則從動態探測表中獲得與該目的IP位址對應的ISP鏈路; 第二查詢單元,用於在預設的ISP地址表中查詢報文的目的IP位址所對應的ISP鏈路,將查詢到的ISP鏈路作為當前ISP鏈路並通知探測單元發起探測; 探測單元,用於從當前ISP鏈路向所述目的IP位址發送探測報文,並檢查目的IP位址對探測報文的響應時間是否超過預設的閾值,如果否,則更新動態探測表。
2.如權利要求I所述的裝置,其特徵在於,所述探測單元進一步用於如果在所述響應時間超過閾值時選擇另一個ISP鏈路作為當前ISP鏈路重新向所述目的IP位址發送探測報文。
3.如權利要求2所述的裝置,其特徵在於,所述探測單元,進一步用於通過動態表項中的ISP鏈路向與ISP鏈路對應的目的IP位址發送探測報文,並檢查目的IP位址對探測報文的響應時間是否超過閾值,如果是則刪除該表項。
4.如權利要求I所述的裝置,其特徵在於,所述第二查詢單元,進一步用於如果查詢不到與目的IP位址對應的ISP鏈路,則根據預設的規則選擇一個ISP鏈路作為當前ISP鏈路。
5.如權利要求I所述的裝置,其特徵在於,所述探測單元,進一步用於在多個ISP鏈路上分別向動態探測表中的目的IP位址發送探測報文,比較各個ISP鏈路上的響應時間,選擇響應時間最短的ISP鏈路更新到動態探測表中對應表項中。
6.一種負載均衡方法,應用於網絡設備上,其中該網絡設備包括多個作為網絡出口的ISP鏈路,該方法包括 A、在網絡設備收到數據報文後,查詢報文的目的IP位址是否在動態探測表中有對應的表項,如果沒有則轉步驟B,如果有則從動態探測表中獲得與該目的IP位址對應的ISP鏈路; B、在預設的ISP地址表中查詢報文的目的IP位址所對應的ISP鏈路,將查詢到的ISP鏈路作為當前ISP鏈路並轉步驟C ; C、從當前ISP鏈路向所述目的IP位址發送探測報文,並檢查目的IP位址對探測報文的響應時間是否超過預設的閾值,如果否,則更新動態探測表。
7.如權利要求6所述的方法,其特徵在於,步驟B進一步包括 Cl、如果在所述響應時間超過閾值時選擇另一個ISP鏈路作為當前ISP鏈路重新向所述目的IP位址發送探測報文。
8.如權利要求7所述的方法,其特徵在於,步驟C進一步包括 C2、通過動態表項中的ISP鏈路向與ISP鏈路對應的目的IP位址發送探測報文,並檢查目的IP位址對探測報文的響應時間是否超過閾值,如果是則刪除該表項。
9.如權利要求6所述的方法,其特徵在於,步驟B進一步包括 BI、如果查詢不到與目的IP位址對應的ISP鏈路,則根據預設的規則選擇一個ISP鏈路作為當前ISP鏈路。
10.如權利要求6所述的方法,其特徵在於,步驟C進一步包括C3、在多個ISP鏈路上分別向動態探測表中的目的IP位址發送探測報文,比較各個ISP鏈路上的響應時間,選擇響應時間最短的ISP鏈路更新到動態探測表中·對應表項中。
全文摘要
本發明提供一種應用在網絡設備上的負載均衡裝置及方法,處理流程包括A,收到報文後查詢報文的目的IP位址是否在動態探測表中有對應的表項,如果沒有則轉B,如果有則從動態探測表中獲得與該目的IP位址對應的ISP鏈路;B,在預設的ISP地址表中查詢報文的目的IP位址所對應的ISP鏈路,將查詢到的ISP鏈路作為當前ISP鏈路並轉C;C,從當前ISP鏈路向所述目的IP位址發送探測報文,並檢查目的IP位址的響應時間是否超過預設的閾值,如果否,則更新動態探測表。本發明有機地將靜態表項與動態探測融合在一起,降低了設備的探測壓力與維護成本。
文檔編號H04L29/08GK102761476SQ20121009196
公開日2012年10月31日 申請日期2012年3月30日 優先權日2012年3月30日
發明者胡國華 申請人:杭州華三通信技術有限公司