S-NSSAI是“Single Network Slice Selection Assistance Information”的简称,其标识一个网络分片。S-NSSAI的结构如下图所示,由两部分组成:
1)SST(Slice/Service type),切片/服务类型,它指的是在功能和服务方面的预期网络切片行为。
2)SD(Slice Differentiator),切片差分器,这是可选信息,补充切片/服务类型,以区分相同切片/服务类型的多个网络切片。
SST长度为一字节,协议0~127为标准SST的取值范围(当前协议只是用了三个值),128~255属于运营商自定义范围;对于运营商自定义的值只在本网下有效,对于标准值全网通用。
S-NSSAI可以是标准值(SST取值为标准值,SD不存在),也可以是非标准值(也就是SST和SD同时存在、或者仅有SST但其取值为非标准值)。
NSSAI是S-NSSAI集合,其包含一堆S-NSSAI;或者可将NSSAI认为是一个S-NSSAI列表。其在NAS协议的格式定义如下图。
Subscribed S-NSSAIs:订阅S-NSSAI,属于用户的订阅数据。
Default S-NSSAI:默认S-NSSAI,根据运营商的策略,用户的订阅S-NSSAI中可能会一个或多个被设置为默认S-NSSAI;如果UE在注册请求消息(Registration Request)没有携带Allowed NSSAI,则网络会使用默认S-NSSAI来给UE提供服务,如果默认S-NSSAI存在的话。
Requested NSSAI:请求NSSAI,也就是UE在注册请求消息(Registration Request)携带的Allowed NSSAI。
Allowed NSSAI:允许NSSAI,表示UE请求的NSSAI中,哪些S-NSSAI被网络允许了,网络会在注册接收消息(Registration Accept)的"Allowed NSSAI" IE 带给UE。
Rejected NSSAI:拒绝NSSAI,表示UE请求的NSSAI中,哪些S-NSSAI被网络拒绝了,网络会在注册接收消息(Registration Accept)的"Rejected NSSAI" IE 带给UE。
Configured NSSAI:配置NSSAI,网络配置给UE使用的NSSAI,收到这个配置参数收,UE就知道网络下有哪些S-NSSAI可用;网络会在注册接收消息(Registration Accept)的"Configured NSSAI" IE 带给UE,如果注册后UE的配置有变化,则网络可通过Configuration update command通知UE更新;UE会在非易失存储空间保存每个网络给它配置的Configured NSSAI 【见TS24.501 Annex C】;每个PLMN最多只能配置一个Configured NSSAI。
网络提供给UE的Allowed NSSAI中可能有些S-NSSAI的取值并不属于服务PLMN下UE的网络分片信息的范围内,此种情况下,网络在提供S-NSSAI的同时,也要提供个该S-NSSAI映射到HPLMN的配置S-NSSAI的值,也就是对应的Mapped configured S-NSSAI。
在漫游的情况下,UE发送Allowed NSSAI时,UE可能需要为里面的S-NSSAI提供映射S-NSSAI,映射S-NSSAI的值从该网络给UE配置的Configured NSSAI中查到。
通过网络分片实例去建立UE和一个数据网络的用户面连接需要两步:1)发起RM流程去选择支持所要求的网络分片的AMF,2)通过网络分片实例去建立一个或多个连接到数据网的PDU会话。
当UE在一个PLMN下发起注册流程时,如果UE已经有了该网的Configured NSSAI或Allowed NSSAI,那么UE应该在AS和NAS层给网络提供Requested NSSAI,包含UE想要注册的网络分片的S-NSSAI。Requested NSSAI的S-NSSAI必须来自Configured NSSAI和Allowed NSSAI。
UE在RRC连接建立请求和注册请求消息都要携带Requested NSSAI;但是如果UE没有当前PLMN的Configured NSSAI和Allowed NSSAI的话,则UE不应该在RRC连接建立请求和NAS注册请求消息携带任何的S-NSSAI。接入网(如ngNB)会根据RRC连接建立请求的Requested NSSAI去选择合适的AMF,如果接入网无法做出选择的话(如消息没有携带Requested NSSAI,或携带了但找不到匹配其能力的AMF),其就会选择默认的AMF;之后,接入网就会将初始NAS消息转发给选择的AMF。
当AMF收到接入网发来的UE注册请求消息:
>AMF向UDM发起查询来获取这个UE的订阅信息(订阅信息会包含Subscribed S-NSSAIs)
>AMF拿Subscribed S-NSSAIs来验证Requested NSSAI里的S-NSSAI,确定哪些请求的S-NSSAI是允许的,哪些是被拒绝的;如果请求的S-NSSAI有影射值,则AMF会拿映射值和Subscribed S-NSSAI进行比较。
>当AMF中的UE上下文尚未包括相应访问类型的允许NSSAI时,根据AMF的配置,要么AMF查询NSSF(参见下面的(B)以进行后续处理),要么AMF直接确定它是否可以为UE服务(参见下面的(A)以进行后续处理)。 NSSF的地址在AMF中本地配置。
>当AMF中的UE上下文已经包括针对相应接入类型的允许NSSAI时,基于该AMF的配置,可以允许AMF确定其是否可以为UE服务(参见下面的(A)以用于后续处理).
(A)根据如上所满足配置,可以允许AMF确定其是否可以为UE服务,并且执行以下操作:
>AMF检查其是否可以为所有在Requested NSSAI且出现在Subscribed NSSAI的S-NSSAI(Requested NSSAI和Subscribed NSSAI的交集)服务,或者在没有Requested NSSAI时,AMF是否可以为所有的默认S-NSSAI服务。
>>如果AMF可以为Requested NSSAI的S-NSSAI服务,则AMF继续作为UE的服务AMF;之后组装Allowed NSSAI,Allowded NSSAI由Requested NSSAI和Subscribed NSSAI的交集组成,或者,如果没有Requested NSSAI时,由所有的默认的S-NSSAI组成;AMF还要决定Allowed NSSAI的S-NSSAI到Subscribed S-NSSAI的映射值。如果UE没有提供Requested NSSAI或提供的Requested NSSAI包含了在服务PLMN下不合法的S-NSSAI,则AFM会基于订阅S-NSSAI和运营商的配置给UE提供Configured NSSAI。之后执行步骤(C)。
>>否则,AMF查询NSSF(见下面步骤B)
(B)如上所述要求,AMF需要查询NSSF,然后执行如下操作:
>AMF向NSSF查询,提供信息:Requested NSSAI、Requested NSSAI到HPLMN Configured NSSAI的映射、订阅S-NSSAI、SUPI的PLMN ID、UE当前的跟踪区(Tracking Area(s))等。
>基于上面AMF提供的信息、以及本地配置信息和其它的本地信息(包括当前TA下RAN的能力信息、网络实例的当前负载级别),NSSF执行如下操作:
>>基于Requested NSSAI和Subscribed NSSAI的S-NSSAI比较,NSSF要判断哪些请求的S-NSSAI可以被允许。如果没有Requested NSSAI,就看用户订阅的默认S-NSSAI是否可被允许。
>>选择为UE服务的网络分片实例(Network Slice Instance)
>>选择为UE服务的AMF。
>>决定UE的Allowed NSSAI(要考虑UE的Access Type、当前的TA、可用的网络分片实例等信息)
>>基于运营商配置,NSSF可以确定用于在所选网络片实例内用于选择NF /服务的NRF。
>>在漫游场景下还要确定Allowed NSSAI和Subscribed S-NSSAI的映射。
>>如果UE没有提供Requested NSSAI或者提供了Requested NSSAI但其包含有在当前服务PLMN无效的S-NSSAI,则NSSF可以基于Subscribed S-NSSAI和运营商的配置推导出Configured NSSAI以及其和HPLMN的Configured NSSAI的映射关系给UE用。
>NSSF给当前AMF返回:Allowed NSSAI和其与Subscribed S-NSSAI的映射、目标AMF Set或一个候选AMF列表、NRF、NSI ID、Rejected S-NSSAI、Configured NSSAI。
>取决于可用信息以及配置信息,AMF可以用目标AMF Set查询适当的NRF(例如,由NSSF本地预先配置或提供), NRF返回候选AMF列表。
>如果需要选择其它AMF服务UE,则当前AMF就会将Registration Request消息路由给目标AMF(可以通过RAN口重定向或直接信令发给目标AMF【TS23.501 5.15.5.2.3】)。
>执行步骤(C)
(C)服务AMF应确定一个注册区域(Registration Area),使得该注册区域的所有S-NSSAI在注册区域的所有TA都可用,然后返回 UE允许NSSAI以及允许的NSSAI到订阅的S-NSSAI的映射(如果提供的话),以及被拒绝的S-NSSAI。
>如果UE仅使用标准S-NSSAI值,则可以在VPLMN中使用与HPLMN中相同的S-NSSAI值。
>如果VPLMN和HPLMN具有支持VPLMN中的非标准S-NSSAI值的SLA,则VPLMN的NSSF将订阅的S-NSSAI值映射到将在VPLMN中使用的相应S-NSSAI值;要在VPLMN中使用的S-NSSAI值由VPLMN的NSSF基于SLA确定;VPLMN的NSSF不需要通知HPLMN在VPLMN中使用了哪些值。
基于运营商的策略和在AMF的配置,AMF可以直接决定在VPLMN使用的S-NSSAI值和其与Subscribed S-NSSAI的映射。
>如果映射关系已经在UE上存在,则UE在构造Requested NSSAI时提供Requested NSSAI的每个S-NSSAI和HPLMN的配置S-NSSAI的映射。
>VPLMN的NSSF确定Allowed NSSAI时不需要和HPLMN交互。
>Registration Accept消息携带的Allowed NSSAI包含在VPLMN下使用的S-NSSAI。
>在PDU会话建立过程中,UE包括如下两个S-NSSAI:
(a)S-NSSAI(a);S-NSSAI(a)是和触发PDU会话建立请求的应用匹配的S-NSSAI,该S-NSSAI(a)是在HPLMN下使用的S-NSSAI值。
(b)S-NSSAI(b);S-NSSAI(b)属于Allowed NSSAI,S-NSSAI(a)和S-NSSAI(b)是映射关系,S-NSSAI(b)是在VPLMN下使用的S-NSSAI值。
对于Home Routed的漫游场景,V-SMF将PDU Session Establishment Request消息和在HPLMN下使用的S-NSSAI(a)值一起发给H-SMF处理。
>当PDU会话建立时,核心网(CN)会给接入网(AN)提供和该PDU会话相对应的的在VPLMN下使用的S-NSSAI值。
一个网络分配(Network Slice)可以是在整个PLMN下可用的,也可以是在一个PLMN下的某个/几个TA下可用。
网络切片的可用性是指NSSAI被所涉及的NF支持。 此外,NSSF中的策略可以进一步限制在特定TA中使用某些网络片,例如, 取决于UE的HPLMN。
使用OAM配置和网络功能之间的信令交互,端到端地建立一个TA中的网络分片(Network Slice)的可用性;它是通过使用NG-RAN中每个TA支持的S-NSSAI,AMF中支持的S-NSSAI和NSSF中每个TA的运营商策略得出的。
当NG-RAN节点建立或更新与AMF的N2连接时(NG SETUP REQUEST 会携带NG-RAN支持的TA列表和每个TA下支持的NSSAI列表),AMF获得了NG-RAN下每TA支持的S-NSSAI信息;AMF给NSSF提供和更新每个TA下支持的S-NSSAI信息;NG-RAN节点在NG-RAN和AMF的N2连接建立时(NG SETUP RESPONSE会携带AMF支持的PLMN列表和每个PLMN下支持的S-NSSAI)获得AMF支持每个PLMN的S-NSSAI信息。
NSSF上可以配置运营商策略,其指定在什么条件下可以针对UE的每个TA和每个HPLMN限制S-NSSAI。
每个TA限制的S-NSSAI可以在网络建立时和改变提供给AMF集的AMF。