【5G核心网】5GC核心网之网元SMF

      SMF,Session Management Function,会话管理功能,负责处理用户的业务,可以看成是 MME 承载管理部分以及 SGW 和 PGW 的控制面功能的组合。TS 29502

    相当于 4G MME 会话管理功能和 SGW-C / PGW-C

    会话管理:UE IP 地址分配和管理,选择和控制 UPF,配置 UPF 的流量和定向,转发至合适目的网络

    合法监听

    计费和 Qos 策略控制

    计费数据搜集

    N16 参考点: 在 V-SMF 和 H-SMF 在家庭路由漫游的场景

    N16a 参考点: 在 SMF 和 I-SMF

    N38 参考点:在 I-SMF 和 V-SMF

1. SMF 提供的服务

Service Name

Service Operations

Operation

Semantics

Example Consumer(s)

Nsmf_PDUSession

Create

Request/Response

V-SMF/I-SMF

Update

Request/Response

V-SMF/I-SMF, H-SMF

Release

Request/Response

V-SMF/I-SMF

CreateSMContext

Request/Response

AMF

UpdateSMContext

Request/Response

AMF

ReleaseSMContext

Request/Response

AMF

SMContextStatusNotify

Subscribe/Notify

AMF

StatusNotify

Subscribe/Notify

V-SMF/I-SMF

ContextRequest

Request/Response

AMF, I-SMF, SMF

ContextPush

Request/Response

SMF

SendMOData

Request/Response

AMF

Nsmf_EventExposure

Subscribe

Subscribe/Notify

NEF, AMF, NWDAF

Unsubscribe

NEF, AMF, NWDAF

Notify

NEF, AMF, NWDAF

AppRelocationInfo

AF

Nsmf_NIDD

Delivery

Request/Response

NEF

                                                         Table 5.2.8.1-1: NF services provided by the SMF TS 23502

   1.1 Nsmf_PDUSession 服务

     Nsmf_PDUSession 服务操作 PDU 会话,其允许其他网络来建立,修改,释放 PDU 会话

二. PDU 会话建立流程

    SMF 从 AMF 接收 Nsmf_PDUSession_CreateSMContext 请求,/sm-contexts,则进入 PostSmContexts 函数处理,设置为 PDUSessionSMContextCreate 类型消息,丢进 channel 进行集中处理

    2.1 HandlePDUSessionSMContextCreate 函数

      SMF 创建会话管理上下文,实例化 SMContext,向 UDM 发起 Nudm_SubscriberDataManagement.请求 /{supi}/sm-data

为 UE 分配 IP 地址,PCF 选择,smContext.PCFSelection,调用 Nnrf_NFDiscovery /nf-instances 向 NRF 进行服务发现,实例化 SmPolicyContextData 并填充 Supi,PDUSessionID,Dnn,Snssai 等等。调用 /sm-policies 更新 PCF 策略配置

     2.1.1 设置拓扑

     例如官方例子:

userplane_information:

  • up_nodes:
    • gNB1:
      • type: AN
      • an_ip: 192.188.2.3
    • BranchingUPF:
      • type: UPF
      • node_id: 10.200.200.102
      • up_resource_ip: 192.188.2.2
    • AnchorUPF1:
      • type: UPF
      • node_id: 10.200.200.101
      • up_resource_ip: 192.188.2.23
    • AnchorUPF2:
      • type: UPF
      • node_id: 10.200.200.103
      • up_resource_ip: 192.188.2.24
    • links:
      • A: gNB1 B: BranchingUPF
      • A: BranchingUPF B: AnchorUPF1
      • A: BranchingUPF B: AnchorUPF2

    2.1.2 GenerateDataPath 函数

    2.1.2.1 如果是第一个节点,则为 root 节点

     下行链路则为 AN,SetUpLinkSrcNode 建立上行链路,实例化 GTPTunnel

func (node *DataPathNode) SetUpLinkSrcNode(nextUpLinkNode *DataPathNode) (err error) {

	node.UpLinkTunnel = new(GTPTunnel)
	node.UpLinkTunnel.SrcEndPoint = nextUpLinkNode
	node.UpLinkTunnel.DestEndPoint = node

	destUPF := node.UPF
	node.UpLinkTunnel.MatchedPDR, err = destUPF.AddPDR()
	if err != nil {
		logger.CtxLog.Errorln("allocate UpLinkTunnel.MatchedPDR", err)
	}

	teid, _ := destUPF.GenerateTEID()
	node.UpLinkTunnel.TEID = teid
	return
}

    2.1.2.2 如果是最后一个节点

     SetDownLinkSrcNode 

func (node *DataPathNode) SetDownLinkSrcNode(nextDownLinkNode *DataPathNode) (err error) {

	node.DownLinkTunnel = new(GTPTunnel)
	node.DownLinkTunnel.SrcEndPoint = nextDownLinkNode
	node.DownLinkTunnel.DestEndPoint = node

	destUPF := node.UPF
	node.DownLinkTunnel.MatchedPDR, err = destUPF.AddPDR()
	if err != nil {
		logger.CtxLog.Errorln("allocate DownLinkTunnel.MatchedPDR", err)
	}

	teid, _ := destUPF.GenerateTEID()
	node.DownLinkTunnel.TEID = teid

	return
}

    2.1.2.3 如果是中间节点的情况

   SMF The Session Management function 包括以下功能:

- 会话管理,例如会话建立,修改和释放,包括UPF和AN节点之间的隧道维护  Session Management e.g. Session Establishment, modify and release, including tunnel maintain between UPF and AN node

- UE IP 地址分配以及管理(可选的授权)  UE IP address allocation & management (including optional Authorization)

- DHCPv4 和 DHCPv6 功能(服务端和客户端)  DHCPv4 (server and client) and DHCPv6 (server and client) functions

- ARP 请求或以太网 PDU基于本地缓存信息的 IPv6 邻居请求的响应功能。SMF 通过提供与请求中发送的IP地址相对应的MAC地址来响应ARP和/或IPv6邻居请求  

- 选择和控制 UP 功能,包括控制 UPF 代理 ARP 或 IPv6 邻居发现,或所有 ARP / IPv6 邻居请求流量转发到 SMF,用于以太网 PDU 会话

- 配置 UPF 的流量导向,流量路由到正确的目的地  Configures traffic steering at UPF to route traffic to proper destination

- 终止策略控制功支持与外部DN的交互,以便通过外部DN传输PDU会话授权/认证的信令

- 合法拦截(用于SM事件和LI系统的接口)  Lawful intercept (for SM events and interface to LI System)

- 付费数据收集以及支持付费接口  Charging data collection and support of charging interfaces

- 控制和协调 UPF 的收费数据收集  Control and coordination of charging data collection at UPF

- 终止 SM 部分的 NAS 消息 Termination of SM parts of NAS messages

- 下行链路通知  Downlink Data Notification

- AN 特定 SM 信息的发起者,通过 AMF N2 发送到 AN

- 决定会话的 SSC 模式 Determine SSC mode of a session

- 漫游功能 Roaming functionality

     - 处理本地实施来应用 QoS SLA(VPLMN) Handle local enforcement to apply QoS SLAs (VPLMN)

     - 计费数据收集和计费接口(VPLMN) Charging data collection and charging interface (VPLMN)

     - 合法拦截(在SM事件的VPLMN和LI系统的接口) 

     - 支持与外部 DN 的交互,通过外部 DN 传输 PDU 会话授权/认证的信令

名词解释:

    HR: Home Routed

    NIDD:Non-IP Data Delivery

    GPSI:Generic Public Subscription Identifier

    GUAMI:Globally Unique AMF Identifie   

    5G-GUTI: 5G Globally Unique Temporary Identifier    

    SUCI:Subscription Concealed Identifier    

    SUPI: Subscription Permanent Identifie    

猜你喜欢

转载自blog.csdn.net/zhonglinzhang/article/details/107211486