張欣,朱曉林,滕佳欣,劉凡棟(.中國聯(lián)合網(wǎng)絡(luò)通信集團(tuán)有限公司,北京 00033;.中訊郵電咨詢設(shè)計(jì)院有限公司鄭州分公司,河南鄭州 450007)
隨著通信網(wǎng)絡(luò)的IP 化和云化演進(jìn),網(wǎng)絡(luò)故障的影響范圍擴(kuò)大。當(dāng)發(fā)生網(wǎng)絡(luò)故障時(shí),故障點(diǎn)可能對大量用戶業(yè)務(wù)形成“堰塞湖”效應(yīng),并在故障解除時(shí)觸發(fā)瞬間的信令沖擊。為了降低網(wǎng)絡(luò)故障的影響、減少信令風(fēng)暴的產(chǎn)生,需進(jìn)一步增強(qiáng)網(wǎng)元功能,提升網(wǎng)絡(luò)健壯性。本文主要對AMF 主備網(wǎng)元用戶動態(tài)數(shù)據(jù)熱備功能和5GC免UDM慣性運(yùn)行功能進(jìn)行研究,提出5GC網(wǎng)元功能增強(qiáng)方案。
AMF 主備網(wǎng)元之間保持用戶動態(tài)數(shù)據(jù)的同步,發(fā)生主備倒換后,備用網(wǎng)元有用戶動態(tài)數(shù)據(jù),用戶無需重新注冊,無注冊浪涌信令,減少對各網(wǎng)元的信令沖擊。
正常工作狀態(tài),AMF 將用戶上下文狀態(tài)數(shù)據(jù)同時(shí)保存到其備份AMF 中。當(dāng)AMF 故障后,周邊網(wǎng)元把用戶消息發(fā)送給備份AMF,備份AMF查詢用戶上下文狀態(tài)數(shù)據(jù),繼續(xù)處理用戶業(yè)務(wù)流程,從而保障了業(yè)務(wù)連續(xù)性。同時(shí),由于UE 不用重新注冊就能使業(yè)務(wù)繼續(xù),無注冊浪涌信令,減少了對各網(wǎng)元的信令沖擊。
周邊網(wǎng)元發(fā)送至AMF 的消息包括從RAN 發(fā)起和其他5GC 網(wǎng)元發(fā)起2 類,其中RAN 側(cè)主動發(fā)起的業(yè)務(wù)流程如圖1所示。
圖1 RAN主動發(fā)起的業(yè)務(wù)流程
a)為AMF1(原AMF)配置備份的AMF2(備份AMF),AMF1 將Served GUAMI 以及Backup AMF 信息下發(fā)給gNodeB。AMF2 通過NF 注冊流程將其備份的GUAMI保存到NRF中,供其他NF獲取。
b)用戶接入網(wǎng)絡(luò)并進(jìn)行業(yè)務(wù)流程處理。AMF1在業(yè)務(wù)處理流程中,將用戶上下文狀態(tài)數(shù)據(jù)同步到AMF2中,AMF2保存同步數(shù)據(jù)。
c)當(dāng)AMF1 發(fā)生故障時(shí),UE 發(fā)起業(yè)務(wù)請求,gNodeB 發(fā)送消息無響應(yīng),gNodeB 識別并判定AMF1 故障,將用戶的請求消息發(fā)送給AMF2。AMF2 接收用戶請求后,判斷其原為AMF1所處理的用戶,從保存數(shù)據(jù)中獲取用戶上下文狀態(tài)數(shù)據(jù),并繼續(xù)處理此用戶的相關(guān)業(yè)務(wù)流程。AMF2 為用戶重新分配5G-GUTI,向gNodeB 發(fā)送更新5G-GUTI 及AMF UE NGAP ID 的消息,后續(xù)此用戶業(yè)務(wù)由AMF2 進(jìn)行處理。AMF2 與其他NF交互,其他NF 接收消息后,識別AMF1 故障,后續(xù)與AMF2交互處理此用戶相關(guān)業(yè)務(wù)流程。
d)后續(xù)此UE的業(yè)務(wù)將在AMF2正常處理。
周邊5GC網(wǎng)元主動發(fā)起的業(yè)務(wù)流程如圖2所示。
圖2 周邊5GC網(wǎng)元主動發(fā)起的業(yè)務(wù)流程
a)正常業(yè)務(wù)處理流程中,UE1 用戶的業(yè)務(wù)由AMF1處理。業(yè)務(wù)流程處理完畢,AMF1將用戶上下文狀態(tài)數(shù)據(jù)同步到為其備份的AMF2中,AMF2保存同步數(shù)據(jù)。
b)當(dāng)AMF1 發(fā)生故障時(shí),無法正常向NRF 發(fā)送Heartbeat 保活機(jī)制的更新消息,NRF 識別并判定AMF1 故障。NRF向訂閱了 原AMF 狀態(tài) 的NF 發(fā)送狀態(tài)變更通知消息(原AMF故障)。周邊NF如SMF、PCF等在本地沒有備份AMF信息的情況下,可向NRF執(zhí)行AMF發(fā)現(xiàn)流程,用于獲取原AMF的備份AMF信息。
c)周邊NF 如SMF、PCF 等在需要主動發(fā)起業(yè)務(wù)流程的情況下,選擇故障AMF1(即原AMF)的備份AMF(AMF2),將業(yè)務(wù)消息發(fā)送給AMF2。AMF2 接收業(yè)務(wù)消息后,判斷其原為AMF1所處理的用戶,從保存的數(shù)據(jù)中獲取UE1 用戶上下文狀態(tài)數(shù)據(jù),并繼續(xù)處理此用戶的相關(guān)業(yè)務(wù)流程。AMF2 為用戶重新分配5GGUTI,向gNodeB 發(fā)送消息更新5G-GUTI 及AMF UE NGAP ID 的消息,后續(xù)此用戶業(yè)務(wù)由AMF2 進(jìn)行處理。AMF2 與其他NF(如PCF)交互,繼續(xù)處理此用戶業(yè)務(wù)流程。其他NF 接收消息后,識別AMF1 故障,后續(xù)與AMF2 交互處理此用戶相關(guān)業(yè)務(wù)流程。AMF2 與UDM交互,通知AMF2 成為此用戶的服務(wù)AMF,UDM 保存相關(guān)信息,同時(shí)與備份AMF 交互處理此用戶相關(guān)業(yè)務(wù)流程。
d)后續(xù)UE1的業(yè)務(wù)由AMF2進(jìn)行處理。
5GC 免UDM 慣性運(yùn)行功能主要針對AMF 和SMF網(wǎng)元,包含4個(gè)部分,即故障檢測、故障后處理、故障恢復(fù)檢測、故障恢復(fù)處理。
1.2.1 故障檢測
AMF、SMF 支持如下方式檢測UDM 是否故障:基于NRF 狀態(tài)通知、本地NF 狀態(tài)檢測、基于響應(yīng)狀態(tài)碼和錯誤碼。
1.2.1.1 基于NRF狀態(tài)通知
基于NRF 狀態(tài)通知適用于直連組網(wǎng)、SCP C 組網(wǎng)模式。如圖3 所示,AMF、SMF 向NRF 訂閱UDM 狀態(tài)變更通知,當(dāng)NRF 檢測到UDM 狀態(tài)由正常狀態(tài)變換為故障狀態(tài)后,觸發(fā)NF 狀態(tài)通知,告知AMF、SMF 新的UDM 狀態(tài)。AMF、SMF 故障檢測機(jī)制相同,以AMF為例進(jìn)行說明,流程如下:
圖3 基于NRF狀態(tài)通知
步驟1:AMF 向NRF 發(fā)送訂閱請求Nnrf_NFManagement_NFStatusSubscribe Request,攜帶需要訂閱的UDM。
步驟2:NRF 保存訂閱信息,并返回響應(yīng)Nnrf_NFManagement_NFStatusSubscribe Response。
步驟3:NRF 檢測到UDM 狀態(tài)變?yōu)楣收蠎B(tài),比如通過本地NF檢測。
步驟4:NRF 觸發(fā)NF 狀態(tài)通知NnrfNF_Management_NFStatusNotify給AMF,攜帶UDM最新狀態(tài)。
1.2.1.2 本地NF狀態(tài)檢測
本地NF 狀態(tài)檢測僅適用于直連組網(wǎng)模式。通過定時(shí)向目標(biāo)NF 發(fā)起HTTP PING 檢測消息,以確認(rèn)目標(biāo)NF是否正常,如圖4所示。
圖4 本地NF狀態(tài)檢測
步驟1:AMF定時(shí)向UDM觸發(fā)HTTP PING檢測。
步驟2:AMF 等待HTTP PING 響應(yīng)超時(shí)次數(shù)超過門限,判定UDM 故障,將對應(yīng)UDM 加入到故障列表中。
1.2.1.3 基于響應(yīng)狀態(tài)碼和錯誤碼
基于響應(yīng)狀態(tài)碼和錯誤碼適用于SCP D 組網(wǎng)模式。如圖5 所示,AMF 基于SCP/UDM 返回響應(yīng)的HTTP 狀態(tài)碼以及應(yīng)用錯誤碼,判斷UDM 是否故障。UDM bypass 是一個(gè)定制功能,為了防止該功能對原有功能產(chǎn)生影響,建議SCP 檢測到UDM 故障時(shí),返回狀態(tài)碼502以及應(yīng)用錯誤碼bypass。其中,bypass為自定義的應(yīng)用錯誤碼。流程如下:
圖5 基于響應(yīng)狀態(tài)碼與應(yīng)用錯誤碼圖
步驟1:SCP 通過本地狀態(tài)檢測或者NRF 狀態(tài)通知,檢測到UDM已經(jīng)故障。
步驟2:AMF 收到用戶業(yè)務(wù)且需要和UDM 交互,比如向UDM 請求簽約數(shù)據(jù),則發(fā)送用戶業(yè)務(wù)請求消息給SCP。
步驟3:SCP 根據(jù)本地已保存的UDM 狀態(tài)信息,判定用戶歸屬的UDM 已全部故障,則回復(fù)用戶業(yè)務(wù)失敗響應(yīng),攜帶已經(jīng)規(guī)劃的指示UDM 全故障的狀態(tài)碼或應(yīng)用層錯誤碼。AMF 收到該失敗響應(yīng)后,判斷用戶歸屬的UDM故障。
1.2.2 故障后處理
如圖6 所示,AMF、SMF 檢測到UDM 故障,則啟用本地緩存的用戶簽約數(shù)據(jù)或本地配置的簽約數(shù)據(jù),跳過UDM 注冊、訂閱以及請求簽約數(shù)據(jù)過程,繼續(xù)用戶當(dāng)前信令業(yè)務(wù),觸發(fā)用戶進(jìn)入bypass 狀態(tài)。AMF、SMF故障后處理機(jī)制相同,以AMF 為例進(jìn)行說明,流程如下:
圖6 故障后處理流程圖
步驟1:UE 觸發(fā)業(yè)務(wù)請求,比如用戶從4G 移動到5G,或者從其他AMF 回到本AMF,或者本局重新初始注冊等。
步驟2:AMF 已通過本地NF 檢測、NRF 狀態(tài)通知等方式,檢測到用戶歸屬的UDM全部故障。
步驟3:若AMF 根據(jù)步驟2 判斷用戶歸屬UDM 全部故障后,觸發(fā)用戶進(jìn)入bypass 狀態(tài),跳過用戶鑒權(quán)、UDM注冊、UDM訂閱、向UDM請求簽約數(shù)據(jù)。若AMF本地未緩存用戶簽約數(shù)據(jù),則啟用本地配置的簽約數(shù)據(jù)。
步驟4:用戶信令業(yè)務(wù)繼續(xù),給UE回復(fù)成功響應(yīng)。
1.2.3 故障恢復(fù)檢測
AMF、SMF 支持3 種方式檢測UDM 是否故障恢復(fù):基于NRF 狀態(tài)通知、本地NF 狀態(tài)檢測、基于響應(yīng)狀態(tài)碼和錯誤碼。
1.2.3.1 基于NRF狀態(tài)通知
如圖7 所示,AMF、SMF 向NRF 訂閱UDM 狀態(tài)變更通知,當(dāng)NRF 檢測到UDM 狀態(tài)由正常狀態(tài)變換為故障狀態(tài)后,觸發(fā)NF 狀態(tài)通知,告知AMF、SMF 新的UDM 狀態(tài)。AMF、SMF 故障恢復(fù)檢測機(jī)制相同,以AMF為例進(jìn)行說明,流程如下:
圖7 基于NRF狀態(tài)通知
步驟1:AMF 已經(jīng)檢測到UDM 故障,且AMF 已經(jīng)向NRF訂閱了UDM狀態(tài)。
步驟2:UDM從故障狀態(tài)恢復(fù)為正常狀態(tài)。
步驟3:NRF通過本地NF檢測或者UDM主動觸發(fā)更新流程,判定UDM已經(jīng)從故障態(tài)恢復(fù)為正常狀態(tài)。
步驟4:NRF 觸發(fā)NF 狀態(tài)通知NnrfNF_Management_NFStatusNotify給AMF,攜帶UDM最新狀態(tài)。
1.2.3.2 本地NF狀態(tài)檢測
如圖8 所示,通過定時(shí)向檢測到的故障NF 發(fā)起HTTP PING 檢測消息,以確認(rèn)目標(biāo)NF 是否正常。本地NF狀態(tài)檢測流程如下。
圖8 本地NF狀態(tài)檢測
步驟1:UDM已經(jīng)從故障態(tài)恢復(fù)。
步驟2:AMF 定時(shí)向檢測到的故障UDM 觸發(fā)HTTP PING REQUEST。
步驟3:UDM 回復(fù)響應(yīng)HTTP PING RESPONSE。AMF 判定UDM 已經(jīng)恢復(fù),從NF 故障列表中將對應(yīng)UDM移除。
1.2.3.3 基于響應(yīng)狀態(tài)碼和錯誤碼
如圖9所示,AMF基于SCP返回響應(yīng)的HTTP狀態(tài)碼以及應(yīng)用錯誤碼,判斷UDM是否恢復(fù)。流程如下:
圖9 基于響應(yīng)狀態(tài)碼和錯誤碼
步驟1:UDM已經(jīng)從故障態(tài)恢復(fù)。
步驟2:SCP已通過故障檢測機(jī)制,比如本地NF檢測機(jī)制,檢測到UDM已經(jīng)恢復(fù)。
步驟3:AMF 定時(shí)掃描bypass 狀態(tài)用戶,觸發(fā)用戶級檢測請求消息,該請求消息經(jīng)過SCP轉(zhuǎn)發(fā)給UDM。
步驟4:UDM 回復(fù)響應(yīng)消息,經(jīng)過SCP 轉(zhuǎn)發(fā)給AMF。若為成功響應(yīng),或者雖然為失敗響應(yīng)但消息中未攜帶指示UDM 故障的狀態(tài)碼以及應(yīng)用層錯誤碼,則AMF判定用戶歸屬的UDM已經(jīng)恢復(fù)。
1.2.4 故障恢復(fù)處理
AMF 定時(shí)掃描bypass 狀態(tài)用戶,通過故障恢復(fù)檢測機(jī)制,判定UDM 已經(jīng)恢復(fù)后,觸發(fā)用戶下線并重新注冊。在用戶重新注冊時(shí),恢復(fù)用戶鑒權(quán)以及和UDM交互過程。故障恢復(fù)處理流程如圖10所示。
圖10 故障恢復(fù)處理流程圖
步驟1:AMF定時(shí)掃描bypass用戶。
步驟2:AMF通過故障恢復(fù)檢測機(jī)制,比如NRF狀態(tài)通知、本地NF 通知或者用戶級檢測消息,判定UDM已經(jīng)恢復(fù)。
步驟3:AMF 觸發(fā)用戶下線,下發(fā)Deregistration Request,攜帶re-registration required,請求用戶重新注冊。若用戶處于空閑態(tài),需要先觸發(fā)用戶尋呼。
步驟4:UE 觸發(fā)注冊過程,發(fā)送Registration Request給AMF。
步驟5:AMF 根據(jù)本地策略判定需要鑒權(quán)用戶,則觸發(fā)鑒權(quán)過程。
步驟6:AMF 判斷用戶為bypass 用戶,則觸發(fā)向UDM注冊過程。
步驟7:AMF 判斷bypass 用戶且用戶簽約數(shù)據(jù)為本地配置的簽約數(shù)據(jù),則觸發(fā)向UDM 請求用戶簽約數(shù)據(jù)。
步驟8:AMF 判斷用戶為bypass 用戶,則觸發(fā)向UDM訂閱用戶簽約數(shù)據(jù)變更。
步驟9:AMF 將用戶退出bypass 狀態(tài),繼續(xù)用戶注冊流程。
為了進(jìn)一步驗(yàn)證本文方法的有效性,組織5G核心網(wǎng)主設(shè)備廠家基于實(shí)驗(yàn)環(huán)境進(jìn)行了相關(guān)功能測試。
2.1.1 測試內(nèi)容
如表1 所示,針對AMF 主備網(wǎng)元用戶動態(tài)數(shù)據(jù)熱備功能測試,設(shè)計(jì)了4個(gè)測試用例。
表1 AMF主備網(wǎng)元用戶動態(tài)數(shù)據(jù)熱備功能測試表
2.1.2 測試結(jié)果
AMF 主備網(wǎng)元用戶動態(tài)數(shù)據(jù)熱備功能測試情況如表2所示。
表2 AMF主備網(wǎng)元用戶動態(tài)數(shù)據(jù)熱備功能測試結(jié)果表
2.2.1 測試內(nèi)容
如表3 所示,針對5GC 免UDM 慣性運(yùn)行功能測試,設(shè)計(jì)了10個(gè)測試用例。
表3 5GC免UDM慣性運(yùn)行功能測試表
2.2.2 測試結(jié)果
測試情況如表4所示。
表4 5GC免UDM慣性運(yùn)行功能測試結(jié)果表
因測試環(huán)境原因,2個(gè)廠家都未進(jìn)行用例4、用例7測試。因A 廠家AMF、SMF 目前暫不支持手動進(jìn)入U(xiǎn)DM bypass狀態(tài),暫未測試用例9。
通過實(shí)驗(yàn)室測試驗(yàn)證,基本驗(yàn)證了AMF 主備網(wǎng)元用戶動態(tài)數(shù)據(jù)熱備功能和5GC 免UDM 慣性運(yùn)行功能的有效性和可行性,為進(jìn)一步開展現(xiàn)網(wǎng)測試驗(yàn)證提供了參考依據(jù)。但受限于測試環(huán)境和測試版本,部分測試用例未完成測試,且異廠家的兼容性測試未進(jìn)行,有待進(jìn)一步測試驗(yàn)證。
面對網(wǎng)絡(luò)故障或業(yè)務(wù)異常導(dǎo)致的信令風(fēng)暴,通過引入AMF 主備網(wǎng)元用戶動態(tài)數(shù)據(jù)熱備、5GC 免UDM慣性運(yùn)行等功能,可進(jìn)一步提升網(wǎng)絡(luò)業(yè)務(wù)保障能力,規(guī)避用戶大量下線、業(yè)務(wù)中斷導(dǎo)致的信令風(fēng)暴,降低信令風(fēng)暴對網(wǎng)絡(luò)的沖擊,進(jìn)一步提升網(wǎng)絡(luò)的健壯性。