智能路由器間穿越非對稱nat進(jìn)行p2p通信的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及路由器的技術(shù)領(lǐng)域,特別是涉及一種智能路由器間穿越非對稱NAT進(jìn)行點對點(Point to Point,P2P)通信的系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著路由器相關(guān)的終端設(shè)備越來越多,公網(wǎng)IP地址的分配就會變得相對枯竭,同時具有公網(wǎng)IP地址的設(shè)備也變得越來越少。為了解決公網(wǎng)IP地址不夠的問題,網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translat1n,NAT)技術(shù)應(yīng)運而生,其在緩解IPv4地址緊缺問題以及保證網(wǎng)絡(luò)安全等方面都都發(fā)揮了機及其重要的作用。然而,NAT設(shè)備類型的廣泛存在卻給Internet上的主機,特別是處于不同內(nèi)網(wǎng)中的主機進(jìn)行P2P通信帶來了障礙,限制了 P2P的應(yīng)用。
[0003]NAT阻礙主機間進(jìn)行P2P通信的主要原因是:NAT不允許公網(wǎng)主機主動訪問內(nèi)網(wǎng)主機,這使得Internet上具有公網(wǎng)IP地址的主機不能主動訪問NAT之后的主機,而位于不同NAT之后的主機間更是無法相互識別,因而不能直接交換信息。而在實際使用中,很多的路由器都不具有公網(wǎng)IP地址,并且大多數(shù)路由器都是存在于NAT之后的。
[0004]智能路由器也就是智能化管理的路由器,通常具有獨立的操作系統(tǒng),可以由用戶自行安裝各種應(yīng)用,自行控制帶寬、自行控制在線人數(shù)、自行控制瀏覽網(wǎng)頁、自行控制在線時間,同時擁有強大的USB共享功能,真正做到網(wǎng)絡(luò)和設(shè)備的智能化管理。
[0005]在智能路由器越來越成熟的今天,例如當(dāng)通過手機在遠(yuǎn)端查看家中通過路由器存儲的家庭監(jiān)控視頻時,若手機不知道家庭智能路由器的公網(wǎng)IP地址,也就無法訪問到家庭監(jiān)控視頻。
[0006]因此,需要通過一種協(xié)商機制來獲取對方主機的公網(wǎng)IP地址,以便使得通過手機能夠直接訪問路由器在出NAT之后的公網(wǎng)IP地址,從而訪問到路由器。
【發(fā)明內(nèi)容】
[0007]鑒于以上所述現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種智能路由器間穿越非對稱NAT進(jìn)行P2P通信的系統(tǒng)及方法,使得都處于非對稱NAT類型的兩臺路由器之間能夠通過一個信令協(xié)商服務(wù)器來進(jìn)行兩臺路由器之間的通信。
[0008]為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種智能路由器間穿越非對稱NAT進(jìn)行P2P通信的系統(tǒng),包括兩個智能路由器和信令協(xié)商服務(wù)器;所述智能路由器包括心跳客戶端模塊和信令請求模塊;所述心跳客戶端模塊用于上報當(dāng)前智能路由器的公網(wǎng)IP地址;所述信令請求模塊用于發(fā)送公網(wǎng)IP請求以獲取對端的公網(wǎng)IP地址,并通過獲得的對端的公網(wǎng)IP地址發(fā)送連接請求到對端;以及接收對端要與其進(jìn)行通信連接的信令請求;所述信令協(xié)商服務(wù)器包括心跳服務(wù)器模塊、公網(wǎng)IP數(shù)據(jù)庫模塊和信令協(xié)商模塊;所述心跳服務(wù)器模塊用于接收智能路由器的心跳客戶端模塊發(fā)送來的智能路由器的公網(wǎng)IP地址;所述公網(wǎng)IP數(shù)據(jù)庫模塊與所述心跳服務(wù)器模塊相連,用于存儲心跳服務(wù)器模塊獲得的公網(wǎng)IP地址;所述信令協(xié)商模塊與所述公網(wǎng)IP數(shù)據(jù)庫模塊相連,用于響應(yīng)第一智能路由器的信令請求模塊發(fā)送來的公網(wǎng)IP請求,并發(fā)送信令請求至第二智能路由器的信令請求模塊,告知第一智能路由器要與其進(jìn)行通信連接。
[0009]同時,本發(fā)明還提供一種智能路由器間穿越非對稱NAT進(jìn)行P2P通信的方法,包括以下步驟:
[0010]步驟S11、信令協(xié)商服務(wù)器收集第一智能路由器和第二智能路由器的公網(wǎng)IP地址;
[0011]步驟S12、信令協(xié)商服務(wù)器存儲第一智能路由器和第二智能路由器的公網(wǎng)IP地址;
[0012]步驟S13、信令協(xié)商服務(wù)器接收第一智能路由器發(fā)送來的公網(wǎng)IP請求,所述公網(wǎng)IP請求用于請求獲取第二智能路由器的公網(wǎng)IP地址;
[0013]步驟S14、信令協(xié)商服務(wù)器向第一智能路由器發(fā)送第二智能路由器的公網(wǎng)IP地址,使得第一智能路由器根據(jù)獲得的第二智能路由器的公網(wǎng)IP地址,向第二智能路由器發(fā)起連接請求;同時發(fā)送信令請求至第二智能路由器,告知第一智能路由器要與其建立通信連接,使得第二智能路由器獲取第一智能路由器的公網(wǎng)IP地址,并向第一智能路由器發(fā)起連接請求。
[0014]根據(jù)上述的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的方法,其中:所述步驟Sll中,信令協(xié)商服務(wù)器通過其上的心跳服務(wù)器模塊收集各個心跳客戶端模塊上報來的各個智能路由器的公網(wǎng)IP地址。
[0015]根據(jù)上述的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的方法,其中:所述步驟S12中,信令協(xié)商服務(wù)器通過其上的公網(wǎng)IP數(shù)據(jù)庫模塊存儲第一智能路由器和第二智能路由器的公網(wǎng)IP地址。
[0016]根據(jù)上述的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的方法,其中:所述步驟S13中,信令協(xié)商服務(wù)器通過其上的信令協(xié)商模塊接收第一智能路由器的信令請求模塊發(fā)送來的公網(wǎng)IP請求。
[0017]根據(jù)上述的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的方法,其中:所述步驟S14中,信令協(xié)商服務(wù)器通過其上的信令協(xié)商模塊向第一智能路由器發(fā)送第二智能路由器的公網(wǎng)IP地址;通過其上的信令協(xié)商模塊發(fā)送信令請求至第二智能路由器。
[0018]另外,本發(fā)明還提供一種智能路由器間穿越非對稱NAT進(jìn)行P2P通信的方法,包括以下步驟:
[0019]步驟S21、第一智能路由器和第二智能路由器向信令協(xié)商服務(wù)器上報自身的公網(wǎng)IP地址,以便信令協(xié)商服務(wù)器進(jìn)行存儲;
[0020]步驟S22、第一智能路由器向信令協(xié)商服務(wù)器發(fā)送公網(wǎng)IP請求以獲取第二智能路由器的公網(wǎng)IP地址;
[0021]步驟S23、第一智能路由器接收信令協(xié)商服務(wù)器發(fā)送來的第二智能路由器的公網(wǎng)IP地址,向第二智能路由器發(fā)起連接請求;第二智能路由器接收信令協(xié)商服務(wù)器發(fā)送來的第一智能路由器要與其建立通信連接的信令請求,獲取第一智能路由器的公網(wǎng)IP地址,并向第一智能路由器發(fā)起連接請求。
[0022]根據(jù)上述的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的方法,其中:所述步驟S21中,智能路由器通過其上的心跳客戶端模塊向信令協(xié)商服務(wù)器上報自身的公網(wǎng)IP地址。
[0023]根據(jù)上述的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的方法,其中:所述步驟S22中,第一智能路由器通過其上的信令請求模塊向信令協(xié)商服務(wù)器的信令協(xié)商模塊發(fā)送公網(wǎng)IP請求。
[0024]根據(jù)上述的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的方法,其中:所述步驟S23中,第一智能路由器通過其上的信令請求模塊接收信令協(xié)商服務(wù)器發(fā)送來的第二智能路由器的公網(wǎng)IP地址,并向第二智能路由器發(fā)起連接請求;第二智能路由器通過其上的信令接收模塊接收信令協(xié)商服務(wù)器發(fā)送來的信令請求。
[0025]如上所述,本發(fā)明的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的系統(tǒng)及方法,具有以下有益效果:
[0026](I)通過引入信令協(xié)商服務(wù)器,使得處于不同NAT下的智能路由器能夠找到對方智能路由器在NAT后的公網(wǎng)IP地址,然后通過訪問對方智能路由器的NAT之后的公網(wǎng)IP地址,建立兩個智能路由器間的P2P的連接通信;
[0027](2)適用于基于UDP/TCP的NAT打洞穿越協(xié)商。
【附圖說明】
[0028]圖1顯示為本發(fā)明的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的系統(tǒng)結(jié)構(gòu)示意圖;
[0029]圖2顯示為本發(fā)明的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的系統(tǒng)的應(yīng)用場景不意圖;
[0030]圖3顯示為本發(fā)明的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的方法的流程圖。
[0031]元件標(biāo)號說明
[0032]I智能路由器
[0033]11心跳客戶端模塊
[0034]12信令請求模塊
[0035]2信令協(xié)商服務(wù)器
[0036]21心跳服務(wù)器模塊
[0037]22公網(wǎng)IP數(shù)據(jù)庫模塊
[0038]23信令協(xié)商模塊
【具體實施方式】
[0039]以下通過特定的具體實例說明本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的【具體實施方式】加以實施或應(yīng)用,本說明書中的各項細(xì)節(jié)也可以基于不同觀點與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。
[0040]需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0041]本發(fā)明的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的系統(tǒng)及方法通過引入信令協(xié)商服務(wù)器,使得處于不同NAT下的智能路由器能夠找到對方智能路由器在NAT后的公網(wǎng)IP地址,然后通過訪問對方智能路由器的NAT之后的公網(wǎng)IP地址,建立兩個智能路由器間的P2P的連接通信。具體地,無論是基于UDP的NAT打洞穿越協(xié)商,還是基于TCP的NAT打洞穿越協(xié)商,都能通過信令協(xié)商服務(wù)器,很好的找到他們的公網(wǎng)IP地址。
[0042]參照圖1,本發(fā)明的智能路由器間穿越非對稱NAT進(jìn)行P2P通信的系統(tǒng)包括兩個智能路由器I和信令協(xié)商服務(wù)器2。
[0043]兩個智能路由器I的結(jié)構(gòu)相同,均包括心跳客戶端模塊11和信令請求模塊12。
[0044]其中,心跳客戶端模11塊用于上報當(dāng)前智能路由器的工作狀態(tài)和公網(wǎng)IP地址。其中,工作狀態(tài)包括在線和不在線兩種。
[0045]信令請求模塊12用于發(fā)送公網(wǎng)IP請求以獲取對端的公網(wǎng)IP地址,并通過獲得的對端的公網(wǎng)IP地址發(fā)送連接請求到對端;以及接收對端要與其進(jìn)行通信連接的信令請求。
[0046]信令協(xié)商服務(wù)器2包括心跳服務(wù)器模塊21、公網(wǎng)IP數(shù)據(jù)庫模塊22和信令協(xié)商模塊23。
[0047]其中,心跳服務(wù)器模塊21用于接收智能路由器的心跳客戶端模塊11發(fā)送來的智能路由器的工作狀態(tài)和公網(wǎng)IP地址。
[0048]公網(wǎng)IP數(shù)據(jù)庫模塊22與心跳服務(wù)器模塊21相連,用于存儲心跳服務(wù)器模塊21獲得的公網(wǎng)IP地址。
[0049]信令協(xié)商模塊23與公網(wǎng)IP數(shù)據(jù)庫模塊22相連,用于響應(yīng)第一智能路由器的信令請求模塊22發(fā)送來的公網(wǎng)IP請求,并發(fā)送信令請求至第二智能路由器的信令請求模塊12,告知第一智能路由器要與其進(jìn)行通信連接。
[0050]具體地,信令協(xié)商模塊根據(jù)接收到的第