目录

前文列表

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(非接入服务)信令连接的更多相关文章

  1. 利用WPF建立自己的3d gis软件(非axhost方式)(十二)SDK中的导航系统

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(十二)SDK中的导航系统 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPew ...

  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. 1.2 如何在visual studio 中建立C#程序

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

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

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

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

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

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

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

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

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

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

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

  10. SQL Server中建立外键的方法

    在SQL中建立外键约束,可以级联查询表中的数据,在C#代码生成器中,也能根据外键关系生成相应的外键表数据模型.外键也可防止删除有外键关系的记录,一定程度上保护了数据的安全性. 步骤: 1.要建立外键关 ...

随机推荐

  1. C 语言教程:数据类型和格式说明符

    C 语言中的数据类型 C 中的变量必须是指定的数据类型,并且您必须在 printf() 函数中使用格式说明符来显示它: // 创建变量 int myNum = 5; // 整数(没有小数点) floa ...

  2. Qt调用系统DLL,判断网络连接状态

    *: Win32 网络连接 dll 文件名叫:wininet.dll,位置在 C:\WINDOWS\system32 目录下,将 其拷贝到项目工程下. #include <QLibrary> ...

  3. HDC2021技术分论坛:跨端分布式计算技术初探

    作者:zhengkai,分布式通信首席技术专家 当今的移动应用都向着智能化和多样化方向发展,例如AI辅助,VR/AR应用,沉浸式游戏等.然而现实中的移动设备,因为便携性要求受限于尺寸.电池容量以及温控 ...

  4. 重新整理 .net core 实践篇———承载[外篇]

    前言 简单介绍一下承载. 正文 名称叫做承载,其实就是.net core 定义的一套长期运行的服务的规范. 这个服务可以是web服务,也可以是其他服务,比如tcp,或者一些监控服务. 这里以监控服务为 ...

  5. mysql 重新整理——索引优化一个简单的案例 [十一]

    前言 经过了前面的一系列理论,那么用一个例子去看一下吧. 正文 EXPLAIN SELECT t3.emp_no,t3.first_name,(select t4.last_name from tem ...

  6. 构建RAG应用-day01: 词向量和向量数据库 文档预处理

    词向量和向量数据库 词向量(Embeddings)是一种将非结构化数据,如单词.句子或者整个文档,转化为实数向量的技术. 词向量搜索和关键词搜索的比较 优势1:词向量可以语义搜索 比如百度搜索,使用的 ...

  7. 面试官:来说说vue3是怎么处理内置的v-for、v-model等指令?

    前言 最近有粉丝找到我,说被面试官给问懵了. 粉丝:面试官上来就问"一个vue文件是如何渲染成浏览器上面的真实DOM?",当时还挺窃喜这题真简单.就简单说了一下先是编译成rende ...

  8. 大厂面试题:ReentrantLock 与 synchronized异同点对比

    写在开头 在过去的博文中我们学习了ReentrantLock 与 synchronized这两种Java并发使用频率最高的同步锁,在很多大厂面试题中有个经典考题: ReentrantLock 与 sy ...

  9. 【笔记】go语言--切片的操作

    go语言--切片的操作 接上篇切片的概念开始 //Slice添加元素 arr := [...]int{0,1,2,3,4,5,6,7} s1 := arr[2:6] s2 := s1[3:5]//[5 ...

  10. C#S7.NET实现西门子PLCDB块数据采集的完整步骤

    前言 本文介绍了如何使用S7.NET库实现对西门子PLC DB块数据的读写,记录了使用计算机仿真,模拟PLC,自至完成测试的详细流程,并重点介绍了在这个过程中的易错点,供参考. 用到的软件: 1.Wi ...