專利名稱:一種多isp局域網(wǎng)的出口路由方法
技術(shù)領域:
本發(fā)明涉及網(wǎng)絡路由技術(shù),具體涉及一種多ISP局域網(wǎng)的出口選擇方法。更具體涉及一種連接多個Internet服務提供商(ISP)的局域網(wǎng)的訪問出口的選擇方法。
背景技術(shù):
為了便于描繪本發(fā)明和背景技術(shù),首先給出說明書和權(quán)利要求中使用的短語的定義NAT(Network Address Translation)網(wǎng)絡地址轉(zhuǎn)換ISP(Internet Service Provider)Internet網(wǎng)絡接入服務提供商主機路由與網(wǎng)絡設備直聯(lián)主機在路由表中對應的32位掩碼表項,此類表項都有ARP與其一一對應。
一般情況下,園區(qū)網(wǎng)通常配置多個網(wǎng)絡出口,聯(lián)接ISP(InternetService Provider)接入服務商,多個網(wǎng)絡出口之間互為備份、負荷分擔,提高園區(qū)網(wǎng)與外網(wǎng)間通信的帶寬和魯棒性。在校園網(wǎng)的建設中,這種情況更為常見,通常校園網(wǎng)會接入到一個公共運營商和教育網(wǎng)。同時,由于目前IP地址非常短缺,園區(qū)網(wǎng)中需要使用私網(wǎng)Ip地址,通過NAT(網(wǎng)絡地址轉(zhuǎn)換)接入到Internet中。由于不同的接入服務商提供的接入計費、流控策略不同,因此需要對園區(qū)網(wǎng)出口流量進行NAT多出口策略控制。通過NAT多出口策略控制,可以根據(jù)用戶報文的源信息和目的信息,來選擇出口ISP,達到節(jié)約接入費用,用戶分級管理的目的。例如在校園網(wǎng)中,接入公共運營商(如電信)時到境外的流量收費比接入教育網(wǎng)便宜,而教育網(wǎng)對國內(nèi)流量不收費用。因此需要進行NAT多出口策略控制,對到國內(nèi)的流量選擇教育網(wǎng)出口,國外的流量選擇公共運營商出口。同時兩個出口還應該互相備份,當一個出口故障時,所有流量切換另一個出口。
對于NAT多出口策略控制,業(yè)界主流核心路由交換機對這樣的組網(wǎng)沒有很好的解決方案,或者束手無策。一般業(yè)界采用如下方案來解決NAT多出口策略問題。使用多臺路由器來組網(wǎng)實現(xiàn),前面一臺路由器進行報文分流,對報文根據(jù)源信息和目的信息進行分流,轉(zhuǎn)到后面的多臺路由器上,由后面的多臺路由器進行NAT操作,達到實現(xiàn)NAT多出口策略控制的目的;考慮到園區(qū)網(wǎng)聯(lián)接多個出口ISP,內(nèi)部公私網(wǎng)混合組網(wǎng),多個地址空間并存,園區(qū)核心路由交換機要求NAT和策略路由并存等多種組網(wǎng)要求,需要根據(jù)源IP地址和出接口共同決定報文轉(zhuǎn)發(fā)是否需要NAT轉(zhuǎn)換及其地址池綁定關(guān)系,為了方便可以以NAT策略樹概念來描述地址池綁定關(guān)系;同時將策略路由模塊與NAT模塊分離,以適應分布式轉(zhuǎn)發(fā)的需求,使核心交換機能單獨提供NAT多出口策略功能,實現(xiàn)硬件分布式轉(zhuǎn)發(fā),達到線速無阻塞的轉(zhuǎn)發(fā)的要求。
圖1為現(xiàn)有技術(shù)的多ISP園區(qū)網(wǎng)組網(wǎng)的原理圖。它使用多臺路由器交換機,或者一臺核心交換機多臺專用NAT設備,來實現(xiàn)NAT多出口策略功能。這種組網(wǎng)雖然可以實現(xiàn)NAT多戶口策略功能,同時由硬件進行NAT操作,能保證帶寬。但是需要添加設備來實現(xiàn),組網(wǎng)成本增加的同時也導致故障點增加。另外由于是多個設備混和組網(wǎng)實現(xiàn),因此當一個ISP出口的NAT發(fā)生故障時,核心路由交換機不能感知該設備故障,將導致出口流量中斷,需要手工干預修改復雜流分類策略,來實現(xiàn)多個ISP出口的備份。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)的上述缺點,提供一種多ISP局域網(wǎng)的出口選擇方法。利用本發(fā)明,NAT的多ISP的控制一臺核心路由交換機完成處理,從而克服了多臺設備帶來的成本和故障點增加的問題,并能適應分布式轉(zhuǎn)發(fā)的需求,在實現(xiàn)復雜的轉(zhuǎn)發(fā)策略的同時,實現(xiàn)線速無阻塞轉(zhuǎn)發(fā),同時能實現(xiàn)出口鏈路的備份功能。本發(fā)明提供了一種多ISP局域網(wǎng)的出口選擇方法,包括如下步驟將局域網(wǎng)路由設置為普通路由和策略路由,所述的普通路由作為所述的策略路由的備份;設置所述策略路由的路由策略;建立NAT地址池;當有來自局域網(wǎng)內(nèi)部的出口請求時,查詢路由表,確定下一跳的所述策略路由和/或普通路由;判斷所述的策略路由是否可用,如果可用,用所述的策略路由結(jié)果覆蓋目的地址路由;如果不可用,仍使用原來的目的地址路由;判斷是否需要進行NAT轉(zhuǎn)換,如果需要,
選擇所述的NAT地址池和出接口用戶板;轉(zhuǎn)分布式NAT處理設備,實現(xiàn)NAT轉(zhuǎn)換;按上述的路由結(jié)果轉(zhuǎn)發(fā)報文到出接口用戶板;如果不需要,根據(jù)路由信息轉(zhuǎn)發(fā)報文到用戶板。
可選地,所述的建立NAT地址池的步驟包括將所述的NAT地址池與各個ISP的出接口綁定,和以所述的出接口和訪問請求的源IP地址的組合為關(guān)鍵字,創(chuàng)建NAT策略樹的步驟,其中,所創(chuàng)建的策略樹用于存儲用戶流量是否需要NAT轉(zhuǎn)換,所述組合與所述地址池的綁定關(guān)系以及分布式專用NAT轉(zhuǎn)換板槽號的NAT等策略NAT消息。
優(yōu)選地,所創(chuàng)建的NAT策略樹的是二叉樹。
可選地,所述的判斷是否需要進行NAT轉(zhuǎn)換的步驟包括判斷用戶流量命中的路由表項中是否有公網(wǎng)標記的步驟,和如果所述的用戶流量命中的路由表項中有公網(wǎng)標記,根據(jù)所述的出接口和源IP地址的組合為關(guān)鍵字,查詢是否命中所述策略樹葉子節(jié)點。
優(yōu)選地,所述的選擇NAT的地址池的步驟包括以所述的出接口和源IP地址的組合為關(guān)鍵字,在所述策略樹葉子節(jié)點中匹配,在匹配到的NAT策略樹的葉子節(jié)點得到地址池和NAT板號的步驟。
可選地,所述的查詢路由表,確定下一跳的策略路由和/或普通路由的步驟包括當所述的策略路由不可用時,用戶流量自動按照所述的普通路由轉(zhuǎn)發(fā)。
優(yōu)選地,所述的判斷策略路由是否可用的步驟是用所述的策略路由的下一跳查找所述的路由表;判斷下一跳能夠命中32位掩碼的直連主機路由,
如果是,所述的策略路由可用;如果不是,所述的策略路由不可用,以所述的普通路由轉(zhuǎn)發(fā)。
可選地,所述的方法中所述的路由模塊與NAT模塊完全分離,所述的路由模塊確定用戶流量的出口,所述的NAT模塊確定是否要做NAT以及地址池的選擇。
優(yōu)選地,所述的方法還包括判斷是否存在多個下一跳的步驟,并且當存在多個所述的下一跳時,包括步驟多個ISP分別分擔部分流量。
本發(fā)明通過根據(jù)源IP地址、出接口、普通路由、策略路由來共同決定報文轉(zhuǎn)發(fā)是否需要NAT轉(zhuǎn)換及其地址池綁定關(guān)系,增加NAT策略樹,描述地址池綁定關(guān)系;同時路由模塊與NAT模塊分離,以適應分布式轉(zhuǎn)發(fā)的需求,在實現(xiàn)復雜的轉(zhuǎn)發(fā)策略的同時,達到線速無阻塞的轉(zhuǎn)發(fā)要求。
圖1為現(xiàn)有技術(shù)的多ISP園區(qū)網(wǎng)組網(wǎng)的原理圖;圖2示出了本發(fā)明的實施例的NAT多ISP策略轉(zhuǎn)發(fā)流程圖;圖3描繪了本發(fā)明的另一實施例的結(jié)合具體設備描繪的策略NAT轉(zhuǎn)發(fā)流程圖。
具體實施例方式
本發(fā)明的關(guān)鍵過程是通過在轉(zhuǎn)發(fā)平面增加一個NAT策略表,數(shù)據(jù)流轉(zhuǎn)發(fā)時在轉(zhuǎn)發(fā)平面直接進行NAT策略控制,使核心路由交換機既可以完成復雜的NAT策略控制,同時又利用了分布式轉(zhuǎn)發(fā)平面的高性能。使處于園區(qū)網(wǎng)核心位置的核心路由交換機能獨立完成NAT策略功能,簡化了網(wǎng)絡的復雜性。
通過增加NAT策略表,完成NAT策略功能,可以解決兩個主要技術(shù)問題1、實現(xiàn)了根據(jù)用戶源信息和出接口信息來選擇ISP出口,可以靈活的配合多個ISP的計費流控策略,節(jié)省用戶的出口流量費用。
2、實現(xiàn)了多個出口ISP之間的熱備份,發(fā)現(xiàn)某個ISP出口故障時,可以自動快速切換到另外的ISP出口,無需人工干預。
圖2示出了本發(fā)明的NAT多ISP策略轉(zhuǎn)發(fā)流程圖。其中,在轉(zhuǎn)發(fā)平面增加一個NAT策略表,策略表的存儲方式是樹結(jié)構(gòu)。該表的索引是源IP+出接口,表項中內(nèi)容是綁定的ISP出口信息,包括地址池和鏈接數(shù)限制等。在轉(zhuǎn)發(fā)流程中查詢完路由表和策略路由后,再查詢NAT策略表,獲得出口ISP的信息,然后根據(jù)這些信息進行NAT操作。當出口ISP故障時,自動選擇可用ISP,實現(xiàn)多個ISP之間的熱備份。
具體的轉(zhuǎn)發(fā)步驟如下所述1、根據(jù)報文的目的IP查詢路由表,得到報文的轉(zhuǎn)發(fā)出接口A;2、根據(jù)系統(tǒng)配置信息,確定是否需要進行策略路由,如果不需要則使用源IP+出接口A查詢NAT策略樹,然后跳轉(zhuǎn)到第5步;3、根據(jù)復雜流分類的結(jié)果進行策略路由,得到報文的出接口B;4、判斷出接口B是否有效,如果有效則使用源IP+出接口B查詢策略樹,如果無效則使用源IP+出接口A查詢NAT策略樹,
5、根據(jù)NAT策略樹查詢結(jié)果選擇出口的ISP,并對報文進行NAT操作,然后從選中的出口ISP鏈路中把報文發(fā)送出去;多ISP出口備份通過兩個手段實現(xiàn)1、對于策略路由,如果策略路由的出接口無效,則自動使用路由表的出接口。
2、對于路由表中的出接口,如果出接口無效,核心路由交換機的路由處理系統(tǒng)會自動進行路由重新計算,選擇新的路由并下發(fā)到路由表中,從而實現(xiàn)多個ISP出口的備份。
為實現(xiàn)在多地址空間混合組網(wǎng)下,對多ISP出口的園區(qū)網(wǎng)設備的可控性要求,本發(fā)明“策略NAT”要實現(xiàn)以下三個關(guān)鍵功能點A用戶流量的出口不能僅由普通路由確定,必須完成完善的策略路由,同時實現(xiàn)普通路由對策略路由的備份。
B必須支持同一個私網(wǎng)內(nèi)的用戶可以通過不同ISP提供的出口訪問公網(wǎng)。并且同一私網(wǎng)用戶從不同的出口訪問公網(wǎng)時,該用戶的私網(wǎng)地址應該轉(zhuǎn)換成不同地址池中的公網(wǎng)地址,即用戶地址空間與其出口空間不符時,就必須以其出口綁定的地址池進行NAT轉(zhuǎn)換。
C路由模塊與NAT模塊完全分離,路由模塊(包括目的地址路由和策略路由)確定用戶流量的出口,是否要做NAT以及選擇哪個地址池,由NAT模塊確定。
為了實現(xiàn)用戶流量的出口不能僅由普通路由確定,必須完成完善的策略路由,同時實現(xiàn)普通路由對策略路由的備份的目的,利用普通路由對策略路由的備份,即在策略路由不可用時,用戶流量自動依照普通路由轉(zhuǎn)發(fā)。本發(fā)明的實施例中以策略路由的下一跳查找路由表,因為可用路由的下一跳通常是一個直聯(lián)主機,能否命中32位掩碼的直聯(lián)主機路由,在本發(fā)明中做為策略路由是否可用的判斷依據(jù)。如果命中32位掩碼的直聯(lián)主機路由,則說明此策略路由可用;否則,策略路由不生效,仍然以普通路由轉(zhuǎn)發(fā)。
為了支持同一個私網(wǎng)內(nèi)的用戶可以通過不同ISP提供的出口訪問公網(wǎng),并且同一私網(wǎng)用戶從不同的出口訪問公網(wǎng)時,該用戶的私網(wǎng)地址應該轉(zhuǎn)換成不同地址池中的公網(wǎng)地址,即用戶地址空間與其出口空間不符時,就必須以其出口綁定的地址池進行NAT轉(zhuǎn)換。本發(fā)明的實施例實現(xiàn)了不同的用戶流量由不同的ISP出口,以不同的地址池進行NAT轉(zhuǎn)換。本發(fā)明的實施例中不再將地址池注冊在全局模式下,而是與出接口綁定。同時為識別是否需要進行NAT轉(zhuǎn)換和選擇哪個NAT地址池,以出接口和源IP的組合做為關(guān)鍵字創(chuàng)建NAT策略樹,記錄地址池的綁定關(guān)系和分布式專用NAT轉(zhuǎn)換板槽號。用戶流量命中的路由表項中是否有公網(wǎng)標記做為搜索NAT策略樹的使能開關(guān)。該標記由用戶在與ISP對接的出接口上配置,路由凡落在這個出接口的,都會帶上公網(wǎng)標記。根據(jù)出接口和源IP組成的聯(lián)合為關(guān)鍵字,若能命中NAT策略樹葉子,說明報文出口前需進行NAT轉(zhuǎn)換,在NAT策略樹葉子中得到地址池和NAT板號,報文轉(zhuǎn)NAT板處理;否則若不能命中,說明此用戶是公網(wǎng)地址,與此處接口的ISP屬于同一編址空間,不需進行NAT轉(zhuǎn)換,直接根據(jù)路由信息轉(zhuǎn)下行用戶板處理。
為了實現(xiàn)路由模塊與NAT模塊完全分離,路由模塊(包括目的地址路由和策略路由)確定用戶流量的出口,是否要做NAT以及選擇哪個地址池,由NAT模塊確定。本發(fā)明的實施例采用路由模塊與NAT模塊完全分離保證兩者在邏輯上劃分清晰,功能上不再互相影響牽制。為實現(xiàn)不同用戶各種復雜轉(zhuǎn)發(fā)邏輯的組合,留下了充分的空間。
圖3描繪了本發(fā)明的另一實施例的結(jié)合具體設備描繪的策略NAT轉(zhuǎn)發(fā)流程圖。
在步驟210,利用目的IP查找路由表,根據(jù)路由表確定可能的下一跳。
在步驟220,根據(jù)查找的路由表,判斷是否存在多個下一跳,如果在步驟220判斷有多個下一跳,在步驟230,這些多個下一跳進行流量分擔;然后進入步驟240,判斷策略路由是否匹配成功;如果在步驟220判斷沒有多個下一跳而僅有一個下一跳,直接進入步驟240,判斷策略路由是否匹配成功。
如果在步驟240判斷策略路由匹配成功,進入步驟250,利用策略路由的下一跳查路由表判斷能否命中主機路由,如果在步驟250判斷能命中主機路由,進入步驟260,利用策略路由結(jié)果覆蓋目的地址路由。然后,進入步驟270,判斷路由表項是否有公網(wǎng)標志。
如果在步驟240判斷策略路由匹配不成功,及如果在步驟250判斷不能命中主機路由,進入步驟270。
如果在步驟270判斷有公網(wǎng)標志,進入步驟280,利用源IP和出接口查NAT策略樹,判斷是否命中。
如果在步驟280判斷命中,進入步驟290,根據(jù)搜索結(jié)果,得到地址池號。然后,在步驟310經(jīng)交換網(wǎng),轉(zhuǎn)分布式NAT處理設備,實現(xiàn)NAT轉(zhuǎn)換。然后,在步驟300,進入交換網(wǎng)。
如果在步驟270判斷沒有公網(wǎng)標志,及如果在步驟280判斷未命中,在步驟300,進入交換網(wǎng)。
最后,在步驟320,按路由結(jié)果轉(zhuǎn)發(fā)報文到出接口用戶板。
以上所述,僅為本發(fā)明的實施例而已,其中所描述的方法都只是用做舉例,非因此即局限本發(fā)明的權(quán)利范圍,凡運用本發(fā)明說明書及附圖內(nèi)容的等效變化,均包含于本發(fā)明的權(quán)利要求范圍內(nèi)。
權(quán)利要求
1.一種多ISP局域網(wǎng)的出口選擇方法,包括如下步驟將局域網(wǎng)路由設置為普通路由和策略路由,所述的普通路由作為所述的策略路由的備份;設置所述策略路由的路由策略;建立NAT地址池;當有來自局域網(wǎng)內(nèi)部的出口請求時,查詢路由表,確定下一跳的所述策略路由和/或普通路由;判斷所述的策略路由是否可用,如果可用,用所述的策略路由結(jié)果覆蓋目的地址路由;如果不可用,仍使用原來的目的地址路由;判斷是否需要進行NAT轉(zhuǎn)換,如果需要,選擇所述的NAT地址池和出接口用戶板;轉(zhuǎn)分布式NAT處理設備,實現(xiàn)NAT轉(zhuǎn)換;按上述的路由結(jié)果轉(zhuǎn)發(fā)報文到出接口用戶板;如果不需要,根據(jù)路由信息轉(zhuǎn)發(fā)報文到用戶板。
2.如權(quán)利要求1所述的多ISP局域網(wǎng)的出口選擇方法,其特征在于所述的建立NAT地址池的步驟包括將所述的NAT地址池與各個ISP的出接口綁定,和以所述的出接口和訪問請求的源IP地址的組合為關(guān)鍵字,創(chuàng)建NAT策略樹的步驟,其中,所創(chuàng)建的策略樹用于存儲用戶流量是否需要NAT轉(zhuǎn)換,所述組合與所述地址池的綁定關(guān)系以及分布式專用NAT轉(zhuǎn)換板槽號的NAT等策略NAT消息。
3.如權(quán)利要求2所述的多ISP局域網(wǎng)的出口選擇方法,其特征在于所創(chuàng)建的NAT策略樹的是二叉樹。
4.如權(quán)利要求2所述的多ISP局域網(wǎng)的出口選擇方法,其特征在于所述的判斷是否需要進行NAT轉(zhuǎn)換的步驟包括判斷用戶流量命中的路由表項中是否有公網(wǎng)標記的步驟,和如果所述的用戶流量命中的路由表項中有公網(wǎng)標記,根據(jù)所述的出接口和源IP地址的組合為關(guān)鍵字,查詢是否命中所述策略樹葉子節(jié)點。
5.如權(quán)利要求2所述的多ISP局域網(wǎng)的出口選擇方法,其特征在于所述的選擇NAT的地址池的步驟包括以所述的出接口和源IP地址的組合為關(guān)鍵字,在所述策略樹葉子節(jié)點中匹配,在匹配到的NAT策略樹的葉子節(jié)點得到地址池和NAT板號的步驟。
6.如權(quán)利要求1所述的多ISP局域網(wǎng)的出口選擇方法,其特征在于所述的查詢路由表,確定下一跳的策略路由和/或普通路由的步驟包括當所述的策略路由不可用時,用戶流量自動按照所述的普通路由轉(zhuǎn)發(fā)。
7.如權(quán)利要求1所述的多ISP局域網(wǎng)的出口選擇方法,其特征在于所述的判斷策略路由是否可用的步驟是用所述的策略路由的下一跳查找所述的路由表;判斷下一跳能夠命中32位掩碼的直連主機路由,如果是,所述的策略路由可用;如果不是,所述的策略路由不可用,以所述的普通路由轉(zhuǎn)發(fā)。
8.如權(quán)利要求1所述的多ISP局域網(wǎng)的出口選擇方法,其特征在于所述的方法中所述的路由模塊與NAT模塊完全分離,所述的路由模塊確定用戶流量的出口,所述的NAT模塊確定是否要做NAT以及地址池的選擇。
9.如權(quán)利要求1所述的多ISP局域網(wǎng)的出口選擇方法,其特征在于所述的方法還包括判斷是否存在多個下一跳的步驟,并且當存在多個所述的下一跳時,包括步驟多個ISP分別分擔部分流量。
全文摘要
本發(fā)明公開了一種多ISP局域網(wǎng)的出口選擇方法,包括將局域網(wǎng)路由設置為普通路由和策略路由;設置策略路由的路由策略;建立NAT地址池;當有來自局域網(wǎng)內(nèi)部的出口請求時,查詢路由表,確定下一跳的策略路由和/或普通路由;判斷策略路由是否可用,如果可用,用策略路由結(jié)果覆蓋目的地址路由;如果不可用,仍使用原來的目的地址路由;判斷是否需要進行NAT轉(zhuǎn)換,如果需要,選擇NAT地址池和出接口用戶板;轉(zhuǎn)分布式NAT處理設備,實現(xiàn)NAT轉(zhuǎn)換;按路由結(jié)果轉(zhuǎn)發(fā)報文到出接口用戶板。如果不需要,根據(jù)路由信息轉(zhuǎn)發(fā)報文到用戶板。本發(fā)明實現(xiàn)了復雜的轉(zhuǎn)發(fā)策略,且線速無阻塞。
文檔編號H04L12/56GK1630268SQ200310123979
公開日2005年6月22日 申請日期2003年12月19日 優(yōu)先權(quán)日2003年12月19日
發(fā)明者陳陣, 黃河 申請人:華為技術(shù)有限公司