智慧城市建設必須認真對待的幾個問題(一):IPV6作爲地址的問題

全文共計4384字,預計閱讀時間9分鐘

來源 | 數據觀(轉載請註明來源)

作者 | 陸寶華 李晉 張永紅 李學良

編輯 | 蒲蒲

引言

智慧城市已經熱炒幾年了,目前還在升溫,並且一些做國際聯網應用的大企業提出了「城市大腦」的概念。當年這些概念的提出,對於推進智慧城市建設是有意義的,但作爲城市的管理者和建設者,不能被這些概念所「忽悠」,因爲目前還沒有哪個做網絡應用的企業是真的站在城市建設者和管理的角度來考慮智慧城市的建設問題,並且由於他們「大腦」想的更多是企業的利益,還不是哪個具體的城市,所以,城市的建設者和管理者可以多參考他們的想法,但是主導權還是要放在自己的手裏,從實際出發,去規劃、設計自己的智慧城市。

筆者雖然是從事網絡安全行業,但是幾年來爲了智慧城市的安全,不得不對城市和智慧城市有所理解,有一些體會和想法,供讀者參考。

第一個問題,我們討論智慧城市建設中,IPV6作爲傳感器地址的問題。

IPV6在國際上已經討論了有若干多年了,中共中央辦公廳、國務院辦公廳已於2017年印發了《推進互聯網協議第六版(IPv6)規模部署行動計劃》。其中的動因之一是由於IPV6可以爲地球上的「每一粒砂子,分配一個地址」,爲萬物互聯提供了地址基礎。

但是,今天筆者想給大家潑一點冷水。

1.計算機聯網與萬物聯網的通信地址需求

對於計算機聯網與各類「物」的聯網,其共同點是每個聯網的節點,都需要有一個地址,對自己進行標識,以區別於其它的節點。但是,採用什麼樣的地址,與相應的通信模式是相關的。

早期的局域網一般都採用總線制,使用的多是802.3協議,尋址直接使用MAC地址。而對於較大的計算機聯網,特別是Internet這種國際聯網,每個聯網節點都存在與在網上的任意節點通信需求的可能,這樣通信協議就必須保證任意一個節點都能尋找到其它任意不同的節點地址,同時也可以被任意其它節點尋找到的可能。IP協議,正是支撐了這樣的一個需求,特別是IPV6,地址空間是128位(16個字節),真的可以爲每一粒砂子提供一個地址。

對於「物」的聯網,是否有這樣的地址需求呢?每個「物」是否有與在網上聯接的其它的「物」進行這種通信呢?這是需要做一點分析的。

1.1 物聯網傳感器的基本連接方式

1.1.1 物的連接方式

  • 「物」能連接到網上,要考慮幾種方式:

  • 通過各類標識碼的讀卡器,將這個物映射到網上;

  • 通過數字標籤RFID將所代表的「物」映射到網上;

  • 通過大量的傳感器,將「物」的非電量轉換爲可以被網絡識別的電量;

  • 電氣設備的直接連接;

  • 可能的其它方式。

本文僅對傳感器(不包括視頻攝像頭)的連網進行分析。

1.1.2 傳感器的基本原理

傳感器是將非電物理量轉化爲電量的一種變換器。如圖1所示:

圖1傳感器

轉換的原理實際是很簡單的,無非是將一些對某個非電物理量變化比較敏感的電子元器件接入到實際的「物」的某個比較容易檢測到的部位,當這個「物」的物理量變化時,就會引起相關敏感元器件的電阻、電容、電感,或者是其它的電學物理量發生變化,從而變成電流、電動勢、電磁場強度等等的變化。傳感器的部署從系統論的分層觀點來看,應該是智慧城市的最底層。

1.1.3 傳感器的幾種主要場景

這些傳感器變換化的電量,主要有以下的幾種應用場景:

(1)無控制的數值上傳

這種情況就是爲測量之用,是最簡單、最直接的應用。

(2)有控制數值上傳及控制信號的產生

這種情形的應用,在工業控制體系中是比較普遍的,傳感器不僅用於測量,同時還會事先設定一定的閾值,當達到閾值規定時,會有相應的觸發,導致執行器做出相應的動作,這種控制有開環的控制,也有經過反饋形成的閉環控制。如圖2所示:

圖2控制

控制系統要向上一級控制器報送狀態數據,如執行器所執行動作的頻率,執行器所維持的狀態,傳感器上報數據的範圍,傳感器的狀態等等。

圖3傳感器的匯聚

1.1.4 多傳感器匯聚場景

在工業控制和智慧城市需要的控制項目中,可能還需要與相應的計算端進行連接,由計算端給出相應的計算結果,再命令相應的執行器執行各類動作。執行器可能是一個也可能是多個。這就是系統控制,而計算端可以是針對一個「物」狀態的(端)計算,也可以是針對多個「物」的邊緣的系統計算。如圖3所示。

1.2 傳感器地址

對於一個單路的傳感器的測量體系,傳感器的地址不那麼重要。但是,對於一個多路的體系來說,無論是僅用於測量,還是用於控制,傳感器的地址都是非常重要的。如果每個傳感器沒有區別於其它傳感器的地址,那麼就無法確認數據是由哪個傳感器所產生的,系統當然也無法正常地運行。

傳感器地址必須滿足以下的條件:

(1)在一個小系統內,地址空間要足夠,以保證小系統內的所有傳感器都有一個獨立的地址;

(2)地址應該足夠的短,這樣計算資源和網絡資源用於地址解析的開銷就少,特別是對於實時性要求較高的應用場景,這種對資源的節省,就會減少延時;

(3)保證傳感器是合法接入的(關於這一點,本文暫不討論)。

2.傳感器數值(數據)的通信模式

前面說過,通信的地址尋址方式與網絡傳輸模式是相關的,分析傳感器的傳輸需求,對於分析傳感器的尋址是重要的。

無論是哪一種應用場景,傳感器是一個單向的數據上傳的部件,也就是說它的通信僅僅是向一個方向的傳輸,當然它的數據可能會有多個系統對其進行採集,無論數據是由傳感器推送給上一級節點,還是由上一級節點對傳感器進行詢問。數據是由傳感器產生並由傳感器作爲通信的信源端,傳感器永遠不會成爲信宿端。

2.1 控制執行器與控制信號

在物聯網中,控制是可能存在的,一些系統需要從感知端獲得數據,當數據達到某個閾值時,應該觸發控制執行器產生某些動作,使得系統處於一個良好的狀態。前面已經說過,這種控制有開環的,也有閉環的。控制,無論是開環還是閉環,對實時性的要求一般會比較高,執行端可以認爲是通信的信宿端。但是,執行端並不一定僅僅是接收數據,也可能會將自身(或系統)的狀態數據作爲信源端發送給更高一級的節點,顯然控制執行端也是需要相應地址的。

需要說明的是,控制信號不同於數據,一個是實時要求比較高,另一個是控制信號是不能像數據那樣重複使用的。

3.計算機網絡與傳感器網絡通信

3.1 計算機網絡通信

各計算機之間的通信尋址方式是與這個網絡的複雜度有關的,對於早期的局域網來說,通信協議多采用的是IEEE802.3總線網的協議,這個協議描述的是物理層和數據鏈路層的MAC子層的實現方法,尋址也僅僅是針對MAC地址進行尋址。而對於範圍較大的網絡來說,可能是多網的結構,網與網之間是不能直接用MAC地址尋址的。這樣的複雜網絡環境,任意兩臺計算機之間的通信,先建立會話,使得通信信道建立後,通信才能得以實現,所以OSI七層協議模型是非常重要的。TCP/IP協議,雖然沒有一一的對應七層協議,但是協議中的功能一點都沒少。IP層是爲了解決尋址的,IP地址必須與MAC地址相對應,而TCP/UDP是對應到傳輸層的。

一個通信的建立必須包括五元組:源IP地址、源端口、目的地址、目的端口、4層協議號。這樣就保證了任意一臺計算機與另外任意一臺計算機之間的通信的可靠性和唯一性。

對於複雜網絡的計算機通信來說,這是非常必要的。

3.2 傳感器網絡通信

在傳感網絡中,從傳感器的匯聚端,如圖3(注:匯聚端的說法,不一定準確,是指傳感器將數據傳送的最近節點)所示,仍然可以看成是複雜的計算機網絡的通信,但是傳感器與匯聚器之間,則不能簡單地看成是計算機網絡通信。

(一)傳感器網絡使用IPV6地址導致的問題

對於使用IPV6作爲傳感器的識別地址就會存在以下的問題:

3.2.1 IPV6需要與MAC地址建立對應關係

對於任意一個傳感器,我們確實需要有一個可以識別的地址,如果沒有這樣的一個地址,就不知道數據的來源,就無法體現這個數據的價值。但是,是否一定需要用IPV6作爲地址則是需要分析的。

相當多數的傳感器目前仍然是非數字化的傳感器,即便是已經數字化了的傳感器,是否需要一個MAC地址,然後再與IPV6建立對應關係呢?

雖然IPV6地址空間足夠大,但是隻要傳感器的匯聚端能夠識別連接到該匯聚端上的所有傳感器就足夠了,一般這種匯聚端可連接的傳感器,不過是幾個,十幾個、幾十個的都是比較少見的,就算數量級很大,我們也可以用匯聚器級聯的方式進行擴展。我們完全不需要那麼大的地址空間來區別各個傳感器,何況還要在傳感器上加個網卡。

3.2.2 IPV6地址空間數據過大,導致傳感器數據報有效數據佔比過低

IPV6的地址空間是128位,對於一個五元組來說,源地址加上源端口就需要18個字節,完整五元組就需要37個字節,而一個傳感器產生的數值往往只有3到5位十進制數據,一個5位十進制數據的數值轉換成二進制,也僅僅是3個字節,用37個字節的地址大包裝箱,只裝上了3個字節的小貨物,大量的算力和帶寬都浪費在對地址的處理上,是極不合理的。一些從事物聯網應用的企業也證明了這一點,他們對每個月傳輸一次的計量數據(積攢了一個月,數據量還算比較大),對於IPV4來說,數據部分僅佔了數據報三分之一。

3.2.3 傳感器的通信模式

對於計算機網絡來說,任意兩臺計算機之間是有通信需求的,這任意的兩臺計算機可能是在不同的國度,也就是說有全球可達的通信需求。這種通信的路徑,很難說是南北向的還是東西向的(向直接的服務端請求通信是南北向的,而與其它的計算機節點的通信,則都可以認爲是東西向的),並且通信是雙向的。而對於傳感器與匯聚端的通信來說,僅僅單向的由傳感器向匯聚端的通信,這就說明:

(1)傳感器的數據沒有全球可達的通信需要,如果有,完全可能通過匯聚端進行傳輸;

(2)傳感器之間沒有通信的需求,並且也不存在傳感器之間通信的可能,即便有,也可以通過匯聚端來實現;

(3)傳感器與匯聚端的通信是定向的,不需要用五元組來確定。

結論

用IPV6作爲傳感器的識別地址是不科學的,完全沒有必要,甚至是有害的。

未來智能實驗室的主要工作包括:建立AI智能系統智商評測體系,開展世界人工智能智商評測;開展互聯網(城市)雲腦研究計劃,構建互聯網(城市)雲腦技術和企業圖譜,爲提升企業,行業與城市的智能水平服務。

  如果您對實驗室的研究感興趣,歡迎加入未來智能實驗室線上平臺。掃描以下二維碼或點擊本文左下角「閱讀原文」