type sbi struct
httpcallback.addservice(router),實現在 afm/httpcallback 中,url 以及 handler 如下所示:
index
/
index
smcontextstatusnotify
/smcontextstatus/:guti/:pdusessionid
smcontextstatusnotify
ampolicycontrolupdatenotifyupdate
/am-policy/:polassoid/update
ampolicycontrolupdatenotifyupdate
ampolicycontrolupdatenotifyterminate
/am-policy/:polassoid/terminate
ampolicycontrolupdatenotifyterminate
n1messagenotify
/n1-message-notify
n1messagenotify
servicenamelist: - namf-comm - namf-evts - namf-mt - namf-loc - namf-oam
通過配置檔案,較簡單,amf 監聽埠為 29518for _, servicename := range factory.amfconfig.configuration.servicenamelist
}
tcp是以位元組為單位傳輸的,sctp是以資料塊為單位傳輸的
tcp通常是單路徑傳輸,sctp可以多路徑傳輸
for _, ngapaddr := range self.ngapiplist
每次新建立的連線,將訊息設定為 eventngapacceptconn 丟進 channel 進行處理,丟進 channel 處理, 處理函式 newamfran 則例項化 amfran, 存貯在 amfranpool 中,key 為對端 ip 位址
forwarddata 函式根據接收到的資料報,統一設定型別為 eventngapmessage,丟進 chanel,等待函式 ngap.dispatch(msg.ngapaddr, msg.value.(byte)) 處理
實現在 amf/handler/hander.gofunc server(addrstr string) (listener *sctplistener)
go listener.forwarddata()
// wait for accept connection
go func(l *sctplistener)
logger.ngaplog.infof("[amf] ngap sctp accept from: %s", conn.remoteaddr().string())
// send connection to amf handler
msg := amf_message.handlermessage{}
msg.event = amf_message.eventngapacceptconn
msg.value = conn
amf_message.sendmessage(msg)
l.mtx.lock()
l.conn[conn.remoteaddr().string()] = conn
l.mtx.unlock()
go ngapsctp.start(conn, readchan)
// put connection into global conn
} }(listener)
return
}
go handler.handle()
amf id 組成 regionid: 16bits, setid: 10bits, ptrid: 6bits=呼叫 nrf nnrf_nfmanagement,註冊
ng setup 流程用來交換 ng-ran 節點和 amf 在 ng-c 介面上正確互操作所需的應用程式資料,該程式應是 tnl 關聯開始執行後觸發的第乙個 ngap 程式。該過程使用 非ue 相關的信令。// register to nrf
profile, err := consumer.buildnfinstance(self)
if err != nil
_, self.nfid, _ = consumer.sendregisternfinstance(self.nrfuri, self.nfid, profile)
present int
initiatingmessage *initiatingmessage
successfuloutcome *successfuloutcome
unsuccessfuloutcome *unsuccessfuloutcome}
type initiatingmessage struct
initiatingmessage procedurecode 設定為 procedurecodengsetup
當使用 ng-ran 時,n2 引數包括所選的 plmn id、位置資訊和與 ue 所在小區相關的身份、ue 上下文請求,該請求指明需要在 ng-ran 中設定乙個包含安全資訊的 ue 上下文 。也包括建立的原因,
如果可用的話,才提供請求的 nssai 對映
如果 ue 註冊型別指明是定期註冊更新,則省略 4 - 19 步驟
如果 ue 包含首選的網路行為
主要是驗證資訊,如果驗證通過則 sendngsetupresponse,失敗則呼叫 sendngsetupfailure
5G核心網的構架
1.5g無線接入網路架構 主要包括5g接入網和5g核心網,其中ng ran代表5g接入網,5gc代表5g核心網。5g核心網主要包括哪些呢?先說一下關鍵的amf smf upf amf 全稱 access and mobility management function,接入和移動管理功能,終端接入許...
5G核心網 5GC核心網之網元AUSF
ausf,authentication server function 鑑權服務功能。網路功能 nf 鑑權服務功能 ausf 是 5g 核心網路 5gc 中的網路實體,支援以下功能 為請求者nf驗證ue 向請求者nf提供金鑰材料 保護請求者nf的 指導資訊列表 該圖表示基於服務的體系結構模型中的 a...
查詢5G核心網參考資料的方法
5g系統紛繁複雜,涉及了傳統通訊和現代it的各方面。剛接觸會遇到如3gpp 虛擬化 nfv和sdn,以及服務化 http2.0等很多概念和標準。5g的網路架構從傳統的煙囪式轉向虛擬化,並且引入了網路切片等新概念。僅僅從核心網來說,5g的變化遠遠比之前4g epc比3g的網路架構變化大得多,可以說是翻...