目录

前文列表

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知识赋能五期第四课——子系统音频解读

    5月12日晚上19点,知识赋能第五期第四节课<OpenHarmony标准系统多媒体子系统之音频解读>,在OpenHarmony开发者成长计划社群内成功举行. 本期课程,由深开鸿资深技术专家 ...

  2. C++ 编程必备:对象生命周期管理的最佳实践

    在C++中,对象的生命周期是指对象存在的时间段,从对象创建到对象销毁的整个过程.正确地管理对象的生命周期是编写高效.可靠C++代码的关键之一 对象的创建 在C++中,对象可以通过三种方式创建:静态分配 ...

  3. QImage将图片白色背景修改为透明色

    // 改透明色 QImage setImageColor(QImage img) { QImage img_color = img.convertToFormat(QImage::Format_RGB ...

  4. 直播预告丨Hello HarmonyOS进阶课程第三课——游戏开发实践

    为了帮助初识HarmonyOS的开发者快速入门,我们曾推出Hello HarmonyOS系列一共5期课程,从最基础的配置IDE和创建Hello World开始,详细介绍HarmonyOS基础.开发环境 ...

  5. 第十三篇:HTML和CSS入门

    一.HTML本质以及在WEB程序中的作用 1.一套规则,浏览器认识的规则. 2.开发者: 学习html规则 开发后台程序 - 写html文件(充当模板的作用) - 数据库获取数据,然后替换到html文 ...

  6. Python 爬虫进阶五之多线程的用法

    Python 爬虫进阶五之多线程的用法 作者 崔庆才   发表于 2016-11-03   分类于 Python   阅读次数: 60553   本文字数: 7.5k   阅读时长 ≈ 7 分钟 前言 ...

  7. sql 语句系列(字符串之父与子之间)[八百章之第十二章]

    前言 介绍字符串和其子字符串直接的使用. 判断含有子字母的字符串 select * from emp 在mysql中: select emp.ename from emp where emp.enam ...

  8. c# 属性类(特性)

    前言 c# 属性类也称做特性.这是一篇垫文,为后面的过滤器和其他特性类的东西做铺垫. 正文 看一段代码: static void Main(string[] args) { Attribitefunc ...

  9. Vue3 解构赋值失去响应式引发的思考

    前言 vue3发布以来经历两年风头正盛,现在大有和react 平分秋色的势头,我们知道他是基于proxy 实现响应式的能力, 解决了vue2所遗留下来的一些问题,同时也正由于proxy的特性,也提高了 ...

  10. 牛客网-SQL专项训练12

    ①SQL中属于分组查询的语句是?(C) 解析: A Where: 条件筛选B 联盟链: 非相关内容C Group By:分组D Having: 条件筛选 区块链大致可以分为公有链(Public Blo ...