FOTA技術專欄—車云通信應用層協議淺析 全球新資訊
來源 |十一號組織
知圈 | 進“底盤社群”請加微yanzhi-6,備注底盤
(資料圖片)
車聯網配置的普及,使得車端與云端的交互日益頻繁。車云通信協議作為車聯業務的底層,隨著接入車輛總數的不斷增長,設計時必須考慮健壯性和拓展性。
早期網聯應用較少,因此不少車廠采用基于TCP/IP的私有化協議。但隨著車聯網業務場景的快速演變,私有協議弊端也開始凸顯,例如:
(1)開發新車型或新控制器都需定制或適配協議棧,這會導致開發重點從業務轉移到通信中間件,增加了人力成本和測試復雜性;
(2)私有協議具有封閉性、排他性等特點,一般是為了某些早期的特定業務場景而設計,缺乏靈活性和擴展性;
(3)接入車輛數的增多,也更易碰到性能的瓶頸,消息可靠性亦無保障,對上層業務影響較大。
因而一個輕量化、高可靠、可拓展的物聯網協議是主機廠車云通信的不二選擇。本文主要通過比較常見的物聯網協議,并詳細闡釋MQTT協議在車云通信中的優勢。
請求響應模式
首先介紹請求響應模式的物聯網協議,即“一問一答”的形式,包括HTTP和CoAP。
一、HTTP
讀者最為熟悉的是HTTP,在早期也的確有不少設備采用基于REST風格的HTTP協議作為云端與設備端的應用層協議。其傳輸層采用TCP、網絡層采用IPv4/IPv6。
然而HTTP協議是無狀態、無連接的,一般由設備主動請求,云端難以主動向客戶端推送消息,不能滿足日益變化的車聯業務需求。對于本就珍貴的車端運算和存儲能力,HTTP較重的協議字段也增大了性能開銷。與此同時,HTTP協議采用的傳輸層協議TCP并不支持多播或者廣播,在數據分發上也具有瓶頸。
因此如果HTTP如承擔車云的通信協議,是存在短板的。
二、CoAP
CoAP(Constrained Application Protocol),即受限制的應用協議,協議小巧,協議字段可選,數據包最小僅4字節。對于那些算力和內存小的設備,或現有Web服務器架構的設備,CoAP協議是一個更好的解決方案。
同為請求響應工作模式,CoAP保留了HTTP快速開發的特點,并減小了網絡開銷,實現了收發數據異步,提高了設備的響應速度。CoAP可與HTTP兼容,請求方法類似,包括了GET、POST、PUT、DELETE。
基于REST風格設計,相較于HTTP協議,傳輸層從TCP變為了UDP、網絡層為6LowPAN(基于IPv6的低速無線個域網標準,即IPv6 over IEEE 802.15.4)。由于UDP允許廣播和多播,CoAP協議降低了分發數據的帶寬要求。但CoAP局限應用于局域網中,限制了其在車聯網的應用。
發布訂閱模式
物聯網不少協議的設計模式為發布訂閱模式,當前物聯網云平臺主流使用的發布訂閱模式協議為DDS和MQTT。
一、DDS
DDS(Data Distribution Service for Real-Time Systems),為新一代分布式實時通信中間件協議,用于節點之間發送和接收數據、事件和命令。分發百萬條消息的性能達到秒級。DDS采用無代理的發布/訂閱體系架構,實現了以數據為中心的數據共享,提供多達22種QoS(Quality of Service,服務質量)策略,以保障數據進行實時、高效、靈活地分發,可滿足各種分布式實時通信應用需求。這也是它適用于國防軍事、工業控制這些高可靠性、可安全性應用領域的原因。
DDS的特性源于其底層實現了一個抽象的全局數據空間域,如下圖所示,DDS的基本架構由域構成,域將各應用組合在一起進行通信。域是一個范圍概念,由域ID唯一標識,只有在同一個域內的通信實體才能通信。域參與者作為數據分發服務的入口,包含若干個發布者,訂閱者和主題,負責創建,刪除,管理這些實體。
目前DDS的實施主要通過有線網絡。如車端在車載以太通過網DDS中間件實現SOA架構,可應用于智駕領域,以滿足其高響應,強實時的要求。然而大部分車聯業務,如FOTA,藍牙鑰匙、遠程控制,對車云通信的實時性要求并不高,綜合實施成本和實現方式考慮,DDS協議的輕量級和開發成本不如MQTT。
二 MQTT
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)協議是一種基于TCP/IP,采用發布訂閱模式的輕量級物聯網通信協議。MQTT協議通過代理(Broker)服務器實現數據的交互,是輕量、簡單、開放和易開發的。這些特點使它成為互聯網設備之間的通信的首選,實現了低帶寬下與云端的數據傳輸。應用領域除車聯網通信之外,還包括了物聯網大數據采集、消息推送、智能家電等。源代碼的開放進一步推動了MQTT的發展。
MQTT協議能適應針對低帶寬網絡,低計算能力的設備應用場景,主要設計特點如下。
(1)發布訂閱模式方便車云的交互,數據通過Topic發布,支持多對多的通信;
(2)協議報文結構緊湊,性能開銷小,負載的格式靈活,能有效減少車端的網絡流量;
(3)提供三個可選的 QoS 等級,分別是“至多一次”,“至少—次”,“只有一次”。實際開發過程中,消息可以在用戶定義的任何 QoS等級被發送出去,并且客戶端也可訂閱任何 QoS等級的主題。客戶端會選擇最高的QoS等級進行消息的發布和訂閱,根據業務要求調整消息的服務質量,適應車端不同的網絡環境;
(4)由于MQTT可適應不可靠網絡的場景,通過遺囑消息提供在線狀態感知與會話保持能力,用來告知其他客戶端本客戶端的網絡已經異常斷開。在設備與服務端連接時,通過CONNECT報文指定,當出現socket異常斷開或者保活超時時,服務端應當立即發布遺囑消息,以確保盡快通知訂閱者。
Mosquito是一款實現了MQTT的開源軟件,開發人員可以利用 Mosquitto提供的API進行應用程序的開發。Mosquitto同時為MQTT實現了諸如SSL/TLS安全、線程管理等功能。
比較與總結
最后我們對比上文所述的多種通信協議,如下表所示。在車聯網場景中,MQTT能夠以最小的網絡開銷,勝任未來海量車端設備的靈活、快速、安全接入,并保證復雜網絡環境下消息實時性、可靠性。
相關閱讀
-
魔獸真三秘籍(魔獸真三改建)
大家好,小琪來為大家解答以上的問題。魔獸真三秘籍,魔獸真三改建這... -
美的空調標志(美的空調標志)
大家好,小琪來為大家解答以上的問題。美的空調標志,美的空調標志這... -
如何培養學生的空間思維能力(如何培養...
大家好,小琪來為大家解答以上的問題。如何培養學生的空間思維能力,... -
十滴水洗澡的功效(十滴水打一字)
大家好,小琪來為大家解答以上的問題。十滴水洗澡的功效,十滴水打一... -
地鐵逃生怎么下載(地團網)|要聞速遞
大家好,小琪來為大家解答以上的問題。地鐵逃生怎么下載,地團網這個... -
女人在床上說的最刻薄的話_世界即時看
大家好,小琪來為大家解答以上的問題。女人在床上說的最刻薄的話這個...
- 魔獸真三秘籍(魔獸真三改建)2022-11-25
- 美的空調標志(美的空調標志)2022-11-25
- 如何培養學生的空間思維能力(如何培養學生2022-11-25
- 十滴水洗澡的功效(十滴水打一字)2022-11-25
- 焦點快播:“外國人講安徽故事·合肥站”宣2022-11-25
- 2022黃山旅游節推出14項主題活動2022-11-25
- 世界微速訊:以群眾口碑檢驗富裕江西幸福江2022-11-25
- 內雙畫眼妝選擇什么樣的眼影?內雙眼妝怎么2022-11-25
- 眼影選購需要注意哪些方面?眼影是不是越貴2022-11-25
- 深邃歐式眼妝教程 歐美上挑眼線怎么畫?-2022-11-25
- 環球觀熱點:中分劉海怎么打理好看?哪些中2022-11-25
- 適合中分發型的臉型有哪些?2022年短發發型2022-11-25
- 全球今熱點:中分發型有哪些優勢?方形臉適2022-11-25
- 中分短發發型有哪些?你更喜歡哪一款?|全2022-11-25
- 中分適合什么臉型?劉海中分怎么處理?2022-11-25
- 劉海分開合不上怎么恢復?去理發店可以嗎?2022-11-25
- 【世界新要聞】圓臉臉型特點是什么?圓臉適2022-11-25
- 不想中分怎么變回來?哪些臉型留中分發型不2022-11-25
- 環球熱推薦:中分劉海留煩了想換發型怎么辦2022-11-25
- 熱點聚焦:劉海中分怎么解決?劉海剪厚了怎2022-11-25
- 如何讓頭發快速生長?剛染完頭發第二天就洗2022-11-25
- 男士中分適合燙大卷還是小卷?男生燙發發型2022-11-25
- 自然卷應該使用什么樣的護發產品?自然卷該2022-11-25
- 月餅分著吃寓意好嗎?為什么說月餅吃多了也2022-11-25
- 月餅能煎著吃嗎?月餅的吃法有哪些?|環球2022-11-25
- 中秋節該怎么送禮?中秋節后天氣會轉涼嗎?2022-11-25
- 月餅烤完很硬怎么回事?月餅的好壞主要看什2022-11-25
- 十八數藏引入新投資方,深度布局產業化2022-11-25
- 地鐵逃生怎么下載(地團網)|要聞速遞2022-11-25
- 女人在床上說的最刻薄的話_世界即時看2022-11-25