4G EPS 中建立 UE 与 eNB 之间的 RRC 连接
目录
前文列表
《4G EPS 中的小区搜索》
《4G EPS 中的 PLMN 选择》
《4G EPS 中的小区选择》
《4G EPS 中的随机接入》
RRC 连接
RRC(Radio Resource Control,无线资源控制层)主要处理 UE 通过无线信号接入蜂窝网络的事务,是无线网络接入层的顶层,上层 NAS 即为非接入层,处理的是移动网络业务逻辑的事务。RRC 具有以下功能:
- 为 NAS 层提供连接管理,消息传递等服务;
- 对无线接入网络的底层协议实体提供参数配置等功能;
- 负责 UE 移动性管理相关的测量、控制等功能。
Radio Bearer
在 UE 完成随机接入后,说明 UE 获得了 eNB 的上行资源可以开始传输上行数据,即建立 RB(Radio Bearer,无线承载)。RB 是 UE 是 eNB 传输之间传输信令和业务数据的前提,也是 UE 与 MME 传输 CP 信令的底层支撑,即建立 RRC 连接的支撑。

RB 是 eNB 为 UE 分配的一系列协议实体及配置的总称,包括 PDCP 协议实体、RLC 协议实体,以及 MAC 层和 PHY 层分配的一系列资源等。RB 在 UE 到 eNB 之间的 Uu 接口上传输数据,任何在 Uu 接口上传输的数据都要经过 RB。实际上,RB 在协议层面的实体主要只会看 PDCP(Packet Data Convergence Protocol,分组数据汇聚协议)。上层(e.g. UE APP)将业务数据交给 PDCP 实体,经过逐层封装(以及分段、映射、复用)后经 PHY 层发送,接收方(一般是 eNB)再逐层解封,最后由对端 PDCP 实体将业务数据交给上层。从上层的角度看,提供传送数据服务的 PDCP 实体,就是 RB,而并不了解 PDCP 的细节。
SRB

从上图可见,RB 可以通过 DRB 传送业务数据,也可以通过 SRB 传送信令数据,这里我们主要关注后者。SRB(Signaling Radio Bearers,信令无线承载)作为上层 RRC 连接的 CP 信令承载类型用于 RRC 的消息传输。根据承载信令的不同分为以下三类:
- SRB0:承载 RRC 连接建立之前的 RRC 信令, 使用 CCCH(公共控制信道)逻辑信道,msg3、4 均使用 SRB0,在 RLC(无线链路控制)层采用 TM 模式;
- SRB1:承载 RRC 信令和 SRB2 建立之前的 NAS 信令,SRB1 先于 SRB2 建立,所以使用 DCCH(专用控制信道)逻辑信道,msg5 使用 SRB1,在 RLC(无线链路控制)层采用 AM 模式;
- SRB2:承载 NAS 信令,使用 DCCH(专用控制信道)逻辑信道,在 RLC(无线链路控制)层采用 AM(确认模式)模式。SRB2 总是在 E-UTRAN 安全模式完成后才能建立;

UE 与 eNB 建立 RRC 连接的流程
UE 向 eNB 发送 RRC CONNECTION REQUEST,在 SRB0 上传输,而且 SRB0 在 MAC(媒体接入控制)层映射的是 CCCH(公共控制信道),所以不属于某个 UE 的资源,也就不需要预先创建。;
eNB 分配 C-RNTI(小区 RNTI,由主控 eNB 分配,供 UE 接入新的小区)来区分不同的 UE(因为 eNB 不只为一个 UE 服务,eNB 会同时向多个 UE 发送信号,UE 也会收到 eNB 发送给其他 UE 的信号,所以 eNB 和 UE 之间还需要对其他的 UE ID 进行区分,这个 UE ID 是临时的,称之为 RNTI),并向 UE 发送 RRC CONNECTION SETUP REQUEST,同样在 SRB0 上传输;
UE 在收到 RRC CONNECTION SETUP REQUEST 后按照 eNB 指示在 PDCP(分组数据汇聚协议)层建立 SRB1,随后在 SRB1 上发送 RRC CONNECTION SETUP COMPLETE 到 eNB,完成 RRC 连接的建立,并发送第一条上行的 NAS 消息。而 SRB1 在 MAC 层映射的是 DCCH(专用控制信道),是属于某个 UE 的资源,需要预先创建。

RRC 连接的状态:
- RRC_IDLE:空闲状态。此时的 UE 接收到的系统信息包括小区选择或重选的配置参数以及邻小区信息。
- RRC_CONNECTION:连续状态。此时 UE 接收到的是公共信道的配置信息。
4G EPS 中建立 UE 与 eNB 之间的 RRC 连接的更多相关文章
- 3G 4G 5G中的网络安全问题——文献汇总
Modeling and Analysis of RRC-Based Signalling Storms in 3G Networks 还是使用状态机模型来做恶意UE识别 https://san.ee ...
- MYSQL 中 MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比
1.MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.不 ...
- Keil环境中建立带FreeRTOS的STM32L项目
本文是网上转载,版权所有. Keil环境中建立带FreeRTOS的STM32L项目 1.先把source文件夹复制至project目录,然后在keil中添加RTOS文件,如图: 其中heap_2.c按 ...
- Servlet中的GET和POST之间的区别
自己的感悟: get和post这是http协议的两种方法,另外还有head, delete等 这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串.post的 ...
- 1.2 如何在visual studio 中建立C#程序
这一节简单介绍一下怎么在visual studio 2015中建立第一个C#程序,我使用的是2015版的visual studio,不同版本可能有一些差异,不过大体上是相同的,这些信息仅供新手参考,大 ...
- <Java中的继承和组合之间的联系和区别>
//Java中的继承和组合之间的联系和区别 //本例是继承 class Animal { private void beat() { System.out.println("心胀跳动...& ...
- jQuery中的bind() live() delegate()之间区别分析
jQuery中的bind() live() delegate()之间区别分析 首先,你得要了解我们的事件冒泡(事件传播)的概念,我先看一张图 1.bind方式 $('a').bind('click', ...
- Android 中建立一个OpenGL ES的开发环境
转自: http://wiki.eoe.cn/page/Building_an_OpenGL_ES_Environment.html 负责人:zhangql原文链接:http://docs.eoean ...
- Android中Bitmap, Drawable, Byte,ID之间的转化
Android中Bitmap, Drawable, Byte,ID之间的转化 1. Bitmap 转化为 byte ByteArrayOutputStream out = new ByteArray ...
- Oracle中建立物化视图报错
Oracle中建立物化视图报错 今天在建立视图的时候,报了一个错:ORA-01723: zero-length columns are not allowed. 建视图的语句: create mate ...
随机推荐
- #容斥,广搜#nssl 1458 HR的疑惑 nssl 1460 逛机房
nssl 1458 HR的疑惑 题目 求\([1\sim n]\)中有多少个正整数\(x\)满足 \[\sqrt[y]{x}\in N^{+},y>1 \] 其中\(n\leq 10^{18}\ ...
- flutter系列之:按比例缩放的AspectRatio和FractionallySizedBox
目录 简介 AspectRatio FractionallySizedBox 总结 简介 我们在构建UI的时候,为了适应不同的屏幕大小,通常需要进行一些自适应的配置,而最常见的自适应就是根据某个宽度或 ...
- SQL FULL OUTER JOIN 关键字:左右表中所有记录的全连接解析
SQL RIGHT JOIN关键字 SQL RIGHT JOIN关键字返回右表(table2)中的所有记录以及左表(table1)中的匹配记录.如果没有匹配,则左侧的结果为0条记录. RIGHT JO ...
- Docker学习路线6:使用第三方镜像
第三方镜像是在Docker Hub或其他容器注册表上提供的预构建Docker容器镜像.这些镜像由个人或组织创建和维护,可以作为您容器化应用程序的起点. 查找第三方镜像 Docker Hub 是最大和最 ...
- BiLSTM算法(一)
原理分析: BiLSTM(双向长短期记忆网络) 是一种循环神经网络(RNN)的变体,它在自然语言处理任务中非常有效,其中包括给定一个长句子预测下一个单词. 这种效果的主要原因包括以下几点: 长短期记忆 ...
- Quanto: PyTorch 量化工具包
量化技术通过用低精度数据类型 (如 8 位整型 (int8)) 来表示深度学习模型的权重和激活,以减少传统深度学习模型使用 32 位浮点 (float32) 表示权重和激活所带来的计算和内存开销. 减 ...
- Mongoose介绍
官网 Mongoose.js中文网 (mongoosejs.net) 基本使用 安装 最新的是mongoose8.0.0版本,基于Promise,以前的版本是基于回调函数. npm npm i mon ...
- 鸿蒙HarmonyOS实战-ArkUI组件(页面路由)
一.路由导航 路由导航是指在应用程序中通过路径导航定位到特定页面的过程.路由导航的实现通常采用路由器(router)来进行管理,路由器根据路径的不同值将用户请求导向到不同的页面. 在HarmonyOS ...
- UE4下实现HTC Vive手柄拾取物品蓝图编程
UE4下实现Vive手柄拾取物品 标签: UE4Vive游戏引擎 目录(?) [-] 创建拾取接口 实现接口 定义拾取 简单说下思路,首先定义拾取接口,然后在需要拾取的物品的蓝图类中实现该接口,最后在 ...
- 开源相机管理库Aravis例程学习(二)——连续采集multiple-acquisition-main-thread
目录 简介 例程代码 函数说明 arv_camera_set_acquisition_mode arv_camera_create_stream arv_camera_get_payload arv_ ...