物聯(lián)網(wǎng)技術(shù)對于IPv6是否有幫助
IPv6具有IPv4所缺乏的特性,這使得它在物聯(lián)網(wǎng)部署方面具有優(yōu)勢,例如支持大型物聯(lián)網(wǎng)網(wǎng)絡(luò)、有助于延長物聯(lián)網(wǎng)設(shè)備的電池壽命,減少其管理和維護負(fù)擔(dān)。那么物聯(lián)網(wǎng)能否有助于推動企業(yè)網(wǎng)絡(luò)中的IPv6應(yīng)用?
IPv6擁有很多地址
IPv4的一個突出問題是它可能只支持42億個地址。據(jù)估計,到2022年聯(lián)網(wǎng)設(shè)備的數(shù)量將增長到285億。這是一個巨大的缺口,意味著在部署物聯(lián)網(wǎng)時,如果沒有網(wǎng)絡(luò)地址轉(zhuǎn)換(network address translation, NAT)這一技術(shù)層的介入,大多數(shù)的設(shè)備都無法連接到互聯(lián)網(wǎng)。
另一方面,IPv6支持大約340萬億個地址,這足以為每個物聯(lián)網(wǎng)設(shè)備提供通用的唯一IP地址。它可以做到這一點,而無需進(jìn)一步投資NAT。
IPv6和物聯(lián)網(wǎng)電池壽命
IPv4在保持物聯(lián)網(wǎng)電池壽命方面也存在缺陷。因為許多聯(lián)網(wǎng)設(shè)備都是由電池供電的,并且因為物聯(lián)網(wǎng)網(wǎng)絡(luò)(例如工廠傳感器系統(tǒng))可以包含數(shù)百或數(shù)千個設(shè)備,所以盡可能長時間地使用電池是一個巨大的優(yōu)勢。想象一下,在許多廣泛分散的物聯(lián)網(wǎng)設(shè)備中更換電池所需的時間和精力是巨大的。
使用IPv4,常規(guī)廣播消息不必要地消耗電池壽命。例如,廣播消息用于地址解析協(xié)議(ARP)等進(jìn)程,ARP用于將MAC地址綁定到IPv4地址。它的工作方式是,ARP消息被發(fā)送到網(wǎng)絡(luò)中的每個設(shè)備,每個設(shè)備必須處理這個數(shù)據(jù)包,因此消耗一些電池電量,而不管該設(shè)備是否需要參與交換。
這種低效率也會破壞整個網(wǎng)絡(luò),在短時間內(nèi)頻繁使用廣播的情況下,與廣播風(fēng)暴相關(guān)的問題是眾所周知的,這類事件對物聯(lián)網(wǎng)網(wǎng)絡(luò)是有害的。
使用IPv6,沒有廣播功能。相反,有效的多播通信用于這些一對多通信。IPv6的鄰居發(fā)現(xiàn)協(xié)議(NDP)使用具有請求節(jié)點多播地址的高效多播來構(gòu)建和維護鄰居緩存,而不是廣播。鄰居(NS)數(shù)據(jù)包僅發(fā)送到LAN的/64前綴的一小部分子集,而鄰居數(shù)據(jù)包使用單播發(fā)回。
IPv6全節(jié)點鏈路本地多播組地址(FF02::1)與IPv6的廣播非常接近,物聯(lián)網(wǎng)設(shè)備盡可能使用單播消息來進(jìn)一步節(jié)省電池電量。
細(xì)節(jié):IPv6如何減少使用物聯(lián)網(wǎng)的電池
IPv6提供了多種方法來動態(tài)地為物聯(lián)網(wǎng)設(shè)備分配地址。IPv6節(jié)點具有多個地址,不像IPv4節(jié)點只有一個單播地址。IPv6節(jié)點具有鏈路本地地址(FE80::/10)和每個接口一個或多個IPv6單播地址。鏈路本地地址用于“引導(dǎo)”獲取單播地址作為路由器請求(RS)消息的源地址,以發(fā)現(xiàn)本地路由器。
第一跳路由器將路由器通告(RA)消息發(fā)送回全節(jié)點多播組(FF02::1),指示本地IPv6/64前綴以及獲取其單播地址的方法?;赗A消息中的某些標(biāo)志和其他選項,節(jié)點被告知使用無狀態(tài)地址自動配置(SLAAC)(RFC 4862),有狀態(tài)DHCPv6(RFC 8415)或遞歸DNS服務(wù)器(RDNSS)(RFC 8106)。使用哪個是企業(yè)網(wǎng)絡(luò)中經(jīng)常出現(xiàn)的問題。
對于缺乏運行DHCPv6所需的強大計算能力并且只需要在扁平網(wǎng)絡(luò)上運行的傳感器,SLAAC是一個顯而易見的選擇。對于企業(yè)的臺式機和服務(wù)器,DHCPv6一直是推薦的,但決定有點模糊。現(xiàn)在有更多操作系統(tǒng)支持RDNSS,包括Android,RDNSS正在成為一種流行的選擇。
RA數(shù)據(jù)包通常每200秒由本地路由器傳輸一次,以使所有節(jié)點都能獲知更改信息。加入網(wǎng)絡(luò)的新節(jié)點沒有耐心,將一個RS數(shù)據(jù)包發(fā)送到所有路由器鏈路本地多播組(FF02::2),以了解它們已加入的網(wǎng)絡(luò)。本地路由器通過向所有節(jié)點發(fā)送RA來立即響應(yīng)RS??梢韵胂螅@可以在物聯(lián)網(wǎng)應(yīng)用程序中消耗一些可測量的電池壽命,因此創(chuàng)建了控制RAs的選項。
一種選擇是為物聯(lián)網(wǎng)使用更長的RA間隔。物聯(lián)網(wǎng)設(shè)備可能只需要每天接收一次RA消息,甚至更長時間。但是,每當(dāng)新的物聯(lián)網(wǎng)設(shè)備加入網(wǎng)絡(luò)時,它就會發(fā)送一個RA,觸發(fā)本地路由器發(fā)送的全節(jié)點RA組播。
為了進(jìn)一步限制所有節(jié)點的組播數(shù)據(jù)包,可以將RA更改為發(fā)送RS的單個節(jié)點的單播數(shù)據(jù)包。這將阻止任何其他已建立的節(jié)點接收多播RA。此“Unicast-RA”功能消除了發(fā)送到全節(jié)點多播組的RA。這已在Cisco IOS版本15.4(2)T,15.4(2)S,15.2(1)SY1和更高版本中實現(xiàn),并使用第3層接口命令“ ipv6 nd ra solicited unicast ”進(jìn)行配置。
創(chuàng)新的IPv6物聯(lián)網(wǎng)協(xié)議
IPv6促進(jìn)了創(chuàng)新,并且已經(jīng)有大量開發(fā)支持IPv6的物聯(lián)網(wǎng)協(xié)議。以下是關(guān)于物聯(lián)網(wǎng)網(wǎng)絡(luò)如何使用IPv6的幾個示例。
6LoWPAN(IPv6 over Low Power Wireless Personal Area Networks)是一種基于IPv6的低速無線個域網(wǎng)標(biāo)準(zhǔn),允許IPv6數(shù)據(jù)包被壓縮、封裝并分成多個較小的幀,通過IEEE 802.15.4無線網(wǎng)絡(luò)(RFC 4944和RFC 6282)發(fā)送。因此,6LoWPAN需要網(wǎng)關(guān)設(shè)備(邊緣路由器)將本地IPv6網(wǎng)絡(luò)連接到IoT設(shè)備網(wǎng)絡(luò)。目標(biāo)是進(jìn)一步限制IPv6組播的使用,以最大限度地延長電池壽命(RFC 6775)。這些方法由Zigbee協(xié)議套件使用。
IETF正在通過像LoRaWAN這樣的低功耗廣域網(wǎng)和用于使用IPv6的小型嵌入式設(shè)備的輕量級實現(xiàn)指導(dǎo)(lwig)來研究IPv6。IETF還創(chuàng)建了用于這些低功耗和有損網(wǎng)絡(luò)(LLNs)的路由協(xié)議。IETF創(chuàng)建了“RPL: IPv6路由協(xié)議用于低功耗網(wǎng)絡(luò)”(RFC 6550)和多播協(xié)議用于低功耗網(wǎng)絡(luò)(MPL) (RFC 7731)。RPL使用IPv6來發(fā)現(xiàn)使用IPv6組FF02::1A的所有RPL節(jié)點。
IETF已經(jīng)開發(fā)了使用Web和RESTful接口(CoRE)通過IPv6進(jìn)行物聯(lián)網(wǎng)設(shè)備通信的標(biāo)準(zhǔn)。約束應(yīng)用協(xié)議(CoAP協(xié)議)(RFC 7252)定義了這些物聯(lián)網(wǎng)設(shè)備使用公共Web服務(wù)的方法。CoAP使用IPv6組播組FF0X::FD(所有CoAP節(jié)點)。
移動IPv6(MIPv6)協(xié)議(RFC 6275)已被指定多年,作為無約束設(shè)備在第3層網(wǎng)絡(luò)之間轉(zhuǎn)換期間維持其通信的一種方式。
IPv6甚至用于工業(yè)物聯(lián)網(wǎng)制造和機器人網(wǎng)絡(luò)。精確時間協(xié)議(PTP)(IEEE 1588-2008)使用IPv6多播到用于高速運動的精確編排進(jìn)行時鐘同步到亞微秒的精度,PTP使用IPv6組播組FF02::6B和FF0X::181。隨著企業(yè)繼續(xù)部署任何類型的物聯(lián)網(wǎng)應(yīng)用程序,他們應(yīng)該探索如何使該系統(tǒng)使用IPv6。