專(zhuān)利名稱(chēng):一種基于IPsec的NAT轉(zhuǎn)換表項(xiàng)管理方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及了一種基于IPsec (IP Security, IP安全)的NAT (Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)轉(zhuǎn)換表項(xiàng)管理方法和設(shè)備。
背景技術(shù):
IPsec是三層隧道加密協(xié)議,是實(shí)現(xiàn)三層VPN (Virtual Private Network,虛擬專(zhuān)用網(wǎng)絡(luò))的安全技術(shù),并用于在IP層提供以下安全服務(wù)(I)數(shù)據(jù)機(jī)密性=IPsec發(fā)送方在通過(guò)網(wǎng)絡(luò)傳輸報(bào)文前對(duì)報(bào)文進(jìn)行加密;(2)數(shù)據(jù)完整性=IPsec響應(yīng)方對(duì)接收?qǐng)?bào)文進(jìn)行認(rèn)證,以確保報(bào)文在傳輸過(guò)程中沒(méi)有被篡改;(3)數(shù)據(jù)來(lái)源認(rèn)證=IPsec響應(yīng)方可以認(rèn)證發(fā)送·IPsec報(bào)文的IPsec發(fā)送方是否合法;(4)防重放IPsec響應(yīng)方可以檢測(cè)并拒絕接收過(guò)時(shí)或者重復(fù)的報(bào)文。為了實(shí)現(xiàn)上述安全服務(wù),IPsec提供了認(rèn)證和加密等兩種安全機(jī)制;認(rèn)證機(jī)制使IP通信的響應(yīng)方能夠確認(rèn)報(bào)文發(fā)送方的真實(shí)身份以及報(bào)文在傳輸過(guò)程中是否遭篡改;力口密機(jī)制通過(guò)對(duì)報(bào)文進(jìn)行加密運(yùn)算來(lái)保證報(bào)文的機(jī)密性,防止報(bào)文在傳輸過(guò)程中被竊聽(tīng)。其中,IPsec協(xié)議中的AH (Authentication Header,驗(yàn)證頭)協(xié)議定義了認(rèn)證的應(yīng)用方法,ESP(Encapsulating Security Payload,封裝安全載荷)協(xié)議定義了加密和可選認(rèn)證的應(yīng)用方法;在實(shí)際進(jìn)行IP通信時(shí),可以根據(jù)實(shí)際安全需求同時(shí)使用AH和ESP,或者選擇使用其中一種。IPsec在兩個(gè)端點(diǎn)之間提供安全通信,且兩個(gè)端點(diǎn)被稱(chēng)為IPsec對(duì)等體,分別為IPsec發(fā)起方和IPsec響應(yīng)方;此外,SA (Security Association,安全聯(lián)盟)是IPsec對(duì)等體之間對(duì)某些要素的約定;例如,使用哪種協(xié)議(AH、ESP)、使用哪種協(xié)議封裝模式(傳輸模式、隧道模式)、使用哪種加密算法等;進(jìn)一步的,IPsec對(duì)等體之間可以通過(guò)IKE (InternetKey Exchange, Internet密鑰交換)協(xié)商建立SA信息,如圖I所示,為IPsec與IKE的關(guān)系示意圖。如圖2所示,NAT是將IP報(bào)文頭中的IP地址轉(zhuǎn)換為另一個(gè)IP地址的過(guò)程,并用于實(shí)現(xiàn)私有網(wǎng)絡(luò)訪問(wèn)公共網(wǎng)絡(luò),有助于減緩可用IP地址空間的枯竭;進(jìn)一步的,如圖3所示,NAPT (Network Address Port Translation,網(wǎng)絡(luò)地址端口轉(zhuǎn)換)允許多個(gè)內(nèi)部地址映射到同一公有地址上,且NAPT同時(shí)映射IP地址和端口號(hào)即來(lái)自不同內(nèi)部地址的IP報(bào)文的源地址可以映射到同一外部地址,但各IP報(bào)文的端口號(hào)被轉(zhuǎn)換為該地址的不同端口號(hào),因此能夠共享同一地址,即私網(wǎng)IP地址+端口號(hào)與公網(wǎng)IP地址+端口號(hào)之間的轉(zhuǎn)換。在目前的組網(wǎng)中,IPsec以及NAT的使用都非常普遍,因此當(dāng)前可以同時(shí)部署IPsec和NAT設(shè)備;如圖4所示,RT2 (路由器)為NAT設(shè)備,PCl (主機(jī))和RTl在NAT內(nèi)側(cè),PC2和RT3在NAT外側(cè);當(dāng)PCl和PC2之間需要通信時(shí),在RTl和RT3之間建立一條IPsec鏈路;在RTl向RT3發(fā)送IKE協(xié)商報(bào)文后,NAT設(shè)備需要為該IKE協(xié)商報(bào)文維護(hù)NAT轉(zhuǎn)換表項(xiàng),以使RT3回應(yīng)的IKE協(xié)商報(bào)文能夠正確發(fā)送給RTl ;該NAT轉(zhuǎn)換表項(xiàng)有一定的老化時(shí)間(該老化時(shí)間為NAT設(shè)備上配置的),在老化時(shí)間內(nèi)如果沒(méi)有IKE協(xié)商報(bào)文經(jīng)過(guò)NAT設(shè)備,則NAT設(shè)備會(huì)刪除該NAT轉(zhuǎn)換表項(xiàng)?,F(xiàn)有技術(shù)中,RTl需要周期性發(fā)送NAT表項(xiàng)?;顖?bào)文(發(fā)送周期缺省為20秒),以使NAT設(shè)備上的NAT轉(zhuǎn)換表項(xiàng)不被刪除;但周期性發(fā)送NAT表項(xiàng)?;顖?bào)文會(huì)存在網(wǎng)絡(luò)開(kāi)銷(xiāo),且如果發(fā)送周期設(shè)置很短,則網(wǎng)絡(luò)開(kāi)銷(xiāo)會(huì)很大。
發(fā)明內(nèi)容
本發(fā)明提供了一種基于IPsec的NAT轉(zhuǎn)換表項(xiàng)管理方法和設(shè)備,以減少網(wǎng)絡(luò)開(kāi)銷(xiāo)。為了達(dá)到上述目的,本發(fā)明實(shí)施例提供一種基于IPsec的NAT轉(zhuǎn)換表項(xiàng)管理方法,應(yīng)用于包括IPsec發(fā)起方、NAT設(shè)備和IPsec響應(yīng)方的網(wǎng)絡(luò)中,該方法包括以下步驟
在SA協(xié)商過(guò)程中,所述NAT設(shè)備接收所述IPsec發(fā)起方通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送的IKE協(xié)商報(bào)文;如果所述NAT設(shè)備上沒(méi)有所述IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換·所述NAT轉(zhuǎn)換表項(xiàng)維護(hù)老化定時(shí)器;如果所述NAT設(shè)備上有所述IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則更新所述NAT轉(zhuǎn)換表項(xiàng)對(duì)應(yīng)的老化定時(shí)器;
在SA協(xié)商完成后,所述NAT設(shè)備接收所述IPsec發(fā)起方通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送的第一 NAT表項(xiàng)?;顖?bào)文,所述第一 NAT表項(xiàng)保活報(bào)文中攜帶了 NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,且所述NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間之和;如果所述NAT設(shè)備上有所述第一 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則所述NAT設(shè)備通過(guò)所述第
一NAT表項(xiàng)?;顖?bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。所述NAT設(shè)備通過(guò)所述第一 NAT表項(xiàng)?;顖?bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間的過(guò)程,具體包括
所述NAT設(shè)備檢查所述第一 NAT表項(xiàng)保活報(bào)文的載荷內(nèi)容;如果所述載荷內(nèi)容為指示所述第一 NAT表項(xiàng)保活報(bào)文用于調(diào)整老化時(shí)間的第一數(shù)值,則所述NAT設(shè)備從所述第一 NAT表項(xiàng)?;顖?bào)文中解析所述老化時(shí)間,并通過(guò)所述老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。所述NAT設(shè)備為所述NAT轉(zhuǎn)換表項(xiàng)維護(hù)老化定時(shí)器,之后還包括
所述NAT設(shè)備在所述NAT轉(zhuǎn)換表項(xiàng)對(duì)應(yīng)的老化定時(shí)器超時(shí)之后,刪除所述NAT轉(zhuǎn)換表項(xiàng);和/或,
所述NAT設(shè)備接收所述IPsec發(fā)起方通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送的第
二NAT表項(xiàng)保活報(bào)文,如果所述NAT設(shè)備上有所述第二 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),且所述第二 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示所述第二 NAT表項(xiàng)保活報(bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)的第二數(shù)值,則所述NAT設(shè)備刪除所述第二 NAT表項(xiàng)保活報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)。本發(fā)明實(shí)施例提供一種基于IPsec的NAT轉(zhuǎn)換表項(xiàng)管理方法,應(yīng)用于包括IPsec發(fā)起方、NAT設(shè)備和IPsec響應(yīng)方的網(wǎng)絡(luò)中,該方法包括以下步驟
在SA協(xié)商過(guò)程中,所述IPsec發(fā)起方通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送IKE協(xié)商報(bào)文;由所述NAT設(shè)備為所述IKE協(xié)商報(bào)文維護(hù)NAT轉(zhuǎn)換表項(xiàng),并為所述NAT轉(zhuǎn)換表項(xiàng)設(shè)置老化時(shí)間;
在SA協(xié)商完成后,所述IPsec發(fā)起方確定SA的老化時(shí)間,并通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送第一 NAT表項(xiàng)保活報(bào)文,所述第一 NAT表項(xiàng)保活報(bào)文中攜帶了 NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,且所述NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間之和;由所述NAT設(shè)備通過(guò)所述第一 NAT表項(xiàng)?;顖?bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間;
所述第一 NAT表項(xiàng)?;顖?bào)文的IP頭中源地址與所述IKE協(xié)商報(bào)文的IP頭中源地址相同,所述第一 NAT表項(xiàng)?;顖?bào)文的IP頭中目的地址與所述IKE協(xié)商報(bào)文的IP頭中目的地址相同,所述第一 NAT表項(xiàng)?;顖?bào)文的UDP頭中源端口與所述IKE協(xié)商報(bào)文的UDP頭中源端口相同,所述第一 NAT表項(xiàng)?;顖?bào)文的Μ)Ρ頭中目的端口與所述IKE協(xié)商報(bào)文的UDP頭中目的端口相同。所述方法進(jìn)一步包括在刪除所述SA時(shí),所述IPsec發(fā)起方通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送第二 NAT表項(xiàng)?;顖?bào)文;由所述NAT設(shè)備刪除所述第二 NAT表項(xiàng)?;顖?bào)文所對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng);
所述第二 NAT表項(xiàng)保活報(bào)文的IP頭中源地址與所述IKE協(xié)商報(bào)文的IP頭中源地址相同,所述第二 NAT表項(xiàng)?;顖?bào)文的IP頭中目的地址與所述IKE協(xié)商報(bào)文的IP頭中目的地·址相同,所述第二 NAT表項(xiàng)?;顖?bào)文的UDP頭中源端口與所述IKE協(xié)商報(bào)文的UDP頭中源端口相同,所述第二 NAT表項(xiàng)?;顖?bào)文的UDP頭中目的端口與所述IKE協(xié)商報(bào)文的UDP頭中目的端口相同;
所述第一 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示所述第一 NAT表項(xiàng)?;顖?bào)文用于調(diào)整老化時(shí)間的第一數(shù)值;所述第二 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示所述第二 NAT表項(xiàng)保活報(bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)的第二數(shù)值。本發(fā)明實(shí)施例提供一種NAT設(shè)備,應(yīng)用于包括IPsec發(fā)起方、所述NAT設(shè)備和IPsec響應(yīng)方的網(wǎng)絡(luò)中,所述NAT設(shè)備包括
第一接收模塊,用于在SA協(xié)商過(guò)程中,接收所述IPsec發(fā)起方通過(guò)本設(shè)備向所述IPsec響應(yīng)方發(fā)送的IKE協(xié)商報(bào)文;
第一表項(xiàng)管理模塊,用于當(dāng)本設(shè)備上沒(méi)有所述IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)時(shí),為所述IKE協(xié)商報(bào)文建立NAT轉(zhuǎn)換表項(xiàng),為所述NAT轉(zhuǎn)換表項(xiàng)設(shè)置老化時(shí)間,并為所述NAT轉(zhuǎn)換表項(xiàng)維護(hù)老化定時(shí)器;當(dāng)本設(shè)備上有所述IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)時(shí),更新所述NAT轉(zhuǎn)換表項(xiàng)對(duì)應(yīng)的老化定時(shí)器;
第二接收模塊,用于在SA協(xié)商完成后,接收所述IPsec發(fā)起方通過(guò)本設(shè)備向所述IPsec響應(yīng)方發(fā)送的第一 NAT表項(xiàng)?;顖?bào)文,所述第一 NAT表項(xiàng)?;顖?bào)文中攜帶了 NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,且所述NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間之和;
第二表項(xiàng)管理模塊,用于當(dāng)本設(shè)備上有所述第一 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)時(shí),通過(guò)所述第一 NAT表項(xiàng)保活報(bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。所述第二表項(xiàng)管理模塊,具體用于檢查所述第一 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容;如果所述載荷內(nèi)容為指示所述第一 NAT表項(xiàng)?;顖?bào)文用于調(diào)整老化時(shí)間的第一數(shù)值,則從所述第一 NAT表項(xiàng)?;顖?bào)文中解析所述老化時(shí)間,并通過(guò)所述老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。還包括第三接收模塊,用于接收所述IPsec發(fā)起方通過(guò)本設(shè)備向所述IPsec響應(yīng)方發(fā)送的第二 NAT表項(xiàng)?;顖?bào)文;
第三表項(xiàng)管理模塊,用于當(dāng)本設(shè)備上有所述第二 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),且所述第二 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示所述第二 NAT表項(xiàng)保活報(bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)的第二數(shù)值時(shí),刪除所述第二 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng);和/或,在所述NAT轉(zhuǎn)換表項(xiàng)對(duì)應(yīng)的老化定時(shí)器超時(shí)之后,刪除所述NAT轉(zhuǎn)換表項(xiàng)。本發(fā)明實(shí)施例提供一種IPsec發(fā)起方,應(yīng)用于包括所述IPsec發(fā)起方、NAT設(shè)備和IPsec響應(yīng)方的網(wǎng)絡(luò)中,所述IPsec發(fā)起方包括
第一發(fā)送模塊,用于在SA協(xié)商過(guò)程中,通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送IKE協(xié)商報(bào)文;由所述NAT設(shè)備為所述IKE協(xié)商報(bào)文維護(hù)NAT轉(zhuǎn)換表項(xiàng),并為所述NAT轉(zhuǎn)換表項(xiàng)設(shè)置老化時(shí)間;
第二發(fā)送模塊,用于在SA協(xié)商完成后,確定SA的老化時(shí)間,并通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送第一 NAT表項(xiàng)保活報(bào)文,所述第一 NAT表項(xiàng)保活報(bào)文中攜帶了 NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,且所述NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間之和;由·所述NAT設(shè)備通過(guò)所述第一 NAT表項(xiàng)?;顖?bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間;
所述第一 NAT表項(xiàng)?;顖?bào)文的IP頭中源地址與所述IKE協(xié)商報(bào)文的IP頭中源地址相同,所述第一 NAT表項(xiàng)保活報(bào)文的IP頭中目的地址與所述IKE協(xié)商報(bào)文的IP頭中目的地址相同,所述第一 NAT表項(xiàng)?;顖?bào)文的UDP頭中源端口與所述IKE協(xié)商報(bào)文的UDP頭中源端口相同,所述第一 NAT表項(xiàng)?;顖?bào)文的Μ)Ρ頭中目的端口與所述IKE協(xié)商報(bào)文的UDP頭中目的端口相同。還包括第三發(fā)送模塊,用于在刪除所述SA時(shí),通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送第二 NAT表項(xiàng)?;顖?bào)文;由所述NAT設(shè)備刪除所述第二 NAT表項(xiàng)?;顖?bào)文所對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng);
所述第二 NAT表項(xiàng)?;顖?bào)文的IP頭中源地址與所述IKE協(xié)商報(bào)文的IP頭中源地址相同,所述第二 NAT表項(xiàng)?;顖?bào)文的IP頭中目的地址與所述IKE協(xié)商報(bào)文的IP頭中目的地址相同,所述第二 NAT表項(xiàng)?;顖?bào)文的UDP頭中源端口與所述IKE協(xié)商報(bào)文的UDP頭中源端口相同,所述第二 NAT表項(xiàng)?;顖?bào)文的UDP頭中目的端口與所述IKE協(xié)商報(bào)文的UDP頭中目的端口相同;
所述第一 NAT表項(xiàng)保活報(bào)文的載荷內(nèi)容為指示所述第一 NAT表項(xiàng)?;顖?bào)文用于調(diào)整老化時(shí)間的第一數(shù)值;所述第二 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示所述第二 NAT表項(xiàng)保活報(bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)的第二數(shù)值。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例至少具有以下優(yōu)點(diǎn)本發(fā)明實(shí)施例中,通過(guò)設(shè)置NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間(如20s)之和,使得IPsec發(fā)起方不用周期性發(fā)送NAT表項(xiàng)保活報(bào)文,減少網(wǎng)絡(luò)開(kāi)銷(xiāo)。
圖I是現(xiàn)有技術(shù)中IPsec與IKE的關(guān)系示意 圖2是現(xiàn)有技術(shù)中NAT的處理過(guò)程示意 圖3是現(xiàn)有技術(shù)中NAPT的處理過(guò)程示意圖;圖4是現(xiàn)有技術(shù)中同時(shí)部署IPsec和NAT設(shè)備的網(wǎng)絡(luò)示意 圖5是本發(fā)明實(shí)施例提供的基于IPsec的NAT轉(zhuǎn)換表項(xiàng)管理方法流程 圖6是本發(fā)明實(shí)施例中提出的NAT表項(xiàng)?;顖?bào)文的格式示意 圖7是本發(fā)明實(shí)施例提出的NAT設(shè)備的結(jié)構(gòu)示意 圖8是本發(fā)明實(shí)施例提出的IPsec發(fā)起方的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。 針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明實(shí)施例提出一種基于IPsec的NAT轉(zhuǎn)換表項(xiàng)管理方法,應(yīng)用于包括IPsec發(fā)起方、NAT設(shè)備和IPsec響應(yīng)方的網(wǎng)絡(luò)中,在IPsec穿越NAT設(shè)備的網(wǎng)絡(luò)環(huán)境下,IPsec發(fā)起方不用周期性的發(fā)送NAT表項(xiàng)?;顖?bào)文,從而減少網(wǎng)絡(luò)開(kāi)銷(xiāo)。如圖5所示,該方法包括以下步驟
步驟501,在SA協(xié)商過(guò)程中,IPsec發(fā)起方通過(guò)NAT設(shè)備向IPsec響應(yīng)方發(fā)送IKE協(xié)商報(bào)文(用于協(xié)商SA的相關(guān)信息)。以圖4為本發(fā)明實(shí)施例的應(yīng)用場(chǎng)景示意圖,假設(shè)RTl和RT3部署有IPsec,RTl和RT2相連的接口上配置了 IPsec策略,RT3和RT2相連的接口上配置了 IPsec策略,且RT2上開(kāi)啟NAT功能,PCl和PC2為主機(jī),PCl在NAT內(nèi)側(cè),PC2在NAT外側(cè);則在PCl需要向PC2發(fā)送數(shù)據(jù)時(shí),RTl為IPsec發(fā)起方,RT3為IPsec響應(yīng)方,RT2為NAT設(shè)備。RTl在接收到PCl需要向PC2發(fā)送的數(shù)據(jù)后,根據(jù)路由獲知出接口為自身與RT2相連的接口,地址為17. 17. 17. 12,且由于該接口上配置了 IPsec策略,因此RTl觸發(fā)IPsec的SA協(xié)商過(guò)程,以在RTl和RT3之間建立IPsec隧道。進(jìn)一步的,在IPsec隧道的建立過(guò)程中,RTI需要通過(guò)NAT設(shè)備向RT3發(fā)送IKE協(xié)商報(bào)文,且RT3需要通過(guò)NAT設(shè)備向RTl返回IKE協(xié)商報(bào)文。步驟502,NAT設(shè)備收到IKE協(xié)商報(bào)文后,如果NAT設(shè)備上沒(méi)有IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則為IKE協(xié)商報(bào)文建立NAT轉(zhuǎn)換表項(xiàng),為NAT轉(zhuǎn)換表項(xiàng)設(shè)置老化時(shí)間(根據(jù)實(shí)際經(jīng)驗(yàn)進(jìn)行設(shè)置),并為NAT轉(zhuǎn)換表項(xiàng)維護(hù)老化定時(shí)器;如果NAT設(shè)備上有IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則更新NAT轉(zhuǎn)換表項(xiàng)對(duì)應(yīng)的老化定時(shí)器(即對(duì)老化定時(shí)器重新計(jì)時(shí))。本發(fā)明實(shí)施例中,在RTl通過(guò)RT2向RT3發(fā)送IKE協(xié)商報(bào)文之后,為了保證RT3能夠通過(guò)RT2向RTl返回IKE協(xié)商報(bào)文,因此RT2上需要維護(hù)IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng);即在RT2上沒(méi)有IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)時(shí),為IKE協(xié)商報(bào)文建立NAT轉(zhuǎn)換表項(xiàng),且NAT轉(zhuǎn)換表項(xiàng)存在一定的老化時(shí)間(RT2上手工配置的),并從建立NAT轉(zhuǎn)換表項(xiàng)開(kāi)始,為該NAT轉(zhuǎn)換表項(xiàng)維護(hù)老化定時(shí)器;如果RT2上有IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則只需要清除老化定時(shí)器當(dāng)前的計(jì)時(shí),并重新啟動(dòng)該老化定時(shí)器。步驟503,在SA協(xié)商完成之后,IPsec發(fā)起方確定SA的老化時(shí)間(可以在SA協(xié)商過(guò)程中獲知),并通過(guò)NAT設(shè)備向IPsec響應(yīng)方發(fā)送第一 NAT表項(xiàng)?;顖?bào)文;其中,該第一NAT表項(xiàng)保活報(bào)文中攜帶了 NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,且該NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間(如10秒、20秒等,可以根據(jù)實(shí)際經(jīng)驗(yàn)設(shè)置)之和。步驟504,NAT設(shè)備在收到第一 NAT表項(xiàng)?;顖?bào)文后,如果NAT設(shè)備上有第一 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則NAT設(shè)備通過(guò)第一 NAT表項(xiàng)?;顖?bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。本發(fā)明實(shí)施例中,在通過(guò)第一 NAT表項(xiàng)保活報(bào)文將SA老化時(shí)間加上一段時(shí)間的偏移(即指定時(shí)間)發(fā)送給NAT設(shè)備之后,NAT設(shè)備以該時(shí)間值作為NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,從而使得整個(gè)SA存在的生命周期內(nèi),IPsec發(fā)起方都不需要向NAT設(shè)備發(fā)送NAT表項(xiàng)?;顖?bào)文,以減少網(wǎng)絡(luò)開(kāi)銷(xiāo)。本發(fā)明實(shí)施例中,第一 NAT表項(xiàng)?;顖?bào)文的IP頭中源地址與IKE協(xié)商報(bào)文的IP頭中源地址相同,第一 NAT表項(xiàng)保活報(bào)文的IP頭中目的地址與IKE協(xié)商報(bào)文的IP頭中目的地址相同,第一 NAT表項(xiàng)保活報(bào)文的UDP頭中源端口與IKE協(xié)商報(bào)文的UDP頭中源端口相同,第一 NAT表項(xiàng)保活報(bào)文的UDP頭中目的端口與IKE協(xié)商報(bào)文的UDP頭中目的端口相同。 具體的,由于NAT轉(zhuǎn)換表項(xiàng)是為IKE協(xié)商報(bào)文所建立的,且NAT轉(zhuǎn)換表項(xiàng)中會(huì)記錄IKE協(xié)商報(bào)文的相關(guān)信息(IP頭中源地址和目的地址,UDP頭中源端口和目的端口),因此NAT設(shè)備在收到第一 NAT表項(xiàng)保活報(bào)文之后,可以利用第一 NAT表項(xiàng)?;顖?bào)文的IP頭中源地址和目的地址、UDP頭中源端口和目的端口匹配N(xiāo)AT轉(zhuǎn)換表項(xiàng),以確定該NAT設(shè)備上是否記錄有第一 NAT表項(xiàng)保活報(bào)文所對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)。本發(fā)明實(shí)施例中,該第一 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示第一 NAT表項(xiàng)?;顖?bào)文用于調(diào)整老化時(shí)間的第一數(shù)值;基于此,NAT設(shè)備調(diào)整NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間的過(guò)程具體包括NAT設(shè)備在收到第一 NAT表項(xiàng)保活報(bào)文后,如果NAT設(shè)備上有第一 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則檢查第一 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容;如果載荷內(nèi)容為指示第一 NAT表項(xiàng)保活報(bào)文用于調(diào)整老化時(shí)間的第一數(shù)值,則從第一 NAT表項(xiàng)?;顖?bào)文中解析出老化時(shí)間,并通過(guò)該老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。在圖4所不應(yīng)用場(chǎng)景下,RT2收到第一 NAT表項(xiàng)?;顖?bào)文后,如果第一 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)有之前建立的NAT轉(zhuǎn)換表項(xiàng),則RT2需要通過(guò)第一 NAT表項(xiàng)?;顖?bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間;具體的,由于第一 NAT表項(xiàng)?;顖?bào)文的目的地址不是本設(shè)備的地址(是RT3的地址),因此RT2需要檢查第一 NAT表項(xiàng)?;顖?bào)文的應(yīng)用層協(xié)議數(shù)據(jù)長(zhǎng)度是否為1,且為第一數(shù)值;如果是,則RT2認(rèn)為第一 NAT表項(xiàng)?;顖?bào)文是NAT內(nèi)側(cè)設(shè)備發(fā)送的用于調(diào)整老化時(shí)間的報(bào)文,并從第一 NAT表項(xiàng)保活報(bào)文中解析出老化時(shí)間,通過(guò)該老化時(shí)間調(diào)整本地建立的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。本發(fā)明實(shí)施例的上述過(guò)程中,NAT設(shè)備可以利用第一 NAT表項(xiàng)?;顖?bào)文中攜帶的老化時(shí)間(為SA的老化時(shí)間與指定時(shí)間之和)調(diào)整NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,從而使得NAT轉(zhuǎn)換表項(xiàng)的生命周期大于SA的生命周期;進(jìn)一步的,在SA老化之前,NAT轉(zhuǎn)換表項(xiàng)不會(huì)被老化,從而使得NAT外側(cè)設(shè)備發(fā)送的IKE協(xié)商報(bào)文可以正確穿越NAT設(shè)備到達(dá)NAT內(nèi)側(cè)設(shè)備。本發(fā)明實(shí)施例的上述過(guò)程中,闡述了 NAT轉(zhuǎn)換表項(xiàng)的維護(hù)過(guò)程,在具體實(shí)現(xiàn)過(guò)程中,還可以對(duì)NAT轉(zhuǎn)換表項(xiàng)進(jìn)行刪除處理,相應(yīng)的刪除方式包括
方式一、NAT設(shè)備在NAT轉(zhuǎn)換表項(xiàng)對(duì)應(yīng)的老化定時(shí)器(老化時(shí)間為SA的老化時(shí)間與指定時(shí)間之和)超時(shí)之后,刪除對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)。方式二、在刪除SA (如所有SA被手動(dòng)刪除或收到IPsec響應(yīng)方刪除SA的消息)時(shí),IPsec發(fā)起方通過(guò)NAT設(shè)備向IPsec響應(yīng)方發(fā)送第二 NAT表項(xiàng)?;顖?bào)文;NAT設(shè)備在收到第二 NAT表項(xiàng)保活報(bào)文后,如果NAT設(shè)備上有第二 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則刪除對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)。本發(fā)明實(shí)施例中,第二 NAT表項(xiàng)?;顖?bào)文的IP頭中源地址與IKE協(xié)商報(bào)文的IP頭中源地址相同,第二 NAT表項(xiàng)?;顖?bào)文的IP頭中目的地址與IKE協(xié)商報(bào)文的IP頭中目的地址相同,第二 NAT表項(xiàng)保活報(bào)文的UDP頭中源端口與IKE協(xié)商報(bào)文的UDP頭中源端口相同,第二 NAT表項(xiàng)?;顖?bào)文的UDP頭中目的端口與IKE協(xié)商報(bào)文的UDP頭中目的端口相同。具體的,由于NAT轉(zhuǎn)換表項(xiàng)是為IKE協(xié)商報(bào)文所建立的,且NAT轉(zhuǎn)換表項(xiàng)中會(huì)記錄IKE協(xié)商報(bào)文的相關(guān)信息(IP頭中源地址和目的地址,UDP頭中源端口和目的端口),因此NAT設(shè)備在收到第二 NAT表項(xiàng)?;顖?bào)文之后,可以利用第二 NAT表項(xiàng)?;顖?bào)文的IP頭中源地址和目的地址、UDP頭中源端口和目的端口匹配N(xiāo)AT轉(zhuǎn)換表項(xiàng),以確定該NAT設(shè)備上是否記錄有第二 NAT表項(xiàng)?;顖?bào)文所對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)?!け景l(fā)明實(shí)施例中,該第二 NAT表項(xiàng)保活報(bào)文的載荷內(nèi)容為指示第二 NAT表項(xiàng)?;顖?bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)的第二數(shù)值;基于此,NAT設(shè)備刪除NAT轉(zhuǎn)換表項(xiàng)的過(guò)程具體包括NAT設(shè)備在收到第二 NAT表項(xiàng)?;顖?bào)文后,如果NAT設(shè)備上有第二 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則檢查第二 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容;如果載荷內(nèi)容為指示第二NAT表項(xiàng)保活報(bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)的第二數(shù)值,則刪除第二 NAT表項(xiàng)保活報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),回收相關(guān)資源(定時(shí)器資源、NAT轉(zhuǎn)換表項(xiàng)資源)。在圖4所示應(yīng)用場(chǎng)景下,RT2收到第二 NAT表項(xiàng)?;顖?bào)文后,如果第二 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)有之前建立的NAT轉(zhuǎn)換表項(xiàng),則RT2需要?jiǎng)h除第二 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng);具體的,由于第二 NAT表項(xiàng)保活報(bào)文的目的地址不是本設(shè)備的地址(是RT3的地址),因此RT2需要檢查第二 NAT表項(xiàng)?;顖?bào)文的應(yīng)用層協(xié)議數(shù)據(jù)長(zhǎng)度是否為I,且為第二數(shù)值;如果是,則RT2認(rèn)為第二 NAT表項(xiàng)?;顖?bào)文是NAT內(nèi)側(cè)設(shè)備發(fā)送的用于刪除NAT轉(zhuǎn)換表項(xiàng)的報(bào)文,并刪除第二 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)。 本發(fā)明實(shí)施例中,如果為NAT轉(zhuǎn)換表項(xiàng)老化時(shí)間以及SA老化時(shí)間維護(hù)有時(shí)間規(guī)格,且NAT轉(zhuǎn)換表項(xiàng)老化時(shí)間的時(shí)間規(guī)格比SA老化時(shí)間的時(shí)間規(guī)格范圍大,則如果第一NAT表項(xiàng)保活報(bào)文中攜帶的老化時(shí)間不在NAT轉(zhuǎn)換表項(xiàng)老化時(shí)間的時(shí)間規(guī)格范圍內(nèi)(即老化時(shí)間太小或者太大),NAT采取缺省的老化時(shí)間(根據(jù)實(shí)際經(jīng)驗(yàn)值進(jìn)行設(shè)置)作為NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。本發(fā)明實(shí)施例的優(yōu)選實(shí)施方式中,結(jié)合圖6所示的NAT表項(xiàng)?;顖?bào)文的格式對(duì)上述的第一 NAT表項(xiàng)?;顖?bào)文和第二 NAT表項(xiàng)?;顖?bào)文進(jìn)行說(shuō)明。在圖6中,NAT表項(xiàng)?;顖?bào)文為明文方式,且網(wǎng)絡(luò)層協(xié)議為IP,傳輸層協(xié)議為UDP,即NAT表項(xiàng)?;顖?bào)文中包括IP頭、UDP頭和載荷;其中,IP頭的源地址與IKE協(xié)商報(bào)文的源地址相同,IP頭的目的地址與IKE協(xié)商報(bào)文的目的地址相同,且UDP頭的源端口與IKE協(xié)商報(bào)文的源端口相同,UDP頭的目的端口與IKE協(xié)商報(bào)文的目的端口相同。對(duì)于ucType的取值(即載荷內(nèi)容)如下所示
OxFF :當(dāng)前定義的NAT表項(xiàng)?;顖?bào)文。OxFE (即第一數(shù)值)此時(shí)報(bào)文為第一 NAT表項(xiàng)?;顖?bào)文,OxFE可以指示第一 NAT表項(xiàng)?;顖?bào)文用于調(diào)整老化時(shí)間,且Payload-Value為兩個(gè)字節(jié),用于標(biāo)識(shí)NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,其單位為秒。OxFD (即第二數(shù)值)此時(shí)報(bào)文為第二 NAT表項(xiàng)?;顖?bào)文,OxFD可以指示第二 NAT表項(xiàng)?;顖?bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)?;谂c上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提出了一種NAT設(shè)備,應(yīng)用于包括IPsec發(fā)起方、所述NAT設(shè)備和IPsec響應(yīng)方的網(wǎng)絡(luò)中,如圖7所示,所述NAT設(shè)備包括
第一接收模塊11,用于在SA協(xié)商過(guò)程中,接收所述IPsec發(fā)起方通過(guò)本設(shè)備向所述IPsec響應(yīng)方發(fā)送的IKE協(xié)商報(bào)文;
第一表項(xiàng)管理模塊12,用于當(dāng)本設(shè)備上沒(méi)有所述IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)時(shí),為所述IKE協(xié)商報(bào)文建立NAT轉(zhuǎn)換表項(xiàng),為所述NAT轉(zhuǎn)換表項(xiàng)設(shè)置老化時(shí)間,并為所述NAT轉(zhuǎn)換表項(xiàng)維護(hù)老化定時(shí)器;當(dāng)本設(shè)備上有所述IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)時(shí),更新所述NAT轉(zhuǎn)換表項(xiàng)對(duì)應(yīng)的老化定時(shí)器;
第二接收模塊13,用于在SA協(xié)商完成后,接收所述IPsec發(fā)起方通過(guò)本設(shè)備向所述IPsec響應(yīng)方發(fā)送的第一NAT表項(xiàng)?;顖?bào)文,所述第一NAT表項(xiàng)保活報(bào)文中攜帶了 NAT轉(zhuǎn)換 表項(xiàng)的老化時(shí)間,且所述NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間之和;
第二表項(xiàng)管理模塊14,用于當(dāng)本設(shè)備上有所述第一 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)時(shí),通過(guò)所述第一 NAT表項(xiàng)?;顖?bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。所述第二表項(xiàng)管理模塊14,具體用于檢查所述第一 NAT表項(xiàng)保活報(bào)文的載荷內(nèi)容;如果所述載荷內(nèi)容為指示所述第一 NAT表項(xiàng)保活報(bào)文用于調(diào)整老化時(shí)間的第一數(shù)值,則從所述第一 NAT表項(xiàng)?;顖?bào)文中解析所述老化時(shí)間,并通過(guò)所述老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。該NAT設(shè)備還包括第三接收模塊15,用于接收所述IPsec發(fā)起方通過(guò)本設(shè)備向所述IPsec響應(yīng)方發(fā)送的第二 NAT表項(xiàng)保活報(bào)文;
第三表項(xiàng)管理模塊16,用于當(dāng)本設(shè)備上有所述第二 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),且所述第二 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示所述第二 NAT表項(xiàng)?;顖?bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)的第二數(shù)值時(shí),刪除所述第二 NAT表項(xiàng)保活報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng);和/或,在所述NAT轉(zhuǎn)換表項(xiàng)對(duì)應(yīng)的老化定時(shí)器超時(shí)之后,刪除所述NAT轉(zhuǎn)換表項(xiàng)。其中,本發(fā)明裝置的各個(gè)模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊?;谂c上述方法同樣的發(fā)明構(gòu)思,本發(fā)明還提出了一種IPsec發(fā)起方,應(yīng)用于包括所述IPsec發(fā)起方、NAT設(shè)備和IPsec響應(yīng)方的網(wǎng)絡(luò)中,如圖8所示,所述IPsec發(fā)起方包括
第一發(fā)送模塊21,用于在SA協(xié)商過(guò)程中,通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送IKE協(xié)商報(bào)文;由所述NAT設(shè)備為所述IKE協(xié)商報(bào)文維護(hù)NAT轉(zhuǎn)換表項(xiàng),并為所述NAT轉(zhuǎn)換表項(xiàng)設(shè)置老化時(shí)間;
第二發(fā)送模塊22,用于在SA協(xié)商完成后,確定SA的老化時(shí)間,通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送第一 NAT表項(xiàng)?;顖?bào)文,所述第一 NAT表項(xiàng)?;顖?bào)文中攜帶了 NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,且所述NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間之和;由所述NAT設(shè)備通過(guò)所述第一 NAT表項(xiàng)保活報(bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間;
所述第一 NAT表項(xiàng)?;顖?bào)文的IP頭中源地址與所述IKE協(xié)商報(bào)文的IP頭中源地址相同,所述第一 NAT表項(xiàng)?;顖?bào)文的IP頭中目的地址與所述IKE協(xié)商報(bào)文的IP頭中目的地址相同,所述第一 NAT表項(xiàng)保活報(bào)文的UDP頭中源端口與所述IKE協(xié)商報(bào)文的UDP頭中源端口相同,所述第一 NAT表項(xiàng)?;顖?bào)文的Μ)Ρ頭中目的端口與所述IKE協(xié)商報(bào)文的UDP頭中目的端口相同。該IPsec發(fā)起方還包括第三發(fā)送模塊23,用于在刪除所述SA時(shí),通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送第二 NAT表項(xiàng)?;顖?bào)文;由所述NAT設(shè)備刪除所述第二 NAT表項(xiàng)保活報(bào)文所對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng);
所述第二 NAT表項(xiàng)保活報(bào)文的IP頭中源地址與所述IKE協(xié)商報(bào)文的IP頭中源地址相同,所述第二 NAT表項(xiàng)?;顖?bào)文的IP頭中目的地址與所述IKE協(xié)商報(bào)文的IP頭中目的地址相同,所述第二 NAT表項(xiàng)?;顖?bào)文的UDP頭中源端口與所述IKE協(xié)商報(bào)文的UDP頭中源端口相同,所述第二 NAT表項(xiàng)?;顖?bào)文的Μ)Ρ頭中目的端口與所述IKE協(xié)商報(bào)文的UDP頭中目的端口相同;
所述第一 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示所述第一 NAT表項(xiàng)保活報(bào)文用于調(diào)整老化時(shí)間的第一數(shù)值;所述第二 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示所述第二 NAT表項(xiàng)?;顖?bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)的第二數(shù)值。其中,本發(fā)明裝置的各個(gè)模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過(guò)硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)。基于這樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是⑶-R0M,U盤(pán),移動(dòng)硬盤(pán)等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。上述本發(fā)明序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上公開(kāi)的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種基于IPsec的NAT轉(zhuǎn)換表項(xiàng)管理方法,應(yīng)用于包括IPsec發(fā)起方、NAT設(shè)備和IPsec響應(yīng)方的網(wǎng)絡(luò)中,其特征在于,該方法包括以下步驟 在SA協(xié)商過(guò)程中,所述NAT設(shè)備接收所述IPsec發(fā)起方通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送的IKE協(xié)商報(bào)文;如果所述NAT設(shè)備上沒(méi)有所述IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則為所述IKE協(xié)商報(bào)文建立NAT轉(zhuǎn)換表項(xiàng),為所述NAT轉(zhuǎn)換表項(xiàng)設(shè)置老化時(shí)間,并為所述NAT轉(zhuǎn)換表項(xiàng)維護(hù)老化定時(shí)器;如果所述NAT設(shè)備上有所述IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則更新所述NAT轉(zhuǎn)換表項(xiàng)對(duì)應(yīng)的老化定時(shí)器; 在SA協(xié)商完成后,所述NAT設(shè)備接收所述IPsec發(fā)起方通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送的第一 NAT表項(xiàng)?;顖?bào)文,所述第一 NAT表項(xiàng)?;顖?bào)文中攜帶了 NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,且所述NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間之和;如果所述NAT設(shè)備上有所述第一 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則所述NAT設(shè)備通過(guò)所述第一NAT表項(xiàng)保活報(bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。
2.如權(quán)利要求I所述的方法,其特征在于,所述NAT設(shè)備通過(guò)所述第一NAT表項(xiàng)?;顖?bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間的過(guò)程,具體包括 所述NAT設(shè)備檢查所述第一 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容;如果所述載荷內(nèi)容為指示所述第一 NAT表項(xiàng)?;顖?bào)文用于調(diào)整老化時(shí)間的第一數(shù)值,則所述NAT設(shè)備從所述第一 NAT表項(xiàng)?;顖?bào)文中解析所述老化時(shí)間,并通過(guò)所述老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。
3.如權(quán)利要求I所述的方法,其特征在于,所述NAT設(shè)備為所述NAT轉(zhuǎn)換表項(xiàng)維護(hù)老化定時(shí)器,之后還包括 所述NAT設(shè)備在所述NAT轉(zhuǎn)換表項(xiàng)對(duì)應(yīng)的老化定時(shí)器超時(shí)之后,刪除所述NAT轉(zhuǎn)換表項(xiàng);和/或, 所述NAT設(shè)備接收所述IPsec發(fā)起方通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送的第二NAT表項(xiàng)?;顖?bào)文,如果所述NAT設(shè)備上有所述第二 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),且所述第二 NAT表項(xiàng)保活報(bào)文的載荷內(nèi)容為指示所述第二 NAT表項(xiàng)?;顖?bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)的第二數(shù)值,則所述NAT設(shè)備刪除所述第二 NAT表項(xiàng)保活報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)。
4.一種基于IPsec的NAT轉(zhuǎn)換表項(xiàng)管理方法,應(yīng)用于包括IPsec發(fā)起方、NAT設(shè)備和IPsec響應(yīng)方的網(wǎng)絡(luò)中,其特征在于,該方法包括以下步驟 在SA協(xié)商過(guò)程中,所述IPsec發(fā)起方通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送IKE協(xié)商報(bào)文;由所述NAT設(shè)備為所述IKE協(xié)商報(bào)文維護(hù)NAT轉(zhuǎn)換表項(xiàng),并為所述NAT轉(zhuǎn)換表項(xiàng)設(shè)置老化時(shí)間; 在SA協(xié)商完成后,所述IPsec發(fā)起方確定SA的老化時(shí)間,并通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送第一 NAT表項(xiàng)保活報(bào)文,所述第一 NAT表項(xiàng)?;顖?bào)文中攜帶了 NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,且所述NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間之和;由所述NAT設(shè)備通過(guò)所述第一 NAT表項(xiàng)保活報(bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間; 所述第一 NAT表項(xiàng)保活報(bào)文的IP頭中源地址與所述IKE協(xié)商報(bào)文的IP頭中源地址相同,所述第一 NAT表項(xiàng)保活報(bào)文的IP頭中目的地址與所述IKE協(xié)商報(bào)文的IP頭中目的地址相同,所述第一 NAT表項(xiàng)?;顖?bào)文的UDP頭中源端口與所述IKE協(xié)商報(bào)文的UDP頭中源端口相同,所述第一 NAT表項(xiàng)?;顖?bào)文的Μ)Ρ頭中目的端口與所述IKE協(xié)商報(bào)文的UDP頭中目的端口相同。
5.如權(quán)利要求4所述的方法,其特征在于,所述方法進(jìn)一步包括 在刪除所述SA時(shí),所述IPsec發(fā)起方通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送第二NAT表項(xiàng)?;顖?bào)文;由所述NAT設(shè)備刪除所述第二 NAT表項(xiàng)保活報(bào)文所對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng); 所述第二 NAT表項(xiàng)?;顖?bào)文的IP頭中源地址與所述IKE協(xié)商報(bào)文的IP頭中源地址相同,所述第二 NAT表項(xiàng)?;顖?bào)文的IP頭中目的地址與所述IKE協(xié)商報(bào)文的IP頭中目的地址相同,所述第二 NAT表項(xiàng)保活報(bào)文的UDP頭中源端口與所述IKE協(xié)商報(bào)文的UDP頭中源 端口相同,所述第二 NAT表項(xiàng)?;顖?bào)文的UDP頭中目的端口與所述IKE協(xié)商報(bào)文的UDP頭中目的端口相同; 所述第一 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示所述第一 NAT表項(xiàng)?;顖?bào)文用于調(diào)整老化時(shí)間的第一數(shù)值;所述第二 NAT表項(xiàng)保活報(bào)文的載荷內(nèi)容為指示所述第二 NAT表項(xiàng)?;顖?bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)的第二數(shù)值。
6.一種NAT設(shè)備,應(yīng)用于包括IPsec發(fā)起方、所述NAT設(shè)備和IPsec響應(yīng)方的網(wǎng)絡(luò)中,其特征在于,所述NAT設(shè)備包括 第一接收模塊,用于在SA協(xié)商過(guò)程中,接收所述IPsec發(fā)起方通過(guò)本設(shè)備向所述IPsec響應(yīng)方發(fā)送的IKE協(xié)商報(bào)文; 第一表項(xiàng)管理模塊,用于當(dāng)本設(shè)備上沒(méi)有所述IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)時(shí),為所述IKE協(xié)商報(bào)文建立NAT轉(zhuǎn)換表項(xiàng),為所述NAT轉(zhuǎn)換表項(xiàng)設(shè)置老化時(shí)間,并為所述NAT轉(zhuǎn)換表項(xiàng)維護(hù)老化定時(shí)器;當(dāng)本設(shè)備上有所述IKE協(xié)商報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)時(shí),更新所述NAT轉(zhuǎn)換表項(xiàng)對(duì)應(yīng)的老化定時(shí)器; 第二接收模塊,用于在SA協(xié)商完成后,接收所述IPsec發(fā)起方通過(guò)本設(shè)備向所述IPsec響應(yīng)方發(fā)送的第一 NAT表項(xiàng)?;顖?bào)文,所述第一 NAT表項(xiàng)?;顖?bào)文中攜帶了 NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,且所述NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間之和; 第二表項(xiàng)管理模塊,用于當(dāng)本設(shè)備上有所述第一 NAT表項(xiàng)保活報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)時(shí),通過(guò)所述第一 NAT表項(xiàng)?;顖?bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。
7.如權(quán)利要求6所述的NAT設(shè)備,其特征在于, 所述第二表項(xiàng)管理模塊,具體用于檢查所述第一 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容;如果所述載荷內(nèi)容為指示所述第一 NAT表項(xiàng)?;顖?bào)文用于調(diào)整老化時(shí)間的第一數(shù)值,則從所述第一 NAT表項(xiàng)?;顖?bào)文中解析所述老化時(shí)間,并通過(guò)所述老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。
8.如權(quán)利要求6所述的NAT設(shè)備,其特征在于,還包括 第三接收模塊,用于接收所述IPsec發(fā)起方通過(guò)本設(shè)備向所述IPsec響應(yīng)方發(fā)送的第二 NAT表項(xiàng)?;顖?bào)文; 第三表項(xiàng)管理模塊,用于當(dāng)本設(shè)備上有所述第二 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),且所述第二 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示所述第二 NAT表項(xiàng)?;顖?bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)的第二數(shù)值時(shí),刪除所述第二 NAT表項(xiàng)?;顖?bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng);和/或,在所述NAT轉(zhuǎn)換表項(xiàng)對(duì)應(yīng)的老化定時(shí)器超時(shí)之后,刪除所述NAT轉(zhuǎn)換表項(xiàng)。
9.一種IPsec發(fā)起方,應(yīng)用于包括所述IPsec發(fā)起方、NAT設(shè)備和IPsec響應(yīng)方的網(wǎng)絡(luò)中,其特征在于,所述IPsec發(fā)起方包括 第一發(fā)送模塊,用于在SA協(xié)商過(guò)程中,通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送IKE協(xié)商報(bào)文;由所述NAT設(shè)備為所述IKE協(xié)商報(bào)文維護(hù)NAT轉(zhuǎn)換表項(xiàng),并為所述NAT轉(zhuǎn)換表項(xiàng)設(shè)置老化時(shí)間; 第二發(fā)送模塊,用于在SA協(xié)商完成后,確定SA的老化時(shí)間,并通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送第一 NAT表項(xiàng)保活報(bào)文,所述第一 NAT表項(xiàng)?;顖?bào)文中攜帶了 NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,且所述NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間之和;由所述NAT設(shè)備通過(guò)所述第一 NAT表項(xiàng)?;顖?bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間;所述第一 NAT表項(xiàng)保活報(bào)文的IP頭中源地址與所述IKE協(xié)商報(bào)文的IP頭中源地址相同,所述第一 NAT表項(xiàng)保活報(bào)文的IP頭中目的地址與所述IKE協(xié)商報(bào)文的IP頭中目的地址相同,所述第一 NAT表項(xiàng)保活報(bào)文的UDP頭中源端口與所述IKE協(xié)商報(bào)文的UDP頭中源端口相同,所述第一 NAT表項(xiàng)保活報(bào)文的Μ)Ρ頭中目的端口與所述IKE協(xié)商報(bào)文的UDP頭中目的端口相同。
10.如權(quán)利要求9所述的IPsec發(fā)起方,其特征在于,還包括 第三發(fā)送模塊,用于在刪除所述SA時(shí),通過(guò)所述NAT設(shè)備向所述IPsec響應(yīng)方發(fā)送第二 NAT表項(xiàng)保活報(bào)文;由所述NAT設(shè)備刪除所述第二 NAT表項(xiàng)?;顖?bào)文所對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng); 所述第二 NAT表項(xiàng)?;顖?bào)文的IP頭中源地址與所述IKE協(xié)商報(bào)文的IP頭中源地址相同,所述第二 NAT表項(xiàng)保活報(bào)文的IP頭中目的地址與所述IKE協(xié)商報(bào)文的IP頭中目的地址相同,所述第二 NAT表項(xiàng)?;顖?bào)文的UDP頭中源端口與所述IKE協(xié)商報(bào)文的UDP頭中源端口相同,所述第二 NAT表項(xiàng)保活報(bào)文的Μ)Ρ頭中目的端口與所述IKE協(xié)商報(bào)文的UDP頭中目的端口相同; 所述第一 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示所述第一 NAT表項(xiàng)?;顖?bào)文用于調(diào)整老化時(shí)間的第一數(shù)值;所述第二 NAT表項(xiàng)?;顖?bào)文的載荷內(nèi)容為指示所述第二 NAT表項(xiàng)?;顖?bào)文用于刪除NAT轉(zhuǎn)換表項(xiàng)的第二數(shù)值。
全文摘要
本發(fā)明公開(kāi)了一種基于IPsec的NAT轉(zhuǎn)換表項(xiàng)管理方法和設(shè)備,該方法包括在SA協(xié)商完成后,NAT設(shè)備接收IPsec發(fā)起方發(fā)送的第一NAT表項(xiàng)?;顖?bào)文,所述第一NAT表項(xiàng)?;顖?bào)文中攜帶了NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間,且所述NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間為SA的老化時(shí)間與指定時(shí)間之和;如果所述NAT設(shè)備上有所述第一NAT表項(xiàng)保活報(bào)文對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng),則所述NAT設(shè)備通過(guò)所述第一NAT表項(xiàng)?;顖?bào)文中攜帶的老化時(shí)間調(diào)整對(duì)應(yīng)的NAT轉(zhuǎn)換表項(xiàng)的老化時(shí)間。本發(fā)明中,可以減少網(wǎng)絡(luò)開(kāi)銷(xiāo)。
文檔編號(hào)H04L29/12GK102946352SQ20121042692
公開(kāi)日2013年2月27日 申請(qǐng)日期2012年10月31日 優(yōu)先權(quán)日2012年10月31日
發(fā)明者楊超 申請(qǐng)人:杭州華三通信技術(shù)有限公司