《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 可分为三个部分:
无线接入网络部分
核心网络部分
归属环境部分
归属环境部分: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 上。
与 NAS 相对的,RRC 层及以下称为 AS(Access Stratum,接入层)层,处理的是空口接入事务。UE 与 eNB 连接 RRC 连接并发送 RRC 消息前需先经过小区搜索(Cell Search)、PLMN 选择、小区选择(Cell Selection)、随机接入(Radom Access)、RRC 连接建立(RRC Connection Setup)等过程:
核心网络:
对于 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。
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 有两种报文
而 GTP-C 因为不需要传送上层数据,所以只有 Signalling Message 一种报文,但种类要远多于 GTP-U。除了丰富的 Tunnel 管理消息之外,还有移动管理消息等等。
以 S11-C 接口为例,看看 GTP-C Tunnel 的建立过程:
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。
例如:上图中 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。
PGW 是否接受并执行 PDN Connection 创建请求,除了考虑 PGW 自身的配置外,还可能受控于 PCRF。PCRF 是用来控制 QoS 的网元,可以修改 EPS Bearer 的 QoS,还可以下发 PCC 策略触发 PGW 建立 Dedicated Bearer,因而 PCRF 也是实现 VoLTE 业务的必要网元(VoLTE 语音和视频分别通过 QCI=1 和 2 的 Dedicated Bearer 传送)。
黄色虚线 CP 部分,包括:
红色实线和蓝色实线为 UP 部分,包括: