史庭祥,方琰崴,李立平
(1.中興通訊股份有限公司,江蘇 南京 210012;2.移動(dòng)網(wǎng)絡(luò)和移動(dòng)多媒體技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,廣東 深圳 518055)
“負(fù)載均衡(LB,Load Balancing)”最初在IT 網(wǎng)絡(luò)體現(xiàn)為一種算法,以便實(shí)現(xiàn)集群的負(fù)載均衡,最直接的目標(biāo)是實(shí)現(xiàn)怎么選擇集群中的下一個(gè)節(jié)點(diǎn),把服務(wù)請(qǐng)求傳遞給該節(jié)點(diǎn)。最簡(jiǎn)單的算法比如輪詢(xún)法,當(dāng)算法不佳時(shí),集群的負(fù)載就會(huì)失衡[1]。
隨著云計(jì)算技術(shù)的普及,負(fù)載均衡更多地體現(xiàn)一種服務(wù),通過(guò)流量分發(fā)為客戶(hù)提升應(yīng)用系統(tǒng)的服務(wù)能力,也包括提升系統(tǒng)的可用性、避免單點(diǎn)故障等。最初負(fù)載均衡提供的是面向網(wǎng)絡(luò)層的均衡場(chǎng)景,實(shí)現(xiàn)基于TCP/UDP 等L4 分發(fā);之后增加對(duì)應(yīng)用層的分發(fā)能力,即L7 的流量分發(fā)能力,支持HTTP/HTTPS 等應(yīng)用層協(xié)議,而且具備彈性和大規(guī)模的分發(fā)性能,實(shí)現(xiàn)內(nèi)生性的服務(wù)集成能力,進(jìn)一步提供專(zhuān)業(yè)化的負(fù)載均衡服務(wù)[2]。
然而運(yùn)營(yíng)商CT 網(wǎng)絡(luò)比IT 要復(fù)雜的多:5G 網(wǎng)絡(luò)相比2G/3G/4G 而言,不僅業(yè)務(wù)功能更加復(fù)雜,而且引入基于HTTP2 的服務(wù)化接口改變了網(wǎng)元之間傳統(tǒng)的信令消息通訊架構(gòu)[3-5]。2G/3G/4G 網(wǎng)絡(luò)為實(shí)現(xiàn)業(yè)務(wù)層面的消息分發(fā),采用“路由類(lèi)網(wǎng)元”實(shí)現(xiàn),如2G/3G 網(wǎng)絡(luò)的STP、4G 網(wǎng)絡(luò)的DRA,后者比前者采用更加靈活和簡(jiǎn)化的Diameter 協(xié)議,進(jìn)一步有利于異廠家設(shè)備互通,滿(mǎn)足網(wǎng)絡(luò)開(kāi)放的要求。
如圖1 所示,2G/3G/4G 網(wǎng)絡(luò)一般和5G 網(wǎng)絡(luò)混合組網(wǎng),為表述清晰,具備消息交互架構(gòu)的網(wǎng)元一般分為如下幾類(lèi):
(1)Provider_NF:即NF 提供者,提供服務(wù)的網(wǎng)元,取名Provider 是為套用5G 注冊(cè)發(fā)現(xiàn)機(jī)制。
(2)Consumer_NF:即NF 消費(fèi)者,消費(fèi)服務(wù)的網(wǎng)元,取名Consumer 是為套用5G 注冊(cè)發(fā)現(xiàn)機(jī)制。
(3) 相 鄰_NF:Provider_NF 和Consumer_NF 交互過(guò)程中的相關(guān)網(wǎng)元,比如網(wǎng)管、數(shù)據(jù)庫(kù)等服務(wù)提供者或調(diào)用者,或第三方的業(yè)務(wù)或服務(wù)等。
(4)路由_NF:即路由類(lèi)的網(wǎng)元,如STP、DRA 或者5G 的SCP(服務(wù)通信代理),或者是外部LB 等專(zhuān)用負(fù)載均衡設(shè)備。當(dāng)然可以不配置路由_NF,由Consumer_NF 根據(jù)自己的負(fù)載均衡策略選擇Provider_NF,這種情況等效為“路由_NF”內(nèi)置在Consumer_NF,而獨(dú)立的“路由_NF”更加復(fù)雜,本文僅討論獨(dú)立配置。
圖1 傳統(tǒng)負(fù)載均衡的部署場(chǎng)景
鑒于5G 網(wǎng)絡(luò)和2G/3G/4G 網(wǎng)絡(luò)的長(zhǎng)期共存性,負(fù)載均衡需求有3 種場(chǎng)景:
(1)2G/3G/4G 網(wǎng)絡(luò)中新老Provider_NF 的負(fù)載均衡問(wèn)題,包括擴(kuò)容和增加新的服務(wù)節(jié)點(diǎn)或新供應(yīng)商替換老供應(yīng)商的設(shè)備的過(guò)渡時(shí)期.
(2)5G 網(wǎng)絡(luò)中新老Provider_NF 的負(fù)載均衡問(wèn)題,包括擴(kuò)容和增加新的服務(wù)節(jié)點(diǎn)或新供應(yīng)商替換老供應(yīng)商的設(shè)備的過(guò)渡時(shí)期。
(3)2G/3G/4G 網(wǎng)絡(luò)有老Provider_NF,新建5G 網(wǎng)絡(luò)有新Provider_NF,包括擴(kuò)容和增加新的服務(wù)節(jié)點(diǎn)或新供應(yīng)商替換老供應(yīng)商的設(shè)備的過(guò)渡時(shí)期。
同時(shí),以上三種場(chǎng)景都存在新老“路由_NF”的協(xié)作問(wèn)題。作為可選項(xiàng),為統(tǒng)一調(diào)度新老Provider_NF,新的路由_NF 一般也會(huì)連接老的Provider_NF。其二,當(dāng)然可以不引入新的路由_NF,但是一般會(huì)引入,原因有兩點(diǎn):1)路由_NF 需要更多的功能甚至依賴(lài)改變產(chǎn)品架構(gòu)才能提供,比如信令轉(zhuǎn)發(fā)功能在5G 網(wǎng)絡(luò)定義為SCP新網(wǎng)元,無(wú)法在4G 的DRA 網(wǎng)元上升級(jí)支持;2)引入新供應(yīng)商的Provider_NF 時(shí),相應(yīng)伴隨著帶入新的路由_NF,避免和老的路由_NF 對(duì)接風(fēng)險(xiǎn)。
可見(jiàn),在2G/3G/4G 和5G 混合網(wǎng)絡(luò)情況下,負(fù)載均衡的復(fù)雜性遠(yuǎn)甚以往,不像IT 網(wǎng)絡(luò)僅僅提供外部負(fù)載均衡設(shè)備就能滿(mǎn)足應(yīng)用層設(shè)備的負(fù)載均衡需求。
負(fù)載均衡一直是無(wú)線核心網(wǎng)的組網(wǎng)方案面臨的重要議題和研究方向之一,僅從核心網(wǎng)的網(wǎng)元集群的角度,就有2G/3G/4G 的Pool 方案,還有5G 的NF Set 方案,可見(jiàn),集群在各代網(wǎng)絡(luò)都有可靠性和容災(zāi)設(shè)計(jì),此處不贅述[6-7]。
然而它的局限性在于對(duì)網(wǎng)元的要求較多,而且依據(jù)業(yè)務(wù)實(shí)現(xiàn)的特點(diǎn)進(jìn)行針對(duì)性的設(shè)計(jì)。以NF Set 方案為例,組成集群的NF 要求具備相同類(lèi)型、相同服務(wù),甚至相同切片的控制面NF,而且同一個(gè)Set 內(nèi)的不同NF 實(shí)例彼此共享在線業(yè)務(wù)的上下文數(shù)據(jù),以便實(shí)現(xiàn)Set 內(nèi)各NF 實(shí)例之間的相互冗余倒換,同時(shí)在線業(yè)務(wù)不中斷,新建業(yè)務(wù)不受影響,目前僅應(yīng)用于AMF Set 和SMF Set[8]。
而本文研究的是:不對(duì)NF 提出個(gè)性化需求,也不面向特定的業(yè)務(wù)場(chǎng)景的情況下,如何設(shè)計(jì)負(fù)載均衡方案和所依據(jù)的策略,以期具備更強(qiáng)的通用性。一般而言,有如下制約條件,用于評(píng)估負(fù)載均衡策略的優(yōu)劣性:
(1)專(zhuān)業(yè)化分工
負(fù)載均衡功能由獨(dú)立NF 或獨(dú)立組件完成。
(2)可用性的負(fù)面影響最小
負(fù)載均衡功能的目標(biāo)是最大化提升Provider_NF 集群的可用性,一方面避免單點(diǎn)故障,另一方面最大化分發(fā)性能。但是,若為此引入的負(fù)載均衡NF 或服務(wù)本身有可用性問(wèn)題,反而降低整個(gè)系統(tǒng)的可用性,結(jié)果可能得不償失。
(3)分發(fā)的靈活性
靈活性指的是:分發(fā)策略在哪些方面做到負(fù)載均衡,以及做到怎樣的程度。例如,集群中多個(gè)節(jié)點(diǎn)之間負(fù)載均衡,依據(jù)哪些指標(biāo)評(píng)估均衡性。鑒于各節(jié)點(diǎn)的資源被動(dòng)態(tài)分配和釋放,因此,負(fù)載均衡從資源角度稱(chēng)為DRS(動(dòng)態(tài)資源均衡),一般有如下指標(biāo):
1)CPU 利用率,避免負(fù)荷過(guò)高的節(jié)點(diǎn);
2)存儲(chǔ)資源的空間占用率,均衡各節(jié)點(diǎn)的IOPS;
3)能耗監(jiān)控,極低能耗的節(jié)點(diǎn)退出服務(wù),通過(guò)遷移方式調(diào)整負(fù)荷,減少能源浪費(fèi)。
負(fù)載均衡的程度,一方面和均衡算法有關(guān),每次選擇哪個(gè)節(jié)點(diǎn),和決策過(guò)程類(lèi)似,由初始負(fù)載分布和當(dāng)期的事件輸入決定,另一方面和評(píng)估指標(biāo)綜合折算有關(guān),單一指標(biāo)會(huì)導(dǎo)致實(shí)際負(fù)荷的不準(zhǔn)確性。
(4)分發(fā)的精準(zhǔn)性
某些應(yīng)用場(chǎng)景需要準(zhǔn)確分發(fā)到特定的節(jié)點(diǎn),如響應(yīng)消息必須回到請(qǐng)求消息的處理節(jié)點(diǎn)完成處理;又如節(jié)點(diǎn)和用戶(hù)或會(huì)話(huà)有對(duì)應(yīng)關(guān)系的情況,當(dāng)選擇特定的用戶(hù)或會(huì)話(huà)時(shí),必須分發(fā)到該節(jié)點(diǎn),其他節(jié)點(diǎn)沒(méi)法處理。
下面將詳細(xì)描述三類(lèi)典型的負(fù)載均衡方案。
LB 提供負(fù)載均衡功能,不僅實(shí)現(xiàn)NF 提供者集群(如圖2 的UPF Group)內(nèi)多個(gè)成員的負(fù)載均衡,還便于NF消費(fèi)者在不感知NF 提供者集群情況下獲得相關(guān)服務(wù),并起到隱藏集群內(nèi)部拓?fù)涞淖饔谩?/p>
圖2 LB方式的負(fù)載均衡
5G NF 設(shè)計(jì)角度,一般LB 分為兩類(lèi):(1)接口LB;(2)業(yè)務(wù)LB。前者實(shí)現(xiàn)對(duì)外單一接口或單一IP 地址,減少I(mǎi)P 多地址對(duì)服務(wù)請(qǐng)求NF 和路由系統(tǒng)的影響,后者對(duì)服務(wù)請(qǐng)求者屏蔽多個(gè)NF 提供者或多個(gè)業(yè)務(wù)處理模塊,并支撐多個(gè)NF 提供者或多個(gè)業(yè)務(wù)處理模塊之間的負(fù)載均衡。圖2 的例子是綜合這兩種類(lèi)型的LB。一般而言,內(nèi)置在NF 提供者集群的LB 用于業(yè)務(wù)模塊級(jí)別的負(fù)載均衡,稱(chēng)為SLB(業(yè)務(wù)負(fù)載均衡)。當(dāng)LB 外置,實(shí)現(xiàn)NF 級(jí)別的負(fù)荷均衡時(shí),稱(chēng)為GSLB(全局負(fù)載均衡)。
服務(wù)請(qǐng)求的接收端:一般根據(jù)多個(gè)NF 提供者的CPU 占有率,LB 分發(fā)服務(wù)請(qǐng)求到適宜的NF 提供者,以滿(mǎn)足負(fù)載均衡或設(shè)定的均衡策略,為此,NF 提供者集群的管理面要和LB 打通,傳遞相關(guān)信息。
NF 提供者處理端:不只是被動(dòng)接受LB 分發(fā)的服務(wù)請(qǐng)求,還提供再均衡機(jī)制,當(dāng)接收服務(wù)請(qǐng)求的NF 提供者負(fù)載達(dá)到門(mén)限時(shí),會(huì)將過(guò)量的業(yè)務(wù)流轉(zhuǎn)發(fā)到其他低負(fù)載的NF 提供者。
為此,NF 提供者之間的內(nèi)部通訊不可缺少,同時(shí),傳統(tǒng)LB 方式所需的專(zhuān)用LB NF 或模塊,一般由NF 提供者一并提供,以便支持和LB 的內(nèi)部接口。這是電信網(wǎng)絡(luò)比IT 網(wǎng)絡(luò)有更高可用性的表現(xiàn)之一。
LB 方式是2G/3G/4G 網(wǎng)絡(luò)常用的負(fù)載均衡方案。5G網(wǎng)絡(luò)的NF 之間通訊支持服務(wù)化接口,引入NRF 網(wǎng)元,提供注冊(cè)發(fā)現(xiàn)機(jī)制。
如圖3 所示,SMF 和UPF 之間通訊服務(wù)設(shè)計(jì)中,作為服務(wù)提供者,UPF 集群內(nèi)的每個(gè)UPF 向NRF 注冊(cè),提供UPF 的狀態(tài)信息,還通過(guò)更新流程將動(dòng)態(tài)負(fù)載信息實(shí)時(shí)同步給NRF;SMF 是服務(wù)消費(fèi)者,向NRF 發(fā)起簽約請(qǐng)求,簽約UPF 的狀態(tài)信息。
圖3 NRF方式的負(fù)載均衡
負(fù)載均衡的動(dòng)態(tài)過(guò)程描述如下:
(1)服務(wù)消費(fèi)者SMF 通過(guò)簽約流程獲得UPF 的負(fù)載信息;
(2)高流量導(dǎo)致UPF1 負(fù)載偏高;
(3)UPF1 向NRF 發(fā)起更新流程,同步最新負(fù)載信息;
(4)NRF 通知SMF,其簽約的UPF1 的最新負(fù)載信息;
(5)SMF 調(diào)整路由策略,以便適應(yīng)UPF 負(fù)載的動(dòng)態(tài)變化,具體動(dòng)作是將UPF1 的業(yè)務(wù)流卸載到UPF2,以降低UPF1 偏高的負(fù)載。
上述通過(guò)設(shè)置NRF 和注冊(cè)發(fā)現(xiàn)機(jī)制,實(shí)現(xiàn)系統(tǒng)級(jí)的負(fù)載均衡,而且NRF 作為管理者角色,即使成為故障點(diǎn),也不會(huì)導(dǎo)致NF 消費(fèi)者和NF 提供者之間的通訊中斷,這顯然優(yōu)于LB 方式的負(fù)載均衡方案。但是,NF 消費(fèi)者和NF 提供者是全拓?fù)溥B接,使得每個(gè)NF 的路由配置極其復(fù)雜,同時(shí)4G 和5G 融合網(wǎng)絡(luò)是5G 建設(shè)初期的必由之路。因此,針對(duì)NF 節(jié)點(diǎn)眾多的大規(guī)模4G/5G 網(wǎng)絡(luò)需要建立信令Hub 節(jié)點(diǎn),即新NF:SCP,以便簡(jiǎn)化信令路由配置,并維持信令路由的靈活控制。為此,3GPP 23.501 R16 版本定義和SCP/NRF 交互的操作流程。
圖4 展示了業(yè)務(wù)NF 和NRF/SCP 的交互模式,圖的左側(cè)所示模式稱(chēng)為“Indirect communication without delegated discovery(無(wú)發(fā)現(xiàn)代理的非直接通訊)”,即規(guī)范定義的Option C,右側(cè)圖所示的模式稱(chēng)為“Indirect communication with delegated discovery(有發(fā)現(xiàn)代理的非直接通訊)”,即規(guī)范定義的Option D。這里的“發(fā)現(xiàn)代理”指:NF 消費(fèi)者對(duì)NRF 不可見(jiàn),而直接和SCP通訊,由SCP 代理其和NRF 通訊;“非直接通訊”指的是:NF 消費(fèi)者和NF 提供者不直接通訊,而通過(guò)SCP 作為通信代理實(shí)現(xiàn)通訊。
圖4 3GPP 5GC標(biāo)準(zhǔn)定義的SCP/NRF實(shí)現(xiàn)負(fù)載均衡
對(duì)于Option C 和Option D 兩種模式如何選擇這個(gè)問(wèn)題,Option C 可看作是圖3 所示的NRF 方式的負(fù)載均衡,疊加SCP 實(shí)現(xiàn)NF 之間的非直接通訊。該模式中,NF 不必改變現(xiàn)有的服務(wù)發(fā)現(xiàn)機(jī)制,而且SCP 的功能單一,對(duì)圖3 所示的NF 組網(wǎng)架構(gòu)只有輕微的改動(dòng),因而更加成熟和穩(wěn)定。Option D 模式中,SCP 將向NRF 調(diào)用NF 服務(wù)發(fā)現(xiàn)能力,從而選擇合適的NF 提供者,相應(yīng)地,NF 消費(fèi)者不必參與服務(wù)發(fā)現(xiàn)過(guò)程,也不必選擇NF 提供者,只需要向SCP 發(fā)送服務(wù)請(qǐng)求即可,因此,該模式減輕NF 消費(fèi)者的處理負(fù)載和難度,把相關(guān)功能需求轉(zhuǎn)移到SCP。
但是,Option D 模式有兩個(gè)明顯的缺陷:
(1)SCP 會(huì)成為NF 組網(wǎng)架構(gòu)的關(guān)鍵節(jié)點(diǎn),而且SCP 單點(diǎn)故障將導(dǎo)致通訊中斷。
(2)中小規(guī)模網(wǎng)絡(luò)拓?fù)湎鄬?duì)簡(jiǎn)單,一般無(wú)須部署SCP,但是該模式必須部署SCP,造成不必要的網(wǎng)絡(luò)復(fù)雜度和不必要的資源浪費(fèi)。
所以,Option C 模式是更好的選擇。當(dāng)部署大規(guī)模5GC網(wǎng)絡(luò)時(shí),保留SCP 以簡(jiǎn)化信令路由配置和信令鏈路,而部署中小規(guī)模網(wǎng)絡(luò)時(shí),SCP 不必部署,退化成圖3 的NF 直連方式。
上述兩種負(fù)載均衡方案,配置均衡策略時(shí),著眼于NF 集群內(nèi)多個(gè)NF 的平等性角色,未考慮特定方式下的NF 分工,然而包括5GC 在內(nèi)的無(wú)線核心網(wǎng)產(chǎn)品和組網(wǎng)需求恰恰包含一些特定方式下的NF 分工。
比如,網(wǎng)絡(luò)切片設(shè)計(jì)中,會(huì)考慮某些應(yīng)用分配給特定的NF 處理,即NF 實(shí)現(xiàn)切片間的分工,又比如,當(dāng)擴(kuò)展的新節(jié)點(diǎn)和老節(jié)點(diǎn)存在服務(wù)對(duì)象范圍的差異時(shí),如新節(jié)點(diǎn)處理新用戶(hù),老節(jié)點(diǎn)處理老用戶(hù),或者新節(jié)點(diǎn)處理5G 用戶(hù),老節(jié)點(diǎn)處理4G 用戶(hù),這種情形下多個(gè)NF 的平等性被打破;還有像5G 數(shù)據(jù)業(yè)務(wù)的會(huì)話(huà)過(guò)程,一般要求某個(gè)會(huì)話(huà)綁定在某個(gè)NF 上處理,相應(yīng)實(shí)施的均衡策略將考慮NF 如何分工。
這些例子都會(huì)導(dǎo)致NRF 以及NF 在完成注冊(cè)發(fā)現(xiàn)機(jī)制時(shí)處理變得復(fù)雜,即本節(jié)所述的“負(fù)載均衡功能的擴(kuò)展方式”。圖5 給出BSF(綁定支持功能)充當(dāng)NRF 角色,支撐NF提供者——PCF(策略控制功能)集群負(fù)載均衡的例子。
圖5 負(fù)載均衡功能的擴(kuò)展方式
BSF 和PCF、NEF(網(wǎng)絡(luò)開(kāi)放功能)和AF 等之間采用基于HTTP 協(xié)議的服務(wù)化接口Nbsf 通訊,用于BSF提供PDU 會(huì)話(huà)綁定功能和服務(wù)。該服務(wù)確保針對(duì)特定PDU 會(huì)話(huà)的AF 請(qǐng)求路由到保存該P(yáng)DU 會(huì)話(huà)信息的相關(guān)PCF。該服務(wù)允許NF 提供者(例如PCF)注冊(cè)、更新和刪除綁定信息,并允許NF 消費(fèi)者(例如AF、NEF、DRA)檢索綁定信息。
具體地,當(dāng)PDU 會(huì)話(huà)分配IP 地址后,PCF 通過(guò)發(fā)送帶有“PCF 會(huì)話(huà)綁定”的資源URI 的HTTP POST 請(qǐng)求,來(lái)調(diào)用Register 服務(wù)操作,以便BSF 在數(shù)據(jù)庫(kù)中存儲(chǔ)相應(yīng)的綁定信息。在HTTP 請(qǐng)求中提供的綁定信息可以包括UE地址、SUPI(唯一永久身份標(biāo)識(shí):Subscription Permanent Identifier,類(lèi)似4G IMSI)、GPSI(通用公共用戶(hù)標(biāo)識(shí):Generic Public Subscription Identifier,類(lèi)似4G MSISDN)、DNN(Data Network Name,類(lèi)似4G APN)、PCF id 等。當(dāng)PDU 會(huì)話(huà)釋放IP 地址時(shí),PCF 調(diào)用DeRegister 服務(wù)操作。AF/NEF/DRA 等NF 消費(fèi)者則可以調(diào)用Discovery 服務(wù)操作,獲得BSF 中PDU 會(huì)話(huà)的所選PCF ID。
該例子不再?gòu)呢?fù)載量的均衡角度,向NF 消費(fèi)者提供如何選擇NF 提供者的指示信息,而是基于關(guān)鍵參數(shù)的關(guān)聯(lián)關(guān)系選擇特定對(duì)象,作為中間人的BSF 比NRF 功能復(fù)雜。假設(shè)PCF 之間有備份關(guān)系,BSF 角色承擔(dān)的功能還會(huì)更復(fù)雜一些。
該擴(kuò)展方式的價(jià)值還在于,當(dāng)增加PCF 新節(jié)點(diǎn),NF消費(fèi)者不必?fù)?dān)心如何在新老節(jié)點(diǎn)之間作負(fù)載均衡,甚至不像LB 和NRF 方式需要考慮新節(jié)點(diǎn)和老節(jié)點(diǎn)的容量比例來(lái)完成業(yè)務(wù)請(qǐng)求的分發(fā),或者一些特定需求,比如5G用戶(hù)由新節(jié)點(diǎn)處理,其他用戶(hù)在老節(jié)點(diǎn)處理的時(shí)候,LB和NRF 還需要增加對(duì)用戶(hù)類(lèi)別的判斷,然而一般而言,LB 和NRF 這類(lèi)負(fù)載控制NF 將難以完成這類(lèi)業(yè)務(wù)相關(guān)的工作,甚至部分NF 消費(fèi)者也難以做出判斷。
可見(jiàn),該方式更合適節(jié)點(diǎn)數(shù)動(dòng)態(tài)變化的場(chǎng)景,這正是稱(chēng)該方式為負(fù)載均衡功能的“擴(kuò)展方式”的原因。
擴(kuò)展新節(jié)點(diǎn)需求不僅來(lái)自常見(jiàn)的擴(kuò)容需求,包括增加新型節(jié)點(diǎn)或同類(lèi)型節(jié)點(diǎn)兩類(lèi)情況,還見(jiàn)于引入新供應(yīng)商的節(jié)點(diǎn),為此,如何實(shí)現(xiàn)新老節(jié)點(diǎn)共存,以及新老供應(yīng)商的節(jié)點(diǎn)共存,是負(fù)載均衡策略的另一個(gè)挑戰(zhàn)。此外,擴(kuò)容或縮容導(dǎo)致節(jié)點(diǎn)本身的處理能力變化,可看作是刪除老節(jié)點(diǎn)后增加新型節(jié)點(diǎn)的情況。
當(dāng)NF 提供者集群擴(kuò)展新節(jié)點(diǎn),即增加新的NF 提供者,NF 提供者的集群的負(fù)載均衡狀態(tài)需要相應(yīng)調(diào)整,最簡(jiǎn)單情況是,現(xiàn)有只有一個(gè)NF 提供者,無(wú)須提供負(fù)載均衡策略,當(dāng)擴(kuò)展一個(gè)新的NF 提供者時(shí),就需要達(dá)成負(fù)載均衡的初始態(tài),同理,再擴(kuò)展一個(gè)新節(jié)點(diǎn)時(shí),若把原有的兩個(gè)NF提供者作為整體看待,同樣需要達(dá)成負(fù)載均衡的初始態(tài)。
上節(jié)的擴(kuò)展方式?jīng)]有提供NF 提供者在初始狀態(tài)下如何達(dá)成負(fù)載均衡的策略,本節(jié)將對(duì)此作詳細(xì)闡述,既包括擴(kuò)展新節(jié)點(diǎn),也包括刪除老節(jié)點(diǎn)的情況。以PCF 集群為例,一般要滿(mǎn)足如下幾點(diǎn)需求:
(1)各節(jié)點(diǎn)負(fù)載均衡或特定要求下,為PDU 會(huì)話(huà)分配IP 地址和相應(yīng)的PCF 節(jié)點(diǎn)。
(2)通過(guò)增加PCF 節(jié)點(diǎn)實(shí)現(xiàn)動(dòng)態(tài)增加容量,特別是新供應(yīng)商的PCF 產(chǎn)品或現(xiàn)有供應(yīng)商的新型PCF。
(3)刪除PCF 節(jié)點(diǎn)實(shí)現(xiàn)動(dòng)態(tài)減少容量,如下電老舊的PCF 節(jié)點(diǎn)。
此外,增刪改PCF 節(jié)點(diǎn)內(nèi)的容量等信息,即節(jié)點(diǎn)擴(kuò)容、節(jié)點(diǎn)縮容和節(jié)點(diǎn)能力變更等,也需要調(diào)整負(fù)載均衡策略。
為實(shí)現(xiàn)NF 節(jié)點(diǎn)之間的動(dòng)態(tài)均衡,圖6 給出一種加入管理控制的負(fù)載均衡設(shè)計(jì)方案。
以新增一個(gè)PCF 節(jié)點(diǎn)為例,描述PCF2 上線前的準(zhǔn)備過(guò)程:
(1)搭建PCF2 所需的軟硬件資源。
(2)新建Agent 作為管控代理:一方面服從O&M Center(運(yùn)維中心)的指揮,一方面代理O&M Center 完成和LB,PCF 等管理消息交互。
(3)改造現(xiàn)有PCF(圖中PCF1),打通和Agent的管理接口,支持實(shí)時(shí)上報(bào)容量等資源,以及負(fù)載等實(shí)時(shí)性能統(tǒng)計(jì),并接收Agent 下發(fā)的控制信息,如業(yè)務(wù)能力上線和下電、業(yè)務(wù)處理能力調(diào)整等。
(4)PCF2 連接Agent,并向LB 發(fā)起注冊(cè)流程,其中和LB 的接口等同第2 節(jié)的描述,接著等待上線。
(5)改造現(xiàn)有LB,建立到Agent 的連接,準(zhǔn)備接收控制信息,如NF 提供者列表、負(fù)載均衡策略,并且支持上報(bào)相關(guān)性能統(tǒng)計(jì)。
PCF2 上線的業(yè)務(wù)處理過(guò)程如下:
(1)PCF2 通知Agent 可以處理業(yè)務(wù)請(qǐng)求,并報(bào)告相關(guān)容量和有效處理能力等信息。
(2)Agent 綜合PCF2 和PCF1 的容量和有效處理能力等信息,并按O&M Center 下發(fā)的負(fù)載均衡策略,如某個(gè)時(shí)間段后的用戶(hù)接入都由PCF2 處理,通知PCF2準(zhǔn)備處理業(yè)務(wù),通知LB 如何分發(fā)業(yè)務(wù)。
(3)LB 分發(fā)一些業(yè)務(wù)到PCF2,PCF2 開(kāi)始處理業(yè)務(wù),并向Agent 上報(bào)容量和負(fù)載實(shí)時(shí)統(tǒng)計(jì)信息,Agent 確定PCF2 進(jìn)入服務(wù)。
刪除PCF2 節(jié)點(diǎn),即PCF2 下線的業(yè)務(wù)處理過(guò)程如下:
(1)PCF2 通知Agent,申請(qǐng)退出“服務(wù)提供者”角色,并報(bào)告待退出的相關(guān)容量和處理能力等信息。
(2)Agent 綜合PCF2 和PCF1 的容量和有效處理能力等信息,并按O&M Center 下發(fā)的負(fù)載均衡策略,調(diào)整業(yè)務(wù)請(qǐng)求分發(fā)列表,如某個(gè)時(shí)間段后的用戶(hù)接入由PCF2 處理,改為通知PCF1 準(zhǔn)備處理業(yè)務(wù),通知LB 如何分發(fā)業(yè)務(wù)。
(3)LB 取消分發(fā)業(yè)務(wù)到PCF2,改為分發(fā)給PCF1處理,并向Agent 上報(bào)容量和負(fù)載實(shí)時(shí)統(tǒng)計(jì)信息,Agent確定PCF2 退出服務(wù)。
圖6 加入管控的負(fù)載均衡
當(dāng)PCF2 需要擴(kuò)容,如增加業(yè)務(wù)組件(Service Component)時(shí),有如下交互過(guò)程:
(1)創(chuàng)建新的業(yè)務(wù)組件用于承接更多的業(yè)務(wù)請(qǐng)求。
(2)PCF2 的控制組件通知Agent:新的業(yè)務(wù)組件已做好上線準(zhǔn)備,包括傳遞增加的處理能力等信息。
(3)Agent 根據(jù)最新的負(fù)載均衡策略,判斷需要啟用新增容量時(shí),通知LB 和PCF2。若是相應(yīng)替換PCF1的部分容量,一般采用軟切換方式,即先啟用新節(jié)點(diǎn)PCF2 的新增容量,等負(fù)載均衡的性能統(tǒng)計(jì)達(dá)到要求并保持穩(wěn)定后再通知老節(jié)點(diǎn)PCF1 卸載其相關(guān)的業(yè)務(wù)組件,以縮減相應(yīng)的處理能力。
(4)LB 根據(jù)Agent 和PCF2 傳遞的負(fù)載調(diào)整信息,實(shí)施負(fù)載均衡控制,給PCF2 分發(fā)更多的業(yè)務(wù)請(qǐng)求。
(5)PCF2 的新的業(yè)務(wù)組件達(dá)到穩(wěn)定運(yùn)行要求后,PCF2 和Agent 之間完成新容量的確認(rèn),業(yè)務(wù)處理系統(tǒng)達(dá)到穩(wěn)態(tài)。
(6)Agent 根據(jù)最新的負(fù)載均衡策略決定是否對(duì)PCF1 等其他現(xiàn)有資源作有效容量調(diào)整,比如卸載一部分處理能力。
當(dāng)PCF2 需要縮容,如減少業(yè)務(wù)組件(Service Component)時(shí),有如下交互過(guò)程:
(1)確定即將下線的業(yè)務(wù)組件資源。
(2)PCF2 的控制組件通知Agent:一部分業(yè)務(wù)組件已做好下線準(zhǔn)備,包括傳遞減少的處理能力等信息。
(3)Agent 根據(jù)最新的負(fù)載均衡策略,判斷接受縮減這部分容量時(shí),通知LB 和PCF2。若是相應(yīng)由PCF1來(lái)替代,一般采用軟切換方式,即先啟用PCF1 的替代容量,等負(fù)載均衡的性能統(tǒng)計(jì)達(dá)到要求并保持穩(wěn)定后再通知PCF2 卸載其相關(guān)的業(yè)務(wù)組件,以縮減相應(yīng)的處理能力。
(4)LB 根據(jù)Agent 和PCF2 傳遞的負(fù)載調(diào)整信息,實(shí)施負(fù)載均衡控制,相應(yīng)地減少向PCF2 分發(fā)的業(yè)務(wù)請(qǐng)求。
(5)PCF2 的業(yè)務(wù)組件達(dá)到穩(wěn)定運(yùn)行要求后,PCF2和Agent 之間完成新容量的確認(rèn),業(yè)務(wù)處理系統(tǒng)達(dá)到穩(wěn)態(tài)。
(6)PCF2 釋放相應(yīng)部分的業(yè)務(wù)組件所占資源。
基于網(wǎng)絡(luò)擴(kuò)容需求,擴(kuò)展新節(jié)點(diǎn)或者以新節(jié)點(diǎn)替換老節(jié)點(diǎn)的場(chǎng)景下,一般新老節(jié)點(diǎn)的類(lèi)型不同,替換前需要共存較長(zhǎng)時(shí)間,負(fù)載均衡策略受到新老節(jié)點(diǎn)的運(yùn)行狀態(tài)的影響,既需要?jiǎng)討B(tài)控制,還需要支持人工干預(yù),所以,采用同類(lèi)型節(jié)點(diǎn)之間的負(fù)載均衡策略無(wú)法滿(mǎn)足需求。那么,針對(duì)上述難題,特別當(dāng)5G 網(wǎng)絡(luò)部署之前,現(xiàn)有核心網(wǎng)等設(shè)備如何完善負(fù)載均衡策略是下文從案例角度給出分析的原因。
以移動(dòng)網(wǎng)絡(luò)的用戶(hù)終端自動(dòng)開(kāi)通VoIP 業(yè)務(wù)為例。移動(dòng)終端APP 為獲得IMS 網(wǎng)絡(luò)提供的VoIP 或VoLTE 業(yè)務(wù),首先要在IMS 網(wǎng)絡(luò)注冊(cè),為此要獲取相關(guān)注冊(cè)信息,包括P-CSCF IP 信息,用戶(hù)名和密碼等。
圖7 所示是某項(xiàng)目設(shè)計(jì)的終端APP 和UDC(用戶(hù)數(shù)據(jù)中心)交換的放號(hào)業(yè)務(wù)流:
圖7 單節(jié)點(diǎn)UDC的自動(dòng)放號(hào)業(yè)務(wù)流
其中Prov_Ser 提供UDC 注冊(cè)的代理服務(wù),所述業(yè)務(wù)過(guò)程如下:
(1)APP 向Prov_Ser 建立HTTP 服務(wù)過(guò)程,發(fā)送HTTP Get 消息,消息體包含MSISDN 和IMSI 號(hào)碼。
(2)Prov_Ser 依據(jù)MSISDN 和IMSI 生成IMPU(用戶(hù)公有標(biāo)識(shí))和IMPI(用戶(hù)私有標(biāo)識(shí)),以及用戶(hù)名和密碼。
(3)Prov_Ser 生 成MML 指 令,向UDC 發(fā)送該P(yáng)VI(私有標(biāo)識(shí))的修改鑒權(quán)信息請(qǐng)求、更新用戶(hù)名和密碼。
(4)UDC 向Prov_Ser 返回修改成功。
(5)Prov_Ser 向終端APP 返回HTTP 響應(yīng)消息,包含用戶(hù)名和密碼,以及P-CSCF IP 信息。
該流程結(jié)束后,移動(dòng)終端APP 使用該用戶(hù)名和密碼,向P-CSCF 發(fā)起注冊(cè),完成鑒權(quán)流程,以便注冊(cè)到IMS 網(wǎng)絡(luò)。
如圖8 所示,當(dāng)引入新型UDC2 時(shí),要求MML 指令在新老UDC 節(jié)點(diǎn)之間實(shí)現(xiàn)負(fù)載均衡。新UDC2 和老UDC1 服務(wù)的用戶(hù)范圍不同,一般分配不同的IMSI 號(hào)段,而且隨著新UDC 容量增加,負(fù)載均衡策略有動(dòng)態(tài)和人工干預(yù)需求,因此,MML 指令分發(fā)采用傳統(tǒng)的LB 方式無(wú)法滿(mǎn)足需求,對(duì)代理注冊(cè)設(shè)備Prov_Ser 提出新挑戰(zhàn)。
圖8 兩節(jié)點(diǎn)UDC的自動(dòng)放號(hào)業(yè)務(wù)流
為此,結(jié)合上文提出的多種負(fù)載均衡策略以及擴(kuò)展新節(jié)點(diǎn)的負(fù)載均衡策略研究,圖8 給出了采用LB 和Agent 融合設(shè)置的負(fù)載均衡方案,LB/Agent 對(duì)Prov_Ser屏蔽多UDC 即多個(gè)服務(wù)提供者的影響。該實(shí)例相比單節(jié)點(diǎn)UDC,當(dāng)Prov_Ser 發(fā)起某PVI 的鑒權(quán)信息修改請(qǐng)求時(shí),其放號(hào)業(yè)務(wù)流區(qū)別在于,LB/Agent 實(shí)現(xiàn)MML 指令的智能分發(fā),具體有兩種機(jī)制:
1)非5G SA 網(wǎng)絡(luò)不支持SBI 服務(wù)接口,即不支持注冊(cè)發(fā)現(xiàn)機(jī)制,為此,LB/Agent 默認(rèn)為Prov_Ser 簽約UDC1 和UDC2 的服務(wù)狀態(tài),并實(shí)時(shí)指定PVI 和UDC 的對(duì)應(yīng)關(guān)系;同時(shí)支持UDC1 和UDC2 向自己發(fā)起注冊(cè),反饋實(shí)時(shí)的服務(wù)狀態(tài)。
2)若UDC 不支持注冊(cè)機(jī)制或Prov_Ser 不支持直接和多UDC 交互,則采用代理轉(zhuǎn)發(fā)機(jī)制,LB/Agent 實(shí)時(shí)轉(zhuǎn)發(fā)Prov_Ser 的修改鑒權(quán)信息的請(qǐng)求,該機(jī)制存在LB/Agent 單點(diǎn)故障,故不推薦。
無(wú)論哪種工作機(jī)制,LB/Agent 都需要支持如下功能:
(1)LB/Agent 建立數(shù)據(jù)庫(kù),保存PVI 和UDC 的對(duì)應(yīng)關(guān)系,以及UDC1 和UDC2 的實(shí)時(shí)服務(wù)狀態(tài)監(jiān)測(cè)。
(2)LB/Agent 提供網(wǎng)管接口,支持第三方輸入人工干預(yù)指令,實(shí)時(shí)調(diào)整UDC1 和UDC2 的負(fù)載比例,以便適應(yīng)UDC2 上線容量和UDC1 下線容量的動(dòng)態(tài)配置要求。
傳統(tǒng)LB 方式依然是基本的負(fù)載均衡策略的實(shí)現(xiàn)方案,常常用于核心網(wǎng)網(wǎng)元的內(nèi)部組件的負(fù)載均衡。和4G核心網(wǎng)相比,3GPP 5GC 規(guī)范采用服務(wù)化接口和注冊(cè)發(fā)現(xiàn)機(jī)制,為網(wǎng)元的多個(gè)節(jié)點(diǎn)提供更加完善的負(fù)載均衡策略,典型應(yīng)用是NRF 方式。負(fù)載均衡方案一般對(duì)外呈現(xiàn)為組網(wǎng)的必要部分,而且隨著5G 網(wǎng)絡(luò)建設(shè)和自動(dòng)化運(yùn)維等新技術(shù)新網(wǎng)絡(luò)的推進(jìn),客觀上要求不再局限在集群內(nèi)多個(gè)網(wǎng)元節(jié)點(diǎn)的負(fù)載均衡這樣的單一指標(biāo),而能夠基于多維度的動(dòng)態(tài)控制,比如依據(jù)網(wǎng)元的運(yùn)行指標(biāo),動(dòng)態(tài)調(diào)整參與網(wǎng)絡(luò)處理的網(wǎng)元在新老節(jié)點(diǎn),新老設(shè)備商之間的分布。
為此,本文擴(kuò)展了注冊(cè)發(fā)現(xiàn)機(jī)制,使基于特定參數(shù)的性能分發(fā)策略成為可能。之后采用較大篇幅描述的是,在引入新設(shè)備供應(yīng)商的網(wǎng)元或現(xiàn)有設(shè)備供應(yīng)商的新型網(wǎng)元情況下,如何實(shí)現(xiàn)考慮人工指令干預(yù)影響下的動(dòng)態(tài)負(fù)載均衡。最后,該方面的研究還有許多方面的工作要展開(kāi),比如遷移和割接的自動(dòng)化設(shè)計(jì)、自動(dòng)運(yùn)維和負(fù)載均衡相結(jié)合的技術(shù)等,這些無(wú)疑將有助于運(yùn)營(yíng)商加速網(wǎng)絡(luò)開(kāi)放,提升異廠家網(wǎng)絡(luò)設(shè)備協(xié)同等網(wǎng)絡(luò)迭代和運(yùn)營(yíng)水平,而設(shè)計(jì)相關(guān)針對(duì)性的負(fù)載均衡策略和方案,將為運(yùn)營(yíng)商帶來(lái)更大效益。