通信網絡的鏈路為:終端 -- 無線接入網 -- 承載網 -- 核心網,進而到達IP數據網絡,訪問互聯網業務,這也是移動互聯網的鏈路。
第一、用戶面和控制面完全分離;
第二、網絡功能微服務化。本文著重理解這一點。
一、基于SBA的5G核心網
1. 軟件應用架構的演進
首先,我們需要看看,IT領域軟件架構的發展與演進路線,因為在前十年IT領域所產生的思想與技術,正影響著CT領域未來十年的發展。
在軟件開發的初級階段,我們通常將負責不同的業務職責的代碼文件進行邏輯上的劃分,分隔不同的小模塊,每個小模塊賦予相應的職責,大致過程如下圖①②③所示:
這些代碼開發簡單,發布時會被打成一個包,如WAR包,被部署在同一臺機器的同一個進程中運行。這被稱為 單體應用架構 。程序員的工作就是不停地地修補和旋轉這個球。
隨著業務的不斷深入和復雜性的提高,我們需要構建更多的模塊:
模塊的增多,程序員們修補和旋轉這個大球,實在太累,而且有很多的程序員使不上力氣。
那么,就像切西瓜一樣,把這個球切開。這樣,不同的模塊在發布時,會被打成不同的小包,如jar包。它們以接口的形式“藕斷絲連”著,部署時還是在同一物理服務器上。
當代碼大到一定量級,需要數百人來維護時,真是太難了:一個微不足道的小問題,可以導致整個應用掛掉;大用戶量上來時,又無法滿足高并發情況下的業務需求。
那么,我們把這個球完全成切開,形成一個一個獨立的小球,每個小球負責獨立的業務功能對外提供服務。這被稱為 微服務(Microservice Architect,MSA) 。
仔細來分析,每個微服務的“小球”都需要找到所需的服務和對外提供服務,大流量來時,多個小球共擔流量。大致就是這樣了:
不難看到,業務代碼是翻譯的業務邏輯,直接促進業務創新。像服務發現、負載均衡、熔斷、限流等等,屬于非業務相關,為提高業務開發效率,這部分功能是可以提取出來的,部署時采用專門的進程負責,稱為Mesh,這也就是 Service Mesh(服務網格) 了。
在單體--微服務--服務網格的演進過程中,還有一個階段被稱為SOA,也就是面向服務架構,英文全稱是Service-Oriented Architecture。SOA的產生背景更多的是將現有的單體服務進行改造并集成,對外提供統一的服務。
所以,軟件應用架構的演進路線是: 單體-- SOA --微服務--服務網格 。
- 基于服務的架構SBA
我們再來看看,5G核心網的SBA。SBA,英文全稱Service Based Architecture,也就是基于服務的架構。
為啥不是IT領域中的SOA或者MSA呢?大致的原因有:
- SOA 提倡將架構分解為層而不是域,需要進行大量測試才能發布;
- 微服務提倡數百或數千個服務,而某些應用場景可能只需數十個可部署的服務;
- 微服務對其數據擁有唯一所有權,而拆分大型數據庫模式的難度是最為復雜的部分。
下面的表格列出了SOA、MSA、SBA、Monolithic在敏捷、部署、可測試性、可擴展性、性能、簡潔等方面的比較。
不難看出,SBA借鑒了IT業界成熟的SOA(面向服務架構)和MSA(微服務架構),并在它們之間進行了折衷和平衡:
- 服務按領域拆成比SOA更細的粒度,可升級單個服務,而對其他服務幾乎沒有影響;
- 服務按領域拆成比MSA更粗的粒度,減小調用鏈,提高可維護性;
- 服務可擴展、開放,任何其他服務都可以進行相互調用,輕量級服務接口是輕量級的HTTP2.0。
以此來實現核心網元的軟件化、開放化和智慧化,做到服務功能不太大,也不至于太小。
二、5G核心網服務功能的理解
- NF是有哪些?
5G核心網軟件體現為多個NF網絡功能,每個NF又被稱為多個NFS網絡功能服務。
整體上,又可以看成控制面功能服務和用戶面功能服務。本質上是管理線和業務線的工作,一個負責指揮,一個負責干活。
- NF之間如何進行交互?
5G SBA 由一個參考點表示來描述,該表示命名每個 NF 連接到其他 NF 的點。
NF之間通過總線之間進行互連,參考點通過基于服務的接口(SBI) 實現,如AMF和SMF 通之間的參考點是N11,對應到SBI就是Namf和Nsmf。
SBI的定義只存在控制平面,所以,SMF和UPF之間的參考點是N4,AMF和UE的參考點是N1,AMF和RAN的參考點是N2,RAN和UPF的參考點是N3。
- NF如何來管理?
眾多的NF中,有個NRF(NF Repository Function,網絡存儲功能),可以進行NF的集中管理,進行NFS的注冊、發現、管理與狀態檢測。每個NF啟動時,必須要到NRF進行注冊登記才能對外提供服務,登記信息包括NF類型、地址、服務列表等。
- NF如何對外提供服務?
NEF(Network Exposure Function,網絡開放功能),負責管理對外開放網絡的數據,外部應用如要訪問5G核心網內部數據,則要通過NEF。
- NF數據如何進行存儲?
程序的業務運行過程中,必然產生數據。5G核心網中的數據有結構化數據和非結構化數據。
結構化數據包含:手機號碼信息,可以使用的業務信息、數據帶寬限制數據等。
非結構化數據包括:用戶會話信息、狀態信息等。UDSF一般跟AMF、SMF打交道。
UDSF(Unstructured Data Storage Function,非結構化數據存儲功能) 用來存儲非結構化的數據,允許任何NF存儲和檢索其非結構化數據。
UDR(Unified Data Repository,統一數據存儲) 用來存儲結構化數據,UDM管理的用戶簽約數據和PCF管理的策略數據。
數據存儲從各個網元中剝離出來,進行統一的存儲,這樣NF的“無狀態”,有助于實現NF的彈性伸縮。
- 數據流的如何進行轉發?
核心網的首要職責是將數據包按照某種策略進行轉發,本質上是“路由和交換”。這個工作由UPF用戶平面功能來完成:
接收基站過來的數據流,進行數據包的轉發和路由,到達IP數據網絡;
面向公網服務,則UPF部署于網絡核心側,負責全網業務;行業專網服務往往需要低時延,則UPF可部署于邊緣DC、區域DC、園區、工廠等位置。
- 手機上網的會話,如何建立?
AMF(Access and Mobility Management Function,接入和移動性管理功能),負責為用戶注冊、連接、可達性、移動性管理,為UE和SMF提供會話管理消息傳輸通道。
SMF(Session Management function,會話管理功能),負責隧道維護、IP地址分配和管理、UP功能選擇、策略實施和QoS控制、計費數據采集、漫游等。
-
移動互聯網
+關注
關注
5文章
598瀏覽量
34059 -
數據網絡
+關注
關注
0文章
46瀏覽量
11513 -
通信網絡
+關注
關注
21文章
2033瀏覽量
52016
發布評論請先 登錄
相關推薦
評論