4G EPS 中的 Control Plane

摘要:
MME通过NAS消息接收并响应UE请求。从上图中可以看出,E-UTRAN空中接口协议栈的控制平面协议部分,UE和MME没有直接连接,NAS消息通过eNB转发,eNB没有NAS协议实体,因此eNB不会处理NAS消息。通过RRC消息在UE和eNB之间携带NAS消息。这种“搭便车”消息发送方法被称为Piggyback。有关详细信息,请参阅4GEPS中UE和eNB之间的RRC连接。
目录

文章目录

前文列表

4G EPS 第四代移动通信系统
4G EPS 的架构模型
4G EPS 的网络协议栈
4G EPS 的接口类型
4G EPS 中的 Bearer
4G EPS 中的 User Plane

控制平面

在前文中我们提到,用户平面是传输业务数据(e.g. DNS Request、HTTP Request)的平面,简称 UP;而传送信令数据(e.g. E-RAB Setup Request、Create Bearer Request)的平面称为控制平面(Control Plane),简称 CP

需要注意的是,对于某个特定用户而言,两者的本质都是一种逻辑数据通道。区别在于:在 UP 上,UE 关注的是端到端的 PDN Connection,以完成 UE 与 PDN 之间的数据传输,UE 也可以拥有多个不同的 PDN Connection。显然,UP 通道的创建(Add、Create、Activate 、Initialize、Establish)、修改(Modify、Update)和释放(Delete、Release、Deactivate)都依赖于 CP 的支撑,通过一系列信令流程(Signalling Procedure)来完成,例如 SGW、PGW 等 UP 通道路径节点的选择;而在 CP 上,UE 关注的是 “连接” 和 “移动”,即:ESM 和 EMM。CP 通道的创建是通过类似 “握手” 的过程来完成的,即网元之间的点到点连接。

以 MME 为中心,CP 可分为三个部分

  • 无线接入网络部分

    • UE <=> (Uu) <=> eNB <=> (S1-C) <=> MME
  • 核心网络部分

    • MME <=> (S11-C) <=> SGW <=> (S5-C) <=> PGW
    • PGW <=> (Gx) <=> PCRF
    • MME <=> DNS
  • 归属环境部分

    • MME <=> (S6a) <=> HSS
归属环境部分

归属环境部分:MME => (S6a) => HSS

从归属环境部分的路径节点不难看出,其主要讨论的是 UE 的身份认证和签约数据的问题。MME 和 HSS 之间的接口称为 S6a 接口,顶层协议为 Diameter,关于 Diameter 介绍请浏览《EPS 中的 Diameter》。

在这里插入图片描述

无线接入网络部分

无线接入网络部分:UE <=> (Uu) <=> eNB <=> (S1-C) <=> MME

从上述路径节点可以看出,CP 的无线接入网络部分处理的是 UE 和 MME 之间的端到端通信事务,即 NAS(Non-Access Stratum,非接入层)层。MME 通过 NAS 消息来接收和响应 UE 的请求。例如:UE ATTACH REQUEST(UE 附着请求)、UE SERVICE REQUEST(UE 业务请求)和 PDN CONNECTIVITY REQUEST(PDN Connection 创建请求)都是 NAS 消息。如下图所示。

NOTE:UE 请求创建第一个 PDN Connection 时,PDN CONNECTIVITY REQUEST 被包含在 ATTACH REQUEST 中一同发送至 MME。但实际上 MME 并不关注 PDN CONNECTIVITY REQUEST 是单独发送的还是包含在 ATTACH REQUEST 中一同发送,都以相同方式来创建 PDN Connection,区别在于建立第一个 PDN Connection 的时候 MME 已经为 UE 选定了某个 SGW 作为本地移动锚点。那么,同一个 UE 后续新建的 PDN Connection 都会使用同一个 SGW。在前文中也提到过:UE 如果具有多个不同 APN 的 PDN Connection 时,PGW 可能不同,但 SGW 必定相同。而当 SGW 切换时,所有 PGW 都会连接到新的 SGW 上。

  • E-UTRAN 空中接口协议栈中的控制平面协议部分
    在这里插入图片描述
    从上图可知,UE 与 MME 不直接相连,NAS 消息经过 eNB 的转发,而且 eNB 没有 NAS 协议实体,所以 eNB 不会对 NAS 消息进行处理,NAS 消息在 UE 和 eNB 之间通过 RRC(Radio Resource Control,无线资源控制层)消息携带,这种 “搭车” 的消息发送方式称为 Piggyback

与 NAS 相对的,RRC 层及以下称为 AS(Access Stratum,接入层)层,处理的是空口接入事务。UE 与 eNB 连接 RRC 连接并发送 RRC 消息前需先经过小区搜索(Cell Search)、PLMN 选择、小区选择(Cell Selection)、随机接入(Radom Access)、RRC 连接建立(RRC Connection Setup)等过程

  1. 小区搜索:UE 开机后的第一件事情就是完成小区搜索,即完成与 eNB 的牵手。详见《4G EPS 中的小区搜索》。
  2. PLMN 选择:完成小区搜索、读取到了 SIB1 之后,就可以进行 PLMN 选择了,UE 选择一个 PLMN 进行驻留。详见《4G EPS 中的 PLMN 选择》。
  3. 小区选择:同样,在完成小区搜索、读取到了 SIB1 之后,就可以进行小区选择了。UE 从 SIB1 中得到参数,然后根据算法计算最佳小区,并且驻留。详见《4G EPS 中的小区选择》。
  4. 随机接入:当 UE 选择了驻留小区之后,必然要接入到蜂窝网络,完成用户信息的初步注册。由于 UE 的随机性、无线环境的复杂性决定了这种接入的发起以及采用的资源也具有随机性,故称之为随机接入。在完成随机接入之后 UE 才能进行上行传输。详见《4G EPS 中的随机接入》。
  5. 建立 UE 与 eNB 之间的 RRC 连接:RRC 连接作为上层 NAS 消息的载体。详见《4G EPS 中建立 UE 与 eNB 之间的 RRC 连接》。
  6. 建立 eNB 与 MME 之间的 S1 连接:S1 连接是 eNB 和 MME 之间发送 S1AP 消息的前提,S1AP 消息作为在 eNB 和 MME 之间传输 NAS 消息的载体。详见《4G EPS 中建立 eNB 与 MME 之间的 S1 连接》。
  7. 在完成了以上的准备之后,就可以建立 UE 和 MME 之间的 NAS(非接入服务)信令连接了,作为 UE 和 MME 之间的信令传输层。详见《4G EPS 中建立 UE 和 MME 之间的 NAS(非接入服务)信令连接》。
核心网络

核心网络

  • MME <=> (S11-C) <=> SGW <=> (S5-C) <=> PGW
  • PGW <=> (Gx) <=> PCRF
  • MME <=> DNS

对于 CP 的核心网络部分我们主要关注 MME 和 PGW 之间的信令交互,以创建 PDN Connection 为例:在 CP 核心网络部分的逻辑设计中,PDN Connection 被定义为一个 SESSION。所以 PDN Connection 建立时,MME 向 PGW 发送的是 CREATE SESSION REQUEST,PGW 返回响应结果(e.g. PDN Type、PDN Address 和 QoS);PDN Connection 建立后,PGW 向 MME 发送的是 CREATE BEARER REQUEST,表示建立 EPS Bearer。

需要注意的是,MME 和 PGW 之间并不直连,两者的通信需要经过 SGW 的转发,MME 和 SGW 之间的控制面接口称为 S11-C,SGW 和 PGW 之间的控制面接口称为 S5-C。当组网存在多个 SGW 和 PGW 时,MME 会先查询 Local DNS,根据查询结果来选择到 SGW 和 PGW,并且 MME 应将选中 PGW 的 F-TEID(S5 PGW GTP-C F-TEID)告知 SGW,继而建立 SGW 和 PGW 之间的 GTPv2-C 隧道。MME 先向 SGW 发送 CREATE SESSION REQUEST,SGW 再向 PGW 发送 CREATE SESSION REQUEST。SGW 和 PGW 之间通过 IMSI + EBI(默认承载)组合来确定 UE 对应的 PDN Connection。

在这里插入图片描述

EPS CP 中的 GTP-C

CP 中的 GTP-C 和 UP 中的 GTP-U 非常相似,GTP(UDP/IP)Path、GTP Tunnel 和 TEID 等概念一致。为了在 S5 接口上进行区分,SGW 和 PGW 之间的在 GTP-C 和 GTP-U 通常会使用不同的 IP/Port,GTP-C 的监听端口为 UDP 2123,而 GTP-U 的监听端口为 UDP 2152

与 UP 同理,在 CP 的 S11-C 和 S5-C 接口同样为不同的 UE 服务,MME、SGW、PGW 需要在与不同 UE 关联的 GTP-C Tunnel 上传送信令,并以 GTP-C TEID 进行识别。值得注意的是,针对同一个 UE,无论其具有多少个 PDN Connection 或 EPS Bearer,S11-C 和 S5-C 接口上都只有一个 GTP-C Tunnel,即 UE 和 GTP-C Tunnel 是一对一的关系,GTP-C Tunnel 只会在建立第一个 PDN Connection 的同时创建,一个 GTP-C Tunnel 上发送的消息可以管理多个不同的 PDN Connection。这一点与 UP 不同,UP 上的默认承载和专用承载都有各自的 GTP-U Tunnel(S1-U 和 S5-U 接口)

NOTE:GTP-U 有两种报文

  1. 用于传送上层数据 T-PDU,以及由 GTP-U Header 和 T-PDU 构成 G-PDU;
  2. 用于 GTP Path 管理(e.g. ECHO REQUEST、ECHORESPONSE)或 GTP-U Tunnel 管理(e.g. ERROR INDICATION 和 ENDMARKER),即 Signalling Message(信令消息)。

而 GTP-C 因为不需要传送上层数据,所以只有 Signalling Message 一种报文,但种类要远多于 GTP-U。除了丰富的 Tunnel 管理消息之外,还有移动管理消息等等。

以 S11-C 接口为例,看看 GTP-C Tunnel 的建立过程

  1. MME 先分配 S11 MME GTP-C TEID(0x39f5e33c),并向 SGW 发送 CREATE SESSION REQUEST,同时也会携带着 MME 侧的 F-TEID。因为此时 SGW 尚未分配 TEID,所以报文头部 TEID 字段为全零(0x00000000);
  2. SGW 分配 S11 SGW GTP-C TEID(0xa7009160),向 MME 发送 CREATE SESSION RESPONSE,并携带着 SGW 侧的 F-TEID,报文头部 TEID 为 S11 MME GTP-C TEID(0x39f5e33c);
  3. MME 再次向 SGW 发送 MODIFY BEARER REQUEST,此时 MME 已经知道 SGW 的 F-TEID,报文头部 TEID 为 S11 SGW GTP-C TEID(0xa7009160)。

在这里插入图片描述

NOTE:在 S11 接口建立 GTP-C Tunnel 之处,SGW 在接收 CREATE SESSION REQUEST 之前是没有 UE Context(内含 TEID)的,因而 TEID 是 0x00000000 也没关系,SGW 此时不会去匹配 UE Context。在 SGW 分配了自身的 TEID 并响应给 MME 后,SGW 才会根据 CREATE SESSION REQUEST(创建第二个以及上 PDN Connection)报文头部的 TEID 查找匹配的 UE Context。至于 MME,从 SGW 返回 CREATE SESSION RESPONSE 报文头部的 TEID 即可识别出对应的 UE。

UP 中的 GTP-U Tunnel 两端的 F-TEID 需要通过 CP 的信令流程来进行交换

在这里插入图片描述
例如:上图中 SGW 和 PGW 之间 GTP-U Tunnel 的 F-TEID 分别为蓝点和黄点,SGW 发送 G-PDU 的 F-TEID 为黄点,PGW 发送 G-PDU 的 F-TEID 为蓝点。在此之前,SGW 和 PGW 会通过 GTP-C 消息来交换 GTP-U 的 F-TEID,SGW 发送 GTP-C 消息的 F-TEID 为红点,携带 UP 的 F-TEID 为蓝点,PGW 发送 GTP-C 消息的 F-TEID 为绿点,携带 UP 的 F-TEID 为黄点。

再以 Dedicated Bearer 的建立为例:PGW 向 SGW 发送 CREATE BEARER REQUEST,消息头部的 F-TEID 为 S5 SGW GTP-C TEID,消息包含 S5 PGW GTP-U TEID;SGW 向 PGW 响应 CREATE BEARER RESPONSE,消息头部的 F-TEID 为 S5 PGW GTP-C TEID,消息包含 S5 SGW GTP-U TEID。简而言之,GTP-C 消息头部的 F-TEID 为 GTP-C 对端的 TEID,并且在消息中包含了本端的 GTP-U TEID

在这里插入图片描述

PCRF 影响 PDN Connection 的创建

PGW 是否接受并执行 PDN Connection 创建请求,除了考虑 PGW 自身的配置外,还可能受控于 PCRF。PCRF 是用来控制 QoS 的网元,可以修改 EPS Bearer 的 QoS,还可以下发 PCC 策略触发 PGW 建立 Dedicated Bearer,因而 PCRF 也是实现 VoLTE 业务的必要网元(VoLTE 语音和视频分别通过 QCI=1 和 2 的 Dedicated Bearer 传送)。

概览 CP/UP 的全貌

黄色虚线 CP 部分,包括

  • Uu 接口的 RRC 连接
  • S1-C 接口的 S1 连接
  • S11-C 和 S5-C 接口的 GTP-C Tunnel

红色实线和蓝色实线为 UP 部分,包括

  • Uu 接口的 DRB
  • S1-U 接口的 S1 Bearer(GTP-U Tunnel)
  • S5-U 接口的 S5 Bearer(GTP-U Tunnel)
    在这里插入图片描述

免责声明:文章转载自《4G EPS 中的 Control Plane》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇疑似Windows server自动更新引发的sqlserver宕机babel的可选链,空值合并等常用插件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue2.0项目中使用Ueditor富文本编辑器示例

最近在vue项目中需要使用富文本编辑器,于是将Ueditor集成进来,作为公共组件。在线预览:https://suweiteng.github.io/vue2-management-platform/#/editor项目地址:https://github.com/suweiteng/vue2-management-platform 记得在右上角点个赞哦~...

vue中使用ueditor富文本编辑框

1.把下载的Ueditor资源,放入静态资源static中。 修改ueditor.config.js中的window.UEDITOR_HOME_URL配置,如下图: 2.在main.js中引入以下文件: import '../static/UE/ueditor.config.js'import '../static/UE/ueditor.all.min...

ueditor使用本地保存,自动恢复上次编辑的内容

ueditor默认开启了自动保存至本地的功能,但是依然需要在初始化的时候额外添加代码该功能才会生效。 代码如下 var ue = UE.getEditor('container');setTimeout(function() { ue.execCommand('drafts');...

全志A33驱动GT911触摸屏

0x00 环境说明:所使用的开发板为锐尔威视的插针版A33_Vstar 触摸屏驱动IC为GT911 接线参照开发板的TP线路 0x01 修改系统配置文件:笔者所使用的A33开发板的系统配置文件路径为: /root/a33_linux/dragonboard/tools/pack/chips/sun8iw5p1/configs/vstar/sys_confi...

[转]玩转UltraEdit,UE常见快捷键操作

编辑器Ultraedit快捷键说到编辑器的快捷键,VIM是无与伦比的。要反对,也得是带脚踏板的EmaCS。UE还是有差距的,很大差距。注意:VIM是开源、免费的,而UE则需要注册。UE是Windows下最好的编辑器——如果没有GVIM和Emacs的话。而VIM和Emacs则是任何操作系统下最好的编辑器。198 自动换行 CTRL + W199 插入当前日...

4G LTE/EPC UE 的业务请求流程

目录 文章目录 目录 UE 发起业务请求(Service Request)流程 UE 侧发起的业务请求流程 网络侧发起的业务请求流程 UE 发起业务请求(Service Request)流程 作用:附着完成了 UE 的入网,业务请求完成了 UE 和 SGW 之间的 GTP 隧道的建立,至此 UE 才能进行业务数据的上下行。业务请求完成之后 UE...