博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接

本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。

博客内容主要围绕:
       5G/6G协议讲解
       算力网络讲解(云计算,边缘计算,端计算)
       高级C语言讲解
       Rust语言讲解

5G会话管理概述


       5GC支持PDU连接业务,PDU连接业务就是通过5GS、UE和DN(Data Network)之间交换PDU数据分组的业务。PDU连接业务通过UE与网络建立PDU会话实现,一个PDU会话以及PDU会话中的QoS流建立之后,也就是建立了UE与DN之间的数据通路
       每个PDU会话都会有一个S-NSSAI与一个DNN关联。AMF可以基于S-NSSAI与DNN选择PDU会话的SMF。SMF可以基于S-NSSAI与DNN选择PDU会话的UPF。

SMF和UPF的选择还需要其它信息,这里不再深入介绍

UE的签约信息可以包含一个签约的DNN列表和一个默认的DNN。DNN可以用于关联DN或业务,类似LTE的APN。当UE发起PDU建立请求时,如果没有携带DNN信息,那么服务的AMF会为其选择一个默认的DNN;如果没有默认的DNN,那么服务AMF会选择本地配置的DNN给S-NSSAI。如果UE在PDU会话建立请求中携带的DNN不被网络支持,并且AMF也没能通过查询NRF找到一个合适的DNN,则AMF会拒绝这个PDU连接请求,并回复 “DNN is not supported”

每个PDU会话只支持一个PDU会话类型,5GC支持的PDU会话类型有 IPv4、IPv6、IPv4v6、Ethernet、Unstructured。

PDU会话在UE和SMF之间的会话管理信令通过AMF进行中转。UE与AMF的N1接口通过NAS SM消息传递UE与SMF之间的会话管理信令。会话管理信令实现会话的建立(UE请求)、修改(UE和5GC请求)和释放(UE和5GC请求)。在5GC中,网络也可以触发PDU会话建立。应用服务器需要建立PDU会话连接时,会给5GC发送触发消息,5GC收到应用服务器的建立请求后会给UE发送触发PDU会话建立的消息。UE收到后请求建立指定的PDU会话。

5GC还支持LADN(Local Area Data Network)在PDU会话,LADN就是只在本地网络服务区才能访问的DNN。网络会在注册流程和配置流程更新流程中将当前的注册区下的LADN发送给UE。

在会话建立过程中,SMF负责检查UE请求是否符合用户签约信息。SMF会从UDM获取UE的签约信息,签约信息基于每个DNN和S-NSSAI给出:

  • 允许的PDU会话类型和默认的PDU会话类型;
  • 允许的SSC模式和默认的SSC模式;
  • QoS信息:Session-AMBR、默认5QI和默认ARP;
  • 静态IP地址/前缀;
  • 计费规则。

UE发送 PDU Session Establishment Request 消息的时候,要提供一个PDU Session ID。PDU Session ID由UE自己分配且在UE内是唯一的。已经建立PDU会话的SMF标识会被存储在UDM中,以支持3GPP接入和非3GPP接入间的切换。UE还需要提供PDU会话类型、S-NSSAI、DNN和SSC模式。

UE可以与同一个DNN建立多个PDU会话,也可以通过3GPP和非3GPP接入网与同一个DNN或者不同的DNN建立多个PDU会话。建立了多个PDU会话的UE可以由不同的SMF提供服务。SMF应在UDM中按PDU会话粒度进行SMF注册和销毁。


5G终端IP地址管理

SMF负责在PDU建立过程中为UE分配IP地址,IP地址可能是一个也可能是两个取决于UE请求建立的PDU的类型。如果是IPv4 only,那么SMF将为UE分配一个IPv4的地址;如果是IPv6 only,那么SMF将为UE分配一个IPv6 interface identifier;如果是IPv4v6,那么SMF将为UE分配一个IPv4地址和一个IPv6地址的 interface identifier。

这里要注意了,SMF分配的IPv4地址是一个完整的IP地址;而IPv6地址并不是完整的128bit,这里只分配了 low 64bit 的值,称为 interface identifier 我们后面还会详细介绍。

对于 IPv4 PDU 会话类型IPv4v6 PDU 会话类型,UE将会:

  • 通过下面两种方式中的一种获取IPv4地址,

    • NAS 信令;
    • DHCPv4。
  • 可能通过DHCPv4获取一些IPv4的配置参数,例如,DNS服务器地址等。

对于 IPv6 PDU 会话类型IPv4v6 PDU 会话类型,UE将会:

  • 利用分配的 IPv6 链路本地 interface identifer ,创建一个链路本地地址(link-local address);
  • 通过无状态IP地址自动配置协议(SLAAC)获取地址的 high 64bit,也就是IPv6地址的 prefix;
  • 可能通过无状态DHCPv6获取一些IPv6的配置参数。

SMF对IP的管理


UE在发送PDU Session建立请求消息时会填充 PDU Session Type(如上图),有以下几种可能的情况,

  • 如果有匹配的URSP或者有匹配的UE本地配置且这些匹配的配置中,

    • PDU Session Type 能够被UE的IP协议栈支持,则设置为匹配到的 PDU Session type;
    • 没有设置 PDU Session Type,则在 PDU Session Establishment Request 中不会填入 PDU Session Type参数(也就是 no IP Address Allocation request );
  • 否则,如果没有匹配的URSP和UE本地配置,则UE将根据UE的IP协议栈能力来设置PDU Session Type,有以下几种情况,
    • UE IP协议栈支持IPv4和IPv6,则根据UE的配置和收到的运营商策略信息,可能设置为IPv4、IPv6 和 IPv4v6;
    • UE IP协议栈只支持IPv4,则设置PDU Session Type 为IPv4;
    • UE IP协议栈只支持IPv6,则设置PDU Session Type 为IPv6;
    • 如果UE不清楚IP协议栈的能力(例如,MT和TE分离的情况下,此时MT不知道TE的能力),UE需要将 PDU Session Type 设置为 IPv4v6。

如果UE想使用DHCPv4来分配IPv4地址,则需要将这种需求显示的填入 PDU SESSION ESTABLISHMENT REQUEST 的 Extended protocol configuration options IE,如下图。

关于 Extended protocol configuration options IE 在 ST24.008 10.5.6.3节中给出了解释,感兴趣的同学自行查看,这里不再贴图了。

如果UE指明使用DHCPv4来获取IPv4地址,并且5GC支持DHCPv4,那么SMF在回复UE时并不会携带IPv4的地址。网络也有可能回复UE一个 0.0.0.0 的IPv4地址(0.0.0.0用作源地址,表示地址未确定)。在PDU建立流程结束之后,UE利用与5GC的连通性来发起DHCPv4流程为自己分配IPv4地址。

注意了,如果UE指明使用DHCPv4来获取IP地址,但是5GC网络在PDU建立流程中还是为UE提供了IPv4地址,那么UE也要接受这个IPv4地址

当网络收到UE发送的 PDU SESSION ESTABLISHMENT REQUEST 之后,会根据 PDU Session Type、运营商策略和用户签约信息来分配IP地址,

  • 如果网络最后确定的PDU Session Type 为 IPv4,则网络会在 PDU address IE 中填入分配的IPv4地址;
  • 如果网络最后确定的PDU Session Type 为 IPv6,则网络会在 PDU address IE 中填入一个IPv6 链路本地 interface identifier;
  • 如果网络最后确定的PDU Session Type 为 IPv4v6,则网络会在 PDU address IE 中填入一个IPv4地址和一个IPv6 链路本地 interface identifier
  • 如果网络收到的是一个 no IP Address Allocation request ,此时SMF会根据DNN的配置参数决定是否使用DHCPv4来为UE分配IPv4地址。


具体的 PDU address IE 格式如下图,

SMF可能会通知UE,(DNN,S-NSSAI)这对组合下对应的 PDU Session Type 无法被建立。在这种情况下,UE不应该再次尝试使用相同的(DNN,S-NSSAI)和 PDU Session Type 去建立PDU会话。如果UE已经建立了一个PDU会话(IPv4或者IPv6),还需要建立另一个IP version 的PDU会话,则UE可以使用与第一个PDU会话相同的(DNN,S-NSSAI)发送PDU建立请求消息,来激活第二个具有不同IP version 的PDU会话。

当 PDU session 被释放后,SMF会释放分配的IP地址/前缀信息。

SMF、UPF在DHCP流程中的角色

为了支持基于DHCP的IP地址配置功能,对于UE来说SMF将充当一个DHCP服务器。PDU会话锚点的UPF不具备DHCP的功能,它只负责UE和SMF之间DHCP消息的透明转发。

当DHCP服务器是一个3GPP外部的网络时(external data network),SMF充当一个DHCP客户端角色,UPF不具备任何DHCP的功能,SMF控制UDP通过N6接口来透明转发UE和SMF的DHCP消息给3GPP外部网络。

5GC中的静态IP

5GC也支持基于UDM中的订阅信息或者基于(订阅者,DNN,S-NSSAI)三元组的静态IPv4地址和静态IPv6前缀的分配。如果静态IP地址/前缀存储在UDM中,在PDU会话建立期间SMF会从UDM中获取这个静态IP地址/前缀。如果SMF没有从UDM中获取到静态IP地址/前缀,它会尝试从DHCP/DNS-AAA服务器中获取。静态IP地址/前缀分配给UE的方法与动态IP地址/前缀分配方法一致。也就是说无论IP地址/前缀是动态的还是静态,IP地址的分配是由PLMN还是由外部数据网络分配,对于UE来说都是透明的


IPv6 Prefix的获取

PDU会话建立结束后,UE会发送一个 Router Solicitation message 给SMF去请求一个 Router Advertisement message 。收到UE的消息后SMF会发送一个Router Advertisement message 给UE,在这个消息中就包含了UE需要的IPv6前缀。

收到Router Advertisement message 消息之后UE就可以组成一个有效的IPv6地址了。为了保证UE生成的IPv6 link-local 地址不会与链路中的UPF和SMF的地址冲突,SMF会给UE配置一个 interface identifier(如上一节所述),UE就是用这个 interface identifier 来构建自己的 link-local IPv6地址。

根据RFC4862中的定义,其实UE可以选择任意的 interface identifier 来构建IPv6地址,但是TS23.501中对其进行了约束,强调除了5GC网络的 link-local 以外,可以使用任意的 interface identifier 来构建IPv6地址,如果是用在5GC网络的 link-local IPv6 地址,则必须使用 PDU Session Establishment Accept 消息中配置的 interface identifier

RFC4862中规定对于每一个 link-local IPv6 地址,在实际使用前需要进行重复性检查(通过发送 Neighbor Socilitation 消息),防止其它设备使用相同的 link-local IPv6,这个过程称为 Duplicate Address Detection(DAD)这一点在3GPP应该中有所不同,UE组成IPv6地址之后不需要进行重复地址检查流程,因为SMF通知给UE的 *IPv6 prefix* 是全局唯一的,而且 *interface indentifier* 也是SMF配置下来的保证了不会发生IP地址冲突

在IPv6多宿主PDU会话下,当为一个新的PDU会话锚点分配了IPv6前缀后,SMF不应该再为其分配 interface identifier

所有上述IPv6相关的消息(例如,Router SocilitationRouter AdvertisementNeighbor SocilitationNeighbor Advertisement)都是通过UPF传输的(UE <–> UPF <–> SMF)。

SLAAC协议概述

请参阅《【5G会话管理】UE IPv6地址的分配(SLAAC协议)》


【5G会话管理】UE IP地址的管理相关推荐

  1. 5G 核心网用户面功能(一)UE IP地址分配和管理

    我们的个人电脑联网的前提是预先配置IP地址,通常我们通过静态手工指定或DHCP协议配置.类似地,UE在进行业务通信前,也必须获取到地址. UE获取IP地址具有如下特点: UE的IP地址必须由核心网分配 ...

  2. 华为服务器设置iBMC管理网口IP地址,开启Monitor图文教程

    设置iBMC管理网口IP地址 默认用户名:root 默认密码:Huawei12#$ 操作步骤 服务器重启时,当出现如下界面时,重复按"Delete". 在启动过程出现输入密码对话框 ...

  3. 华为服务器查看虚拟ip,裸金属服务器管理虚拟IP地址

    裸金属服务器管理虚拟IP地址 内容精选 换一换 计费项包括裸金属服务器.云硬盘(可选).弹性公网IP(可选),详细说明如表1所示.裸金属服务器计费模式为包年包月付费,不支持按量付费.其中付10个月费用 ...

  4. 华为交换机S5720S-52P-SI-AC配置web管理端IP地址

    需求 华为三层交换机 S5720S-52P-SI-AC 是有web端管理功能的,但是交换机上的 ETH管理接口 出厂并没有设置默认IP地址(我认为不给默认IP是对的,这是出于安全考虑的),所以我们想实 ...

  5. 网站荣耀服务器ip,华为荣耀路由器管理页面IP地址是多少(2)

    1.确认电脑正确连接路由LAN口. 2.打开电脑 本地网络和共享中心 > 本地连接 >属性 > Internet协议版本4(TCP/IPv4)> 属性 >自动获取IP地址 ...

  6. 【WLAN】华为AC使用ACL禁止业务VLAN的IP地址访问管理VLAN

    前景提示 安全一直是一个很重要的话题,尤其在企业AC+AP组网的方式中.我们通常会把业务vlan和管理vlan区分开来,使用不同的VLAN,增加安全性,这二者其实可以分离的. 业务vlan: 业务vl ...

  7. IBM DS3524磁盘阵列修改管理口IP地址

    1.DS3524双控制器有四个网口,背面看依次从左到右分别为网口1到网口4.其中默认的IP地址如下: 网口1:192.168.128.101 网口2:192.168.129.101 网口3:192.1 ...

  8. 修改EMC VNX的管理口IP地址

    本文详细介绍如何修改EMC VNX存储的管理口的IP地址,注意Unifed 和block的VNX存储方法是有所不同的,这也是有好几个朋友问我这个问题,写这篇博客的原因. 在修改管理口的IP地址之前,要 ...

  9. IP地址操作管理库——IPy库

    壹 简介 在IP地址规划中,涉及到计算大量的IP地址,包括网段.网络掩码.广播地址.子网数.IP类型等,即便是专业的网络人员也要进行繁琐的计算,而IPy模块提供了专门针对IPV4地址与IPV6地址的类 ...

  10. 网站荣耀服务器ip,华为荣耀路由器管理页面IP地址是多少

    华为路由器还有荣耀路由器都是华为旗下的产品,Web管理页面网址都是192.168.3.1 当手机.或者电脑成功连上路由器Wi-Fi或有线网络时,在浏览器输入此网址就可以进入管理页面. Web管理页面主 ...

最新文章

  1. Vant 组件库(VUE)的使用 Vant滚动选择器 选择器 传值
  2. 疫情之下,MWC 2020正式取消!此前仍有中国公司表态坚持参展
  3. SAP Business Technology Platform 上 Roles,Roles collection 和 Scopes 的关联关系
  4. 点击了SAP CRM HANA report超链接,背后都发生了什么
  5. mvvm 后端_ZK实际应用:MVVM –与ZK客户端API一起使用
  6. 前端学习(544):node的全局模块
  7. mysql5.5备份数据库_mysql5.5数据库备份
  8. Navicat for mysql 远程连接 mySql数据库10061、1045错误
  9. Junit +cucumber 运行报错 initiallizationError
  10. 为什么我们要使用图嵌入?
  11. L298N——真正的玄学驱动板
  12. php导出excel出现乱码,php导出excel出现乱码怎么办
  13. arcgis图像和坐标系统一致但不重合_学习ArcGIS,这62个Arcmap常用操作技巧可能帮到您...
  14. LimeSDR实验教程(5) WiFi解调
  15. 外贸电子商务常见VISA信用卡或MasterCard等测试信用卡卡号一览
  16. peoplesoft 更新表接口程序
  17. LZW编码算法原理及实例应用
  18. 计算机c盘program,电脑c盘program files(x86)文件夹可以删除吗
  19. java Servlet 笔记
  20. JavaEE系统架构师学习路线(基础篇)

热门文章

  1. 24、将Div中的所有元素保存为图片 Html2Canvas
  2. vios 虚拟光驱 安装vioc
  3. kaggle猫狗大战数据集集(百度云)
  4. java的json解析_java中json的使用和解析
  5. ubuntu18.04下的屏幕亮度调节问题
  6. 商汤科技创业领导_从技术专家到领导者的创业之旅
  7. “天才少年” 27岁华为副总裁 百度CTO 成为阶下囚的传奇经历
  8. 李诞是怎么把吐槽变成一门生意的?
  9. php odbc informix,Informix CLI 与 ODBC
  10. 全网最详细numpy的argmin与argmax解析(一次性理解np.argmin)