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 ...
随机推荐
- 【直播回顾】OpenHarmony知识赋能第八期:手把手教你实现涂鸦小游戏
OpenHarmony第八期知识赋能直播已经在9月29日圆满落幕!从9月15日起,资深OS框架开发工程师巴延兴老师于每周四进行分享,通过实现涂鸦小游戏来帮助大家全面了解ArkUI框架的应用,拓宽知识 ...
- Qt 桌面服务 QDesktopServices
使用浏览器打开网址 #include <QDesktopServices> #include <QUrl> QUrl url(QString("https://cn. ...
- 标签栏切换效果 JS
标签栏切换效果 JS 要求:class为tab-box的元素用于实现标签栏的外边框,,分别实现标签栏的标签部分和内容部分. html <div class="tab-box" ...
- IDEA快捷键快速补齐类和对象名
CTRL+ALT+V ----------快速补齐 类和对象名 如: new String("123") 光标放到最后 按下快捷键补齐为红色部分 String s = ne ...
- MindSpore自动微分小技巧
技术背景 基于链式法则的自动微分技术,是大多数深度学习框架中所支持的核心功能,旨在更加快速的进行梯度计算,并且可以绕开符号微分的表达式爆炸问题和手动微分的困难推导问题.本文主要基于MindSpore框 ...
- Mybatis总体框架设计
Mybatis架构概览 Mybatis架构整体设计如下: 接口层和数据库交互的方式 Mybatis和数据库的交互方式有两种 使用传统的MyBatis提供的API: 使用Mapper接口 使用传统的My ...
- 《c#高级编程》第2章C#2.0中的更改(一)——泛型
一.实例 当我们需要编写一些通用的代码,但是不确定它们将处理的数据类型时,泛型就非常有用了.下面是一个简单的 C# 泛型示例: using System; public class Example { ...
- 学习 XQuery:XML数据查询的关键
XQuery 是 XML 数据的查询语言,类似于 SQL 是数据库的查询语言.它被设计用于查询 XML 数据. XQuery 示例 for $x in doc("books.xml" ...
- static_cast与dynamic_cast到底是什么?
写这个随笔说一下C++的static_cast和dynamic_cast用在子类与父类的指针转换时的一些事宜.首先,[static_cast,dynamic_cast][父类指针,子类指针],两两一组 ...
- EasyNLP玩转文本摘要(新闻标题)生成
简介: 本⽂将提供关于PEGASUS的技术解读,以及如何在EasyNLP框架中使⽤与PEGASUS相关的文本摘要(新闻标题)生成模型. 作者:王明.黄俊 导读 文本生成是自然语言处理领域的一个重要研究 ...