專利名稱:一種外部網(wǎng)絡(luò)直接訪問無線通信模塊的方法
技術(shù)領(lǐng)域:
本發(fā)明公開一種外部網(wǎng)絡(luò)直接訪問無線通信模塊的實(shí)現(xiàn)方法。
2.
背景技術(shù):
隨著無線技術(shù)的成熟和GPRS, CDMA公共無線數(shù)據(jù)網(wǎng)絡(luò)的架設(shè),無線通信模塊被愈來愈廣泛的應(yīng)用 于監(jiān)控、調(diào)度、車載、遙控、遠(yuǎn)程測量、智能無線固定臺(tái)、定位和導(dǎo)航等系統(tǒng)和產(chǎn)品。無線通信模塊 在這些系統(tǒng)和應(yīng)中擔(dān)負(fù)語音、SMS和數(shù)據(jù)傳輸?shù)墓δ堋A硗?,TCP/IP在Internet和無線網(wǎng)絡(luò)得到了 完全的應(yīng)用,成為了網(wǎng)絡(luò)通信主流的協(xié)議。無線通信模塊的數(shù)據(jù)傳輸功能也采用了 TCP/IP協(xié)議。
然而,由于人部分無線網(wǎng)絡(luò)運(yùn)營商的網(wǎng)絡(luò)是獨(dú)立于Internet,無線網(wǎng)絡(luò)內(nèi)的通信模塊必須通過 NAT服務(wù)器和PROXY網(wǎng)關(guān)才能訪問Internet。而Internet上的應(yīng)用更是無法直接訪問無線內(nèi)部IP網(wǎng) 絡(luò)。因此,目前的無線通信模塊的通信模式是由無線通信模塊發(fā)起TCP或者UDP連接到Internet 上或者無線IP網(wǎng)內(nèi)的后臺(tái)服務(wù)器,然后由后臺(tái)服務(wù)器實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),存儲(chǔ)等工作。應(yīng)用客戶端通過 后臺(tái)服務(wù)器和無線通信模塊進(jìn)行信息交互。這種通信模式必須要求無線通信模塊要時(shí)刻主動(dòng)保持和維 護(hù)和與中心的通信。中心必須等待無線通信模塊的連接后才能做配置,數(shù)據(jù)傳輸?shù)裙ぷ鳌?br>
附圖l所示為傳統(tǒng)的無線通信模塊的應(yīng)用方式和環(huán)境。當(dāng)無線通信模塊建立數(shù)據(jù)通信連接后,實(shí) 際是在無線通信is營商內(nèi)部IP網(wǎng)內(nèi)取得IP地址。相當(dāng)丁-無線通信模組在無線運(yùn)營商內(nèi)部的局域網(wǎng)內(nèi), 后臺(tái)服務(wù)器一般構(gòu)建于Internet或?qū)S蠭P網(wǎng)。應(yīng)用客戶端一般運(yùn)行于家庭或者公司局域網(wǎng)內(nèi)。此時(shí) 后臺(tái)服務(wù)器是無線通信模塊和應(yīng)用客戶端的橋梁。
在此提出一種外部網(wǎng)絡(luò)直接訪問無線通信模塊的實(shí)現(xiàn)方法。任何時(shí)候,運(yùn)行于Internet或無線 IP網(wǎng)內(nèi)的應(yīng)用客戶端可以直接連接無線通信模塊,無需通過后臺(tái)服務(wù)器,把無線通信模塊的主動(dòng)通信 模式改變?yōu)楸粍?dòng)通信模式,省去后臺(tái)服務(wù)器系統(tǒng)。使得整個(gè)無線通信模塊的應(yīng)用環(huán)境完全改變。
這種新的方法采用P2P(Peer to Peer)技術(shù),使得兩個(gè)內(nèi)部網(wǎng)的機(jī)器可以通過Internet相互通信, 而不需要服務(wù)器中轉(zhuǎn)。在此,具體為運(yùn)營商內(nèi)部網(wǎng)中的無線通信模塊和公司內(nèi)部網(wǎng)(或家庭網(wǎng)絡(luò))的 應(yīng)用客戶端。3.
發(fā)明內(nèi)容
本發(fā)明的核心是把P2P技術(shù)應(yīng)用在無線通信模塊上,使得兩個(gè)內(nèi)部網(wǎng)中的無線通信模塊和應(yīng)用客 戶端可以通過Internet相互直接訪問。從而改變了無線通信模塊的使用模式,使得M2M (Machine To Machine,機(jī)器到機(jī)器)應(yīng)用開發(fā)變得簡單。附圖1是傳統(tǒng)的M2M應(yīng)用中無線通信模塊的使用模式, 無線通信模塊作為客戶端連接遠(yuǎn)端服務(wù)器,然后傳送數(shù)據(jù),此模式需要無線通信模塊隨時(shí)連接遠(yuǎn)端或 中心軟件,數(shù)據(jù)流量大,也不利于控制。而且,每種應(yīng)用都要開發(fā)單獨(dú)的后臺(tái)服務(wù)器軟件,運(yùn)作部署 時(shí),還要架設(shè)服務(wù)器系統(tǒng)。附圖2是采用本發(fā)明的方法后,無線通信模塊的使用模式。從附圖2中可 以看出,采用了本發(fā)明的方法后,通信數(shù)據(jù)流是直接在無線通信模塊和應(yīng)用客戶端之間傳輸?shù)?。后臺(tái) 服務(wù)器不再需要。
本發(fā)明采W UDP穿透NAT服務(wù)器的方法,需耍一個(gè)P2P服務(wù)器,然而不同T后臺(tái)服務(wù)器,只是P2P 連接建立過程中的管理者,它不參與數(shù)據(jù)傳輸。和通常的業(yè)務(wù)后臺(tái)服務(wù)器相比,P2P服務(wù)器是一個(gè)非 常輕量級(jí)的系統(tǒng),并且可以服務(wù)于任何類別的業(yè)務(wù),因?yàn)闆]有任何業(yè)務(wù)數(shù)據(jù)通過P2P服務(wù)器。
本發(fā)明的技術(shù)實(shí)現(xiàn)在第5部分具體實(shí)施方式
中描述。
4.
參見說明書附圖
附圖1傳統(tǒng)的無線通信模塊應(yīng)用系統(tǒng) 附圖2直接訪問無線通信模塊的應(yīng)用系統(tǒng) 附圖3直接訪問無線通信模塊的實(shí)現(xiàn)
5.
具體實(shí)施例方式
本發(fā)明使用P2P技術(shù),實(shí)現(xiàn)上使用UDP或TCP技術(shù)穿透無線運(yùn)營商和公司網(wǎng)絡(luò)的NAT服務(wù)。下面UDP P2P 的具體實(shí)施步驟
A) 建立P2P服務(wù)器
此P2P服務(wù)器架設(shè)在Internet之上。使用Internet公網(wǎng)IP或域名。
B) 無線通信模塊取得運(yùn)營商內(nèi)部網(wǎng)絡(luò)IP
在無線通信模塊內(nèi)部使用PPP協(xié)議,連接移動(dòng)運(yùn)營商的數(shù)據(jù)網(wǎng)絡(luò)。如中國移動(dòng)的CMNET或CMWAP。連
4接成功后,無線通信模塊獲得IP地址。
C) 無線通信模塊連接P2P服務(wù)器
此時(shí)無線運(yùn)營商的NAT服務(wù)器會(huì)建立一個(gè)內(nèi)外的UDP端口映射。P2P服務(wù)器接收到的UDP協(xié)議中IP和 端口都是NAT的外部IP和端口,如附圖3中的的外部IP l和端口 1。
在無線通信模塊連接P2P服務(wù)器時(shí),P2P服務(wù)器會(huì)記住對(duì)應(yīng)的外部IP和端口。
D) 應(yīng)用客戶端連接P2P服務(wù)器 同無線通信模塊連接P2P服務(wù)器
E) 無線通信模塊和應(yīng)用客戶端直接通信
NAT服務(wù)器為每一個(gè)Session分配一個(gè)NAT服務(wù)器自己的端口號(hào),依據(jù)此端口號(hào)來判斷將收到的公網(wǎng) IP主機(jī)返回的TCP/IP數(shù)據(jù)包轉(zhuǎn)發(fā)給那臺(tái)內(nèi)網(wǎng)IP地址的計(jì)算機(jī)。在這里Session是虛擬的,UDP通訊 并不需要建立連接,但是對(duì)于NAT服務(wù)器而言,的確要有一個(gè)Session的概念存在。
有了各自的外部NAT端口,應(yīng)用客戶端和無線通信模塊就可以連接對(duì)應(yīng)的外部端口,模仿外部網(wǎng)絡(luò)連 接內(nèi)部網(wǎng)絡(luò),使得各自的NAT上為直接的連接建立Session,從而建立直接的連接。這個(gè)過程成為P2P "打洞"。根據(jù)NAT服務(wù)器的類型不同,發(fā)送到不同外部IP對(duì)應(yīng)的外部端口可能會(huì)變,在外部端口變 化的情況,使用測算法,取得連接使用的外部端口。只要TCP/UDP包通過外部IP和端口通過NAT服務(wù) 器進(jìn)入內(nèi)部網(wǎng)絡(luò),兩臺(tái)機(jī)器就可以直接通信了。
(1) Full Cone NAT:
內(nèi)網(wǎng)主機(jī)建立一個(gè)UDP socket (LocalIP:LocalPort)第一次使用這個(gè)socket給外部主機(jī)發(fā)送數(shù)據(jù)時(shí) NAT會(huì)給其分配一個(gè)公網(wǎng)(PublicIP:PublicPort),以后用這個(gè)socket向外面任何主機(jī)發(fā)送數(shù)據(jù)都將使 用這對(duì)(PublicIP:PublicPort)。此外,任何外部主機(jī)只要知道這個(gè)(PublicIP:PublicPort)就可以發(fā) 送數(shù)據(jù)給(PublicIP:PublicPort),內(nèi)網(wǎng)的主機(jī)就能收到這個(gè)數(shù)據(jù)包。
(2) Restricted Cone NAT:
內(nèi)網(wǎng)主機(jī)建立一個(gè)UDP socket (Local IP :LocalPort)第一次使用這個(gè)socket給外部主機(jī)發(fā)送數(shù)據(jù)時(shí) NAT會(huì)給其分配一個(gè)公網(wǎng)(PublicIP:PublicPort),以后用這個(gè)socket向外面任何主機(jī)發(fā)送數(shù)據(jù)都將使 用這對(duì)(PublicIP:PublicPort)。此外,如果任何外部主機(jī)想要發(fā)送數(shù)據(jù)給這個(gè)內(nèi)網(wǎng)主機(jī),只要知道這 個(gè)(PublicIP:PublicPort)并且內(nèi)網(wǎng)主機(jī)之前用這個(gè)socket曾向這個(gè)外部主機(jī)IP發(fā)送過數(shù)據(jù)。只要 滿足這兩個(gè)條件,這個(gè)外部主機(jī)就可以用自己的(IP,任何端口 )發(fā)送數(shù)據(jù)給(Publ icIP: Publ icPort), 內(nèi)網(wǎng)的主機(jī)就能收到這個(gè)數(shù)據(jù)包。(3) Port Restricted Cone NAT:
內(nèi)網(wǎng)主機(jī)建立一個(gè)UDP socket(LocalIP:LocalPort)第一次使用這個(gè)socket給外部主機(jī)發(fā)送數(shù)據(jù)時(shí) NAT會(huì)給其分配一個(gè)公網(wǎng)(PublicIP:PublicPort),以后用這個(gè)socket向外面任何主機(jī)發(fā)送數(shù)據(jù)都將使 用這對(duì)(PublicIP:PublicPort)。此外,如果任何外部主機(jī)想要發(fā)送數(shù)據(jù)給這個(gè)內(nèi)網(wǎng)主機(jī),只要知道這 個(gè)(PublicIP:PublicPort)并且內(nèi)網(wǎng)主機(jī)之前用這個(gè)socket曾向這個(gè)外部主機(jī)(IP, Port)發(fā)送過數(shù) 據(jù)。只要滿足這兩個(gè)條件,這個(gè)外部主機(jī)就可以用自己的(IP, Port)發(fā)送數(shù)據(jù)給 (PublicIP:PublicPort),內(nèi)網(wǎng)的主機(jī)就能收到這個(gè)數(shù)據(jù)包。
(4) Symmetric NAT:
內(nèi)網(wǎng)主機(jī)建立一個(gè)UDP socket (LocalIP, LocalPort),當(dāng)用這個(gè)socket第一次發(fā)數(shù)據(jù)給外部主機(jī)1 時(shí),NAT為其映射一個(gè)(PublicIP-l, Port-1),以后內(nèi)網(wǎng)主機(jī)發(fā)送給外部主機(jī)1的所有數(shù)據(jù)都是用這個(gè) (PublicIP-l,Port-l),如果內(nèi)網(wǎng)主機(jī)同時(shí)用這個(gè)socket給外部主機(jī)2發(fā)送數(shù)據(jù),第一次發(fā)送時(shí),NAT 會(huì)為其分配一個(gè)(PublicIP-2,Port-2),以后內(nèi)網(wǎng)主機(jī)發(fā)送給外部主機(jī)2的所有數(shù)據(jù)都是用這個(gè) (PublicIP-2,Port-2).如果NAT有多于一個(gè)公網(wǎng)IP,則PublicIP-1和PublicIP-2可能不同,如果 NAT只有一個(gè)公網(wǎng)IP,則Port-l和Port-2肯定不同,也就是說一定不能是PublicIP-l等于PublicIP-2 且Port-1等于Port-2。此外,如果任何外部主機(jī)想要發(fā)送數(shù)據(jù)給這個(gè)內(nèi)網(wǎng)主機(jī),那么它首先應(yīng)該收 到內(nèi)網(wǎng)主機(jī)發(fā)給他的數(shù)據(jù),然后才能往回發(fā)送,否則即使他知道內(nèi)網(wǎng)主機(jī)的一個(gè)(PublicIP,Port)也不 能發(fā)送數(shù)據(jù)給內(nèi)網(wǎng)主機(jī),這種NAT無法必須是預(yù)測法來探測后續(xù)分配的外部UDP端口實(shí)現(xiàn)P2P通信。
權(quán)利要求
1.一種無線通信模塊的數(shù)據(jù)傳輸方法,其特征是無線網(wǎng)外部IP設(shè)備直接和無線通信模塊通信而傳輸數(shù)據(jù),而不需要服務(wù)器中轉(zhuǎn)。
2. —種配置無線通信模塊的方法,其特征數(shù)據(jù)沒有通過服務(wù)器中轉(zhuǎn),配置直接在客戶端實(shí)現(xiàn)。
3. —種M2M系統(tǒng)運(yùn)營的方法,其特征沒有業(yè)務(wù)服務(wù)器,業(yè)務(wù)全部在客戶端實(shí)現(xiàn)。
全文摘要
本發(fā)明的核心是把P2P技術(shù)應(yīng)用在無線通信模塊上,使得兩個(gè)內(nèi)部網(wǎng)中的無線通信模塊和應(yīng)用客戶端可以通過Internet相互直接訪問。從而改變了無線通信模塊的使用模式,使得M2M(Machine To Machine,機(jī)器到機(jī)器)應(yīng)用環(huán)境變得簡單。傳統(tǒng)的M2M應(yīng)用中,無線通信模塊作為客戶端連接遠(yuǎn)端服務(wù)器,然后傳送數(shù)據(jù),此模式需要無線通信模塊隨時(shí)連接遠(yuǎn)端或中心軟件,數(shù)據(jù)流量大,也不利于控制。而且,每種應(yīng)用都要開發(fā)單獨(dú)的后臺(tái)服務(wù)器軟件,運(yùn)作部署時(shí),還要架設(shè)服務(wù)器系統(tǒng)。采用本發(fā)明的方法后,通信數(shù)據(jù)流是直接在無線通信模塊和應(yīng)用客戶端之間傳輸?shù)?。后臺(tái)服務(wù)器不再需要。
文檔編號(hào)H04L29/08GK101635735SQ200810133778
公開日2010年1月27日 申請日期2008年7月27日 優(yōu)先權(quán)日2008年7月27日
發(fā)明者童 陳 申請人:童 陳