【3GPP】【核心网】核心网/蜂窝网络重点知识面试题二(超详细)

2024-04-11 06:12

本文主要是介绍【3GPP】【核心网】核心网/蜂窝网络重点知识面试题二(超详细),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 欢迎大家订阅和关注,3GPP通信协议精讲(2G/3G/4G/5G/IMS)知识点,专栏会持续更新中.....敬请期待!

目录

1. 对于主要的LTE核心网接口,给出运行在该接口上数据的协议栈,并给出协议特征

2. 通常说的nas加密,指的是什么?常见的加密方式有哪些?解密的大致原理是什么?

3. 当一个s1mme接口信令只有一侧的,比如detach req信令只有e-NB侧的S1-AP Id和ip时,如何关联到上文

4.  基本了解移动用户上网的几大流程场景:attach, S1 release, service request,pathswitch,detach等基础信令流程;同时了解到这些流程对应到手机的哪些实际行为


1. 对于主要的LTE核心网接口,给出运行在该接口上数据的协议栈,并给出协议特征

1.接口协议栈

    接口是指不同网元之间的信息交互方式。既然是信息交互,就应该使用彼此都能看懂的语言,这就是接口协议。接口协议的架构称为协议栈。根据接口所处位置分为空中接口和地面接口,响应的协议也分为空中接口协议和地面接口协议。

    空中接口是无线制式最个性的地方,不同无线制式,其空口的最底层(物理层)的技术实现差别巨大。LTE空中接口是UE和eNodeB的LTE-Uu接口,地面接口主要是eNodeB之间的X2接口,以及eNodeB和EPC之间的S1接口。

1.1 三层

    协议栈的分层结构有助于实现简化设计。底层协议为上层提供服务;上层使用下层的提供的功能,上层不必清楚下层过程处理的细节。比较常见的分层协议有OSI七层参考模型和TCP/IP四层协议。

    无线制式的接口协议也分层,粗略分为物理层(层一,L1,PHY)、数据链路层(层二,L2,DLL)、网络层(层三,L3,NL)。

    物理层主要功能是提供两个物理实体间的可靠比特率传输,适配传输媒介。无线空口中,适配的是无线环境;地面接口中,适配的则是E1,网线,光纤等传输媒介。

    数据链路层的主要功能是信道复用和解复用、数据格式的封装、数据包调度等。完成的主要功能是具有个性的业务数据向没有个性的通用数据帧的转换。

    网络层的主要功能是寻址、路由选择、连接的建立和控制、资源的配置策略等。

eUTRAN和UTRAN的分层结构类似,但为了灵活承载业务、简化网络结构、缩短处理时延,rUTRAN接口协议栈以下功能从层三转移到层二:

(1)动态资源管理和Qos保证功能转移到MAC(媒介接入控制)层。

(2)DTX/DRX(不连续发射/接收)控制转移到MAC层。

(3)业务量测量和上报由MAC层负责。

(4)将控制平面的安全性(加密)和完整性保护转移到PDCP(Packet Data Convergence Protocol)分组数据汇聚协议。

1.2 两面

LTE接口协议栈除了分层还分面:用户面协议和控制面协议。用户面负责业务数据的传送和处理,控制面负责协调和控制信令的传送和处理。

用户面的主要功能:头压缩、加密、调度、ARQ/HARQ。

控制面的主要功能:RLC和MAC层功能与用户面中的功能一致;PDCP层完成加密和完整性保护;RRC层完成广播,寻呼,RRC连接管理,资源控制,移动性管理,UE测量报告控制;NAS层完成核心网承载管理,鉴权及安全控制。

用户面和控制面都是逻辑上的概念。在层一,不区分用户面和控制面;在层二,数据功能处理开始区分用户面和控制面;在层三,用户面和控制面则由不同的功能实体完成。

    在无线侧,用户面和控制面还在一个物理实体eNodeB上;而在核心网侧,用户面和控制面则完全实现了物理上的分离,分别安排在不同的物理实体上。

    不同接口协议细节有所不同,但在架构上都可套用如图所示的三层两面协议栈通用模型。

S1-MME是e-NodeB连接MME的控制面接口

S1-MME协议栈

协议特征:

        IP_protocol = 132 (SCTP)&& SCTP.payload_protocol_id = 18(S1AP) 

S1-U是e-NodeB连接S-GW 的用户面接口  

S1-U协议栈

协议特征:

         GTP.version = 1 && UDP.port = 2152再根据teid匹配

S6a协议栈

协议特征:

IP_protocol = 132 (SCTP)&& (SCTP.payload_protocol_id = 46(diameter) ||(diameter.version = 1 && diameter.application_id = 16777251))

S11协议栈 

协议特征:

         GTP.version = 2   && UDP.port = 2123

2. 通常说的nas加密,指的是什么?常见的加密方式有哪些?解密的大致原理是什么?

NAS:非接入层(Non-Access stratum),位于终端UE和移动性管理实体MME内。NAS过程用于UE各MME间移动性管理与会话管理过程:支持移动性管理功能以及用户面承载的激活、修改与去激活,并负责NAS信令的加密与完整性保护。

NAS信令分为EMM(EPS Mobility Management);ESM(EPS Session Management)

EMM: 移动性管理-如注册和位置更新,GUTI重分配过程、鉴权过程、安全模式命令过程、标志过程、attach 、detach等几个模块功能。这些过程都是在非接入层信令连接建立基础之上才发起的

ESM: 会话管理-如通话建立。建立和维护UE 和PDN GW 之间的IP连接。包括:网络侧激活、去激活和修改EPS承载上下文;UE请求资源(跟PDN的IP连接,以及专用承载资源)

通常说的NAS加密是信令加密,加密方式(1128-EEA12128-EEA23128-EEA3 

NAS 解密

1.从S6a接口的diameter包获取Kasme

DIMETER  Authentication-Infomation answer中,获取Kasme

2.从S1-MME接口的包中获取加密类型

S1-AP/NAS-EPS Id-dowdlinkNASTransport,security mode command中,Fnas_eps.emm.toc.010 .... = Type of ciphering algorithm: EPS encryption algorithm 128-EEA2 (2)获取加密类型,EEA0表示不加密

3.从S1-MME接口的包中获取待解密消息

 S1-AP/NAS-EPS Id-innitialcontextsetup  获取待解密消息

解密过程

1、将第一步获得的Kasme输入到下面的KASME/KeNB框中

2、algorithm distinguisher选择NAS-enc-alg

3、algorithm identity选择02

  1. algorithm输入第二步获取的加密类型
  2. KEY输入步骤4生成的Knasenc
  3. CIPHERTEXT BLOCK输入第三步待解密的内容
  4. 如果第四步的algorithm distinguisher和algorithm identity不太确定,可以多试几个组合,解密后的结果为0741开头的应该就是正确的

1.选择pcap文件,替换加密bytes

解密原理

解密需要两个信息: 1  加密算法; 2  密钥。

加密算法:

加密算法在S1接口的security mode command/complete消息中,根据MME, ENODEB的加密算法优先级设置协商(明文)得出的,可以包的解析获取。目前可选的加密算法有3种:(1)128-EEA1(2)128-EEA2(3)128-EEA3。第一种和第三种算法的参考文档见链接:       ETSI - Custodian, Security algorithms, codes, licences

第二种算法是国内线上普遍采用的,第三方的开源代码链接如下:

http://www.gladman.me.uk/

密钥派生过程:

(1)Kasme:

  Kasme又称根密钥,NAS层用于加密及完整性的所有密钥,都是由根密钥Kasme派生得出的。Kasme由K,CK通过H M A C-SH A -256 算法生成,在S6a接口上明文传递,可以从S6a的包里解析获取。

  1. Knasenc:

 由Kasme派生出的密钥分加密密钥(entryption key)和完整性密钥(integrity key),前者用来加密,后者用来验证消息的完整性。我们只关注加密密钥,在NAS层即为Knasenc。

Knasen是由根密钥Kasme,和一个辅助参数做为输入,通过HMAC-SHA-256算法得到。此密钥需要软件计算,线上数据包里不会明文传递。

得出加密算法和密钥之后,将密钥,密文长度,及其他辅助信息如上下行,序列号等作为加密算法的输入,根据算法计算,得出密钥流,然后将密钥流与密文流做异或运算,即可得出明文。

3. 当一个s1mme接口信令只有一侧的,比如detach req信令只有e-NB侧的S1-AP Id和ip时,如何关联到上文

 首先根据e-NB的ENB-UE-S1AP-ID 与ip信息,设置过滤条件,关联出S1mme接口的报文

在找到核心网侧MME-UE-S1AP-ID和IP,设置过滤条件,得出关联报文,在得出的attach request 报文里找到imsi信息。

过滤条件取再或imsi得到如下报文,可以看到有create session response报文,报文里面含有teid+ip、MSISDN、IMEI等信息。

create session response报文同时会分配上行用户面数据携带的teid+ip(这个信息会通过s1mme接口intinal context setup req消息给到enb)

4.  基本了解移动用户上网的几大流程场景:attach, S1 release, service request,pathswitch,detach等基础信令流程;同时了解到这些流程对应到手机的哪些实际行为

attach对应行为手机开机

detach对应行为手机关机

S1 release   手机与网络侧链接断开,释放上下文信息

pathswitch:请求将业务数据的通道改变,就是将源SAE bearers 中的GTP节点切换到在在目标eNodeB中新建立的SAE bearers的GTP节点(X2切换)

service request:CC呼叫控制,SSS补充业务,SMS短信

S1释放过程有以下两种方式:

  1. eNodeB发起释放,原因是操作维护干预,不明原因的失败,用户休止状态,重复RRC

信令完整性检查失败,由于UE发生的信令连接失败而引起的S1释放等;

  1. MME发起的释放,由于鉴权失败,去附着等。

1.如果eNodeB检测发现需要与手机断开信令连接和所有的无线承载,eNode会向MME发送S1 UE Context Release Request,并且包含释放原因。注意:第一步只是考虑eNodeB初始化S1释放的过程。如果是MME初始化S1 release过程,则不需要考虑这步。

2.MME发送Release Access Bearers Request到S GW,请求释放所有和手机相关的S1-U承载。此消息既可以由从eNodeB发来的S1 Release Request消息触发也可以由MME的其他事件触发。

3. S GW释放所有eNodeB相关于该手机的信息,并且向MME返回Release Access Bearers Response,手机的S GW上下文其他的元素则不受影响。S GW保留对该手机承载配置的相关信息。S GW开始缓存到手机的数据包,并且初始化"Network Triggered Service Request" 过程。

4.MME发送S1 UE Context Release Command 给e-NodeB

5.如果RRC连接已经释放了,eNodeB会发送RRC Connection Release 消息 Acknowledged Mode到手机。

6.eNodeB通过向MME发送S1 UE Context Release Complete消息确认S1 Release。通过此消息该手机在MME和eNodeB间的信令连接被断开。MME删除了所有eNodeB的从手机MME上下文中得来的信息,但保留了其他的手机的MME上下文关于S GW的 S1-U配置信息。

Service Request

1.手机向eNodeB发送NAS:Service Request,这个消息被包含在RRC消息中。RRC消息可以用来封装S-TMSI和 NAS消息。

2.eNodeB向MME转送NAS消息。NAS 消息被封装在S1-AP: Initial UE Message中。

3.

4. MME发送S1-AP Initial Context Setup Request到eNodeB。这步为活动的EPS承载激活了无线和S1的承载。

5. eNodeB 开始处理无线承载的建立过程,并且user plane的安全也是在步建立的。当user plane的无线承载被建立起来了,Service Request也就结束了EPS 承载的状态将会在手机和网络间进行同步。如果没有无线的承载被建立起来,手机应该删除EPS 承载

6. 现在手机发送的上行数据可以通过eNodeB被转发到Serving GW。eNodeB通过Serving GW地址和TEID来转发数据。Serving GW继续转发数据到Serving GW。

7.

8. MME通过每个PDN连接发送Modify Bearer Request到Serving GW。这时Serving GW可以发送下行数据到手机。如果PDN GW请求手机的位置信息,并且手机的位置信息也被改变了,MME也会在该消息中包含User Location Information。

9. 如果RAT Type和上次使用的不一致,或者手机的位置信息被包含在消息中。Serving GW应该向PDN GW发送Modify Bearer Request。

10. 如果网络中动态的部署了PCC,PDN GW可以根据RAT Type通过IP CAN Session Modification过程来获取PCC规则。如果没有部署PCC,PDN GW可以使用本地的QoS策略。

11.

接口

可选

字段

可选

注释

Initial UE Message /Service request

S1-MME

M

S_TMSI

M

值同guti,可用于关联老的流

Additional guti

O

Old guti是从P-TMSI映射的值的时候,该guti并不是MME分配的guti,此时包里带Additional guti,additional guti才是MME分配的guti

LAI

O

位置信息

Authentication Information Request/Response

S6a

O

当前的HSS中没有该用户的鉴权信息时,发起鉴权过程,S6A的包中会包含rand和key

Authentication Request

S1-MME

O

KSI

M

RAND

Authentication Response

S1-MME

O

Security Mode Command

S1-MME

O

NAS security algorithms

M

更新加密算法

KSI

Security Mode Complete

S1-MME

O

IMEISV

O

如果cmd中有IMEISV request,则complete中必须携带IMEISV。

此包开始用新的密钥加密,security header type为4,凭此判断更新密钥,并用新的密钥解密

Initial Context Setup Request

S1-MME

M

ERAB-ID

M

Initial Context Setup Response

Initial Context Setup Complete

Modify Bearer Request

S11

M

MEI

C

Serving Network

CO

Modify Bearer Response

S11

M

Cause

MSISDN

Linked EPS Bearer ID

这篇关于【3GPP】【核心网】核心网/蜂窝网络重点知识面试题二(超详细)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/893277

相关文章

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

arduino ide安装详细步骤

​ 大家好,我是程序员小羊! 前言: Arduino IDE 是一个专为编程 Arduino 微控制器设计的集成开发环境,使用起来非常方便。下面将介绍如何在不同平台上安装 Arduino IDE 的详细步骤,包括 Windows、Mac 和 Linux 系统。 一、在 Windows 上安装 Arduino IDE 1. 下载 Arduino IDE 打开 Arduino 官网

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络 服务器端配置 在服务器端,你需要确保安装了必要的驱动程序和软件包,并且正确配置了网络接口。 安装 OFED 首先,安装 Open Fabrics Enterprise Distribution (OFED),它包含了 InfiniBand 所需的驱动程序和库。 sudo