目录

前文列表

4G EPS 中的小区搜索

4G EPS 中的 PLMN 选择

4G EPS 中的小区选择

4G EPS 中的随机接入

4G EPS 中建立 UE 与 eNB 之间的 RRC 连接

S1 连接

NOTE:这里的 S1 连接我们特指 S1-C 上的连接。

eNB 和 MME 发送 S1AP 消息之前需建立 eNB 和 MME 之间的 S1 连接。S1 连接分为两个层面:

  1. eNB 的 S1 连接(Non-UE-associated S1-connection):是 eNB 和 MME 的 S1AP 实体之间的连接。eNB 入网时会主动和 MME 建立 S1 连接(eNB 会配置并接入指定 MME S1-C 接口的 IP/Port),这个 S1 连接和 UE 无关,即使 eNB 空载也依然存在。

  2. UE 的 S1 连接(UE-associated logical S1-connection):是和 UE 关联的逻辑连接。由于 eNB 和 MME 不止为一个 UE 服务,eNB 和 MME 通过为每个 UE 建立不同的 S1 连接(逻辑连接)来进行区分,并发送对应的 S1AP 消息,eNB 的 S1 连接是 UE 的 S1 连接的基础。

eNB 的 S1 连接

eNB 的 S1 连接建立是 eNB 入网的一部分。eNB 通过静态配置或查询 Local DNS 方式获得 MME 的 SCTP Endpoint 的 IP/Port,主动向 MME 请求建立 SCTP 偶联(SCTP Association):eNB 向 MME 发送 S1 SETUP REQUEST,MME 向 eNB 发送 S1 SETUP RESPONSE,双方交换配置(比如 eNB 的 eNB ID 和 TAI、MME 的 GUMMEI 和 RMC),eNB 的 S1 连接建立完成。

在 MME POOL 组网场景中,eNB 会与 POOL 中的各个 MME 分别建立 S1 连接。过程中,MME 会下发各自的 GUMMEI(MME 全局标识)和 RMC(Relative MME Capacity)到 eNB 保存,以确定后续如何选择 MME,继而路由 NAS 消息(NNSF,NAS Node Select Function)。



NOTE:eNB 的 S1 连接仅在 eNB 入网时涉及,所以后文中如无特殊说明,S1 连接均为 UE 的 S1 连接。

UE 的 S1 连接

当 UE 和 MME 之间有 NAS 消息交互时,eNB 和 MME 之间必须首先建立 UE 的 S1 连接。UE 的 S1 连接总是由 eNB 发起创建的:

  1. 当某个 UE 入网,eNB 从 RRC 消息的 NAS PDU 中接收到第一条上行 NAS 消息后(e.g. UE ATTACH REQUEST),立即为 UE 分配 eNB UE S1AP ID,并包含在 eNB 发送到 MME 的 S1AP 消息 INITIAL UE MESSAGE 中。
  2. 随后 MME 应为 UE 分配 MME UE S1AP ID,并包含在 MME 发送到 eNB 的 S1AP 消息 DOWNLINK NAS TRANSPORT(携带 ESM INFORMATION REQUEST 或 AUTHENTICATE REQUEST 等 NAS 消息)中。

eNB UE S1AP ID 和 MME UE S1AP ID 组成了一对 UE S1AP ID Pair,这些信息会包含在 UE Context 内并保存在 eNB 和 MME 中,用于识别 S1AP 消息关联的 UE。如果 eNB 或 MME 发现 S1AP 消息包含的 UE S1AP ID Pair 和 UE Context 中保存的不同,就会发送 ERROR INDICATION,原因可能为 “ID 无法识别”、“ID 已分配过” 或 “ID 对前后不一致”

:以下结果在 UE 入网过程中抓 s1ap 协议可得。

示图中 INITIAL UE MESSAGE 包含 eNB UE S1AP ID: 1546538,随后 DOWNLINK NAS TRANSPORT 包含 MME UE S1AP ID: 160563068,同时还包含之前的 eNB UE S1AP ID: 1546538,这样 eNB 就知道下行 S1AP 消息(携带 NAS 消息)对应的 UE 了;最后 UPLINK NAS TRANSPORT 同时了包含 eNB UE S1AP ID 和 MME UE S1AP ID,这样 MME 就知道上行 S1AP 消息(携带 NAS 消息)对应的 UE 了

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

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

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

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

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

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

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

  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. #虚树,树形dp#CF613D Kingdom and its Cities

    洛谷题面 Codeforces 分析 若两个重要城市为一条边的两个顶点显然无解 否则考虑建一棵虚树,设\(dp[x]\)表示以\(x\)为根的子树最少需要摧毁的城市数, 令\(Siz[x]\)表示\( ...

  2. #模拟#U137456 数字

    题目 牛牛和他的小伙伴们高高兴兴的吃完了蛋糕,吃完蛋糕之后就到了牛牛和他的小伙伴们最喜欢的环节了--猜数 字, 这次是牛牛的生日,大家决定让牛牛来制定规则,由于牛牛的生日是4月7日,所以牛牛特别喜欢数 ...

  3. JDK14性能管理工具:jmap和jhat使用介绍

    目录 简介 jmap clstats finalizerinfo histo dump jhat 总结 简介 我们在写代码的过程中,经常会遇到内存泄露的问题,比如某个集合中的对象没有被回收,或者内存出 ...

  4. SQLite主键自增代码

    引用:https://blog.csdn.net/maowendi/article/details/81115401 insert into TubeRunInfo (UserName) values ...

  5. 【鸿蒙千帆起】《钢岚》成为首款基于HarmonyOS NEXT开发的战棋新游

      近日,紫龙游戏旗下BlackJack工作室全新战棋旗舰作品<钢岚>在华为游戏中心首发上线,并宣布<钢岚>完成鸿蒙原生应用开发,成为基于HarmonyOS NEXT开发的首款 ...

  6. CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户

    CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户 2012-02-22 17:18:15|  分类: rhel_vsftp|举报|字号 订阅 centos 5.5编译安装vsftpd- ...

  7. k8s 深入篇———— pod 深入实战[七]

    前言 深入一下pod 实战. 正文 在 Kubernetes 中,有几种特殊的 Volume,它们存在的意义不是为了存放容器里的数据,也不是用来进行容器和宿主机之间的数据交换. 这些特殊 Volume ...

  8. JDBC数据库汇总Attack研究

    前言 针对除Mysql的其它数据库的jdbc attack分析 H2 RCE 介绍 H2 是一个用 Java 开发的嵌入式数据库,它本身只是一个类库,即只有一个 jar 文件,可以直接嵌入到应用项目中 ...

  9. C#微服务必学清单

    在 C# 领域,有一些不错的微服务书籍和开源框架,对于学习微服务相关知识非常有帮助.以下是一些建议您阅读的微服务书目和开源框架. 微服务书目: 1. <Building Microservice ...

  10. Django框架——路由分发、名称空间、虚拟环境、视图层三板斧、JsonResponse对象、request获取文件、FBV与CBV、CBV源码剖析、模版层

    路由分发 # Django支持每个应用都可以有自己独立的路由层.静态文件.模版层.基于该特性多人开发项目就可以完全解耦合,之后利用路由分发还可以整合到一起 多个应用都有很多路由与视图函数的对应关系 这 ...