新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 無線物聯網中CoAP協議的研究與實現(一)

        無線物聯網中CoAP協議的研究與實現(一)

        作者: 時間:2013-10-09 來源:網絡 收藏
        ; TEXT-INDENT: 0px; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; webkit-text-size-adjust: auto; orphans: 2; widows: 2; webkit-text-stroke-width: 0px">  (4)支持異步通信:HTTP對M2M(Machine-to-Machine)通信不適用,這是由于事務總是由客戶端發起。而支持異步通信,這對M2M通信應用來說是常見的休眠/喚醒機制。

          (5)支持資源發現:為了自主的發現和使用資源,它支持內置的資源發現格式,用于發現設備上的資源列表,或者用于設備向服務目錄公告自己的資源。它支持RFC5785中的格式,在CoRE中用/.well—known/core的路徑表示資源描述。

          (6)支持緩存:支持資源描述的緩存以優化其性能。

          (7)訂閱機制:CoAP使用異步通信方式,用訂閱機制實現從服務器到客戶端的消息推送。實現CoAP的發布,訂閱機制,它是請求成功后自動注冊的一種資源后處理程序。是由默認的EVENT_和PERIODIC_RESOURCEs來進行配置的。它們的事件和輪詢處理程序用 EST.notify_subscri bers()函數來發布。

          2.1 棧圖3是CoAP協議棧。CoAP協議的傳輸層使用UDP協議。由于UDP傳輸的不可靠性,CoAP協議采用了雙層結構,定義了帶有重傳的事務處理機制,并且提供資源發現和資源描述等功能。CoAP采用盡可能小的載荷,從而限制了分片。

          無線物聯網中CoAP協議的研究與實現(一)

          事務層(Transaction layer)用于處理節點之間的信息交換,同時提供組播和擁塞控制等功能。請求/響應層(Request/Responselayer)用于傳輸對資源進行操作的請求和響應信息。CoAP協議的REST構架是基于該層的通信。CoAP的雙層處理方式,使得CoAP沒有采用TCP協議,也可以提供可靠的傳輸機制。利用默認的定時器和指數增長的重傳間隔時間實現CON(Confirmable)消息的重傳,直到接收方發出確認消息。另外,CoAP的雙層處理方式支持異步通信,這是和M2M應用的關鍵需求之一。

          2.2 CoAP的訂閱機制HTTP的請求/響應機制是假設事務都是由客戶端發起的,通常叫做拉模型。這導致客戶端不能高效的知統中,設備都是低功耗的,這些設備大部分時間是休眠狀態,因此不能響應輪詢請求。而CoRE認為支持本地的推送模型是一個重要的需求,也就是由服務器初始化事務到客戶端。推送模型需要一個訂閱接口,用來請求響應關于特定資源的改變。而由于UDP的傳輸是異步的,所以不需要特殊的通知消息。訂閱機制如圖4所示。

          無線物聯網中CoAP協議的研究與實現(一)

          2.3 CoAP的交互模型CoAP使用類似于HTTP的請求/響應模型:CoAP終端節點作為客戶端向服務器發送一個或多個請求,服務器端回復客戶端的CoAP 請求。不同于HTTP,CoAP的請求和響應在發送之前不需要事先建立連接,而是通過CoAP信息來進行異步信息交換。CoAP協議使用UDP進行傳輸。這是通過信息層選項的可靠性來實現的。CoAP定義了四種類型的信息:可證實的CON(Confirmable)信息,不可證實的NON(Non- Confirmable)信息,可確認的ACK(Acknowledgement)信息和重置信息RST(Reset)。方法代碼和響應代碼包含在這些信息中,實現請求和響應功能。這四種類型信息對于請求/響應的交互來說是透明的。

          CoAP的請求/響應語義包含在CoAP信息中,其中分別包含方法代碼和響應代碼。CoAP選項中包含可選的(或默認的)請求和響應信息,例如URI和負載內容類型。令牌選項用于獨立匹配底層的請求到響應信息。

          請求/響應模型:請求包含在可證實的或不可證實的信息中,如果服務器端是立即可用的,它對請求的應答包含在可證實的確認信息中來進行應答。圖5是基本的 GET請求和響應模式,其中圖5(a)表示成功發送請求和收到ACK確認信息,圖5(b)表示重傳了請求信息,然后才收到ACK確認信息。

          無線物聯網中CoAP協議的研究與實現(一)

          雖然CoAP協議目前還在制定當中,但Contiki和TinyOS嵌入式操作系統已經支持CoAP協議。Contiki是一個多任務操作系統,并帶有 uIPv6協議棧,適用于嵌入式系統和傳感器網絡,它占用系統資源小,適用于資源受限的網絡和設備。目前,火狐瀏覽器已經集成了Copper插件,從而實現了CoAP協議。但是這種方式只能讀取傳感器節點上的實時數據,而不能查看各種歷史數據。為此,在Contiki系統的基礎上,基于 uIPv6START KIT網絡開發套件,用自己編寫的客戶端程序實現了和數據庫的交互,把歷史數據

        物聯網相關文章:物聯網是什么




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 瓦房店市| 夏邑县| 无锡市| 玉林市| 闻喜县| 囊谦县| 即墨市| 漯河市| 塔城市| 田阳县| 民和| 隆尧县| 台北市| 富锦市| 阳西县| 古浪县| 元朗区| 祥云县| 丰城市| 罗源县| 霍林郭勒市| 通山县| 阿巴嘎旗| 隆尧县| 阳信县| 达州市| 辽阳县| 郁南县| 泰来县| 安宁市| 海宁市| 高台县| 伊吾县| 奉新县| 呈贡县| 富蕴县| 鞍山市| 阿城市| 陕西省| 北碚区| 穆棱市|