目录

前文列表

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 连接的流程

  1. UE 向 eNB 发送 RRC CONNECTION REQUEST,在 SRB0 上传输,而且 SRB0 在 MAC(媒体接入控制)层映射的是 CCCH(公共控制信道),所以不属于某个 UE 的资源,也就不需要预先创建。;

  2. 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 上传输;

  3. UE 在收到 RRC CONNECTION SETUP REQUEST 后按照 eNB 指示在 PDCP(分组数据汇聚协议)层建立 SRB1,随后在 SRB1 上发送 RRC CONNECTION SETUP COMPLETE 到 eNB,完成 RRC 连接的建立,并发送第一条上行的 NAS 消息。而 SRB1 在 MAC 层映射的是 DCCH(专用控制信道),是属于某个 UE 的资源,需要预先创建。



RRC 连接的状态

  1. RRC_IDLE:空闲状态。此时的 UE 接收到的系统信息包括小区选择或重选的配置参数以及邻小区信息。
  2. RRC_CONNECTION:连续状态。此时 UE 接收到的是公共信道的配置信息。

4G EPS 中建立 UE 与 eNB 之间的 RRC 连接的更多相关文章

  1. 3G 4G 5G中的网络安全问题——文献汇总

    Modeling and Analysis of RRC-Based Signalling Storms in 3G Networks 还是使用状态机模型来做恶意UE识别 https://san.ee ...

  2. MYSQL 中 MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比

    1.MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.不 ...

  3. Keil环境中建立带FreeRTOS的STM32L项目

    本文是网上转载,版权所有. Keil环境中建立带FreeRTOS的STM32L项目 1.先把source文件夹复制至project目录,然后在keil中添加RTOS文件,如图: 其中heap_2.c按 ...

  4. Servlet中的GET和POST之间的区别

    自己的感悟: get和post这是http协议的两种方法,另外还有head, delete等 这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串.post的 ...

  5. 1.2 如何在visual studio 中建立C#程序

    这一节简单介绍一下怎么在visual studio 2015中建立第一个C#程序,我使用的是2015版的visual studio,不同版本可能有一些差异,不过大体上是相同的,这些信息仅供新手参考,大 ...

  6. <Java中的继承和组合之间的联系和区别>

    //Java中的继承和组合之间的联系和区别 //本例是继承 class Animal { private void beat() { System.out.println("心胀跳动...& ...

  7. jQuery中的bind() live() delegate()之间区别分析

    jQuery中的bind() live() delegate()之间区别分析 首先,你得要了解我们的事件冒泡(事件传播)的概念,我先看一张图 1.bind方式 $('a').bind('click', ...

  8. Android 中建立一个OpenGL ES的开发环境

    转自: http://wiki.eoe.cn/page/Building_an_OpenGL_ES_Environment.html 负责人:zhangql原文链接:http://docs.eoean ...

  9. Android中Bitmap, Drawable, Byte,ID之间的转化

    Android中Bitmap, Drawable, Byte,ID之间的转化 1.  Bitmap 转化为 byte ByteArrayOutputStream out = new ByteArray ...

  10. Oracle中建立物化视图报错

    Oracle中建立物化视图报错 今天在建立视图的时候,报了一个错:ORA-01723: zero-length columns are not allowed. 建视图的语句: create mate ...

随机推荐

  1. 【直播回顾】OpenHarmony知识赋能第五期第一课——精益开源

    4月26日晚上19点,知识赋能第五期第一节课<精益开源--理解设计思维.精益创业.敏捷开发是如何应用到开源项目中>,在OpenHarmony开发者成长计划社群内成功举行. 本期课程,由开源 ...

  2. [llama懒人包]ChatGPT本地下位替代llama-7b,支持全平台显卡/CPU运行

    LLAMA的懒人包: 链接: https://pan.baidu.com/s/1xOw8-eP8QB--u6y644_UPg?pwd=0l08 提取码:0l08 模型来源:elinas/llama-7 ...

  3. 深度剖析 Spring 框架在 Java 应用开发中的优势与应用

    Spring 是用于企业 Java 应用程序开发的最流行的应用程序开发框架.全球数百万开发人员使用 Spring Framework 创建高性能.易于测试和可重用的代码.Spring Framewor ...

  4. 基于OT与CRDT协同算法的文档划词评论能力实现

    基于OT与CRDT协同算法的文档划词评论能力实现 当我们实现在线文档平台时,划词评论的功能是非常必要的,特别是在重文档管理流程的在线文档产品中,文档反馈是非常重要的一环,这样可以帮助文档维护者提高文档 ...

  5. Prometheus 性能调优-水平分片

    简介 之前笔者有连续 2 篇文章: Prometheus 性能调优 - 什么是高基数问题以及如何解决? 如何精简 Prometheus 的指标和存储占用 陆续介绍了一些 Prometheus 的性能调 ...

  6. 正则表达针对html(九)

    前言 关于处理一些html的东西. 正文 假设有一段html文本: <?xml version="1.0" encoding="UTF-8"?> & ...

  7. Scratch3之AI集成 - flappy bird AI版本

    AI神秘且有趣,我们一个经典的游戏flappy bird集成AI,实现自训练成长的聪明的笨鸟.先上效果: 初始化的笨鸟拥有分身,每个分身都有自我学习功能,根据自己的移动轨迹和得分情况进行汇总,进行新一 ...

  8. java操作xml超简单的方法

    用dom4j?SAX?no,no,no,光看api和帮助文档就烦,有没有更简单的方法呢?答案是有的. 那就是默默无名的:JAXB jaxb是啥? 摘抄一段度娘百科的介绍: JAXB能够使用Jackso ...

  9. 有意思的JavaScript代码写法【持续更新,欢迎留言分享有趣代码】

    filter过滤假值 [1,2,null].fiter(Boolean) 2.Object.is 健壮的相等判断 Object.is(NaN,NaN) Object.is(+0,-0) Object. ...

  10. 我们为什么要做 SoloPi

    SoloPi现状 去年(2019年)7月份,蚂蚁集团正式对外开源了客户端自动化测试工具 SoloPi ,其主要包括三大模块:录制回放(用于功能测试).性能工具(用于性能测试)以及一机多控(服务于兼容性 ...