工業物聯網核心技術(邊緣計算網關) 課件 第3、4章 邊緣計算網關設計、邊緣計算網關關鍵技術 開放性_第1頁
工業物聯網核心技術(邊緣計算網關) 課件 第3、4章 邊緣計算網關設計、邊緣計算網關關鍵技術 開放性_第2頁
工業物聯網核心技術(邊緣計算網關) 課件 第3、4章 邊緣計算網關設計、邊緣計算網關關鍵技術 開放性_第3頁
工業物聯網核心技術(邊緣計算網關) 課件 第3、4章 邊緣計算網關設計、邊緣計算網關關鍵技術 開放性_第4頁
工業物聯網核心技術(邊緣計算網關) 課件 第3、4章 邊緣計算網關設計、邊緣計算網關關鍵技術 開放性_第5頁
已閱讀5頁,還剩88頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3章邊緣計算網關設計工業物聯網核心技術(邊緣計算網關)3.1邊緣計算網關的基本概念3.3邊緣計算網關軟件架構學習要點3.2邊緣計算網關硬件架構3.4邊緣計算網關的CROSS能力要求3.1.1網關的概念網關,顧名思義就是一個網絡連接另一個網絡的“關口”,也就是連接兩個網絡的設備。和路由器不同,網關是在不同協議間移動數據,路由器則是在不同網絡間移動數據。通俗點說,就是網關可以連接完全不同的網絡,包括拓撲結構和網絡協議不同的網絡,而路由器只能連接類似的網絡。由于歷史的原因,網關在各種網絡參考模型中有著不同的概念和作用。01OPTION在計算機網絡的TCP/IP五層參考模型中,網關是一種中繼系統,用來實現兩個及以上計算機網絡的互連。02OPTIONOSI模型下的網關用于連接網絡層之上執行不同協議的子網,組成異構的計算機網絡,并能實現異構設備之間的通信,對網絡層以上的協議進行翻譯和轉換。03OPTION部分有關TCP/IP的文獻曾經把網絡層使用的路由器稱為網關。現在我們通常采用路由器接入網絡。因此在現有的TCP/IP網絡中,路由器等同于網關,我們可以用IP地址來標識網關設備。3.1.1網關的概念網關按功能大致分為以下3類。協議網關此類網關的主要功能是在不同網絡之間進行協議轉換。現在有好幾種通用的網絡標準:IEEE802.3(LAN)、IEEE802.11(WLAN)、IEEE802.15.1(BT)等應用網關這類網關本質上是一個計算機程序,主要為專門的應用而設置,目的是實現某一種服務中的數據格式的轉換,從而實現數據傳輸。安全網關最常用的安全網關就是包過濾器,實際上是對數據包的原地址、目的地址和端口號、網絡協議進行授權。通過對這些信息的過濾處理,讓授權的數據包通過網關,攔截無授權的數據包。1233.1.2邊緣計算網關的能力協議轉換能力:實現感知層協議到接入網協議的轉換、下層的標準格式的數據的統一封裝、統一不同感知網絡的協議。設備管理能力:首先就是網關的自身管理,如注冊管理、權限管理、應用管理等;其次是網關對連接設備的管理,如節點的ID、狀態、能耗、屬性等,以及遠程升級、維護、控制、診斷、喚醒等。廣泛連接能力:物聯網領域現在有很多通信標準,比如Wi-Fi、4G-LTE、RS232、RS485、CAN等。邊緣計算網關作為物聯網網關的擴展,也要具備廣泛連接能力以實現萬物互聯。智能實時處理能力:邊緣計算網關作為邊緣設備,承擔的計算任務主要分為兩部分,即上行的萬物互聯任務與下行的云任務。萬物互聯任務主要包含終端設備的服務及內容請求。添加標題13423.2邊緣計算網關硬件架構邊緣計算網關通用硬件架構物聯網網關通信架構3.2.1邊緣計算網關應用系統方案設計方法01OPTION首先應由需求調查確定邊緣計算網關應用系統的設計目標,這一目標包括系統功能與性能。系統功能主要有數據采集、數據處理、輸出控制等。比如現在較為流行的泛在電力系統、智能家居和智慧城市系統等都要用戶根據自己的需求來進行設計。確定系統功能與性能3.2.1邊緣計算網關應用系統方案設計方法02OPTION物聯網智能網關應用系統結構一般是以微控制器或SoC(SystemonChips)為核心,輔之以存儲器和外圍接口電路。邊緣計算智能網關應用系統的基本組成如下。確定系統基本結構AB中央控制芯片C存儲器分配I/O方式D網絡控制器邊緣計算網關應用系統的工作模式可以分為兩類:服務器端和客戶端。無論工作于何種模式,都需要對以太網控制器進行網絡參數配置,以實現最基本的物理層和鏈路層連接(即能夠ping通)。3.2.2邊緣計算網關硬件設計方案01OPTION基于TI公司智能家居和能源的邊緣計算網關參考設計5G3.2.2邊緣計算網關硬件設計方案02OPTION基于NXP公司物聯網網關的參考設計3.2.2邊緣計算網關硬件設計方案03OPTION基于Intel公司邊緣計算網關的參考設計3.3

邊緣計算網關軟件架構1.智能家居的邊緣計算網關軟件架構設計參考方案2.

Intel公司邊緣計算網關軟件架構設計參考方案3.

基于樹莓派的邊緣計算網關軟件架構設計本方法中所要構建的路由器模塊是基于OpenWRT系統開發的。OpenWRT是一個功能強大的開源Linux路由固件系統,并且提供了完全獨立開放的軟件包管理和文件系統控制功能。用戶可以方便地對其進行定制、優化,從而實現自己的功能需求。在不受設備供應商限制的情況下,該系統開發者可以配置程序運行需要的開發環境,并選擇安裝自己想要的應用程序,可擴展性非常高。OpenWRT是一個容易上手修改對應網絡協議文件的操作系統,而且它自身擁有很多網絡組件,可擴展性很高。所以本方法會將OpenWRT系統植入樹莓派內,對其進行編程開發,使樹莓派具有路由器的功能。3.4.1邊緣計算網關的連接能力(Connection)實現優質連接的障礙01OPTION不同的網絡系統具有各自不同的通信協議,因此在不同的網絡之間通信是比較困難的不同設備的數據差異隨著物聯網數據的不斷增加,如何保證網絡信道通暢、不阻塞成為了另一個挑戰。數據阻塞將不可避免地導致時延過長甚至丟包。網絡阻塞現象數據安全隱患會造成連接的不安全性,可能導致不同設備之間發生連接沖突,并影響整個物聯網的運行。數據安全隔離消費類設備使用的現有無線連接技術無法滿足工業和醫療系統的性能要求。這些系統對安全性、準確性和時延的不同需求提高了對可靠性的要求。無線連接的可靠性3.4.1邊緣計算網關的連接能力(Connection)邊緣計算網關的連接能力02OPTION(1)邊緣計算結合接入網絡切片在核心網切片中,邊緣計算服務器由于部署的位置距離用戶較遠,不可避免地會產生較長的時延,無法滿足部分應用對低時延特性的需求。同時,各類業務數據匯聚到核心網絡中進行計算處理,會造成數據流量的巨大增長,給回程鏈路帶來極大負擔,消耗過多回程鏈路帶寬。除此之外,相較于從核心網到終端的垂直結構切片,部分業務,如短距離的數據傳輸共享,對計算能力要求較低,用戶分布范圍小,更適合終端到終端的水平結構切片。基于邊緣計算的接入網絡切片,利用網絡邊緣的計算、存儲和通信能力,構建業務所在無線接入網絡內的接入網切片,實現了業務的本地處理,使得核心網和傳輸網的開銷減小,同時減少了業務傳輸時延,提高了連接性能,從而改善了業務性能。3.4.1邊緣計算網關的連接能力(Connection)邊緣計算網關的連接能力02OPTION(2)邊緣控制器/用戶分離改進了無線網絡連接兼容性通過控制面與用戶面的分離,用戶面網關可以獨立下沉至移動邊緣,從而在一定程度上解決連接過程中的相關數據安全問題。因此,控制面/用戶面(C/U)分離是5G技術的發展趨勢之一,也是關鍵的邊緣計算技術。它可以為網絡安全提供解決方案,具體來說就是邊緣設備要兼顧數據收集者和數據所有者。3.4.2邊緣計算網關的業務實時性處理能力(Real-Time)在邊緣計算模式下,為了更好地支撐海量連接、高帶寬和低時延業務的場景,在靠近用戶的網絡邊緣側構建業務平臺,提供存儲、計算、網絡等資源,將部分關鍵業務應用下沉到接入網絡邊緣,以減少網絡傳輸和多級轉發帶來的時延上的增加。這種在網絡邊緣側構建的新型基礎設施區別于集中化的云數據中心,具有以下特點。在網絡傳輸方面首先,邊緣設備過濾臨時數據,不再需要將海量的數據上傳至云端進行處理;其次,在靠近數據源端進行數據處理,能夠大大地減少系統時延,提高服務的響應時間在部署方面邊緣數據中心部署非常靠近信息源,具有屬地化部署的特點,分布極為廣泛,只滿足屬地用戶需求,具有規模小、數量多、分散部署等特點。3.4.2邊緣計算網關的業務實時性處理能力(Real-Time)業界將這種在網絡邊緣側部署的新型基礎設施稱為邊緣數據中心,即邊緣數據中心位于用戶端和集中化的云數據中心之間,提供小型化、分布式、貼近用戶的數據中心環境。因此,網絡支撐層次由原來的兩層變為了現在的3層,如圖所示。3.4.3邊緣計算網關的數據優化能力(Optimization)在邊緣計算中應該盡可能地減少人的介入,因此由邊緣節點負責對數據進行處理,并且以一種積極主動的方式與用戶進行交互。這種情況下,網關需要對數據進行預處理,例如噪聲去除、事件檢測以及隱私保護等。處理后的數據將發到上層用于提供合適的服務。這個過程面臨幾個挑戰。AB首先,不同設備傳來的數據格式不同。考慮到隱私和安全問題,網關上的應用不應該獲取原始數據,它只需要從完整數據表中獲取感興趣的內容即可。其次,有時候很難決定數據抽象的程度。如果過濾掉太多的原始數據,某些應用或服務可能就無法獲取足夠的信息。3.4.4邊緣計算網關的智能能力(Smart)物聯網終端設備產生的海量數據所蘊含的巨大價值將推動智能應用迅猛發展。在邊緣計算模式下,運行在網絡邊緣側的智能應用的響應時延更低。因為數據可以在靠近源頭側進行處理,在用戶附近提供服務,近距離服務保證了較低的網絡延遲,簡單的路由減少了網絡抖動。因此,在邊緣計算模式下,邊緣智能能夠帶來顯著的效率和成本優勢,智能應用將會得到更快、更大的發展,尤其會在提升個性化客戶體驗、優化客戶互動、提高運營效率、啟用新的業務模型方面發揮重要作用。3.4.4邊緣計算網關的智能能力(Smart)移動邊緣計算使傳統無線網具備了業務本地化和近距離部署的條件,其技術特征主要體現為鄰近性、低時延、高帶寬和位置認知。鄰近性01由于移動邊緣計算服務器的部署非常靠近信息源,因此特別適用于捕獲和分析大數據中的關鍵信息。低時延02由于移動邊緣計算服務靠近終端設備或者直接在終端設備上運行,因此大大降低了時間延遲。這使得反饋更加迅速,同時也改善了用戶體驗,緩解了網絡帶寬壓力。高帶寬03由于移動邊緣計算服務器靠近信息源,可以在本地進行簡單的數據處理,過濾臨時數據,不必將所有數據都上傳至云端,這使得核心網傳輸壓力下降,減少了網絡堵塞,節省了網絡帶寬。位置認知04由于邊緣計算網關是本地化部署,因此無線網絡上下文信息(小區ID、網絡負載、無線資源利用率等)可以被部署在邊緣計算網關上的業務應用有效感知并充分利用,從而為終端用戶提供更加差異化的服務。3.4.5邊緣計算網關的安全能力(Security)物理安全是指保護智能終端、邊緣計算網關等設備免受自然界中不可抗力(如地震、火災、龍卷風、泥石流)及人為操作失誤所造成的危害。物理安全是整個服務系統的前提,物理安全措施是萬物互聯系統中必要且基礎的工作。對于邊緣計算設備來說,其有可能在對外開放的、不可控的甚至人跡罕至的地方運行,所處的環境復雜多樣,因此更容易受到自然災害的威脅。且在運行過程中,由間接或者自身原因導致的安全問題(如能源供應、冷卻除塵、設備損耗等)的運行威脅雖然沒有自然災害造成的破壞徹底,但是如果缺乏良好的應對手段,仍然會導致災難性的后果,如性能下降、服務中斷甚至數據丟失。01OPTION物理安全需求3.4.5邊緣計算網關的安全能力(Security)網絡安全是指通過采用各種技術和管理措施,使網絡系統正常運行,從而確保網絡數據的可用性、完整性和保密性。大數據處理場景下,海量終端設備通過網絡層實現與邊緣設備的數據交互傳輸,邊緣設備可以通過接入互聯網實現更加廣泛的互連功能。大量設備的接入,給網絡管理帶來沉重負擔的同時,也增加了邊緣設備被攻擊的可能性。現在常采用的攻擊方式是在無線傳輸途中采用竊聽、截獲數據包等方法進行流量分析,然后篡改或偽造數據包來達到控制目標的目的。相較于云計算數據中心,邊緣節點的能力有限,更容易被黑客攻擊。02OPTION網絡安全需求3.4.5邊緣計算網關的安全能力(Security)數據信息作為一種資源,具有普遍性、共享性、增值性、可處理性和多效用性。而數據安全的基本目標就是要確保數據的3個安全屬性:03OPTION數據安全需求AB機密性C完整性可用性在邊緣計算中,用戶將數據外包給邊緣節點,同時也將數據的控制權移交給邊緣節點,這便引入了與云計算相同的安全威脅。首先,很難確保數據的機密性和完整性,因為外包數據可能會丟失或被錯誤地修改。其次,未經授權的各方可能會濫用上傳的數據圖謀其他利益。3.4.5邊緣計算網關的安全能力(Security)另一個萬物互聯背景下邊緣計算的數據安全需求就是用戶隱私保護。邊緣計算設備位于靠近數據源的網絡邊緣側,和位于核心網絡中的云計算數據中心相比,邊緣計算設備可以收集更多用戶高價值的敏感信息,包括位置信息、生活習慣、社交關系,甚至健康狀況等,那它是否會成為商業公司收集用戶隱私數據的新平臺呢?物聯網設備的計算資源難以執行復雜的隱私保護算法,在邊緣式大數據分析時如何在數據共享時保證用戶的隱私?這些問題都將成為邊緣計算發展的重要阻礙。03OPTION數據安全需求5G3.4.5邊緣計算網關的安全能力(Security)應用安全,顧名思義就是保障應用程序使用過程和結果的安全。通過將越來越多的應用服務從云計算中心遷移到網絡邊緣節點,能保證應用有較短的響應時間和較高的可靠性,同時大大節省了網絡傳輸帶寬和智能終端電能的消耗。安全跨越云計算和邊緣計算,需要實施端到端防護。由于邊緣計算網關更貼近終端設備,是分布式部署,訪問控制與威脅防護的廣度和難度因此大幅提升。邊緣計算網關的安全主要包含物理安全、網絡安全、數據安全和應用安全,關鍵數據的完整性、保密性正是安全領域需要重點關注的內容。04OPTION應用安全需求3.4.5邊緣計算網關的安全能力(Security)通過右圖所示的邊緣計算安全需求的分析可以看出,邊緣計算的特性使其在構建安全保護方案時給系統開發人員帶來了重大挑戰。因此我們作為相關從業人員,需要認真地學習邊緣計算安全框架和業務流程,設計安全的邊緣計算架構。這些對于促進邊緣計算的進一步普及和發展具有十分重要的意義。04OPTION應用安全需求本章首先介紹了邊緣計算網關設計的相關知識,從網關的概念、邊緣計算網關硬件架構、邊緣計算網關軟件架構等方面分別描述了邊緣計算網關是什么及怎么搭建邊緣計算網關。接下來本章還介紹了邊緣計算網關的CROSS能力要求。只有充分理解了這部分內容,才能更好地理解邊緣計算網關關鍵技術。小結第4章邊緣計算網關關鍵技術——開放性工業物聯網核心技術(邊緣計算網關)4.1虛擬化技術介紹4.3Docker容器學習要點4.2LXC容器4.4網關開放接口4.1.1服務器虛擬化技術在系統虛擬化中,多個操作系統可以互不影響地在同一臺物理機上同時運行,復用物理機資源。對于不同類型的系統虛擬化,虛擬機運行環境的設計和實現不盡相同。01OPTION服務器虛擬化技術介紹服務器虛擬化服務器虛擬化將系統虛擬化技術應用于服務器上,將一個服務器虛擬成若干個服務器使用。虛擬機虛擬機是指使用系統虛擬化技術,運行在一個隔離環境中、具有完整硬件功能的邏輯計算機系統,包括客戶操作系統和其中的應用程序。系統虛擬化系統虛擬化是使用虛擬化軟件在一臺物理機上虛擬出一臺或多臺虛擬機。1324.1.1服務器虛擬化技術01OPTION服務器虛擬化技術介紹服務器虛擬化通過虛擬化軟件向上提供對硬件設備的抽象和對虛擬服務器的管理。目前,業界在描述此類軟件時通常使用兩個專用術語:虛擬機監控器負責對虛擬機提供硬件資源抽象,為客戶操作系統提供運行環境。虛擬化平臺負責虛擬機的托管。。它直接運行在硬件之上,因此其實現直接受底層體系結構的約束。虛擬機監控器虛擬化平臺在服務器虛擬化中,虛擬化軟件需要實現對硬件的抽象,資源的分配、調度和管理,虛擬機與宿主操作系統及各個虛擬機間的隔離等功能。這種軟件提供的虛擬化層處于硬件平臺之上、客戶操作系統之下。4.1.1服務器虛擬化技術01OPTION服務器虛擬化技術介紹根據虛擬化層實現方式的不同,服務器虛擬化主要有兩種類型:寄宿虛擬化寄宿虛擬化中,虛擬機監視器是運行在宿主操作系統之上的應用程序,利用宿主操作系統的功能來實現硬件資源的抽象和虛擬機的管理。原生虛擬化在原生虛擬化中,直接運行在硬件之上的不是宿主操作系統,而是虛擬化平臺。虛擬機運行在虛擬化平臺上,虛擬化平臺提供指令集和設備接口,以提供對虛擬機的支持。4.1.1服務器虛擬化技術02OPTION服務器虛擬化關鍵特性多實例多實例是指通過服務器虛擬化,在一個物理服務器上可以運行多個虛擬服務器,即可以支持多個客戶操作系統。服務器虛擬化將服務器的邏輯整合到虛擬機中,而物理系統的資源,如處理器、內存、硬盤和網絡等,是以可控方式分配給虛擬機的。隔離性隔離性是指在多實例的服務器虛擬化中,一個虛擬機與其他虛擬機之間實現完全隔離。通過隔離機制,即便其中的一個或幾個虛擬機崩潰,其他虛擬機也不會受到影響,虛擬機之間也不會泄露數據。封裝性封裝性,即硬件無關性。在采用了服務器虛擬化后,一個完整的虛擬機環境對外表現為一個單一的實體(例如一個虛擬機文件、一個邏輯分區),這樣的實體非常便于在不同的硬件間備份、移動和復制等。與直接在物理機上運行的系統相比,虛擬機與硬件之間多了一個虛擬化抽象層。虛擬化抽象層通過虛擬機監視器或者虛擬化平臺來實現,并會產生一定這些開銷即為服務器虛擬化的性能損耗。服務器虛擬化的高性能是指虛擬機監視器的開銷。的開銷要被控制在可承受的范圍之內。4.1.1服務器虛擬化技術03OPTION服務器虛擬化核心技術處理器虛擬化的宗旨是發生異常時,虛擬機通過陷入指令陷入VMM中,并被VMM模擬,而不要直接作用于真實的硬件上。下面介紹VMM的陷入方式,也就是客戶機操作系統執行時是如何通知VMM的。VMM陷入是通過處理器的保護機制利用中斷和異常來完成的。VMM的陷入方式有以下幾種。(1)處理器虛擬化AB基于處理器保護機制觸發的異常C虛擬機主動觸發異常(也就是通常所說的陷阱)異步中斷4.1.1服務器虛擬化技術03OPTION服務器虛擬化核心技術一個操作系統對其物理內存存在兩個主要的基本認識:從0開始和內存地址連續性。而VMM與客戶機操作系統在對物理內存的認識上存在沖突,這使得真正擁有物理內存的VMM必須對客戶機操作系統所訪問的內存進行一定程度的虛擬化。在虛擬環境中,VMM通過模擬使得模擬出來的內存符合客戶機操作系統對內存的兩個基本認識。這種模擬過程就是內存虛擬化。內存虛擬化所面臨的問題是:(2)內存虛擬化物理內存要被多個客戶機操作系統同時使用,但物理內存只有一份,物理起始地址0也只有一個,無法同時滿足所有的客戶機操作系統內存從0開始的要求。使用內存分區方式,把物理內存分給多個客戶機操作系統使用,客戶機操作系統的內存連續性要求雖能得到解決,但內存的使用效率非常有限。4.1.1服務器虛擬化技術03OPTION服務器虛擬化核心技術在面臨這些問題的情況下,內存虛擬化引入一層新的地址空間:客戶機物理地址空間。VMM負責管理和分配每個虛擬機的物理內存,客戶機操作系統看到的是一個虛構的客戶機物理地址空間,其指令中所使用的地址最終將轉化成一個客戶機物理地址。在有虛擬化的情況下,這樣的客戶機物理地址不能被直接發送到系統總線上去,需要由VMM將它轉換成一個實際的物理地址后再交由物理處理器來執行。(2)內存虛擬化4.1.1服務器虛擬化技術03OPTION服務器虛擬化核心技術設備與I/O虛擬化技術把物理機的真實設備統一進行管理,包裝成多個虛擬設備給若干個虛擬機使用,響應每個虛擬機的設備訪問請求和I/O請求。目前,主流的設備與I/O虛擬化都通過軟件的方式實現。虛擬化平臺作為在共享硬件與虛擬機之間的平臺,為設備與I/O的管理提供了便利,也為虛擬機提供了豐富的虛擬設備功能。以VMware的虛擬化平臺為例,VMware平臺將物理機的設備虛擬化,把這些設備標準化為一系列虛擬設備,為虛擬機提供一個可以使用的虛擬設備集合。(3)設備與I/O虛擬化4.1.2網絡虛擬化技術01OPTION網絡功能虛擬化網絡功能虛擬化通過在工業界標準高性能服務器、交換機和存儲設備上發展標準虛擬化技術來構建和部署網絡功能。它旨在用軟件實現可在行業標準服務器上運行的網絡功能,并可根據需求動態部署在網絡中不同的位置,而無須重新安裝新的專用硬件設備。網絡功能虛擬化作為一種虛擬化技術,通過將軟件網絡功能部署在穩定的商用計算資源平臺上,避免了在傳統的異構硬件網絡功能部署過程中所遇到的復雜連接配置工作,再結合靈活的負載均衡等管理機制,有效解決了傳統網絡功能硬件設備存在的設備價格高、管理困難及由連接配置不當和網絡流量過載等引起的失效率高等問題。4.1.2網絡虛擬化技術01OPTION網絡功能虛擬化(1)網絡功能虛擬化基礎設施硬件基礎資源硬件基礎資源通過虛擬化層向網絡功能虛擬化提供計算資源、存儲資源和網絡資源等。虛擬化資源虛擬化資源包括虛擬計算資源、存儲資源和網絡資源。虛擬化層虛擬化層負責硬件資源的抽象,同時也起到了對虛擬化網絡功能與底層硬件資源的解耦功能。通過抽象虛擬化層和分配物理資源,虛擬化網絡功能的部署不需要考慮物理設備,只關心邏輯分配的虛擬化資源。1324.1.2網絡虛擬化技術01OPTION網絡功能虛擬化(2)虛擬化網絡功能虛擬化網絡功能運行在網絡功能虛擬化基礎設施之上,它旨在將基于硬件的網絡功能通過軟件來實現,并部署于虛擬化資源(如虛擬機)中。一個虛擬化網絡功能可能包含多個功能組件,每個功能組件部署于單獨的虛擬機,因而一個虛擬化網絡功能可能部署于多個虛擬機。多個虛擬化網絡功能構成一個服務鏈以實現服務功能。常見的網絡功能有用于提升網絡安全的網絡功能(如防火墻、入侵檢測系統、入侵防護系統等)和提升網絡性能的網絡功能(如代理、負載均衡器等)。4.1.2網絡虛擬化技術01OPTION網絡功能虛擬化(3)網絡功能虛擬化管理與編排網絡功能虛擬化管理與編排負責對整個網絡功能虛擬化基礎設施資源的管理和編排,以及業務網絡和網絡功能虛擬化基礎設施資源的映射和關聯。主要包含:虛擬化設施管理器虛擬化設施管理器的功能是進行資源管理和虛擬設施監控。1虛擬化網絡功能管理器虛擬化網絡功能管理器的功能是進行虛擬化網絡功能生命周期的管理。2虛擬化網絡功能調度器虛擬化網絡功能調度器主要協調虛擬化網絡功能管理器和虛擬化設施管理器來實現網絡功能服務鏈在虛擬化設施上的部署和管理。34.1.2網絡虛擬化技術02OPTION軟件定義網絡(1)軟件定義網絡的基本概念軟件定義網絡是一種通過分離和抽象網絡元素來建立計算網絡的方法。與現有網絡設備對流量和轉發都要進行控制不同,軟件定義網絡的核心是從路由器和交換機中的控制平面分離出數據平面網絡,網絡設備采用通用的硬件平臺,只負責單純的數據轉發;原來負責網絡邏輯控制的功能被遷徙及提煉出一個獨立的、相對集中的控制器,衍生出特有的網絡操作系統,具有整個網絡的全局視野,相當于網絡的指揮機構。其優勢如下:網絡傳輸設備硬件呈現出簡單化、歸一化網絡自身具備了智能化網絡面向上層的服務呈現虛擬標準化4.1.2網絡虛擬化技術02OPTION軟件定義網絡(2)將軟件定義網絡應用到邊緣計算的好處細粒度的有效控制01首先是細粒度的有效控制,因為基于跨層的實時優化可以通過集中訪問實時獲取信息統計和程序訪問。以服務為中心02其次是以服務為中心,最終用戶能夠通過識別是“什么”而不是指定“在哪里”來請求服務,這將是一個巨大的優勢。但是,受到以主機為中心的傳統網絡設計的約束,需要額外的努力才能在邊緣設備和服務器上實現這一目標。其他優點03此外,優點還包括高適應性、互操作、低成本、滿足多樣性需求、靈活性好和創新的低障礙。4.1.2網絡虛擬化技術03OPTION軟件定義網絡與網絡功能虛擬化1.軟件定義網絡是控制轉發分離,網絡控制集中化,流量靈活調度2.網絡功能虛擬化是軟件、硬件分離,網絡功能虛擬化,業務按需部署3.網絡功能虛擬化不希望使用軟件定義網絡的機制,而是使用數據中心中現有的技術來實現,但是在實現過程中會使用軟件定義網絡。4.軟件定義網絡提出的控制平面和數據平面分離能夠提高性能,簡化并兼容現有部署設備。5.軟件定義網絡和網絡功能虛擬化互不依賴、自成體系,但又相互補充、相互融合。4.2.1LXC是什么LXC(LinuxContainers)是Linux內核容器功能的一個用戶空間接口。LXC示意圖如圖所示。LXC利用了Linux內核控制組(Cgroups)與命名空間(NameSpace)功能,為應用軟件提供一個獨立的操作系統環境。LXC不需要Hypervisor這個軟件層,軟件容器本身極為輕量化,從而提升了創建虛擬機的速度。LXC是一種操作系統層虛擬化(OperatingSystem-LevelVirtualization)技術。操作系統層虛擬化之后,可以實現軟件的即時遷移(LiveMigration),使一個軟件容器中的物件即時移動到另一個操作系統下,再重新執行起來。4.2.2LXC組件目前的LXC使用下列內核功能來控制進程。AppArmor和SELinux配置。內核命名空間(進程間通信、uts、mount、pid、network和user)。Seccomp策略。chroot(使用pivot_root)。KernelCapibilities。控制組(Cgroups)。在資源管理方面,LXC依賴于Linux內核的Cgroups子系統。Cgroups子系統是Linux內核提供的一個基于進程組的資源管理的框架,可以為特定的進程組限定可以使用的資源。在隔離控制方面,LXC依賴于Linux內核的NameSpace特性。4.2.3虛擬化01OPTION基于容器的虛擬化(LXC)從概念上講,LXC可以被視為現有“chroot”技術的進一步發展,增加了額外的尺寸。chroot僅在文件系統級別提供隔離,LXC提供從容器到主機和所有其他容器的完全邏輯隔離。實際上,安裝新的Gentoo容器與安裝普通的Gentoo幾乎相同,最顯著的差異包括以下幾點。每個容器將與主機(和其他容器)共享內核,不需要在容器/引導目錄中設置和/或安裝內核。1設備和文件系統將(或多或少)從主機“繼承”,并且不需要配置為適用于正常安裝。2如果主機使用OpenRC系統進行自舉,則將“自動”省略此類配置項(即文件系統從fstab安裝)。34.2.3虛擬化02OPTION完全虛擬化(非LXC)完全虛擬化和半虛擬化解決方案旨在模擬底層硬件。與LXC和其他基于容器的解決方案不同,此類解決方案通常允許運行任何操作系統。雖然這對于安全性和服務器整合來說可能是有用的,但與基于容器的解決方案相比,它是非常低效的。目前該領域比較受歡迎的解決方案是VMware、KVM、Xen和VirtualBox。4.2.3虛擬化03OPTIONLXC的安裝Ubuntu是為數不多的Linux發行版之一,它默認提供安全、無特權的LXC容器所需的一切。所以這里我們在Ubuntu上安裝LXC。使用如下命令進行安裝:$sudoapt-getinstalllxc安裝完成后,運行lxc-checkconifg工具,檢查當前Linux內核支持LXC的情況。查看內核對LXC的支持是否準備就緒,命令為:$lxc-checkconfig安裝LXC工具后,會發現LXC的默認網橋接口(lxcbr0)已自動創建(已在/etc/lxc/default.conf中加以配置)。創建LXC容器后,窗口的接口就會自動連接到該網橋,那樣容器就能與外界產生聯系了。4.2.4LXC的使用01OPTION創建LXC下面以創建一個名為precise的Ubuntu14容器為例進行介紹。首先需要創建一個基礎的配置文件。由于創建LXC完成后,不再需要該配置文件(可以刪除),故該文件的名字和路徑沒有特殊要求。這里命名為precise.conf,放在當前路徑下,命令為:work.type=vethwork.flags=up=eth0work.link=lxcbr0lxcbr0為由LXC包創建的虛擬網橋,通過ifconfig可以知道其IP地址為1,網段為1/24,容器將通過lxcbr0與外界通信。如此,可以開始創建容器了,命令為:$sudolxc-create-nprecise-fprecise.conf-tubuntu---rprecise4.2.4LXC的使用02OPTION啟動LXC若需立即啟動LXC,則運行如下命令:$sudolxc-start-nprecise[command]若需以daemon方式運行,則運行如下命令:$sudolxc-start-nprecise–d[command]若需隨hostOS啟動而自動啟動,則運行如下命令:$sudoln-s/var/lib/lxc/precise/config/etc/lxc/auto/precise.conf4.2.4LXC的使用03OPTION打開LXC控制臺在沒有給容器設置IP時,使用如下命令打開其控制臺:$sudolxc-console-nprecise命令執行后將會看到文本登錄界面。通過按Ctrl+A+Q組合鍵,可以退出容器控制臺。更多的時候,通過SSH登錄將更方便,特別是可通過key認證方式登錄。4.2.4LXC的使用04OPTION停止LXC多數情況下,可以通過在guestOS(容器)內執行poweroff或shutdown-hnow來關閉容器。但有些時候卻需要在hostOS上強行關閉容器。如使用如下命令:$sudolxc-stop-nprecise容器創建后,配置和數據存放在/var/lib/lxc/precise目錄中。要刪除LXC,可執行如下命令:$sudolxc-destroy-nprecise05OPTION刪除LXC4.3.1容器簡介傳統開發部署流程4.3.1容器簡介系統虛擬化技術結構圖容器虛擬化技術結構圖4.3.2Docker簡介Docker最初是在Ubuntu14上開發實現的。Docker使用Google公司推出的Go語言進行開發實現、基于Linux內核的Cgroup、NameSpace,以及AUFS類的UnionFS等技術,對進程進行封裝隔離,屬于操作系統層面的虛擬化技術。對于Docker,當前定義是一個開源容器引擎,可以輕松管理容器。Docker在虛擬化的容器執行環境中增加了一個應用程序部署引擎。01OPTION02OPTION03OPTION04OPTION基于Docker容器技術的開發部署流程圖4.3.3Docker的主要特點配置快速簡單兼容性和可維護性好持續集成效率高標準化和高生產率高投資回報率和低成本安全性好隔離性強可移植性好持續部署和測試快速部署4.3.4Docker的主要組件01OPTIONDocker客戶端和服務器Docker是一個客戶端/服務器(C/S)架構的程序。Docker客戶端只需向Docker服務器或守護進程發出請求,服務器或守護進程將完成所有工作并返回結果。Docker的架構如圖所示。4.3.4Docker的主要組件02OPTIONDocker鏡像鏡像是構成Docker的基礎。用戶基于鏡像來運行自己的容器。鏡像也是Docker生命周期中的“構建”部分。鏡像是基于聯合文件系統的一種層式的結構,由一系列指令一步一步構建出來。其示意圖如圖所示。4.3.4Docker的主要組件03OPTIONDockerRegistryDocker用Registry(注冊表)來保存用戶構建的鏡像。Registry分為公有和私有兩種。Docker公司運營的公共Registry叫作DockerHub。用戶可以在DockerHub注冊賬號,分享并保存自己的鏡像。根據最新統計,DockerHub上有超過10000個注冊用戶構建和分享的鏡像。如NginxWeb服務器的Docker鏡像,或者Asterix開源PABX系統的鏡像,或是MySQL數據庫的鏡像,這些鏡像在DockerHub上都有,并且具有多種版本。用戶也可以在DockerHub上保存自己的私有鏡像。例如包含源代碼或專利信息等需要保密的鏡像,或者只在團隊或組織內部可見的鏡像。4.3.4Docker的主要組件04OPTIONDocker容器Docker可以幫用戶構建和部署容器,用戶只需要把自己的應用程序或服務打包放進容器即可。Docker借鑒了標準集裝箱的概念——標準集裝箱將貨物運往世界各地。Docker將這個模型運用到自己的設計理念中。唯一不同的是集裝箱運輸貨物,而Docker運輸軟件。所有容器都按照相同的方式將內容“裝載”進去。Docker也不關心用戶要把容器運到何方。用戶可以在自己的筆記本電腦中構建容器,上傳到Registry,然后下載到一個物理的或者虛擬的服務器中進行測試,再把容器部署到主機的集群中去。像標準集裝箱一樣,Docker容器方便替換,可以疊加,易于分發,并且較為通用。ABC4.3.5Docker的應用場景01OPTION作為云主機使用Docker容器的出現讓每個人僅僅通過一個幾KB的Dockerfile文件就能構建一個自定義的系統鏡像,進而啟動一個完整系統容器,讓人人都能成為DevOps專業人員。容器云主機可以啟動、穩定運行、關閉,并可設置在同一時間啟動。除了常用的托管服務業務,用戶完全可以自定義任何用法,包括所有云服務提供商的云硬盤、云數據庫,并部署用戶需要的所有服務。在Windows下,可以借助Toolbox工具運行Docker容器管理服務器。微軟公司發布的WindowsServer最新版本WindowsServer2019,也可以作為容器鏡像。5G4.3.5Docker的應用場景02OPTION作為服務使用Web應用服務Web應用服務是Docker使用最廣泛的一類服務,典型的架構是前端使用Tomcat+Java服務,后端使用MySQL數據庫。微服務架構使用微服務架構繼續分解和分離傳統的分布式服務,形成更小的服務模塊。服務模塊獨立部署和升級。這些功能與輕量級和高效的容器部署相吻合。每個容器里可以使用完全不同環境的鏡像服務。持續集成和持續部署通過Docker容器云平臺,使用者可以在將代碼推送到Git/SVN,完成后自動觸發后端CaaS(通信即服務)平臺下載、編譯和構建測試Docker鏡像,然后在Jenkins或Hudson中自動替換測試環境容器服務并運行單元/集成測試。1324.4.1軟件接口01OPTIONMQTT協議簡介在MQTT通信過程中,存在3種身份:AB發布者C消息代理訂閱者客戶端服務器MQTT客戶端可以發布消息供其他客戶端訂閱,可以訂閱其他客戶端發布的消息,可以退訂或者刪除消息,斷開與服務器的連接。MQTT服務器作為消息代理,位于消息發布者和訂閱者之間。它接收來自客服端的連接請求,接收客戶端發布的消息,處理客戶端的訂閱和退訂請求,向訂閱客戶端轉發訂閱的消息。4.4.1軟件接口01OPTIONMQTT協議簡介MQTT協議中傳輸的消息主要分為主題(Topic)和負載(Payload)。主題通過主題名這種標簽來標識訂閱的消息類型,而負載就是訂閱者訂閱消息的具體內容。MQTT進行通信的過程如圖所示。4.4.1軟件接口02OPTIONMQTT主題在MQTT中使用主題名來標識一個主題。一個主題名的格式可以是“{app}/{operator}/{infoType}/{infoTarget}/{infoPath}”。{app}表示發布本消息的應用程序。比如消息是由華為eSDK發布,則對應的{app}值為esdk;如果是由華為eSDK之外的App發布的,則{app}為該應用程序的關鍵字名稱。{operator}是一個動作,表示操作類型,目前支持以下幾種操作類型。getsetactionnotify4.4.1軟件接口02OPTIONMQTT主題{infoType}表示消息類型,它根據操作類型{operator}而定,如表所示。操作類型operator消息類型infoType說明getsetactionrequest請求消息response響應消息notifyevent……事件通知消息,后續擴展的或者其他自定義通知類型,例如電力行業的實時數據上報,歷史數據上報等4.4.1軟件接口02OPTIONMQTT主題{infoTarget}表示消息目標,其含義與{infoType}相關,如表

所示。操作類型operator消息類型infoType消息目標infoTargetgetsetactionrequest接收該請求消息的目標應用程序,如目標是華為eSDK,則為eSDK;如目標是其他應用,則為該應用的關鍵字名稱;如果為廣播請求,則為*

response接收該響應消息的目標應用程序,對應于{app},不能為*notifyevent……接收該通知的目標應用。一般為廣播通知,所以是*;其他情況下,可以指定為某個應用的關鍵字名稱進行定向通知4.4.1軟件接口02OPTIONMQTT主題{infoTarget}表示消息目標,其含義與{infoType}相關,如表所示。{infoPath}表示信息對象。例如,可用clock表示終端時間,用temperature表示溫度。操作類型operator消息類型infoType消息目標infoTargetgetsetactionrequest接收該請求消息的目標應用程序,如目標是華為eSDK,則為eSDK;如目標是其他應用,則為該應用的關鍵字名稱;如果為廣播請求,則為*

response接收該響應消息的目標應用程序,對應于{app},不能為*notifyevent……接收該通知的目標應用。一般為廣播通知,所以是*;其他情況下,可以指定為某個應用的關鍵字名稱進行定向通知4.4.1軟件接口03OPTION主題通配符當訂閱者訂閱主題時,可以使用通配符來訂閱多個主題。MQTT支持3種通配符來對主題進行過濾。層級分隔符“/”層級分隔符“/”將主題分為了多個層級,使得主題層次分明。如主題“eSDK/notify/event/sss/clock”。單層通配符“+”單層通配符“+”只能匹配“+”所在的一層的主題。比如訂閱主題為“eSDK/notify/event/sss/+”,可以接收“eSDK/notify/event/sss/clock”“eSDK/notify/event/sss/temperature”等主題的消息。多層通配符“#”多層通配符“#”能夠匹配當前主題層級下的所有子層級的子主題。比如訂閱主題為:“eSDK/notify/#”,就可以接收“eSDK/notify/event/*/clock”“eSDK/notify/event/sss/clock”等主題的消息。1324.4.1軟件接口04OPTIONMQTT協議數據報MQTT協議數據報主要由3部分組成:固定頭、可變頭和有效載荷。其中固定頭格式如表所示。它是所有數據報都必須包含的部分。Bit76543210Byte1MessageTypeDUPflagQoSlevelRETAINByte2RemainingLength可變頭的內容因數據報類型不同而不同,有效載荷表示消息的具體內容。4.4.1軟件接口04OPTIONMQTT協議數據報MQTT有如表所示的報文類型。類型名稱類型值報文說明CONNECT1發起連接CONNACK2連接回執PUBLISH3發布消息PUBACK4發布回執PUBREC5QoS2消息回執PUBREL6QoS2消息釋放PUBCOMP7QoS2消息完成SUBSCRIBE8訂閱主題SUBACK9訂閱回執UNSUBSCRIBE10取消訂閱UNSUBACK11取消訂閱回執PINGREQ12PING(連接保活)請求PINGRESP13PING回復DISCONNECT14斷開連接4.4.1軟件接口05OPTIONJSONoverMQTTJSONoverMQTT是通過MQTT協議發送JSON(JavaScriptObjectNotation)格式的消息的一種方式。JSON是一種存儲和交換文本信息的語法,它采用了鍵值對(Key/Value)的方式,比XML更小、更快、更易解析。所以在MQTT消息傳輸中使用JSON表示消息有效載荷更加簡潔、直觀、易懂。4.4.1軟件接口06OPTIONMQTT消息格式MQTT消息的JSON格式如下:{"token":"12345","timestamp":"2014-05-03T17:30:08Z",……"body":消息體}具體字段如表所示。字段類型說明tokenstring消息標識,相同源發出的相同類型消息的token應該各不同,可以用自增數,隨機數表示timestampstring消息產生的時間戳…………其他的自定義拓展字段bodyJSON消息體,以JSON格式表示4.4.1軟件接口07OPTIONMQTT數據訪問操作類型為get、set和action的主題,稱為“數據訪問”。一般是通信雙方分別訂閱請求主題和響應主題,請求方發布請求,經過MQTTBroker轉發后,提供方發布響應,請求方最后接收到響應,如圖所示。4.4.1軟件接口07OPTIONMQTT數據訪問它們中的請求主題可以是“req/get/request/res/#”,響應主題可以是“res/get/response/req/#”。所以它們的請求與響應的消息格式如表所示。訪問消息格式請求{"token":"12345","timestamp":"2004-05-03T17:30:08Z","body":請求消息體}正常響應{"token":"12345","timestamp":”2004-05-03T17:30:08Z”,"statusCode":200,"statusDesc":"OK","body":正常響應消息體}異常響應{"token":"12345","timestamp":”2004-05-03T17:30:08Z”,"statusCode":403,"statusDesc":"Forbidden","body":{"errorDesc":"errordetaidescription","errorTag":錯誤附加信息}}4.4.1軟件接口08OPTIONMQTT事件通知對于事件通知類型的消息,事件通知方是主動發布消息,代理服務器將消息轉發給訂閱了該通知的訂閱方,如圖所示。4.4.1軟件接口08OPTIONMQTT事件通知事件通知類的主題一般建議為“+/notify/event/*/#”,它表示訂閱的是任意的應用發布的各種事件通知。消息格式如表所示。類型格式通知{"token":"12345","timestamp":"2004-05-03T17:30:08Z","body":通知消息體}4.4.1軟件接口09OPTIONMQTT特點總結MQTT的通信開銷小,固定頭部只有2個字節,需要帶寬小,能夠最小化協議本身的消息傳輸代價以降低網絡負載。MQTT采用TCP/IP連接,提供了可靠的通信鏈路。協議本身簡單、開放、易于實現。采用發布/訂閱模式,提供了一對多的通信方式。MQTT采用了可選的服務質量。根據不同的網絡狀態和服務要求提供以下3種質量等級。至多發送一次,不確認消息能夠送達,取決于下層協議的服務質量。至少發送一次,確保消息能夠送達,可能會有重復消息。剛好發送一次,確保通信對方只收到一次正確消息。具有遺囑機制。在客戶端連接因為網絡狀態等非正常原因斷開后,根據用戶設置的遺囑機制,以發布話題的形式通知可能對該用戶狀態感興趣的其他客戶端用戶。4.4.1軟件接口10OPTIONMQTT工具目前常見的實現了MQTT協議的工具有很多。這里介紹Mosquitto開源工具。它實現了MQTT5.0、3.1.1和3.1版本協議,可以在Docker容器中安裝使用。可以使用mosquitto_pub發布消息,使用mosquitto_sub訂閱消息。在SSH登錄窗口中,可以使用以下方式訂閱所有主題的消息:mosquitto_sub-t"#"–d在一個新的SSH登錄窗口中,可以使用以下方式發布消息請求獲取設備信息:mosquitto_pub-l-t"app1/get/request/esdk/deviceInfo"例如:{"token":"12345","timestamp":"2004-05-03T17:30:08Z"}那么可以在訂閱消息的窗口中看到響應消息。4.4.2硬件接口01OPTION常見硬件接口類型(1)RS232RS232是一種最常見的串行通信協議。兩臺設備可以用RS232標準的串口線連接起來,進行全雙工的通信。針腳說明連接器針腳說明1DCD數據載波檢測6DSR數據發送就緒2RxD串口數據輸入7RTS發送數據請求3TxD串口數據輸出8CTS清除發送4DTR數據終端就緒9RI振鈴指示5GND邏輯地

RS232連接器RS232連接器引腳定義4.4.2硬件接口01OPTION常見硬件接口類型(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論