撥號(hào)隧道代理裝置、利用撥號(hào)隧道穿越nat的方法
【專利摘要】本申請(qǐng)公開了無公網(wǎng)IP的撥號(hào)隧道代理裝置,包括監(jiān)聽模塊,用于監(jiān)聽所連接的客戶端的地址信息以及當(dāng)客戶端發(fā)送的報(bào)文的目的IP地址在監(jiān)控系統(tǒng)的IP地址段內(nèi)時(shí),將報(bào)文傳給報(bào)文轉(zhuǎn)發(fā)模塊;隧道建立模塊,用于利用其中一個(gè)客戶端的IP地址建立應(yīng)用隧道,撥號(hào)隧道服務(wù)器的地址信息為預(yù)先配置;并接收撥號(hào)隧道服務(wù)器所分配的虛擬IP地址;報(bào)文轉(zhuǎn)發(fā)模塊,用于將報(bào)文中的客戶端IP地址轉(zhuǎn)換成虛擬IP地址,通過應(yīng)用隧道將報(bào)文轉(zhuǎn)發(fā)至撥號(hào)隧道服務(wù)器;以及將從撥號(hào)隧道服務(wù)器返回的報(bào)文的虛擬IP地址轉(zhuǎn)換成客戶端IP地址。本申請(qǐng)還公開了利用撥號(hào)隧道穿越NAT的方法。本申請(qǐng)能夠減輕撥號(hào)隧道服務(wù)器的壓力,提升用戶體驗(yàn)。
【專利說明】撥號(hào)隧道代理裝置、利用撥號(hào)隧道穿越NAT的方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及撥號(hào)隧道技術(shù),尤其涉及無公網(wǎng)IP的撥號(hào)隧道代理裝置和利用撥號(hào)隧道穿越NAT的方法。
【背景技術(shù)】
[0002]隨著基于IP網(wǎng)絡(luò)的視頻監(jiān)控技術(shù)和移動(dòng)互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,遠(yuǎn)程視頻監(jiān)控已成為新的行業(yè)熱點(diǎn),跨廣域網(wǎng)連接的監(jiān)控的需求越發(fā)強(qiáng)烈。出于保護(hù)內(nèi)部網(wǎng)絡(luò)安全的考慮以及節(jié)省公網(wǎng)IP數(shù)量的目的,運(yùn)營商都會(huì)在私網(wǎng)的出口位置部署NAT網(wǎng)關(guān)設(shè)備,遠(yuǎn)程視頻監(jiān)控不可避免地要遇到穿越運(yùn)營商公網(wǎng)NAT的問題。
[0003]目前,針對(duì)視頻監(jiān)控系統(tǒng)穿越NAT設(shè)備、防火墻和安全網(wǎng)閘,有一種撥號(hào)應(yīng)用隧道解決方案,撥號(hào)應(yīng)用隧道方案是一項(xiàng)視頻監(jiān)控系統(tǒng)穿越公私網(wǎng)的方案,它以應(yīng)用層通道技術(shù)為基礎(chǔ),結(jié)合監(jiān)控雙網(wǎng)卡方案,讓監(jiān)控系統(tǒng)輕松的穿越各種網(wǎng)閘、防火墻和NAT設(shè)備,讓復(fù)雜的監(jiān)控網(wǎng)絡(luò)變得簡單,同時(shí)提高了用戶的網(wǎng)絡(luò)安全,節(jié)省用戶預(yù)算。撥號(hào)應(yīng)用隧道方案通過在客戶端與監(jiān)控系統(tǒng)中的監(jiān)控設(shè)備之間、上下級(jí)域監(jiān)控設(shè)備之間建立一條應(yīng)用層通道,后續(xù)通道兩端的設(shè)備之間通訊時(shí)都走該通道進(jìn)行轉(zhuǎn)發(fā),不需要用戶進(jìn)行引流操作,不需要用戶增加額外的公網(wǎng)地址,極大的減少網(wǎng)閘廠家的二次開發(fā)工作量。
[0004]但是在撥號(hào)應(yīng)用隧道方案使用時(shí),每一個(gè)客戶端想與撥號(hào)隧道服務(wù)器建立連接,都必須有一個(gè)獨(dú)立的撥號(hào),這樣由于過多的連接數(shù)會(huì)照成撥號(hào)隧道服務(wù)器的壓力太大,另外用戶在訪問監(jiān)控設(shè)備前必須先手動(dòng)進(jìn)行撥號(hào)建立一個(gè)連接,用戶體驗(yàn)不佳。
【發(fā)明內(nèi)容】
[0005]本申請(qǐng)?zhí)峁┮环N無公網(wǎng)IP的撥號(hào)隧道代理裝置和利用撥號(hào)隧道穿越NAT的方法,能夠減輕撥號(hào)隧道服務(wù)器的壓力,提升用戶體驗(yàn)。
[0006]根據(jù)本申請(qǐng)實(shí)施例的第一方面,提供一種無公網(wǎng)IP的撥號(hào)隧道代理裝置,用于通過與撥號(hào)隧道服務(wù)器建立應(yīng)用隧道,實(shí)現(xiàn)客戶端與監(jiān)控系統(tǒng)之間的通信,所述的撥號(hào)隧道代理裝置無公網(wǎng)IP地址,其包括:
[0007]監(jiān)聽模塊,用于監(jiān)聽所連接的客戶端的地址信息以及客戶端發(fā)送的報(bào)文;所述客戶端的地址信息包括IP地址;當(dāng)所述客戶端發(fā)送的報(bào)文的目的IP地址在監(jiān)控系統(tǒng)的IP地址段內(nèi)時(shí),則將所述報(bào)文傳給報(bào)文轉(zhuǎn)發(fā)模塊;
[0008]隧道建立模塊,用于利用其中一個(gè)所述客戶端的IP地址與所述撥號(hào)隧道服務(wù)器的IP地址建立應(yīng)用隧道,所述撥號(hào)隧道服務(wù)器的地址信息預(yù)先配置于所述無公網(wǎng)IP地址的撥號(hào)隧道代理裝置中;并接收所述撥號(hào)隧道服務(wù)器所分配的虛擬IP地址;
[0009]報(bào)文轉(zhuǎn)發(fā)模塊,用于將所述報(bào)文中的客戶端IP地址轉(zhuǎn)換成所述虛擬IP地址,通過所述應(yīng)用隧道將所述報(bào)文轉(zhuǎn)發(fā)至所述撥號(hào)隧道服務(wù)器;以及將從所述撥號(hào)隧道服務(wù)器返回的報(bào)文的所述虛擬IP地址轉(zhuǎn)換成所述客戶端IP地址后,將所述報(bào)文發(fā)送至所述客戶端。
[0010]本申請(qǐng)還提供一種利用撥號(hào)隧道穿越NAT的方法,用于通過與撥號(hào)隧道服務(wù)器建立應(yīng)用隧道,實(shí)現(xiàn)客戶端與監(jiān)控服務(wù)器之間的通信,包括步驟:
[0011]監(jiān)聽所連接的客戶端的地址信息;所述客戶端的地址信息包括IP地址;
[0012]利用其中一個(gè)所述客戶端的地址信息與所述撥號(hào)隧道服務(wù)器建立應(yīng)用隧道,所述撥號(hào)隧道服務(wù)器的地址為預(yù)先配置;并接收所述撥號(hào)隧道服務(wù)器所分配的虛擬IP地址;
[0013]如果所述客戶端發(fā)送的報(bào)文的目的地址在監(jiān)控系統(tǒng)的地址段內(nèi),將所述報(bào)文中的客戶端IP地址轉(zhuǎn)換成所述虛擬IP地址,通過所述應(yīng)用隧道將所述報(bào)文轉(zhuǎn)發(fā)至所述撥號(hào)隧道服務(wù)器;以及將從所述撥號(hào)隧道服務(wù)器返回的報(bào)文的所述虛擬IP地址轉(zhuǎn)換成所述客戶端IP地址后,將所述報(bào)文發(fā)送至所述客戶端。
[0014]本申請(qǐng)通過無公網(wǎng)IP的撥號(hào)隧道代理裝置與撥號(hào)隧道服務(wù)器建立一條應(yīng)用隧道,通過該應(yīng)用隧道來轉(zhuǎn)發(fā)客戶端與監(jiān)控系統(tǒng)之間交互的報(bào)文,無需像現(xiàn)有技術(shù)每個(gè)客戶端與撥號(hào)隧道服務(wù)器建立一個(gè)應(yīng)用通道,因此大大減輕了撥號(hào)隧道服務(wù)器的壓力,另外,由于應(yīng)用隧道的建立過程由無公網(wǎng)IP的撥號(hào)隧道代理裝置自動(dòng)完成,無需用戶撥號(hào),因此提升了用戶的體驗(yàn)。同時(shí),由于無公網(wǎng)IP的撥號(hào)隧道代理裝置無需具有公網(wǎng)IP地址,當(dāng)無公網(wǎng)IP的撥號(hào)隧道代理裝置需要與撥號(hào)隧道服務(wù)器建立應(yīng)用隧道時(shí),利用所獲取的其中一個(gè)客戶端的地址信息與撥號(hào)隧道服務(wù)器發(fā)起連接請(qǐng)求。由于目前公網(wǎng)IP資源的短缺,申請(qǐng)一個(gè)公網(wǎng)IP地址需要花費(fèi)不少資金,使用該無公網(wǎng)IP的撥號(hào)隧道代理裝置在組網(wǎng)中大大減少了公網(wǎng)IP的使用,節(jié)約了公網(wǎng)IP的資源,降低了設(shè)備成本。
【專利附圖】
【附圖說明】
[0015]圖1為本申請(qǐng)實(shí)施例中一個(gè)應(yīng)用場景中組網(wǎng)圖;
[0016]圖2為本申請(qǐng)利用撥號(hào)隧道穿越NAT的方法的流程圖;
[0017]圖3a為本申請(qǐng)實(shí)施例中預(yù)先撥號(hào)建立應(yīng)用隧道的信令圖;
[0018]圖3b為本申請(qǐng)實(shí)施例中動(dòng)態(tài)撥號(hào)建立應(yīng)用隧道的信令圖;
[0019]圖4a為本申請(qǐng)實(shí)施例中隧道表項(xiàng)的結(jié)構(gòu)圖;
[0020]圖4b為本申請(qǐng)實(shí)施例中更新建立隧道的客戶端地址的流程圖;
[0021]圖5a為本申請(qǐng)實(shí)施例中客戶端地址信息轉(zhuǎn)換的示意圖;
[0022]圖5b為本申請(qǐng)實(shí)施例中構(gòu)建轉(zhuǎn)發(fā)報(bào)文的消息格式示意圖;
[0023]圖6為本申請(qǐng)實(shí)施例中無公網(wǎng)IP的撥號(hào)隧道代理裝置的硬件架構(gòu)圖;
[0024]圖7為本申請(qǐng)實(shí)施例中無公網(wǎng)IP的撥號(hào)隧道代理裝置的內(nèi)部結(jié)構(gòu)邏輯框圖。
【具體實(shí)施方式】
[0025]這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請(qǐng)的一些方面相一致的裝置和方法的例子。
[0026]在本申請(qǐng)使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請(qǐng)。在本申請(qǐng)和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。
[0027]參見圖1,為使用本申請(qǐng)?zhí)峁┑姆桨附?yīng)用隧道的應(yīng)用場景示意圖。各個(gè)客戶端與監(jiān)控系統(tǒng)中的各個(gè)監(jiān)控設(shè)備位于不同的私網(wǎng)中,分別通過兩個(gè)私網(wǎng)的網(wǎng)關(guān)接入廣域網(wǎng)。在本申請(qǐng)中,每個(gè)客戶端均與無公網(wǎng)IP的撥號(hào)隧道代理裝置連接,通過無公網(wǎng)IP的撥號(hào)隧道代理裝置與監(jiān)控系統(tǒng)所在網(wǎng)絡(luò)中的撥號(hào)隧道服務(wù)器建立應(yīng)用隧道,實(shí)現(xiàn)客戶端與監(jiān)控系統(tǒng)之間的通信。撥號(hào)隧道客戶端可以是所有需要使用撥號(hào)隧道方案接入的主體,其可能包括:監(jiān)控前端、監(jiān)控客戶、監(jiān)控服務(wù)器等。撥號(hào)隧道服務(wù)器可以是指允許撥號(hào)隧道客戶端接入并進(jìn)行不同應(yīng)用層隧道間報(bào)文轉(zhuǎn)發(fā)的設(shè)備,其可能包括:路由器設(shè)備、Linux服務(wù)器。無公網(wǎng)IP的撥號(hào)隧道代理裝置可以是同時(shí)兼有二層/三層報(bào)文轉(zhuǎn)發(fā)功能的設(shè)備。
[0028]圖2對(duì)本申請(qǐng)通過無公網(wǎng)IP的撥號(hào)隧道代理裝置實(shí)現(xiàn)NAT穿越的方法流程圖。以下以圖2中的流程應(yīng)用于圖1中的應(yīng)用場景為例,對(duì)本申請(qǐng)通過撥號(hào)隧道穿越NAT的方法進(jìn)行詳細(xì)闡述。
[0029]S201,無公網(wǎng)IP的撥號(hào)隧道代理裝置監(jiān)聽所連接的一個(gè)或多個(gè)客戶端的地址信息;并將其中一個(gè)所連接的客戶端的地址信息作為建立應(yīng)用隧道時(shí)無公網(wǎng)IP的撥號(hào)隧道代理裝置所使用的地址信息;
[0030]無公網(wǎng)IP的撥號(hào)隧道代理裝置與多個(gè)客戶端連接,監(jiān)聽所連接的各個(gè)客戶端的地址信息。在一個(gè)例子中,可以通過偵測客戶端的DHCP(Dynamic Host Configurat1nProtocol,動(dòng)態(tài)主機(jī)配置協(xié)議)交互過程來獲取客戶端的地址信息,所獲取的地址信息至少包括客戶端的IP地址和網(wǎng)關(guān)的IP地址。在優(yōu)選方案中,可以獲取每個(gè)客戶端所有通過DHCP獲得的動(dòng)態(tài)IP地址和MAC地址和并記錄。所獲取的地址信息在可選方案和優(yōu)選方案中的使用方式可參見下文中相應(yīng)的實(shí)施例。
[0031]S202,通過建立應(yīng)用隧道時(shí)所使用的客戶端的地址信息向預(yù)先配置的撥號(hào)隧道服務(wù)器地址建立應(yīng)用隧道;并接收撥號(hào)隧道服務(wù)器所分配的虛擬IP地址。
[0032]撥號(hào)隧道服務(wù)器的地址預(yù)先配置于無公網(wǎng)IP的撥號(hào)隧道代理裝置上,一般填寫撥號(hào)隧道服務(wù)器所在私網(wǎng)的路由器上的公網(wǎng)IP地址。
[0033]本申請(qǐng)的無公網(wǎng)IP的撥號(hào)隧道代理裝置無需具有公網(wǎng)IP地址,當(dāng)無公網(wǎng)IP的撥號(hào)隧道代理裝置需要與撥號(hào)隧道服務(wù)器建立應(yīng)用隧道時(shí),利用所獲取的其中一個(gè)客戶端的地址信息與撥號(hào)隧道服務(wù)器發(fā)起連接請(qǐng)求。由于目前公網(wǎng)IP資源的短缺,申請(qǐng)一個(gè)公網(wǎng)IP地址需要花費(fèi)不少資金,使用該無公網(wǎng)IP的撥號(hào)隧道代理裝置在組網(wǎng)中大大減少了公網(wǎng)IP的使用,節(jié)約了公網(wǎng)IP的資源,降低了設(shè)備成本。利用其中一個(gè)客戶端的地址信息建立撥號(hào)隧道的時(shí)刻在本申請(qǐng)中提供多種選擇,以預(yù)先撥號(hào)和動(dòng)態(tài)撥號(hào)為例,可以是在獲取到首個(gè)客戶端的地址信息時(shí)觸發(fā)建立撥號(hào)隧道的流程,也可以是在收到首個(gè)客戶端發(fā)給監(jiān)控系統(tǒng)的報(bào)文時(shí)觸發(fā)建立撥號(hào)隧道的流程,當(dāng)然不局限于此兩種觸發(fā)方式。預(yù)先撥號(hào)和動(dòng)態(tài)撥號(hào)觸發(fā)撥號(hào)隧道的流程可詳見下文圖3a和圖3b的相關(guān)實(shí)施例。
[0034]撥號(hào)隧道服務(wù)器在收到無公網(wǎng)IP的撥號(hào)隧道代理裝置的連接請(qǐng)求后,首先對(duì)其進(jìn)行接入身份驗(yàn)證,作為一個(gè)例子,無公網(wǎng)IP的撥號(hào)隧道代理裝置可以默認(rèn)帶有用戶名及密碼,在向撥號(hào)隧道服務(wù)器發(fā)起連接時(shí)會(huì)帶上用戶名及密碼,撥號(hào)隧道服務(wù)器對(duì)用戶名密碼進(jìn)行認(rèn)證,認(rèn)證通過后再與無公網(wǎng)IP的撥號(hào)隧道代理裝置建立連接。與現(xiàn)有技術(shù)的撥號(hào)隧道技術(shù)相類似,建立應(yīng)用隧道后,撥號(hào)隧道服務(wù)器會(huì)從無人使用的虛擬地址池中選擇一個(gè)虛擬地址分配給無公網(wǎng)IP的撥號(hào)隧道代理裝置,并將所分配的虛擬地址發(fā)給無公網(wǎng)IP的撥號(hào)隧道代理裝置。以便后續(xù)無公網(wǎng)IP的撥號(hào)隧道代理裝置和撥號(hào)隧道服務(wù)器之間使用虛擬IP地址進(jìn)行報(bào)文交互,交互報(bào)文在應(yīng)用隧道中轉(zhuǎn)發(fā),不會(huì)受到中間網(wǎng)絡(luò)防火墻、NAT設(shè)備、網(wǎng)閘的干擾,實(shí)現(xiàn)對(duì)這些網(wǎng)絡(luò)的穿越。
[0035]S203,當(dāng)無公網(wǎng)IP的撥號(hào)隧道代理裝置需要轉(zhuǎn)發(fā)報(bào)文給撥號(hào)隧道服務(wù)器時(shí),即客戶端發(fā)送的報(bào)文的目的地址在監(jiān)控系統(tǒng)的地址段內(nèi)時(shí),將報(bào)文中的客戶端IP地址轉(zhuǎn)換成無公網(wǎng)IP的撥號(hào)隧道代理裝置的虛擬IP地址,根據(jù)網(wǎng)關(guān)IP地址,通過應(yīng)用隧道將報(bào)文轉(zhuǎn)發(fā)至所述撥號(hào)隧道服務(wù)器;
[0036]無公網(wǎng)IP的撥號(hào)隧道代理裝置中可以記錄有監(jiān)控系統(tǒng)的地址段。根據(jù)不同的建立隧道的方式(例如預(yù)先撥號(hào)、動(dòng)態(tài)撥號(hào)),記錄監(jiān)控系統(tǒng)的地址段的時(shí)刻可以有所不同,可以參考下文圖3a和圖3b相關(guān)實(shí)施例了解詳細(xì)過程。
[0037]無公網(wǎng)IP的撥號(hào)隧道代理裝置收到的客戶端的報(bào)文中攜帶有客戶端的IP地址和需要訪問的監(jiān)控系統(tǒng)中的某個(gè)設(shè)備的IP地址,在一個(gè)例子中,將報(bào)文中的客戶端IP地址轉(zhuǎn)換成無公網(wǎng)IP的撥號(hào)隧道代理裝置的虛擬IP地址并封裝進(jìn)應(yīng)用隧道的過程可以是:撥號(hào)代理裝置監(jiān)聽到客戶端發(fā)往監(jiān)控系統(tǒng)中的某個(gè)設(shè)備的報(bào)文,首先將其報(bào)文頭中的源地址轉(zhuǎn)換為無公網(wǎng)IP的撥號(hào)隧道代理裝置的虛擬地址,封裝成IP頭部是虛擬源地址(無公網(wǎng)IP的撥號(hào)隧道代理裝置的虛擬地址)和虛擬目的地址(客戶端需要訪問的監(jiān)控系統(tǒng)地址段的某個(gè)IP地址)的報(bào)文。為了此報(bào)文能夠在廣域網(wǎng)中進(jìn)行三層轉(zhuǎn)發(fā),報(bào)文外層需要再封裝一個(gè)真實(shí)地址的IP頭和隧道標(biāo)識(shí)頭部。這個(gè)真實(shí)地址的IP頭中真實(shí)的源IP地址可以是建立應(yīng)用隧道時(shí)所使用的客戶端的IP地址,真實(shí)的目的地址可以是撥號(hào)隧道服務(wù)器所映射的公網(wǎng)的IP地址。這個(gè)報(bào)文通過路由轉(zhuǎn)發(fā)給撥號(hào)隧道服務(wù)器后,撥號(hào)隧道服務(wù)器根據(jù)隧道標(biāo)識(shí)將報(bào)文外層封裝的真實(shí)地址IP頭部和隧道標(biāo)識(shí)頭部剝離,再根據(jù)其目的虛擬地址IP頭將報(bào)文轉(zhuǎn)發(fā)給監(jiān)控系統(tǒng)內(nèi)的某個(gè)監(jiān)控設(shè)備,以便進(jìn)行監(jiān)控業(yè)務(wù)。
[0038]建立應(yīng)用隧道時(shí)S204,將從撥號(hào)隧道服務(wù)器返回的報(bào)文中無公網(wǎng)IP的撥號(hào)隧道代理裝置的虛擬IP地址轉(zhuǎn)換成所述客戶端IP地址后,將所述報(bào)文發(fā)送至所述客戶端。
[0039]從撥號(hào)隧道服務(wù)器發(fā)給無公網(wǎng)IP的撥號(hào)隧道代理裝置的報(bào)文封裝和處理方式和步驟S203類似。此時(shí)報(bào)文中內(nèi)層封裝的虛擬源地址為撥號(hào)監(jiān)控系統(tǒng)內(nèi)某設(shè)備的IP地址,而虛擬目的地址為無公網(wǎng)IP的撥號(hào)隧道代理裝置的虛擬地址。無公網(wǎng)IP的撥號(hào)隧道代理裝置收到經(jīng)過兩次封裝消息頭后的報(bào)文后,將外層封裝的IP頭部和隧道標(biāo)識(shí)頭部剝離,再將虛擬目的地址轉(zhuǎn)換為客戶端的真實(shí)IP地址,轉(zhuǎn)發(fā)給該客戶端。
[0040]圖3a和圖3b是兩種不同的建立應(yīng)用隧道的時(shí)機(jī)的應(yīng)用實(shí)例的信令圖。
[0041]圖3a描述的是預(yù)先撥號(hào)的應(yīng)用實(shí)例中應(yīng)用隧道的建立流程。
[0042]在該應(yīng)用實(shí)例中,無公網(wǎng)IP的撥號(hào)隧道代理裝置在偵測到首個(gè)客戶端的IP地址時(shí)就向撥號(hào)隧道服務(wù)器發(fā)起連接請(qǐng)求。該實(shí)施例中建立應(yīng)用隧道時(shí)所使用的客戶端的地址信息即為首個(gè)被偵測到動(dòng)態(tài)IP地址的客戶端的地址信息。監(jiān)控系統(tǒng)的地址段可以是在應(yīng)用隧道建立后下發(fā)給無公網(wǎng)IP的撥號(hào)隧道代理裝置進(jìn)行記錄。監(jiān)控系統(tǒng)地址段的下發(fā)步驟和將分配給無公網(wǎng)IP的撥號(hào)隧道代理裝置的虛擬IP地址下發(fā)的步驟可以是同一步驟,也可以是不同步驟。
[0043]圖3b描述的是動(dòng)態(tài)撥號(hào)的應(yīng)用實(shí)例中應(yīng)用隧道的建立流程。
[0044]在該實(shí)施例中,無公網(wǎng)IP的撥號(hào)隧道代理裝置是在偵測到需要轉(zhuǎn)發(fā)的報(bào)文時(shí)也就是當(dāng)某個(gè)客戶端發(fā)起指向監(jiān)控系統(tǒng)地址的會(huì)話時(shí),向撥號(hào)隧道服務(wù)器發(fā)起連接請(qǐng)求。在該實(shí)施例中,建立應(yīng)用隧道時(shí)所使用的客戶端的地址信息即為首個(gè)向監(jiān)控系統(tǒng)發(fā)送報(bào)文的客戶端的地址信息。由于需要判斷客戶端所發(fā)送的報(bào)文的地址是否是指向監(jiān)控系統(tǒng),因此,在該實(shí)施例中需要將監(jiān)控系統(tǒng)的地址段預(yù)先配置在無公網(wǎng)IP的撥號(hào)隧道代理裝置中。
[0045]優(yōu)選的,無公網(wǎng)IP的撥號(hào)隧道代理裝置監(jiān)聽所連接的客戶端的所有報(bào)文,根據(jù)五元組判斷是否為指向監(jiān)控系統(tǒng)的報(bào)文。五元組是指源IP地址,源端口,目的IP地址,目的端口,傳輸層協(xié)議號(hào)這五個(gè)量組成的一個(gè)集合。而對(duì)于客戶端訪問其他非監(jiān)控系統(tǒng)地址段的地址時(shí),針對(duì)指向監(jiān)控系統(tǒng)的客戶端會(huì)話通過無公網(wǎng)IP的撥號(hào)隧道代理裝置會(huì)將會(huì)話中的源地址轉(zhuǎn)換為無公網(wǎng)IP的撥號(hào)隧道代理裝置的虛擬地址,然后封裝進(jìn)應(yīng)用隧道進(jìn)行三層轉(zhuǎn)發(fā),而對(duì)于客戶端訪問其他非監(jiān)控系統(tǒng)地址段的地址時(shí),無公網(wǎng)IP的撥號(hào)隧道代理裝置利用客戶端的mac地址按照二層(數(shù)據(jù)連接層)報(bào)文轉(zhuǎn)發(fā)方式將報(bào)文轉(zhuǎn)發(fā)出去,具體轉(zhuǎn)發(fā)過程可以參照現(xiàn)有技術(shù)中所揭示的二層轉(zhuǎn)發(fā)的流程執(zhí)行,在此不再贅述。
[0046]優(yōu)選的,如果無公網(wǎng)IP的撥號(hào)隧道代理裝置監(jiān)聽到不止一個(gè)客戶端的報(bào)文是指向監(jiān)控系統(tǒng)時(shí),由于無公網(wǎng)IP的撥號(hào)隧道代理裝置與隧道代理服務(wù)器只建立一條應(yīng)用層隧道,因此無公網(wǎng)IP的撥號(hào)隧道代理裝置將每個(gè)需要轉(zhuǎn)發(fā)的報(bào)文中的客戶端的IP地址及端口均進(jìn)行轉(zhuǎn)換,將客戶端的IP地址轉(zhuǎn)換為無公網(wǎng)IP的撥號(hào)隧道代理裝置的虛擬IP地址,將客戶端的端口轉(zhuǎn)換為無公網(wǎng)IP的撥號(hào)隧道代理裝置上一個(gè)未使用的端口作為該客戶端端口的映射端口,并記錄轉(zhuǎn)換表項(xiàng)。而后無公網(wǎng)IP的撥號(hào)隧道代理裝置在收到撥號(hào)隧道服務(wù)器返回來的報(bào)文時(shí),再根據(jù)報(bào)文中的端口號(hào)和轉(zhuǎn)換表項(xiàng)判斷該將報(bào)文轉(zhuǎn)發(fā)給哪個(gè)客戶端,進(jìn)而將目的虛擬IP地址轉(zhuǎn)換為該客戶端的IP地址,將報(bào)文轉(zhuǎn)給該客戶端。
[0047]作為圖2中S201的一個(gè)優(yōu)選方案,無公網(wǎng)IP的撥號(hào)隧道代理裝置記錄每個(gè)所連接的客戶端的所有通過DHCP所獲得的動(dòng)態(tài)IP地址。當(dāng)無公網(wǎng)IP的撥號(hào)隧道代理裝置通過步驟S201所獲得的MAC地址監(jiān)聽到用于建立應(yīng)用隧道的客戶端的地址信息更新后,無公網(wǎng)IP的撥號(hào)隧道代理裝置將其中一個(gè)客戶端當(dāng)前正在使用的地址信息和應(yīng)用隧道的標(biāo)識(shí)構(gòu)建隧道更新消息,并通知撥號(hào)隧道服務(wù)器將之前記錄的用于建立應(yīng)用隧道的客戶端的地址信息更新為當(dāng)前正在使用的地址信息,具體過程參見圖4b。
[0048]在本實(shí)施例中,撥號(hào)隧道服務(wù)器和無公網(wǎng)IP的撥號(hào)隧道代理裝置記錄的隧道表項(xiàng)結(jié)構(gòu)如圖4a所示。與撥號(hào)隧道服務(wù)器建立應(yīng)用隧道的可以是多個(gè)私網(wǎng)中的多個(gè)無公網(wǎng)IP的撥號(hào)隧道代理裝置,因此隧道ID用來記錄各個(gè)無公網(wǎng)IP的撥號(hào)隧道代理裝置所建立的應(yīng)用隧道的標(biāo)識(shí)。撥號(hào)隧道服務(wù)器的隧道表項(xiàng)中的“對(duì)端真實(shí)IP地址”和“真實(shí)端口”與無公網(wǎng)IP的撥號(hào)隧道代理裝置的隧道表項(xiàng)中的“真實(shí)IP地址”和“真實(shí)端口 ”相一致,記錄用來建立應(yīng)用隧道的客戶端的IP地址和端口號(hào)。撥號(hào)隧道服務(wù)器的隧道表項(xiàng)中的“對(duì)端虛擬IP地址”和“虛擬端口”和無公網(wǎng)IP的撥號(hào)隧道代理裝置的隧道表項(xiàng)中的“虛擬IP地址”和“虛擬端口”相一致,記錄無公網(wǎng)IP的撥號(hào)隧道代理裝置的虛擬IP地址以及發(fā)送某條客戶端報(bào)文時(shí)所使用的無公網(wǎng)IP的撥號(hào)隧道代理裝置上的虛擬端口。
[0049]如圖4b,S401,當(dāng)用來撥號(hào)的客戶端由于重啟或重新聯(lián)網(wǎng)等原因?qū)е聞?dòng)態(tài)IP地址發(fā)生變化時(shí),客戶端會(huì)向DHCP服務(wù)器發(fā)送廣播報(bào)文,無公網(wǎng)IP的撥號(hào)隧道代理裝置監(jiān)聽到報(bào)文;
[0050]S402,根據(jù)報(bào)文中的MAC地址查找所存儲(chǔ)的用來撥號(hào)建立隧道的客戶端IP地址;
[0051]S403,根據(jù)所記錄的用來撥號(hào)建立隧道的客戶IP地址查找本身的隧道表項(xiàng),找出隧道ID。
[0052]S404,無公網(wǎng)IP的撥號(hào)隧道代理裝置更新隧道表項(xiàng),并封裝一個(gè)包含隧道ID和一個(gè)新的客戶端的IP地址和端口的私有信令報(bào)文作為隧道更新消息,通過應(yīng)用隧道傳給服務(wù)器。新的客戶端的IP地址可以是先前用于建立撥號(hào)隧道的客戶端更新后的動(dòng)態(tài)IP地址,也可以是其他客戶端的動(dòng)態(tài)IP地址。
[0053]撥號(hào)隧道服務(wù)器根據(jù)這個(gè)私有信令報(bào)文中的隧道ID將對(duì)應(yīng)表項(xiàng)中的對(duì)端真實(shí)IP地址和真實(shí)端口替換成新的IP地址和端口。
[0054]通過本優(yōu)選方案,可以實(shí)現(xiàn)在客戶端的撥號(hào)IP地址更新后,撥號(hào)隧道服務(wù)器無需重新?lián)芴?hào),通過上述更新過程實(shí)現(xiàn)無縫切換,原有的隧道業(yè)務(wù)不會(huì)受到影響。
[0055]以下為本申請(qǐng)的通過無公網(wǎng)IP的撥號(hào)隧道代理裝置與客戶端及撥號(hào)隧道服務(wù)器交互的用戶案例,本用戶案例中隧道創(chuàng)建流程為預(yù)先撥號(hào)。
[0056]監(jiān)控系統(tǒng)位于總部網(wǎng)絡(luò),監(jiān)控系統(tǒng)地址段為192.168.1.1/24,網(wǎng)關(guān)為192.168.1.1,撥號(hào)隧道服務(wù)器的經(jīng)過路由器映射后的公網(wǎng)地址為15.0.0.2。192.168.1.129/25子網(wǎng)地址無人使用,因此作為撥號(hào)隧道服務(wù)器為無公網(wǎng)IP的撥號(hào)隧道代理裝置分配虛擬IP地址的地址池。
[0057]預(yù)先在無公網(wǎng)IP的撥號(hào)隧道代理裝置中配置好撥號(hào)隧道代理服務(wù)器的地址15.0.0.2o
[0058]無公網(wǎng)IP的撥號(hào)隧道代理裝置偵測客戶端的DHCP交互過程,獲取客戶端的IP地址和MAC地址,客戶端所獲得的IP地址為10.0.0.2,和網(wǎng)關(guān)的IP地址(10.0.0.1),記錄所連接的各個(gè)客戶端所有通過DHCP獲得的動(dòng)態(tài)IP。在本例中,可以通過監(jiān)聽客戶端的DHCPREQUEST報(bào)文來獲取客戶端的地址信息??蛻舳嗽谠搱?bào)文中的“opt1n”字段的“Request IP Address”選項(xiàng)中會(huì)填入DHCP服務(wù)器分配給它的IP地址。“serveridentifier”選項(xiàng)中會(huì)填入DHCP服務(wù)器(即網(wǎng)關(guān))的IP地址。
[0059]無公網(wǎng)IP的撥號(hào)隧道代理裝置以客戶端的動(dòng)態(tài)IP(10.0.0.2),向撥號(hào)隧道服務(wù)器的真實(shí)地址(15.0.0.2)發(fā)起連接。
[0060]撥號(hào)隧道服務(wù)器進(jìn)行接入身份認(rèn)證后,建立隧道,并給無公網(wǎng)IP的撥號(hào)隧道代理裝置分配虛擬IP (如192.168.1.129)。
[0061]撥號(hào)隧道服務(wù)器將監(jiān)控系統(tǒng)的地址段(192.168.1.1/24)下發(fā)給盒子。
[0062]撥號(hào)隧道服務(wù)器會(huì)偵聽客戶端發(fā)起的會(huì)話報(bào)文。當(dāng)客戶端訪問其它地址時(shí),盒子直接利用客戶端MAC地址通過鏈路層透傳;如圖5a,當(dāng)客戶端發(fā)起的會(huì)話指向監(jiān)控系統(tǒng)的地址,即客戶端的源地址為自身的IP地址,目的地址為監(jiān)控系統(tǒng)地址段內(nèi)的一個(gè)IP地址(例如IP地址為192.168.1.128的監(jiān)控設(shè)備),則將該會(huì)話中的客戶端IP地址轉(zhuǎn)換成無公網(wǎng)IP的撥號(hào)隧道代理裝置的虛擬IP地址,如果當(dāng)前存在不止一個(gè)指向監(jiān)控系統(tǒng)的會(huì)話,則還需要將客戶端的端口轉(zhuǎn)換為無公網(wǎng)IP的撥號(hào)隧道代理裝置的一個(gè)空閑端口,并記錄當(dāng)前會(huì)話的客戶端的IP地址、端口以及轉(zhuǎn)換后的虛擬IP地址和端口 ;將轉(zhuǎn)換地址信息后的報(bào)文封裝進(jìn)隧道。封裝后的消息結(jié)構(gòu)如圖5b所示。
[0063]無公網(wǎng)IP的撥號(hào)隧道代理裝置要監(jiān)測所有撥號(hào)隧道服務(wù)器回來的報(bào)文,根據(jù)其五元組判斷,不是監(jiān)控業(yè)務(wù)的報(bào)文直接按二層鏈路層繼續(xù)轉(zhuǎn)發(fā),對(duì)于監(jiān)控業(yè)務(wù)報(bào)文則先將外層隧道的封裝給剝離,再匹配轉(zhuǎn)換表項(xiàng),將目的虛擬IP地址轉(zhuǎn)換成客戶端真實(shí)IP地址后轉(zhuǎn)給客戶端(如圖5a)。
[0064]無公網(wǎng)IP的撥號(hào)隧道代理裝置根據(jù)MAC地址監(jiān)聽到原先用來撥號(hào)的動(dòng)態(tài)IP發(fā)生變化時(shí),會(huì)先根據(jù)MAC地址查找原先所記錄的撥號(hào)用的客戶端的IP地址,隨后查找本身的隧道表項(xiàng),找出隧道ID。如果一各客戶端原IP地址已經(jīng)失效或已經(jīng)被其它機(jī)器使用了,DHCP服務(wù)器則會(huì)回應(yīng)一個(gè)DHCPNACK封包給客戶端,要求其從新執(zhí)行Dhcpdiscover??蛻舳税l(fā)出Dhcpdiscover報(bào)文廣播報(bào)文,且報(bào)文中帶著自身的MAC地址,因此在本例中,隧道撥號(hào)代理裝置通過監(jiān)聽Dhcpdiscover來判斷客戶端的IP是否發(fā)生變化。
[0065]而撥號(hào)代理盒子上記錄有PC機(jī)原先的IP地址、MAC地址。所以當(dāng)盒子收到一個(gè)Dhcpdiscover報(bào)文時(shí),從報(bào)文中的MAC地址便可以看出原先的哪個(gè)IP地址發(fā)生了變化。
[0066]將隧道表項(xiàng)中所記錄的客戶端的IP地址更新為新客戶端的地址后,封裝一個(gè)包含隧道ID和新IP地址和端口的私有信令報(bào)文通過隧道傳給服務(wù)器。以便服務(wù)器根據(jù)報(bào)文中的隧道ID將對(duì)應(yīng)表項(xiàng)中的對(duì)端真實(shí)IP和端口替換成新的IP地址和端口。
[0067]與上述通過無公網(wǎng)IP的撥號(hào)隧道代理裝置實(shí)現(xiàn)NAT穿越的方法相對(duì)應(yīng),本申請(qǐng)還提供了無公網(wǎng)IP的撥號(hào)隧道代理裝置。
[0068]本申請(qǐng)的無公網(wǎng)IP的撥號(hào)隧道代理裝置的實(shí)施例可以應(yīng)用在網(wǎng)絡(luò)設(shè)備上。無公網(wǎng)IP的撥號(hào)隧道代理裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過其所在設(shè)備的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖6所示,為本申請(qǐng)無公網(wǎng)IP的撥號(hào)隧道代理裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖6所示的處理器、網(wǎng)絡(luò)接口、內(nèi)存以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常還可以包括其他硬件。
[0069]圖7是本申請(qǐng)無公網(wǎng)IP的撥號(hào)隧道代理裝置通過軟件實(shí)現(xiàn)時(shí)內(nèi)部結(jié)構(gòu)的邏輯框圖。在該實(shí)施例中,無公網(wǎng)IP的撥號(hào)隧道代理裝置700包括監(jiān)聽模塊701、隧道建立模塊702和報(bào)文轉(zhuǎn)發(fā)模塊703。監(jiān)聽模塊701與多個(gè)客戶端連接,可以用于監(jiān)聽所連接的各個(gè)客戶端的地址信息以及各個(gè)客戶端所發(fā)送的報(bào)文,并判斷客戶端所發(fā)送的報(bào)文是否是需要監(jiān)控系統(tǒng)處理的報(bào)文。隧道建立模塊702可以利用監(jiān)聽模塊701所獲取的客戶端的地址信息與撥號(hào)隧道服務(wù)器建立應(yīng)用隧道。在應(yīng)用隧道建立后,撥號(hào)隧道服務(wù)器會(huì)分配給無公網(wǎng)IP的撥號(hào)隧道代理裝置一個(gè)虛擬IP地址,隧道建立模塊702在收到這個(gè)虛擬IP地址后轉(zhuǎn)發(fā)給報(bào)文轉(zhuǎn)發(fā)模塊。報(bào)文轉(zhuǎn)發(fā)模塊可以通過虛擬IP地址利用應(yīng)用隧道將需要發(fā)給監(jiān)控系統(tǒng)處理的報(bào)文發(fā)給撥號(hào)隧道服務(wù)器進(jìn)行處理,并在收到撥號(hào)隧道服務(wù)器回復(fù)的報(bào)文后,將虛擬IP地址轉(zhuǎn)換為目的客戶端的IP地址后發(fā)給該客戶端。
[0070]以下對(duì)無公網(wǎng)IP的撥號(hào)隧道代理裝置700的各模塊的功能進(jìn)行說明。
[0071]監(jiān)聽模塊,用于監(jiān)聽至少一個(gè)所連接的客戶端的地址信息以及客戶端發(fā)送的報(bào)文;當(dāng)客戶端發(fā)送的報(bào)文的目的地址在監(jiān)控系統(tǒng)的地址段內(nèi)時(shí),則將所述報(bào)文傳給報(bào)文轉(zhuǎn)發(fā)豐吳塊;
[0072]隧道建立模塊,用于通過其中一個(gè)客戶端的地址信息向預(yù)先配置的撥號(hào)隧道服務(wù)器地址建立應(yīng)用隧道;并接收所述撥號(hào)隧道服務(wù)器所分配的虛擬IP地址;
[0073]報(bào)文轉(zhuǎn)發(fā)模塊,用于將報(bào)文中的客戶端IP地址轉(zhuǎn)換成所述虛擬IP地址,通過所述應(yīng)用隧道將所述報(bào)文轉(zhuǎn)發(fā)至所述撥號(hào)隧道服務(wù)器;以及將從所述撥號(hào)隧道服務(wù)器返回的報(bào)文的所述虛擬IP地址轉(zhuǎn)換成所述客戶端IP地址后,將所述報(bào)文發(fā)送至所述客戶端。
[0074]在一個(gè)實(shí)施例中,建立應(yīng)用隧道時(shí)所使用的客戶端的地址信息為所述監(jiān)聽模塊收到首個(gè)地址信息的客戶端的地址信息;隧道建立模塊進(jìn)一步用于在建立應(yīng)用隧道時(shí)從所述應(yīng)用隧道服務(wù)器接收所述監(jiān)控系統(tǒng)的地址段傳給監(jiān)聽模塊。
[0075]在另一個(gè)實(shí)施例中所述監(jiān)控系統(tǒng)的地址段為預(yù)先配置;建立應(yīng)用隧道時(shí)所使用的客戶端的地址信息為所述監(jiān)聽模塊收到的首個(gè)發(fā)送的報(bào)文中的目的地址在所述監(jiān)控系統(tǒng)的地址段內(nèi)的客戶端的地址信息。
[0076]優(yōu)選的,監(jiān)聽模塊進(jìn)一步用于獲取所連接的每個(gè)所述客戶端通過DHCP所獲得的所有地址信息和所述客戶端的MAC地址;監(jiān)聽模塊當(dāng)根據(jù)所述MAC地址監(jiān)聽到用于建立應(yīng)用隧道的所述客戶端的地址信息更新后,通知所述隧道建立模塊;隧道建立模塊根據(jù)所述MAC地址查找到所述用于建立應(yīng)用隧道的所述客戶端的地址信息所對(duì)應(yīng)的應(yīng)用隧道的標(biāo)識(shí);并將其中一個(gè)客戶端當(dāng)前正在使用的地址信息和所述應(yīng)用隧道的標(biāo)識(shí)構(gòu)建隧道更新消息,并通知所述撥號(hào)隧道服務(wù)器將所述用于建立應(yīng)用隧道的所述客戶端的地址信息更新為所述當(dāng)前正在使用的地址信息。
[0077]優(yōu)選的,當(dāng)至少兩個(gè)所述客戶端發(fā)送的報(bào)文的目的地址在監(jiān)控系統(tǒng)的地址段內(nèi)時(shí),所述報(bào)文轉(zhuǎn)發(fā)模塊進(jìn)一步用于將所述報(bào)文中的客戶端端口轉(zhuǎn)換成所述無公網(wǎng)IP的撥號(hào)隧道代理裝置上的映射端口,以及將從所述撥號(hào)隧道服務(wù)器返回的報(bào)文的所述映射端口轉(zhuǎn)換成所述客戶端端口。
[0078]本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本申請(qǐng)的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本申請(qǐng)的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本申請(qǐng)的一般性原理并包括本申請(qǐng)未公開的本【技術(shù)領(lǐng)域】中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本申請(qǐng)的真正范圍和精神由下面的權(quán)利要求指出。
[0079]應(yīng)當(dāng)理解的是,本申請(qǐng)并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本申請(qǐng)的范圍僅由所附的權(quán)利要求來限制。
【權(quán)利要求】
1.一種無公網(wǎng)I?的撥號(hào)隧道代理裝置,用于通過與撥號(hào)隧道服務(wù)器建立應(yīng)用隧道,實(shí)現(xiàn)客戶端與監(jiān)控系統(tǒng)之間的通信,其特征在于,所述的撥號(hào)隧道代理裝置無公網(wǎng)I?地址,其包括: 監(jiān)聽模塊,用于監(jiān)聽所連接的客戶端的地址信息以及客戶端發(fā)送的報(bào)文;所述客戶端的地址信息包括I?地址;當(dāng)所述客戶端發(fā)送的報(bào)文的目的I?地址在監(jiān)控系統(tǒng)的I?地址段內(nèi)時(shí),則將所述報(bào)文傳給報(bào)文轉(zhuǎn)發(fā)模塊; 隧道建立模塊,用于利用其中一個(gè)所述客戶端的I?地址與所述撥號(hào)隧道服務(wù)器的I?地址建立應(yīng)用隧道,所述撥號(hào)隧道服務(wù)器的地址信息預(yù)先配置于所述無公網(wǎng)I?地址的撥號(hào)隧道代理裝置中;并接收所述撥號(hào)隧道服務(wù)器所分配的虛擬I?地址; 報(bào)文轉(zhuǎn)發(fā)模塊,用于將所述報(bào)文中的客戶端I?地址轉(zhuǎn)換成所述虛擬I?地址,通過所述應(yīng)用隧道將所述報(bào)文轉(zhuǎn)發(fā)至所述撥號(hào)隧道服務(wù)器;以及將從所述撥號(hào)隧道服務(wù)器返回的報(bào)文的所述虛擬I?地址轉(zhuǎn)換成所述客戶端I?地址后,將所述報(bào)文發(fā)送至所述客戶端。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述監(jiān)聽模塊進(jìn)一步用于獲取所連接的每個(gè)所述客戶端通過0訊:?所獲得的所有地址信息; 所述監(jiān)聽模塊當(dāng)根據(jù)所述嫩地址監(jiān)聽到建立應(yīng)用隧道時(shí)所使用的所述客戶端的地址信息更新后,通知所述隧道建立模塊; 所述隧道建立模塊根據(jù)所述傲0地址查找到建立應(yīng)用隧道時(shí)所使用的的所述客戶端的地址信息所對(duì)應(yīng)的應(yīng)用隧道的標(biāo)識(shí);并將其中一個(gè)客戶端當(dāng)前正在使用的地址信息和所述應(yīng)用隧道的標(biāo)識(shí)構(gòu)建隧道更新消息,并通知所述撥號(hào)隧道服務(wù)器將建立應(yīng)用隧道時(shí)所使用的所述客戶端的地址信息更新為所述當(dāng)前正在使用的地址信息。
3.根據(jù)權(quán)利要求1所述的裝置,其特征在于,當(dāng)至少兩個(gè)所述客戶端發(fā)送的報(bào)文的目的地址在監(jiān)控系統(tǒng)的地址段內(nèi)時(shí),所述報(bào)文轉(zhuǎn)發(fā)模塊進(jìn)一步用于將所述報(bào)文中的客戶端端口轉(zhuǎn)換成所述無公網(wǎng)I?的撥號(hào)隧道代理裝置上的映射端口,以及將從所述撥號(hào)隧道服務(wù)器返回的報(bào)文的所述映射端口轉(zhuǎn)換成所述客戶端端口。
4.根據(jù)權(quán)利要求1所述的裝置,其特征在于,其中一個(gè)所述客戶端的地址信息為所述監(jiān)聽模塊收到首個(gè)地址信息的客戶端的地址信息; 所述隧道建立模塊進(jìn)一步用于在建立應(yīng)用隧道時(shí)從所述應(yīng)用隧道服務(wù)器接收所述監(jiān)控系統(tǒng)的地址段傳給監(jiān)聽模塊。
5.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述監(jiān)控系統(tǒng)的地址段為預(yù)先配置; 其中一個(gè)所述客戶端的地址信息為所述監(jiān)聽模塊收到的首個(gè)發(fā)送的報(bào)文中的目的地址在所述監(jiān)控系統(tǒng)的地址段內(nèi)的客戶端的地址信息。
6.一種利用撥號(hào)隧道穿越嫩I的方法,用于通過與撥號(hào)隧道服務(wù)器建立應(yīng)用隧道,實(shí)現(xiàn)客戶端與監(jiān)控服務(wù)器之間的通信,其特征在于,包括步驟: 監(jiān)聽所連接的客戶端的地址信息;所述客戶端的地址信息包括I?地址; 利用其中一個(gè)所述客戶端的地址信息與所述撥號(hào)隧道服務(wù)器建立應(yīng)用隧道,所述撥號(hào)隧道服務(wù)器的地址為預(yù)先配置;并接收所述撥號(hào)隧道服務(wù)器所分配的虛擬I?地址; 如果所述客戶端發(fā)送的報(bào)文的目的地址在監(jiān)控系統(tǒng)的地址段內(nèi),將所述報(bào)文中的客戶端I?地址轉(zhuǎn)換成所述虛擬I?地址,通過所述應(yīng)用隧道將所述報(bào)文轉(zhuǎn)發(fā)至所述撥號(hào)隧道服務(wù)器;以及將從所述撥號(hào)隧道服務(wù)器返回的報(bào)文的所述虛擬I?地址轉(zhuǎn)換成所述客戶端I?地址后,將所述報(bào)文發(fā)送至所述客戶端。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,監(jiān)聽至少一個(gè)所連接的客戶端的地址信息具體包括:監(jiān)聽所述客戶端通過DHCP所獲得的所有地址信息和所述客戶端的MAC地址; 當(dāng)根據(jù)所述MAC地址監(jiān)聽到建立應(yīng)用隧道時(shí)所使用的所述客戶端的地址信息更新后,根據(jù)所述MAC地址查找到建立應(yīng)用隧道時(shí)所使用的的所述客戶端的地址信息所對(duì)應(yīng)的應(yīng)用隧道的標(biāo)識(shí);并將其中一個(gè)客戶端當(dāng)前正在使用的地址信息和所述應(yīng)用隧道的標(biāo)識(shí)構(gòu)建隧道更新消息,并通知所述撥號(hào)隧道服務(wù)器將建立應(yīng)用隧道時(shí)所使用的所述客戶端的地址信息更新為所述當(dāng)前正在使用的地址信息。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,當(dāng)至少兩個(gè)所述客戶端發(fā)送的報(bào)文的目的地址在監(jiān)控系統(tǒng)的地址段內(nèi)時(shí),所述方法還包括: 將所述報(bào)文中的客戶端端口轉(zhuǎn)換成相應(yīng)的映射端口,以及將從所述撥號(hào)隧道服務(wù)器返回的報(bào)文的所述映射端口轉(zhuǎn)換成所述客戶端端口。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述監(jiān)控系統(tǒng)的地址段為預(yù)先配置; 其中一個(gè)所述客戶端的地址信息為收到的首個(gè)發(fā)送的報(bào)文中的目的地址在所述監(jiān)控系統(tǒng)的地址段內(nèi)的客戶端的地址信息。
10.根據(jù)權(quán)利要求6所述的方法,其特征在于,其中一個(gè)所述客戶端的地址信息為收到的首個(gè)地址信息的客戶端的地址信息; 所述方法還進(jìn)一步包括:在建立應(yīng)用隧道時(shí)從所述應(yīng)用隧道服務(wù)器接收所述監(jiān)控系統(tǒng)的地址段。
【文檔編號(hào)】H04L12/46GK104468625SQ201410833313
【公開日】2015年3月25日 申請(qǐng)日期:2014年12月26日 優(yōu)先權(quán)日:2014年12月26日
【發(fā)明者】周迪, 徐婷婷 申請(qǐng)人:浙江宇視科技有限公司