4G EPS 中的消息类型
目录
消息
LTE 的系统消息是蜂窝网络与 UE 互相交互的与 LTE 系统相关的、特殊的信息。可分为:
- 主消息块(Master Information Block,MIB)
- 多个系统消息块(System Information Blocks,SIBs)

MIB(主消息块)
MIB 承载于信道 BCCH(广播控制信道)-> BCH(广播信道)-> PBCH(物理广播信道)之上。包括了有限个用以读取其他小区信息的最重要、最常用的传输参数(如:系统带宽、系统帧号、PHICH 配置信息)。
MIB 的时域为:40ms 的周期,以 10ms 为周期重传 4 次。

频域为:位于系统带宽中央的 72 个子载波(1.08MHz)。

SIBs(多个系统消息块)
SIBs 承载在信道 BCCH(广播控制信道)-> DL-SCH(下行共享信道)-> PDSCH(物理下行共享信道)上。
除 MIB 外的系统信息都是 SIBs 信息,包括 SIB1 ~ SIB12。SIB1 是除 MIB 外最重要的系统消息。
系统消息的映射和调度
每个信息块如何发送、何时发送,需要总体有个调度机制,因此引入调度周期的概念。MIB 的调度周期为 40ms,每 10ms 重传 1 次。而 SIB 的调度周期为 80ms,每 20ms 重传 1 次。即 SIB1 在每 2 个无线帧(20ms)的子帧 #5 中重传(SFN mod 2=0,SFN mod 8 不等于 0)一次,如果满足 SFN mod 8=0 时,SIB1 的内容可能改变,新传一次。
对于 PHY 来说,一般不作 SIB 的解析,只是接收 SIB 并上报。只要高层协议栈没有下发命令停止接收,则 PHY 要持续检测 PDCCH(物理下行控制信道)的 SI-RNTI(系统消息,PDCCH 通过 SI-RNTI 加扰,且按照 eNB 规定周期性发送),并接收后面的 PDSCH(物理下行共享信道)。所以,SIB1 的传输通过携带 SI-RNTI 的 PDCCH(物理下行控制信道)调度来完成。
SIB1 中的 SchedulingInfoList 携带所有 SI(System Information)的调度消息,接收 SIB1 以后,即可接收其他 SI 消息。除 SIB1 外,SIB2 ~ SIB12 均通过 SI 映射。最终在空口调度,所以这就涉及到 SI 的调度。
SI 其实可以看成多个 SIBs 构成的一个组,SIBs 到 SI 消息的映射是灵活配置的。类似于传输信道与物理信道之间的映射,多个 SIB 映射到同一个 SI 中,可进行统一调度。至于这些 SIB 如何映射,在 SIB1 中完成的,下面的 SIB 消息就是一个例子:

从上图可以看出,SIB2 是肯定在 SI1 中的,所以图中所示的 schedinglnfoList 是从 SIB3 开始组合的。至于如何组合,那是由 eNB 自己决定的事情。关于 SI 的调度,需要明确一个概念 —— SI-Window
SI-Window 就是上图中的 si-WindowLength,时域为 5ms。一个 SI 窗口只能发送一个 SI 消息,可重复发送,并且每个 SI 窗口都是紧挨着的。在 SI 窗口内,SI 不需要连续发送,有时候,一个子帧发送 SI 就足够,而有时候需要多个子帧发送。
UE 通过 SI-RNTI 去解加扰的 PDSCH(物理下行共享信道),拿到相关 SI 的内容后,就能够知道当前小区的驻留参数,以及重选参数,同频,异频,异系统邻区等等,完成小区选择。
丰富的 SIBs 消息,会给 UE 带来该小区(Cell)的大量信息,用作各种用途,比如小区选择,重选等等。而在实际应用中,并不是所有 SIBs 都需要广播的,运营商本身会定义自己的 eNB 所需要广播的信息。
系统信息的更改通知
对于系统消息来说,不可能在整个运行周期内,参数方面都是一层不变。那么,当上层参数发生变化后,系统层面应该通知到终端。系统消息的更新一般分两种情况:
- 如果系统消息长期不变(3 小时),UE 就会再主动尝试接收系统消息;
- 如果网络侧的系统信息发生改变了,那么网络侧就需要通知 UE 更新系统信息。对于处于 IDLE(空闲)和 CONNECTED(已连接)状态的 UE 都可以通过寻呼(Paging)来通知。
我们先关注第 2 种情况,当 eNB 侧的某些参数发生改变了,是如何通知 UE 的呢?当 eNB 侧在线改变个系统消息的参数时,比如某些定时器,那 eNB 就会以 Paging 的方式通知到 UE。

Paging 消息内带有系统信息修改为 True,就是通知 UE,系统消息有更新,请重新读取。
另外一种方式,是当 SIB1 中的 IE systemInfoValueTag 与之前的存储的有不同,如下图,之前是 0,这一次是 1,那就意味着系统消息有变化,需要更新了。

以上只是 eNB 去通知 UE 需要更新系统信息,但 UE 何时更新?这里面还有一个修改周期的概念。在 SIB2 中有以下两个参数:

修改周期是这两个参数相乘:modificationPeriod = modificationPeriodCoeff X DefaultPagingCycle。上图中,修改周期就是 640ms。所以即使在本次周期中,收到更改通知,也要到下一个修改周期才会重新监听并存储系统信息。
4G EPS 中的消息类型的更多相关文章
- RabbitMQ中各种消息类型如何处理?
一:消息类型 Map String(含json字符串类型) 二:处理方法 2.1 Map消息 如果发送的消息类型是map类型,可以通过SerializationUtils.deserialize方法将 ...
- Activemq消息类型
Activemq消息类型JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage.BytesMessage.和StreamMessage等五种.ActiveM ...
- ActiveMQ之二--JMS消息类型
1.前言 //发送文本消息 session.createTextMessage(msg); //接受文本消息 public void onMessage(Message msg) { TextMess ...
- ActiveMQ常见消息类型
JMS由下面三部分组成:消息头.属性.消息体.其中消息体定义了五种消息体格式,也可以称为消息类型. JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage. ...
- Activemq 消息类型 (转)
Activemq消息类型JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage.BytesMessage.和StreamMessage等五种.ActiveM ...
- Language Guide (proto3) | proto3 语言指南(一)定义消息类型
定义消息类型 首先让我们看一个非常简单的例子.假设您想定义一个搜索请求消息格式,其中每个搜索请求都有一个查询字符串.您感兴趣的特定结果页以及每页的结果数.下面是用于定义.proto消息类型的文件. s ...
- 分析器错误消息: 类型“test.test.testx”不明确: 它可能来自程序集“F:\testProject\bin\test.test.DLL”或程序集“F:\testProject\bin \testProject.DLL”。请在类型名称中显式指定程序集。
问题描述: RT 分析器错误消息: 类型“test.test.testx”不明确: 它可能来自程序集“F:\testProject\bin\test.test.DLL”或程序集“F:\testProj ...
- 编译器错误消息: CS0234: 命名空间“Purple”中不存在类型或命名空间名称“Model”(是否缺少程序集引用?)
编译错误 “/storeimg”应用程序中的服务器错误. 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息: CS023 ...
- 如何应用.NET中的消息队列服务
建立一个队列是应用MSMQ的第一步.您可以通过Windows计算机管理控制台中的消息队列选项完成这一操作,或者自己编程建立一个队列.列表A中的C#代码建立了一个新的私有MSMQ消息队列(如果不存在队列 ...
- Delphi中window消息截获的实现方式(2)
Delphi是Borland公司提供的一种全新的WINDOWS编程开发工具.由于它采用了具有弹性的和可重用的面向对象Pascal(object-orientedpascal)语言,并有强大的数据库引擎 ...
随机推荐
- #Tarjan,SPFA,差分约束系统#BZOJ 2330 AcWing 368 银河
题目 分析 首先这明显是一道差分约束题,但是无解的情况确实比较恶心, 考虑它的边权为0或1,无解当且仅当某个强连通分量内的边至少一条边边权为1, 那么用有向图的Tarjan缩点后跑SPFA就可以了 代 ...
- el-table设置列属性fixed导致滚动条无法拖动-骨灰级
一.前言说明 网上一搜索,千篇一律的设置el-table__fixed,如: .el-table__fixed { // 左固定列 height: auto !important; bottom: 1 ...
- OpenHarmony Docker移植实践
Docker简介 从操作系统诞生之日起,虚拟化技术就不断的演进与发展,结合目前云原生的发展态势,容器无疑是其中的重要一环. Docker是一个开源的软件项目,可以在Linux操作系统上提供一层额外的 ...
- 一文总结ACE代码框架
一.前言 ACE_Engine框架是OpenAtom OpenHarmony(简称"OpenHarmony")的UI开发框架,为开发者提供在进行应用UI开发时所必需的各种组件,以及 ...
- 第二十篇:cookie和session
一.Cookie是什么鬼 二.基于cookie实现用户登录 三.基于cookie实现定制显示数据条数 四.带签名的cookie 五.CBV和FBV用户认证装饰器
- 如何增强Java Excel API 的导入和导出性能
前言 GrapeCity Documents for Excel (以下简称GcExcel)是葡萄城公司的一款服务端表格组件,它提供了一组全面的 API 以编程方式生成 Excel (XLSX) 电子 ...
- 4A 安全之授权:编程的门禁,你能解开吗?
概述 在安全管理系统里面,授权(Authorization)的概念常常是和认证(Authentication).账号(Account)和审计(Audit)一起出现的,并称之为 4A.就像上一文章提到的 ...
- iNeuOS工业互联网操作系统,民爆远程运维平台案例
iNeuOS工业互联网操作系统,民爆远程运维平台案例 目 录 1. 概述... 2 2. iNeuOS在民爆生产厂区和北京运维中心配置... 3 1.1 ...
- shell编程实现用户循环输入
如果你想在Shell脚本中实现一个循环判断用户输入是否正确,并根据情况决定是否退出系统,可以使用一个无限循环(如while true)和条件语句来实现. 以下是一个示例代码,用于演示这种情况: #!/ ...
- kubernetes CNI(Container Network Inferface)
为什么需要 CNI 在 kubernetes 中,pod 的网络是使用 network namespace 隔离的,但是我们有时又需要互相访问网络,这就需要一个网络插件来实现 pod 之间的网络通信. ...