專利名稱:Nat業(yè)務(wù)報文處理的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種NAT業(yè)務(wù)報文處理的方法及裝置。
背景技術(shù):
NAT (Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)是將IP數(shù)據(jù)報報頭中的IP地址轉(zhuǎn)換為另一個IP地址的過程。在實際應(yīng)用中,NAT主要用于實現(xiàn)私有網(wǎng)絡(luò)訪問公共網(wǎng)絡(luò)的功能,使用少量的公有IP地址代表較多的私有IP地址,有助于減緩可用IP地址空間的枯竭。 NAT包括兩種基本形式NoPAT(No Port Address Translation,無端口地址轉(zhuǎn)換)和PAT(Port Address Translation,端口地址轉(zhuǎn)換)。其中,NoPAT方式只轉(zhuǎn)換IP數(shù)據(jù)報頭中的IP地址,不對端口進行轉(zhuǎn)換,在私有網(wǎng)絡(luò)地址和公共網(wǎng)絡(luò)地址之間建立一對一的映射。PAT方式的地址轉(zhuǎn)換是采用了 "地址+端口 "的映射方式,利用了 TCP/UDP協(xié)議的端口號,進行地址轉(zhuǎn)換,可在私有網(wǎng)地址和公共網(wǎng)絡(luò)地址之間建立多對一的映射。
NAT地址轉(zhuǎn)換轉(zhuǎn)換的基本過程如圖1所示,私網(wǎng)192. 168. 1. 0/24通過網(wǎng)關(guān)公網(wǎng)出接口連接Internet。通常,在出接口上配置NAT規(guī)則,包含轉(zhuǎn)換使用的公網(wǎng)地址池及使用該地址池的流量的ACL (Access Control List,訪問控制列表)規(guī)則。當上行流量匹配ACL規(guī)則時,網(wǎng)關(guān)設(shè)備根據(jù)ACL規(guī)則從地址池中為上行流量分配一個公網(wǎng)IP地址,上行流量的源IP地址轉(zhuǎn)換為該公網(wǎng)IP地址,實現(xiàn)對Internet的訪問。網(wǎng)關(guān)接收下行流量時,根據(jù)該下行流量的目的IP地址匹配會話表,匹配成功時將下行流量目的IP地址轉(zhuǎn)換為相應(yīng)的IP地址,實現(xiàn)目的地址轉(zhuǎn)換。 具體的,如圖l所示,NAT網(wǎng)關(guān)處于私有網(wǎng)絡(luò)和公有網(wǎng)絡(luò)的連接處,當內(nèi)部PC(192. 168. 1. 3)向外部服務(wù)器(1. 1. 1. 2)發(fā)送一個數(shù)據(jù)報1時,數(shù)據(jù)報將通過NAT網(wǎng)關(guān)。NAT網(wǎng)關(guān)查看報頭內(nèi)容,發(fā)現(xiàn)該數(shù)據(jù)報的目的地址為公有地址,將數(shù)據(jù)報1的源地址字段的私有地址192. 168. 1. 3換成一個可在Internet上選路的公有地址20. 1. 1. l,并將該數(shù)據(jù)報發(fā)送到外部服務(wù)器,同時在NAT網(wǎng)關(guān)的網(wǎng)絡(luò)地址轉(zhuǎn)換表中記錄這一映射。外部服務(wù)器給內(nèi)部PC發(fā)送的應(yīng)答報文2 (其初始目的地址為20. 1. 1. 1)到達NAT網(wǎng)關(guān)后,NAT網(wǎng)關(guān)再次查看報頭內(nèi)容,然后查找當前網(wǎng)絡(luò)地址轉(zhuǎn)換表的記錄,找到與公有地址20. 1. 1. 1對應(yīng)的私用地址192. 168. 1. 3,使用內(nèi)部PC的私有地址192. 168. 1. 3替換初始的目的地址。
NAT實現(xiàn)通常有兩種形式軟件NAT和硬件NAT。其中,軟件NAT是指通過在單核或多核CPU上運行相應(yīng)的軟件代碼來實現(xiàn)NAT處理功能,所有需要NAT處理的報文都上送CPU進行處理。硬件NAT是指通過專有的NAT業(yè)務(wù)板來實現(xiàn)NAT處理,通過在NAT業(yè)務(wù)板上運行的NP微碼來實現(xiàn)硬件NAT處理。軟件NAT實現(xiàn)功能較為豐富,控制靈活,但由于受限于CPU處理能力,因此,NAT處理性能較低。硬件NAT性能高,但由于通過NP微碼來實現(xiàn),微碼編程能力有限,功能較為單一,控制不夠靈活。同時,由于需要采用專有的業(yè)務(wù)板來實現(xiàn),成本高。對于網(wǎng)絡(luò)流量主要集中于內(nèi)部互訪,出口流量帶寬較小的用戶來說,綜合考慮成本、性能需求,通常選擇軟件NAT來實現(xiàn)私網(wǎng)到公網(wǎng)的訪問。
4
目前網(wǎng)關(guān)設(shè)備通常為分布式路由設(shè)備,主要由主控板、接口板及交換網(wǎng)板構(gòu)成,設(shè) 備的二、三層報文轉(zhuǎn)發(fā)通過硬件來實現(xiàn)。因此,為了支持NAT業(yè)務(wù),必須對硬件轉(zhuǎn)發(fā)流程進 行修改,將轉(zhuǎn)發(fā)流中需要NAT業(yè)務(wù)處理的報文識別出來,并上送NAT處理裝置(CPU或NAT 板)進行NAT處理,然后從對應(yīng)出接口發(fā)送出去。 現(xiàn)有技術(shù)中,網(wǎng)關(guān)設(shè)備主要通過QACL重定向和FIB重定向兩種方式將需要NAT處 理的報文上送NAT處理裝置。 QACL重定向方式,指的是在私網(wǎng)入接口上配置與NAT轉(zhuǎn)換規(guī)則的ACL過濾規(guī)則對 應(yīng)的QACL重定向規(guī)則,網(wǎng)關(guān)設(shè)備接收到私網(wǎng)報文時,若私網(wǎng)報文的地址信息與QACL重定向 規(guī)則匹配,則網(wǎng)關(guān)設(shè)備將將該私網(wǎng)報文上送NAT處理裝置。 FIB重定向方式,指的是在公網(wǎng)出接口上配置NAT規(guī)則,將該出接口綁定到指定 NAT處理裝置時,網(wǎng)關(guān)設(shè)備重刷出接口為該公網(wǎng)接口的所有網(wǎng)段路由對應(yīng)的FIB,在FIB中 增加NAT處理標記及需要重定向到的目的NAT處理裝置信息。網(wǎng)關(guān)設(shè)備從私網(wǎng)接收報文后, 查找FIB表,找到對應(yīng)的公網(wǎng)出接口及其對應(yīng)的邏輯表項(outLIF),根據(jù)FIB表中的NAT處 理標記及目的NAT處理裝置重定向信息,將報文重定向目的NAT處理裝置。
但是,對于FIB重定向NAT,由于重刷所有出接口為對應(yīng)公網(wǎng)出接口的FIB表項,所 有從該公網(wǎng)出接口出去流量都會上送NAT處理裝置進行處理,其中包括不滿足NAT轉(zhuǎn)換規(guī) 則的流量。對于多核CPU方式的軟NAT,由于硬件上送CPU通道的帶寬有限(通常IG),且 CPU的處理能力有限,因此將不需要NAT業(yè)務(wù)處理的流量上送CPU,不僅占用上送通道帶寬, 影響正常NAT處理流量上送,增加CPU處理負擔。同時,網(wǎng)關(guān)設(shè)備建立流表存儲進行NAT處 理的流量信息。對于不需要NAT處理的流量,同樣會占用流表,消耗內(nèi)存資源,影響正常會 話的處理。 現(xiàn)有技術(shù)的缺點在于網(wǎng)關(guān)設(shè)備將流量上送NAT處理裝置過程中,無法準確識別 需要NAT處理的流量,導(dǎo)致大量不需要NAT處理的流量上送NAT處理裝置,消耗有限資源, 導(dǎo)致正常業(yè)務(wù)處理流量無法得到迅速處理。
發(fā)明內(nèi)容
本發(fā)明提供了一種網(wǎng)絡(luò)地址轉(zhuǎn)換業(yè)務(wù)報文處理的方法和裝置,以減少網(wǎng)關(guān)設(shè)備中 需要上送NAT處理裝置進行處理的流量。 本發(fā)明提供了一種網(wǎng)絡(luò)地址轉(zhuǎn)換NAT業(yè)務(wù)報文處理的方法,應(yīng)用于包括服務(wù)端 口 、 NAT處理裝置以及公網(wǎng)出口的網(wǎng)關(guān)設(shè)備,該方法進一步包括以下步驟
所述公網(wǎng)出口配置NAT轉(zhuǎn)換規(guī)則、以及與所述NAT處理裝置和所述服務(wù)端口的綁 定關(guān)系; 所述NAT處理裝置獲取所述公網(wǎng)出口配置的NAT轉(zhuǎn)換規(guī)則,根據(jù)所述NAT轉(zhuǎn)換規(guī) 則生成QACL規(guī)則并下發(fā)到所述服務(wù)端口,并將路由表中與所述公網(wǎng)出口對應(yīng)的轉(zhuǎn)發(fā)表項 的重定向信息設(shè)置為所述服務(wù)端口 ; 所述網(wǎng)關(guān)設(shè)備根據(jù)所述路由表轉(zhuǎn)發(fā)接收到的流量,將目的出端口為所述公網(wǎng)出口 的流量向所述服務(wù)端口轉(zhuǎn)發(fā); 所述服務(wù)端口根據(jù)所述QACL規(guī)則對流量進行匹配,將匹配成功的流量向所述NAT 處理裝置發(fā)送,將匹配失敗的流量向所述公網(wǎng)出口發(fā)送;
所述NAT處理裝置根據(jù)所述NAT轉(zhuǎn)換規(guī)則匹配接收到的流量,將流量向所述公網(wǎng) 出口發(fā)送。 根據(jù)所述NAT轉(zhuǎn)換規(guī)則生成QACL規(guī)則并下發(fā)到所述服務(wù)端口包括
當所述NAT轉(zhuǎn)換規(guī)則為帶ACL的轉(zhuǎn)換規(guī)則時,復(fù)制所述ACL規(guī)則生成QACL規(guī)則;
當所述NAT轉(zhuǎn)換規(guī)則為靜態(tài)轉(zhuǎn)換規(guī)則時,獲取所述靜態(tài)轉(zhuǎn)換規(guī)則的私網(wǎng)地址,生 成源IP地址為所述私網(wǎng)地址的QACL規(guī)則; 當所述NAT轉(zhuǎn)換規(guī)則為NAT服務(wù)器規(guī)則時,根據(jù)對應(yīng)的私網(wǎng)地址及服務(wù)類型,生成
源IP地址和服務(wù)類型分別為所述私網(wǎng)地址和服務(wù)類型的QACL規(guī)則。 所述服務(wù)端口根據(jù)所述QACL規(guī)則對流量進行匹配具體為 所述服務(wù)端口具有流量環(huán)回功能,并在入方向配置所述QACL規(guī)則; 所述服務(wù)端口在出方向直接轉(zhuǎn)發(fā)接收到的流量,在入方向根據(jù)所述QACL規(guī)則匹
配環(huán)回的流量。 所述根據(jù)所述NAT轉(zhuǎn)換規(guī)則生成QACL規(guī)則還包括 所述NAT處理裝置以所述服務(wù)端口的端口號為索引建立并保存所述服務(wù)端口對 應(yīng)的QACL規(guī)則。 所述服務(wù)端口根據(jù)所述QACL規(guī)則對流量進行匹配之前,還包括
所述服務(wù)端口接收所述NAT處理裝置下發(fā)的QACL規(guī)則;
所述服務(wù)端口在本地查找是否已存儲所述QACL規(guī)則;
若查找結(jié)果為是,所述服務(wù)端口增加所述QACL規(guī)則的引用計數(shù);
若查找結(jié)果為否,所述服務(wù)端口存儲所述QACL規(guī)則。 本發(fā)明提供一種網(wǎng)絡(luò)地址轉(zhuǎn)換NAT業(yè)務(wù)報文處理的裝置,包括服務(wù)端口、NAT處理 裝置以及公網(wǎng)出口,作為網(wǎng)關(guān)設(shè)備或者所述網(wǎng)關(guān)設(shè)備的一部分,所述服務(wù)端口具有流量環(huán) 回功能,其中 所述公網(wǎng)出口 ,用于配置NAT轉(zhuǎn)換規(guī)則、以及與所述NAT處理裝置和公網(wǎng)出口的綁 定關(guān)系; 所述NAT處理裝置,用于獲取所述公網(wǎng)出口的NAT轉(zhuǎn)換規(guī)則,向所述服務(wù)端口下發(fā) QACL規(guī)則,并將路由表中與所述公網(wǎng)出口對應(yīng)的轉(zhuǎn)發(fā)表項的重定向信息設(shè)置為所述服務(wù)端 口 ;根據(jù)所述NAT轉(zhuǎn)換規(guī)則匹配所述服務(wù)端口發(fā)送的流量,將流量向所述公網(wǎng)出口發(fā)送;
所述服務(wù)端口,接收根據(jù)所述路由表的重定向信息被重定向到本地的流量,根據(jù) 所述NAT處理裝置下發(fā)的QACL規(guī)則匹配所述流量,將匹配失敗的流量向所述公網(wǎng)出口發(fā) 送,將匹配成功的流量向所述NAT處理裝置發(fā)送。
所述NAT處理裝置具體用于 當所述NAT轉(zhuǎn)換規(guī)則為帶ACL的轉(zhuǎn)換規(guī)則時,復(fù)制所述ACL規(guī)則生成QACL規(guī)則;
當所述NAT轉(zhuǎn)換規(guī)則為靜態(tài)轉(zhuǎn)換規(guī)則時,獲取所述靜態(tài)轉(zhuǎn)換規(guī)則的私網(wǎng)地址,生 成源IP地址為所述私網(wǎng)地址的QACL規(guī)則; 當所述NAT轉(zhuǎn)換規(guī)則為NAT服務(wù)器規(guī)則時,根據(jù)對應(yīng)的私網(wǎng)地址及服務(wù)類型,生成 源IP地址和服務(wù)類型分別為所述私網(wǎng)地址和服務(wù)類型的QACL規(guī)則。
所述服務(wù)端口具有流量環(huán)回功能,具體用于
在入方向配置接收到的所述QACL規(guī)則;
6
在出方向直接轉(zhuǎn)發(fā)接收到的流量,在入方向根據(jù)所述QACL規(guī)則匹配環(huán)回的流量。 所述NAT處理裝置還用于 以所述服務(wù)端口的端口號為索引建立并保存所述服務(wù)端口對應(yīng)的QACL規(guī)則。 所述服務(wù)端口還用于 接收所述NAT處理裝置下發(fā)的QACL規(guī)則; 在本地查找是否已存儲所述QACL規(guī)則; 若查找結(jié)果為是,增加所述QACL規(guī)則的引用計數(shù); 若查找結(jié)果為否,存儲所述QACL規(guī)則。 與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下優(yōu)點 本發(fā)明中,通過配置服務(wù)端口 、以及服務(wù)端口上的QACL規(guī)則,通過服務(wù)端口對上 送NAT處理裝置的流量進行過濾,降低NAT處理裝置的流量處理負擔,提高NAT處理裝置的 利用率。
圖1是現(xiàn)有技術(shù)中NAT地址轉(zhuǎn)換轉(zhuǎn)換的基本過程示意圖;
圖2是本發(fā)明提供的NAT業(yè)務(wù)報文處理的方法的流程示意圖;
圖3是本發(fā)明提供的網(wǎng)關(guān)設(shè)備的結(jié)構(gòu)示意圖; 圖4是本發(fā)明應(yīng)用場景提供的NAT業(yè)務(wù)報文處理的方法中,建立P2、 SP以及NAT 轉(zhuǎn)換裝置的綁定關(guān)系的過程示意圖; 圖5是本發(fā)明提供的NAT業(yè)務(wù)報文處理的裝置的結(jié)構(gòu)示意圖。
具體實施例方式
本發(fā)明的核心思想是在網(wǎng)關(guān)設(shè)備中增加具有業(yè)務(wù)環(huán)回功能的SP(ServicePort, 服務(wù)接口 ),并配置公網(wǎng)出口 、 SP以及NAT處理裝置的綁定關(guān)系。在目的出端口為公網(wǎng)出口 的FIB轉(zhuǎn)發(fā)表項中,將流量的重定向標識信息設(shè)置為SP,在SP的入方向配置與公網(wǎng)出口的 NAT轉(zhuǎn)換規(guī)則對應(yīng)的QACL規(guī)則,通過SP將匹配QACL規(guī)則的流量重定向到NAT處理裝置,進 一步由NAT處理裝置進行NAT轉(zhuǎn)換后向公網(wǎng)出口發(fā)送,對于與QACL規(guī)則不匹配的流量,SP 直接將流量向公網(wǎng)出口發(fā)送。 具體的,本發(fā)明提供的方案中,網(wǎng)關(guān)設(shè)備將公網(wǎng)出口、 SP與NAT處理裝置綁定后, NAT處理裝置獲取公網(wǎng)出口的NAT規(guī)則,根據(jù)該NAT規(guī)則生成QACL規(guī)則并下發(fā)到SP,在SP 的入方向配置QACL規(guī)則,同時,相應(yīng)的將FIB表項中出方向為公網(wǎng)出口的流量的重定向目 的地設(shè)置為SP。流量到達網(wǎng)關(guān)設(shè)備后,查找FIB表項,當該流量的目的出端口為上述公網(wǎng)出 口時,其對應(yīng)的重定向目的地為SP。 SP接收并轉(zhuǎn)發(fā)該流量后,在入方向重新接收流量,判斷 流量是否匹配配置的QACL規(guī)則,若匹配成功,SP將該流量向NAT處理裝置發(fā)送;若匹配失 敗,SP將直接將該流量向公網(wǎng)出口發(fā)送。NAT處理裝置接收流量后,進一步根據(jù)NAT轉(zhuǎn)換規(guī) 則處理該流量,將流量向公網(wǎng)出口發(fā)送。公網(wǎng)出口將到達的流量向公網(wǎng)發(fā)送。
本發(fā)明提供一種網(wǎng)絡(luò)地址轉(zhuǎn)換NAT業(yè)務(wù)報文處理的方法,應(yīng)用于包括服務(wù)端口、 NAT處理裝置以及公網(wǎng)出口的網(wǎng)關(guān)設(shè)備,所述服務(wù)端口具有流量環(huán)回功能,如圖2所示,該 方法進一步包括以下步驟
7
步驟201,當所述公網(wǎng)出口、對應(yīng)的服務(wù)端口以及NAT處理裝置配置綁定關(guān)系后, 所述NAT處理裝置獲取所述公網(wǎng)出口的NAT轉(zhuǎn)換規(guī)則,根據(jù)所述NAT轉(zhuǎn)換規(guī)則生成QACL規(guī) 則,將所述QACL規(guī)則下發(fā)到所述服務(wù)端口 ,并設(shè)置路由表中出端口為所述公網(wǎng)出口的重定 向目的地為所述服務(wù)端口; 步驟202,所述網(wǎng)關(guān)設(shè)備根據(jù)路由表轉(zhuǎn)發(fā)接收到的流量,將目的出端口為所述公網(wǎng) 出口的流量向所述服務(wù)端口轉(zhuǎn)發(fā); 步驟203,所述服務(wù)端口在入方向接收到環(huán)回的流量時,根據(jù)所述QACL規(guī)則對流 量進行匹配,將匹配成功的流量向所述NAT處理裝置發(fā)送,將匹配失敗的流量向所述公網(wǎng) 出口發(fā)送; 步驟204,所述NAT處理裝置根據(jù)所述NAT轉(zhuǎn)換規(guī)則匹配接收到的流量,將流量向 所述公網(wǎng)出口發(fā)送。 下面結(jié)合具體應(yīng)用場景詳細介紹本發(fā)明提供的NAT業(yè)務(wù)報文處理的方法。
本發(fā)明提供的網(wǎng)關(guān)設(shè)備的結(jié)構(gòu)如圖3所示,其中,Pl、 P2為多核單板上的普通接 口 ,其中P1為私網(wǎng)接口 , P2為公網(wǎng)接口 。 SP為NAT業(yè)務(wù)服務(wù)端口 ,具有流量環(huán)回功能,其物 理成員端口在接口板1上。CPU為NAT業(yè)務(wù)處理的裝置。NAT規(guī)則配置在公網(wǎng)接口 P2上。
公網(wǎng)接口 P2與SP和NAT處理裝置綁定后,NAT處理裝置獲取P2上配置的NAT規(guī) 則,根據(jù)該NAT規(guī)則生成QACL規(guī)則并下發(fā)到SP,同時將FIB表中目的出端口為公網(wǎng)接口 P2 的流量的重定向目的地設(shè)置為SP,并向SP下發(fā)QACL規(guī)則。私網(wǎng)側(cè)報文從PI端口進入后, 網(wǎng)關(guān)設(shè)備查找FIB表,發(fā)現(xiàn)對應(yīng)的重定向目的為SP時,將報文重定向到SP。在出方向上,SP 直接將流量向接口外發(fā)送,從SP出去的報文環(huán)回到SP的入方向進行處理;在入方向上,SP 根據(jù)配置的QACL規(guī)則對流量進行過濾和分流如果流量匹配QACL規(guī)則,SP將流量重定向 到NAT處理裝置,經(jīng)過NAT處理后,從公網(wǎng)出口 P2發(fā)送;如果報文不匹配QACL規(guī)則,SP直 接根據(jù)FIB表中的ARP (Address ResolutionProtocol,地址解析協(xié)議)索引,獲取ARP表 項,替換報文的目的MAC地址為ARP表項對應(yīng)的MAC地址,將報文從P2端口發(fā)送出去。
具體的,本發(fā)明應(yīng)用場景提供的NAT業(yè)務(wù)報文處理的方法中,建立P2、SP以及NAT 轉(zhuǎn)換裝置的綁定關(guān)系的過程如圖4所示,包括以下步驟
步驟401,公網(wǎng)接口 P2綁定NAT處理裝置。 具體的,公網(wǎng)接口 P2上配置綁定命令,執(zhí)行相應(yīng)的綁定操作,例如在存在NAT轉(zhuǎn)換 規(guī)則的情況下,將NAT轉(zhuǎn)換規(guī)則向具有綁定關(guān)系的NAT處理裝置發(fā)送。
步驟402, NAT處理裝置查詢P2是否配置有NAT轉(zhuǎn)換規(guī)則,如果查詢結(jié)果為是,執(zhí) 行步驟403,否則,執(zhí)行步驟404。 步驟403, NAT處理裝置獲取P2配置的NAT轉(zhuǎn)換規(guī)則,進一步查詢P2是否綁定對 應(yīng)的SP ;如果查詢結(jié)果為配置有綁定的SP,執(zhí)行步驟407 ;否則,執(zhí)行步驟405。
步驟404, NAT處理裝置保存綁定配置。 步驟405,NAT處理裝置修改FIB表的相關(guān)配置,在FIB表項中添加重定向標記,并
將重定向目的地設(shè)置為自身。 步驟406, NAT處理裝置保存綁定配置。 步驟407, NAT處理裝置根據(jù)獲取的NAT轉(zhuǎn)換規(guī)則,生成對應(yīng)的QACL規(guī)則,并將 QACL規(guī)則下發(fā)到SP的入方向。
8
步驟408, NAT處理裝置判斷QACL規(guī)則是否下發(fā)成功,如果下發(fā)成功,執(zhí)行步驟 409 ;否則,執(zhí)行步驟405。 步驟409, NAT處理裝置修改FIB表的相關(guān)配置,在FIB表項中將重定向目的地設(shè) 置為SP。 步驟410, NAT處理裝置保存綁定配置。 本發(fā)明應(yīng)用場景提供的NAT業(yè)務(wù)報文處理的方法中,網(wǎng)關(guān)設(shè)備可以預(yù)先配置P2、 SP和NAT處理裝置,并根據(jù)圖4所示的流程建立P2、SP以及NAT轉(zhuǎn)換裝置的綁定關(guān)系。其 他情況下,例如當P2已經(jīng)與NAT處理裝置建立綁定關(guān)系后,在網(wǎng)關(guān)設(shè)備中添加SP與P2綁 定,此時,NAT處理裝置根據(jù)與P2的綁定關(guān)系獲知添加的SP,并根據(jù)NAT轉(zhuǎn)換規(guī)則生成QACL 規(guī)則,將QACL規(guī)則下發(fā)到SP的入方向,同時修改P2對應(yīng)的FIB表項中的重定向目的地為 SP。 本發(fā)明應(yīng)用場景提供的NAT業(yè)務(wù)報文處理的方法中,若需要刪除P2與SP的綁定 關(guān)系,則NAT處理裝置需要刪除下發(fā)到SP接口的QACL規(guī)則,同時,修改P2對應(yīng)的FIB表項, 將FIB表項中的重定向目的地址修改為NAT處理裝置。 本發(fā)明應(yīng)用場景提供的NAT業(yè)務(wù)報文處理的方法中,NAT轉(zhuǎn)換規(guī)則通常包括帶ACL 的轉(zhuǎn)換規(guī)則、靜態(tài)轉(zhuǎn)換規(guī)則和NAT Server規(guī)則。 帶ACL的轉(zhuǎn)換規(guī)則中,NAT轉(zhuǎn)換規(guī)則中的ACL用于選取需要進行NAT轉(zhuǎn)換的流量, 通常采用源IP匹配規(guī)則。私網(wǎng)側(cè)流量通過網(wǎng)關(guān)設(shè)備向公網(wǎng)側(cè)發(fā)送時,網(wǎng)關(guān)設(shè)備記錄該流量 的源IP地址、以及為該流量更換的公網(wǎng)源IP地址,當接收到目的IP地址為該公網(wǎng)源IP地 址的流量時,網(wǎng)關(guān)設(shè)備流量的目的地址更換為原流量的源IP地址并向私網(wǎng)側(cè)發(fā)送。因此, 該類型轉(zhuǎn)換規(guī)則只支持私網(wǎng)主動發(fā)起連接,公網(wǎng)到私網(wǎng)的流量,需要匹配對應(yīng)會話,才能進 入私網(wǎng)。 靜態(tài)轉(zhuǎn)換規(guī)則,包括靜態(tài)一對一和靜態(tài)網(wǎng)段規(guī)則。靜態(tài)一對一指的是一個私網(wǎng)地 址對應(yīng)一個公網(wǎng)地址;靜態(tài)網(wǎng)段配置指一個私網(wǎng)網(wǎng)段對應(yīng)一個公網(wǎng)網(wǎng)段,兩個網(wǎng)段包含的 地址數(shù)相同,按順序進行一對一轉(zhuǎn)換。該類型支持私網(wǎng)向公網(wǎng)主動發(fā)起連接或公網(wǎng)主動向 私網(wǎng)發(fā)起連接。 NAT Server規(guī)則,規(guī)則中包含內(nèi)部服務(wù)器的私網(wǎng)地址、私網(wǎng)端口以及公網(wǎng)地址及 公網(wǎng)端口。網(wǎng)關(guān)設(shè)備接收到發(fā)往該服務(wù)器對應(yīng)的公網(wǎng)地址和端口的流量,會將目的IP轉(zhuǎn)換 成對應(yīng)私網(wǎng)地址和端口 ,發(fā)送到該服務(wù)器。服務(wù)器端發(fā)往客戶端的流量,其私網(wǎng)地址和端口 轉(zhuǎn)換為對應(yīng)內(nèi)部服務(wù)器配置的公網(wǎng)地址和端口 ,然后通過公網(wǎng)向客戶端發(fā)送。
對于上述三種類型的NAT轉(zhuǎn)換規(guī)則,生成QACL規(guī)則時需要進行不同的處理
對于帶ACL的轉(zhuǎn)換規(guī)則,NAT處理裝置直接復(fù)制對應(yīng)的ACL規(guī)則,生成QACL規(guī)則;
對于靜態(tài)轉(zhuǎn)換規(guī)則,NAT處理裝置獲取靜態(tài)轉(zhuǎn)換規(guī)則的私網(wǎng)地址,生成源IP地址 為該私網(wǎng)地址的QACL規(guī)則; 對于NAT Server規(guī)則,NAT處理裝置根據(jù)服務(wù)器的私網(wǎng)地址及服務(wù)類型,生成源 IP地址和服務(wù)類型分別為該私網(wǎng)地址和服務(wù)類型的QACL規(guī)則。 對于生成的QACL規(guī)則,本發(fā)明應(yīng)用場景中,NAT處理裝置以SP端口號為索引保 存,即建立SP端口與QACL規(guī)則的對應(yīng)關(guān)系,每個SP端口根據(jù)其服務(wù)的公網(wǎng)出端口上配置 的NAT轉(zhuǎn)換規(guī)則,生成對應(yīng)的QACL規(guī)則。由于同一 SP端口服務(wù)的公網(wǎng)出端口上可能配置相同的NAT轉(zhuǎn)換規(guī)則,因此,同一 SP端口可能下發(fā)相同的QACL規(guī)則,此時,對于重復(fù)的QACL 規(guī)則,在SP端口上只需要保存一條QACL規(guī)則,同時保存對應(yīng)的引用計數(shù)。在引用計數(shù)為0 時,刪除該規(guī)則。默認添加一條新的QACL規(guī)則時,引用計數(shù)為1。 通過采用本發(fā)明提供的方法,通過配置服務(wù)端口 、以及服務(wù)端口上的QACL規(guī)則, 通過服務(wù)端口對上送NAT處理裝置的流量進行過濾,降低NAT處理裝置的流量處理負擔,提 高NAT處理裝置的利用率。 本發(fā)明提供一種網(wǎng)絡(luò)地址轉(zhuǎn)換NAT業(yè)務(wù)報文處理的裝置,如圖5所示,包括服務(wù)端 口 11、NAT處理裝置12以及公網(wǎng)出口 13,作為網(wǎng)關(guān)設(shè)備或者所述網(wǎng)關(guān)設(shè)備的一部分,所述 服務(wù)端口 11具有流量環(huán)回功能,其中 所述公網(wǎng)出口 13,與所述服務(wù)端口 11和NAT處理裝置12連接,用于配置NAT轉(zhuǎn)換 規(guī)則、以及與所述NAT處理裝置和公網(wǎng)出口的綁定關(guān)系; 所述NAT處理裝置12,與所述公網(wǎng)出口 13和所述服務(wù)端口 ll連接,用于獲取所述 公網(wǎng)出口 13的NAT轉(zhuǎn)換規(guī)則,向所述服務(wù)端口 ll下發(fā)QACL規(guī)則,并將路由表中與所述公 網(wǎng)出口 13對應(yīng)的轉(zhuǎn)發(fā)表項的重定向信息設(shè)置為所述服務(wù)端口 11 ;根據(jù)所述NAT轉(zhuǎn)換規(guī)則 匹配所述服務(wù)端口 ll發(fā)送的流量,將流量向所述公網(wǎng)出口 13發(fā)送; 所述服務(wù)端口 11,與所述NAT處理裝置12和公網(wǎng)出口 13連接,用于接收根據(jù)所述 路由表的重定向信息被重定向到本地的流量,根據(jù)所述NAT處理裝置12下發(fā)的QACL規(guī)則 匹配所述流量,將匹配成功的流量向所述NAT處理裝置12發(fā)送,將匹配失敗的流量向所述 公網(wǎng)出口 13發(fā)送。 所述NAT處理裝置12具體用于 當所述NAT轉(zhuǎn)換規(guī)則為帶ACL的轉(zhuǎn)換規(guī)則時,復(fù)制所述ACL規(guī)則生成QACL規(guī)則;
當所述NAT轉(zhuǎn)換規(guī)則為靜態(tài)轉(zhuǎn)換規(guī)則時,獲取所述靜態(tài)轉(zhuǎn)換規(guī)則的私網(wǎng)地址,生 成源IP地址為所述私網(wǎng)地址的QACL規(guī)則; 當所述NAT轉(zhuǎn)換規(guī)則為NAT服務(wù)器規(guī)則時,根據(jù)對應(yīng)的私網(wǎng)地址及服務(wù)類型,生成 源IP地址和服務(wù)類型分別為所述私網(wǎng)地址和服務(wù)類型的QACL規(guī)則。
所述服務(wù)端口 11具有流量環(huán)回功能,具體用于
在入方向配置接收到的所述QACL規(guī)則; 在出方向直接轉(zhuǎn)發(fā)接收到的流量,在入方向根據(jù)所述QACL規(guī)則匹配環(huán)回的流量。
所述NAT處理裝置12還用于 以所述服務(wù)端口的端口號為索引建立并保存所述服務(wù)端口對應(yīng)的QACL規(guī)則。 所述服務(wù)端口 11還用于 接收所述NAT處理裝置下發(fā)的QACL規(guī)則; 在本地查找是否已存儲所述QACL規(guī)則; 若查找結(jié)果為是,增加所述QACL規(guī)則的引用計數(shù); 若查找結(jié)果為否,存儲所述QACL規(guī)則。 通過采用本發(fā)明提供的裝置,配置服務(wù)端口、以及服務(wù)端口上的QACL規(guī)則,通過 服務(wù)端口對上送NAT處理裝置的流量進行過濾,降低NAT處理裝置的流量處理負擔,提高 NAT處理裝置的利用率。 通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助
10軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更 佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的 部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若 干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā) 明各個實施例所述的方法。 本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流 程并不一定是實施本發(fā)明所必須的。 本領(lǐng)域技術(shù)人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分 布于實施例的裝置中,也可以進行相應(yīng)變化位于不同于本實施例的一個或多個裝置中。上 述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。 以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領(lǐng) 域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護范圍。
權(quán)利要求
一種網(wǎng)絡(luò)地址轉(zhuǎn)換NAT業(yè)務(wù)報文處理的方法,其特征在于,應(yīng)用于包括服務(wù)端口、NAT處理裝置以及公網(wǎng)出口的網(wǎng)關(guān)設(shè)備,該方法進一步包括以下步驟所述公網(wǎng)出口配置NAT轉(zhuǎn)換規(guī)則、以及與所述NAT處理裝置和所述服務(wù)端口的綁定關(guān)系;所述NAT處理裝置獲取所述公網(wǎng)出口配置的NAT轉(zhuǎn)換規(guī)則,根據(jù)所述NAT轉(zhuǎn)換規(guī)則生成QACL規(guī)則并下發(fā)到所述服務(wù)端口,并將路由表中與所述公網(wǎng)出口對應(yīng)的轉(zhuǎn)發(fā)表項的重定向信息設(shè)置為所述服務(wù)端口;所述網(wǎng)關(guān)設(shè)備根據(jù)所述路由表轉(zhuǎn)發(fā)接收到的流量,將目的出端口為所述公網(wǎng)出口的流量向所述服務(wù)端口轉(zhuǎn)發(fā);所述服務(wù)端口根據(jù)所述QACL規(guī)則對流量進行匹配,將匹配成功的流量向所述NAT處理裝置發(fā)送,將匹配失敗的流量向所述公網(wǎng)出口發(fā)送;所述NAT處理裝置根據(jù)所述NAT轉(zhuǎn)換規(guī)則匹配接收到的流量,將流量向所述公網(wǎng)出口發(fā)送。
2. 如權(quán)利要求1所述的方法,其特征在于,根據(jù)所述NAT轉(zhuǎn)換規(guī)則生成QACL規(guī)則并下 發(fā)到所述服務(wù)端口包括當所述NAT轉(zhuǎn)換規(guī)則為帶ACL的轉(zhuǎn)換規(guī)則時,復(fù)制所述ACL規(guī)則生成QACL規(guī)則; 當所述NAT轉(zhuǎn)換規(guī)則為靜態(tài)轉(zhuǎn)換規(guī)則時,獲取所述靜態(tài)轉(zhuǎn)換規(guī)則的私網(wǎng)地址,生成源IP地址為所述私網(wǎng)地址的QACL規(guī)則;當所述NAT轉(zhuǎn)換規(guī)則為NAT服務(wù)器規(guī)則時,根據(jù)對應(yīng)的私網(wǎng)地址及服務(wù)類型,生成源IP地址和服務(wù)類型分別為所述私網(wǎng)地址和服務(wù)類型的QACL規(guī)則。
3 如權(quán)利要求1所述的方法,其特征在于,所述服務(wù)端口根據(jù)所述QACL規(guī)則對流量進 行匹配具體為所述服務(wù)端口具有流量環(huán)回功能,并在入方向配置所述QACL規(guī)則; 所述服務(wù)端口在出方向直接轉(zhuǎn)發(fā)接收到的流量,在入方向根據(jù)所述QACL規(guī)則匹配環(huán) 回的流量。
4. 如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述NAT轉(zhuǎn)換規(guī)則生成QACL規(guī)則 還包括所述NAT處理裝置以所述服務(wù)端口的端口號為索引建立并保存所述服務(wù)端口對應(yīng)的 QACL規(guī)則。
5. 如權(quán)利要求4所述的方法,其特征在于,所述服務(wù)端口根據(jù)所述QACL規(guī)則對流量進 行匹配之前,還包括所述服務(wù)端口接收所述NAT處理裝置下發(fā)的QACL規(guī)則; 所述服務(wù)端口在本地查找是否已存儲所述QACL規(guī)則; 若查找結(jié)果為是,所述服務(wù)端口增加所述QACL規(guī)則的引用計數(shù); 若查找結(jié)果為否,所述服務(wù)端口存儲所述QACL規(guī)則。
6. —種網(wǎng)絡(luò)地址轉(zhuǎn)換NAT業(yè)務(wù)報文處理的裝置,其特征在于,包括服務(wù)端口、 NAT處理 裝置以及公網(wǎng)出口,作為網(wǎng)關(guān)設(shè)備或者所述網(wǎng)關(guān)設(shè)備的一部分,所述服務(wù)端口具有流量環(huán) 回功能,其中所述公網(wǎng)出口 ,用于配置NAT轉(zhuǎn)換規(guī)則、以及與所述NAT處理裝置和公網(wǎng)出口的綁定關(guān)系;所述NAT處理裝置,用于獲取所述公網(wǎng)出口的NAT轉(zhuǎn)換規(guī)則,向所述服務(wù)端口下發(fā)QACL 規(guī)則,并將路由表中與所述公網(wǎng)出口對應(yīng)的轉(zhuǎn)發(fā)表項的重定向信息設(shè)置為所述服務(wù)端口 ; 根據(jù)所述NAT轉(zhuǎn)換規(guī)則匹配所述服務(wù)端口發(fā)送的流量,將流量向所述公網(wǎng)出口發(fā)送;所述服務(wù)端口 ,接收根據(jù)所述路由表的重定向信息被重定向到本地的流量,根據(jù)所述 NAT處理裝置下發(fā)的QACL規(guī)則匹配所述流量,將匹配失敗的流量向所述公網(wǎng)出口發(fā)送,將 匹配成功的流量向所述NAT處理裝置發(fā)送。
7. 如權(quán)利要求6所述的裝置,其特征在于,所述NAT處理裝置具體用于 當所述NAT轉(zhuǎn)換規(guī)則為帶ACL的轉(zhuǎn)換規(guī)則時,復(fù)制所述ACL規(guī)則生成QACL規(guī)則; 當所述NAT轉(zhuǎn)換規(guī)則為靜態(tài)轉(zhuǎn)換規(guī)則時,獲取所述靜態(tài)轉(zhuǎn)換規(guī)則的私網(wǎng)地址,生成源IP地址為所述私網(wǎng)地址的QACL規(guī)則;當所述NAT轉(zhuǎn)換規(guī)則為NAT服務(wù)器規(guī)則時,根據(jù)對應(yīng)的私網(wǎng)地址及服務(wù)類型,生成源IP 地址和服務(wù)類型分別為所述私網(wǎng)地址和服務(wù)類型的QACL規(guī)則。
8. 如權(quán)利要求6所述的裝置,其特征在于,所述服務(wù)端口具有流量環(huán)回功能,具體用于在入方向配置接收到的所述QACL規(guī)則;在出方向直接轉(zhuǎn)發(fā)接收到的流量,在入方向根據(jù)所述QACL規(guī)則匹配環(huán)回的流量。
9. 如權(quán)利要求6所述的裝置,其特征在于,所述NAT處理裝置還用于 以所述服務(wù)端口的端口號為索引建立并保存所述服務(wù)端口對應(yīng)的QACL規(guī)則。
10. 如權(quán)利要求9所述的裝置,其特征在于,所述服務(wù)端口還用于 接收所述NAT處理裝置下發(fā)的QACL規(guī)則; 在本地查找是否已存儲所述QACL規(guī)則; 若查找結(jié)果為是,增加所述QACL規(guī)則的引用計數(shù); 若查找結(jié)果為否,存儲所述QACL規(guī)則。
全文摘要
本發(fā)明公開了一種NAT業(yè)務(wù)報文處理的方法和裝置,該方法包括公網(wǎng)出口配置NAT轉(zhuǎn)換規(guī)則、以及與NAT處理裝置和服務(wù)端口的綁定關(guān)系;所述NAT處理裝置獲取所述公網(wǎng)出口配置的NAT轉(zhuǎn)換規(guī)則,根據(jù)所述NAT轉(zhuǎn)換規(guī)則生成QACL規(guī)則并下發(fā)到所述服務(wù)端口,并將路由表中與所述公網(wǎng)出口對應(yīng)的轉(zhuǎn)發(fā)表項的重定向信息設(shè)置為所述服務(wù)端口;所述服務(wù)端口根據(jù)所述QACL規(guī)則對流量進行匹配,將匹配成功的流量向所述NAT處理裝置發(fā)送,將匹配失敗的流量向所述公網(wǎng)出口發(fā)送。本發(fā)明提高了NAT處理裝置的利用率。
文檔編號H04L12/56GK101707569SQ200910259409
公開日2010年5月12日 申請日期2009年12月21日 優(yōu)先權(quán)日2009年12月21日
發(fā)明者劉昭輝, 李金平 申請人:杭州華三通信技術(shù)有限公司