一、PDU

关于PDU在百度百科是这样定义的:协议数据单元PDU(Protocol Data Unit)是指对等层次之间传递的数据单位。 协议数据单元(Protocol Data Unit )物理层的 PDU是数据位(bit),数据链路层的 PDU是数据帧(frame),网络层的PDU是数据包(packet),传输层的 PDU是数据段(segment),其他更高层次的PDU是报文(message)。说白了,pdu就是某协议发送数据的基本单位,各协议有各自的格式。实际使用中其实很多人其实不太分这么细,统一称作数据包。

百度百科的这个定义是针对TCP/IP的网络模型定义的,实际上可以适用到所有分层网络模型。

PDU是Protocol Data Unit的简写,中文翻译为协议数据单元,是分层网络结构中对等层次之间传递的数据单位。它具有如下特征:

  • 在分层网络结构的消息传输系统的每一层都将建立协议数据单元(PDU),每层都有自己的PDU
  • 下层PDU的由来自上层的PDU信息和下层本身的封包信息组成
  • 在发端处理时,数据由上层往下层传递,除了最上层每经过一层都要在上层包信息的基础上加上本层的封包信息
  • 在收端处理时,这个过程是逆向的,即收端收到的报文会逐层向上传递,每传递一层就识别该层的封包信息,并将去掉本层封包信息的包向上层传递。

这种双端网络消息传送的每层的PDU是对等的,因此可以理解为协议数据单元PDU就是分层网络结构中对等层次之间传递的数据单位。在《老猿学5G扫盲贴:N6接口用户平面协议栈对应的网络分层模型》中介绍了N6接口用户平面协议栈的网络分层模型。在这个分层模型中,各层数据的传递同样是PDU。

二、PDU连接业务和PDU会话

在5G网络中,PDU连接业务就是用户设备UE和数据网络DN之间交换PDU数据包的业务,PDU连接业务通过UE或应用服务器AF发起PDU会话的建立来实现。一个PDU会话是指一个用户终端UE与数据网络DN之间进行通讯的过程,PDU会话建立后,也就是建立了一条UE和DN的数据传输通道。PDU会话的类似于2/3G的PDP上下文、4G的承载上下文。

PDU会话信息包括号码、IMSI、IMEI、PDU会话ID、会话类型(IPv4、IPv6、IPv4v6、Ethenet、Unstructured)、 上下行速率、计费ID、漫游状态信息、UE的IP信息、PCF信息、Qos信息、隧道信息、目的地地址、SMF标识、切片信息(如果支持)、默认DRB信息、数据网名、AMF信息、用户位置信息、会话管理信息、UPF ID、在线计费标识、离线计费标识等相关信息。

  • PDU会话的服务SMF信息会登记在UDM中
  • UE可以建立多条PDU会话连接,每条PDU会话对应的SMF可以不同
  • UE可以建立多条连接到同一个DN的PDU会话连接,且通过不同的UPF连接到DN上
  • PDU session可同时有多个N6接口,连接每个N6接口的UPF称为PDU会话锚点,每个PDU会话锚点提供了一条到同一个DN的不同路径。
  • 网络切片的粒度是以PDU SESSION为单位,UE可以建立多个PDU SESSION,而每一个PDU SESSION在RAN测可以由多个数据无需承载(DRB)组成

从PDU会话信息可以看到,PDU会话保存有用户面的数据路由、Qos、计费、切片、速率等可能与计费相关的重要信息。

最后要感谢同事专家李先生提供的详细PDU会话信息。

跟老猿学Python、学5G!

老猿学5G扫盲贴:PDU协议数据单元、PDU连接业务和PDU会话的功能详解的更多相关文章

  1. 老猿学5G扫盲贴:NEF、NRF、AF、UPF以及DN的功能

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 NEF:Network Exposure Function ,网络开放 ...

  2. 老猿学5G扫盲贴:3GPP规范中与计费相关的主要规范文档列表及下载链接

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 在<老猿学5G扫盲贴:3GPP规范中部分与计 ...

  3. 老猿学5G扫盲贴:中国移动网络侧CHF的功能分解说明

    ☞ ░ 老猿Python博文目录░ 一.引言 在<老猿学5G扫盲贴:中国移动网络侧CHF主要功能及计费处理的主要过程>介绍了中国移动CHF的总体功能,同时说明了CHF网元主要由AGF.CD ...

  4. 老猿学5G扫盲贴:中国移动网络侧CHF主要功能及计费处理的主要过程

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...

  5. 老猿学5G扫盲贴:中移动的5G计费架构中Nchf'服务化接口以及CHF中的AGF

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.关于Nchf' 在中移动企标中出现了在3GPP ...

  6. 老猿学5G扫盲贴:中国移动的5G计费架构解读

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.引言 在<老猿学5G扫盲贴:3GPP中的 ...

  7. 老猿学5G扫盲贴:推荐三篇介绍HTTP2协议相关的文章

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 5G中的服务化接口调用都是基于HTTP2协议的,老 ...

  8. 老猿学5G扫盲贴:3GPP中的5G计费架构

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.计费逻辑架构和信息流 在32240子系列文档内 ...

  9. 老猿学5G扫盲贴:中国移动5G融合计费漫游计费架构和路由方案

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...

随机推荐

  1. 手写Koa.js源码

    用Node.js写一个web服务器,我前面已经写过两篇文章了: 第一篇是不使用任何框架也能搭建一个web服务器,主要是熟悉Node.js原生API的使用:使用Node.js原生API写一个web服务器 ...

  2. 跟我一起学.NetCore之EF Core 实战入门,一看就会

    前言 还记得当初学习数据库操作时,用ADO.NET一步一步地进行数据操作及查询,对于查询到的数据还得对其进行解析,然后封装返回给应用层:遇到这种重复而繁琐的工作,总有一些大神或团队对其进行封装,从而出 ...

  3. 全排列算法--递归实现(Java)

    求一个n阶行列式,一个比较简单的方法就是使用全排列的方法,那么简述以下全排列算法的递归实现. 首先举一个简单的例子说明算法的原理,既然是递归,首先说明一下出口条件.以[1, 2]为例 首先展示一下主要 ...

  4. apache+php安装

    https://codebriefly.com/how-to-setup-apache-php-mysql-on-windows-10/ 出问题的地方 1.apache rewrite 模块开启 (去 ...

  5. Spring Security 实战干货:OAuth2授权请求是如何构建并执行的

    在Spring Security 实战干货:客户端OAuth2授权请求的入口中我们找到了拦截OAuth2授权请求入口/oauth2/authorization的过滤器OAuth2Authorizati ...

  6. 论文阅读:Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs(2019 ACL)

    基于Attention的知识图谱关系预测 论文地址 Abstract 关于知识库完成的研究(也称为关系预测)的任务越来越受关注.多项最新研究表明,基于卷积神经网络(CNN)的模型会生成更丰富,更具表达 ...

  7. 认识Javascript中的作用域和作用域链

    作用域 只要写过java或者c#等语言的同学来说,相信一定能理解作用域的概念,在作用域的范围中,我们可以使用这个作用域的变量,对这个变量进行各种操作.可是,当使用Javascript的时候,相信很多的 ...

  8. 内核搞笑的bug不少

  9. 模拟鼠标操作(ActionChains)(转 侵删)

    在日常的测试中,经常会遇到需要鼠标去操作的一些事情,比如说悬浮菜单.拖动验证码等,这一节我们来学习如何使用webdriver模拟鼠标的操作 首页模拟鼠标的操作要首先引入ActionChains的包 f ...

  10. MTK官方SDK包编译openwrt

    全过程需要联网,最好有梯子,编译方式有两种 安装依赖库: apt-get install g++ apt-get install libncurses5-dev apt-get install zli ...