專利名稱:一種基于IPv6的無(wú)線傳感器網(wǎng)絡(luò)服務(wù)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及IPv6網(wǎng)絡(luò)技術(shù),尤其涉及一種基于IPv6的無(wú)線傳感器網(wǎng)絡(luò)服務(wù) 器系統(tǒng)。
背景技術(shù):
無(wú)線傳感器監(jiān)控網(wǎng)絡(luò)是無(wú)線傳感器網(wǎng)絡(luò)與監(jiān)測(cè)控制技術(shù)相結(jié)合的產(chǎn)物。它 由部署在監(jiān)測(cè)區(qū)域內(nèi)部或附近的大量廉價(jià)的傳感器節(jié)點(diǎn)通過(guò)自組織方式構(gòu)成的 網(wǎng)絡(luò),具有低成本、低能耗、靈活性高、可擴(kuò)展等優(yōu)點(diǎn),其可以廣泛地應(yīng)用于
國(guó)防軍事、環(huán)境監(jiān)測(cè)和預(yù)報(bào)、農(nóng)業(yè)監(jiān)測(cè)控制、智能家居等眾多領(lǐng)域,受到越來(lái) 越多的關(guān)注。
IPv6是下一代互聯(lián)網(wǎng)的核心協(xié)議,具有地址資源豐富、地址自動(dòng)配置、支 持實(shí)時(shí)業(yè)務(wù)、安全性高、移動(dòng)性好等優(yōu)點(diǎn)。將IPv6與無(wú)線傳感器監(jiān)控網(wǎng)絡(luò)結(jié)合 構(gòu)建的IPv6無(wú)線傳感器監(jiān)控網(wǎng)絡(luò),可以滿足目前無(wú)線傳感器監(jiān)控網(wǎng)絡(luò)在地址、 安全及移動(dòng)性等方面的需求,符合未來(lái)無(wú)線傳感器監(jiān)控網(wǎng)絡(luò)的發(fā)展方向,已成 為其研究熱點(diǎn)之一。
在選定了無(wú)線傳感器網(wǎng)絡(luò)相關(guān)通信協(xié)議,并將這些硬件設(shè)備組建為網(wǎng)絡(luò)之 后,需要對(duì)無(wú)線傳感器網(wǎng)絡(luò)采集的數(shù)據(jù)進(jìn)行分析,因此需要后臺(tái)數(shù)據(jù)系統(tǒng)的支 持。對(duì)于傳感器網(wǎng)絡(luò)后臺(tái)服務(wù)器系統(tǒng)應(yīng)具備以下特點(diǎn)-
1) 穩(wěn)定性傳感器網(wǎng)絡(luò)收集周圍世界的數(shù)據(jù),是一項(xiàng)長(zhǎng)期的工程,如何使 得傳感器網(wǎng)絡(luò)不出錯(cuò)的運(yùn)行下去,這是服務(wù)器系統(tǒng)的核心問(wèn)題。
2) 自愈性在網(wǎng)絡(luò)斷開(kāi)之后,如何進(jìn)行自我愈合,在網(wǎng)絡(luò)長(zhǎng)時(shí)間沒(méi)有數(shù)據(jù)
產(chǎn)生時(shí),如何確定網(wǎng)絡(luò)是否已經(jīng)斷開(kāi),從而進(jìn)行不同的操作是需要服務(wù)器系統(tǒng)解決的難點(diǎn)問(wèn)題。
3)并發(fā)性當(dāng)大量傳感信息數(shù)據(jù)同時(shí)到達(dá)服務(wù)器系統(tǒng)時(shí),服務(wù)器可以利用 多線程技術(shù)同時(shí)處理多個(gè)信息包的請(qǐng)求,并發(fā)性成為服務(wù)器系統(tǒng)的一項(xiàng)重要指標(biāo)。
目前,在無(wú)線傳感器網(wǎng)絡(luò)領(lǐng)域出現(xiàn)了一些相關(guān)的工具
1. Mote-view
Crossbow公司開(kāi)發(fā)的Mote-view軟件是無(wú)線傳感器網(wǎng)絡(luò)與用戶之間的個(gè) 接口,為用戶提供了一系列的工具用以簡(jiǎn)化部署及檢測(cè),并且使得連接數(shù)據(jù)庫(kù)、 分析、圖形顯示傳感數(shù)據(jù)變得非常容易。它支持Crossbow的所有傳感器集成數(shù) 據(jù)采集板等,使用時(shí)連接數(shù)據(jù)庫(kù)和無(wú)線傳感器網(wǎng)絡(luò)。在連接上之后,選擇無(wú)線 傳感器網(wǎng)絡(luò)所運(yùn)行的應(yīng)用程序,即可對(duì)無(wú)線傳感器網(wǎng)絡(luò)進(jìn)行檢測(cè)。
2. Tiny Viz
Tiny Viz是TOSSIM的可視化工具,能夠附加到一個(gè)正在運(yùn)行的仿真程序 中,采用Java實(shí)現(xiàn)。能夠?qū)Ψ抡嬷械牟糠中畔⑦M(jìn)行配置。Tiny Viz引擎使用事 件驅(qū)動(dòng)模型,這使得Tiny OS事件驅(qū)動(dòng)的程序執(zhí)行方式與事件驅(qū)動(dòng)的圖形用戶界 面之間有一個(gè)簡(jiǎn)單的對(duì)應(yīng)。
3. EmStar
EmStar是一個(gè)基于Linux的軟件框架,它有多種運(yùn)行環(huán)境,從純粹的仿真 到實(shí)際部署,EmStar的模型能夠使用標(biāo)準(zhǔn)接口靈活的實(shí)現(xiàn)相互連接,他們之間 的連接可以是數(shù)據(jù)流,狀態(tài)更新或者配置命令。
4. SNA
Draintree Network公司的Sensor Network Analyzer (SNA)是對(duì)傳統(tǒng)的網(wǎng)絡(luò) 協(xié)議分析的擴(kuò)展,他是一個(gè)強(qiáng)大的虛擬網(wǎng)絡(luò)分析器,包括網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、路由 及綁定應(yīng)用、鏈路質(zhì)量及設(shè)備狀態(tài)等的可視化。另外,SNA提供大量物理分布網(wǎng)絡(luò)中的多節(jié)點(diǎn)捕獲分析以及系統(tǒng)性能測(cè)量分析。
但是,以上各種傳感器網(wǎng)絡(luò)后臺(tái)服務(wù)器系統(tǒng)都無(wú)法應(yīng)用于IPv6無(wú)線傳感器
網(wǎng)絡(luò)。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種基于IPv6的無(wú)線傳感器網(wǎng)絡(luò)服務(wù)器系統(tǒng)。本發(fā) 明主要涉及服務(wù)器處理并轉(zhuǎn)發(fā)基于IPv6無(wú)線傳感器網(wǎng)絡(luò)的數(shù)據(jù)。本發(fā)明針對(duì)客
戶端對(duì)傳感器網(wǎng)絡(luò)數(shù)據(jù)信息的需求以及對(duì)傳感器網(wǎng)絡(luò)的有效控制,提供了一種 服務(wù)器數(shù)據(jù)處理系統(tǒng),有效地解決了用戶需求,使得用戶可以通過(guò)服務(wù)器對(duì)傳 感器網(wǎng)絡(luò)進(jìn)行有效監(jiān)控
發(fā)明內(nèi)容
概要如下無(wú)線傳感器監(jiān)控網(wǎng)絡(luò)由部署在監(jiān)測(cè)區(qū)域的不同類型傳感
器節(jié)點(diǎn)構(gòu)成,通過(guò)不同的傳感器節(jié)點(diǎn),實(shí)時(shí)地采集處理特定區(qū)域的傳感信息,
并發(fā)送到特定的網(wǎng)關(guān),再經(jīng)它將數(shù)據(jù)傳送到CDMA網(wǎng)絡(luò)中,最終由Internet網(wǎng)絡(luò) 把數(shù)據(jù)傳輸?shù)椒?wù)器。服務(wù)器接收數(shù)據(jù),供用戶使用,同時(shí)用戶做出控制判斷, 控制信息通過(guò)相反的流程傳到相應(yīng)節(jié)點(diǎn)。管理員通過(guò)訪問(wèn)服務(wù)器完成對(duì)整個(gè)無(wú) 線傳感器監(jiān)控網(wǎng)絡(luò)的有效管理(傳感器網(wǎng)絡(luò)和服務(wù)器系統(tǒng)整體架構(gòu)如圖l)。
根據(jù)傳感器網(wǎng)絡(luò)系統(tǒng)對(duì)通信的可靠性要求不高,同時(shí)CDMA網(wǎng)絡(luò)是按照流量記 費(fèi)的方式,在無(wú)線傳感器網(wǎng)絡(luò)采用面向無(wú)連接的套接字,采用UDP協(xié)議;在IPv4 Internet網(wǎng)絡(luò)上傳輸時(shí),要求可靠性較高,因此釆用面向連接的套接字,同時(shí), 利用TCP的"?;?字段,可以過(guò)一段時(shí)間發(fā)送一個(gè)保持連接的包,保證連接不 斷,增加了系統(tǒng)的穩(wěn)定性。因此需要把無(wú)線傳感器網(wǎng)絡(luò)的IPv6數(shù)據(jù)包封裝成CDMA 格式數(shù)據(jù)的數(shù)據(jù)包,再通過(guò)CDMA網(wǎng)絡(luò)傳輸?shù)焦W(wǎng)上,利用CD區(qū)網(wǎng)絡(luò)與Internet 網(wǎng)絡(luò)的接口,實(shí)現(xiàn)CDMA網(wǎng)絡(luò)數(shù)據(jù)包與Internet網(wǎng)絡(luò)數(shù)據(jù)包的無(wú)縫轉(zhuǎn)換。最后在 服務(wù)器端接收的是Interaet網(wǎng)絡(luò)數(shù)據(jù)格式的信息包(見(jiàn)附圖2)。本發(fā)明針對(duì)采用UDP和IPv6格式封裝,通過(guò)CDMA封裝TCP和IPv4報(bào)頭后,再傳
到服務(wù)器端進(jìn)行處理的傳感器網(wǎng)絡(luò)數(shù)據(jù)。特點(diǎn)是傳感器數(shù)據(jù)經(jīng)過(guò)兩次封裝網(wǎng)絡(luò) 層,IPv6報(bào)頭作為IPv4和TCP封裝的上層數(shù)據(jù)傳給服務(wù)器,服務(wù)器需要兩次通過(guò) 協(xié)議棧去掉包頭,把真實(shí)數(shù)據(jù)交給上層處理。本發(fā)明最大的特點(diǎn)就是數(shù)據(jù)包兩 次通過(guò)協(xié)議棧,需要數(shù)據(jù)在服務(wù)器高層和底層間進(jìn)行通信。服務(wù)器系統(tǒng)處理過(guò) 程可以看作封裝在IPv4 Internet網(wǎng)絡(luò)中的IPv6數(shù)據(jù)包的隧道機(jī)制,但又與傳統(tǒng) 的隧道機(jī)制有明顯區(qū)別,主要體現(xiàn)在IPv6數(shù)據(jù)包是作為IPv4協(xié)議棧應(yīng)用層數(shù)據(jù) 傳輸,通過(guò)封裝在IPv4中的IPv6數(shù)據(jù)包的接收和發(fā)送,完成該服務(wù)器系統(tǒng)的處 理。
根據(jù)本發(fā)明的發(fā)明目的,本發(fā)明提供一種基于IPv6的無(wú)線傳感器網(wǎng)絡(luò)服務(wù)器 系統(tǒng),所述基于IPv6的無(wú)線傳感器網(wǎng)絡(luò)包括至少一個(gè)傳感器節(jié)點(diǎn)、CDMA網(wǎng)絡(luò)、 IPv4網(wǎng)絡(luò)、服務(wù)器、IPv6網(wǎng)絡(luò),
所述服務(wù)器包括用戶空間單元和內(nèi)核空間單元,其中,
所述用戶空間單元包括
初始化模塊,用于在用戶空間單元接收數(shù)據(jù)包時(shí),初始化監(jiān)聽(tīng)模塊、轉(zhuǎn)發(fā)模 塊和接收模塊;
監(jiān)聽(tīng)模塊,用于創(chuàng)建面向連接的IPv4套接字,接收來(lái)自IPv4網(wǎng)絡(luò)的傳感器節(jié) 點(diǎn)數(shù)據(jù);
轉(zhuǎn)發(fā)模塊,用于負(fù)責(zé)數(shù)據(jù)在用戶空間單元與內(nèi)核空間單元的通信;
接收模塊,用于建立面向無(wú)連接的IPv6套接字,監(jiān)聽(tīng)UDP端口;
發(fā)送模塊,用于供用戶產(chǎn)生控制傳感器節(jié)點(diǎn)的命令包以及構(gòu)造在所述傳感器
網(wǎng)絡(luò)中能被傳感器節(jié)點(diǎn)識(shí)別的數(shù)據(jù)包,并將所述命令包或所述數(shù)據(jù)包傳送到內(nèi)
核空間單元;
數(shù)據(jù)庫(kù)模塊,用于存儲(chǔ)所述傳感器節(jié)點(diǎn)的地址信息、路由信息、傳感數(shù)據(jù)以及用于終端用戶管理的用戶信息; 所述內(nèi)核空間單元包括
Netfilter模塊用于實(shí)現(xiàn)包過(guò)濾、狀態(tài)檢測(cè)、網(wǎng)絡(luò)地址轉(zhuǎn)換和包標(biāo)記;
內(nèi)核接收線程模塊用于在內(nèi)核空間負(fù)責(zé)接收處理用戶空間發(fā)送的數(shù)據(jù)。
根據(jù)本發(fā)明的系統(tǒng),所述監(jiān)聽(tīng)模塊綁定IP地址和端口,再監(jiān)聽(tīng)等待客戶端的
TCP連接請(qǐng)求,當(dāng)監(jiān)聽(tīng)到客戶端有TCP連接請(qǐng)求時(shí),與客戶的TCP端口進(jìn)行連接。 根據(jù)本發(fā)明的系統(tǒng),所述轉(zhuǎn)發(fā)模塊包括第一線程單元和第二線程單元,其屮 第一線程單元,用于將接收的數(shù)據(jù)包發(fā)送到內(nèi)核空間單元; 第二線程單元,用T接收內(nèi)核空間單元傳遞的命令包,并將命令包傳送到
IPv4網(wǎng)絡(luò)。
根據(jù)本發(fā)明的系統(tǒng),所述接收模塊去掉IPv6報(bào)頭,接收UDP目的端口與傳感 器節(jié)點(diǎn)UDP端口一致的數(shù)據(jù)包,并將接收到的數(shù)據(jù)包存儲(chǔ)到數(shù)據(jù)庫(kù)模塊。
根據(jù)本發(fā)明的系統(tǒng),用戶通過(guò)點(diǎn)擊網(wǎng)頁(yè)使得所述發(fā)送模塊產(chǎn)生控制傳感器節(jié) 點(diǎn)的命令包。
根據(jù)本發(fā)明的系統(tǒng),所述數(shù)據(jù)庫(kù)模塊采用MySQL數(shù)據(jù)庫(kù)。
根據(jù)本發(fā)明的系統(tǒng),服務(wù)器系統(tǒng)利用所述Netfilter模塊接收到IPv4數(shù)據(jù)包, 通過(guò)Netlink套接字,將IPv6數(shù)據(jù)包傳送到內(nèi)核空間單元,在內(nèi)核空間單元的接 收緩沖區(qū),構(gòu)造虛擬的網(wǎng)卡接收過(guò)程;以及IPv6命令包在進(jìn)行路由處理之前, 由所述Netfilter模塊捕獲到該命令包,再通過(guò)Netlink套接字將該命令包傳送 到用戶空間單元。
為了進(jìn)一步說(shuō)明本發(fā)明的原理及特性,以下結(jié)合附圖和具體實(shí)施方式
對(duì) 本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
圖1是按照本發(fā)明一個(gè)實(shí)施方式的傳感器網(wǎng)絡(luò)及服務(wù)器系統(tǒng)整體結(jié)構(gòu)示意圖。
圖2是按照本發(fā)明一個(gè)實(shí)施方式的CDMA數(shù)據(jù)包格式、IPv4 Internet數(shù)據(jù)
包格式的示意圖。
圖3是按照本發(fā)明一個(gè)實(shí)施方式的服務(wù)器系統(tǒng)內(nèi)部結(jié)構(gòu)示意圖。 圖4是按照本發(fā)明一個(gè)實(shí)施方式的監(jiān)聽(tīng)模塊接收到的數(shù)據(jù)包格式示意圖。 圖5是按照本發(fā)明一個(gè)實(shí)施方式的發(fā)送到內(nèi)核空間的數(shù)據(jù)包格式示意圖。 圖6是按照本發(fā)明一個(gè)實(shí)施方式的點(diǎn)擊網(wǎng)頁(yè)構(gòu)造的命令幀在內(nèi)核空間中抓
取到的封裝格式示意圖。
圖7是按照本發(fā)明一個(gè)實(shí)施方式的內(nèi)核空間的子單元結(jié)構(gòu)示意圖。
圖8是按照本發(fā)明一個(gè)實(shí)施方式的服務(wù)器系統(tǒng)接收傳感器節(jié)點(diǎn)數(shù)據(jù)生成的
數(shù)據(jù)圖。
圖9是按照本發(fā)明一個(gè)實(shí)施方式的服務(wù)器系統(tǒng)發(fā)送命令的網(wǎng)頁(yè)示意圖。
具體實(shí)施例方式
下面結(jié)合附圖詳細(xì)描述本發(fā)明的具體實(shí)施方式
。
圖l是按照本發(fā)明實(shí)施的傳感器網(wǎng)絡(luò)和服務(wù)器系統(tǒng)整體結(jié)構(gòu)示意圖。圖l中 整個(gè)服務(wù)器系統(tǒng)采用分層體系結(jié)構(gòu)。分層的體系結(jié)構(gòu)能使系統(tǒng)的功能實(shí)現(xiàn)透明 化,各個(gè)層不需要了解其他層的具體工作,只需根據(jù)層間接口所提供的服務(wù), 獨(dú)立完成自己的功能。這種設(shè)計(jì)使服務(wù)器系統(tǒng)具有很強(qiáng)的靈活性和可擴(kuò)展性。
如圖1所示,在農(nóng)業(yè)基地中設(shè)置了由多個(gè)傳感器(也稱為傳感器節(jié)點(diǎn))組成 的無(wú)線傳感器網(wǎng)絡(luò)。優(yōu)選地,這些傳感器是溫度傳感器,也稱為溫度傳感器節(jié) 點(diǎn),用于監(jiān)測(cè)農(nóng)業(yè)基地內(nèi)部各處的溫度,并將采集到的數(shù)據(jù)傳遞給連接無(wú)線傳 感器網(wǎng)絡(luò)與CDMA網(wǎng)絡(luò)的網(wǎng)關(guān)。該網(wǎng)關(guān)用于將傳感器網(wǎng)絡(luò)封裝的數(shù)據(jù)包格式轉(zhuǎn)換為CDMA網(wǎng)絡(luò)數(shù)據(jù)包格式,或者將CDMA網(wǎng)絡(luò)數(shù)據(jù)包格式轉(zhuǎn)換為傳感器網(wǎng)絡(luò)封裝的 數(shù)據(jù)包格式。
如圖1所示,CDMA網(wǎng)絡(luò)將網(wǎng)關(guān)接收到的數(shù)據(jù)經(jīng)過(guò)現(xiàn)有的IPv4 Internet網(wǎng)絡(luò) 傳輸?shù)椒?wù)器。這些數(shù)據(jù)經(jīng)過(guò)服務(wù)器的處理后,通過(guò)IPv6協(xié)議棧傳輸給用戶或 者管理員,供其進(jìn)行處理。經(jīng)由用戶或管理員判斷處理之后,將控制信息通過(guò) 反向的流程傳回到相應(yīng)的傳感器。
本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)知曉,上述傳感器包括但不限于溫度傳感器,比如可 以是任意合適類型的傳感器,如濕度傳感器、光照強(qiáng)度傳感器等等。
圖2是按照本發(fā)明實(shí)施的CDMA數(shù)據(jù)包格式、IPv4數(shù)據(jù)包格式的示意圖。
如圖2所示,CDMA數(shù)據(jù)包格式包括四個(gè)部分,從前到后的順序是CDMA報(bào)頭、 IPv6報(bào)頭、UDP報(bào)頭、傳感數(shù)據(jù)。其中CDMA報(bào)頭是要通過(guò)CDMA網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)包 必須封裝的包頭;IPv6報(bào)頭是傳感器網(wǎng)絡(luò)采用的網(wǎng)絡(luò)層封裝格式,40字節(jié)的包 頭,其中16字節(jié)的IP地址可以提供傳感器網(wǎng)絡(luò)節(jié)點(diǎn)無(wú)限的地址空間;傳輸層采 用UDP協(xié)議,其報(bào)頭為8字節(jié),UDP協(xié)議更適用于傳感器網(wǎng)絡(luò);傳感數(shù)據(jù)是傳感器 節(jié)點(diǎn)采集到的原始數(shù)據(jù),屬于應(yīng)用層數(shù)據(jù),是用戶所關(guān)注的內(nèi)容。
如圖2所示,按照本發(fā)明一個(gè)實(shí)施方式,IPv4數(shù)據(jù)包格式包括五個(gè)部分,從 前到后的順序是IPv4報(bào)頭、TCP報(bào)頭、IPv6報(bào)頭、UDP報(bào)頭、傳感數(shù)據(jù)。耍把 CDMA網(wǎng)絡(luò)屮的數(shù)據(jù)轉(zhuǎn)到現(xiàn)有IPv4 Internet網(wǎng)絡(luò)中傳輸需要將CDMA包頭去掉,并 換上IPv4報(bào)頭和TCP報(bào)頭,也就是說(shuō)將傳感器網(wǎng)絡(luò)傳出的數(shù)據(jù)(包括IPv6報(bào)頭、 UDP報(bào)頭和傳感數(shù)據(jù))整體當(dāng)作現(xiàn)有IPv4 Internet網(wǎng)絡(luò)的應(yīng)用層數(shù)據(jù)進(jìn)行傳輸。
如圖2所示,按照本發(fā)明一個(gè)實(shí)施方式,CDMA數(shù)據(jù)包格式中的CDMA報(bào)頭轉(zhuǎn)換 為IPv4數(shù)據(jù)包格式中的IP"報(bào)頭。這種轉(zhuǎn)換方式是通過(guò)運(yùn)營(yíng)商的現(xiàn)有技術(shù)實(shí)現(xiàn) 的。通過(guò)圖2所示的數(shù)據(jù)包格式相互轉(zhuǎn)換,即可實(shí)現(xiàn)CDMA網(wǎng)絡(luò)數(shù)據(jù)包與IPv4 Internet網(wǎng)絡(luò)數(shù)據(jù)包的無(wú)縫轉(zhuǎn)換。圖3是按照本發(fā)明一個(gè)實(shí)施方式的服務(wù)器系統(tǒng)內(nèi)部結(jié)構(gòu)示意圖。按照本發(fā)明 一個(gè)實(shí)施方式,服務(wù)器系統(tǒng)被分成內(nèi)核空間和用戶空間兩個(gè)大的部分。
如圖3所示,用戶空間至少包括初始化模塊、監(jiān)聽(tīng)模塊、轉(zhuǎn)發(fā)模塊、接收模
塊、發(fā)送模塊和數(shù)據(jù)庫(kù)模塊;內(nèi)核空間至少包括Netfilter模塊和內(nèi)核接收線程 模塊。下面對(duì)各個(gè)模塊功能進(jìn)行說(shuō)明
1. 初始化模塊用于在用戶空間接收數(shù)據(jù)包時(shí),創(chuàng)建其它模塊,其他模塊
包括監(jiān)聽(tīng)模塊、轉(zhuǎn)發(fā)模塊和接收模塊,使這些模塊完成初始化。
2. 監(jiān)聽(tīng)模塊用于創(chuàng)建面向連接的IPv4套接字,用于接收來(lái)自IPv4 Internet 網(wǎng)絡(luò)的傳感器節(jié)點(diǎn)數(shù)據(jù)。通過(guò)建立socket套接字,將IP地址和端口綁定,再監(jiān) 聽(tīng)等待客戶端的TCP連接請(qǐng)求。當(dāng)監(jiān)聽(tīng)到客戶端有TCP連接請(qǐng)求時(shí),進(jìn)行TCP三路 握手,與客戶的TCP端口進(jìn)行連接。
3. 轉(zhuǎn)發(fā)模塊由兩個(gè)線程單元組成,用于負(fù)責(zé)數(shù)據(jù)在用戶空間與內(nèi)核空間 的通信。第一線程單元負(fù)責(zé)將IPv4套接字接收過(guò)來(lái)的用戶空間的數(shù)據(jù)包通過(guò) Netlink套接字發(fā)送到內(nèi)核空間,以供內(nèi)核空間接收線程處理。第二線程單元負(fù) 責(zé)接收內(nèi)核空間通過(guò)Netlink套接字傳遞的命令包,并將命令包通過(guò)原來(lái)的IPv4 套接字傳送到IPv4 Internet網(wǎng)絡(luò)。
1)第一線程單元,用于從用戶空間到內(nèi)核空間的數(shù)據(jù)轉(zhuǎn)換過(guò)程當(dāng)傳感數(shù) 據(jù)經(jīng)過(guò)己經(jīng)建立的面向連接的IPv4套接字,通過(guò)IPv4協(xié)議棧,去掉了IPv4報(bào)頭, 傳到用戶空間。用戶空間接收到該數(shù)據(jù)包(數(shù)據(jù)包格式見(jiàn)圖4),它是一個(gè)完整 的IPv6數(shù)據(jù)包,其中,傳感數(shù)據(jù)作為IPv6數(shù)據(jù)包應(yīng)用層數(shù)據(jù)。用戶空間創(chuàng)建 Netlink套接字,在創(chuàng)建和綁定成功后,將接收到的數(shù)據(jù)包放到轉(zhuǎn)發(fā)模塊的數(shù)據(jù) 區(qū)中,添加Netlink首部,再通過(guò)sendmsg()函數(shù),封裝MSGhdr首部,最終將數(shù) 據(jù)包發(fā)送到內(nèi)核空間,由內(nèi)核空間的接收線程處理(發(fā)送到內(nèi)核空間的數(shù)據(jù)包 格式如圖5所示)。圖4是按照本發(fā)明一個(gè)實(shí)施方式的監(jiān)聽(tīng)模塊接收到的數(shù)據(jù)包格式示意圖。 如圖4所示,監(jiān)聽(tīng)模塊接收到的數(shù)據(jù)包格式包括三個(gè)部分,就是完整的傳感 器網(wǎng)絡(luò)數(shù)據(jù)包(包括IPv6報(bào)頭、UDP報(bào)頭和傳感數(shù)據(jù):)。
圖5是按照本發(fā)明一個(gè)實(shí)施方式的發(fā)送到內(nèi)核空間的數(shù)據(jù)包格式示意圖。如 圖5所示,發(fā)送到內(nèi)核空間的數(shù)據(jù)包格式包括5個(gè)部分,前兩個(gè)報(bào)頭是數(shù)據(jù)包通 過(guò)轉(zhuǎn)發(fā)模塊添加的Netlink首部和MSGhdr首部,后面是完整的傳感器網(wǎng)絡(luò)數(shù)據(jù)包 (包括IPv6報(bào)頭、UDP報(bào)頭和傳感數(shù)據(jù))。
2)第二線程單元,用于從內(nèi)核空間到用戶空間的數(shù)據(jù)轉(zhuǎn)換過(guò)程第二線程 用于接收內(nèi)核空間的IPv6命令包,是發(fā)送數(shù)據(jù)包的逆過(guò)程。接收內(nèi)核空間的HV6 命令包時(shí),通過(guò)Netlink套接字,利用recvmsg()函數(shù)進(jìn)行接收,并將該命令包 通過(guò)原來(lái)已經(jīng)建立的IPv4套接字,傳遞到IPv4 Internet網(wǎng)絡(luò)上。
4. 接收模塊用于建立面向無(wú)連接的IPv6套接字,監(jiān)聽(tīng)UDP端口。通過(guò)IPv6 協(xié)議棧去掉IPv6報(bào)頭,接收到的UDP目的端口與傳感器節(jié)點(diǎn)使用的UDP端口一致 的數(shù)據(jù)包被本模塊接收,并將接收到的數(shù)據(jù)包存儲(chǔ)到數(shù)據(jù)庫(kù)模塊。
5. 發(fā)送模塊遠(yuǎn)端用戶通過(guò)點(diǎn)擊網(wǎng)頁(yè)產(chǎn)生了控制傳感器節(jié)點(diǎn)的命令包,經(jīng) 過(guò)IPv6和UDP協(xié)議棧添加IPv6和UDP報(bào)頭,構(gòu)造一個(gè)在傳感器網(wǎng)絡(luò)中可以被節(jié)點(diǎn) 識(shí)別的數(shù)據(jù)包,傳送到內(nèi)核空間,由內(nèi)核空間的Netfilter模塊進(jìn)行接收。 一種 適用于本專利的實(shí)施方式是,當(dāng)用戶需要向某個(gè)節(jié)點(diǎn)發(fā)送控制命令時(shí),可以遠(yuǎn) 程登錄到服務(wù)器系統(tǒng),在網(wǎng)頁(yè)中(網(wǎng)頁(yè)界面如圖9所示)輸入該節(jié)點(diǎn)號(hào)和控制命 令類型,點(diǎn)擊發(fā)送命令,即可觸發(fā)發(fā)送模塊,構(gòu)造IPv6的命令包(IPv6的命令 包格式如圖6所示)。其中,應(yīng)用層為構(gòu)造的命令幀。在圖6中的IPv6禾BUDP頭部, 目的地址和目的端口為遠(yuǎn)端傳感器節(jié)點(diǎn)的地址和端口。這樣,通過(guò)IPv6協(xié)議棧, 由內(nèi)核空間的Netfilter模塊接收,并最終發(fā)送到用戶空間。通過(guò)已經(jīng)建立好的 IPv4套接字,命令幀被傳送到遠(yuǎn)端傳感器節(jié)點(diǎn),完成命令幀發(fā)送的過(guò)程。6. 數(shù)據(jù)庫(kù)模塊數(shù)據(jù)庫(kù)模塊是服務(wù)器系統(tǒng)的基礎(chǔ)。設(shè)計(jì)數(shù)據(jù)庫(kù)和建立數(shù)據(jù) 庫(kù)層是利用Web數(shù)據(jù)庫(kù)進(jìn)行應(yīng)用程序開(kāi)發(fā)的首要步驟。優(yōu)選地,按照本發(fā)明一個(gè)
實(shí)施方式,在服務(wù)器系統(tǒng)中的數(shù)據(jù)庫(kù)模塊采用MySQL數(shù)據(jù)庫(kù)。首先,MySQL是開(kāi) 放源代碼的軟件,同時(shí),它相對(duì)其它大型數(shù)據(jù)庫(kù)而言,在速度方面很有優(yōu)勢(shì)。 而且,大多數(shù)Web數(shù)據(jù)庫(kù)應(yīng)用程序的典型特征是檢索比數(shù)據(jù)更新更加常見(jiàn),并 且小而簡(jiǎn)單的更新是修改的通用操作。服務(wù)器系統(tǒng)的數(shù)據(jù)庫(kù)模塊屮包含了IPv6 無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的地址信息、路由信息、傳感數(shù)據(jù),以及用于終端用戶管 理的用戶信息。通過(guò)MySQL提供的API接口函數(shù),可以方便的在用戶端對(duì)數(shù)據(jù)庫(kù) 進(jìn)行操作。
本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)知曉,數(shù)據(jù)庫(kù)模塊基于Web的數(shù)據(jù)庫(kù),因此包括但不 限于采用MySQL數(shù)據(jù)庫(kù),其他任何合適的基于Web的數(shù)據(jù)庫(kù)均可用于本發(fā)明。
7. Netfilter模塊Netfilter是Linux內(nèi)核中的一個(gè)包過(guò)濾框架,它在這個(gè) 框架上實(shí)現(xiàn)了包過(guò)濾、狀態(tài)檢測(cè)、網(wǎng)絡(luò)地址轉(zhuǎn)換和包標(biāo)記等多種功能,因?yàn)樗?設(shè)計(jì)的開(kāi)放性,可以很容易地利用它提供接口,在內(nèi)核的數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層, 實(shí)現(xiàn)自己的功能模塊(一個(gè)IPv6數(shù)據(jù)包按照如圖7所示的過(guò)程通過(guò)Netfilter模塊)。
圖7中具有用于處理IPv6數(shù)據(jù)包的5個(gè)子單元,分別是NF—IP—LOCAL—IN子單 元、NF—IP—LOCAL—0UT子單元、NF—IP—PRE—ROUTING子單元、NF—IP—POST—ROUTING 子單元、NF—IP—FORWARD子單元。數(shù)據(jù)經(jīng)過(guò)五個(gè)單元的流程如下數(shù)據(jù)報(bào)從左邊 進(jìn)入系統(tǒng),進(jìn)行IP校驗(yàn)以后,數(shù)據(jù)報(bào)經(jīng)過(guò)第一個(gè)NF—IP—PRE一ROUTING子單元進(jìn)行 處理;然后就進(jìn)入路由代碼(ROUTE),其決定該數(shù)據(jù)包是需要轉(zhuǎn)發(fā)還是發(fā)給本 機(jī)的;若該數(shù)據(jù)包是發(fā)給本機(jī)的,則該數(shù)據(jù)經(jīng)過(guò)NF—IP一LOCAL一IN子單元處理以 后然后傳遞給上層協(xié)議;若該數(shù)據(jù)包應(yīng)該被轉(zhuǎn)發(fā),則它被NFJP—FORMRD子單元 處理;經(jīng)過(guò)轉(zhuǎn)發(fā)的數(shù)據(jù)報(bào)經(jīng)過(guò)最后一個(gè)NF—IP—POST一ROUTING子單元處理以后,再傳輸?shù)骄W(wǎng)絡(luò)上。本地產(chǎn)生的數(shù)據(jù)經(jīng)過(guò)NF—IPJi)CALJ)UT子單元處理以后,進(jìn)行 路由選擇處理,然后經(jīng)過(guò)NF一IP—POST一ROUTING子單元處理以后發(fā)送到網(wǎng)絡(luò)上。 五個(gè)子單元的作用分別是
1) NF—IP—PRE—ROUTING子單元傳入的數(shù)據(jù)包被處理之前經(jīng)過(guò)這個(gè)子單 元,進(jìn)行的是一些與類型、長(zhǎng)度、版本有關(guān)的檢查。經(jīng)過(guò)這個(gè)子單元 處理之后,數(shù)據(jù)包進(jìn)入ROUTE路由,進(jìn)行杳路由表的工作,并判斷該 數(shù)據(jù)包是發(fā)給本地機(jī)器還是進(jìn)行轉(zhuǎn)發(fā)。在這個(gè)子單元主要是對(duì)數(shù)據(jù)包 作報(bào)頭檢測(cè)處理,以捕獲異常情況。
2) NF—IP—LOCAL—IN子單元將目的地址是本地的數(shù)據(jù)包交給本地服務(wù) 器。
3) NF—IP—FORWARD子單元目的地非本地主機(jī)的數(shù)據(jù)包都要經(jīng)過(guò)這個(gè)子 單元,可以利用這個(gè)子單元對(duì)應(yīng)的FORWARD規(guī)則鏈表來(lái)對(duì)數(shù)據(jù)包進(jìn)行 規(guī)則匹配的篩選。
4) NF—IP—L0CALJ)UT子單元本地主機(jī)發(fā)出的數(shù)據(jù)包經(jīng)過(guò)這個(gè)子單元, 用于構(gòu)建發(fā)送數(shù)據(jù)包,進(jìn)行錯(cuò)誤檢測(cè)和多播相關(guān)的處理。
5) NF_IP—POST一ROUTING子單元所有數(shù)據(jù)報(bào),包括源地址為本地主機(jī)和 非本地主機(jī)的,在通過(guò)網(wǎng)絡(luò)設(shè)備離開(kāi)本地主機(jī)之前,都要經(jīng)過(guò)這個(gè)子 單元進(jìn)行數(shù)據(jù)包處理。
按照本發(fā)明一個(gè)實(shí)施方式,在服務(wù)器系統(tǒng)中,IPv6數(shù)據(jù)包經(jīng)過(guò)Netfilter模 塊用到兩個(gè)子單元實(shí)現(xiàn)兩個(gè)過(guò)程
1) NF—IP_L0CAL—IN子單元服務(wù)器系統(tǒng)接收到的IPv4數(shù)據(jù)包,通過(guò)Netlink 套接字,將IPv6數(shù)據(jù)包傳送到內(nèi)核宇間,在內(nèi)核空間的接收緩沖區(qū),構(gòu)造虛擬 的網(wǎng)卡接收過(guò)程,此時(shí),可以利用NFJP丄OCAL—IN子單元進(jìn)行接收調(diào)試,以確 定IPv6協(xié)議棧是否能夠接收IPv6數(shù)據(jù)包。2) NF—IP—LOCAL—0UT子單元由用戶點(diǎn)擊網(wǎng)頁(yè)產(chǎn)生的IPv6命令包,通過(guò)IPv6 協(xié)議棧,進(jìn)入到內(nèi)核空間,在IPv6命令包通過(guò)NF—IP—L0CALJ)UT子單元后,在進(jìn) 行路由處理之前,由Netfilter模塊捕獲到該命令包,再通過(guò)Netlink套接字將 該命令包傳送到用戶空間。
8.內(nèi)核接收線程模塊用于在內(nèi)核空間負(fù)責(zé)接收處理用戶空間發(fā)送的數(shù)據(jù)。 使用API函數(shù)創(chuàng)建一個(gè)內(nèi)核套接字,同時(shí),注冊(cè)一個(gè)回調(diào)函數(shù),用于處理從用戶 空間接收到的并由Netlink套接字傳送到內(nèi)核空間的IPv6數(shù)據(jù)包,通過(guò)網(wǎng)卡接 收,觸發(fā)IPv6接收隊(duì)列,在用戶空間通過(guò)已經(jīng)建立的IPv6套接字進(jìn)行接收。
按照本發(fā)明一個(gè)實(shí)施方式,服務(wù)器系統(tǒng)的具體工作流程如下(分為接收過(guò)程 和發(fā)送過(guò)程)
接收過(guò)程
步驟l:用戶空間的初始化模塊對(duì)監(jiān)聽(tīng)模塊、轉(zhuǎn)發(fā)模塊、接收模塊進(jìn)行初始
化;
步驟2:初始化后的監(jiān)聽(tīng)模塊開(kāi)始對(duì)IPv4 Internet網(wǎng)絡(luò)中來(lái)自傳感器網(wǎng)絡(luò)的 數(shù)據(jù)包進(jìn)行監(jiān)聽(tīng);
步驟3: IPv4 Internet網(wǎng)絡(luò)上的數(shù)據(jù)包經(jīng)由以太網(wǎng),通過(guò)IPv4套接字進(jìn)入TCP, 在此去掉數(shù)據(jù)包在IPv4 Internet網(wǎng)絡(luò)中傳輸所必須的報(bào)頭部分,經(jīng)過(guò)INET套接 字、BSD套接字的處理后,到達(dá)用戶空間的監(jiān)聽(tīng)模塊;
步驟4:監(jiān)聽(tīng)模塊接收傳感器網(wǎng)絡(luò)數(shù)據(jù),然后將數(shù)據(jù)傳送到轉(zhuǎn)發(fā)模塊;
步驟5:轉(zhuǎn)發(fā)模塊將接收到傳感器網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行封裝報(bào)頭處理,然后將處理 后的數(shù)據(jù)傳送到內(nèi)核空間的Netl ink套接字;
步驟6:內(nèi)核接收線程模塊將接收到的傳感器數(shù)據(jù)解掉Netlink報(bào)頭,并送到 IPv6協(xié)議棧底部,去掉傳感器網(wǎng)絡(luò)數(shù)據(jù)的協(xié)議報(bào)頭;
歩驟7:接收模塊接收到去掉IPv6和UDP報(bào)頭的數(shù)據(jù)包,這時(shí)剩下的數(shù)據(jù)只是傳感器節(jié)點(diǎn)采集到的數(shù)據(jù),通過(guò)判斷是哪個(gè)節(jié)點(diǎn)傳來(lái)的數(shù)據(jù)(根據(jù)IPv6地址) 以及是什么數(shù)據(jù)(溫度值、光強(qiáng)值、路由信息等),存儲(chǔ)到相應(yīng)的數(shù)據(jù)庫(kù),完成 傳感器數(shù)據(jù)接收過(guò)程。 發(fā)送過(guò)程
歩驟l:用戶選擇要控制的節(jié)點(diǎn)和相應(yīng)的命令參數(shù),發(fā)送命令包(比如點(diǎn)擊 圖9中的"控制"按鈕);
步驟2:命令包經(jīng)過(guò)UDP和IPv6協(xié)議棧封裝成為傳感器網(wǎng)絡(luò)節(jié)點(diǎn)可以識(shí)別的數(shù)
據(jù)結(jié)構(gòu),在協(xié)議棧底部通過(guò)NF—IP—LOCALJ)UTf單元將包裝好的數(shù)據(jù)包放到 Netfilter模塊中;
歩驟3: Netlink套接字將Netfilter模塊中的數(shù)據(jù)包進(jìn)行封裝處理,然后將
處理后的數(shù)據(jù)包傳送到用戶空間的轉(zhuǎn)發(fā)模塊;
步驟4:轉(zhuǎn)發(fā)模塊將接收到數(shù)據(jù)包傳送到內(nèi)核空間的TCP和IPv4協(xié)議桟;
步驟5:經(jīng)過(guò)TCP和IPv4協(xié)議棧,包裝好的數(shù)據(jù)可以在IPv4 Internet網(wǎng)絡(luò)中 傳輸,經(jīng)過(guò)網(wǎng)卡構(gòu)造底層協(xié)議后發(fā)送到傳感器網(wǎng)絡(luò);
按照本發(fā)明一個(gè)實(shí)施方式,接收傳感器節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù),從Internet網(wǎng)絡(luò)傳 來(lái)的數(shù)據(jù)包經(jīng)過(guò)服務(wù)器內(nèi)核IPv4和TCP協(xié)議棧,到達(dá)用戶空間,再經(jīng)過(guò)轉(zhuǎn)發(fā)模塊 回到內(nèi)核網(wǎng)絡(luò)層,經(jīng)過(guò)IPv6和UDP協(xié)議棧,再次回到用戶空間,寫(xiě)入數(shù)據(jù)庫(kù),經(jīng) 過(guò)服務(wù)器端網(wǎng)頁(yè)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的進(jìn)一步處理,對(duì)應(yīng)每一節(jié)點(diǎn)產(chǎn)生它所傳來(lái)數(shù) 據(jù)的數(shù)據(jù)圖(如圖8所示)。
圖8是按照本發(fā)明 -個(gè)實(shí)施方式的服務(wù)器系統(tǒng)接收傳感器節(jié)點(diǎn)數(shù)據(jù)生成的數(shù) 據(jù)圖。圖8是溫度趨勢(shì)圖,橫軸表示時(shí)間,單位是分鐘;縱軸表示溫度,單位是 攝氏度。從圖8可以看出,服務(wù)器接收到了傳感器節(jié)點(diǎn)感知到的溫度,并按節(jié)點(diǎn) 感知溫度的時(shí)間制作了一張溫度變化圖,準(zhǔn)確的再現(xiàn)了單個(gè)節(jié)點(diǎn)的溫度變化趨 勢(shì)。圖9是按照本發(fā)明一個(gè)實(shí)施方式的服務(wù)器系統(tǒng)發(fā)送命令的網(wǎng)頁(yè)示意圖。 如圖9所示,該網(wǎng)頁(yè)上方出現(xiàn)命令,表示可以選擇待發(fā)送命令的類型和參數(shù)。 左側(cè)的"命令類型"單選按鈕包括開(kāi)始、停止、休眠;參數(shù)包括T、 L (T代
表溫度節(jié)點(diǎn),L代表光強(qiáng)節(jié)點(diǎn))。下拉菜單"1MIN"表示休眠時(shí)間設(shè)置為l分鐘。 地址框中輸入的是節(jié)點(diǎn)的IPv6地址,表示要控制的節(jié)點(diǎn)。點(diǎn)擊"控制"按鈕, 則進(jìn)行命令包的發(fā)送。點(diǎn)擊"顯示"按鈕,則顯示該節(jié)點(diǎn)的溫度變化趨勢(shì)圖。
當(dāng)發(fā)送命令時(shí),在服務(wù)器端網(wǎng)頁(yè)(見(jiàn)圖9)上選擇所選命令和參數(shù),以及要 發(fā)給的節(jié)點(diǎn)地址,點(diǎn)擊"控制"按鈕,即可發(fā)送命令。
雖然以上描述了本發(fā)明的具體實(shí)施方式
,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解, 這些具體實(shí)施方式
僅是舉例說(shuō)明,本領(lǐng)域的技術(shù)人員在不脫離本發(fā)明的原理和 實(shí)質(zhì)的情況下,可以對(duì)上述方法和系統(tǒng)的細(xì)節(jié)進(jìn)行各種省略、替換和改變。例 如,合并上述方法步驟,從而按照實(shí)質(zhì)相同的方法執(zhí)行實(shí)質(zhì)相同的功能以實(shí)現(xiàn) 實(shí)質(zhì)相同的結(jié)果則屬于本發(fā)明的范圍。因此,本發(fā)明的范圍僅由所附權(quán)利要求 書(shū)限定。
權(quán)利要求
1、一種基于IPv6的無(wú)線傳感器網(wǎng)絡(luò)服務(wù)器系統(tǒng),所述基于IPv6的無(wú)線傳感器網(wǎng)絡(luò)包括至少一個(gè)傳感器節(jié)點(diǎn)、CDMA網(wǎng)絡(luò)、IPv4網(wǎng)絡(luò)、服務(wù)器、IPv6網(wǎng)絡(luò),其特征在于,所述服務(wù)器包括用戶空間單元和內(nèi)核空間單元,其中,所述用戶空間單元包括初始化模塊,用于在用戶空間單元接收數(shù)據(jù)包時(shí),初始化監(jiān)聽(tīng)模塊、轉(zhuǎn)發(fā)模塊和接收模塊;監(jiān)聽(tīng)模塊,用于創(chuàng)建面向連接的IPv4套接字,接收來(lái)自IPv4網(wǎng)絡(luò)的傳感器節(jié)點(diǎn)數(shù)據(jù);轉(zhuǎn)發(fā)模塊,用于負(fù)責(zé)數(shù)據(jù)在用戶空間單元與內(nèi)核空間單元的通信;接收模塊,用于建立面向無(wú)連接的IPv6套接字,監(jiān)聽(tīng)UDP端口;發(fā)送模塊,用于供用戶產(chǎn)生控制傳感器節(jié)點(diǎn)的命令包以及構(gòu)造在所述傳感器網(wǎng)絡(luò)中能被傳感器節(jié)點(diǎn)識(shí)別的數(shù)據(jù)包,并將所述命令包或所述數(shù)據(jù)包傳送到內(nèi)核空間單元;數(shù)據(jù)庫(kù)模塊,用于存儲(chǔ)所述傳感器節(jié)點(diǎn)的地址信息、路由信息、傳感數(shù)據(jù)以及用于終端用戶管理的用戶信息;所述內(nèi)核空間單元包括Netfilter模塊用于實(shí)現(xiàn)包過(guò)濾、狀態(tài)檢測(cè)、網(wǎng)絡(luò)地址轉(zhuǎn)換和包標(biāo)記;內(nèi)核接收線程模塊用于在內(nèi)核空間負(fù)責(zé)接收處理用戶空間發(fā)送的數(shù)據(jù)。
2、 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述監(jiān)聽(tīng)模塊綁定IP地址和端口,再監(jiān)聽(tīng)等待客戶端的TCP連接請(qǐng)求,當(dāng)監(jiān)聽(tīng)到客戶端有TCP 連接請(qǐng)求時(shí),與客戶的TCP端口進(jìn)行連接。
3、 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述轉(zhuǎn)發(fā)模塊包括第一 線程單元和第二線程單元,其中第一線程中-元,用于將接收的數(shù)據(jù)包發(fā)送到內(nèi)核空間單元; 第二線程單元,用于接收內(nèi)核空間單元傳遞的命令包,并將命令包傳 送到IPv4網(wǎng)絡(luò)。
4、 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述接收模塊去掉IPv6 報(bào)頭,接收UDP目的端口與傳感器節(jié)點(diǎn)UDP端口一致的數(shù)據(jù)包,并將接 收到的數(shù)據(jù)包存儲(chǔ)到數(shù)據(jù)庫(kù)模塊。
5、 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,用戶通過(guò)點(diǎn)擊網(wǎng)頁(yè)使得 所述發(fā)送模塊產(chǎn)生控制傳感器節(jié)點(diǎn)的命令包。
6、 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫(kù)模塊采用 MySQL數(shù)據(jù)庫(kù)。
7、 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,服務(wù)器系統(tǒng)利用所述 Netfllter模塊接收到IPv4數(shù)據(jù)包,通過(guò)Netlink套接字,將IPv6數(shù)據(jù)包傳 送到內(nèi)核空間單元,在內(nèi)核空間單元的接收緩沖區(qū),構(gòu)造虛擬的網(wǎng)卡接收 過(guò)程;以及IPv6命令包在進(jìn)行路由處理之前,由所述Netfilter模塊捕獲到 該命令包,再通過(guò)Netlink套接字將該命令包傳送到用戶空間單元。
全文摘要
一種基于IPv6的無(wú)線傳感器網(wǎng)絡(luò)服務(wù)器系統(tǒng),基于UDP連接和IPv6封裝傳感器數(shù)據(jù)經(jīng)過(guò)CDMA封裝無(wú)線發(fā)送到公網(wǎng)上,在服務(wù)器端Linux操作系統(tǒng)平臺(tái)下接收數(shù)據(jù),并且發(fā)送命令到單個(gè)傳感器節(jié)點(diǎn),涉及網(wǎng)絡(luò)技術(shù)和操作系統(tǒng),屬于計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)領(lǐng)域。本發(fā)明最大的特點(diǎn)就是數(shù)據(jù)包兩次通過(guò)協(xié)議棧,需要數(shù)據(jù)在服務(wù)器高層和底層間進(jìn)行通信。服務(wù)器系統(tǒng)處理過(guò)程可以看作封裝在IPv4Internet網(wǎng)絡(luò)中的IPv6數(shù)據(jù)包的隧道機(jī)制,但又與傳統(tǒng)的隧道機(jī)制有明顯區(qū)別,主要體現(xiàn)在IPv6數(shù)據(jù)包是作為IPv4協(xié)議棧應(yīng)用層數(shù)據(jù)傳輸,通過(guò)封裝在IPv4中的IPv6數(shù)據(jù)包的接收和發(fā)送,完成該服務(wù)器系統(tǒng)的處理。
文檔編號(hào)H04L29/08GK101442556SQ20081024084
公開(kāi)日2009年5月27日 申請(qǐng)日期2008年12月25日 優(yōu)先權(quán)日2008年12月25日
發(fā)明者威 馮, 張宏科, 張思東, 梁露露, 牛延超, 濤 鄭, 高德云 申請(qǐng)人:北京交通大學(xué)