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