專利名稱:穿越nat設(shè)備的遠程控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)。
背景技術(shù):
隨著IPTV(網(wǎng)絡(luò)電視)機頂盒的普及,它的后期維護成為困擾廠家的一個難題, 解決一個簡單問題往往需要工程師到達故障現(xiàn)場,存在解決問題效率低,維護成本高的缺 點。但由于IPTV機頂盒與傳統(tǒng)的DVB機頂盒不同,是基于TCP/IP協(xié)議棧開發(fā)的接入到 Internet的網(wǎng)絡(luò)設(shè)備,使得通過網(wǎng)絡(luò)遠程解決IPTV機頂盒故障成為了可能。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,提供一種適用于IPTV機頂盒的穿越NAT設(shè)備的遠 程控制方法。 本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案是,穿越NAT設(shè)備的遠程控制方 法,用戶終端、遠程控制端處于兩個獨立內(nèi)網(wǎng)中,用戶終端所在內(nèi)網(wǎng)的路由器為用戶端路由 器,遠程控制端所在內(nèi)網(wǎng)的路由器為控制端路由器,用戶端路由器與控制端路由器均為NAT 設(shè)備,包括以下步驟 a、用戶終端上電后,用戶終端經(jīng)用戶端路由器向公網(wǎng)服務(wù)器發(fā)送包含有用戶終端 MAC地址的數(shù)據(jù)包; b、遠程控制端經(jīng)控制端路由器請求公網(wǎng)服務(wù)器返回所述用戶終端MAC地址對應(yīng) 的用戶終端的公網(wǎng)IP地址與端口號; c、遠程控制端接收到用戶終端的公網(wǎng)IP地址與端口號后,經(jīng)控制端路由器向用 戶終端發(fā)送連接數(shù)據(jù);用戶端路由器丟棄所述連接數(shù)據(jù); d、遠程控制端檢測到發(fā)送所述連接數(shù)據(jù)失敗后,請求公網(wǎng)服務(wù)器向用戶終端發(fā)送 指令,所述指令為讓用戶終端主動向遠程控制端發(fā)送連接數(shù)據(jù);
e、公網(wǎng)服務(wù)器向用戶終端發(fā)送所述指令; f、用戶終端經(jīng)用戶端路由器、控制端路由器向遠程控制端發(fā)送連接數(shù)據(jù); g、用戶終端與遠程控制端成功建立連接。 進一步的,步驟a至f中均采用UDP協(xié)議進行通信。 步驟c中用戶端路由器雖因遠程控制端的公網(wǎng)IP地址與端口號在用戶端路由器 的NAT緩存中沒有記錄,而丟棄了連接數(shù)據(jù),但此時用戶終端的公網(wǎng)IP地址與端口號在控 制端路由器的NAT緩沖中有了記錄,用戶終端發(fā)送給遠程控制端的數(shù)據(jù)則可以被控制端路 由器轉(zhuǎn)發(fā)至遠程控制端上;完成步驟f后,用戶端路由器的NAT緩存中也留下了遠程控制端 的公網(wǎng)IP地址與端口號,則遠程控制端發(fā)送給用戶終端的數(shù)據(jù)也能可以被用戶端路由器 成功轉(zhuǎn)發(fā)至用戶終端上,遠程控制端與用戶終端可不借助公網(wǎng)服務(wù)器展開正常通信。因為 網(wǎng)絡(luò)拓撲非常復(fù)雜,不同內(nèi)網(wǎng)下網(wǎng)絡(luò)設(shè)備的內(nèi)網(wǎng)IP地址很有可能相同。所以用IP做為遠 程連接的關(guān)鍵字不可行,而MAC地址是全球唯一的,在步驟a與步驟b中,以用戶終端MAC
3地址作為區(qū)別各用戶終端的關(guān)鍵字。進一步的,如使用TCP協(xié)議進行連接,在兩個不同內(nèi)網(wǎng)
間進行難度大,UDP協(xié)議是面向無連接的,能夠簡化連接過程、提高連接成功率。 本發(fā)明的有益效果是,使得遠程控制端能成功訪問處于不同內(nèi)網(wǎng)的用戶終端,降
低維護成本。
圖l為實施例示意圖。
具體實施例方式
如圖1所示,用戶終端B(IPTV機頂盒)、遠程控制端A處于兩個獨立內(nèi)網(wǎng)中,公網(wǎng) 服務(wù)器C為公網(wǎng)上具有一個固定IP地址的第三方,用戶終端所在內(nèi)網(wǎng)的路由器為用戶端路 由器Rb,遠程控制端所在內(nèi)網(wǎng)的路由器為控制端路由器Ra, Rb與Ra均為cone型NAT設(shè)備。
首先,B開機,其內(nèi)置遠程控制服務(wù)程序會主動把B的MAC地址12:34:56:78: 9A: BC 封裝在一個UDP數(shù)據(jù)報文中并向公網(wǎng)中IP為22. 22. 12. 34,端口號為3333的C發(fā)送。當(dāng) B發(fā)往C的數(shù)據(jù)包經(jīng)過Rb時,通過NAT轉(zhuǎn)換,源目的IP由內(nèi)網(wǎng)地址192. 168. 12. 34變?yōu)榱?Rb的公網(wǎng)IP地址33. 33. 12. 34。源端口由5555變?yōu)榱?4444。此公網(wǎng)IP和端口即為B在 公網(wǎng)上的真實網(wǎng)絡(luò)地址。同時因為C所在的網(wǎng)絡(luò)為公網(wǎng),不會出現(xiàn)NAT丟棄數(shù)據(jù)包的情況, 所以C能接收到B發(fā)送給它的數(shù)據(jù),并記錄B的公網(wǎng)IP 33. 33. 12. 34,公網(wǎng)端口 4444。
當(dāng)B出現(xiàn)故障,遠程控制端A需要登錄到B上時。A首先發(fā)送請求到C查詢B 所在公網(wǎng)的真實IP和端口。因為C在公網(wǎng),所以能接收A發(fā)送的數(shù)據(jù),并將B的真實IP 33. 33. 12. 34和端口 4444告訴A。 A收到B的真實IP和端口后,首先嘗試向33. 33. 12. 34 : 4444端口發(fā)送連接請求。因為A的地址在Rb的NAT緩存中沒有記錄,所以此時A向B發(fā)送 的包會被Rb的NAT直接丟棄,但此時B的地址在Ra的NAT緩存中有了記錄,此時B發(fā)往A 的數(shù)據(jù)包可以被NAT轉(zhuǎn)發(fā)到內(nèi)網(wǎng)中的A上。 當(dāng)A檢測到直接向B發(fā)送數(shù)據(jù)失敗時,它便向C發(fā)送數(shù)據(jù)包。請求C向B發(fā)送一 個請求,請求內(nèi)容為B向A主動發(fā)送連接。因為之前B和C之前有成功通訊記錄,即C的地 址在Rb的NAT緩存中。所以C發(fā)向B的數(shù)據(jù)會被NAT轉(zhuǎn)發(fā)到達B。 B接到C的請求后,即向A主動發(fā)起連接,此時Ra的NAT緩存中因有B的地址信 息,會轉(zhuǎn)發(fā)B發(fā)送的數(shù)據(jù)包到達A。而在這個過程中Rb的NAT緩存中也留下了 A的地址信 息,所以此時A再向B發(fā)送數(shù)據(jù)時也能正功到達B。隨后A、B即可不借助C展開正常通信。
如果B長期不和外界通訊,Rb中NAT為B開放的端口會被NAT收回,此時及時A得 到了很久之前B的公網(wǎng)IP和端口 ,也不能與B成功通訊,因為此時B在公網(wǎng)的端口已經(jīng)被 NAT回收,所以在此要使B定期給C發(fā)送保持存活數(shù)據(jù)包,保持C中記錄的B信息是可用的。
權(quán)利要求
穿越NAT設(shè)備的遠程控制方法,其特征在于,包括以下步驟a、用戶終端上電后,用戶終端經(jīng)用戶端路由器向公網(wǎng)服務(wù)器發(fā)送包含有用戶終端MAC地址的數(shù)據(jù)包;b、遠程控制端經(jīng)控制端路由器請求公網(wǎng)服務(wù)器返回所述用戶終端MAC地址對應(yīng)的用戶終端的公網(wǎng)IP地址與端口號;c、遠程控制端接收到用戶終端的公網(wǎng)IP地址與端口號后,經(jīng)控制端路由器向用戶終端發(fā)送連接數(shù)據(jù);用戶端路由器丟棄所述連接數(shù)據(jù);d、遠程控制端檢測到發(fā)送所述連接數(shù)據(jù)失敗后,請求公網(wǎng)服務(wù)器向用戶終端發(fā)送指令,所述指令為讓用戶終端主動向遠程控制端發(fā)送連接數(shù)據(jù);e、公網(wǎng)服務(wù)器向用戶終端發(fā)送所述指令;f、用戶終端經(jīng)用戶端路由器、控制端路由器向遠程控制端發(fā)送連接數(shù)據(jù);g、用戶終端與遠程控制端成功建立連接;所述用戶終端、遠程控制端處于兩個獨立內(nèi)網(wǎng)中,用戶終端所在內(nèi)網(wǎng)的路由器為用戶端路由器,遠程控制端所在內(nèi)網(wǎng)的路由器為控制端路由器,所述用戶端路由器與控制端路由器均為NAT設(shè)備。
2. 如權(quán)利要求1所述穿越NAT設(shè)備的遠程控制方法,其特征在于,所述步驟a至f中均 采用UDP協(xié)議進行通信。
3. 如權(quán)利要求1所述穿越NAT設(shè)備的遠程控制方法,其特征在于,步驟g中,用戶終端 與遠程控制端成功建立連接后,用戶終端定期經(jīng)用戶端路由器向公網(wǎng)服務(wù)器發(fā)送包含有用 戶終端MAC地址的數(shù)據(jù)包。
4. 如權(quán)利要求1所述穿越NAT設(shè)備的遠程控制方法,其特征在于,所述用戶端路由器與 控制端路由器均為cone型NAT設(shè)備。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)。本發(fā)明提供一種適用于IPTV機頂盒的穿越NAT設(shè)備的遠程控制方法。穿越NAT設(shè)備的遠程控制方法,包括步驟用戶終端向公網(wǎng)服務(wù)器發(fā)送包含有用戶終端MAC地址的數(shù)據(jù)包;遠程控制端請求公網(wǎng)服務(wù)器返回所述用戶終端MAC地址對應(yīng)的用戶終端的公網(wǎng)IP地址與端口號;遠程控制端向用戶終端發(fā)送連接數(shù)據(jù);用戶端路由器丟棄所述連接數(shù)據(jù);遠程控制端請求公網(wǎng)服務(wù)器向用戶終端發(fā)送指令,所述指令為讓用戶終端主動向遠程控制端發(fā)送連接數(shù)據(jù);用戶終端向遠程控制端發(fā)送連接數(shù)據(jù);用戶終端與遠程控制端成功建立連接。本發(fā)明使得遠程控制端能成功訪問處于不同內(nèi)網(wǎng)的用戶終端,降低維護成本。
文檔編號H04L29/06GK101741927SQ20091031218
公開日2010年6月16日 申請日期2009年12月24日 優(yōu)先權(quán)日2009年12月24日
發(fā)明者張密 申請人:四川長虹電器股份有限公司