專利名稱:一種nat網關設備之間的負載分擔方法和設備的制作方法
技術領域:
本發(fā)明涉及通信技術領域,特別涉及一種NAT網關設備之間的負載分擔方法和設 備。
背景技術:
網絡地址轉換(NAT, Network Address Translation)技術是一種接入廣域網 (WAN)技術,是一種將私有(保留)地址轉化為合法IP地址的轉換技術,被廣泛應用于各種 類型互聯網(Internet)接入方式和各種類型的網絡中。不僅完美地解決了網絡互聯協議 (Internet Protocol, IP)地址不足的問題,而且還能夠有效地避免來自網絡外部的攻擊, 隱藏并保護網絡內部的計算機。 隨著接入Internet的計算機數量的不斷猛增,IP地址資源也就愈加顯得捉襟 見肘。事實上,除了中國教育和科研計算機網(China Education and ResearchNETwork, CERNET)夕卜,一般用戶幾乎申請不到整段的C類IP地址。在其他互聯網服務提供商 (Internet Service Provider, ISP)網絡中,即使是擁有幾百臺計算機的大型局域網用戶, 當他們申請IP地址時,所分配的地址也不過只有幾個或十幾個IP地址。顯然,這樣少的IP 地址根本無法滿足網絡用戶的需求,于是也就產生了 NAT技術。 借助于NAT,私有(保留)地址的〃 內部〃 網絡通過路由器發(fā)送數據包時,私有地 址被轉換成合法的IP地址, 一個局域網只需使用少量IP地址(甚至是1個)即可實現私 有地址網絡內所有計算機與Internet的通信需求。 NAT將自動修改IP報文的源IP地址和目的IP地址,IP地址校驗則在NAT處理過 程中自動完成。有些應用程序將源IP地址嵌入到IP報文的數據部分中,所以還需要同時 對報文進行修改,以匹配IP頭中已經修改過的源IP地址。否則,在報文數據都分別嵌入IP 地址的應用程序就不能正常工作。 NAT的實現方式有三種,即靜態(tài)轉換、動態(tài)轉換和端口多路復用。
(1)靜態(tài)轉換是指將內部網絡的私有IP地址轉換為公有IP地址,IP地址對是一 對一的,是固定不變的,某個私有IP地址只轉換為某個公有IP地址。借助于靜態(tài)轉換,可 以實現外部網絡對內部網絡中某些特定設備(如服務器)的訪問。 (2)動態(tài)轉換是指將內部網絡的私有IP地址轉換為公用IP地址時,IP地址對是 不確定的,而是隨機的,所有被授權訪問上Internet的私有IP地址可隨機轉換為任何指定 的合法IP地址。也就是說,只要指定哪些內部地址可以進行轉換,以及用哪些合法地址作 為外部地址時,就可以進行動態(tài)轉換。動態(tài)轉換可以使用多個合法外部地址集。當ISP提 供的合法IP地址略少于網絡內部的計算機數量時??梢圆捎脛討B(tài)轉換的方式。
(3)端口多路復用是指改變外出數據包的源端口并進行端口轉換,即端口地址轉 換(PAT, Port Address Translation).采用端口多路復用方式。內部網絡的所有主機均 可共享一個合法外部IP地址實現對Internet的訪問,從而可以最大限度地節(jié)約IP地址資 源。同時,又可隱藏網絡內部的所有主機,有效避免來自Internet的攻擊。因此,目前網絡中應用最多的就是端口多路復用方式。 在現有的技術方案中,企業(yè)使用NAT網關作為Internet的出口,在高可靠性的網 絡中會使用2臺或多臺設備進行NAT轉換。 無論是負載分擔還是作為備份的NAT應用都會存在以下問題
—、某臺設備的壓力過大。 這可能由設備性能,上網的用戶的流量分部不均導致,或設備沒有進行負載分擔, 而是作為備份導致的,比如圖1中路由接入(Router-Access, R_A)到外網的默認路由網關 是NAT1,而不是NAT2。在某臺設備NAT表項壓力較大的情況下,其余的空閑設備卻無法為 之分擔轉發(fā)壓力。 二、設備的出口速率不同。 比如一臺設備是GE出口,一臺是2.5G P0S出口 。上行鏈路比較空閑的設備也無 法為其他設備分擔轉發(fā)壓力。 現有技術通過路由實現負載分擔,如圖1中所示,路由器均啟用動態(tài)路由協議 0SPF,并在NATl和NAT2設備上引入默認路由,不做任何配置修改的情況下R_A上能學習到 2條默認路由,下一跳分別為NATl和NAT2,行成等價路由。 用戶上網的流量會在R-A根據三層負載分擔哈希算法均勻的向NATl和NAT2進行 發(fā)送。 在實現本發(fā)明的過程中,發(fā)明人發(fā)現現有技術至少存在以下問題 現有技術只能做到利用路由來實現負載分擔,但無法根據設備本身的負載情況和
鏈路速率進行動態(tài)調整。 并且在備份方案下只有等主用設備故障后備用設備才能履行網管職責,無法在主 用設備負載較高的情況下分擔壓力。
發(fā)明內容
本發(fā)明提供一種NAT網關設備之間的負載分擔方法和設備,實現根據傳輸速率對 NAT網關設備的負載進行負載分擔。 為達到上述目的,本發(fā)明一方面提供了一種網絡地址轉換NAT網關設備之間的負 載分擔方法,應用于包括多個NAT網關設備的系統中,其特征在于,所述多個NAT網關互為 鄰居設備,所述方法包括 各所述NAT網關設備按照預設的檢測周期對自身的NAT表項利用情況進行檢測, 并將檢測結果發(fā)送給其他NAT網關設備; 所述NAT網關設備接收到其他NAT網關設備發(fā)送的檢測結果,根據各NAT網關設 備的上行鏈路速率,計算各NAT網關設備所應分擔的NAT表項; 所述NAT網關設備根據計算得到的所述各NAT網關設備所應分擔的NAT表項,與
其他NAT網關設備進行NAT表項同步,調整當前分擔的NAT表項數量。 優(yōu)選的,所述多個NAT網關互為鄰居設備,具體通過以下方式進行設定 各所述NAT網關設備分別向所述系統中的其他NAT網關設備發(fā)送協商報文; 各所述NAT網關設備根據接收到的所述協商報文,判斷是否可以與其他NAT網關
設備成為鄰居設備;
當所述判斷結果為是時,各所述NAT網關設備與其他NAT網關設備成為鄰居設備。
優(yōu)選的,各所述NAT網關設備分別向所述系統中的其他NAT網關設備發(fā)送協商報 文時,還包括 各所述NAT網關設備在所發(fā)送協商報文中攜帶各所述NAT網關設備所對應的上行 鏈路傳輸速率信息; 各所述NAT網關設備根據所述協商報文中所攜帶的上行鏈路傳輸速率信息,設置 自身的上行鏈路傳輸速率。 優(yōu)選的,當所述NAT網關設備判斷第一 NAT網關設備所應分擔的NAT表項的數量 超過自身所能分擔的NAT表項的最大數量時,所述方法還包括 所述NAT網關設備使所述第一 NAT網關設備按照所能分擔的NAT表項的最大數量 分擔NAT表項; 所述NAT網關設備針對除所述第一 NAT網關設備所分擔的NAT表項之外的所有 NAT表項,根據除所述第一NAT網關設備外的所有NAT網關設備的上行鏈路速率,計算各 NAT網關設備所應分擔的NAT表項; 所述NAT網關設備根據計算得到的所述各NAT網關設備所應分擔的NAT表項,與
其他NAT網關設備進行NAT表項同步,調整當前分擔的NAT表項數量。 優(yōu)選的,所述NAT網關設備與其他NAT網關設備所進行的NAT表項同步完成后,還
包括 作為接收端的NAT網關設備向對端的NAT網關設備發(fā)送確認消息,確認完成所述 NAT表項同步的操作。 優(yōu)選的,所述NAT網關設備與其他NAT網關設備所進行的NAT表項同步完成后,還
包括各所述NAT網關設備更新路由接入設備中的路由表信息,具體為 所述NAT網關設備向所述路由接入設備發(fā)送需要同步的NAT表項,其中,各NAT表
項中的下一條信息為同步后所述NAT表項所歸屬的NAT網關設備的接口地址。 另一方面,本發(fā)明還提出了 一種NAT網關設備,應用于包括多個NAT網關設備的系
統中,所述多個NAT網關互為鄰居設備,包括 檢測模塊,用于按照預設的檢測周期對自身的NAT表項利用情況進行檢測;
通信模塊,用于將所述檢測模塊所生成的檢測結果發(fā)送給其他NAT網關設備,并 用于接收其他NAT網關設備所發(fā)送的檢測結果; 計算模塊,用于根據所述通信模塊所接收到的各NAT網關設備的上行鏈路速率, 計算各NAT網關設備所應分擔的NAT表項; 調整模塊,用于根據所述計算模塊所計算得到的所述各NAT網關設備所應分擔的 NAT表項,與其他NAT網關設備進行NAT表項同步,調整當前分擔的NAT表項數量。
優(yōu)選的,所述通信模塊,還用于分別向所述系統中的其他NAT網關設備發(fā)送協商 報文,并接收其他NAT網關設備所發(fā)送的協商報文,以進行所述多個NAT網關互為鄰居設備 的設定,此種情況下,所述NAT網關設備還包括 判斷模塊,用于根據接收到的所述協商報文,判斷是否可以與其他NAT網關設備 成為鄰居設備; 處理模塊,用于當所述判斷模塊所生成的判斷結果為是時,使所述NAT網關設備分別與其他NAT網關設備成為鄰居設備。 其中,如果所述通信模塊所發(fā)送的協商報文中攜帶了各NAT網關設備的上行鏈路 傳輸速率信息,所述調整模塊,還用于根據所述協商報文中所攜帶的上行鏈路傳輸速率信 息,設置自身的上行鏈路傳輸速率。 優(yōu)選的,所述判斷模塊,還用于判斷其他NAT網關設備所應分擔的NAT表項的數量 是否超過自身所能分擔的NAT表項的最大數量; 當所述所述判斷模塊判斷第一 NAT網關設備所應分擔的NAT表項的數量超過自身 所能分擔的NAT表項的最大數量時,所述計算模塊,還用于針對除所述第一 NAT網關設備所 分擔的NAT表項之外的所有NAT表項,根據除所述第一 NAT網關設備外的所有NAT網關設 備的上行鏈路速率,計算各NAT網關設備所應分擔的NAT表項; 所述調整模塊,還用于使所述第一 NAT網關設備按照所能分擔的NAT表項的最大 數量分擔NAT表項,并根據計算得到的所述各NAT網關設備所應分擔的NAT表項,與其他 NAT網關設備進行NAT表項同步,調整當前分擔的NAT表項數量。 優(yōu)選的,所述NAT網關設備與其他NAT網關設備所進行的NAT表項同步完成后,
所述通信模塊,還用于向所述其他NAT網關設備發(fā)送提示同步完成的消息,并向 所述路由接入設備發(fā)送需要同步的NAT表項,更新路由接入設備中的路由表信息;
其中,各NAT表項中的下一條信息為同步后所述NAT表項所歸屬的NAT網關設備 的接口地址。 與現有技術相比,本發(fā)明具有以下優(yōu)點 通過應用本發(fā)明的技術方案,通過對設備實際負載和上行鏈路帶寬的定期檢測, 根據實際轉發(fā)情況動態(tài)的同步NAT網關之間的NAT轉發(fā)表項,并通過路由更新的方式,調整 接入路由器的三層轉發(fā)表,實現NAT網關設備之間的動態(tài)負載分擔。
圖1為現有技術中的一種網絡結構的示意圖; 圖2為本發(fā)明所提出的一種NAT網關設備之間的負載分擔方法的流程示意圖;
圖3為本發(fā)明所提出的具體應用場景下的一種NAT網關設備之間的負載分擔方法 的流程示意圖; 圖4為本發(fā)明所提出的一種協商報文的格式示例的示意圖; 圖5為本發(fā)明所提出的一種空的UPDATE報文的格式示例的示意圖; 圖6為本發(fā)明所提出的一種NAT網關設備的結構示意圖。
具體實施例方式
如背景技術所述,由于各路徑等價處理,NAT網關設備無法根據自身性能壓力和上
行鏈路速率來進行動態(tài)負載分擔,從而影響了個設備的性能發(fā)揮效果。 為了解決上述問題,本發(fā)明提出了一種網絡地址轉換NAT網關設備之間的負載分
擔方法,應用于包括多個NAT網關設備的系統中,多個NAT網關互為鄰居設備。 如圖2所示,為本發(fā)明提出的一種NAT網關設備之間的負載分擔方法的流程示意
圖,具體包括以下步驟
步驟S201 、各NAT網關設備按照預設的檢測周期對自身的NAT表項利用情況進行 檢測,并將檢測結果發(fā)送給其他NAT網關設備。 需要指出的是,上述步驟的實現是以各NAT網關設備互為鄰居設備為前提的,因
此,需要指出的是,多個NAT網關互為鄰居設備具體是通過以下方式進行設定的 (1)各NAT網關設備分別向系統中的其他NAT網關設備發(fā)送協商報文。 在具體的應用場景中,各NAT網關設備分別向系統中的其他NAT網關設備發(fā)送協
商報文時,還可以在所發(fā)送協商報文中攜帶各NAT網關設備所對應的上行鏈路傳輸速率信息。 在此種情況下,各NAT網關設備根據協商報文中所攜帶的上行鏈路傳輸速率信 息,設置自身的上行鏈路傳輸速率。 需要指出的是,上述的上行鏈路傳輸速率的設定過程是可選步驟,是否包含本步 驟并不影響本發(fā)明的保護范圍。 (2)各NAT網關設備根據接收到的協商報文,判斷是否可以與其他NAT網關設備成 為鄰居設備。 (3)當判斷結果為是時,各NAT網關設備與其他NAT網關設備成為鄰居設備,當判 斷結果為否時,NAT網關設備之間放棄成為鄰居設備。 步驟S202、NAT網關設備接收到其他NAT網關設備發(fā)送的檢測結果,根據各NAT網 關設備的上行鏈路速率,計算各NAT網關設備所應分擔的NAT 步驟S203、NAT網關設備根據計算得到的各NAT網關設備所應分擔的NAT表項,與 其他NAT網關設備進行NAT表項同步,調整當前分擔的NAT表項數量。
在具體的應用場景中,NAT網關設備與其他NAT網關設備所進行的NAT表項同步 完成后,還包括 作為接收端的NAT網關設備向對端的NAT網關設備發(fā)送確認消息,確認完成NAT 表項同步的操作。 進一步的,NAT網關設備與其他NAT網關設備所進行的NAT表項同步完成后,還包 括各NAT網關設備更新路由接入設備中的路由表信息,具體為 NAT網關設備向路由接入設備發(fā)送需要同步的NAT表項,其中,各NAT表項中的下 一條信息為同步后NAT表項所歸屬的NAT網關設備的接口地址。 再進一步需要指出的是,當NAT網關設備判斷第一 NAT網關設備所應分擔的NAT 表項的數量超過自身所能分擔的NAT表項的最大數量時,方法還包括
NAT網關設備使第一 NAT網關設備按照所能分擔的NAT表項的最大數量分擔NAT 表項; NAT網關設備針對除第一 NAT網關設備所分擔的NAT表項之外的所有NAT表項,根 據除第一 NAT網關設備外的所有NAT網關設備的上行鏈路速率,重新計算各NAT網關設備 所應分擔的NAT表項; NAT網關設備根據計算得到的新的各NAT網關設備所應分擔的NAT表項,與其他 NAT網關設備進行NAT表項同步,調整當前分擔的NAT表項數量。
與現有技術相比,本發(fā)明具有以下優(yōu)點 通過應用本發(fā)明的技術方案,通過對設備實際負載和上行鏈路帶寬的定期檢測,根據實際轉發(fā)情況動態(tài)的同步NAT網關之間的NAT轉發(fā)表項,并通過路由更新的方式,調整
接入路由器的三層轉發(fā)表,實現NAT網關設備之間的動態(tài)負載分擔。 下面,進一步結合具體的示例,對本發(fā)明的技術方案進行說明。 如圖3所示,為本發(fā)明提出的具體應用場景下的一種NAT網關設備之間的負載分
擔方法的流程示意圖,具體包括以下步驟 步驟S301、各NAT網關設備建立鄰居關系。 這里引入了一種協商報文的設定,運行在各NAT網關設備之間,使NAT設備之間建 立鄰居。 上述協商報文的發(fā)送方式默認為組播,如果跨網段可配置對端NAT網關設備,此 時運行在單播模式,由于NAT網關設備不會很多,一般不會造成設備的性能壓力。
具體的協商報文的格式示例如圖4所示。 以NAT-HELLO報文為協商報文的示例,NAT設備收到NAT-HELLO報文后,進行能力
協商(Common Hello Parameters TLV),主要協商上行鏈路速率,這里的上行鏈路速率為實
際運營商分配的速率,一般不等同于物理鏈路速率,需要用戶手工配置以通知NAT網關設
備,需要指出的是,鏈路速率的協商為可選項,用戶可以關閉此功能。 如果協商通過則各NAT網關設備彼此間建立NAT鄰居設定。 步驟S302、各NAT網關設備分別檢測自身的NAT表項占用情況。 每間隔一段時間NAT網關對自身NAT表項利用率進行檢測,檢測完成后主動發(fā)送
NAT-UPDATE報文,通知其他設備。 在具體的應用場景中,各NAT網關中所設置的檢測時間是預先設定的,具體的時
間長度可以相同也可以不同,這樣的變化并不影響本發(fā)明的保護范圍。 步驟S303、各NAT網關設備根據上行鏈路速率比進行負載分擔的計算。 NAT-UPDATE報文中需攜帶設備配置的上行鏈路速率、當前使用的表項數量、本地
支持的最大表項數量,收到UPDATE報文的設備計算所有NAT設備當前使用表項的總和,并
根據上行鏈路速率比進行負載分擔的計算。 步驟S304、各NAT網關設備根據負載分擔的結果進行NAT表項同步。 如果計算發(fā)現某臺設備所需要承擔的表項數已超過規(guī)格,則扣除此設備的最大表
項數,其余設備重新進行計算。需要同步轉發(fā)表的設備通過UPDATE傳遞轉發(fā)表信息,收到
的設備回復一個空的UPDATE報文進行確認。該報文的格式示例如圖5所示。例如NAT1、 NAT2的表項規(guī)格均為10K條,20分鐘采樣時間后,NAT1當前使用表
項為4K條,NAT2也為4K條。他們互發(fā)UPDATE報文來通告這一情況,并獲知總的當前使用
NAT表項為8K條,上行鏈路速率比為1 : 3 (舉例)。于是NAT1實際轉發(fā)表項應為2K條,
NAT2應為6K條。則NAT1需要同步2K條表項給NAT2。假如NAT2的表項規(guī)格為5K條,則
NAT2只能承擔5K條表項,NAT1同步1K條表項給NAT2設備。 步驟S305、 NAT網關設備更新R_A的路由表信息。 NAT網關之間的表項同步完成后(接收端已發(fā)送空的UPDATE進行同步完成確 認),發(fā)送端根據同步后NAT表項內容更新R-A的路由表,即NAT網關設備在自身的路由表 中查找需要同步的NAT表項,找到學習這些表項的路由協議,發(fā)送更新報文給需要同步表 項的NAT鄰居,指定下一跳為該NAT鄰居的接口地址。
這里需要NAT網關和使用的路由協議做聯動,但不需要對協議本身做改動。
其中,符合條件的目的地址可按照以下算法提取 將NAT表項中所有的目的地址進行統計,計算出每一個目的IP對應的表項數,然 后采用窮舉算法,計算最接近需要同步表項的數量的目的IP的組合。如NAT1需要同步到 NAT2的表項數量為X, NATl所有表項中共有目的IP Y個,分別為a, b, c, d, e, f , g……,對 應表項分另ll為n, m, o, p, q, r, s......。 對所有目的IP進行第一次統計,記錄對應表項數量,第二次統計所有目的IP對應 表項數量兩兩相加之和,第三次統計三三相加之和……共統計Y次。將每一次統計的結果 和X相比較,最接近X的目的IP地址為所需要進行路由切換的地址,如果相同,則取數量少 的組合。 NAT網關設備通知路由模塊發(fā)送這些地址的路由更新,把NAT2的接口地址作為下一跳。 本算法最后的計算結果和X會存在一定誤差,在該例子中如果計算結果超過NAT2 的接受能力則不發(fā)生切換。 步驟S306、 R-A設備更新本地路由表,將流量切換到新的NAT網關設備上。
R-A收到到外網的明細路由后更新本地路由表,將流量切換到新的NAT網關上去。 原來的表項不需要刪除,否則會導致回來的報文無法轉發(fā),用戶流中斷。用戶主動拆除連接 后,原表項會被老化。 與現有技術相比,本發(fā)明具有以下優(yōu)點 通過應用本發(fā)明的技術方案,通過對設備實際負載和上行鏈路帶寬的定期檢測, 根據實際轉發(fā)情況動態(tài)的同步NAT網關之間的NAT轉發(fā)表項,并通過路由更新的方式,調整 接入路由器的三層轉發(fā)表,實現NAT網關設備之間的動態(tài)負載分擔。 為了實現本發(fā)明的技術方案,本發(fā)明還提出了一種NAT網關設備,應用于包括多 個NAT網關設備的系統中,多個NAT網關互為鄰居設備。 如圖6所示,為本發(fā)明所提出的一種NAT網關設備的結構示意圖,具體包括
檢測模塊61,用于按照預設的檢測周期對自身的NAT表項利用情況進行檢測;
通信模塊62,用于將檢測模塊61所生成的檢測結果發(fā)送給其他NAT網關設備,并 用于接收其他NAT網關設備所發(fā)送的檢測結果; 計算模塊63,用于根據通信模塊62所接收到的各NAT網關設備的上行鏈路速率, 計算各NAT網關設備所應分擔的NAT表項;調整模塊64,用于根據計算模塊63所計算得到的各NAT網關設備所應分擔的NAT 表項,與其他NAT網關設備進行NAT表項同步,調整當前分擔的NAT表項數量。
在具體的應用場景中,通信模塊62還用于分別向系統中的其他NAT網關設備發(fā)送 協商報文,并接收其他NAT網關設備所發(fā)送的協商報文,以進行多個NAT網關互為鄰居設備 的設定,此種情況下,NAT網關設備還包括 判斷模塊65,用于根據接收到的協商報文,判斷是否可以與其他NAT網關設備成 為鄰居設備; 處理模塊66,用于當判斷模塊65所生成的判斷結果為是時,使NAT網關設備分別 與其他NAT網關設備成為鄰居設備。
其中,如果通信模塊62所發(fā)送的協商報文中攜帶了各NAT網關設備的上行鏈路傳 輸速率信息,調整模塊64還用于根據協商報文中所攜帶的上行鏈路傳輸速率信息,設置自 身的上行鏈路傳輸速率。 在另一種具體的應用場景中,判斷模塊65還用于判斷其他NAT網關設備所應分擔 的NAT表項的數量是否超過自身所能分擔的NAT表項的最大數量; 當判斷模塊65判斷第一 NAT網關設備所應分擔的NAT表項的數量超過自身所能 分擔的NAT表項的最大數量時,計算模塊63還用于針對除第一 NAT網關設備所分擔的NAT 表項之外的所有NAT表項,根據除第一 NAT網關設備外的所有NAT網關設備的上行鏈路速 率,計算各NAT網關設備所應分擔的NAT表項; 調整模塊64,還用于使第一 NAT網關設備按照所能分擔的NAT表項的最大數量分 擔NAT表項,并根據計算得到的各NAT網關設備所應分擔的NAT表項,與其他NAT網關設備 進行NAT表項同步,調整當前分擔的NAT表項數量。 NAT網關設備與其他NAT網關設備所進行的NAT表項同步完成后,通信模塊62還 用于向其他的NAT網關設備發(fā)送提示同步完成的消息,該消息具體可以為空的UPDATE消 息,并向路由接入設備發(fā)送需要同步的NAT表項,更新路由接入設備中的路由表信息;
其中,各NAT表項中的下一條信息為同步后NAT表項所歸屬的NAT網關設備的接 口地址。 與現有技術相比,本發(fā)明具有以下優(yōu)點 通過應用本發(fā)明的技術方案,通過對設備實際負載和上行鏈路帶寬的定期檢測, 根據實際轉發(fā)情況動態(tài)的同步NAT網關之間的NAT轉發(fā)表項,并通過路由更新的方式,調整 接入路由器的三層轉發(fā)表,實現NAT網關設備之間的動態(tài)負載分擔。 通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明可以通
過硬件實現,也可以借助軟件加必要的通用硬件平臺的方式來實現。基于這樣的理解,本發(fā)
明的技術方案可以以軟件產品的形式體現出來,該軟件產品可以存儲在一個非易失性存儲
介質(可以是CD-R0M, U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可
以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施場景所述的方法。 本領域技術人員可以理解附圖只是一個優(yōu)選實施場景的示意圖,附圖中的模塊或
流程并不一定是實施本發(fā)明所必須的。 本領域技術人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進 行分布于實施場景的裝置中,也可以進行相應變化位于不同于本實施場景的一個或多個裝 置中。上述實施場景的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
上述本發(fā)明序號僅僅為了描述,不代表實施場景的優(yōu)劣。 以上公開的僅為本發(fā)明的幾個具體實施場景,但是,本發(fā)明并非局限于此,任何本 領域的技術人員能思之的變化都應落入本發(fā)明的保護范圍。
1權利要求
一種網絡地址轉換NAT網關設備之間的負載分擔方法,應用于包括多個NAT網關設備的系統中,其特征在于,所述多個NAT網關互為鄰居設備,所述方法包括各所述NAT網關設備按照預設的檢測周期對自身的NAT表項利用情況進行檢測,并將檢測結果發(fā)送給其他NAT網關設備;所述NAT網關設備接收到其他NAT網關設備發(fā)送的檢測結果,根據各NAT網關設備的上行鏈路速率,計算各NAT網關設備所應分擔的NAT表項;所述NAT網關設備根據計算得到的所述各NAT網關設備所應分擔的NAT表項,與其他NAT網關設備進行NAT表項同步,調整當前分擔的NAT表項數量。
2. 如權利要求1所述的方法,其特征在于,所述多個NAT網關互為鄰居設備,具體通過 以下方式進行設定各所述NAT網關設備分別向所述系統中的其他NAT網關設備發(fā)送協商報文; 各所述NAT網關設備根據接收到的所述協商報文,判斷是否可以與其他NAT網關設備 成為鄰居設備;當所述判斷結果為是時,各所述NAT網關設備與其他NAT網關設備成為鄰居設備。
3. 如權利要求2所述的方法,其特征在于,各所述NAT網關設備分別向所述系統中的其 他NAT網關設備發(fā)送協商報文時,還包括各所述NAT網關設備在所發(fā)送協商報文中攜帶各所述NAT網關設備所對應的上行鏈路 傳輸速率信息;各所述NAT網關設備根據所述協商報文中所攜帶的上行鏈路傳輸速率信息,設置自身 的上行鏈路傳輸速率。
4. 如權利要求1所述的方法,其特征在于,當所述NAT網關設備判斷第一 NAT網關設 備所應分擔的NAT表項的數量超過自身所能分擔的NAT表項的最大數量時,所述方法還包 括所述NAT網關設備使所述第一 NAT網關設備按照所能分擔的NAT表項的最大數量分擔 NAT表項;所述NAT網關設備針對除所述第一 NAT網關設備所分擔的NAT表項之外的所有NAT表 項,根據除所述第一NAT網關設備外的所有NAT網關設備的上行鏈路速率,計算各NAT網關 設備所應分擔的NAT表項;所述NAT網關設備根據計算得到的所述各NAT網關設備所應分擔的NAT表項,與其他 NAT網關設備進行NAT表項同步,調整當前分擔的NAT表項數量。
5. 如權利要求1或4所述的方法,其特征在于,所述NAT網關設備與其他NAT網關設備 所進行的NAT表項同步完成后,還包括作為接收端的NAT網關設備向對端的NAT網關設備發(fā)送確認消息,確認完成所述NAT 表項同步的操作。
6. 如權利要求1所述的方法,其特征在于,所述NAT網關設備與其他NAT網關設備所進 行的NAT表項同步完成后,還包括各所述NAT網關設備更新路由接入設備中的路由表信息, 具體為所述NAT網關設備向所述路由接入設備發(fā)送需要同步的NAT表項,其中,各NAT表項中 的下一條信息為同步后所述NAT表項所歸屬的NAT網關設備的接口地址。
7. —種NAT網關設備,應用于包括多個NAT網關設備的系統中,其特征在于,所述多個 NAT網關互為鄰居設備,包括檢測模塊,用于按照預設的檢測周期對自身的NAT表項利用情況進行檢測;通信模塊,用于將所述檢測模塊所生成的檢測結果發(fā)送給其他NAT網關設備,并用于 接收其他NAT網關設備所發(fā)送的檢測結果;計算模塊,用于根據所述通信模塊所接收到的各NAT網關設備的上行鏈路速率,計算 各NAT網關設備所應分擔的NAT表項;調整模塊,用于根據所述計算模塊所計算得到的所述各NAT網關設備所應分擔的NAT 表項,與其他NAT網關設備進行NAT表項同步,調整當前分擔的NAT表項數量。
8. 如權利要求7所述的NAT網關設備,其特征在于,所述通信模塊,還用于分別向所述 系統中的其他NAT網關設備發(fā)送協商報文,并接收其他NAT網關設備所發(fā)送的協商報文,以 進行所述多個NAT網關互為鄰居設備的設定,此種情況下,所述NAT網關設備還包括判斷模塊,用于根據接收到的所述協商報文,判斷是否可以與其他NAT網關設備成為 鄰居設備;處理模塊,用于當所述判斷模塊所生成的判斷結果為是時,使所述NAT網關設備分別 與其他NAT網關設備成為鄰居設備。其中,如果所述通信模塊所發(fā)送的協商報文中攜帶了各NAT網關設備的上行鏈路傳輸 速率信息,所述調整模塊,還用于根據所述協商報文中所攜帶的上行鏈路傳輸速率信息,設 置自身的上行鏈路傳輸速率。
9. 如權利要求7所述的NAT網關設備,其特征在于,所述判斷模塊,還用于判斷其他NAT網關設備所應分擔的NAT表項的數量是否超過自 身所能分擔的NAT表項的最大數量;當所述所述判斷模塊判斷第一 NAT網關設備所應分擔的NAT表項的數量超過自身所能 分擔的NAT表項的最大數量時,所述計算模塊,還用于針對除所述第一 NAT網關設備所分擔 的NAT表項之外的所有NAT表項,根據除所述第一 NAT網關設備外的所有NAT網關設備的 上行鏈路速率,計算各NAT網關設備所應分擔的NAT表項;所述調整模塊,還用于使所述第一NAT網關設備按照所能分擔的NAT表項的最大數量 分擔NAT表項,并根據計算得到的所述各NAT網關設備所應分擔的NAT表項,與其他NAT網 關設備進行NAT表項同步,調整當前分擔的NAT表項數量。
10. 如權利要求7所述的NAT網關設備,其特征在于,所述NAT網關設備與其他NAT網 關設備所進行的NAT表項同步完成后,所述通信模塊,還用于向所述其他NAT網關設備發(fā)送提示同步完成的消息,并向所述 路由接入設備發(fā)送需要同步的NAT表項,更新路由接入設備中的路由表信息;其中,各NAT表項中的下一條信息為同步后所述NAT表項所歸屬的NAT網關設備的接 口地址。
全文摘要
本發(fā)明公開了一種NAT網關設備之間的負載分擔方法和設備,通過對設備實際負載和上行鏈路帶寬的定期檢測,根據實際轉發(fā)情況動態(tài)的同步NAT網關之間的NAT轉發(fā)表項,并通過路由更新的方式,調整接入路由器的三層轉發(fā)表,實現NAT網關設備之間的動態(tài)負載分擔。
文檔編號H04L12/56GK101697528SQ200910209448
公開日2010年4月21日 申請日期2009年10月30日 優(yōu)先權日2009年10月30日
發(fā)明者沈嶺, 王軍 申請人:杭州華三通信技術有限公司;