【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

相关文章

Java操作PDF文件实现签订电子合同详细教程

《Java操作PDF文件实现签订电子合同详细教程》:本文主要介绍如何在PDF中加入电子签章与电子签名的过程,包括编写Word文件、生成PDF、为PDF格式做表单、为表单赋值、生成文档以及上传到OB... 目录前言:先看效果:1.编写word文件1.2然后生成PDF格式进行保存1.3我这里是将文件保存到本地后

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

使用SpringBoot创建一个RESTful API的详细步骤

《使用SpringBoot创建一个RESTfulAPI的详细步骤》使用Java的SpringBoot创建RESTfulAPI可以满足多种开发场景,它提供了快速开发、易于配置、可扩展、可维护的优点,尤... 目录一、创建 Spring Boot 项目二、创建控制器类(Controller Class)三、运行

springboot整合gateway的详细过程

《springboot整合gateway的详细过程》本文介绍了如何配置和使用SpringCloudGateway构建一个API网关,通过实例代码介绍了springboot整合gateway的过程,需要... 目录1. 添加依赖2. 配置网关路由3. 启用Eureka客户端(可选)4. 创建主应用类5. 自定

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

SpringBoot集成SOL链的详细过程

《SpringBoot集成SOL链的详细过程》Solanaj是一个用于与Solana区块链交互的Java库,它为Java开发者提供了一套功能丰富的API,使得在Java环境中可以轻松构建与Solana... 目录一、什么是solanaj?二、Pom依赖三、主要类3.1 RpcClient3.2 Public

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择