5G PDU SESSION流程介绍和详解
wptr33 2024-12-12 15:22 31 浏览
引言
5G网络以数据包的形式将终端(UE)和外部网络之间发送和接收的数据进行传送,通常把这些用户的数据包叫做PDU(Packet Data Unit,其中PDU 包含是IP的、Ethernet、和非结构化三种类型,PDU session建立过程是由UE侧发起的,目的是在UE和DN之间建立一条新的PDU session,即终端和外部网络之间的数据通道
与4G网络相比,在4G EPC网络模式下,终端在attach注册的过程中会建立至少一条默认承载default bear且默认承载一直存在,而5G则不需要这样,当终端在5GC发起注册register流程时,无需建立默认承载,只有当5G UE有业务需求时,才通过主动发起PDU session请求流程建立数据通道,那如果当核心网有业务需求时,会通过下发paging消息通知终端,终端通过触发Service request流程建立数据通道。
图1表示UE和5GC SMF之间PDN session建立,以下会分别对这几个流程进行介绍
终端发起PDN Session Establishment request,建立会话请求
UE请求建立PDU会话,这条消息包含在NAS消息中的N1 SM container。PDU Session Establishment Request主要内容有:PDU Session ID、Requested PDU Session Type、Request SSC mode。AMF是不解析N1 SM container的内容的,但AMF也会获知一些在NAS中有关SM的信息,如:S-NSSAI(s)、PDU Session ID、Request Type以及DNN。详细信元介绍可参考3gpp 24501协议 table 8.3.1.1.1,以下针对关键信元进行说明。
PDU Session ID:其中“PDU Session ID”标识申请建立的PDU会话的ID,此ID对每个终端来说是唯一的,编号范围仅限此UE
PTI(Procedure transaction identity): 对于每一条session来说PTI是唯一的
PDU Session Type:5G支持三种类型的PDN session包括IP或者以太网或者非结构化三种类型。其中IP类型会话包含IPV4,IPV6和IPV4V6
SSC Mode(SSCmode1,SSCmode2和SSC mode3):5GS支持有三种不同的session and service continuity (SSC) modes;一个PDU会话的SSC模式在该PDU会话的整个生命周期内不会改变,也就是说一条PDU连接在起建立时设置为SSC mode-X,那么这条PDU会话的模式是不能修改的,直至其被去激活都是SSC mode-X
SM PDU DN Request Container : This include Authorization information to access DN,包含安全认证相关的信息
DNN:Data Network Name,类似于LTE中的APN. 代表UE想要接入的data service name
Maximum number of supported packet filters:当PDN session type为IP会话时,终端将携带这条消息,通知网络终端支持大于16 packet filters
Always-on PDU session requested:如果终端建立一条永久在线的PDU session ,将携带此信元
Table 8.3.1.1.1: PDU SESSION ESTABLISHMENT REQUEST message content
UE-requested PDU session establishment procedure accepted by the network,网络激活PDN SESSION
当网络接受终端发起的会话请求流程,将发送一条PDU SESSION Establishment accept消息发给给终端,终端收到后建立PDN session上下文。
QoS flow descriptions IE:
QoS流是PDU会话中最精细的QoS区分粒度,这就是说两个PDU会话的区别就在于它们的QoS流不一样(具体一般就是QoS流的TFT参数不同);在5G系统中一个QoS流ID(QFI)用于标识一条QoS流;一个QoS流是“GBR”还是“Non-GBR”取决于它的QoS配置;一个QoS流的QoS配置包含的QoS参数如下:
(1)每条QoS流的QoS配置都会包含的QoS参数:5QI、ARP每条Non-GBR QoS流的QoS配置可能还会包含参数:反射Qos属性(RQA)
(2)每条GBR QoS流的QoS配置还会包含参数:保证流比特率(GFBR)、最大流比特率(MFBR)
(3)每条GBR QoS流的QoS配置可能还会包含:指示控制、最大丢包率
对于IP类型或ethenet类型的PDU会话,默认QoS规则是在PDU会话中唯一的一个包过滤集可以包含允许所有UL的包过滤器的QoS规则,协议上这句话说得非常拗口,可以用类比路由表的方式去理解,就是默认QoS就可配成和默认路由一样,一个数据包所有路由都不满足时,就从默认路由走。默认QoS规则是可以配置为允许通过所有上行包,不是必须配置为允许通过所有上行包。
Session AMBR:最大允许比特率的Session AMBR(Aggregate Maximum Bitrate,聚合最大比特率)和表示一个UE的最大允许比特率的UE AMBR如何在DC时进行分配与计算
PDU address:当创建一条PDU SESSION且session type为IP类型的路由,网络侧会给终端分配一个IP地址
selected SSC mode IE:当UE发送的PDN session establishment request消息中包含 SSC mode,或者SMF配置中包含默认的SSC mode,则携带此消息信元
相关推荐
- oracle数据导入导出_oracle数据导入导出工具
-
关于oracle的数据导入导出,这个功能的使用场景,一般是换服务环境,把原先的oracle数据导入到另外一台oracle数据库,或者导出备份使用。只不过oracle的导入导出命令不好记忆,稍稍有点复杂...
- 继续学习Python中的while true/break语句
-
上次讲到if语句的用法,大家在微信公众号问了小编很多问题,那么小编在这几种解决一下,1.else和elif是子模块,不能单独使用2.一个if语句中可以包括很多个elif语句,但结尾只能有一个...
- python continue和break的区别_python中break语句和continue语句的区别
-
python中循环语句经常会使用continue和break,那么这2者的区别是?continue是跳出本次循环,进行下一次循环;break是跳出整个循环;例如:...
- 简单学Python——关键字6——break和continue
-
Python退出循环,有break语句和continue语句两种实现方式。break语句和continue语句的区别:break语句作用是终止循环。continue语句作用是跳出本轮循环,继续下一次循...
- 2-1,0基础学Python之 break退出循环、 continue继续循环 多重循
-
用for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句。比如计算1至100的整数和,我们用while来实现:sum=0x=1whileTrue...
- Python 中 break 和 continue 傻傻分不清
-
大家好啊,我是大田。...
- python中的流程控制语句:continue、break 和 return使用方法
-
Python中,continue、break和return是控制流程的关键语句,用于在循环或函数中提前退出或跳过某些操作。它们的用途和区别如下:1.continue(跳过当前循环的剩余部分,进...
- L017:continue和break - 教程文案
-
continue和break在Python中,continue和break是用于控制循环(如for和while)执行流程的关键字,它们的作用如下:1.continue:跳过当前迭代,...
- 作为前端开发者,你都经历过怎样的面试?
-
已经裸辞1个月了,最近开始投简历找工作,遇到各种各样的面试,今天分享一下。其实在职的时候也做过面试官,面试官时,感觉自己问的问题很难区分候选人的能力,最好的办法就是看看候选人的github上的代码仓库...
- 面试被问 const 是否不可变?这样回答才显功底
-
作为前端开发者,我在学习ES6特性时,总被const的"善变"搞得一头雾水——为什么用const声明的数组还能push元素?为什么基本类型赋值就会报错?直到翻遍MDN文档、对着内存图反...
- 2023金九银十必看前端面试题!2w字精品!
-
导文2023金九银十必看前端面试题!金九银十黄金期来了想要跳槽的小伙伴快来看啊CSS1.请解释CSS的盒模型是什么,并描述其组成部分。...
- 前端面试总结_前端面试题整理
-
记得当时大二的时候,看到实验室的学长学姐忙于各种春招,有些收获了大厂offer,有些还在苦苦面试,其实那时候的心里还蛮忐忑的,不知道自己大三的时候会是什么样的一个水平,所以从19年的寒假放完,大二下学...
- 由浅入深,66条JavaScript面试知识点(七)
-
作者:JakeZhang转发链接:https://juejin.im/post/5ef8377f6fb9a07e693a6061目录...
- 2024前端面试真题之—VUE篇_前端面试题vue2020及答案
-
添加图片注释,不超过140字(可选)...
- 今年最常见的前端面试题,你会做几道?
-
在面试或招聘前端开发人员时,期望、现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问...
- 一周热门
- 最近发表
-
- oracle数据导入导出_oracle数据导入导出工具
- 继续学习Python中的while true/break语句
- python continue和break的区别_python中break语句和continue语句的区别
- 简单学Python——关键字6——break和continue
- 2-1,0基础学Python之 break退出循环、 continue继续循环 多重循
- Python 中 break 和 continue 傻傻分不清
- python中的流程控制语句:continue、break 和 return使用方法
- L017:continue和break - 教程文案
- 作为前端开发者,你都经历过怎样的面试?
- 面试被问 const 是否不可变?这样回答才显功底
- 标签列表
-
- git pull (33)
- git fetch (35)
- mysql insert (35)
- mysql distinct (37)
- concat_ws (36)
- java continue (36)
- jenkins官网 (37)
- mysql 子查询 (37)
- python元组 (33)
- mybatis 分页 (35)
- vba split (37)
- redis watch (34)
- python list sort (37)
- nvarchar2 (34)
- mysql not null (36)
- hmset (35)
- python telnet (35)
- python readlines() 方法 (36)
- munmap (35)
- docker network create (35)
- redis 集合 (37)
- python sftp (37)
- setpriority (34)
- c语言 switch (34)
- git commit (34)
