4G EPS 中建立 UE 和 MME 之间的 NAS(非接入服务)信令连接
目录
文章目录
前文列表
《4G EPS 中的小区搜索》
《4G EPS 中的 PLMN 选择》
《4G EPS 中的小区选择》
《4G EPS 中的随机接入》
《4G EPS 中建立 UE 与 eNB 之间的 RRC 连接》
《4G EPS 中建立 eNB 与 MME 之间的 S1 连接》
建立 NAS(非接入服务)信令连接
首先我们需要明确一件事情,NAS 层是一个抽象概念,在该层上传输的消息被称为 NAS 消息,例如之前提到 UE 发出的 ATTACH REQUEST(UE 附着请求)、SERVICE REQUEST(UE 业务请求)以及 PDN CONNECTIVITY REQUEST(PDN Connection 创建请求)都是 NAS 消息。但实际上 UE 和 MME 之间 NAS 信令连接(NAS Signalling Connection)是由 UE 到 eNB 之间的 RRC 连接(由于 eNB 不具有 NAS 实体,而是通过 RRC 连接以及 RRC 消息作为 NAS 消息的 “便车”)以及 eNB 到 MME 之间的 S1 连接(S1-C 接口只传输 S1AP 消息,所以 NAS 消息在此也会搭 S1AP 消息的 “便车”)构成的。
- 关于 NAS 消息的重点是:UE 的 NAS 消息目标是 MME,MME 的 NAS 消息目标是 UE ,NAS 消息经 eNB 转发,但看 NAS 消息时可将 eNB 视作透明。
- 关于 NAS 信令连接的重点是:NAS 信令连接是 UE 和 MME 之间发送 NAS 消息的通道,由 RRC 连接和 S1 连接构成,只有 NAS 信令连接存在时 UE 和 MME 才可发送 NAS 消息,否则应先建立 NAS 信令连接。
当 NAS 信令连接存在时,UE 处于 ECM-CONNECTED(已连接)状态,反之则处于 ECM-IDLE(空闲)状态。UE 和 MME 各自管理着自己或某个 UE 的 ECM 状态。
- 对 MME 来说,可见的是 S1 连接,当某个 UE 的 S1 连接建立时立即进入 ECM-CONNECTED 状态,当 S1 连接释放时立即进入 ECM-IDLE 状态;
- 对 UE 来说,可见的是 RRC 连接,当 RRC 连接建立时立即进入 ECM-CONNECTED 状态,当 RRC 连接释放时立即进入 ECM-IDLE 状态。
当 UE 处于 ECM-CONNECTED 状态时,UE 和 MME 之间才可以发送 NAS 消息,当 UE 处于 ECM-IDLE 状态时,UE 和 MME 发送 NAS 消息要先建立 NAS 信令连接,即 RRC 连接和 S1 连接。当 E-RAB 存在时,NAS 信令连接必然存在,反之则不然,建立 NAS 信令连接不一定是为了建立 E-RAB,甚至可能是为了发送 DETACH REQUEST(NAS 消息),把 UE 踢下线。
简而言之,NAS 信令连接就是 UE 是 MME 之间通信的桥梁,下面列举需要 NAS 层支持的 EPS 核心功能:
- PDN Connection 管理:包括 Connection 的建立、修改、释放、QoS 协商。
- UE 管理:包括用户签约数据管理,以及 UE 附着、去附着。
- 安全管理:包括 UE 与 EPS 之间的鉴权及加密初始化。
4G EPS 中建立 UE 和 MME 之间的 NAS(非接入服务)信令连接的更多相关文章
- 利用WPF建立自己的3d gis软件(非axhost方式)(十二)SDK中的导航系统
原文:利用WPF建立自己的3d gis软件(非axhost方式)(十二)SDK中的导航系统 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPew ...
- 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按 ...
- 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 ...
- SQL Server中建立外键的方法
在SQL中建立外键约束,可以级联查询表中的数据,在C#代码生成器中,也能根据外键关系生成相应的外键表数据模型.外键也可防止删除有外键关系的记录,一定程度上保护了数据的安全性. 步骤: 1.要建立外键关 ...
随机推荐
- C++ 编译器和链接器的完全指南
C++是一种强类型语言,它的编译和链接是程序开发过程中不可或缺的两个环节.编译器和链接器是两个非常重要的概念.本文将详细介绍C++中的编译器和链接器以及它们的工作原理和使用方法. 编译器 编译器是将源 ...
- 鸿蒙HarmonyOS实战-ArkUI组件(CustomDialog)
一.CustomDialog CustomDialog组件是一种自定义对话框,可以通过开发人员根据特定的要求定制内容和布局.它允许开发人员创建一个完全可定制的对话框,可以显示任何类型的内容,例如文本. ...
- 在HarmonyOS上实现ArkTS与H5的交互
介绍 本篇Codelab主要介绍H5如何调用原生侧相关功能,并在回调中获取执行结果.以"获取通讯录"为示例分步讲解JSBridge桥接的实现. 相关概念 Web组件:提供具有网 ...
- nginx重新整理——————http请求的11个阶段中的content阶段[十八]
前言 简单介绍一下content 阶段. 正文 下面介绍一下root和alias. 这个前面其实就提交过了,这里再说明一下. 功能都是一样的:将url映射为文件路径,以返回静态文件内容. 差别:roo ...
- mysql 必知必会整理——mysql 介绍[一]
前言 对mysql 进行简介. 正文 mysql 是一种数据库,那么什么是数据库呢? 数据库是一个以某种有组织的方式存储的数据集合. 也就是说数据有某种组织规律的就叫做数据库. 数据库(databas ...
- redis 简单整理——阻塞问题[二十五]
前言 简单介绍一下redis的阻塞问题. 正文 Redis是典型的单线程架构,所有的读写操作都是在一条主线程中完成 的.当Redis用于高并发场景时,这条线程就变成了它的生命线.如果出现 阻塞,哪怕是 ...
- c# 如何在一般处理程序中返回json
前言 迁移以前的笔记. 正文 无论是一般处理程序,还是其他程序,处理事项,肯定在于HttpResponse. 这种情况就可以操作,至于字符是自己转换还是由HttpResponse中的信息默认转换,都没 ...
- 纯钧chunjun的http-x插件修复
简介 chunjun是一款基于flink的开源数据同步工具,官方文档,其提供了很多flink官方未提供的插件供大家来使用,特别是达梦插件在国产化环境中很方便! 本次介绍的是chunjun中的一款htt ...
- 跨域是什么?Vue项目中你是如何解决跨域的呢?
一.跨域是什么 跨域本质是浏览器基于同源策略的一种安全手段 同源策略(Sameoriginpolicy),是一种约定,它是浏览器最核心也最基本的安全功能 所谓同源(即指在同一个域)具有以下三个相同点 ...
- Node 文件查找的优先级以及 Require 方法的文件查找策略
一.模块规范 NodeJS对CommonJS进行了支持和实现,让我们在开发node的过程中可以方便的进行模块化开发: 在Node中每一个js文件都是一个单独的模块 模块中包括CommonJS规范的核心 ...