目录

前文列表

4G EPS 第四代移动通信系统

4G EPS 的架构模型

LTE/EPC 协议栈



从上图可以看出,LTE/EPC 协议栈从架构的角度可以细分为两个方面:

  • E-UTRAN 空中接口协议栈
  • EPC 核心网协议栈

E-UTRAN 空中接口协议栈

E-UTRAN 空中接口协议栈主要分为三层两面

三层指

  • L1(物理层)

    • PHY(Physical Layer,物理层)
  • L2(数据链路层),又称无线网络层,实现了 LTE 的无线通信功能。
    • PDCP(Packet Data Convergence Control,分组数据汇聚控制层)
    • RLC(Radio Link Control,无线链路控制层)
    • MAC(Medium Access Control,媒体访问控制层)
  • L3(网络层),又称传输网络层,采用 IP 传输技术对用户面和控制面数据进行传输。
    • RRC(Radio Resource Control,无线资源控制层)
    • NAS(Non Access Stratum,非接入层协议)



两面指

  • 用户平面:主要包括 PHY 层、MAC 层、RLC 层、PDCP 层;
  • 控制平面:除了以上几层外,还包括 RRC 层,NAS 层。

用户平面协议

用户平面协议栈主要包括如上图所示的 4 个子层次,这些子层在网络侧均终止于 eNB 实体。

PHY:负责处理编译码、调制解调、多天线映射以及其它电信物理层功能。是最为复杂的一层,也是最考验产品的一层协议。实际设计中,涉及诸多算法也最能体现实际芯片的性能。和硬件紧密相关,需要协同工作。

MAC:负责处理 HARQ(Hybrid Automatic Repeat reQuest,混合自动重传请求)重传与上下行调度。应该说,L2 数据链路层的精华就在于此,重传和调度能做好,对于整个产品来说,速率就能体现出来。

RLC:负责分段与连接、重传处理,以及对高层数据的顺序控制。

PDCP:负责执行报头(Header)压缩,以减少无线接口必须传送的比特流量。报头压缩机制基于 ROHC(Robust Header Compression,健壮性包头压缩)、PDHP 层在控制平面对 RRC 和 NAS 层消息进行完整性校验,在用户面不进行完整性校验。以及对数据和信令的加密。

E-UTRAN 空中接口协议栈在用户面的数据流向如下图所示:用户平面的主要功能是处理业务数据。在发送端,将高层的业务 IP 数据流,通过头压缩(PDCP)、加密(PDCP)、分段(RLC)、复用(MAC)、调度等过程变成物理层(PHY)可处理的传输块。在接受端,将物理层接收到的无线数据流,按调度要求,复用(MAC)、级联(RLC)、解密(PDCP)、解压缩(PDCP),成为高层应用可识别的 IP 数据流。

PHY 层

PHY(Physical Layer):物理层。负责处理编译码、调制解调、多天线映射以及其他电信物理层功能。物理层以及传输信道的方式为 MAC 层提供服务。

包括以下功能

  • 传输信道的错误检测并向高层提供指示。
  • 传输信道的前向纠错与译码。
  • 混合自动重传请求软合并。
  • 传输信道与物理信道之间的速率匹配及映射。
  • 物理信道功率加权。
  • 物理信道的调制与解调。
  • 时间及频率同步。
  • 射频特性测量并向高层提供指示。
  • MIMO 天线处理。
  • 传输分级。
  • 波束赋形。
  • 射频处理。

MAC 层

MAC(Medio Access Control):媒体接入控制。

主要功能

  • 逻辑信道(logical channel)与传输信道(transport channel)之间的映射;
  • 复用过程,即将 RLC 层的协议数据单元 PDU(Protocol Data Unit)复用到传输块 TB(transport block)中,然后通过传输信道传输到物理层。相反的过程即为解复用过程;
  • 业务量测量报告;
  • 通过 HARQ 纠错;
  • 对单个 UE 的逻辑信道优先级处理;
  • 多个 UE 间的优先级处理(动态调度);
  • 传输格式选择;
  • 填充。

RLC 层

RLC(Radio Link Control):无线链路控制。

主要功能

  • 上层协议数据单元 PDU 的传输支持确认模式 AM(Acknowledge Mode)和非确认模式 UM(Un-acknowledge Mode);
  • 数据传输支持透传模式 TM(Transparent Mode);
  • 通过 ARQ 纠错(无需 CRC 校验,由物理层提供 CRC 校验);
  • 对传输块进行分段(segmentation)处理,仅当 RLC SDU 不完全符合 TB 大小时,将 SDU(Service Data Unit)分段到可变大小的 RLC PDU 中,而不用进行填充;
  • 对重传的 PDU 进行重分段 Re-segmentation 处理:仅当需要重传的 PDU 不完全符合用于重传的新 TB 大小时,对 RLC PDU 进行重分段处理;
  • 多个 SDU 的串接(Concatenation);
  • 顺序传递上层 PDU(除切换外);
  • 协议流程错误侦测和恢复;
  • 副本侦测;
  • SDU 丢弃;
  • 复位;

RLC 提出了三种模式

  1. 透明模式(Transparent Mode,TM):不添加 RLC 头,可以分段/级联。
  2. 非确认模式(Unacknowledged Mode,UM):必须添加 RLC 头,两种传送数据方式:1. 检测且将没有出错的数据传递到高层;2. 立即传递到高层。
  3. 确认模式(Acknowledged Mode,AM):必须添加 RLC 头,无错传递(通过重发机制保证),顺序传递或无序传递(仅用于上行切换),唯一传递(相同检测功能)。

PDCP 层

PDCP(Packet Data Convergence Protocol):分组数据汇聚协议。

用户平面的功能

  • 头压缩/解压缩:ROHC(Robust Header Compression);
  • 用户数据传输:接收来自上层 NAS 层的 PDCP SDU,然后传递到 RLC 层,反之亦然;
  • RLC 确认模式 AM 下,在切换时将上层 PDU 顺序传递;
  • RLC 确认模式 AM 下,在切换时下层 SDU 的副本侦测;
  • RLC 确认模式 AM 下,在切换时将 PDCP SDU 重传;
  • 加密;
  • 基于计时器的上行 SDU 丢弃。

控制平面的功能

  • 加密及完整性保护;
  • 控制数据传输:接收来自上层 RRC 层的 PDCP SDU,然后传递到 RLC 层,反之亦然。

控制平面协议



需要注意的是,控制平面协议除了包含上述的 4 个用户平面协议子层之外,还包含了 RRC 和 NAS 这两个处于 L3 网络层中的子层。NAS(非接入层协议)子层以下,我们称为 AS(接入层协议)层。

MAC:与用户面中的功能一致。

RLC:与用户面中的功能一致。

PDCH:完成加密与完整性保护。

RRC:终止于 eNB。主要负责广播 NAS 层和 AS 层的系统消息、寻呼功能、RRC 连接管理、端到端 Radio Bearer 连接的控制、移动性管理、UE 测量上报与控制、小区切换、UE 小区选择和重选等功能。

NAS:终止于 MME。主要实现 EPS Bearer 的管理、鉴权、空闲状态下的移动性处理、寻呼消息以及安全控制等功能。NAS 对于 eNB 是透明的,所有 NAS 消息,对于 eNB 而言都是透传。

E-UTRAN 空中接口协议栈在控制平面的数据流向如下图绿线所示:在控制平面 UE 和 MME 是通过 NAS 层来进行交互的,此前还需要 RRC 子层来完成 UE 接入资源的分配。

UE 和 eNB 之间的控制信令主要是 RRC 消息。RRC 就相当于 eNB 内的司令部,RRC 消息携带了建立、修改和解析 L1、L2 协议所需的全部参数。所以,UE 和 eNB 在承载业务前,先要建立 RRC 连接。另外,RRC 还要给 UE 透明传达来自核心网的指示,即 NAS 信令。

RRC 层

详见《4G EPS 中建立 UE 与 eNB 之间的 RRC 连接》。

NAS 层

详见《建立 NAS(非接入服务)信令连接》。

EPC 核心网协议栈

用户平面协议

在 EPC 核心网协议栈中的用户面,提供了 基于 UDP/IP 的不可靠连接来传输业务数据。S1-U、X2、S5 接口的传输网络层都是基于 UDP/IP 的,而 UDP/IP 之上的 GTP-U 封装则作为用户平面传输的 PDU(分组数据单元)。

GTP-U 协议

详见《EPS UP 中的 GTP-U》。

控制平面协议



控制平面为信令传输提供了基于 SCTP(流控传输协议)/IP 的可靠连接。S1-AP 和 X2-AP 分别是 S1 接口和 X2 接口的应用层信令协议。

SCTP 协议

SCTP(Stream Control Transmission Protocol,流控制传输协议)是一种可靠的传输协议,它在两个端点之间提供稳定、有序的数据传递服务(类似于 TCP),并且可以保护数据消息边界(类似于 UDP)。SCTP 的设计是为了解决 TCP/IP 网络在传输实时信令和数据时所面临的不可靠传输、时延等问题

然而,与 TCP/UDP 不同,SCTP 是通过多宿主(Multi-homing)和多流(Multi-streaming)的功能来提供这些收益的,这两种功能均可提高可用性 。SCTP 提供如下服务:

  • 确认用户数据的无错误和无复制传输;
  • 数据分段以符合发现路径最大传输单元的大小;
  • 在多数据流中用户信息的有序发送,带有一个选项,用户信息可以按到达顺序发送;
  • 选择性的将多个用户信息绑定到单个 SCTP 包;
  • 通过关联的一个终端或两个终端多重宿主支持来为网络故障规定容度。

GTP-C 协议

详见《EPS CP 中的 GTP-C》。

S1-AP 协议

S1AP 协议位于 eNB 和 MME 之间,建立两者之间的承载,包括建立,修改,释放。E-UTRAN 和 EPC 打交道,都要经过这套协议。S1AP 是 S1-C 连接建立的时候用来传输信令的协议,该协议负责 S1 接口的管理,E-RAB 的管理,还有 NAS 信令的传输,以及 UE Context 的管理。

详见《4G EPS 中建立 eNB 与 MME 之间的 S1 连接》。

X2-AP 协议

X2AP 协议是连接 eNB 之间的一套接口标准。其主要信令内容和 S1AP 非常类似。两个 eNB 互相协同的工作主要是一些移动性管理,此类操作就不用再去打扰上级 EPC 了。​X2AP 协议支持 E-UTRAN 中的 UE 移动性管理和 SON 功能。比如:通过 X2AP 的数据转发(在 X2 Handover 的时候的数据转发),SN status 的转发(Handover 时),或者是 eNB 之间的资源状态消息交换等。

Diameter 协议

EPS 中的 MME、HSS、PGW、PCRF 和 DRA 都应用了 Diameter 协议,称为 Diameter Node。Diameter Node 具有三种角色:

  • Client:支持客户端应用
  • Server:支持服务端应用,即提供 AAA 服务
  • Agent:Diameter消息的中继(Relay)、代理(Proxy)、重定向(Redirect)和翻译(TranslateService)

显然,MME 和 PGW 的角色是 Client,HSS 和 PCRF 的角色是 Server,而 DRA 的角色是 Agent(Diameter 消息需通过 DRA(Diameter Routing Agent)转发。DRA 路由方式十分灵活,输入条件可以是 IMSI、Host 或 Realm 等。DRA 通常部署在省会(或中心地市),与全省 EPC 节点连接)。

Diameter 采用 Peer to Peer 传输模式,如果两个 Diameter Node 之间有 TCP 连接或 SCTP 偶联,则称为 Diameter Peers。Peers 之间的传输层连接称为 Connection,因而 MME、HSS、PGW 和 PCRF 之间的连接均称为 Connection,这是一个传输层的概念。而在应用层,Client 和 Server 之间的逻辑连接称为 Session,通过 Session ID 进行标识,比如,VoLTE 用户在建立 IMS PDN Connection 时,PGW 会向 VoLTE PCRF 请求建立 Gx 会话,不同用户的 Gx Session ID 不能重复。Session 和 Connection 没有固定关联,多个 Session 的 Diameter 消息可以在同一个 Connection 上发送。可见,Diameter 协议在跨厂商网元之间建立 Session 的可行性

4G EPS 的网络协议栈的更多相关文章

  1. 理解 Linux 网络栈(1):Linux 网络协议栈简单总结

    本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + Vx ...

  2. 转:Android 判断用户2G/3G/4G移动数据网络

    Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以 ...

  3. Android 判断用户2G/3G/4G移动数据网络

    Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以 ...

  4. TCP/IP网络协议栈(转载)

    原文:http://www.cnblogs.com/xuanku/p/tcpip.html TCP/IP网络协议栈分为四层, 从下至上依次是: 链路层 其实在链路层下面还有物理层, 指的是电信号的传输 ...

  5. 不错的网络协议栈测试工具 — Packetdrill

    Packetdrill - A network stack testing tool developed by Google. 项目:https://code.google.com/p/packetd ...

  6. 【RL-TCPnet网络教程】第2章 嵌入式网络协议栈基础知识

    第2章        嵌入式网络协议栈基础知识 本章教程为大家介绍嵌入式网络协议栈基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议. 基础知识整理自百度百科,wiki百科等 ...

  7. 【RL-TCPnet网络教程】第1章 当前主流的小型嵌入式网络协议栈

    第1章   当前主流的小型嵌入式网络协议栈 这几年物联网发展迅猛,各种新产品.新技术也是层出不穷,本章节就为大家介绍当前主流的小型嵌入式网络协议栈. 1.1  当前主流的嵌入式网络协议栈 1.2  u ...

  8. 【安富莱】【RL-TCPnet网络教程】第10章 RL-TCPnet网络协议栈移植(FreeRTOS)

    第10章     RL-TCPnet网络协议栈移植(FreeRTOS) 本章教程为大家讲解RL-TCPnet网络协议栈的FreeRTOS操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移植就 ...

  9. 【RL-TCPnet网络教程】第9章 RL-TCPnet网络协议栈移植(uCOS-III)

    第9章        RL-TCPnet网络协议栈移植(uCOS-III) 本章教程为大家讲解RL-TCPnet网络协议栈的uCOS-III操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移 ...

  10. 【安富莱】【RL-TCPnet网络教程】第8章 RL-TCPnet网络协议栈移植(RTX)

    第8章        RL-TCPnet网络协议栈移植(RTX) 本章教程为大家讲解RL-TCPnet网络协议栈的RTX操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移植就比较容易了,主要 ...

随机推荐

  1. #树状数组#洛谷 3531 [POI2012] LIT-Letters

    题目 给出两个长度相同且由大写英文字母组成的字符串\(A\).\(B\),保证\(A\)和\(B\)中每种字母出现的次数相同. 现在每次可以交换\(A\)中相邻两个字符,求最少需要交换多少次可以使得\ ...

  2. keycloak~网站对接到Keycloak的步骤

    新网站对接到KC的部署 kc的环境 向kc申请自己的客户端 kc的登录接口 通过code换token接口 刷新token接口 kc的用户信息接口 kc的jwt token说明 1. kc的环境 测试环 ...

  3. HarmonyOS系统级推送服务,打造消息通知新体验

    8月4日,第五届华为开发者大会 2023(HDC.Together)再次启航.在本次大会上,华为为广大用户带来了HarmonyOS 4全新升级的体验,同时,针对HarmonyOS应用的开发,此次也全面 ...

  4. MogDB/openGauss关于PL/SQL匿名块调用测试

    MogDB/openGauss 关于 PL/SQL 匿名块调用测试 一.原理介绍 PL/SQL(Procedure Language/Structure Query Language)是标准 SQL ...

  5. 通过 API 快速创建 AlertManager silence

    概述 通常我们要 silence 某个 AlertManager 的 alert 时,需要通过 UI 界面操作,如下图: 效率有点低,而且不够自动化,那么是否可以有一种办法快速创建 AlertMana ...

  6. 【直播预告】HarmonyOS极客松赋能直播第二期:数据库与网络连接开发

  7. 直播预告丨 Hello HarmonyOS 进阶课程第五课——原子化服务

    本周三<Hello HarmonyOS 系列应用篇:原子化服务>,HDE 李洋老师将带领大家了解 HarmonyOS 原子化服务的技术特性与创新性,对智能家居.智慧出行.运动健康.智慧办公 ...

  8. HarmonyOS 3.1版本发布,全面进入声明式开发

    原文:https://mp.weixin.qq.com/s/kyyYCjrl6E8MBxKpBSKNWg,点击链接查看更多技术内容.   开发者的脚步永不停歇,2022年我们发布了HarmonyOS ...

  9. sql 语句系列(多表之链二)[八百章之第四章]

    从多个表中返回缺失值 比如说查询每个员工的部门,且查看部门的所有员工. 这里考虑一种情况就是可能有部门没有员工,同样有些员工还没有分配部门. 解析使用 full outer join. select ...

  10. 站点js屏蔽他人广告

    前言 以前自己建设博客的时候,出现一个问题,那就是动不动弹出广告,不晓得这个是怎么查到我的站点的,但是加入了屏蔽js,就没遇到了,在此分享. 正文 防止动态加载script脚本 (function ( ...