基于內(nèi)容為中心的協(xié)議轉(zhuǎn)換無(wú)線網(wǎng)關(guān)及其通信方法
【專利摘要】一種基于內(nèi)容為中心的協(xié)議轉(zhuǎn)換的無(wú)線網(wǎng)關(guān),用作骨干網(wǎng)和無(wú)線傳感網(wǎng)的互聯(lián)通信接口,完成協(xié)議轉(zhuǎn)換和存儲(chǔ)轉(zhuǎn)發(fā)功能,實(shí)現(xiàn)兩個(gè)網(wǎng)絡(luò)基于內(nèi)容方式的數(shù)據(jù)通信。該無(wú)線網(wǎng)關(guān)由一個(gè)以有線方式連接骨干網(wǎng),接收骨干網(wǎng)發(fā)送的數(shù)據(jù)包和對(duì)數(shù)據(jù)包進(jìn)行解析和協(xié)議轉(zhuǎn)換的ARM板和一個(gè)以無(wú)線方式連接無(wú)線傳感網(wǎng)和用作匯聚節(jié)點(diǎn)的sink節(jié)點(diǎn)所組成,ARM板通過(guò)usb端口連接sink節(jié)點(diǎn)進(jìn)行數(shù)據(jù)通信。其中:ARM板設(shè)有三個(gè)串接的usb端口監(jiān)聽單元、ccnb單元和ccnd單元。sink節(jié)點(diǎn)不參與數(shù)據(jù)包的解析處理,只負(fù)責(zé)數(shù)據(jù)包的轉(zhuǎn)發(fā)。本發(fā)明無(wú)線網(wǎng)關(guān)使得兩個(gè)網(wǎng)絡(luò)實(shí)現(xiàn)互聯(lián)通信的操作步驟簡(jiǎn)便,且其數(shù)據(jù)轉(zhuǎn)換操作都在網(wǎng)絡(luò)層實(shí)現(xiàn),減少了數(shù)據(jù)包傳遞和解析的系統(tǒng)開銷,保持了數(shù)據(jù)通信的高效性。
【專利說(shuō)明】基于內(nèi)容為中心的協(xié)議轉(zhuǎn)換無(wú)線網(wǎng)關(guān)及其通信方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種新的網(wǎng)絡(luò)體系架構(gòu)及其工作方法,確切地說(shuō),涉及一種基于內(nèi)容為中心的協(xié)議轉(zhuǎn)換無(wú)線網(wǎng)關(guān)及其通信方法,屬于物聯(lián)網(wǎng)、下一代網(wǎng)絡(luò)或以信息為中心的網(wǎng)絡(luò)【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]自從互聯(lián)網(wǎng)誕生以來(lái),TCP/IP是目前最為成功和有效的通信解決方案,也是支撐目前互聯(lián)網(wǎng)架構(gòu)的通信協(xié)議。TCP/IP所解決的問(wèn)題是實(shí)體之間端到端的通信;但是,該協(xié)議分發(fā)內(nèi)容的處理方法很容易使網(wǎng)絡(luò)變得擁堵和負(fù)載過(guò)重。
[0003]為了解決未來(lái)互聯(lián)網(wǎng)面臨的大規(guī)模內(nèi)容傳送與分發(fā)的需求,美國(guó)國(guó)家科學(xué)基金會(huì)NSF(Nat1nal Science Foundat1n)的未來(lái)網(wǎng)絡(luò)架構(gòu)項(xiàng)目組提出了命名數(shù)據(jù)網(wǎng)絡(luò)NDN(Named Data Networking)的網(wǎng)絡(luò)架構(gòu)。NDN提出了利用對(duì)數(shù)據(jù)的命名來(lái)替代對(duì)主機(jī)的命名,實(shí)現(xiàn)由面向主機(jī)轉(zhuǎn)向?yàn)槊嫦騼?nèi)容的網(wǎng)絡(luò),以滿足資源密集應(yīng)用的需求。
[0004]CCN (Content-Centric-Networking)是NDN的具體實(shí)現(xiàn)方案,其核心是以內(nèi)容為中心。它的基本含義是整個(gè)網(wǎng)絡(luò)的需求是內(nèi)容,而不是主機(jī),因此CCN不再關(guān)心內(nèi)容存儲(chǔ)在哪里,而是關(guān)心內(nèi)容本身。相比于IP網(wǎng)絡(luò),CCN有兩個(gè)突出特點(diǎn),這與其策略層和安全層有關(guān)。一是CCN可以最充分地同時(shí)利用多種連接方式,包括:以太網(wǎng)、3G、藍(lán)牙、WiF1、WiMAX等,并且可以在不斷變化的環(huán)境中,動(dòng)態(tài)地尋求最優(yōu)化的實(shí)現(xiàn)方式。二是CCN本身就保證了它所傳送的信息內(nèi)容的安全。在IP網(wǎng)絡(luò)中,安全措施往往是通過(guò)對(duì)承載網(wǎng)絡(luò)或終端的加強(qiáng)來(lái)實(shí)施的,而CCN對(duì)網(wǎng)絡(luò)設(shè)備并不關(guān)心,它通過(guò)傳送內(nèi)容的安全來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)傳輸?shù)陌踩U稀?br>
[0005]CCN的最主要驅(qū)動(dòng)力是對(duì)內(nèi)容的需求,因此在CCN上的數(shù)據(jù)包主要有兩種:請(qǐng)求數(shù)據(jù)包(interest packet)和內(nèi)容數(shù)據(jù)包(data packet)。需要設(shè)定內(nèi)容的用戶通過(guò)某個(gè)節(jié)點(diǎn)向所有方向都發(fā)出請(qǐng)求,任何接收到該請(qǐng)求的節(jié)點(diǎn),如果其擁有能夠滿足該請(qǐng)求的內(nèi)容,就通過(guò)內(nèi)容數(shù)據(jù)包向請(qǐng)求節(jié)點(diǎn)發(fā)送響應(yīng)數(shù)據(jù)。這種對(duì)應(yīng)的傳輸關(guān)系是建立在對(duì)內(nèi)容標(biāo)識(shí)的基礎(chǔ)上,即每個(gè)內(nèi)容都有一個(gè)具體標(biāo)識(shí)。正是因?yàn)樯鲜鲞@種關(guān)系,有同樣內(nèi)容需求的請(qǐng)求可以分享相同的內(nèi)容和網(wǎng)絡(luò)傳輸,這樣就節(jié)省了網(wǎng)絡(luò)資源,提高了效率。
[0006]內(nèi)容的標(biāo)識(shí)名以結(jié)構(gòu)化的多個(gè)字段所組成,通過(guò)這種結(jié)構(gòu)化的內(nèi)容的標(biāo)識(shí)名,CCN可以利用類似于IP地址的前綴機(jī)制來(lái)迅速定位所需要的信息。
[0007]CCN節(jié)點(diǎn)的基本工作情況也和IP節(jié)點(diǎn)非常相似。都承擔(dān)數(shù)據(jù)包的存儲(chǔ)、轉(zhuǎn)發(fā)和路由任務(wù)。典型的CCN節(jié)點(diǎn)主要包含三個(gè)部件:內(nèi)容庫(kù)CS(Content Store)、待定興趣表PIT (Pending Interest Table)和轉(zhuǎn)發(fā)信息庫(kù) FIB (Forwarding Informat1n Base)。其中,內(nèi)容庫(kù)CS類似于IP路由器的緩存,但它采用的緩存替換策略不同于IP路由器:1P路由器在完成每次會(huì)話后,就將所存儲(chǔ)的信息清空,這種策略叫做MRU(Most Recently Used)替換。而在CCN中,該內(nèi)容信息除了為本次會(huì)話服務(wù),還可以為其他用戶的會(huì)話服務(wù)。因此,該內(nèi)容在完成這次會(huì)話后,仍然存在于節(jié)點(diǎn)中,以供下次使用(如視頻等內(nèi)容)。這是CCN非常關(guān)鍵的理念,它可以減少內(nèi)容下載的時(shí)延和占用的網(wǎng)絡(luò)帶寬。[0008]為了最大限度地提高存儲(chǔ)信息的共享效率,CCN采用LRU (Least Recently Used)或LFU (Least Frequently Used)替換策略來(lái)最大限度地存儲(chǔ)重要信息。待定興趣表PIT是用于記錄經(jīng)過(guò)的請(qǐng)求信息。在CCN中,只有請(qǐng)求數(shù)據(jù)包被路由,而內(nèi)容數(shù)據(jù)包是按照PIT的指示一步一步地發(fā)向請(qǐng)求節(jié)點(diǎn)。當(dāng)所請(qǐng)求的內(nèi)容傳回節(jié)點(diǎn)后,就從PIT中刪除該條目。此夕卜,還可以利用時(shí)鐘來(lái)刪除那些一直沒(méi)有找到匹配內(nèi)容的過(guò)期條目。轉(zhuǎn)發(fā)信息庫(kù)FIB和IP路由器的處理機(jī)制相類似,即將請(qǐng)求數(shù)據(jù)包發(fā)往目的端。但是,其與IP路由器不同的是:FIB可以同時(shí)向多個(gè)方向轉(zhuǎn)發(fā)請(qǐng)求。當(dāng)節(jié)點(diǎn)從一個(gè)接口接收到一個(gè)數(shù)據(jù)包時(shí),將根據(jù)它所包含的內(nèi)容名進(jìn)行最大匹配查詢,然后根據(jù)查詢結(jié)果執(zhí)行下一步的操作。
[0009]無(wú)線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Network)是由大量的靜止或移動(dòng)的傳感器以自組織和多跳的方式構(gòu)成的無(wú)線網(wǎng)絡(luò),以便能夠協(xié)作地感知、采集、處理和傳輸網(wǎng)絡(luò)覆蓋地理區(qū)域內(nèi)被感知的對(duì)象的信息,并最終把這些信息發(fā)送給網(wǎng)絡(luò)的所有者。在國(guó)際上,無(wú)線傳感器網(wǎng)絡(luò)以其低功耗、低成本、分布式和自組織的特點(diǎn)被認(rèn)為是繼互聯(lián)網(wǎng)之后的第二大網(wǎng)絡(luò),現(xiàn)在已經(jīng)廣泛地應(yīng)用于環(huán)境監(jiān)測(cè)、醫(yī)療護(hù)理、軍事領(lǐng)域、目標(biāo)跟蹤等領(lǐng)域。
[0010]CCNx是CCN網(wǎng)絡(luò)架構(gòu)下的一個(gè)開源協(xié)議范本,它由美國(guó)施樂(lè)帕克研究中心PARC開發(fā)并資助,支持主機(jī)之間基于內(nèi)容方式的通信。它目前只發(fā)布了主機(jī)端和安卓端兩個(gè)版本,所以關(guān)于CCN的研究還只是局限于骨干網(wǎng)。由于CCNx協(xié)議的功能復(fù)雜,對(duì)設(shè)備要求較高,像無(wú)線傳感器節(jié)點(diǎn)等性能不高、資源有限的弱能力節(jié)點(diǎn),無(wú)法使用與主機(jī)端相同版本的CCNx協(xié)議,因此對(duì)于無(wú)線傳感網(wǎng)等邊緣網(wǎng)絡(luò)中的節(jié)點(diǎn),就無(wú)法通過(guò)內(nèi)容中心網(wǎng)絡(luò)的通信方式與骨干網(wǎng)中的主機(jī)通信。而且,針對(duì)于這個(gè)問(wèn)題,目前尚沒(méi)有一套可行的解決方案。
[0011]現(xiàn)在的狀況是:一方面,以內(nèi)容為中心的網(wǎng)絡(luò)通信架構(gòu)可以有效解決大量?jī)?nèi)容分發(fā)造成的網(wǎng)絡(luò)擁堵,可以提高網(wǎng)絡(luò)的通信效率。而無(wú)線傳感器網(wǎng)絡(luò)以其自組織、可移動(dòng)性和成本低等諸多特點(diǎn)在民生、醫(yī)療、軍事和國(guó)防等領(lǐng)域有著廣泛的應(yīng)用,所以將內(nèi)容為中心網(wǎng)絡(luò)架構(gòu)引入無(wú)線傳感器網(wǎng)絡(luò)有著非常重要的意義。另一方面,CCN網(wǎng)絡(luò)的特點(diǎn)是:使用內(nèi)容的名字、而不是IP地址通信,注重?cái)?shù)據(jù)的具體內(nèi)容,而不是數(shù)據(jù)的具體位置。網(wǎng)絡(luò)的路由是根據(jù)內(nèi)容的等級(jí)結(jié)構(gòu)的名字進(jìn)行路由,即使網(wǎng)絡(luò)拓?fù)浒l(fā)生變化,也能通過(guò)名字前綴找到內(nèi)容。這種以信息為中心的網(wǎng)絡(luò)架構(gòu)特性非常適合在拓?fù)洳粩嘧兓臒o(wú)線傳感網(wǎng)絡(luò)環(huán)境下應(yīng)用。
[0012]然而,由于骨干網(wǎng)絡(luò)和無(wú)線傳感器網(wǎng)絡(luò)中的網(wǎng)元處理能力和負(fù)載能力具有很大的不同,兩個(gè)網(wǎng)絡(luò)采用不同的通信協(xié)議,導(dǎo)致兩個(gè)網(wǎng)絡(luò)中的節(jié)點(diǎn)無(wú)法通信。這個(gè)缺陷也成為業(yè)內(nèi)許多科技人員關(guān)注的焦點(diǎn)。
【發(fā)明內(nèi)容】
[0013]有鑒于此,本發(fā)明的目的是提供一種基于內(nèi)容為中心的協(xié)議轉(zhuǎn)換無(wú)線網(wǎng)關(guān)及其通信方法,本發(fā)明無(wú)線網(wǎng)關(guān)是針對(duì)內(nèi)容為中心的網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)的,用于實(shí)現(xiàn)骨干網(wǎng)絡(luò)和無(wú)線傳感器網(wǎng)絡(luò)的互聯(lián),即通過(guò)該無(wú)線網(wǎng)關(guān)用作兩個(gè)網(wǎng)絡(luò)的通信接口,由其完成協(xié)議轉(zhuǎn)換和存儲(chǔ)轉(zhuǎn)發(fā)的功能,實(shí)現(xiàn)兩個(gè)網(wǎng)絡(luò)基于內(nèi)容方式的數(shù)據(jù)通信。
[0014]為了達(dá)到上述目的,本發(fā)明提供了一種基于內(nèi)容為中心的協(xié)議轉(zhuǎn)換的無(wú)線網(wǎng)關(guān),用于實(shí)現(xiàn)骨干網(wǎng)和無(wú)線傳感網(wǎng)的互聯(lián);其特征在于:所述無(wú)線網(wǎng)關(guān)是由一個(gè)高級(jí)精簡(jiǎn)指令集計(jì)算機(jī) ARM (Advanced RISC (Reduced Instruct1n Set Computer) Machines)板和一個(gè)用作匯聚節(jié)點(diǎn)的傳感器sink節(jié)點(diǎn)所組成,該ARM板通過(guò)usb端口連接sink節(jié)點(diǎn)進(jìn)行數(shù)據(jù)通Ih ;其中:
[0015]ARM板,負(fù)責(zé)以有線方式連接骨干網(wǎng),接收骨干網(wǎng)發(fā)送的數(shù)據(jù)包和對(duì)該數(shù)據(jù)包進(jìn)行解析和協(xié)議轉(zhuǎn)換,再轉(zhuǎn)發(fā)給sink節(jié)點(diǎn);還通過(guò)usb端口連接sink節(jié)點(diǎn),接收sink節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)包,并對(duì)其進(jìn)行解析和協(xié)議轉(zhuǎn)換后,轉(zhuǎn)發(fā)到骨干網(wǎng);設(shè)有三個(gè)串接的usb端口監(jiān)聽單兀、二進(jìn)制編石馬 ccnb (content centric networking binary encoding)單兀和后臺(tái)守護(hù)進(jìn)程ccnd (content centric networking daemon)單兀;
[0016]sink節(jié)點(diǎn),用作無(wú)線傳感網(wǎng)絡(luò)中的數(shù)據(jù)匯聚節(jié)點(diǎn),不參與數(shù)據(jù)包的解析處理,只負(fù)責(zé)數(shù)據(jù)包的轉(zhuǎn)發(fā):既以無(wú)線方式連接無(wú)線傳感網(wǎng),接收來(lái)自無(wú)線傳感網(wǎng)的內(nèi)容數(shù)據(jù)包,并通過(guò)usb端口發(fā)送給ARM板進(jìn)行處理;又通過(guò)usb端口連接ARM板,將ARM板發(fā)送來(lái)的數(shù)據(jù)包以無(wú)線方式轉(zhuǎn)發(fā)到無(wú)線傳感網(wǎng)。
[0017]為了達(dá)到上述目的,本發(fā)明還提供了一種基于內(nèi)容為中心的協(xié)議轉(zhuǎn)換的無(wú)線網(wǎng)關(guān)的通信方法,其特征在于:因CCN(Content-Centric-Networking)網(wǎng)絡(luò)采用接收端驅(qū)動(dòng)模式:先由骨干網(wǎng)絡(luò)中的主機(jī)發(fā)起通信,所述無(wú)線網(wǎng)關(guān)承擔(dān)將來(lái)自骨干網(wǎng)的請(qǐng)求數(shù)據(jù)包轉(zhuǎn)換為無(wú)線傳感網(wǎng)能夠接收和解析的數(shù)據(jù)包;再將無(wú)線傳感網(wǎng)送來(lái)的內(nèi)容數(shù)據(jù)包經(jīng)過(guò)其解析與轉(zhuǎn)換后,轉(zhuǎn)發(fā)到骨干網(wǎng)中;包括下述操作步驟:
[0018]步驟I,無(wú)線網(wǎng)關(guān)執(zhí)行初始化操作;
[0019]步驟2,無(wú)線網(wǎng)關(guān)接收到來(lái)自骨干網(wǎng)的請(qǐng)求數(shù)據(jù)包,對(duì)其進(jìn)行數(shù)據(jù)包解析和協(xié)議轉(zhuǎn)換后,將處理后的數(shù)據(jù)包轉(zhuǎn)發(fā)到無(wú)線傳感網(wǎng)中;
[0020]步驟3,無(wú)線網(wǎng)關(guān)接收到來(lái)自無(wú)線傳感網(wǎng)的內(nèi)容數(shù)據(jù)包,對(duì)其進(jìn)行解析和協(xié)議轉(zhuǎn)換后,將處理后的數(shù)據(jù)包轉(zhuǎn)發(fā)到骨干網(wǎng)中。
[0021]本發(fā)明的創(chuàng)新優(yōu)點(diǎn)及其技術(shù)效果是:
[0022]目前,在骨干網(wǎng)和無(wú)線傳感網(wǎng)中,由于網(wǎng)元處理能力和負(fù)載能力的強(qiáng)弱不同,導(dǎo)致該兩種網(wǎng)絡(luò)基于內(nèi)容為中心的網(wǎng)絡(luò)通信架構(gòu)是彼此各自相對(duì)獨(dú)立的,尚沒(méi)有一種有效的互聯(lián)機(jī)制能夠?qū)崿F(xiàn)骨干網(wǎng)和無(wú)線傳感網(wǎng)基于內(nèi)容為中心的數(shù)據(jù)通信。
[0023]本發(fā)明無(wú)線網(wǎng)關(guān)是首次作為兩個(gè)網(wǎng)絡(luò)的通信接口,該無(wú)線網(wǎng)關(guān)既能有效地支持內(nèi)容為中心的網(wǎng)絡(luò)通信,完成骨干網(wǎng)與傳感網(wǎng)的互聯(lián);而且能夠有效地將內(nèi)容為中心網(wǎng)絡(luò)架構(gòu)的范圍從骨干網(wǎng)擴(kuò)展到了如同無(wú)線傳感網(wǎng)這類邊緣網(wǎng)絡(luò)。再者,該無(wú)線網(wǎng)關(guān)的結(jié)構(gòu)簡(jiǎn)單,實(shí)現(xiàn)容易,使得兩個(gè)網(wǎng)絡(luò)實(shí)現(xiàn)互聯(lián)通信的操作步驟也比較簡(jiǎn)便,兩種網(wǎng)網(wǎng)絡(luò)通信數(shù)據(jù)包的轉(zhuǎn)換操作全部都在網(wǎng)絡(luò)層實(shí)現(xiàn);和其他在應(yīng)用層實(shí)現(xiàn)的接口相比較,減少了數(shù)據(jù)包傳遞和解析的系統(tǒng)開銷,保持了數(shù)據(jù)通信的高效性。因此,本發(fā)明具有很好的推廣應(yīng)用前景。
【專利附圖】
【附圖說(shuō)明】
[0024]圖1是本發(fā)明基于內(nèi)容為中心的協(xié)議轉(zhuǎn)換無(wú)線網(wǎng)關(guān)結(jié)構(gòu)組成示意圖。
[0025]圖2是本發(fā)明無(wú)線網(wǎng)關(guān)的ARM板各個(gè)組成單元和sink節(jié)點(diǎn)通信關(guān)系圖。
[0026]圖3是本發(fā)明無(wú)線網(wǎng)關(guān)涉及的數(shù)據(jù)名字設(shè)計(jì)規(guī)則示意圖。
[0027]圖4是無(wú)線傳感網(wǎng)的內(nèi)容數(shù)據(jù)包格式示意圖。
[0028]圖5是本發(fā)明無(wú)線網(wǎng)關(guān)的數(shù)據(jù)通信流程示意圖?!揪唧w實(shí)施方式】
[0029]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。
[0030]參見(jiàn)圖1和圖2,介紹本發(fā)明用于實(shí)現(xiàn)骨干網(wǎng)和無(wú)線傳感網(wǎng)的互聯(lián)的基于內(nèi)容為中心的協(xié)議轉(zhuǎn)換的無(wú)線網(wǎng)關(guān)結(jié)構(gòu)組成:設(shè)有一個(gè)高級(jí)精簡(jiǎn)指令集計(jì)算機(jī)ARM (AdvancedRISC (Reduced Instruct1n Set Computer)Machines)板和一個(gè)用作匯聚節(jié)點(diǎn)的傳感器sink節(jié)點(diǎn)(如圖所示),該ARM板通過(guò)usb端口連接sink節(jié)點(diǎn)進(jìn)行數(shù)據(jù)通信。其中:
[0031]ARM板,負(fù)責(zé)以有線方式連接骨干網(wǎng),接收骨干網(wǎng)發(fā)送的數(shù)據(jù)包和對(duì)該數(shù)據(jù)包進(jìn)行解析和協(xié)議轉(zhuǎn)換,再轉(zhuǎn)發(fā)給sink節(jié)點(diǎn);還通過(guò)usb端口連接sink節(jié)點(diǎn),接收sink節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)包,并對(duì)其進(jìn)行解析和協(xié)議轉(zhuǎn)換后,轉(zhuǎn)發(fā)到骨干網(wǎng)。設(shè)有三個(gè)串接的usb端口監(jiān)聽單兀、二進(jìn)制編石馬 ccnb (content centric networking binary encoding)單兀和后臺(tái)守護(hù)進(jìn)程ccnd (content centric networking daemon)單兀。這三個(gè)單兀的各自功能分別是:
[0032]usb端口監(jiān)聽單元:用于接收和解析從usb端口傳送來(lái)的sink節(jié)點(diǎn)的內(nèi)容數(shù)據(jù)包,并將解析后的內(nèi)容數(shù)據(jù)名字轉(zhuǎn)換為骨干網(wǎng)的請(qǐng)求數(shù)據(jù)名字,再將轉(zhuǎn)換后的請(qǐng)求數(shù)據(jù)名字與內(nèi)容數(shù)據(jù)發(fā)送給ccnb單元進(jìn)行處理。
[0033]ccnb單元:負(fù)責(zé)接收經(jīng)由usb端口監(jiān)聽單元輸出的請(qǐng)求數(shù)據(jù)名字和內(nèi)容數(shù)據(jù)并對(duì)其進(jìn)行數(shù)據(jù)包格式轉(zhuǎn)換,即將其封裝為符合骨干網(wǎng)通信協(xié)議格式的數(shù)據(jù)包后,發(fā)送給ccnd單元進(jìn)行處理。
[0034]ccnd單元:用于接收和解析來(lái)自骨干網(wǎng)的請(qǐng)求數(shù)據(jù)包,還將解析后的骨干網(wǎng)請(qǐng)求數(shù)據(jù)名字轉(zhuǎn)換為符合傳感網(wǎng)通信協(xié)議格式的內(nèi)容數(shù)據(jù)名字,并按照傳感網(wǎng)內(nèi)容數(shù)據(jù)包格式填寫設(shè)定參數(shù)字段后,再將轉(zhuǎn)換后的內(nèi)容數(shù)據(jù)名字填寫到data字段中,最后計(jì)算CRC校驗(yàn)碼并填寫到設(shè)定字段,完成骨干網(wǎng)請(qǐng)求數(shù)據(jù)包到傳感網(wǎng)內(nèi)容數(shù)據(jù)包的轉(zhuǎn)換;然后,經(jīng)由usb端口將其發(fā)送給sink節(jié)點(diǎn),由sink節(jié)點(diǎn)轉(zhuǎn)發(fā)至無(wú)線傳感網(wǎng);同時(shí)負(fù)責(zé)接收來(lái)自ccnb單元、符合骨干網(wǎng)通信協(xié)議格式的內(nèi)容數(shù)據(jù)包,再將其轉(zhuǎn)發(fā)至骨干網(wǎng)。
[0035]sink節(jié)點(diǎn),用作無(wú)線傳感網(wǎng)絡(luò)中的數(shù)據(jù)匯聚節(jié)點(diǎn),不參與數(shù)據(jù)包的解析處理,只負(fù)責(zé)數(shù)據(jù)包的轉(zhuǎn)發(fā):既以無(wú)線方式連接無(wú)線傳感網(wǎng),接收來(lái)自無(wú)線傳感網(wǎng)的內(nèi)容數(shù)據(jù)包,并通過(guò)usb端口發(fā)送給ARM板進(jìn)行處理;又通過(guò)usb端口連接ARM板,將ARM板發(fā)送來(lái)的數(shù)據(jù)包以無(wú)線方式轉(zhuǎn)發(fā)到無(wú)線傳感網(wǎng)。
[0036]因?yàn)樵诨趦?nèi)容為中心的網(wǎng)絡(luò)中,數(shù)據(jù)的唯一標(biāo)識(shí)就是名字,而且,該名字格式包括尋址字段和數(shù)據(jù)類型字段兩部分,其中尋址字段采用可實(shí)現(xiàn)名字層級(jí)變長(zhǎng)的統(tǒng)一資源標(biāo)識(shí)符URI (Universal Resource Identifier)架構(gòu),尋址字段包括該傳感網(wǎng)無(wú)線網(wǎng)關(guān)的前綴名和更具體的地理位置信息。但是,因傳感器節(jié)點(diǎn)硬件資源有限,無(wú)法滿足骨干網(wǎng)中通信協(xié)議的名字字段的字長(zhǎng)要求,所以每個(gè)數(shù)據(jù)都映射有兩個(gè)名字:骨干網(wǎng)中的請(qǐng)求數(shù)據(jù)名字和無(wú)線傳感網(wǎng)中的內(nèi)容數(shù)據(jù)名字,并由本發(fā)明無(wú)線網(wǎng)關(guān)執(zhí)行兩個(gè)數(shù)據(jù)名字的轉(zhuǎn)換功能:該無(wú)線網(wǎng)關(guān)接收到骨干網(wǎng)的請(qǐng)求數(shù)據(jù)包后,要對(duì)請(qǐng)求數(shù)據(jù)名字進(jìn)行字段裁剪和替換;當(dāng)其接收到無(wú)線傳感網(wǎng)的內(nèi)容數(shù)據(jù)包后,要對(duì)內(nèi)容數(shù)據(jù)名字進(jìn)行字段補(bǔ)充和替換。
[0037]骨干網(wǎng)中的請(qǐng)求數(shù)據(jù)名字格式中,由一級(jí)或多級(jí)組成的尋址字段位于前面,每級(jí)尋址字段對(duì)應(yīng)一個(gè)地理位置,按照由大到小的逐步細(xì)化的層次結(jié)構(gòu)限定其所在地域范圍,直至定位到內(nèi)容數(shù)據(jù)所在位置。位于最后的一個(gè)字段是標(biāo)明請(qǐng)求數(shù)據(jù)類型的數(shù)據(jù)類型字段,用于標(biāo)識(shí)要請(qǐng)求的數(shù)據(jù)類型。數(shù)據(jù)類型至少包括:光照l(shuí)ight、濕度humidity和溫度temperature。
[0038]參見(jiàn)圖3,介紹名字設(shè)計(jì)規(guī)則。例如:以北京郵電大學(xué)教三樓632實(shí)驗(yàn)室為實(shí)施例,介紹內(nèi)容名字的組成結(jié)構(gòu):實(shí)施例的無(wú)線網(wǎng)關(guān)負(fù)責(zé)連接骨干網(wǎng)和北京郵電大學(xué)內(nèi)部所有傳感器節(jié)點(diǎn)組成的傳感網(wǎng)。骨干網(wǎng)的請(qǐng)求數(shù)據(jù)名字為ccnx://beijing/haidian/bupt/t3/6/32/light,其中,ccnx://bei jing/haidian/bupt為該無(wú)線網(wǎng)關(guān)的前綴名,用于保存包括當(dāng)前地理位置和前面的所有地理位置信息。網(wǎng)關(guān)前綴名后面內(nèi)容是用于識(shí)別無(wú)線傳感網(wǎng)中的內(nèi)容數(shù)據(jù)名字。由于有些字段的長(zhǎng)度過(guò)長(zhǎng),導(dǎo)致名字部分的長(zhǎng)度超過(guò)了傳感網(wǎng)通信協(xié)議中名字字段長(zhǎng)度,所以要將過(guò)長(zhǎng)字段映射替換成較短內(nèi)容,以滿足無(wú)線傳感網(wǎng)的協(xié)議解析要求。上述實(shí)例中的名字對(duì)應(yīng)的無(wú)線傳感網(wǎng)內(nèi)容數(shù)據(jù)名字為t3/6/32/l(即由骨干網(wǎng)中的請(qǐng)求數(shù)據(jù)名字中除去網(wǎng)關(guān)前綴名的剩余字段、即包括更具體的地理位置和數(shù)據(jù)類型字段的關(guān)鍵字段所組成,且此時(shí)其中的數(shù)據(jù)類型字段已經(jīng)被其首字符所替換)。該無(wú)線網(wǎng)關(guān)通過(guò)該前綴名對(duì)骨干網(wǎng)發(fā)來(lái)的請(qǐng)求數(shù)據(jù)包進(jìn)行過(guò)濾,判斷該請(qǐng)求數(shù)據(jù)包是應(yīng)該接收或是丟棄。
[0039]本發(fā)明無(wú)線網(wǎng)關(guān)的ccnd單元和usb端口監(jiān)聽單元都具有名字轉(zhuǎn)換功能,用于實(shí)現(xiàn)骨干網(wǎng)的請(qǐng)求數(shù)據(jù)名字和傳感網(wǎng)的內(nèi)容數(shù)據(jù)名字之間名字格式的相互轉(zhuǎn)換,以便在數(shù)據(jù)通信過(guò)程中,對(duì)名字部分的內(nèi)容進(jìn)行轉(zhuǎn)換,將接收到的內(nèi)容數(shù)據(jù)包中的名字轉(zhuǎn)換為符合目的網(wǎng)絡(luò)中的名字格式,滿足目的網(wǎng)絡(luò)的解析要求。具體過(guò)程是:
[0040]無(wú)線網(wǎng)關(guān)的ccnd單元接收到骨干網(wǎng)的請(qǐng)求數(shù)據(jù)包時(shí),根據(jù)前綴名判斷是否接收或拋棄該請(qǐng)求數(shù)據(jù)包;若接收,則對(duì)請(qǐng)求數(shù)據(jù)名字進(jìn)行字段裁剪和替換:先刪除其中的網(wǎng)關(guān)前綴名和提取關(guān)鍵字段后,根據(jù)設(shè)定的映射替換規(guī)則,將表征數(shù)據(jù)類型的最后一個(gè)字段進(jìn)行映射替換,即替換為相應(yīng)的首字符。例如,light (光照)替換成1、humidity (濕度)替換成h、temperature (溫度)替換成t等等。替換后的名字就是傳感網(wǎng)的內(nèi)容數(shù)據(jù)名字。
[0041]然后,按照無(wú)線傳感網(wǎng)內(nèi)容數(shù)據(jù)包格式填寫設(shè)定參數(shù)的字段,并將轉(zhuǎn)換后的內(nèi)容數(shù)據(jù)名字填寫到data字段中,最后計(jì)算CRC校驗(yàn)碼,并填寫到相應(yīng)的字段,至此實(shí)現(xiàn)了骨干網(wǎng)請(qǐng)求數(shù)據(jù)包到傳感網(wǎng)內(nèi)容數(shù)據(jù)包的轉(zhuǎn)換。
[0042]參見(jiàn)圖4,介紹本發(fā)明無(wú)線傳感網(wǎng)內(nèi)容數(shù)據(jù)包的字段格式如下:
[0043]先是表示數(shù)據(jù)包開始的分界符:7E,字長(zhǎng)I比特;然后依次順序?yàn)?三個(gè)字長(zhǎng)均為I比特、分別表示串口消息類型、分發(fā)字段和消息類型的44、26和00 ;三個(gè)字長(zhǎng)均為2比特、分別表示目的地址、源地址和data字段長(zhǎng)度的dest addr、source addr和msg Ien ;字長(zhǎng)I比特的groupID,表示組號(hào),設(shè)為00 ;字長(zhǎng)I比特的type,表示數(shù)據(jù)包類型,設(shè)為03 ;然后的順序是表示自定義數(shù)據(jù)的data,其字長(zhǎng)最多為28比特;字長(zhǎng)2比特的CRC,表示該消息數(shù)據(jù)從第三位到data的CRC校驗(yàn)碼;最后是表示數(shù)據(jù)包結(jié)束的分界符:7E,字長(zhǎng)I比特。其中目的地址dest addr是sink節(jié)點(diǎn)轉(zhuǎn)發(fā)的下一跳節(jié)點(diǎn)序號(hào),源地址source addr是該sink節(jié)點(diǎn)的節(jié)點(diǎn)序號(hào)。
[0044]無(wú)線網(wǎng)關(guān)usb端口監(jiān)聽單元接收到傳感網(wǎng)的內(nèi)容數(shù)據(jù)包時(shí),先根據(jù)映射規(guī)則將其名字的最后一個(gè)字段替換為數(shù)據(jù)類型后,在該內(nèi)容數(shù)據(jù)名字前面添加網(wǎng)關(guān)前綴名,接著在完成相應(yīng)字段的替換和補(bǔ)充后,按照CCNx框架中的ccn_sign_content函數(shù)格式將請(qǐng)求數(shù)據(jù)名字和內(nèi)容數(shù)據(jù)作為該函數(shù)的輸入?yún)?shù),由該函數(shù)完成相關(guān)輸入?yún)?shù)的編碼后,其輸出就成為滿足骨干網(wǎng)通信協(xié)議格式的請(qǐng)求數(shù)據(jù)包。[0045]因?yàn)楸景l(fā)明的骨干網(wǎng)請(qǐng)求數(shù)據(jù)包格式是采用CCNx開源協(xié)議框架規(guī)定的數(shù)據(jù)包,故在此不再贅述。
[0046]參見(jiàn)圖5,介紹本發(fā)明基于內(nèi)容為中心的協(xié)議轉(zhuǎn)換的無(wú)線網(wǎng)關(guān)的通信方法,也就是本發(fā)明無(wú)線網(wǎng)關(guān)在網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)通信過(guò)程的操作步驟:
[0047]因?yàn)镃CN(Content-Centric-Networking)網(wǎng)絡(luò)是采用接收端驅(qū)動(dòng)模式:先由骨干網(wǎng)絡(luò)中的主機(jī)發(fā)起通信,故本發(fā)明無(wú)線網(wǎng)關(guān)承擔(dān)將來(lái)自骨干網(wǎng)的請(qǐng)求數(shù)據(jù)包轉(zhuǎn)換為無(wú)線傳感網(wǎng)能夠接收和解析的請(qǐng)求數(shù)據(jù)包,再將無(wú)線傳感網(wǎng)送來(lái)的內(nèi)容數(shù)據(jù)包經(jīng)過(guò)其解析與轉(zhuǎn)換后,轉(zhuǎn)發(fā)到骨干網(wǎng)中。因此,本發(fā)明方法的操作步驟如下:
[0048]步驟1,無(wú)線網(wǎng)關(guān)執(zhí)行初始化操作。該步驟包括下列操作內(nèi)容:
[0049](11)啟動(dòng)ARM板,使其中的ccnd單元開啟數(shù)據(jù)包的監(jiān)聽、解析和轉(zhuǎn)換服務(wù);ccnb單元開啟數(shù)據(jù)包封裝及其相應(yīng)的服務(wù),usb端口監(jiān)聽單元執(zhí)行初始化操作后,開啟sink節(jié)點(diǎn)數(shù)據(jù)監(jiān)聽的服務(wù)。
[0050](12) sink 節(jié)點(diǎn)上電。
[0051 ] 步驟2,無(wú)線網(wǎng)關(guān)接收到來(lái)自骨干網(wǎng)的請(qǐng)求數(shù)據(jù)包,對(duì)其進(jìn)行數(shù)據(jù)包解析和協(xié)議轉(zhuǎn)換后,將處理后的數(shù)據(jù)包轉(zhuǎn)發(fā)到無(wú)線傳感網(wǎng)中。該步驟操作內(nèi)容如下:
[0052](21) ccnd單元接收到骨干網(wǎng)發(fā)來(lái)的請(qǐng)求數(shù)據(jù)包后,解析該數(shù)據(jù)包;再將解析后的請(qǐng)求數(shù)據(jù)名字轉(zhuǎn)換成無(wú)線傳感網(wǎng)內(nèi)容數(shù)據(jù)名字:先根據(jù)網(wǎng)關(guān)前綴名提取關(guān)鍵字段,再對(duì)其中數(shù)據(jù)類型字段進(jìn)行映射轉(zhuǎn)換。
[0053](22)ccnd單元根據(jù)傳感網(wǎng)通信協(xié)議的內(nèi)容數(shù)據(jù)包格式填寫設(shè)定參數(shù)字段后,再將轉(zhuǎn)換后的內(nèi)容數(shù)據(jù)名字填寫到data字段中,最后計(jì)算CRC校驗(yàn)碼并填寫到設(shè)定字段,就完成將無(wú)線傳感網(wǎng)中的內(nèi)容數(shù)據(jù)名字打包封裝為傳感網(wǎng)請(qǐng)求數(shù)據(jù)包,然后,再傳送給sink節(jié)點(diǎn)。
[0054](23) sink節(jié)點(diǎn)將接收到的數(shù)據(jù)包轉(zhuǎn)發(fā)到傳感網(wǎng)中。
[0055]步驟3,無(wú)線網(wǎng)關(guān)接收到來(lái)自無(wú)線傳感網(wǎng)的內(nèi)容數(shù)據(jù)包,對(duì)其進(jìn)行解析和協(xié)議轉(zhuǎn)換后,將處理后的數(shù)據(jù)包轉(zhuǎn)發(fā)到骨干網(wǎng)中。該步驟包括下列操作內(nèi)容:
[0056](31)usb端口監(jiān)聽單元接收到無(wú)線傳感網(wǎng)發(fā)來(lái)的內(nèi)容數(shù)據(jù)包后,解析該數(shù)據(jù)包,并將解析后的內(nèi)容數(shù)據(jù)名字轉(zhuǎn)換成骨干網(wǎng)請(qǐng)求數(shù)據(jù)名字:根據(jù)字段映射規(guī)則恢復(fù)原有的數(shù)據(jù)類型字段,再添加網(wǎng)關(guān)前綴名,形成骨干網(wǎng)的請(qǐng)求數(shù)據(jù)名字后;將該骨干網(wǎng)請(qǐng)求數(shù)據(jù)名字和內(nèi)容數(shù)據(jù)發(fā)送給ccnb單元。
[0057](32) ccnb單元將接收到的請(qǐng)求數(shù)據(jù)名字和內(nèi)容數(shù)據(jù)根據(jù)骨干網(wǎng)通信協(xié)議格式進(jìn)行封裝,打包成為符合骨干網(wǎng)通信協(xié)議格式的內(nèi)容數(shù)據(jù)包后,再將該封裝好的數(shù)據(jù)包發(fā)送給ccnd單兀。
[0058](33) ccnd單元將ccnb單元發(fā)來(lái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到骨干網(wǎng)中。
[0059]本發(fā)明已經(jīng)進(jìn)行了多次仿真實(shí)施試驗(yàn),試驗(yàn)的結(jié)果是成功的,實(shí)現(xiàn)了發(fā)明目的。
【權(quán)利要求】
1.一種基于內(nèi)容為中心的協(xié)議轉(zhuǎn)換的無(wú)線網(wǎng)關(guān),用于實(shí)現(xiàn)骨干網(wǎng)和無(wú)線傳感網(wǎng)的互聯(lián);其特征在于:所述無(wú)線網(wǎng)關(guān)是由一個(gè)高級(jí)精簡(jiǎn)指令集計(jì)算機(jī)ARM (AdvancedRISC (Reduced Instruct1n Set Computer)Machines)板和一個(gè)用作匯聚節(jié)點(diǎn)的傳感器sink節(jié)點(diǎn)所組成,該ARM板通過(guò)usb端口連接sink節(jié)點(diǎn)進(jìn)行數(shù)據(jù)通信;其中: ARM板,負(fù)責(zé)以有線方式連接骨干網(wǎng),接收骨干網(wǎng)發(fā)送的數(shù)據(jù)包和對(duì)該數(shù)據(jù)包進(jìn)行解析和協(xié)議轉(zhuǎn)換,再轉(zhuǎn)發(fā)給sink節(jié)點(diǎn);還通過(guò)usb端口連接sink節(jié)點(diǎn),接收sink節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)包,并對(duì)其進(jìn)行解析和協(xié)議轉(zhuǎn)換后,轉(zhuǎn)發(fā)到骨干網(wǎng);設(shè)有三個(gè)串接的usb端口監(jiān)聽單兀、二進(jìn)制編石馬 ccnb (content centric networking binary encoding)單兀和后臺(tái)守護(hù)進(jìn)程ccnd(content centric networking daemon)單兀; sink節(jié)點(diǎn),用作無(wú)線傳感網(wǎng)絡(luò)中的數(shù)據(jù)匯聚節(jié)點(diǎn),不參與數(shù)據(jù)包的解析處理,只負(fù)責(zé)數(shù)據(jù)包的轉(zhuǎn)發(fā):既以無(wú)線方式連接無(wú)線傳感網(wǎng),接收來(lái)自無(wú)線傳感網(wǎng)的內(nèi)容數(shù)據(jù)包,并通過(guò)usb端口發(fā)送給ARM板進(jìn)行處理;又通過(guò)usb端口連接ARM板,將ARM板發(fā)送來(lái)的數(shù)據(jù)包以無(wú)線方式轉(zhuǎn)發(fā)到無(wú)線傳感網(wǎng)。
2.根據(jù)權(quán)利要求1所述的協(xié)議轉(zhuǎn)換網(wǎng)關(guān),其特征在于:所述ARM板上的三個(gè)單元的各自功能分別是: usb端口監(jiān)聽單元,用于接收和解析從usb端口傳送來(lái)的sink節(jié)點(diǎn)的內(nèi)容數(shù)據(jù)包,并將解析后的內(nèi)容數(shù)據(jù)名字轉(zhuǎn)換為骨干網(wǎng)的請(qǐng)求數(shù)據(jù)名字,再將轉(zhuǎn)換后的請(qǐng)求數(shù)據(jù)名字與內(nèi)容數(shù)據(jù)發(fā)送給ccnb單元進(jìn)行處理; ccnb單元,負(fù)責(zé)接收經(jīng)由usb端口監(jiān)聽單元輸出的請(qǐng)求數(shù)據(jù)名字和內(nèi)容數(shù)據(jù)并對(duì)其進(jìn)行數(shù)據(jù)包格式轉(zhuǎn)換,即將其封裝為符合骨干網(wǎng)通信協(xié)議格式的數(shù)據(jù)包后,發(fā)送給ccnd單元進(jìn)行處理; ccnd單元,用于接收和解析來(lái)自骨干網(wǎng)的請(qǐng)求數(shù)據(jù)包,還將解析后的骨干網(wǎng)請(qǐng)求數(shù)據(jù)名字轉(zhuǎn)換為符合傳感網(wǎng)通信協(xié)議格式的內(nèi)容數(shù)據(jù)名字,并按照傳感網(wǎng)內(nèi)容數(shù)據(jù)包格式填寫設(shè)定參數(shù)字段后,再將轉(zhuǎn)換后的內(nèi)容數(shù)據(jù)名字填寫到data字段中,最后計(jì)算CRC校驗(yàn)碼并填寫到設(shè)定字段,完成骨干網(wǎng)請(qǐng)求數(shù)據(jù)包到傳感網(wǎng)內(nèi)容數(shù)據(jù)包的轉(zhuǎn)換;然后,經(jīng)由usb端口將其發(fā)送給sink節(jié)點(diǎn),由sink節(jié)點(diǎn)轉(zhuǎn)發(fā)至無(wú)線傳感網(wǎng);同時(shí)負(fù)責(zé)接收來(lái)自ccnb單元、符合骨干網(wǎng)通信協(xié)議格式的內(nèi)容數(shù)據(jù)包,再將其轉(zhuǎn)發(fā)至骨干網(wǎng)。
3.根據(jù)權(quán)利要求1所述的協(xié)議轉(zhuǎn)換網(wǎng)關(guān),其特征在于:因基于內(nèi)容為中心的網(wǎng)絡(luò)中,數(shù)據(jù)的唯一標(biāo)識(shí)是名字,且該名字格式包括尋址字段和數(shù)據(jù)類型字段兩部分,其中尋址字段采用可實(shí)現(xiàn)名字層級(jí)變長(zhǎng)的統(tǒng)一資源標(biāo)識(shí)符URI (Universal Resource Identifier)架構(gòu),但因傳感器節(jié)點(diǎn)硬件資源有限,無(wú)法滿足骨干網(wǎng)中通信協(xié)議的名字字段的字長(zhǎng)要求,故每個(gè)數(shù)據(jù)都映射有兩個(gè)名字:骨干網(wǎng)中的請(qǐng)求數(shù)據(jù)名字和無(wú)線傳感網(wǎng)中的內(nèi)容數(shù)據(jù)名字,并由網(wǎng)關(guān)執(zhí)行兩個(gè)數(shù)據(jù)名字的轉(zhuǎn)換功能;所述尋址字段包括該傳感網(wǎng)無(wú)線網(wǎng)關(guān)的前綴名和更具體的地理位置信息。
4.根據(jù)權(quán)利要求3所述的協(xié)議轉(zhuǎn)換網(wǎng)關(guān),其特征在于:所述骨干網(wǎng)中的請(qǐng)求數(shù)據(jù)名字格式中,由一級(jí)或多級(jí)組成的尋址字段位于前面,每級(jí)尋址字段對(duì)應(yīng)一個(gè)地理位置,按照由大到小的逐步細(xì)化限定其所在地域范圍,直至定位到內(nèi)容數(shù)據(jù)所在位置;位于最后的一個(gè)字段是標(biāo)明請(qǐng)求數(shù)據(jù)類型的數(shù)據(jù)類型字段,數(shù)據(jù)類型至少包括:光照l(shuí)ight、濕度humidity和溫度 temperature ;所述傳感網(wǎng)中的內(nèi)容數(shù)據(jù)名字是由骨干網(wǎng)中的請(qǐng)求數(shù)據(jù)名字中除去網(wǎng)關(guān)前綴名的剩余字段、即包括更具體的地理位置和數(shù)據(jù)類型字段的關(guān)鍵字段所組成,且此時(shí)其中的數(shù)據(jù)類型字段已經(jīng)被其首字符所替換。
5.根據(jù)權(quán)利要求3所述的協(xié)議轉(zhuǎn)換網(wǎng)關(guān),其特征在于:所述無(wú)線傳感網(wǎng)內(nèi)容數(shù)據(jù)包的字段格式如下:先是表示數(shù)據(jù)包開始的分界符:7E,字長(zhǎng)I比特;然后依次順序?yàn)?三個(gè)字長(zhǎng)均為I比特、分別表示串口消息類型、分發(fā)字段和消息類型的44、26和OO ;三個(gè)字長(zhǎng)均為2比特、分別表示目的地址、源地址和data字段長(zhǎng)度的dest addr>source addr和msg Ien ;字長(zhǎng)I比特的groupID,表示組號(hào),設(shè)為00 ;字長(zhǎng)I比特的type,表示數(shù)據(jù)包類型,設(shè)為03 ;然后的順序是表示自定義數(shù)據(jù)的data,其字長(zhǎng)最多為28比特;字長(zhǎng)2比特的CRC,表示該消息數(shù)據(jù)從第三位到data的CRC校驗(yàn)碼;最后是表示數(shù)據(jù)包結(jié)束的分界符:7E,字長(zhǎng)I比特;所述目的地址dest addr是sink節(jié)點(diǎn)轉(zhuǎn)發(fā)的下一跳節(jié)點(diǎn)序號(hào),源地址source addr是該sink節(jié)點(diǎn)的節(jié)點(diǎn)序號(hào); 所述骨干網(wǎng)請(qǐng)求數(shù)據(jù)包格式是采用CCNx開源協(xié)議框架規(guī)定的數(shù)據(jù)包。
6.根據(jù)權(quán)利要求3所述的協(xié)議轉(zhuǎn)換網(wǎng)關(guān),其特征在于:所述兩個(gè)數(shù)據(jù)名字的轉(zhuǎn)換功能是在數(shù)據(jù)通信過(guò)程中對(duì)內(nèi)容數(shù)據(jù)的名字進(jìn)行轉(zhuǎn)換,將接收到的內(nèi)容數(shù)據(jù)包中的名字轉(zhuǎn)換為符合目的網(wǎng)絡(luò)中的名字格式,以滿足目的網(wǎng)絡(luò)的解析要求;具體過(guò)程是: 接收到骨干網(wǎng)的請(qǐng)求數(shù)據(jù)包時(shí),無(wú)線網(wǎng)關(guān)根據(jù)前綴名判斷是否接收或拋棄該請(qǐng)求數(shù)據(jù)包;若接收,則對(duì)請(qǐng)求數(shù)據(jù)名字進(jìn)行字段裁剪和替換:先刪除其中的網(wǎng)關(guān)前綴名和提取關(guān)鍵字段后,根據(jù)設(shè)定的映射替換規(guī)則,將表征數(shù)據(jù)類型的字段替換為相應(yīng)的首字符后,就形成無(wú)線傳感網(wǎng)的內(nèi)容數(shù)據(jù)名字; 接收到傳感網(wǎng)的內(nèi)容數(shù)據(jù)包時(shí),無(wú)線網(wǎng)關(guān)先根據(jù)映射規(guī)則將其名字的最后一個(gè)字段替換為相應(yīng)的數(shù)據(jù)類型后,在該內(nèi)容數(shù)據(jù)名字前面添加網(wǎng)關(guān)前綴名,接著在完成相應(yīng)字段的替換和補(bǔ)充后,按照CCNx框架中的ccn_sign_content函數(shù)格式將請(qǐng)求數(shù)據(jù)名字和內(nèi)容數(shù)據(jù)作為該函數(shù)的輸入?yún)?shù),由該函數(shù)完成相關(guān)輸入?yún)?shù)的編碼后,其輸出就成為滿足骨干網(wǎng)通信協(xié)議格式的請(qǐng)求數(shù)據(jù)包。
7.一種基于內(nèi)容為中心的協(xié)議轉(zhuǎn)換的無(wú)線網(wǎng)關(guān)的通信方法,其特征在于:因CCN(Content-Centric-Networking)網(wǎng)絡(luò)采用接收端驅(qū)動(dòng)模式:先由骨干網(wǎng)絡(luò)中的主機(jī)發(fā)起通信,所述無(wú)線網(wǎng)關(guān)承擔(dān)將來(lái)自骨干網(wǎng)的請(qǐng)求數(shù)據(jù)包轉(zhuǎn)換為無(wú)線傳感網(wǎng)能夠接收和解析的數(shù)據(jù)包;再將無(wú)線傳感網(wǎng)送來(lái)的內(nèi)容數(shù)據(jù)包經(jīng)過(guò)其解析與轉(zhuǎn)換后,轉(zhuǎn)發(fā)到骨干網(wǎng)中;包括下述操作步驟: 步驟I,無(wú)線網(wǎng)關(guān)執(zhí)行初始化操作; 步驟2,無(wú)線網(wǎng)關(guān)接收到來(lái)自骨干網(wǎng)的請(qǐng)求數(shù)據(jù)包,對(duì)其進(jìn)行數(shù)據(jù)包解析和協(xié)議轉(zhuǎn)換后,將處理后的數(shù)據(jù)包轉(zhuǎn)發(fā)到無(wú)線傳感網(wǎng)中; 步驟3,無(wú)線網(wǎng)關(guān)接收到來(lái)自無(wú)線傳感網(wǎng)的內(nèi)容數(shù)據(jù)包,對(duì)其進(jìn)行解析和協(xié)議轉(zhuǎn)換后,將處理后的數(shù)據(jù)包轉(zhuǎn)發(fā)到骨干網(wǎng)中。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于:所述步驟I包括下列操作內(nèi)容: (11)啟動(dòng)ARM板,使其中的ccnd單元開啟數(shù)據(jù)包的監(jiān)聽、解析和轉(zhuǎn)換服務(wù);ccnb單元開啟數(shù)據(jù)包封裝及其相應(yīng)的服務(wù),usb端口監(jiān)聽單元執(zhí)行初始化操作后,開啟sink節(jié)點(diǎn)數(shù)據(jù)監(jiān)聽的服務(wù);(12)sink節(jié)點(diǎn)上電。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于:所述步驟2包括下列操作內(nèi)容: (21)ccnd單元接收到骨干網(wǎng)發(fā)來(lái)的請(qǐng)求數(shù)據(jù)包后,解析該數(shù)據(jù)包;再將解析后的請(qǐng)求數(shù)據(jù)名字轉(zhuǎn)換成無(wú)線傳感網(wǎng)內(nèi)容數(shù)據(jù)名字:先根據(jù)網(wǎng)關(guān)前綴名提取關(guān)鍵字段,再對(duì)其中數(shù)據(jù)類型字段進(jìn)行映射轉(zhuǎn)換; (22)ccnd單元根據(jù)傳感網(wǎng)通信協(xié)議的內(nèi)容數(shù)據(jù)包格式填寫設(shè)定參數(shù)字段后,再將轉(zhuǎn)換后的內(nèi)容數(shù)據(jù)名字填寫到data字段中,最后計(jì)算CRC校驗(yàn)碼并填寫到設(shè)定字段,就完成將無(wú)線傳感網(wǎng)中的內(nèi)容數(shù)據(jù)名字打包封裝為傳感網(wǎng)請(qǐng)求數(shù)據(jù)包,然后,再傳送給sink節(jié)點(diǎn); (23)sink節(jié)點(diǎn)將接收到的數(shù)據(jù)包轉(zhuǎn)發(fā)到傳感網(wǎng)中。
10.根據(jù)權(quán)利要求7所述的方法,其特征在于:所述步驟3包括下列操作內(nèi)容: (31)usb端口監(jiān)聽單元接收到無(wú)線傳感網(wǎng)發(fā)來(lái)的內(nèi)容數(shù)據(jù)包后,解析該數(shù)據(jù)包,并將解析后的內(nèi)容數(shù)據(jù)名字轉(zhuǎn)換成骨干網(wǎng)請(qǐng)求數(shù)據(jù)名字:根據(jù)字段映射規(guī)則恢復(fù)原有的數(shù)據(jù)類型字段,再添加網(wǎng)關(guān)前綴名,形成骨干網(wǎng)的請(qǐng)求數(shù)據(jù)名字后;將該骨干網(wǎng)請(qǐng)求數(shù)據(jù)名字和內(nèi)容數(shù)據(jù)發(fā)送給ccnb單元; (32)ccnb單元將接收到的請(qǐng)求數(shù)據(jù)名字和內(nèi)容數(shù)據(jù)根據(jù)骨干網(wǎng)通信協(xié)議格式進(jìn)行封裝,打包成為符合骨干網(wǎng)通信協(xié)議格式的內(nèi)容數(shù)據(jù)包后,再將該封裝好的數(shù)據(jù)包發(fā)送給ccnd單兀; (33)ccnd單元將ccnb單元發(fā)來(lái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到骨干網(wǎng)中。
【文檔編號(hào)】H04L29/06GK104038507SQ201410305102
【公開日】2014年9月10日 申請(qǐng)日期:2014年6月30日 優(yōu)先權(quán)日:2014年6月30日
【發(fā)明者】劉亮, 馬華東, 張顏 申請(qǐng)人:北京郵電大學(xué)