OpenNESS,开源的边缘网络服务平台
目錄
文章目錄
目錄參考文章OpenNESS 的電梯間演講OpenNESS 與 ETSI MECEdge Controller Software 的功能清單Edge Platform Software 的功能清單OpenNESS 的部署方案On-Premise Edge DeploymentNetwork Edge DeploymentOpenNESS 的架構抽象架構ME APP 的類型軟件架構Edge Application APIsOpenNESS 作為一個邊緣應用程序管理系統邊緣應用下發(Onboarding)邊緣應用控制以及流量策略下發檢索 Edge Platform 上所有的 ME APPME APP 云適配器(Cloud Adapter)OpenNESS 作為一個邊緣網絡的服務平臺NTS(Network Traffic Service)Upstream TrafficDownstream TrafficTraffic Rule SetupLTE CUPS 流量策略配置OpenNESS & OpenVINOOpenVINOOpenVINO 的架構模型優化器(Model Optimizer)推理引擎(Inference Engine)OpenNESS & OpenVINO 運行原理部署架構相關術語EPC(4G 核心網絡)uCPE(通用客戶端設備)vRAN( 虛擬無線接入網)NGCO(新一代中央辦公室)GTP 協議S1 接口PDNPGW 與 SGi 接口LTE CUPSOAMLTE 網格架構
參考文章
《5G 與 MEC 邊緣計算》
《DPDK 網絡加速在 NFV 中的應用》
《數據中心網絡架構的問題與演進 — NFV》
OpenNESS 的電梯間演講
OpenNESS(Open Network Edge Services Software)是一個開源的邊緣應用程序管理系統,使服務提供商和企業能夠在任何網絡的邊緣上構建、部署和操作自己的邊緣應用程序(ME APP),支持通過簡易的方式將運行在 Telco/Public Cloud 中的 APP 遷移到邊緣。
OpenNESS is an Open Platform that enables Service Providers and Enterprises to build, deploy, and operate an Edge Services Management System on any Network Edge.
同時,OpenNESS 還是一個邊緣網絡的服務平臺,支持在多云環境中跨越多種類型的網絡平臺(Network Platform,e.g. NTS、OvS、vPP)以及多種類型的訪問技術(Access Technologies,e.g. S1_U、SGi、IP)。讓用戶能夠輕松的編排和管理運行在邊緣上的應用程序,并為客戶端(UE)和邊緣應用程序提供端到端(End to End)的網絡連接服務。
An open source software toolkit to enable easy orchestration and management of edge services across diverse network platform and access technologies in multi-cloud environments.
注:端到端是一種網絡連接。網絡要通信,必須建立連接,不管有多遠,中間要經過有多少機器,都必須在兩頭(源和目的)間建立連接,一旦連接建立起來,就說已經是端到端連接了,即端到端是邏輯鏈路。端到端是傳輸層的,TCP 就是用來建立端到端連接的協議。比如你要將數據從 A 傳送到 E,中間可能經過 A→B→C→D→E,對于傳輸層來說并不知道 B,C,D的存在,傳輸層只認為報文數據是從 A 直接到 E 的,這就叫做端到端。一旦通信完成,這個端到端的連接就會釋放,物理線路可能又被別的應用用來建立連接了。
OpenNESS 與 ETSI MEC
簡而言之,OpenNESS 就是一個可以充當 ETSI MEC 參考模型中的 MEPM、MEP 以及 Data Plane 角色的平臺級開源軟件。
MEPM(ME platform manager,移動邊緣平臺管理器):具有 MEP 元素管理、ME APP 生命周期管理以及 ME APP 的規則與需求管理等功能。
ME APP 生命周期管理:包括 ME APP 的創建和終止,并且為 MEO 上報 ME APP 相關事件的指示消息。
ME APP 規則與需求管理:包括身份認證、流量規則、DNS 配置和 UE 切換導致的沖突協調(非合作博弈,納什均衡算法)等。
MEP(ME platform,移動邊緣平臺):從 MEPM、ME APP 或 ME Service(支撐 MEP 的底層 Services)處接收流量轉發規則(Traffic Rules),并且基于轉發規則向 Dataplane(數據面)下達轉發指令。另外,MEP 還支持本地 DNS 服務、代理服務器的配置,可以將數據流量重定向到預期的 ME APP 或 ME Service。MEP 還可以通過 Mp3 參考點與其他的 MEP 進行通信,在分布式 MEC 系統的協作機制中,Mp3 參考點可以作為不同 MEP 互聯協作的基礎。
ME APP(移動邊緣應用) :是運行在 ME VIM 上的 Application 實例,ME APP 通過 Mp1 參考點與 MEP 相互通信。Mp1 參考點要求提供 ME APP 可用性(Availability)標識,發生 UE 切換時為用戶準備或重定位 ME APP 會話狀態等額外功能。
根據 ETSI MEC 參考模型,OpenNESS 采用了 Edge Controller Software(簡稱 Controller)與 Edge Platform Software(簡稱 Edge)分離的分布式軟件架構設計思路。其中,Edge Controller Software 充當著 MEPM 的角色運行在 Data Center 或 Cloud 中,而 Edge Platform Software 則充當 MEP 以及 Dataplane 的角色運行在任何 Network Edge 之上,包括:uCPE(通用客戶端設備)、vRAN(虛擬無線接入網)以及 NGCO(新一代的電信機房,或稱中央辦公室)。
Edge Controller Software 的功能清單
前端 WebUI、用戶賬號管理、邊緣應用鏡像注冊、EPC CUPS核心網配置、邊緣節點生命周期管理、邊緣應用生命周期管理、邊緣虛擬化基礎設施管理、監控。
Web UI front end
User account management
Edge compute application image repository
Core Network Configuration
Edge Node Lifecycle Management
Edge Application Lifecycle Management
Edge virtualization infrastructure management
Telemetry
Edge Platform Software 的功能清單
Edge Node 注冊、Edge Node 網絡接口配置、本地 DNS 服務、Edge Node 虛擬化基礎設施、ME APP 流量策略、數據平面服務、應用認證。
Edge Node Enrolling(Edge Node 注冊):在 Edge Node 首次啟動時,需要注冊到 Controller 中。由 ELA 完成。前提是需要拿到 Controller 頒發的 CA 證書來建立 TLS API 通信。
Edge node interface configuration(Edge Node 網絡接口配置):在 Edge Node 注冊到 Controller 之后,Edge Node 會將自身的 Network Interface 信息上報到 Controller。以此作為配置 Upstream、Downstream 或者 local breakout 網口(Local Break-out Port,LBP)的依據。由 ELA 完成。
DNS service(DNS 服務):為 ME APP 提供 DNS 服務,屬于數據面的 DNS。基于 Go DNS library 實現。
Edge Node Virtualization infrastructure(Edge Node 虛擬化基礎設施):從 Controller/NFV-O 接收啟動或停止 ME APP VI 的請求,并執行操作。由 EVA 完成。
Edge application traffic policy(ME APP 流量策略):為 ME APP 設置數據面流量轉發策略。由 EDA 完成。
Data Plane Service(數據平面服務):通過 Edge Node 上運行的 NTS 服務,將數據面的流量導向 ME APP 或 LBP APP。使用了 DPDK 進行 I/O 加速。
Application Authentication(應用認證):對 ME APP 進行身份認證/鑒權,以確定 APP 之間具有權限可被調用。只有在 ME APP 打算調用 Edge Application Authentication APIs 時才會進行認證,支持 TLS 連接。需要注意的是,Edge Application Authentication APIs 僅對 Native ME APP 有效,因為 LBP APP 和 Ported ME APP 都不會在 EAA 中進行注冊。
NOTE:Edge Node 資源使用要求
所有非關鍵/非實時(non-critical/non-realtime)的微服務推薦綁定在 Core 0 上運行。
NTS Dataplane 微服務和 DPDK PMD 推薦進行 CPU 綁定。
為 DPDK 庫使用大頁內存。
使用 RT kernel,在 VNFs 和 APPs 共存的場景中。
OpenNESS 的部署方案
OpenNESS 提供了兩種參考部署方案,On-Premise Edge 和 Network Edge。兩者最明顯的標準在于 VI(虛擬化基礎設施)的提供形式,前者提供的是本地的 VI,即 Edge Node 之上的 Docker/Libvirt;而后者提供的則是 MEC VIM 基礎設施。用戶應該針對不同的場景,考慮使用不同的部署方案。
On-Premise Edge Deployment
On-Premise Edge Deployment,又稱為企業級部署方式,Edge Platform Software 部署在 uCEP 上,處于企業網絡范圍內,而 Edge Controller Software 則部署在 Telco/Public Cloud 之上。
On-Premise Edge Deployment 面向的是將 Edge Node 作為 IaaS 子系統的應用場景,是中心業務向邊緣的延伸。在該場景中,用戶的需求只是單純的希望 APP 可以盡量的靠近其服務的終端,來處理一些實時性要求比較強的業務。
所以只需要為 ME APP 提供一個可用于運行的 x86 服務器作為 Edge Node 即可,Edge Platform Software 直接通過 Edge Node 上的 Docker/Libvirt 部署 VI,無需添加 VIM。也因此,該部署方式也只能針對一個租戶來使用,而并非是專門為 MEC 而設計的部署方式(MEC 要求多租戶可以使用同一邊緣云)。通過應用于客戶辦公室、工廠、體育場或其他單租戶設施中。
Network Edge Deployment
Network Edge Deployment,Edge Platform Software 部署在 NFVI 之上,運行于 NGCO 或 vRAM 的無線接入聚合點(Wireless Access aggregation point)中。而 Edge Controller Software 則同樣部署在 Telco/Public Cloud 之上。
該部署方式不再面向單一或小規模的 Edge Node,而是擁有針對 MEC 的虛擬化基礎設施管理系統(VIM),即:邊緣計算基礎設施(OpenStack/Kubernets)。要求邊緣計算基礎設施位于網絡運營商的設施內,并作為數據網絡(Data Network,包含接入網,核心網以及邊緣計算基礎設施)的一部分,與 OSS 集成在一起。應用于多租戶場景,并且規模非常大。Edge Controller Software 不僅可以管理邊緣計算基礎架構,還可以通過網絡連接管理網絡基礎架構。是更加貼近于 ETSI MEC 參考模型的部署方式。
OpenNESS 的架構
抽象架構
首先看 OpenNESS 的抽象架構與接口類型,完全符合 ETSI MEC 參考架構標準。
紅色框為 OpenNESS 核心組件:Edge Controller Software、Edge Platform Software 以及 Data Plane;
綠色框為 ME APP:可以分為 Edge Native APP 和 Public Cloud APP。
Edge Native APP:原生在 Edge Platform 上運行的 APP,這是我們討論的重點。
Public Cloud APP:即從公有云遷移到 Edge Platform 的 APP。
藍色框為 OpenNESS 與蜂窩網絡(Cellular Network)集成所需要的互補性商業解決方案:比如 MEO、VIM 等等。
ME APP 的類型
從 ME APP 的作用區別,又可以分為:
Producer APP(生產者應用):又稱 Edge services,為其他 ME APP(Consumer APP)提供服務。 它不直接為最終用戶提供服務。e.g. 定位服務,地圖服務,代碼編譯服務等等。
調用 Producer APP 必須要進行身份認證(Authenticate)以及獲取 TLS。
Producer APP 必須被其他 ME APP 發現后才能夠被調用,而 Producer APP 被發現的前提是要激活它們。
Producer APP 必須具有若干個用于提供 Notification Update(更新通知)的字段,以此來傳遞消息。
Consumer APP(消費者應用):直接為最終用戶提供服務,Consumer APP 可以選擇訂閱若干個 Producer APP 為其提供服務。E.g. CDN 服務,AR 服務,VR 服務,視頻服務等等。
如果 Consumer APP 無需調用 Edge Application APIs,也就無需進行身份認證。Edge Application APIs 負責為所有 ME APP 提供 API Endpoint,繼而對外提供 Services。
Consumer APP 可以訂閱若干個 Producer APP,后續版本中要會加入創建 ACL(訪問控制列表)的功能。
Consumer APP 與 Producer APP 之間的 Notification Update 通過 Web Socket Connection 來完成,Connection 由 Consumer APP 發起創建。這種方式還可以用于 ME APP 與其他的 NFVI 組件(e.g. OVS/VPP/NIC-VF)進行通信。
軟件架構
在看 OpenNESS 的軟件架構,Edge Controller Software 和 Edge Platform Software 均由一組特定的微服務組成,微服務之間使用 gRPC(Google Remote Procedure Calls)進行通信。
WebUI Font END:Web 前端操作界面。
Edge Platform/Controller Gateway:Edge Controller Software 與 Edge Platform Software 之間進行通信的物理路由網關。
EAA(Edge Application Agent):映射到 ETSI MEC Mp1 參考點,作為 ME APP 與 MEP 交互的媒介。Mp1 參考點要求可以標識 ME APP 的可用性、會話狀態重定位等功能。
EAA 提供了 Edge Application APIs 給 ME APP 調用,提供服務發現,服務注冊,服務間通信等功能,并且支持驗證 ME APP 的可用性,支持 UE 切換(基站)時需求的 ME APP 會話狀態重定位。激活從 Edge Controller Software(MEPM)通過 ELA 下發的針對 ME APP 的 Traffic Rules 和 DNS rules 配置。
EAA 提供了 Edge Application Authentication APIs 對所有打算調用 Edge Application APIs 的 ME APP 進行身份認證,在驗證了 ME APP 的身份之后會向該 APP 頒發 TLS 證書,正式建立通信通道。
ELA(Edge LifeCycle Agent):映射到 ETSI MEC Mm5 參考點,作為 MEPM 和 MEP 交互的媒介。Mm5 參考點要求實現對 MEP 的配置、對 Traffic Rules 的配置,并且負責管理 ME APP 會話狀態重定位方式以及支持 ME APP 的生命周期管理。
ELA 提供了 Edge Lifecycle Management APIs 供 Edge Controller Software(MEPM)調用,進行 MEP 配置的下發(Configuration of Edge Platform)等操作;
ELA 通過調用 EAA 提供的 Edge Application APIs 下發的針對 ME APP 的 Traffic Rules 和 DNS rules 配置,同時也支持 ME APP 的會話狀態重定位等功能;
ELA 通過調用 EVA 提供的 Edge Virtualization Infrastructure APIs 來完成 ME APP 的生命周期管理;
ELA 通過調用 EDA(NTS)來完成針對 Upstream/Downstream Interface 的 Traffic Rules 和 DNS rules 配置的下發。
EVA(Edge virtualization Agent):映射到 ETSI MEC Mm6 和 Mm7 參考點。其中 Mm6 作為 MEPM 和 VIM 的交互媒介,要求支持收集 VIM 虛擬資源信息以及 VIM 虛擬資源使用和管理;Mm7 作為 VIM 和 Dataplane 的交互媒介,完成數據流量的過濾和轉發。
EVA 提供了 Edge Virtualization Infrastructure APIs,支持虛擬化資源的管理。需要注意的是,在 OpenNESS 中,虛擬化資源區分為 On-Premise Edge Deployment 中的 Edge Node(Docker/Libvirt)或者是 Network Edge Deployment 中的 MEC VIM(OpenStack/Kubernets)。為了實現后者,在 Edge Controller Software 實現了一個 External EVA Service, 該 Service 會直接調用 External Orchestrator(OpenStack/Kubernets)進行 VI 的部署。
需要注意的是,OpenNESS 沒有實現 Mm7 參考點,而是直接通過 EDA 對 NTS 的調用來完成數據轉發規則的配置。
EDA(Edge Dataplane Agent):映射到 ETSI MEC Mp2 參考點,作為 MEP 和 Data plane 之間的交互媒介。在 ME APP,網絡,ME Service 之間完成數據路由轉發。
OpenNESS 實現了 EDA 來對接 NTS。NTS 本身的 API 是沒有保留的,所以 EDA 可以看作是 NTS 的 API。
NTS Dataplane(Network Transport Service Data Plane):數據面轉發模塊,將指定的流量規則應用到 Edge Platform 上,實現數據分發。
DNS Server:作為 Edge Platform DNS 服務器,應用于 ME APP。而對于不運行在 Edge Platform 的 APPs,則充當 DNS 轉發器(forwarder)。
LTE/CUPS Agent:對接 EPC Control Plane,Edge Controller 用于為 Edge Platform 配置 EPC Control Plane 和 EPC User Plane。
對于往返于 ME APP 與 EAA 之間、往返于 Edge Controller Software 與 EPC CP 之間的交互使用了 RESTful API。OpenNESS 就是通過微服務之間的交互,微服務與 ME APP 之間的交互、微服務于其他第三方商業解決方案(e.g. VIM、MEO、NFVO)之間的交互來完成其功能的。
On-Premise Edge Deployment 的軟件架構:
Network Edge Deployment 的軟件架構:
Edge Application APIs
Edge Service Activation/Deactivation(邊緣服務注冊與激活/停用):該 API Endpoint 使 Producer APP 可以在 Edge Platform 上注冊并激活或者停用。執行此 API 之后,Producer APP 才可以被 Consumer APP 發現并使用。e.g. 當 Location Service Producer APP(定位服務提供者應用程序)部署完成后,馬上就會調用此接口。
Edge Service Discovery(邊緣服務發現):該 API Endpoint 使 Consumer APP 可以發現 Edge Platform 上所有已激活的 Producer APP 清單。e.g. CDN Application 通過此接口發現 Edge Platform 上的 Location Service Producer APP。
Edge Service Subscription/Unsubscription(邊緣服務訂閱/取消訂閱):該 API Endpoint 使 Consumer APP 可以訂閱/取消訂閱指定的 Producer APP,并以此獲取 Producer APP 的更新通知。e.g. CDN Application 可以訂閱 Location Service Producer APP 以獲得更新通知。
Edge Service Notification update(邊緣服務更新通知):該 API Endpoint 的本質是 Web Socket,Socket Connection 由打算訂閱 Producer APP 的 Consumer APP 創建。當 Producer APP 有更新時,就通過該 Connection 通知(推送)給 Consumer APP。e.g. 當 Location Service 有更新時,就會推送給訂閱了 Location Service Producer APP 的 CDN Application。
Edge Service data update(邊緣服務數據更新發布):該 API Endpoint 使 Producer APP 可以將其更新的數據發布到 Edge Platform。e.g. Location Service Producer APP 使用該 API 將用戶的位置更新數據發布到 Edge Platform。
Edge Service list subscription(邊緣服務訂購列表):該 API Endpoint 使 Consumer APP 獲得其可以使用的 Producer APP 清單。e.g. CDN Application 可以通過該 API 得知其是否訂閱了 Local Service Application。
Edge Application APIs 作為 Producer APP 與 Consumer APP 之間的消息總線:
OpenNESS 作為一個邊緣應用程序管理系統
OpenNESS(Open Network Edge Services Software)是一個開源的邊緣應用程序管理系統,使服務提供商和企業能夠在任何網絡的邊緣(Network Edge)上構建、部署和操作自己的邊緣應用程序(Edge APPs),并且支持簡易的方式將云中的應用程序遷移到邊緣。
邊緣應用下發(Onboarding)
Controller 通過 HTTP 方式來提供應用鏡像(APP Image)的下載,支持 Docker Image(tar.gz)和 QOCW2 Image 兩種格式,ME APP 支持 VM/Container/Pod 三種 APPs 運行方式,對應 OpenStack/K8S/DockerCompose。
在 Controller ui Container 上運行 HTTP/HTTPS Image server。
通過 WebUI 將 APP Images 上傳到 Image server。
通過 WebUI 將 APP Images 下載到 Edge Platform 并進行部署。
通過 WebUI 啟動 ME APP(VM/Container/Pod)。
邊緣應用控制以及流量策略下發
檢索 Edge Platform 上所有的 ME APP
ME APP 云適配器(Cloud Adapter)
所謂 ME APP 云適配器,即 APP 通過 Connector(各廠家有不同的實現方式)的方式與 AWS/Baidu Cloud 提供的服務連接起來。例如:Amazon Greengrass 通過 AWS lambda functions 部署到 Edge,并且可以通過 GreenGrass service 作為 IoT 網關回連到 AWS cloud。該功能常被應用于 IoT 場景中,用于數據的收集與回傳。
起初要實現這個效果,就需要配合 AWS Edge 解決方案來完成。而 OpenNESS 則提出了一個通用的框架來解決這個問題。OpenNESS 將 Greengrass Core 作為一個 ME APP。可以是一個 Ported Edge APP,保持原來的運行方式;也可以將其修改后的 Native Edge APP 并利用 Edge Application APIs 的優勢。
通過 OpenNESS 解決方案,可以在同一個 Edge Node 上運行來自多個不同云廠商(暫時支持 AWS cloud 和 Baidu cloud)的 APPs,輕松的為用戶提供多云體驗。
NOTE:對于 Public Cloud APP。用戶只需要將公有云中的 APP Upload 到 Controller,然后選擇 Edge Node 并執行部署即可。該場景中,APP 不可以調用任何的 Edge Application APIs,即不可以與 Edge Node 中的其他 APP 進行交互,僅僅直接為最終用戶提供服務而已。
OpenNESS 作為一個邊緣網絡的服務平臺
OpenNESS 作為一個邊緣網絡的服務平臺,支持在多云環境中跨越多種類型的網絡平臺(Network Platform)以及多種類型的訪問技術(Access Technologies),例如:LTE 網絡、IP 網絡。讓用戶能夠輕松的編排和管理運行在邊緣上的應用程序,并為客戶端(UE)和邊緣應用程序提供端到端(End to End)的網絡連接服務。
NTS(Network Traffic Service)
NTS 的前身是 Intel NEV SDK。架構圖如下:
NTS 提供以下功能:
Provide Reference API for REST/grpc to C API:提供可供 REST/grpc 調用的 C API。
Implement Scatter and Gather in upstream and downstream:定義 Edge Platform 的 Upstream/Downstream 接口,并在 Upstream/Downstream 上實現 Scatter(分發)和 Gather(匯聚)。
Reference Packet forwarding decision independent of IO:獨立于 I/O 的分組轉發策略。
Provide Reference ACL based Application specific packet tuple filtering:提供基于數據包五元組(5 Tuple)的 ACL 過濾方式。
Implement KNI based interface to Edge applications running as Containers/POD:為運行在 Containers/Pod 的 ME APP 提供基于 KNI(Kernel Network Interface)的 interface。
Implement DPDK vHost user based interface to Edge applications running as Virtual Machine:為運行在 VM 中的 ME APP 提供基于 DPDK vHost user 的 interface。
Reference implementation which does not depend on EPC implementation:不依賴 EPC 的實現。
Provide reference Simultaneous IP and S1 deployment:提供 Simultaneous IP(SGi) 和 S1_U deployment 方式。
Provide reference GTPU base packet learning for S1 deployment:為 S1_U deployment 提供基于分組學習(Packet Learning)的 GTP-U 協議封裝/解封裝。
Future enhancement of UE based traffic steering for authentication (not there now):將來會增加為了身份認證(Authentication)而提供的基于 UE 的流量控制(Traffic Steering)。
NOTE:
Upstream:從客戶端到接入點。
Downstream:從接入點到客戶端。
Upstream Traffic
Edge Platform 可以部署在 LTE 或 IP(Wireless/Wireline,無線/有線)網絡上。Edge Platform 在 NTS Dataplane 上提供了一個網絡抽象層,將多種協議的差異進行了抽象與封裝,所以,無論在什么網絡環境中部署,ME APP 都只會看見解封裝之后的 IPv4 流量。Edge Node 上的 EDA 與 NTS 提供了配置網絡和數據平面的方法,以提供流量控制和進行任何所需要的協議傳輸單元封裝。
S1_U:Edge Platform 從 LTE eNodeB 掛接到 S1 接口上。該模式下,流量會首先被 NTS Data Plane 截獲,再由 NTS 將流量重定向到 ME APP 或上游 EPC。 在該過程中,NTS 需要對 Upstream 流量根據需要進行 GTP-U 封裝與解封裝。
SGi:Edge Platform 直接掛接到 SGi 接口上,EPC 出來的 Upstream IP 流量到達 NTS Data Plane,NTS 根據 Traffic Rule 進行轉發到 ME APP 或 PDN。
Downstream Traffic
Native:OpenNESS 原生(Native)支持將流量引導到 Edge Node 上運行的 ME APP 或 IoT GW。ME APP 運行在 Container/VM 上,通過實現 ETSI MEC & NFV 參考架構,ME APP、IoT GW、VNFs 實際上是可以共存、共享 VIM 平臺資源的。
Local Breakout:OpenNESS 支持將流量引導到在用戶現存的 IT 基礎設施上運行的 LBP APP,即 Applications On Local Breakout Port(LBP)。如下圖,用戶可以使用 Controller 配置流量轉發規則(Traffic Rules),將 Downstream 導向企業 TOR Switch 最終流入 LBP。這種部署方式可以在不修改企業 IT 基礎設施的前提下接入 Edge Node,并對原有的 APP 進行創新。
Packet Data Network(PDN,分組數據網):統稱提供數據服務的網絡,例如:因特網。OpenNESS 支持將流量引導至 PND,假如不對這些數據不感興趣的話。
Traffic Rule Setup
TrafficPolicy 的數據結構如下:
TrafficPolicy:為指定的 Interface(e.g. ME APP Interface、ME Host Interface)定義一組 TrafficRule。
TrafficRule:單個流量規則,內含 TrafficSelector 。
TrafficSelector:定義了需要處理的數據流量類型。
MACFilter:指定 Frame 的相關過濾參數。
IPFilter:指定 Packet 的相關過濾參數。
GTPFilter:指定 GTP 協議封裝包的相關過濾參數。
Add Traffic Rule
Delete Traffic Rule
LTE CUPS 流量策略配置
Controller LTE/CUPS Agent(Core Network Configuration APIs edge compute)通過 HTTP RESTful 的方式與 EPC CP 進行通信,以此來配置 EPC CUPS 的流量策略,將 EPC UP 的流量導向 Edge Platform。
NOTE:由于 ETSI MEC 并沒有給出 MEPM和 4GEPCControlPlane之間的接口標準,但最起碼 HTTP REST 這一調用方式是滿足標準的。EPC 可以很方便的將自己的 API 集成到 OpenNESS Controller 中,這里面需要一些定制開發的工作。這樣就做到了 MEPM 和 OAM Agent 的完全解耦。
NOTE:
OAM:操作(Operation)、管理(Administration)、維護(Maintenance)
同時,當 EPC UP 和 Edge Platform 處于同一物理位置(用戶面下沉)的情況下,MEAO 會調用 NFVI 資源來為 EPC UP NF 提供VI。在 NFV & MEC 混合的場景中,OpenNESS 建議通過 Controller 來配置和管理這些 NF,MEO 直接調用 Controller API 就可以管理運行在各個 Edge Platform 上的 NF 了。即完全由 OpenNESS Controller 充當 MEPM 角色。
OpenNESS 通過 Controller API 來配置和管理運行在各個 Edge Platform 上的 NF。即完全由 OpenNESS Controller 充當 MEPM 角色,這樣就做到了 MEPM 和 OAM Agent 的完全解耦。
LTE CPUS Traffic setup
OpenNESS & OpenVINO
OpenVINO
OpenVINO 是英特爾基于自身現有的硬件平臺開發出的一款可以加速高性能計算機視覺和深度學習視覺應用開發速度的工具包,支持在各種英特爾平臺的硬件加速器上進行深度學習,也支持異構計算。 支持 Windows/Linux 操作系統,支持 Python/C++ 編程語言。簡而言之,OpenVINO 工具包可以快速部署模擬人類視覺的應用程序和解決方案。
OpenVINO 的特點:
在英特爾硬件平臺上提升計算機視覺相關深度學習性能達 19 倍以上。
解除 CNN-based 的網絡在邊緣設備的性能瓶頸。
對 OpenCV,OpenXV 視覺庫的傳統 API 實現加速與優化。
基于通用 API 接口在 CPU、GPU、FPGA 等設備上運行加上。
OpenVINO 工具套件能夠:
在邊緣啟用基于 CNN 的深度學習推理。
支持跨英特爾 CPU,英特爾集成顯卡,英特爾 FPGA,英特爾 Movidius 神經計算棒,英特爾神經計算棒 2 和采用英特爾 Movidius VPU 的英特爾視覺加速器設計的異構計算。
通過易于使用的計算機視覺功能庫和預優化的內核,加快產品上市速度。
包括針對計算機視覺標準的優化調用,包括 OpenCV,OpenCL 和 OpenVX。
OpenVINO 工具套件包括:
深度學習部署工具包(DLDT)
深度學習模型優化器:一種跨平臺的命令行工具,用于導入模型并使用推理引擎為最佳計算做好準備。模型優化器導入,轉換和優化模型,這些模型在流行的框架中進行訓練,例如:Caffe、TensorFlow 、MXNet、Kaldi 和 ONNX 等。
深度學習推理引擎:一種統一的 API,允許對許多硬件類型進行高性能計算,例如:英特爾 CPU,英特爾集成顯卡,英特爾 Movidius 神經計算棒等。
演示和示例:一組簡單的控制臺應用程序,演示如何在應用程序中使用推理引擎。
工具:一組簡單的控制臺工具,用于校準和測量模型的精度。
預先訓練的模型:一套用于學習和演示目的的預訓練模型或開發深度學習軟件。
OpenCV:一個為英特爾硬件編譯的 OpenCV 社區版本,包括用于計算機視覺的 PVL 庫。
OpenCL 2.1 版本的驅動程序和運行時。
Intel?MediaSDK
OpenVX:英特爾針對在英特爾硬件(CPU,GPU,IPU)上運行而優化的 OpenVX 部署。
OpenVINO 的架構
OpenVINO 工具包主要包括兩個核心組件,模型優化器(Model Optimizer)和推理引擎(Inference Engine)。
模型優化器(Model Optimizer)
模型優化器將給定的模型轉化為標準的 Intermediate Representation(IR) ,并對模型進行優化。支持一下深度學習框架:
ONNX
TensorFlow
Caffe
MXNet
Kaldi
推理引擎(Inference Engine)
推理引擎支持硬件指令集層面的深度學習模型加速運行,同時對傳統的 OpenCV 圖像處理庫也進行了指令集優化,有顯著的性能與速度提升。支持以下硬件設備:
CPU
GPU
FPGA
VPU
OpenNESS & OpenVINO 運行原理
OpenVINOProducer APP:服務于 Consumer APP,借助于 OpenNESS EAA 更改通知的方式,將 OpenVINO模型優化器輸出的標準的 IR 推送到 Consumer APP 中。
OpenVINOConsumer APP:服務于最終用戶,通過 OpenVINO 推理引擎應用 IR結合各種硬件加速設備對輸入的視頻流進行圖像識別分析。
視頻流從嵌入式 Linux 客戶端設備(UE)上安裝的網絡攝像頭捕獲(綠線)。
視頻流在 OpenNESS Edge Platform上推理分析完成之后再次傳輸回到 UE 繼續進一步的數據分析與應用(紅線)。
部署架構
相關術語
EPC(4G 核心網絡)
4G 作為第四代移動通信技術,有著無法比擬的優越性,它能夠快速傳輸語音、文本、視頻和圖像信息,能夠滿足幾乎所有用戶對于無線服務的要求,國際電信聯盟對于 4G 系統的標準為符合 100 Mbit/s 數據傳輸速度的系統,當之無愧的被稱為機器之間的高速對話。
LTE(Long Term Evolution)主要研究 3GPP 無線接入網的長期演進技術,升級版的 LTE Advanced 將最終滿足國際電信聯盟對 4G 系統的要求。SAE(System Architecture Evolution)則是研究核心網的長期演進,它定義了一個全 IP 的分組核心網 EPC(Evolved Packet Core,分組核心演進),該系統的特點為僅有分組域而無電路域、基于全 IP 結構、控制與承載分離且網絡結構扁平化,其中主要包含 MME、SGW、、PCRF 等網元。其中 SGW 和 PGW 常常合設并被稱為 SAE-GW。
MME(Mobility Management Entity,移動管理實體),管理會話(Session)狀態和認證并追蹤網絡上的用戶。
SGW(Serving Gateway,服務網關),通過訪問網絡路由數據。
PGW(Packet Data Node Gateway,分組數據節點網關),作為 LTE 網絡和其它分組數據網絡間的端口,管理服務質量(QoS)并提供深度數據包檢測(DPI)。
PCRF(Policy and Charging Rules Function,策略及收費規則功能),支持服務數據流檢測、策略執行和計流量收費方式。
uCPE(通用客戶端設備)
uCPE(Universal Customer Premise Equipment,通用客戶端設備):uCPE 一詞來源于 CPE,后者指位于用戶端的網絡終端設備(Customer premises equipment,CPE),用于與電信運營商對接服務,是用戶端服務提供商解決方案的重要組成部分,這些解決方案提供商通過使用專用集成鏈路(ASIC)來提供各種服務。
但是,傳統 CPE 缺乏靈活性并且成本高昂,安裝和維護要求服務提供商部署網絡技術人員,耗時很長且非常昂貴。此外,網絡基礎設施的設備長期以來都是由不同廠商的專用設備構成,例如,一家廠商提供路由器,另一家廠商提供防火墻、WAN 加速器和無線局域網控制器等。因此,業界提出了在通用硬件上來實現不同功能,將兩個或更多的網絡功能放在標準硬件上來減少購買的設備。以期消除需要不同技能來安裝、配置、測試和維護的專有設備,還能降低總體功率和 HVAC 要求。由此,業界產生了現在大行其道的 uCPE。
uCPE 由在開放服務器上托管的標準操作系統上運行的 VNF 組成,理想的 uCPE 部署需要支持多廠商多組件構建。因此,uCPE 將云引入電信網,并成為推動創新的動力。通常情況下,服務提供商希望通過單個通用平臺上運行的 VNF 替換專用設備,從而簡化用戶現場部署,uCPE 提供了通過使用 NFV 將以云計算為核心的技術一直延伸到電信網絡接入部分來實現這一愿景的途徑。
長期以來,NFV 部署的主要推動力之一是 vCPE,后者能簡化操作,減少資本支出和運營成本,加速服務交付。但由于這些設備成本低廉,因此它們通常不夠快速或者功能不夠強大,并且會限制一些更復雜的服務。uCPE 同樣也是一種運行 VNF 的軟件解決方案,作為一個可遠程管理的平臺,托管服務提供商可以通過 WAN 輕松部署、修改或刪除客戶端 VNF。uCPE 設備同樣基于商用硬件,但是它比 vCPE 提供的功能更加強大。因此,uCPE 可以視為 vCPE 的進一步演進的結果。
目前,業界都已認可,uCPE 的真正價值在于按需服務,它具備的優勢包括、簡化硬件安裝,可以在各個站點之間交替混合和匹配、消除對專有網絡設備和相關技能的需求、開放式架構使企業能夠更快更高效地推出新應用程序、快速有效地部署按需虛擬網絡功能、可遠程管理的平臺簡化操作并降低運營成本、單個平臺承載多個 VNF、與 OpenStack 等多個主要的第三方編排器兼容。
在部署企業級 uCPE 時,隨著帶寬消耗的增加,與 SD-WAN 的集成變得至關重要。 SD-WAN 提供了一種在 Internet 上分層的網絡結構,因此企業可以自由選擇廉價的帶寬而不是昂貴的 MPLS 服務。但是,在某些服務級別協議的情況下,公司需要有保證的服務,可能仍然需要 MPLS。在這些情況下,uCPE 仍然可以通過簡單地部署適用的 VNF 來處理每項服務來處理 SD-WAN 覆蓋網絡和 MPLS。企業領域的這種靈活性使得 uCPE 設備確實非常有利。
隨著 NFV 進程推進,NFV 項目已覆蓋所有核心網網元,5G 成為 NFV 新的最大驅動力,也必將對于網絡設備的靈活性提出更高要求。可以預見,在這一背景下,uCPE 市場還將迎來進一步的繁榮。
簡單來說 uCPU 就是放在企業內部的 “類路由器” 網關設備,通過 VNF 的方式來代替傳統的網絡設備,例如:防火墻設備。因為 uCPU 通常是 x86 架構的服務器,所以也可以在之上運行 Edge Platform Software。
vRAN( 虛擬無線接入網)
vRAN(虛擬無線接入網)是移動網絡發展的新趨勢,致力于智能化提升容量,大幅降低成本并提升用戶體驗。它還將提供支持未來服務和應用所需的靈活性和動態可擴展性。基于網絡功能虛擬化(NFV)的原則,vRAN 架構通過在商用服務器硬件上運行虛擬化基帶功能,超越了集中式 RAN(C-RAN)的最新迭代版本。
由于 CSP(通信服務提供商)面臨著滿足容量需求的壓力,并需在競爭異常激烈的移動服務市場推出差異化產品,因此此時將 NFV 的優勢從核心網絡擴展到 RAN 的時機恰到好處。
http://www.windriver.com.cn/downloads/files/WP-vRAN-The-Next-Step-in-Network-Transformation-White-Paper-CN.pdf
簡單來說,vRAN 就是運行在 RAN 設備上的 VNF。UE 發送的信號會被 RAN 設備接收,然后再封裝為標準數據包后發送到 UPF,最終進入核心網。因為現在 RAN 設備也可以是 x86 架構所以也可以在之上運行 Edge Platform Software。
NGCO(新一代中央辦公室)
NGCO(Next Gen Central Offices,新一代中央辦公室),又稱新一代電信機房,是以軟件為中心的網絡基礎架構。通常每個小區都會由一個 CO,每個區鎮會有一個更大的 CO。CO 是一個 x86 服務器機房所以也可以運行 Edge Platform Software。
GTP 協議
GTP(GPRS Tunnelling Protocol,GPRS 隧道協議)是一組基于 IP 的通信協議,用于在 GSM 、UMTS 和 LTE 網絡中承載 GPRS(General Packet Radio Service,通用分組無線業務)。
GTP 協議目前有 3 個版本:
Version 0:是早期版本,被 1999 年標準化的 Version 1 替代;
Version 1:使用于 GSM 和 UMTS 網絡,也應用于 LTE 網絡中以傳輸用戶面數據;
Version 2:使用于 LTE 核心網(EPC)。
GTP 協議的用途:GTP 是 GPRS 核心網中使用的主要協議。它使得 GSM 或 UMTS 網絡的終端能夠在網絡中移動位置,同時能持續的通過同一個 GGSN 連接到因特網。為了實現這一功能,GTP 協議總是將用戶面數據從用戶位置所屬的 SGSN 傳輸到它開戶信息所對應的 GGSN。
GPRS 核心網使用三種 GTP 協議:
GTP-U:用于為每個 PDP 上下文提供一個或多個隧道,用以傳輸用戶數據。
GTP-C:用于控制目的。包括:PDP 上下文的建立和刪除;GSN 可及性驗證;位置更新。例如,當簽約用戶從一個 SGSN 移動到另一個 SGSN。
GTP’:用于從各個 GSN 傳送計費數據到計費網關功能(CGF,Charging Gateway Function)。
GGSN 和 SGSN(合稱為 GSN),在 UDP 端口 2123 上監聽 GTP-C 消息,在端口 2152 上監聽 GTP-U 消息。GTP 協議通信可以通過 GPRS 漫游交換(GPRS Roaming Exchange)發生在不同運營商之間。
計費網關功能(CGF,Charging Gateway Function)在 TCP/UDP 端口 3386 上監聽發送自 GSN 的 GTP’ 消息。核心網發送計費信息到 CGF,計費信息至少包含 PDP 上下文激活次數以及終端用戶傳送的數據量。與 GTP-C 和 GTP-U 不同,GTP’ 協議承載的報文通常只在單個運營商網絡內部使用,因此并不那么標準化。運營商可以做特殊的配置,使用特別的編碼,甚至使用完全不同的系統來完成計費。
GPRS 核心網和 UMTS 接入網之間的 Iu-PS 接口上,用戶面也使用 GTP-U 協議。然而在控制面上并不使用 GTP-C,而是用 RANAP 協議。GTP-U的 隧道在 Iu-PS 接口上也是以 RANAP 協議管理的。
LTE 網絡中的 GTP 協議功能與 GSM/UMTS 網絡中基本相同。在控制面上 LTE 網絡使用 GTPv2-C,用戶面上使用 GTP-U,計費相關功能使用 GTP’。在 S1 接口(eNodeB 和 SGW 之間)上,用戶面使用 GPT-U 協議。在接入網 X2 接口(兩個 eNodeB 之間)上,用戶面也使用 GTP-U 協議,控制面使用 X2AP。
S1 接口
S1 接口是 LTE eNodeB(基站)與 EPC(分組核心網)之間的通訊接口。將 LTE 系統劃分為無線接入網和核心網。
S1 接口沿襲了承載和控制分離的思想,又分成兩個接口,一個用于控制平面(S1-MME),一個用于用戶平面(S1-U)。
控制平面接口 S1-MME 將 eNodeB 和移動性管理實體(MME)相連,主要完成 S1 接口的無線接入承載控制、接口專用的操作維護等功能。
用戶平面接口 S1-U 將 eNodeB 和服務網關(S-GW)連接,用于傳送用戶數據和相應的用戶平面控制幀。
PDN
PDN(Packet Data Network,分組數據網)是對提供數據服務的網絡的一般描述。分組交換(Packet switching)是一種數據傳輸的模式,這種模式下,一條消息被分成若干部分,這些部分通過對每個分組最合適的路由獨立發送,并在目的地重新組合起來。因特網就是一個典型的 PDN。
PGW 與 SGi 接口
P-GW(PDN Gateway,PDN 網關),是面向 PDN 終結于 SGi 接口的網關,如果 UE 訪問多個 PDN,UE 將對應一個或多個 P-GW。P-GW的 主要功能包括基于用戶的包過濾功能、合法偵聽功能、UE 的 IP 地址分配功能、在上/下行鏈路中進行數據包傳輸層標記、進行上/下行業務等級計費以及業務級門控、進行基于業務的上/下行速率的控制等。另外,P-GW 還提供上/下行鏈路承載綁定和上行鏈路綁定校驗功能。
在移動網絡中,P-GW 的主要功能是向 UE 分配 IP 地址。UE 可以通過多個 P-GWs 連接到多個 PDN,也可以連接到舊的、不符合 3GPP 的 IP 網絡。在 LTE 架構中,P-GW 充當著 user plane mobility 的錨點。用戶流量可以在 P-GW 處被過濾,以區分 packet flows 之間的 QoS(服務質量)。P-GW 會收集到充值信息并轉發到 CDRs(Charging Data Records)進行處理。
EPS Bearer:這是與 P-GW 相關聯的 UE 的接口。它是一個隧道,用于 IP 地址分配。
Rx:雖然不與 P-GW 直連,但該接口用于策略和收費規則功能(PCRF,policy and charging rules function),并作為 PCRF 與 IP 多媒體子系統(IMS,IP Multimedia Subsystem)網絡之間的交互媒介。IMS 向用戶設備提供諸如 IP 語音(VOIP,Voice Over IP)之類的服務。該接口使用 Diameter 協議,通過 Steam 控制傳輸協議(SCTP)和 TCP 實現,并將 PCRF 權限傳遞給服務網絡。
SGi:這是 P-GW 與 PDN 之間的接口,通常在這里提供服務。例如用于語音的 IMS、Web、Internet 訪問等等。所有流量都是以 IP 數據包和流的形式存在。
S5:這是與 P-GW 相關聯的 S-GW 之間的接口。支持用戶平面(User Plane)的 GPRS 隧道協議(GTP)。
LTE CUPS
LTE CPUS(Control and User Plane Separation of EPC nodes),代表 EPC 的控制和用戶平面分離。3GPP 為此提出了用于分離演進 SGW、PGW 和 TDF 的功能架構增強。CUPS 使得網絡的部署和操作更加靈活,在分布式或集中式的部署場景中,控制平面和用戶平面均可以獨立進行伸縮,而不影響現有 EPC 節點的功能。
https://www.3gpp.org/cups
OAM
OAM(Operation Administration and Maintenance,操作、維護、管理)是指根據運營商網絡運營的實際需要,通常將網絡的管理工作劃分為 3 大類:操作(Operation)、管理(Administration)、維護(Maintenance),簡稱 OAM。操作主要完成日常網絡和業務進行的分析、預測、規劃和配置工作;維護主要是對網絡及其業務的測試和故障管理等進行的日常操作活動。
LTE 網格架構
http://dasheyuan.com/post/lte-network-architecture/
總結
以上是生活随笔為你收集整理的OpenNESS,开源的边缘网络服务平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何找到并发数、平均响应时间、tps的最
- 下一篇: iPhone 11系列手机截屏方法教程