在流入以及流出的物聯網中,其中關于“物”的數據流向的這些服務位于服務器中,也可以位于“云”中、分布式或者集中式的位置內。然后用專用的程序在虛擬機或者傳統的服務器系統中的網絡邊緣平臺上運行,用這些輕量級的應用程序與數據中心進行服務通信。
因此,將各式各樣物理層的數據收集回來并進行集中處理需要一套體系化的結構方法,其必須包含有獨立于底層與高層的公共層,在這種大環境下互聯網協議(IP)由此而生,并在20世紀末開始在關鍵架構角色部分扮演重要角色。直到現在IP不僅是市場的首選,也是OT中的環境搭建的首選。
雖然目前物聯網協議成功的關鍵主要看IP,但是因受限于網絡規則的問題,IP在結構體系的各個層面上還需要對各協議進行優化。下面筆者將介紹目前市場已經出現的或者針對IETF進行開發的優化方式。如下圖展示了優化后的TCP/IP層。
01
從6LoWPAN到6Lo
在IP體系結構中,必須要定義和記錄給定的協議上的IP(PHY、MAC)才能進行數據傳輸。將IP進行封裝并歸為較低的協議層的模型通常將這種稱為適配層。
除非該技術是特定專有的,否則IP適配層通常由IETF工作組進行定義,并作為RFC(征求意見進行發布)。RFC通常來自于關于IETF的書籍以及其他出版物,通過正式的文字進行對Internet的標準、規范、協議、過程和事件進行記錄。比如RFC 864中描述了IPv4包是怎樣封裝到以太網的幀上面。
物聯網中的相關協議普遍默認遵守類似的過程。其主要區別在于:物聯網中的適配層設計會針對設備來進行相對的優化,以處理受限節點和設備網絡的問題。
當前為受限節點或者物聯網中的“物”進行優化,主要在適配層進行。其主要實例就是6LoWPAN工作組以及繼承了其工作的6Lo工作組之下的適配層。6LoWPAN工作組最初的工作主要集中在IPv6的傳輸協議優化,其重點主要集中在對IEEE 802.15.4等受限的網絡傳輸上。如下圖展示了使用6LoWPAN是如何進行對物聯網協議棧進行適配,適配的層面位于著名的IP協議棧邊。
6LoWPAN工作組發布了幾個RFC,但是因為它定義了幀頭,導致其RFC 4994是基礎性的,只能用于頭壓縮、分片和網絡尋址等功能。這些頭可以在適配層中堆疊,以保持概念的獨立性,同時強制使用結構化的概念來表示每個功能。根據實現的不同方式,可以對任何有著該功能及其相應的包頭文件進行任意組合。如下圖就展示了部分相對典型的6LoWPAN包頭堆棧示例。
包頭壓縮
6LoWPAN的IPv6的包頭最初是在RFC 4944中進行定義的,之后的更新由RFC 6282進行更新。該功能將IPv6的包頭由原來的40個字節大小變更為8字節,甚至在特定的情況下能縮短到6個字節。
在高級層上,6LoWPAN的工作是通過利用所有的可用節并讓其參與到與本地網路的信息共享中來,從而完成設備之間的信息傳遞與共享。此外,它還能通過對常用值進行假設來對部分的標準頭來做一些省略操作。如下圖展示了使用6LoWPAN包頭壓縮所實現的壓縮量。
如上圖所示,可以看到一個沒有啟用任何包頭壓縮的6LoWPAN幀,可以看到完整的40個字節IPv6的包頭和UDP包頭。在本例中,6LoWPAN頭的文件僅為1個字節。
分片
因為IPv6網絡傳輸的最大傳送單元(MTU)必須至少為1280字節。其中最大單元定義了可以傳遞的最大協議數據單元的大小。對于IEEE 802.15.4幀中所傳輸的MTU要小得多。對于這個問題,必須在第二層的多個802.15.4幀上進行大型的IPv6數據包分片。
6LoWPAN的分片片頭主要由三個字段組成:數據報大小、數據報標記和數據報的偏移量,如下圖。1個字節的數據報會根據字節大小指定負荷。
02
6LoWPAN網狀尋址
目前網狀尋址的功能目的是為了在多個跳數上來轉發數據包。由此,發送數據包的包頭定義了3個字段:跳數限制、源地址、目標地址。與IPv6的跳數限制相似,網狀尋址也提供了跳數的限制和幀次數的轉發上限。
網狀尋址的源頭地址和目標地址字段一般是IEEE 802.15.4地址,表示了一個IP跳數的端點。如下圖詳細說明了6LoWPAN網狀尋址頭字段。
針對物聯網網路和傳輸的優化還有6TiSCH、RPL、在受約束的節點上進行身份驗證和加密等。物聯網安全是一個永恒且復雜的話題,常常會引發整個行業的討論。因此需要一些專注于安全物聯網安全的工作組。
-
物聯網
+關注
關注
2909文章
44741瀏覽量
374518 -
IP
+關注
關注
5文章
1712瀏覽量
149656
發布評論請先 登錄
相關推薦
評論