物聯網的出現對IPv6有促進作用嗎?

融為IT科技發表於2019-03-20

隨著科技的發展和人口的增長,我們可以很清楚的察覺到,目前爆炸式增長的網際網路裝置以及物聯網技術的衍生對IP地址的數量有著極大的渴求。而目前所使用的IPv4協議對IP地址的分配馬上就到了“油盡燈枯”的時候,那個曾號稱可以讓地球上每一粒沙子都擁有一個IP地址的IPv6協議逐漸登上世界舞臺。

IPv6相較於IPv4來說最大的優點就是可供分配的IP地址更多了,可以這樣理解:IPv4所擁有的地址數剛剛夠IPv6所擁有IP地址數的零頭,這差距顯而易見,同時也為物聯網的發展打好資源基礎。

IPv6

IPv4 IPv6的“零頭之距”

IPv4的一個突出問題是它可能只支援42億個地址。據估計,到2022年聯網裝置的數量將增長到285億。這是一個巨大的缺口,意味著在部署物聯網時,如果沒有網路地址轉換(network address translation, NAT)這一技術層的介入,大多數的裝置都無法連線到網際網路。

另一方面,IPv6支援大約340萬億個地址,這足以為每個物聯網裝置提供通用的唯一IP地址。它可以做到這一點,而無需進一步投資NAT。

IPv6和物聯網電池壽命

IPv4在保持物聯網電池壽命方面也存在缺陷。因為許多聯網裝置都是由電池供電的,並且因為物聯網網路(例如工廠感測器系統)可以包含數百或數千個裝置,所以儘可能長時間地使用電池是一個巨大的優勢。想象一下,在許多廣泛分散的物聯網裝置中更換電池所需的時間和精力是巨大的。

使用IPv4,常規廣播訊息不必要地消耗電池壽命。例如,廣播訊息用於地址解析協議(ARP)等程式,ARP用於將MAC地址繫結到IPv4地址。它的工作方式是,ARP訊息被髮送到網路中的每個裝置,每個裝置必須處理這個資料包,因此消耗一些電池電量,而不管該裝置是否需要參與交換。

這種低效率也會破壞整個網路,在短時間內頻繁使用廣播的情況下,與廣播風暴相關的問題是眾所周知的,這類事件對物聯網網路是有害的。

使用IPv6,沒有廣播功能。相反,有效的多播通訊用於這些一對多通訊。IPv6的鄰居發現協議(NDP)使用具有請求節點多播地址的高效多播來構建和維護鄰居快取,而不是廣播。鄰居(NS)資料包僅傳送到LAN的/64字首的一小部分子集,而鄰居資料包使用單播發回。

IPv6全節點鏈路本地多播組地址(FF02::1)與IPv6的廣播非常接近,物聯網裝置儘可能使用單播訊息來進一步節省電池電量。

細節:IPv6如何減少使用物聯網的電池

IPv6提供了多種方法來動態地為物聯網裝置分配地址。IPv6節點具有多個地址,不像IPv4節點只有一個單播地址。IPv6節點具有鏈路本地地址(FE80::/10)和每個介面一個或多個IPv6單播地址。鏈路本地地址用於“引導”獲取單播地址作為路由器請求(RS)訊息的源地址,以發現本地路由器。

第一跳路由器將路由器通告(RA)訊息傳送回全節點多播組(FF02::1),指示本地IPv6/64字首以及獲取其單播地址的方法。基於RA訊息中的某些標誌和其他選項,節點被告知使用無狀態地址自動配置(SLAAC)(RFC 4862),有狀態DHCPv6(RFC 8415)或遞迴DNS伺服器(RDNSS)(RFC 8106)。使用哪個是企業網路中經常出現的問題。

對於缺乏執行DHCPv6所需的強大計算能力並且只需要在扁平網路上執行的感測器,SLAAC是一個顯而易見的選擇。對於企業的桌上型電腦和伺服器,DHCPv6一直是推薦的,但決定有點模糊。現在有更多作業系統支援RDNSS,包括Android,RDNSS正在成為一種流行的選擇。

RA資料包通常每200秒由本地路由器傳輸一次,以使所有節點都能獲知更改資訊。加入網路的新節點沒有耐心,將一個RS資料包傳送到所有路由器鏈路本地多播組(FF02::2),以瞭解它們已加入的網路。本地路由器透過向所有節點傳送RA來立即響應RS。可以想象,這可以在物聯網應用程式中消耗一些可測量的電池壽命,因此建立了控制RAs的選項。

一種選擇是為物聯網使用更長的RA間隔。物聯網裝置可能只需要每天接收一次RA訊息,甚至更長時間。但是,每當新的物聯網裝置加入網路時,它就會傳送一個RA,觸發本地路由器傳送的全節點RA組播。

為了進一步限制所有節點的組播資料包,可以將RA更改為傳送RS的單個節點的單播資料包。這將阻止任何其他已建立的節點接收多播RA。此“Unicast-RA”功能消除了傳送到全節點多播組的RA。這已在Cisco IOS版本15.4(2)T,15.4(2)S,15.2(1)SY1和更高版本中實現,並使用第3層介面命令“ ipv6 nd ra solicited unicast ”進行配置。

創新的IPv6物聯網協議

IPv6促進了創新,並且已經有大量開發支援IPv6的物聯網協議。以下是關於物聯網網路如何使用IPv6的幾個示例。

6LoWPAN(IPv6 over Low Power Wireless Personal Area Networks)是一種基於IPv6的低速無線個域網標準,允許IPv6資料包被壓縮、封裝並分成多個較小的幀,透過IEEE 802.15.4無線網路(RFC 4944和RFC 6282)傳送。因此,6LoWPAN需要閘道器裝置(邊緣路由器)將本地IPv6網路連線到IoT裝置網路。目標是進一步限制IPv6組播的使用,以最大限度地延長電池壽命(RFC 6775)。這些方法由Zigbee協議套件使用。

IETF正在透過像LoRaWAN這樣的低功耗廣域網和用於使用IPv6的小型嵌入式裝置的輕量級實現指導(lwig)來研究IPv6。IETF還建立了用於這些低功耗和有損網路(LLNs)的路由協議。IETF建立了“RPL: IPv6路由協議用於低功耗網路”(RFC 6550)和多播協議用於低功耗網路(MPL) (RFC 7731)。RPL使用IPv6來發現使用IPv6組FF02::1A的所有RPL節點。

IETF已經開發了使用Web和RESTful介面(CoRE)透過IPv6進行物聯網裝置通訊的標準。約束應用協議(CoAP協議)(RFC 7252)定義了這些物聯網裝置使用公共Web服務的方法。CoAP使用IPv6組播組FF0X::FD(所有CoAP節點)。

移動IPv6(MIPv6)協議(RFC 6275)已被指定多年,作為無約束裝置在第3層網路之間轉換期間維持其通訊的一種方式。

IPv6甚至用於工業物聯網製造和機器人網路。精確時間協議(PTP)(IEEE 1588-2008)使用IPv6多播到用於高速運動的精確編排進行時鐘同步到亞微秒的精度,PTP使用IPv6組播組FF02::6B和FF0X::181。隨著企業繼續部署任何型別的物聯網應用程式,他們應該探索如何使該系統使用IPv6。

本文轉載自

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31560271/viewspace-2638897/,如需轉載,請註明出處,否則將追究法律責任。

相關文章