專利名稱:一種提供tcp服務(wù)的方法、系統(tǒng)和相關(guān)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),特別涉及一種提供傳輸控制協(xié)議(TCP)服 務(wù)的方法、系統(tǒng)、安全套接層虛擬專用網(wǎng)(SSL VPN)客戶端代理和SSL VPN網(wǎng)關(guān)。
背景技術(shù):
安全套接層(SSL, Secure Sockets Layer)協(xié)i義是一種為通信雙方提供 安全的通信服務(wù)的協(xié)議,其在通信雙方間建立一個(gè)傳輸層安全通道,主要功 能包括加密和認(rèn)證,其提供的安全通道是透明的,幾乎所有基于傳輸控制協(xié) 議(TCP, Transfer Control Protocol)都可以運(yùn)行于SSL之上,SSL已成為 用戶與Internet之間進(jìn)行保密通信的事實(shí)標(biāo)準(zhǔn),支持SSL也成為瀏覽器的內(nèi) 置功能。
安全超文本傳輸協(xié)議(HTTPS, Secure Hypertext Transfer Protocol)是 基于SSL的一種應(yīng)用協(xié)議,它基于超文本傳輸協(xié)議(HTTP, Hypertext Transfer Protocol)開(kāi)發(fā),用于在客戶端和服務(wù)器之間交換信息,是HTTP的安全版。
現(xiàn)有技術(shù)中,基于HTTPS為用戶提供的TCP服務(wù)的過(guò)程如圖l所示, 主要包括遠(yuǎn)程主機(jī)在登錄時(shí)建立與SSL VPN之間的SSL會(huì)話連接1。 TCP 客戶端在遠(yuǎn)程主機(jī)上下載一個(gè)SSL虛擬局域網(wǎng)(VPN)客戶端代理,通過(guò)該 SSL VPN客戶端代理登錄SSL VPN網(wǎng)關(guān),該SSL VPN客戶端代理監(jiān)聽(tīng)遠(yuǎn)程 主機(jī)本地的TCP端口 ,便可以在該SSL VPN客戶端代理上獲取配置在SSL VPN網(wǎng)關(guān)上的TCP服務(wù)信息。當(dāng)用戶需要獲取TCP服務(wù)時(shí),TCP客戶端與 SSL VPN客戶端代理建立TCP連接,SSL VPN客戶端代理與SSL VPN網(wǎng)關(guān) 之間建立SSL會(huì)話連接2,并將與TCP客戶端之間的TCP連接信息發(fā)送給SSL VPN網(wǎng)關(guān)。SSL VPN網(wǎng)關(guān)將該TCP連接與SSL會(huì)話連接2綁定,與對(duì) 應(yīng)的TCP服務(wù)器建立TCP連接后,將與TCP服務(wù)器建立的TCP連接也與 該SSL會(huì)話連接2進(jìn)行綁定,從而實(shí)現(xiàn)TCP客戶端與TCP服務(wù)器之間的通信。
但是,在現(xiàn)有技術(shù)的上述過(guò)程中,如果用戶同時(shí)使用多個(gè)TCP服務(wù), 或者對(duì)同一個(gè)TCP服務(wù)使用多次,則SSL VPN客戶端代理需要與SSL VPN 網(wǎng)關(guān)建立多個(gè)SSL會(huì)話連接,造成資源浪費(fèi)嚴(yán)重。如圖2所示,當(dāng)用戶需 要同時(shí)使用兩個(gè)TCP服務(wù)時(shí),TCP客戶端與SSL VPN客戶端代理建立TCP 連接1和TCP連接2,為了區(qū)分同一 SSL VPN客戶端代理請(qǐng)求的不同TCP 服務(wù),則在SSL VPN客戶端代理與SSL VPN網(wǎng)關(guān)之間分別建立針對(duì)TCP 連接1的SSL會(huì)話連接2和針對(duì)TCP連接2的SSL會(huì)話連接3,建立并維 護(hù)TCP連接1與SSL會(huì)話連接2之間的綁定關(guān)系,以及TCP連接2的SSL 會(huì)話連接3的綁定關(guān)系。SSLVPN網(wǎng)關(guān)與TCP月i務(wù)器1建立TCP連接3后, 建立并維護(hù)TCP連接1 、 SSL會(huì)話連接2與TCP連接3之間的綁定關(guān)系; 與TCP服務(wù)器2建立TCP連接4后,建立并維護(hù)TCP連接2、 SSL會(huì)話連 接3與TCP連接4之間的綁定關(guān)系。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種提供TCP服務(wù)的方法、系統(tǒng)、SSL VPN 客戶端代理和SSL VPN網(wǎng)關(guān),以便于減小用戶同時(shí)使用多個(gè)TCP服務(wù)或同 一個(gè)TCP服務(wù)使用多次時(shí)造成的資源浪費(fèi)問(wèn)題。
一種提供TCP服務(wù)的方法,該方法包括
A、 SSL VPN客戶端代理通過(guò)第一 TCP連接接收到TCP服務(wù)請(qǐng)求后,通過(guò) 該SSLVPN客戶端代理與SSLVPN網(wǎng)關(guān)之間唯一的SSL會(huì)話連接將包含第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息的HTTPS報(bào)文發(fā)送給SSLVPN網(wǎng)關(guān);
B、 所述SSL VPN網(wǎng)關(guān)將包含所述第一 TCP連接信息和請(qǐng)求的TCP服務(wù) 信息的表項(xiàng)存儲(chǔ)在針對(duì)所述SSL會(huì)話的TCP服務(wù)信息表中,并在與提供請(qǐng)求的
8TCP服務(wù)的TCP服務(wù)器建立第二 TCP連接后,根據(jù)該TCP服務(wù)信息表進(jìn)行所
一種SSL VPN客戶端代理,該SSL VPN客戶端代理包括
TCP連接處理單元,用于通過(guò)第一 TCP連接接收TCP服務(wù)請(qǐng)求后,將第 一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息提供給SSL連接處理單元;
SSL連接處理單元,用于通過(guò)該SSL VPN客戶端代理與SSL VPN網(wǎng)關(guān) 之間唯一的SSL會(huì)話連接將包含所述第一TCP連接信息和請(qǐng)求的TCP服務(wù) 信息的HTTPS報(bào)文發(fā)送給SSL VPN網(wǎng)關(guān)。
一種SSLVPN網(wǎng)關(guān),該SSLVPN網(wǎng)關(guān)包括
SSL連接處理單元,用于通過(guò)該SSL VPN網(wǎng)關(guān)與SSL VPN客戶端代理之 間唯一的SSL會(huì)話連接接收到所述SSL VPN客戶端代理發(fā)送的HTTPS報(bào)文后, 獲取該HTTPS報(bào)文中包含的第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息,并提 供給信息表處理單元;根據(jù)TCP服務(wù)信息表進(jìn)行所述SSL VPN客戶端代理與 所述TCP服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā);
信息表處理單元,用于將包含所述第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信 息的表項(xiàng)存儲(chǔ)在針對(duì)所述SSL會(huì)話的TCP服務(wù)信息表中,并向TCP連接處理 單元發(fā)送建立通知;
TCP連接處理單元,用于接收到建立通知后與提供請(qǐng)求的TCP服務(wù)的TCP 服務(wù)器建立第二 TCP連接,根據(jù)TCP服務(wù)信息表進(jìn)行所述SSL VPN客戶端代 理與所述TCP服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)。
由以上技術(shù)方案可以看出,本發(fā)明提供的方法、系統(tǒng)和相關(guān)裝置中,SSL VPN客戶端代理與SSL VPN網(wǎng)關(guān)之間僅建立一條SSL會(huì)話連接,SSL VPN 客戶端代理通過(guò)第一TCP連接接收到TCP服務(wù)請(qǐng)求后,將第一TCP連接信 息和請(qǐng)求的TCP服務(wù)信息攜帶在HTTPS報(bào)文中都通過(guò)該唯一的SSL會(huì)話連 接發(fā)送給SSL VPN網(wǎng)關(guān);為了區(qū)分各TCP連接請(qǐng)求的TCP服務(wù),SSL VPN 網(wǎng)關(guān)在針對(duì)該SSL會(huì)話連接建立的TCP服務(wù)信息表中存儲(chǔ)包含第一 TCP連 接信息和請(qǐng)求的TCP服務(wù)信息的表項(xiàng),以便根據(jù)TCP服務(wù)信息表進(jìn)行所述
9SSL VPN客戶端代理與所述TCP服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)??梢钥闯?,本發(fā) 明在用戶同時(shí)使用多個(gè)TCP服務(wù)或者一個(gè)TCP服務(wù)使用多次時(shí),只需要在 SSL VPN客戶端代理和SSL VPN網(wǎng)關(guān)間建立和維護(hù)一條SSL會(huì)話連接,節(jié) 省了占用的網(wǎng)絡(luò)資源;另外,也避免了 SSL VPN客戶端代理和SSL VPN網(wǎng) 關(guān)間多次SSL會(huì)話交互過(guò)程,提高了 SSL VPN客戶端代理和SSL VPN網(wǎng)關(guān) 的性能。
圖1為現(xiàn)有技術(shù)中的提供TCP服務(wù)的示意圖2為現(xiàn)有技術(shù)中同時(shí)提供兩個(gè)TCP服務(wù)的示意圖3為本發(fā)明實(shí)施例提供的方法流程圖4為本發(fā)明中同時(shí)提供兩個(gè)TCP服務(wù)的示意圖5為本發(fā)明實(shí)施例提供的SSL VPN客戶端代理的結(jié)構(gòu)圖6為本發(fā)明實(shí)施例提供的SSL VPN網(wǎng)關(guān)結(jié)構(gòu)圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體 實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
本發(fā)明所提供的方法主要包括SSL VPN客戶端代理通過(guò)第一 TCP連 接接收到TCP服務(wù)請(qǐng)求后,通過(guò)SSL VPN客戶端代理與SSL VPN網(wǎng)關(guān)之 間唯一的SSL會(huì)話連接將包含第一TCP連接信息和請(qǐng)求的TCP服務(wù)信息的 HTTPS報(bào)文發(fā)送給SSL VPN網(wǎng)關(guān);SSL VPN網(wǎng)關(guān)將包含第一 TCP連接信 息和請(qǐng)求的TCP服務(wù)信息的表項(xiàng)存儲(chǔ)在針對(duì)該SSL會(huì)話的TCP服務(wù)信息表 中,并在與提供請(qǐng)求的TCP服務(wù)的TCP服務(wù)器建立第二TCP連接后,根據(jù) 該TCP服務(wù)信息表進(jìn)行SSL VPN客戶端與TCP服務(wù)器之間的報(bào)文傳遞。
下面列舉具體實(shí)施例對(duì)上述方法進(jìn)行詳細(xì)描述。圖3為本發(fā)明實(shí)施例提 供的詳細(xì)方法流程圖,如圖3所示,該方法可以包括以下步驟步驟301:遠(yuǎn)程主機(jī)在登錄SSL VPN網(wǎng)關(guān)時(shí)建立遠(yuǎn)程主機(jī)與SSL VPN 網(wǎng)關(guān)之間的SSL會(huì)話連接1;用戶通過(guò)在遠(yuǎn)程主機(jī)下栽的SSL VPN客戶端 代理登錄SSL VPN網(wǎng)關(guān),監(jiān)聽(tīng)本地遠(yuǎn)程主機(jī)上的TCP端口 ,從而獲取配置 在SSL VPN網(wǎng)關(guān)上的TCP服務(wù)信息。
網(wǎng)絡(luò)管理員在SSL VPN網(wǎng)關(guān)上會(huì)配置允許用戶使用的TCP服務(wù),在用 戶通過(guò)SSL VPN客戶端代理登錄SSL VPN網(wǎng)關(guān)后,SSL VPN客戶端代理便 可以獲取TCP服務(wù)信息,用戶登錄后就可以在SSL VPN客戶端代理上看到 這些TCP服務(wù)信息。
步驟302:用戶要使用TCP服務(wù)時(shí),TCP客戶端與SSL VPN客戶端代 理建立TCP連接1 ,并通過(guò)該TCP連接1發(fā)送TCP服務(wù)請(qǐng)求給SSL VPN客 戶端代理。
當(dāng)用戶要使用某個(gè)TCP服務(wù)時(shí),就點(diǎn)擊該TCP服務(wù),觸發(fā)TCP客戶端 與SSL VPN客戶端代理建立TCP連接,并通過(guò)該TCP連接向SSL VPN客 戶端代理發(fā)送TCP服務(wù)請(qǐng)求,該TCP服務(wù)請(qǐng)求中包含請(qǐng)求的TCP服務(wù)信息。 如果用戶請(qǐng)求一個(gè)TCP服務(wù),則建立一個(gè)TCP客戶端與SSL VPN客戶端代 理之間的TCP連接,如果請(qǐng)求多個(gè)TCP服務(wù),則建立對(duì)多個(gè)TCP服務(wù)分別 建立TCP連接,即多個(gè)TCP連接。
以上步驟301和步驟302與現(xiàn)有4支術(shù)中的流程相同,并不是本發(fā)明的重 點(diǎn),在此不再贅述。
步驟303: SSL VPN客戶端代理通過(guò)TCP連接1接收到TCP服務(wù)請(qǐng)求 后,判斷SSL VPN客戶端代理是否已經(jīng)與SSL VPN網(wǎng)關(guān)之間建立SSL會(huì)話 連接2,如果是,執(zhí)行步驟305;否則執(zhí)行步驟304。
步驟304:建立SSL VPN客戶端代理與SSL VPN網(wǎng)關(guān)之間的SSL會(huì)話 連接2。
步驟305:通過(guò)SSL會(huì)話連接2向SSL VPN網(wǎng)關(guān)發(fā)送HTTPS報(bào)文,其 中該HTTPS報(bào)文中包含TCP連接1所使用的遠(yuǎn)程主機(jī)端口信息和請(qǐng)求的 TCP服務(wù)的統(tǒng) 一 資源標(biāo)識(shí)(URL )信息。本發(fā)明中在SSL VPN客戶端代理和SSL VPN網(wǎng)關(guān)之間僅建立唯——條 SSL會(huì)話連接,所有TCP服務(wù)的HTTPS報(bào)文都通過(guò)該SSL會(huì)話連接進(jìn)行發(fā)送。
在該HTTPS報(bào)文中包含TCP連接1的信息和請(qǐng)求的TCP服務(wù)信息, 在該實(shí)施例中,TCP連接1的信息以TCP連接1所使用的遠(yuǎn)程主機(jī)端口信 息為例,其實(shí)也就是SSL VPN客戶端代理建立TCP連接1時(shí)使用的遠(yuǎn)程主 機(jī)端口信息,除此之外還可以是其它能夠標(biāo)識(shí)TCP連接1的信息等;請(qǐng)求 的TCP服務(wù)信息以請(qǐng)求的TCP服務(wù)的URL為例,還可以是TCP服務(wù)地址 信息等。
可以在HTTPS報(bào)文中增加一個(gè)應(yīng)用控制字段,用于指示該HTTPS報(bào)文 中是否攜帶TCP連接1所使用的遠(yuǎn)程主機(jī)端口信息和請(qǐng)求的TCP服務(wù)的 URL。例如當(dāng)該應(yīng)用控制字段為1時(shí)指示攜帶TCP連接1所使用的遠(yuǎn)程主 機(jī)端口信息和請(qǐng)求的TCP服務(wù)的URL,當(dāng)該應(yīng)用控制字段為0時(shí)指示不攜 帶TCP連接1所使用的遠(yuǎn)程主機(jī)端口信息和請(qǐng)求的TCP服務(wù)的URL。另外, 可以在HTTPS報(bào)文中增加應(yīng)用標(biāo)識(shí)字段,其中包含兩部分, 一部分為TCP 連接信息字段,用于攜帶諸如源端口信息的TCP連接信息,另一部分為TCP 服務(wù)信息字段,用于攜帶諸如URL的TCP服務(wù)信息。上述應(yīng)用控制字段和 應(yīng)用標(biāo)識(shí)字段可以使用HTTPS報(bào)文頭的預(yù)留字段進(jìn)行設(shè)置,也可以設(shè)置在 HTTPS報(bào)文頭和數(shù)據(jù)段之間的部分。上述TCP連接的信息和請(qǐng)求的TCP服 務(wù)信息可以與數(shù)據(jù) 一起被加密封裝。
步驟306: SSL VPN網(wǎng)關(guān)判斷是否已經(jīng)針對(duì)SSL會(huì)話連接2建立TCP 服務(wù)信息表,如果是,則執(zhí)行步驟308;否則,執(zhí)行步驟307。
步驟307:針對(duì)SSL會(huì)話連接2建立TCP服務(wù)信息表,執(zhí)行步驟309。
本發(fā)明中由于SSL VPN網(wǎng)關(guān)與SSL VPN客戶端f^理之間僅建立一條 SSL會(huì)話連接,所有請(qǐng)求TCP服務(wù)的HTTPS報(bào)文都通過(guò)這一條SSL會(huì)話連 接進(jìn)行傳輸,為了區(qū)分不同的TCP服務(wù),針對(duì)該SSL會(huì)話連接建立TCP服 務(wù)信息表,該TCP服務(wù)信息表中的各表項(xiàng)包含TCP連接1的信息和請(qǐng)求的TCP服務(wù)的信息,即本實(shí)施例中的TCP連接1所使用的遠(yuǎn)程主機(jī)端口信息 和請(qǐng)求的TCP服務(wù)的URL。
當(dāng)多個(gè)SSL VPN客戶端代理通過(guò)同一 SSL VPN網(wǎng)關(guān)請(qǐng)求TCP服務(wù)時(shí), 不同的SSL VPN客戶端代理分別與SSL VPN網(wǎng)關(guān)之間建立SSL會(huì)話連接, 并分別建立TCP服務(wù)信息表。
步驟308:判斷已經(jīng)建立的TCP服務(wù)信息表中是否已經(jīng)存在包含TCP 連接1所使用的遠(yuǎn)程主機(jī)端口信息和請(qǐng)求的TCP服務(wù)的URL的表項(xiàng),如果 否,執(zhí)行步驟309,如果是,則執(zhí)行步驟313。
步驟309:在針對(duì)SSL會(huì)話連接2的TCP服務(wù)信息表中建立包含TCP 連接1所使用的遠(yuǎn)程主機(jī)端口信息和請(qǐng)求的TCP服務(wù)的URL的表項(xiàng),并根 據(jù)請(qǐng)求的TCP服務(wù)的URL與對(duì)應(yīng)的TCP服務(wù)器建立TCP連接2,將該TCP 連接2與該表項(xiàng)進(jìn)行映射。
如果TCP服務(wù)信息表中尚未存在包含TCP連接1所使用的遠(yuǎn)程主機(jī)端 口信息和請(qǐng)求的TCP服務(wù)的URL的表項(xiàng),則說(shuō)明首次接收到通過(guò)該TCP 連接1請(qǐng)求該TCP服務(wù)的HTTPS報(bào)文,因此需要建立相應(yīng)表項(xiàng),并建立與 對(duì)應(yīng)TCP服務(wù)器之間的TCP連接,然后將該TCP連接與該表項(xiàng)進(jìn)行映射以 方便后續(xù)SSL VPN客戶端代理與TCP服務(wù)器之間的數(shù)據(jù)傳輸。
需要說(shuō)明的是由于TCP服務(wù)器為內(nèi)網(wǎng)TCP服務(wù)器,SSLVPN網(wǎng)關(guān)通 常是不會(huì)將內(nèi)網(wǎng)TCP服務(wù)器的URL信息告之給遠(yuǎn)程的用戶的,而是使用本 地地址加上端口號(hào)作為URL信息提供給遠(yuǎn)程用戶的,為了區(qū)分,將TCP月良 務(wù)器的URL稱為內(nèi)網(wǎng)URL,將SSL VPN網(wǎng)關(guān)提供給遠(yuǎn)程用戶的URL稱為 外網(wǎng)URL。例如,內(nèi)網(wǎng)URL為192.168.1.1: 23,外網(wǎng)URL可以為127.0.0.6.23。 SSL VPN網(wǎng)關(guān)本身具有內(nèi)網(wǎng)URL和外網(wǎng)URL之間的對(duì)應(yīng)關(guān)系,也具有進(jìn)行 轉(zhuǎn)換的能力,該內(nèi)網(wǎng)URL和外網(wǎng)URL轉(zhuǎn)換的內(nèi)容為現(xiàn)有技術(shù),在此也不再 贅述。
步驟310: SSL VPN網(wǎng)關(guān)將接收到的HTTPS報(bào)文進(jìn)行協(xié)議轉(zhuǎn)換后通過(guò) TCP連接2發(fā)送給TCP服務(wù)器。由于SSL VPN客戶端代理與SSLVPN網(wǎng)關(guān)之間采用SSL會(huì)話連接,而 SSLVPN網(wǎng)關(guān)與TCP服務(wù)器之間采用TCP連接,對(duì)應(yīng)的協(xié)議報(bào)文也是不同 的,因此,需要將接收到的HTTPS報(bào)文進(jìn)行協(xié)議轉(zhuǎn)換,轉(zhuǎn)換為HTTP報(bào)文 進(jìn)行傳輸,其實(shí)也就是剝離HTTPS報(bào)文頭的操作。
步驟311: SSL VPN網(wǎng)關(guān)通過(guò)TCP連接2接收到來(lái)自TCP服務(wù)器的數(shù) 據(jù)后,進(jìn)行協(xié)議轉(zhuǎn)換,確定TCP連接2映射的表項(xiàng),將該表項(xiàng)中的遠(yuǎn)程主 機(jī)端口信息和URL攜帶在HTTPS報(bào)文中通過(guò)SSL會(huì)話連接2發(fā)送給SSL VPN客戶端代理。
當(dāng)接收到來(lái)自TCP服務(wù)器的數(shù)據(jù)后,同樣需要進(jìn)行協(xié)議轉(zhuǎn)換,加上 HTTPS報(bào)文后,另外,需要確定TCP連接2映射的表項(xiàng),將該表項(xiàng)中的內(nèi) 容攜帶在HTTPS報(bào)文中以供SSL VPN客戶端代理進(jìn)行轉(zhuǎn)發(fā)處理。這里也可 以采用應(yīng)用控制字段和應(yīng)用標(biāo)識(shí)字段的表示方式,將應(yīng)用控制字段設(shè)置為1 , 將應(yīng)用標(biāo)識(shí)字段中的TCP連接信息字段攜帶諸如源端口信息,TCP服務(wù)信 息字段攜帶URL信息。應(yīng)用控制字段和應(yīng)用標(biāo)識(shí)字段同樣可以設(shè)置在 HTTPS報(bào)文頭的預(yù)留字段中,也可以設(shè)置在HTTPS報(bào)文頭和數(shù)據(jù)段之間。
步驟312: SSL VPN客戶端代理接收到HTTPS報(bào)文后,根據(jù)其中攜帶 的遠(yuǎn)程主機(jī)的端口信息,通過(guò)該遠(yuǎn)程主機(jī)的端口對(duì)應(yīng)的TCP連接1將HTTPS 報(bào)文中的數(shù)據(jù)發(fā)送給TCP客戶端,結(jié)束流程。
SSL VPN客戶端代理接收到HTTPS報(bào)文后可以直接根據(jù)HTTPS報(bào)文 中攜帶的遠(yuǎn)程主機(jī)的端口信息來(lái)區(qū)分采用哪一個(gè)TCP連接來(lái)發(fā)送HTTPS報(bào) 文中的數(shù)據(jù)。
事實(shí)上,SSL VPN網(wǎng)關(guān)發(fā)送給SSL VPN客戶端代理的HTTPS報(bào)文中 也可以不攜帶URL信息,但為了保持HTTPS報(bào)文格式一定,本實(shí)施例中攜 帶該URL信息。
步驟313: SSL VPN網(wǎng)關(guān)確定該表項(xiàng)所映射的TCP連接2,并將HTTPS 報(bào)文進(jìn)行協(xié)議轉(zhuǎn)換后通過(guò)該確定的TCP連接2發(fā)送給TCP服務(wù)器,結(jié)束流 程(圖中所示為結(jié)束流程),或者轉(zhuǎn)至步驟311。
14在該實(shí)施例中,SSL VPN網(wǎng)關(guān)可以為TCP服務(wù)信息表中的各表項(xiàng)設(shè)置 一個(gè)定時(shí)器,當(dāng)沒(méi)有該表項(xiàng)對(duì)應(yīng)的HTTPS報(bào)文傳輸或者該表項(xiàng)映射的TCP 連接超時(shí),啟動(dòng)該表項(xiàng)的定時(shí)器,該表項(xiàng)的定時(shí)器超時(shí)后刪除該表項(xiàng)。當(dāng) SSL會(huì)話連接2被拆除時(shí),刪除針對(duì)該SSL會(huì)話連接2的TCP服務(wù)信息表。
按照上述方法假設(shè)用戶需要同時(shí)使用兩個(gè)TCP服務(wù)時(shí),如圖4所示, 會(huì)話連接1同樣是SSL VPN客戶端代理登錄SSL VPN網(wǎng)關(guān)時(shí)建立的,TCP 客戶端與SSL VPN客戶端代理建立TCP連接1和TCP連接2, SSL VPN 客戶端代理與SSL VPN網(wǎng)關(guān)之間建立SSL會(huì)話連接2,針對(duì)TCP連接1和 TCP連接2接收到的TCP服務(wù)請(qǐng)求,都通過(guò)該SSL會(huì)話連接2發(fā)送HTTPS 報(bào)文,針對(duì)TCP連接1的HTTPS報(bào)文中可以攜帶TCP連接1使用的遠(yuǎn)程主 機(jī)端口號(hào)i和請(qǐng)求的TCP服務(wù)的URL1,針對(duì)TCP連接2的HTTPS報(bào)文中 可以攜帶TCP連接2使用的遠(yuǎn)程主機(jī)端口號(hào)2和請(qǐng)求的TCP服務(wù)的URL2。
SSL VPN網(wǎng)關(guān)針對(duì)該SSL會(huì)話連接2建立TCP服務(wù)信息表,在該TCP 服務(wù)信息表中存儲(chǔ)包含遠(yuǎn)程主機(jī)端口號(hào)1和URL1的表項(xiàng)1以及包含遠(yuǎn)程主 機(jī)端口號(hào)2和URL2的表項(xiàng)2。 SSL VPN網(wǎng)關(guān)針對(duì)URL1與TCP服務(wù)器1 建立TCP連接3后,將TCP連接3與表項(xiàng)1進(jìn)行映射,針對(duì)URL2與TCP 服務(wù)器2建立TCP連接4后,將TCP連接4與表項(xiàng)2進(jìn)行映射。
SSL VPN網(wǎng)關(guān)通過(guò)TCP連接3接收到TCP服務(wù)器l發(fā)送的報(bào)文后,確 定該TCP連接3映射的表項(xiàng)1,將報(bào)文轉(zhuǎn)換為HTTPS報(bào)文并攜帶表項(xiàng)1中 的內(nèi)容通過(guò)SSL會(huì)話連接2發(fā)送給SSL VPN客戶端代理。
SSL VPN客戶端代理接收到HTTPS報(bào)文后,根據(jù)其中攜帶的遠(yuǎn)程主機(jī) 端口號(hào)1可以確定需要通過(guò)TCP連接1將HTTPS報(bào)文中的數(shù)據(jù)發(fā)送給TCP 客戶端。
可見(jiàn)在這種情況下,SSLVPN網(wǎng)關(guān)與SSL VPN客戶端代理之間僅需要 建立和維護(hù)一條SSL會(huì)話連接,節(jié)約網(wǎng)絡(luò)資源,在用戶同時(shí)請(qǐng)求大量TCP 服務(wù)時(shí)效果更加突出。
以上是對(duì)本發(fā)明所提供的方法進(jìn)行的詳細(xì)描述,下面對(duì)本發(fā)明所提供的系統(tǒng)和相關(guān)裝置進(jìn)行詳細(xì)描述。
本發(fā)明提供的系統(tǒng)主要包括SSL VPN客戶端代理和SSL VPN網(wǎng)關(guān)。 SSL VPN客戶端代理,用于通過(guò)第一 TCP連接接收到TCP服務(wù)請(qǐng)求后, 通過(guò)該SSL VPN客戶端代理與SSL VPN網(wǎng)關(guān)之間唯一的SSL會(huì)話連接將包 含第一TCP連接信息和請(qǐng)求的TCP服務(wù)信息的HTTPS報(bào)文發(fā)送給SSL VPN網(wǎng)關(guān)。
SSL VPN網(wǎng)關(guān),用于將包含第一TCP連接信息和請(qǐng)求的TCP服務(wù)信息
服務(wù)的TCP服務(wù)器建立第二 TCP連接后,根據(jù)該TCP服務(wù)信息表進(jìn)行SSL VPN客戶端代理與TCP服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)。
其中,上述的第一 TCP連接信息可以為第一 TCP連接使用的遠(yuǎn)程主機(jī) 端口信息;上述請(qǐng)求的TCP服務(wù)信息可以為請(qǐng)求的TCP服務(wù)的URL信息。
圖5為本發(fā)明實(shí)施例提供的SSL VPN客戶端代理的結(jié)構(gòu)圖,如圖5所示,該 SSL VPN客戶端代理可以包括TCP連接處理單元500和SSL連接處理單元 510。
TCP連接處理單元500,用于通過(guò)第一 TCP連接接收TCP服務(wù)請(qǐng)求后,將 第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息提供給SSL連接處理單元510。
SSL連接處理單元510,用于通過(guò)該SSL VPN客戶端代理與SSL VPN網(wǎng)關(guān) 之間唯一的SSL會(huì)話連接將包含第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息的 HTTPS才艮文發(fā)送給SSL VPN網(wǎng)關(guān)。
其中,SSL連接處理單元510可以具體包括連接判斷單元511、 SSL連接 建立單元512和HTTPS 4艮文收發(fā)單元513。
連接判斷單元511,用于接收到TCP連接處理單元提供的第一 TCP連接信 息和請(qǐng)求的TCP服務(wù)信息后,判斷該SSL VPN客戶端代理是否已經(jīng)與SSL VPN 網(wǎng)關(guān)之間建立SSL會(huì)話連接,如果是,則向HTTPS報(bào)文收發(fā)單元513發(fā)送執(zhí) 行通知,否則,向SSL連4妾建立單元512發(fā)送建立通知。SSL連接建立單元512,用于接收到建立通知后,建立該SSLVPN客戶端 代理與SSL VPN網(wǎng)關(guān)之間的SSL會(huì)話連接,并向HTTPS報(bào)文收發(fā)單元513發(fā) 送凈丸4亍通^口 。
HTTPS報(bào)文收發(fā)單元513 ,用于接收到執(zhí)行通知后,通過(guò)該SSL VPN客戶 端代理與SSL VPN網(wǎng)關(guān)之間的SSL會(huì)話連接,將包含第一 TCP連接信息和請(qǐng) 求的TCP服務(wù)信息的HTTPS報(bào)文發(fā)送給SSL VPN網(wǎng)關(guān)。
更進(jìn)一步地,對(duì)于來(lái)自SSL VPN網(wǎng)關(guān)的HTTPS報(bào)文,HTTPS報(bào)文收發(fā)單 元513,還可以用于通過(guò)SSL會(huì)話連接接收到HTTPS報(bào)文后,將該HTTPS報(bào) 文中攜帶的第一 TCP連接信息和HTTPS報(bào)文中的數(shù)據(jù)提供給TCP連接處理單 元500。
TCP連接處理單元500,還用于根據(jù)接收到的第一 TCP連接信息,將HTTPS 報(bào)文中的數(shù)據(jù)通過(guò)第一 TCP連接發(fā)送給TCP客戶端。
圖6為本發(fā)明實(shí)施例提供的SSL VPN網(wǎng)關(guān)結(jié)構(gòu)圖,如圖6所示,該SSL VPN 網(wǎng)關(guān)可以包括SSL連接處理單元600、信息表處理單元610和TCP連接處理 單元620。
SSL連接處理單元600,用于通過(guò)該SSL VPN網(wǎng)關(guān)與SSL VPN客戶端代理 之間唯一的SSL會(huì)話連接接收到SSLVPN客戶端代理發(fā)送的HTTPS報(bào)文后, 獲取該HTTPS報(bào)文中包含的第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息,并提 供給信息表處理單元610;根據(jù)TCP服務(wù)信息表進(jìn)行SSL VPN客戶端代理與 TCP服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)。
信息表處理單元610,用于將包含第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信 息的表項(xiàng)存儲(chǔ)在針對(duì)SSL會(huì)話的TCP服務(wù)信息表中,并向TCP連接處理單元 發(fā)送建立通知。
TCP連接處理單元620,用于接收到建立通知后與提供請(qǐng)求的TCP服務(wù)的 TCP服務(wù)器建立第二 TCP連接,根據(jù)TCP服務(wù)信息表進(jìn)行SSL VPN客戶端代 理與TCP服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)。
其中,SSL連接處理單元600可以具體包括HTTPS才艮文處理單元601和
17表項(xiàng)判斷單元602。
HTTPS報(bào)文處理單元601 ,用于通過(guò)該SSL VPN網(wǎng)關(guān)與SSL VPN客戶端 代理之間唯一的SSL會(huì)話連接接收到SSL VPN客戶端代理發(fā)送的HTTPS報(bào)文 后,該HTTPS報(bào)文中包含的第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息提供給 表項(xiàng)判斷單元602。
表項(xiàng)判斷單元602,用于判斷信息表處理單元610是否已經(jīng)針對(duì)SSL會(huì)話 連接建立TCP服務(wù)信息表,如果否,則向信息表處理單元610發(fā)送建立通知并 將第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息提供給信息表處理單元610;如果 是,則判斷TCP服務(wù)信息表中是否已經(jīng)存在包含第一 TCP連接信息和請(qǐng)求的 TCP服務(wù)信息的表項(xiàng),如果否,則將第一TCP連接信息和請(qǐng)求的TCP服務(wù)信 息提供給信息表處理單元610。
信息表處理單元610,還用于接收到建立通知后,針對(duì)SSL會(huì)話連接建立 TCP月良務(wù)4言息表。
另外,信息表處理單元610還可以用于在TCP連接處理單元620建立第二 TCP連接之后,將第二 TCP連接與表項(xiàng)進(jìn)4亍映射。
TCP連接處理單元620通過(guò)第二 TCP連接接收到TCP服務(wù)器發(fā)送的報(bào)文 后,確定該第二TCP連接所映射的表項(xiàng),并將映射的表項(xiàng)和接收到的報(bào)文提供 給HTTPS報(bào)文處理單元601;或者,按照HTTPS報(bào)文處理單元601提供的第 二 TCP連接信息,通過(guò)第二 TCP連接將HTTPS報(bào)文處理單元601提供的報(bào)文 發(fā)送給TCP服務(wù)器。
HTTPS報(bào)文處理單元601將TCP連接處理單元620提供的報(bào)文轉(zhuǎn)換為 HTTPS報(bào)文,將表項(xiàng)中的內(nèi)容攜帶在轉(zhuǎn)換后的HTTPS報(bào)文中通過(guò)SSL會(huì)話連 接進(jìn)行發(fā)送;或者,通過(guò)SSL會(huì)話連接接收到包含第一TCP連接信息和請(qǐng)求的 TCP服務(wù)信息的HTTPS報(bào)文后,如果表項(xiàng)判斷單元602確定針對(duì)該SSL會(huì)話 連接建立的TCP服務(wù)信息表中已經(jīng)存在包含第一 TCP連接信息和請(qǐng)求的TCP 服務(wù)信息的表項(xiàng),則將該HTTPS報(bào)文進(jìn)行協(xié)議轉(zhuǎn)換后連同表項(xiàng)所映射的第二 TCP連接信息提供給TCP連接處理單元620。更進(jìn)一步地,信息表處理單元610還可以用于當(dāng)表項(xiàng)對(duì)應(yīng)的HTTPS報(bào)文傳 輸停止或者表項(xiàng)映射的第二TCP連接超時(shí),啟動(dòng)表項(xiàng)對(duì)應(yīng)的定時(shí)器,當(dāng)該定時(shí) 器超時(shí)后,刪除表項(xiàng);當(dāng)SSL會(huì)話連接被拆除時(shí),,刪除針對(duì)SSL會(huì)話連接建立 的TCP服務(wù)信息表。
由以上描述可以看出,本發(fā)明提供的方法、系統(tǒng)和相關(guān)裝置中,SSL VPN 客戶端代理與SSL VPN網(wǎng)關(guān)之間僅建立一條SSL會(huì)話連接,SSLVPN客戶 端代理通過(guò)第一TCP連接接收到TCP服務(wù)請(qǐng)求后,將第一TCP連接信息和 請(qǐng)求的TCP服務(wù)信息攜帶在HTTPS報(bào)文中都通過(guò)該唯一的SSL會(huì)話連接發(fā) 送給SSL VPN網(wǎng)關(guān);為了區(qū)分各TCP連接請(qǐng)求的TCP服務(wù),SSL VPN網(wǎng) 關(guān)在針對(duì)該SSL會(huì)話連接建立的TCP服務(wù)信息表中存儲(chǔ)包含第一TCP連接 信息和請(qǐng)求的TCP服務(wù)信息的表項(xiàng),以便根據(jù)TCP服務(wù)信息表進(jìn)行所述SSL VPN客戶端代理與所述TCP服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)??梢钥闯觯景l(fā)明在 用戶同時(shí)使用多個(gè)TCP服務(wù)或者一個(gè)TCP服務(wù)使用多次時(shí),也只需要在SSL VPN客戶端代理和SSL VPN網(wǎng)關(guān)間建立和維護(hù)一條SSL會(huì)話連接,節(jié)省了 占用的網(wǎng)絡(luò)資源;另外,也避免了 SSL VPN客戶端代理和SSL VPN網(wǎng)關(guān)間 多次SSL會(huì)話交互過(guò)程,提高了 SSL VPN客戶端代理和SSL VPN網(wǎng)關(guān)的性S匕。
以上所述僅為本發(fā)明的較佳實(shí)施例而巳,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在 本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1、一種提供傳輸控制協(xié)議TCP服務(wù)的方法,其特征在于,該方法包括A、安全套接層虛擬專用網(wǎng)SSL VPN客戶端代理通過(guò)第一TCP連接接收到TCP服務(wù)請(qǐng)求后,通過(guò)該SSL VPN客戶端代理與SSL VPN網(wǎng)關(guān)之間唯一的SSL會(huì)話連接將包含第一TCP連接信息和請(qǐng)求的TCP服務(wù)信息的安全超文本傳輸協(xié)議HTTPS報(bào)文發(fā)送給SSL VPN網(wǎng)關(guān);B、所述SSL VPN網(wǎng)關(guān)將包含所述第一TCP連接信息和請(qǐng)求的TCP服務(wù)信息的表項(xiàng)存儲(chǔ)在針對(duì)所述SSL會(huì)話的TCP服務(wù)信息表中,并在與提供請(qǐng)求的TCP服務(wù)的TCP服務(wù)器建立第二TCP連接后,根據(jù)該TCP服務(wù)信息表進(jìn)行所述SSL VPN客戶端代理與所述TCP服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A具體包括Al 、 SSL VPN客戶端代理通過(guò)第一 TCP連接接收到TCP服務(wù)請(qǐng)求后,判 斷是否已經(jīng)與所述SSL VPN網(wǎng)關(guān)之間建立SSL會(huì)話連接,如果是,則執(zhí)行步 驟A3,否則^l行步驟A2;A2、所述SSLVPN客戶端代理建立與所述SSLVPN網(wǎng)關(guān)之間的SSL會(huì)話 連接;A3、通過(guò)與所述SSLVPN網(wǎng)關(guān)之間建立的SSL會(huì)話連接,將包含第一TCP 連接信息和請(qǐng)求的TCP服務(wù)信息的HTTPS報(bào)文發(fā)送給所述SSL VPN網(wǎng)關(guān)。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一TCP連接信息為 所述第一 TCP連接使用的遠(yuǎn)程主機(jī)端口信息;所述請(qǐng)求的TCP服務(wù)信息為請(qǐng) 求的TCP服務(wù)的統(tǒng)一資源標(biāo)識(shí)URL信息。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟A和步驟B之 間還包括務(wù)信息表,如果是,執(zhí)行步驟C3,否則,執(zhí)行步驟C2;C2、針對(duì)所述SSL會(huì)話連接建立TCP服務(wù)信息表,執(zhí)行所述步驟B;C3、判斷已經(jīng)建立的TCP服務(wù)信息表中是否已經(jīng)存在包含所述第一 TCP 連接信息和請(qǐng)求的TCP服務(wù)信息的表項(xiàng),如果否,執(zhí)行所述步驟B。
5、根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述建立第二TCP連接 之后,將所述第二TCP連接與所述表項(xiàng)進(jìn)行映射;步驟B中所述根據(jù)該TCP服務(wù)信息表進(jìn)行所述SSL VPN客戶端代理與所 述TCP服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)包括如果所述SSL VPN網(wǎng)關(guān)通過(guò)所述第二 TCP 連接接收到所述TCP服務(wù)器發(fā)送的報(bào)文,將該報(bào)文轉(zhuǎn)換為HTTPS報(bào)文,并確 定該第二 TCP連接所映射的表項(xiàng),將該表項(xiàng)中的內(nèi)容攜帶在轉(zhuǎn)換后的HTTPS 報(bào)文中發(fā)送給所述SSL VPN客戶端代理;或者,所述SSL VPN網(wǎng)關(guān)通過(guò)所述 SSL會(huì)話連接接收到包含所述第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息的 HTTPS報(bào)文后,如果確定針對(duì)該SSL會(huì)話連接建立的TCP服務(wù)信息表中已經(jīng) 存在包含所述第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息的表項(xiàng),則將所述 HTTPS報(bào)文進(jìn)行協(xié)議轉(zhuǎn)換后,通過(guò)所述表項(xiàng)所映射的第二 TCP連接發(fā)送給TCP 服務(wù)器。根據(jù)該HTTPS報(bào)文中攜帶的第一 TCP連接信息,通過(guò)所述第一 TCP連接將該 HTTPS報(bào)文中的數(shù)據(jù)發(fā)送給TCP客戶端。
6、 根據(jù)權(quán)利要求1至5任一權(quán)項(xiàng)所述的方法,其特征在于,在所述HTTPS應(yīng)用標(biāo)識(shí)字段;其中,所述應(yīng)用控制字段用于標(biāo)識(shí)該HTTPS報(bào)文中是否包含第 一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息;所述應(yīng)用標(biāo)識(shí)字^L中用于攜帶所述 第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息。
7、 根據(jù)權(quán)利要求1至5任一權(quán)項(xiàng)所述的方法,其特征在于,所述表項(xiàng)對(duì)應(yīng) 一個(gè)定時(shí)器,當(dāng)所述表項(xiàng)對(duì)應(yīng)的HTTPS報(bào)文傳輸停止或者所述表項(xiàng)映射的第二 TCP連接超時(shí),啟動(dòng)所述表項(xiàng)對(duì)應(yīng)的定時(shí)器;所述表項(xiàng)的定時(shí)器超時(shí)后,刪除所述表項(xiàng);當(dāng)所述SSL會(huì)話連接被拆除時(shí),刪除針對(duì)所述SSL會(huì)話連接建立的TCP服務(wù)信息表。
8、 一種SSLVPN客戶端代理,其特征在于,該SSLVPN客戶端代理包括 TCP連接處理單元,用于通過(guò)第一 TCP連接接收TCP服務(wù)請(qǐng)求后,將第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息提供給SSL連接處理單元;SSL連接處理單元,用于通過(guò)該SSL VPN客戶端代理與SSL VPN網(wǎng)關(guān)之 間唯一的SSL會(huì)話連接將包含所述第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息 的HTTPS凈艮文發(fā)送給SSL VPN網(wǎng)關(guān)。
9、 根據(jù)權(quán)利要求8所述的SSL VPN客戶端代理,其特征在于,所述SSL 連接處理單元具體包括連接判斷單元,用于接收到所述TCP連接處理單元提供的第一 TCP連接信 息和請(qǐng)求的TCP服務(wù)信息后,判斷該SSL VPN客戶端代理是否已經(jīng)與所述SSL VPN網(wǎng)關(guān)之間建立SSL會(huì)話連接,如果是,則向HTTPS報(bào)文收發(fā)單元發(fā)送執(zhí) 行通知,否則,向SSL連4妄建立單元發(fā)送建立通知;SSL連接建立單元,用于接收到建立通知后,建立該SSLVPN客戶端代理 與所述SSL VPN網(wǎng)關(guān)之間的SSL會(huì)話連接,并向HTTPS報(bào)文收發(fā)單元發(fā)送執(zhí) 行通知;HTTPS報(bào)文收發(fā)單元,用于接收到執(zhí)行通知后,通過(guò)該SSLVPN客戶端 代理與所述SSL VPN網(wǎng)關(guān)之間的SSL會(huì)話連接,將包含所述第一TCP連接信 息和請(qǐng)求的TCP服務(wù)信息的HTTPS報(bào)文發(fā)送給所述SSL VPN網(wǎng)關(guān)。
10、 根據(jù)權(quán)利要求9所述的SSL VPN客戶端代理,其特征在于,所述HTTPS 報(bào)文收發(fā)單元,還用于通過(guò)所述SSL會(huì)話連接接收到HTTPS報(bào)文后,將該 HTTPS報(bào)文中攜帶的第一 TCP連接信息和HTTPS 4艮文中的數(shù)據(jù)提供給所述 TCP連接處理單元;所述TCP連接處理單元,還用于根據(jù)接收到的第一TCP連接信息,將所述 HTTPS報(bào)文中的數(shù)據(jù)通過(guò)所述第一 TCP連接發(fā)送給TCP客戶端。
11、 一種SSLVPN網(wǎng)關(guān),其特征在于,該SSLVPN網(wǎng)關(guān)包括SSL連接處理單元,用于通過(guò)該SSL VPN網(wǎng)關(guān)與SSL VPN客戶端代理之獲取該HTTPS報(bào)文中包含的第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息,并提 供給信息表處理單元;根據(jù)TCP服務(wù)信息表進(jìn)行所述SSL VPN客戶端代理與 所述TCP服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā);信息表處理單元,用于將包含所述第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信 息的表項(xiàng)存儲(chǔ)在針對(duì)所述SSL會(huì)話的TCP服務(wù)信息表中,并向TCP連接處理 單元發(fā)送建立通知;TCP連接處理單元,用于接收到建立通知后與提供請(qǐng)求的TCP服務(wù)的TCP 服務(wù)器建立第二 TCP連接,根據(jù)TCP服務(wù)信息表進(jìn)行所述SSL VPN客戶端代 理與所述TCP服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)。
12、 根據(jù)權(quán)利要求11所述的SSL VPN網(wǎng)關(guān),其特征在于,所述SSL連接 處理單元具體包括HTTPS報(bào)文處理單元,用于通過(guò)該SSL VPN網(wǎng)關(guān)與SSL VPN客戶端代理 之間唯一的SSL會(huì)話連接接收到所述SSL VPN客戶端代理發(fā)送的HTTPS報(bào)文 后,該HTTPS報(bào)文中包含的第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息提供給 表項(xiàng)判斷單元;所述表項(xiàng)判斷單元,用于判斷所述信息表處理單元是否已經(jīng)針對(duì)SSL會(huì)話 連接建立TCP服務(wù)信息表,如果否,則向所述信息表處理單元發(fā)送建立通知并 將所述第一 TCP連接信息和請(qǐng)求的TCP服務(wù)信息提供給所述信息表處理單元; 如果是,則判斷所述TCP服務(wù)信息表中是否已經(jīng)存在包含所述第一 TCP連接 信息和請(qǐng)求的TCP服務(wù)信息的表項(xiàng),如果否,則將所述第一 TCP連接信息和 請(qǐng)求的TCP服務(wù)信息提供給所述信息表處理單元;所述信息表處理單元,還用于接收到建立通知后,針對(duì)所述SSL會(huì)話連接 建立TCP服務(wù)信息表。
13、 根據(jù)權(quán)利要求12所述的SSL VPN網(wǎng)關(guān),其特征在于,所述信息表處 理單元,還用于在所述TCP連接處理單元建立所述第二 TCP連接之后,將所 述第二 TCP連接與所述表項(xiàng)進(jìn)行映射;所述TCP連接處理單元通過(guò)所述第二 TCP連接接收到TCP服務(wù)器發(fā)送的 報(bào)文后,確定該第二TCP連接所映射的表項(xiàng),并將映射的表項(xiàng)和接收到的報(bào)文 提供給所述HTTPS報(bào)文處理單元;或者,按照所述HTTPS報(bào)文處理單元提供 的第二 TCP連接信息,通過(guò)所述第二 TCP連接將所述HTTPS報(bào)文處理單元提 供的報(bào)文發(fā)送給TCP服務(wù)器;所述HTTPS報(bào)文處理單元將所述TCP連接處理單元提供的報(bào)文轉(zhuǎn)換為 HTTPS報(bào)文,將所述表項(xiàng)中的內(nèi)容攜帶在轉(zhuǎn)換后的HTTPS報(bào)文中通過(guò)所述SSL 會(huì)話連接進(jìn)行發(fā)送;或者,通過(guò)所述SSL會(huì)話連接接收到包含所述第一 TCP 連接信息和請(qǐng)求的TCP服務(wù)信息的HTTPS報(bào)文后,如果所述表項(xiàng)判斷單元確 定針對(duì)該SSL會(huì)話連接建立的TCP服務(wù)信息表中已經(jīng)存在包含所述第一 TCP 連接信息和請(qǐng)求的TCP服務(wù)信息的表項(xiàng),則將該HTTPS "t艮文進(jìn)行協(xié)議轉(zhuǎn)換后 連同所述表項(xiàng)所映射的第二 TCP連接信息提供給所述TCP連接處理單元。
14、 根據(jù)權(quán)利要求12所述的SSL VPN網(wǎng)關(guān),其特征在于,所述信息表處 理單元還用于當(dāng)所述表項(xiàng)對(duì)應(yīng)的HTTPS報(bào)文傳輸停止或者所述表項(xiàng)映射的第 二TCP連接超時(shí),啟動(dòng)所述表項(xiàng)對(duì)應(yīng)的定時(shí)器,當(dāng)該定時(shí)器超時(shí)后,刪除所述 表項(xiàng);當(dāng)所述SSL會(huì)話連接被拆除時(shí),刪除針對(duì)所述SSL會(huì)話連接建立的TCP 服務(wù)信息表。
15、 一種提供TCP服務(wù)的系統(tǒng),其特征在于,該系統(tǒng)包括如權(quán)利要求8所 述的SSLVPN客戶端代理和如權(quán)利要求11所述的SSL VPN網(wǎng)關(guān)。
全文摘要
一種提供傳輸控制協(xié)議(TCP)服務(wù)的方法、系統(tǒng)和相關(guān)裝置,其中,方法包括安全套接層虛擬專用網(wǎng)(SSL VPN)客戶端代理通過(guò)第一TCP連接接收到TCP服務(wù)請(qǐng)求后,通過(guò)該SSL VPN客戶端代理與SSL VPN網(wǎng)關(guān)之間唯一的SSL VPN會(huì)話連接將包含第一TCP連接信息和請(qǐng)求的TCP服務(wù)信息的HTTPS報(bào)文發(fā)送給SSL VPN網(wǎng)關(guān);SSL VPN網(wǎng)關(guān)將包含第一TCP連接信息和請(qǐng)求的TCP服務(wù)信息的表項(xiàng)存儲(chǔ)在針對(duì)SSL會(huì)話的TCP服務(wù)信息表中,并在與提供請(qǐng)求的TCP服務(wù)的TCP服務(wù)器建立第二TCP連接后,根據(jù)該TCP服務(wù)信息表進(jìn)行所述SSL VPN客戶端代理與所述TCP服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)。
文檔編號(hào)H04L29/08GK101534302SQ20091008242
公開(kāi)日2009年9月16日 申請(qǐng)日期2009年4月16日 優(yōu)先權(quán)日2009年4月16日
發(fā)明者任俊峰, 迪 周, 顧雷雷 申請(qǐng)人:杭州華三通信技術(shù)有限公司