陶銘
(東莞理工學(xué)院 計算機科學(xué)與技術(shù)學(xué)院,廣東 東莞)
2010年3月,在我國政府工作報告所附的注釋中,將物聯(lián)網(wǎng)定義為通過信息傳感設(shè)備,按照約定的協(xié)議,把任何物品與互聯(lián)網(wǎng)連接起來,進行信息交換和通訊,以實現(xiàn)智能化識別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡(luò)[1]。它是在互聯(lián)網(wǎng)基礎(chǔ)上的延伸和擴展,也可稱之為“物物相連的互聯(lián)網(wǎng)”。普通對象設(shè)備化、自治終端互聯(lián)化以及普適服務(wù)智能化是物聯(lián)網(wǎng)的三個重要特征。當(dāng)前,隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展及應(yīng)用的廣泛深入,物聯(lián)網(wǎng)工程專業(yè)成為國內(nèi)各高校新開熱門專業(yè)。該專業(yè)旨在為推進未來信息社會可持續(xù)發(fā)展而培養(yǎng)物聯(lián)網(wǎng)產(chǎn)業(yè)領(lǐng)域內(nèi)的工程型與應(yīng)用型人才,主要訓(xùn)練學(xué)生在獲得良好的科學(xué)與人文素養(yǎng)基礎(chǔ)之上,充分理解物理世界的信息感知、數(shù)據(jù)標識及傳輸、分析、處理等各階段原理、技術(shù)與方法,重點掌握廣泛領(lǐng)域內(nèi)物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計與開發(fā)的知識與技能,以此為未來產(chǎn)業(yè)發(fā)展、地方經(jīng)濟及信息化建設(shè)服務(wù)。作為一門新興專業(yè),知識面涵蓋了計算機技術(shù)、通信技術(shù)、自動控制技術(shù)、信息處理技術(shù)和互聯(lián)網(wǎng)技術(shù)等,因此,在專業(yè)課程(理論課程及實踐課程)體系以及知識體系等各方面均需進行適用、合理、有效及科學(xué)的探索,據(jù)此制定并完善切實可行的教學(xué)方案、培養(yǎng)計劃以及人才培養(yǎng)方案等[2,3]。
物聯(lián)網(wǎng)作為一種系統(tǒng)網(wǎng)絡(luò),與其他網(wǎng)絡(luò)一樣,也有其內(nèi)部特有的架構(gòu)。目前廣泛接受的物聯(lián)網(wǎng)系統(tǒng)架構(gòu)可劃分為四個層次,可根據(jù)物聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)的四個功能部分:信息生成、傳輸、處理和應(yīng)用,對應(yīng)地將物聯(lián)網(wǎng)系統(tǒng)架構(gòu)劃分為感知識別層、網(wǎng)絡(luò)構(gòu)建層、管理服務(wù)層和綜合應(yīng)用層,具體如圖1所示[4]。

圖1 物聯(lián)網(wǎng)系統(tǒng)架構(gòu)模型
其中,感知識別層位于物聯(lián)網(wǎng)四層系統(tǒng)架構(gòu)模型的最底端,是上層結(jié)構(gòu)的基礎(chǔ),具體可利用 RFID、傳感器、條碼識別以及多媒體信息采集等設(shè)備或裝置隨時隨地采集物理世界的信息。網(wǎng)絡(luò)作為物聯(lián)網(wǎng)最重要的基礎(chǔ)設(shè)施之一,網(wǎng)絡(luò)構(gòu)建層主要起紐帶的作用,在物聯(lián)網(wǎng)四層系統(tǒng)架構(gòu)模型中連接感知識別層和管理服務(wù)層,高效、穩(wěn)定、及時、安全地在上下層之間傳遞數(shù)據(jù)。管理服務(wù)層在物聯(lián)網(wǎng)四層系統(tǒng)架構(gòu)模型中位于感知識別層和網(wǎng)絡(luò)構(gòu)建層之上,綜合應(yīng)用層之下,是物聯(lián)網(wǎng)智慧的源泉,主要解決數(shù)據(jù)存儲、數(shù)據(jù)檢索、數(shù)據(jù)使用以及數(shù)據(jù)不被濫用等問題。物聯(lián)網(wǎng)豐富的內(nèi)涵催生出更加豐富的外延應(yīng)用,相關(guān)的基于物聯(lián)網(wǎng)技術(shù)的應(yīng)用可在綜合應(yīng)用層中定義。目前,物聯(lián)網(wǎng)作為我國戰(zhàn)略新興產(chǎn)業(yè)重點發(fā)展的方向和技術(shù)之一,已被廣泛應(yīng)用于智能家居、智能安防監(jiān)控、智能樓宇、智能冷鏈物流、智慧醫(yī)療、國防軍事等諸多領(lǐng)域。

圖2 物聯(lián)網(wǎng)通信系統(tǒng)結(jié)構(gòu)
當(dāng)前也有相關(guān)研究將四層系統(tǒng)架構(gòu)模型中的相關(guān)功能進行了重新規(guī)劃,并劃分成了三層系統(tǒng)架構(gòu)模型,如圖1所示。按照物聯(lián)網(wǎng)三層系統(tǒng)架構(gòu)模型,物聯(lián)網(wǎng)的通信系統(tǒng)可大體分為兩大類:感知控制層通信和網(wǎng)絡(luò)層傳輸通信,其基本結(jié)構(gòu)如圖2所示[5]。在感知控制層通信系統(tǒng)中,主要是使用感知控制設(shè)備所具有的通信能力,將所感知的信息在較短的通信距離內(nèi)采用短距離有線通信系統(tǒng)或短距離無線通信系統(tǒng)傳送到信息匯聚系統(tǒng),并由該系統(tǒng)傳送(或互聯(lián))到網(wǎng)絡(luò)傳輸層。一般情況下,若干個感知控制設(shè)備負責(zé)某一區(qū)域,整個物聯(lián)網(wǎng)可劃分為眾多個感知控制區(qū)域,每個區(qū)域都通過一個匯聚設(shè)備接入到互聯(lián)網(wǎng)中,即接入到網(wǎng)絡(luò)傳輸層。其通信的特點是傳輸距離近,傳輸方式靈活、多樣。感知控制層中的短距離有線通信系統(tǒng)主要是由各種串行數(shù)據(jù)通信系統(tǒng)構(gòu)成的,目前使用較為廣泛的技術(shù)有RS-232/485、USB、CAN工業(yè)總線及各種串行數(shù)據(jù)通信系統(tǒng)。感知控制層中的短距離無線通信系統(tǒng)主要由各種低功率、中高頻無線數(shù)據(jù)傳輸系統(tǒng)構(gòu)成,目前使用較為廣泛的技術(shù)包括藍牙、紅外、超寬帶、WiFile、GSM、3G4G5G等。對于網(wǎng)絡(luò)層傳輸通信系統(tǒng)主要是由數(shù)據(jù)通信主機(或服務(wù)器)、網(wǎng)絡(luò)交換機、路由器等構(gòu)成的,在數(shù)據(jù)傳送網(wǎng)絡(luò)支撐下的計算機通信系統(tǒng),一般由公眾通信網(wǎng)絡(luò)及專用通信網(wǎng)絡(luò)構(gòu)成,主要是支持感知信息的大范圍遠距離傳輸。
目前,大部分高校一般按照物聯(lián)網(wǎng)系統(tǒng)架構(gòu)所劃分的三個層次來設(shè)置物聯(lián)網(wǎng)專業(yè)核心課程,如表1所示。比如,對應(yīng)感知層,開設(shè)物聯(lián)網(wǎng)感知、識別與控制技術(shù),傳感器原理及應(yīng)用,物聯(lián)網(wǎng)數(shù)據(jù)智能感知技術(shù)等課程,要求學(xué)生掌握物聯(lián)網(wǎng)信息標識、采集感知等方面的知識;對應(yīng)網(wǎng)絡(luò)層,開設(shè)物聯(lián)網(wǎng)通信技術(shù)、無線通信技術(shù)、無線傳感器網(wǎng)絡(luò)等課程,要求學(xué)生掌握主流的網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)傳輸技術(shù)及網(wǎng)絡(luò)接入技術(shù)等;對應(yīng)應(yīng)用層,開設(shè)物聯(lián)網(wǎng)數(shù)據(jù)處理與融合,云計算與大數(shù)據(jù)等課程,要求學(xué)生掌握處理、識別和控制相關(guān)的技術(shù)[6]。
值得一提的是,網(wǎng)絡(luò)層相關(guān)課程所講授的網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)傳輸技術(shù)及網(wǎng)絡(luò)接入技術(shù),知識涵蓋了離散數(shù)學(xué)、計算機網(wǎng)絡(luò)、通信原理等多個方面,因此這些課程組成了理論性和應(yīng)用性都很強的專業(yè)課程群。作為網(wǎng)絡(luò)技術(shù)類理論課程,在實際教學(xué)過程中,通常會比較偏向于理論知識的講授,內(nèi)容相對抽象空洞,不利于學(xué)生了解和掌握各種網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)傳輸技術(shù)及網(wǎng)絡(luò)接入技術(shù)的具體工作原理及運行方式。并且針對不同網(wǎng)絡(luò)技術(shù)的課程實驗需要不同的硬件環(huán)境,而課程實驗相關(guān)的硬件平臺通常價格不菲。因此,在這類課程的實踐教學(xué)中,充分采用適用的開源網(wǎng)絡(luò)仿真軟件進行網(wǎng)絡(luò)仿真實驗,不僅可以節(jié)省采購硬件平臺產(chǎn)生的實驗費用,還可以集教學(xué)、學(xué)習(xí)、設(shè)計及創(chuàng)新于一體,拓展教學(xué)和實驗的深度和廣度,提高學(xué)生學(xué)習(xí)理論知識的興趣,改善教學(xué)效果。

表1 結(jié)合物聯(lián)網(wǎng)(三層)系統(tǒng)架構(gòu)的專業(yè)核心課程設(shè)置
NS-3和OMNet++均是基于離散事件仿真(DES, Discrete Event Simulation)的網(wǎng)絡(luò)仿真軟件。離散事件仿真器原理如圖3所示。作為一種基于組件的、模塊化的網(wǎng)絡(luò)仿真平臺,OMNeT++近年來在科學(xué)和工業(yè)領(lǐng)域逐漸流行。其具備強大完善的圖形界面接口,可以運行在Unix和Windows 環(huán)境中[7]。然而OMNeT++并不是一款真正意義上的網(wǎng)絡(luò)仿真器,而只是一個通用的離散仿真框架。通過INET包,OMNeT++提供了對網(wǎng)絡(luò)建模的能力。另外,MF和Castalia模塊提供了對移動Adhoc和無線傳感器網(wǎng)絡(luò)的仿真功能。OMNeT++在簡單模塊中實現(xiàn)基本的協(xié)議行為,然后通過組合這些簡單模塊成復(fù)合模塊而成為仿真節(jié)點,OMNeT++中的網(wǎng)絡(luò)仿真就是這些復(fù)合模塊的組合。OMNeT++也是采用C++來實現(xiàn)的。但是使用了一種網(wǎng)絡(luò)描述語言NED來描述網(wǎng)絡(luò)框架。通過更改NED描述文件即可改變OMNeT++的仿真行為,例如可以更改網(wǎng)路中節(jié)點的數(shù)量,在這種情況下,網(wǎng)絡(luò)節(jié)點的實現(xiàn)模塊是在仿真執(zhí)行過程中動態(tài)生成的。
在現(xiàn)有主流的網(wǎng)絡(luò)仿真軟件,如:OPNET、NS-2、GTNetS和yans等的基礎(chǔ)上,總結(jié)它們的優(yōu)缺點, NS-3應(yīng)運而生[8]。NS-3仍然采用C++語言來實現(xiàn)仿真節(jié)點(和NS-2一樣),然而仿真過程卻不再采用oTcl來控制,換作通過純C++語言實現(xiàn),部分還可以使用Python語言實現(xiàn)。此外,NS-3還集成了GTNetS的架構(gòu)設(shè)計概念和代碼,在可擴展性方面進一步提升。但是,這些設(shè)計方面的改動也帶來了兼容性方面的問題,比如:NS-2的模塊移植到NS-3上都需要手工的移植過程。當(dāng)然,除了性能方面的改進之外,NS-3還支持和物理實現(xiàn)(如:BSD Socket或者POSIX線程等)的集成。

圖3 離散事件仿真器原理
基于NS-3的仿真過程接近于真實系統(tǒng)。相關(guān)物理實體概念在NS-3中被抽象成相應(yīng)的網(wǎng)絡(luò)構(gòu)件,比如:仿真節(jié)點如同一個計算機外殼,可以配置網(wǎng)卡、協(xié)議棧、IP地址和應(yīng)用程序等。圖4按照TCP/IP 的網(wǎng)絡(luò)體系結(jié)構(gòu),自頂向下從應(yīng)用層到物理層羅列了NS-3中實現(xiàn)的功能。由于NS-3是一個開源項目且具有很強的可擴展性,使用人員可以根據(jù)自己的需要自定義開發(fā)新的模塊,如:網(wǎng)絡(luò)模塊(如:Mesh、WiMax、LTE、UAN等)、網(wǎng)絡(luò)設(shè)備模塊(如:Click、Openflow等)和并行分布式計算模塊(如:MPI等)等。此外,emu模塊還可以將NS-3在試驗床或虛擬機環(huán)境下進行集成。

圖4 NS-3組織結(jié)構(gòu)圖
在NS-3中定義的網(wǎng)絡(luò)構(gòu)件可以分為四類。(1)計算機節(jié)點設(shè)備(Node):可以添加應(yīng)用、協(xié)議以及外部接口等;(2)網(wǎng)絡(luò)設(shè)備(NetDevice):安裝在節(jié)點內(nèi)使節(jié)點可以通信的網(wǎng)卡及其驅(qū)動,目前,有NS-3中可以配置各種不同類型的網(wǎng)卡,如:CsmaNetDevice、PointToPointNetDevice以及WifiNetDevice等;(3) 信 道(Channel): 處理傳輸媒介的抽象,目前有以下幾種類型:CsmaChannel、PointToPointChannel、WifiChannel;(4)應(yīng)用程序(Application):借助應(yīng)用程序可以產(chǎn)生和消費網(wǎng)絡(luò)流量,驅(qū)動網(wǎng)絡(luò)模擬器,包括Udp EchoClientApplication、Udp Server Application等;(5)Topology 生成器:對應(yīng)每種拓撲連接有不同的Helper,可以實現(xiàn)設(shè)備安裝、連接、屬性設(shè)置等。此外,在NS-3中還實現(xiàn)了三個支持系統(tǒng)。具體地,Attribute屬性系統(tǒng)可以用來設(shè)置對象屬性等信息,Logging 日志系統(tǒng)可以用來記錄用戶程序或系統(tǒng)的運行情況,以及Tracing 跟蹤系統(tǒng)可以用來實現(xiàn)結(jié)構(gòu)化的輸出。
在使用NS-3實現(xiàn)具體的網(wǎng)絡(luò)仿真過程中,搭建NS-3網(wǎng)絡(luò)仿真場景與在物理世界中安裝主機和連接網(wǎng)絡(luò)類似[9,10]。首先,生成網(wǎng)絡(luò)仿真節(jié)點,并為網(wǎng)絡(luò)仿真節(jié)點配置好網(wǎng)絡(luò)設(shè)備、協(xié)議棧、應(yīng)用程序,以及分配端口號和IP地址等。然后,與TCP/IP 網(wǎng)絡(luò)體系結(jié)構(gòu)中數(shù)據(jù)包流動一樣,應(yīng)用程序產(chǎn)生數(shù)據(jù),并自頂向下逐層封裝,將數(shù)據(jù)封裝成報文,由報文封裝成報文段,由報文段封裝成IP數(shù)據(jù)報,由IP數(shù)據(jù)報封裝成數(shù)據(jù)幀,再形成二進制的比特流,最終變成信號通過傳輸媒介傳輸?shù)侥康墓?jié)點。目的節(jié)點收到數(shù)據(jù)包后再自低向上逐層解封裝并轉(zhuǎn)交,最后經(jīng)由傳輸層的端口號轉(zhuǎn)交給相應(yīng)的應(yīng)用程序。至此,在NS-3中完成一次和真實網(wǎng)絡(luò)極其相近的完整的數(shù)據(jù)傳輸過程。
當(dāng)仿真結(jié)束后,為便于更好地理解網(wǎng)絡(luò)原理,可以采用多種手段收集、整理、分析以及再現(xiàn)網(wǎng)絡(luò)。在NS-3中,可以通過可視化界面(如:PyViz或NetAnim)直觀地觀測網(wǎng)絡(luò)運行的過程,包括仿真節(jié)點的拓撲結(jié)構(gòu)、移動和數(shù)據(jù)包的流動等。除此之外,可以利用NS-3的追蹤系統(tǒng)捕獲仿真過程中產(chǎn)生的數(shù)據(jù)包,對網(wǎng)絡(luò)協(xié)議的格式進行驗證,以及對數(shù)據(jù)包的遲延、網(wǎng)絡(luò)流量、丟包率和節(jié)點消息緩存隊列等進行測試及分析。
NS-3在物聯(lián)網(wǎng)工程專業(yè)網(wǎng)絡(luò)技術(shù)類相關(guān)課程教學(xué)中的運用包括兩方面。一方面主要體現(xiàn)在理論講授過程中的運用,另一方面主要體現(xiàn)在實驗實踐過程中的運用。在日常理論教學(xué)過程中,可以使用NS-3仿真實現(xiàn)一些抽象的原理和算法,在具體講授過程中可以結(jié)合NS-3中仿真過程的動態(tài)效果,將抽象變?yōu)樾蜗螅梢詭椭瑢W(xué)們更加直觀地觀察到相關(guān)的網(wǎng)絡(luò)理論是如何實現(xiàn)的,同時還可以讓同學(xué)們接觸到物聯(lián)網(wǎng)網(wǎng)絡(luò)技術(shù)科學(xué)研究的相關(guān)內(nèi)容,開闊視野,增強學(xué)習(xí)的興趣,使枯燥乏味的課堂氛圍變得更加具有吸引力和更加活躍。在日常實驗實踐過程中,由于NS-3已集成了多種網(wǎng)絡(luò)協(xié)議,同時,還可以根據(jù)需要,將理論教學(xué)過程中講授的網(wǎng)絡(luò)通信協(xié)議、數(shù)據(jù)傳輸協(xié)議、網(wǎng)絡(luò)接入?yún)f(xié)議編寫基于NS-3的仿真實驗指導(dǎo)書,包括驗證性試驗和設(shè)計性試驗,可以對大規(guī)模的固定網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、衛(wèi)星網(wǎng)絡(luò)等進行仿真。通過這些實驗,可以使學(xué)生擴展網(wǎng)絡(luò)知識,提高動手能力,加深對物聯(lián)網(wǎng)中網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)傳輸技術(shù)、網(wǎng)絡(luò)接入技術(shù)原理的理解和掌握,增強學(xué)習(xí)的興趣,提高實驗教學(xué)的效果。
將NS-3運用于物聯(lián)網(wǎng)工程專業(yè)網(wǎng)絡(luò)技術(shù)類相關(guān)課程教學(xué),可以仿真實現(xiàn)網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)傳輸技術(shù)、網(wǎng)絡(luò)接入技術(shù)課程中的大部分原理及協(xié)議。同時,借助NS-3,還可以結(jié)合這些原理、協(xié)議設(shè)計新的目標網(wǎng)絡(luò),模擬網(wǎng)絡(luò)流量在實際網(wǎng)絡(luò)中傳輸及交換等過程。在日常理論及實驗實踐教學(xué)過程中的經(jīng)驗表明,將NS-3引入物聯(lián)網(wǎng)工程專業(yè)網(wǎng)絡(luò)技術(shù)類相關(guān)課程教學(xué),一方面極大地增強了學(xué)生的學(xué)習(xí)興趣,提高了學(xué)生網(wǎng)絡(luò)分析與設(shè)計的能力以及實踐動手能力;另一方面開闊了學(xué)生的視野以及激發(fā)了學(xué)生探索的興趣,同時,也有助于提高教學(xué)效果和教學(xué)質(zhì)量。