專利名稱:點(diǎn)到網(wǎng)隧道方式下地址沖突的解決方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種點(diǎn)到網(wǎng)隧道方式下地址沖突的解決 方法。
背景技術(shù):
VPN(Virtual Private Network虛擬專用網(wǎng))可以通過(guò)特殊的加密的通訊協(xié) 議在連接在Internet上的位于不同地方的兩個(gè)或多個(gè)企業(yè)內(nèi)部網(wǎng)之間建立一條專有的 通訊線路,能夠利用公共網(wǎng)絡(luò)建立虛擬私有網(wǎng),目前在企業(yè)中得到了廣泛的應(yīng)用;其中, SSLVPN以其簡(jiǎn)單的客戶端配置、細(xì)粒度的ACL控制和豐富的功能等特點(diǎn)正漸漸取代傳統(tǒng)的 IPSecVPNo在SSLVPN中,一個(gè)重要的使用方式就是點(diǎn)到網(wǎng)隧道,用戶通過(guò)與SSLVPN建立一 條加密的隧道來(lái)進(jìn)行業(yè)務(wù)訪問(wèn)。在用戶端和SSLVPN端,此隧道均需使用虛擬網(wǎng)卡,并由 SSLVPN給用戶端分配虛擬網(wǎng)卡的IP地址。隧道建立成功后,用戶端將自己的請(qǐng)求數(shù)據(jù)包 通過(guò)隧道傳送到SSLVPN,SSLVPN將該請(qǐng)求轉(zhuǎn)發(fā)到后端的服務(wù)器。這個(gè)過(guò)程中,用戶端需要 使用虛擬網(wǎng)卡的IP地址作為請(qǐng)求數(shù)據(jù)包的源IP地址。在以上應(yīng)用中,分配給用戶端的IP 地址可能會(huì)與用戶端的網(wǎng)絡(luò)環(huán)境發(fā)生沖突,如與本機(jī)路由表中的某一項(xiàng)相同或被某一項(xiàng)包 含,通常情況下,解決這種問(wèn)題的方法是由SSLVPN重新分配另外一個(gè)不同的IP地址給用戶 端。但是某些情況下要求用戶端的虛擬網(wǎng)卡必須使用特定的IP地址,如果此時(shí)恰好 發(fā)生沖突,上述方法就無(wú)法解決了。舉例說(shuō)明如下某高校經(jīng)過(guò)授權(quán)后可以使用國(guó)外的某個(gè) 數(shù)字圖書(shū)館,該數(shù)字圖書(shū)館使用IP地址來(lái)禁止非授權(quán)用戶訪問(wèn),即只有從該高校的某個(gè)特 定IP地址或地址段發(fā)出的請(qǐng)求才允許訪問(wèn)。此時(shí)采用SSLVPN給用戶端分配的虛擬網(wǎng)卡的 IP地址則不能滿足訪問(wèn)的條件。
發(fā)明內(nèi)容
本發(fā)明是針對(duì)上述提到的點(diǎn)到網(wǎng)隧道應(yīng)用中存在的問(wèn)題,提供一種解決方法。本發(fā)明通過(guò)以下方案實(shí)現(xiàn)上述目的一種點(diǎn)到網(wǎng)隧道方式下地址沖突的解決方法,包括以下步驟SlOl用戶端開(kāi)始向SSLVPN發(fā)起隧道建立請(qǐng)求;S102用戶端向SSLVPN發(fā)起IP地址請(qǐng)求;S103SSLVPN生成影子IP,此影子IP與原始IP地址通過(guò)哈希進(jìn)行關(guān)聯(lián);S104SSLVPN將影子IP發(fā)送給用戶端;S105用戶端判斷影子IP地址是否與本機(jī)網(wǎng)絡(luò)環(huán)境存在沖突如果存在沖突,返回到步驟3由SSLVPN重新生成影子IP ;如果不存在沖突,則使用此影子IP作為虛擬網(wǎng)卡的IP地址。優(yōu)選的,在步聚S103生成影子IP時(shí),采用的規(guī)則為假設(shè)IP地址為Xl x2 x3 x4,
3
根據(jù)X2的值改變x2為,如果x2 大于等于 127,x2~ = x2_l ;如果x2 小于 127,x2~ = x2+l ;將xl:x2—:x3:x4 作為影子 IP ;如果改變x2生成的影子IP均發(fā)生沖突,則根據(jù)xl的值改變xl為χΓ,如果xl 大于等于 127,χΓ = xl-1 ;如果xl 小于 127,χΓ = xl+1 ;將χΓ :x2:x3:x4 作為影子 IP。在步聚S105中用戶端判斷影子IP地址與本機(jī)網(wǎng)絡(luò)環(huán)境存在沖突時(shí),將影子IP地 址與本機(jī)路由表進(jìn)行比較,如果IP地址與本機(jī)路由表中的某一項(xiàng)相同或被某一項(xiàng)包含,則 判定為沖突。進(jìn)一步的,點(diǎn)到網(wǎng)隧道建立成功后,SSLVPN收到用戶端通過(guò)此隧道發(fā)來(lái)的數(shù)據(jù)包 時(shí),根據(jù)需要對(duì)IP地址進(jìn)行處理,將影子IP替換為原始IP。進(jìn)一步的,點(diǎn)到網(wǎng)隧道建立成功后,SSLVPN對(duì)后端服務(wù)器返回的數(shù)據(jù)包,根據(jù)需要 進(jìn)行反替換,即將原始IP替換為影子IP,然后通過(guò)隧道發(fā)送給用戶端。本發(fā)明能成功解決上述的地址沖突問(wèn)題,使點(diǎn)到網(wǎng)隧道能夠應(yīng)對(duì)各種網(wǎng)絡(luò)拓?fù)湟?求,拓寬了此種應(yīng)用的使用范圍。
下面根據(jù)實(shí)施例和附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。圖1是本發(fā)明所述實(shí)施例應(yīng)用現(xiàn)場(chǎng)的系統(tǒng)結(jié)構(gòu)圖;圖2是本發(fā)明所述方法的原理流程框圖;圖3是本發(fā)明所述方法建立點(diǎn)到網(wǎng)隧道成功后的數(shù)據(jù)處理原理圖。
具體實(shí)施例方式圖1是本發(fā)明所述實(shí)施例應(yīng)用現(xiàn)場(chǎng)的系統(tǒng)結(jié)構(gòu)圖,圖2給出了處理流程圖,本方法 包括以下步驟SlOl用戶端開(kāi)始向SSLVPN發(fā)起隧道建立請(qǐng)求;S102用戶端向SSLVPN發(fā)起IP地址請(qǐng)求;S103SSLVPN生成影子IP,此影子IP與原始IP地址通過(guò)哈希進(jìn)行關(guān)聯(lián);S104SSLVPN將影子IP發(fā)送給用戶端;S105用戶端判斷影子IP地址是否與本機(jī)網(wǎng)絡(luò)環(huán)境存在沖突如果存在沖突,返回到步驟S103由SSLVPN重新生成影子IP ;如果不存在沖突,則使用此影子IP作為虛擬網(wǎng)卡的IP地址。優(yōu)選的,在步聚S103生成影子IP時(shí),采用的規(guī)則為假設(shè)IP地址為xl x2 x3 x4,
根據(jù)x2的值改變x2為,如果x2 大于等于 127,x2~ = x2_l ;如果x2 小于 127,x2~ = x2+l ;將xl:x2—:x3:x4 作為影子 IP ;
如果改變x2生成的影子IP均發(fā)生沖突,則根據(jù)xl的值改變xl為χΓ,如果xl 大于等于 127,χΓ = xl_l ;如果xl 小于 127,χΓ = xl+1 ;將χΓ :x2:x3:x4 作為影子 IP。在步聚S105中用戶端判斷影子IP地址與本機(jī)網(wǎng)絡(luò)環(huán)境存在沖突時(shí),將影子IP地 址與本機(jī)路由表進(jìn)行比較,如果IP地址與本機(jī)路由表中的某一項(xiàng)相同或被某一項(xiàng)包含,則 判定為沖突。圖3是給出了本發(fā)明所述方法建立點(diǎn)到網(wǎng)隧道成功后的數(shù)據(jù)處理原理圖,點(diǎn)到網(wǎng) 隧道建立成功后,SSLVPN收到用戶端通過(guò)此隧道發(fā)來(lái)的數(shù)據(jù)包時(shí),根據(jù)需要對(duì)IP地址進(jìn)行 處理,將影子IP替換為原始IP ;點(diǎn)到網(wǎng)隧道建立成功后,SSLVPN對(duì)后端服務(wù)器返回的數(shù)據(jù) 包,根據(jù)需要進(jìn)行反替換,即將原始IP替換為影子IP,然后通過(guò)隧道發(fā)送給用戶端。具體實(shí)施例如下用戶端真實(shí)網(wǎng)卡的IP地址為192. 168. 1. 100,并準(zhǔn)備通過(guò)隧道方式訪問(wèn)服務(wù)器1, 但是服務(wù)器1要求只有源地址是192. 168. 1. 100的用戶才能訪問(wèn),即用戶端虛擬網(wǎng)卡的IP 地址應(yīng)該是192. 168. 1. 100。基于此,SSLVPN為用戶端分配了虛擬IP地址192. 168. 1. 100。 但是此IP地址與用戶端的真實(shí)網(wǎng)卡IP地址沖突,無(wú)法使用隧道,于是用戶端將沖突通知給 SSLVPN, SSLVPN根據(jù)算法為用戶端生成了影子IP 192. 168. 2. 100,并下發(fā)給用戶端,同時(shí) SSLVPN記錄這兩個(gè)IP地址的關(guān)聯(lián)。由于192. 168. 2. 100與用戶端沒(méi)有沖突,這樣,隧道建 立成功。用戶端通過(guò)此隧道向服務(wù)器1發(fā)起資源請(qǐng)求,這個(gè)請(qǐng)求的源IP和目的IP分別為 192. 168. 2. 100- > 192. 168. 1. 1。請(qǐng)求到達(dá)SSLVPN后,SSLVPN在轉(zhuǎn)發(fā)前,根據(jù)先前記錄的 關(guān)聯(lián)關(guān)系,將此數(shù)據(jù)包的源IP從192. 168. 2. 100修改為192. 168. 1. 100。這樣,到達(dá)服務(wù)器 1的請(qǐng)求包變?yōu)?192. 168. 1. 100- > 192. 168. 1. 1。符合服務(wù)器1的限制,該請(qǐng)求被接受。 而服務(wù)器1的回復(fù)為=192. 168. 1. 1- > 192. 168. 1. 100。到達(dá)SSLVPN后,SSLVPN根據(jù)先前 記錄的關(guān)聯(lián)關(guān)系,將此數(shù)據(jù)包的目的IP從192. 168. 1. 100修改為192. 168. 2. 100,然后將此 回復(fù)數(shù)據(jù)包通過(guò)隧道轉(zhuǎn)發(fā)給用戶端。以后的數(shù)據(jù)包皆按以上方式進(jìn)行轉(zhuǎn)發(fā),最終實(shí)現(xiàn)了用 戶端對(duì)服務(wù)器1的訪問(wèn)。應(yīng)該注意,雖然以上是參考具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行說(shuō)明的,但這并不意味是 對(duì)本發(fā)明的限制,本發(fā)明的保護(hù)范圍是由所附權(quán)利要求而不是具體實(shí)施方式
來(lái)限定的。
權(quán)利要求
一種點(diǎn)到網(wǎng)隧道方式下地址沖突的解決方法,其特征在于包括以下步驟S101用戶端開(kāi)始向SSLVPN發(fā)起隧道建立請(qǐng)求;S102用戶端向SSLVPN發(fā)起IP地址請(qǐng)求;S103SSLVPN生成影子IP,此影子IP與原始IP地址通過(guò)哈希進(jìn)行關(guān)聯(lián);S104SSLVPN將影子IP發(fā)送給用戶端;S105用戶端判斷影子IP地址是否與本機(jī)網(wǎng)絡(luò)環(huán)境存在沖突如果存在沖突,返回到步驟S103由SSLVPN重新生成影子IP;如果不存在沖突,則使用此影子IP作為虛擬網(wǎng)卡的IP地址。
2.根據(jù)權(quán)利要求1所述的點(diǎn)到網(wǎng)隧道方式下地址沖突的解決方法,其特征在于在步 聚S103生成影子IP時(shí),采用的規(guī)則為假設(shè)IP地址為xl:x2:x3:x4,根據(jù)x2的值改變x2為, 如果x2大于等于127,x2~ = x2-l ; 如果 x2 小于 127,x2~ = x2+l ; 將xl x2~ :x3:x4作為影子IP ;如果改變x2生成的影子IP均發(fā)生沖突,則根據(jù)xl的值改變xl為χΓ, 如果xl大于等于127,χΓ = xl-1 ; 如果 xl 小于 127,χΓ = xl+1 ; 將xl— :x2:x3:x4作為影子IP。
3.根據(jù)權(quán)利要求1所述的點(diǎn)到網(wǎng)隧道方式下地址沖突的解決方法,其特征在于在步 聚S105中用戶端判斷影子IP地址與本機(jī)網(wǎng)絡(luò)環(huán)境存在沖突時(shí),將影子IP地址與本機(jī)路由 表進(jìn)行比較,如果IP地址與本機(jī)路由表中的某一項(xiàng)相同或被某一項(xiàng)包含,則判定為沖突。
4.根據(jù)權(quán)利要求1至4所述的任一種點(diǎn)到網(wǎng)隧道方式下地址沖突的解決方法,其特征 在于點(diǎn)到網(wǎng)隧道建立成功后,SSLVPN收到用戶端通過(guò)此隧道發(fā)來(lái)的數(shù)據(jù)包時(shí),根據(jù)需要 對(duì)IP地址進(jìn)行處理,將影子IP替換為原始IP。
5.根據(jù)權(quán)利要求1至4所述的任一種點(diǎn)到網(wǎng)隧道方式下地址沖突的解決方法,其特征 在于點(diǎn)到網(wǎng)隧道建立成功后,SSLVPN對(duì)后端服務(wù)器返回的數(shù)據(jù)包,根據(jù)需要進(jìn)行反替換, 即將原始IP替換為影子IP,然后通過(guò)隧道發(fā)送給用戶端。全文摘要
本發(fā)明公開(kāi)一種點(diǎn)到網(wǎng)隧道方式下地址沖突的解決方法,包括以下步驟用戶端開(kāi)始向SSLVPN發(fā)起隧道建立請(qǐng)求;用戶端向SSLVPN發(fā)起IP地址請(qǐng)求;SSLVPN生成影子IP,此影子IP與原始IP地址通過(guò)哈希進(jìn)行關(guān)聯(lián);SSLVPN將影子IP發(fā)送給用戶端;用戶端判斷影子IP地址是否與本機(jī)網(wǎng)絡(luò)環(huán)境存在沖突如果存在沖突,由SSLVPN重新生成影子IP;如果不存在沖突,則使用此影子IP作為虛擬網(wǎng)卡的IP地址。能成功解決某些情況下要求用戶端的虛擬網(wǎng)卡必須使用特定的IP地址,而SSLVPN分配的虛擬網(wǎng)卡的IP地址與上述特定的IP地址沖突的問(wèn)題,使點(diǎn)到網(wǎng)隧道能夠應(yīng)對(duì)各種網(wǎng)絡(luò)拓?fù)湟?,拓寬了此種應(yīng)用的使用范圍。
文檔編號(hào)H04L29/06GK101964799SQ20101051428
公開(kāi)日2011年2月2日 申請(qǐng)日期2010年10月21日 優(yōu)先權(quán)日2010年10月21日
發(fā)明者徐巖 申請(qǐng)人:神州數(shù)碼網(wǎng)絡(luò)(北京)有限公司