当前位置: 首页 > news >正文

【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】【核心网】核心网/蜂窝网络重点知识面试题二(超详细)

1. 欢迎大家订阅和关注,3GPP通信协议精讲(2G/3G/4G/5G/IMS)知识点,专栏会持续更新中.....敬请期待! 目录 1. 对于主要的LTE核心网接口,给出运行在该接口上数据的协议栈,并给出协议特征 2. 通常…...

R语言记录过程

如何使用这个函数as.peakData 函数构造过程 出现问题是缺少函数的问题 up不告诉我,这里是代表c,h,o的值,你从里面获取把值,设置成c,h,o就可以了 现在开始测试参数 第一次 startRow : 开始查找数据的第一行。不管startRow的值是多少&#xff…...

【leetcode面试经典150题】36. 旋转图像(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致&…...

AOP 面向切面编程 入门练习

编写过程 添加依赖 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><…...

【Qt】:对话框(一)

对话框 一.基本的对话框二.自定义对话框三.通过图形化界面自定义对话框四.关于对话框mode 对话框是GUI程序中不可或缺的组成部分。一些不适合在主窗口实现的功能组件可以设置在对话框中。对话框通常是一个顶层窗口&#xff0c;出现在程序最上层&#xff0c;用于实现短期任务或者…...

数据结构与算法 — 贪心算法

数据结构与算法 数据结构与算法是计算机科学中的两个核心概念&#xff0c;它们在软件开发和问题解决中起着至关重要的作用。 数据结构 数据结构是计算机中存储、组织和管理数据的方式&#xff0c;它能够帮助我们高效地访问和修改数据。不同的数据结构适用于不同类型的应用场…...

python如何连接openGauss及django相关配置

前言 网络上很多类似教程&#xff0c;但是有可能不适用。这里给出官网的教程当作参考网络上的方案 安装psycopg2包。 pip install psycopg2 -i https://pypi.tuna.tsinghua.edu.cn/simple 安装完成后&#xff0c;导入包即可使用import psycopg2# Connect to your postgres DB…...

​开箱子的游戏能做吗?

类似寻道大千、咸鱼之王、无名之辈、疯狂骑士团这种类型的游戏,大家应该都知道吧,目前非常受欢迎. 这类游戏注重玩家的成长感和探索体验,玩家在进入游戏后&#xff0c;就能够直接开启宝箱获得各种装备&#xff0c;装备的品质越好、级别越高&#xff0c;能为角色带来的属性加成…...

一、Spring基础 --- 基础内容(二) (咕P4)

一、IOC容器 1.1 基础 1.1.1 容器 1、Spring框架的主要功能是通过其核心容器来实现的。2、Spring容器是生成Bean的工厂&#xff0c;它负责创建Bean的实例&#xff0c;并管理其生命周期。所有的组件都被当成Bean处理&#xff0c;例如数据源、Hibernate的SessionFactory、事务管…...

uview2 表单Form校验validate不生效处理方法

先贴官网实例&#xff1a; <template><view class""><u-form :model"form" ref"uForm"><u-form-item label"姓名" prop"name"><u-input v-model"form.name" /></u-form-item&g…...

给已存在的docker容器修改端口映射

1、systemctl stop docker 2、find / -name hostconfig.json 3、cd * 4、vim hostconfig.json 5、找到“PortBindings”字段&#xff0c;如下所示&#xff1a; "PortBindings":{"80/tcp": [{ //容器内端口"HostIp": "","…...

【Keil5-调试】

Keil5-调试 ■ 好的链接■ watch窗口中&#xff0c;变量值不会刷新■ 当选择了非0级优化时■■ ■ 好的链接 参考地址&#xff1a; debug ■ watch窗口中&#xff0c;变量值不会刷新 有时候在watch窗口中&#xff0c;变量值不会刷新&#xff0c;这时候就需要查看一下"V…...

OpenHarmony分布式软总线API调用测试工具 softbus_tool使用说明

softbus_tool 是 OpenHarmony 分布式软总线 API 调用测试工具&#xff0c;文件结构如下图所示。 softbus_tool 能够将软总线 interfaces 目录下的一些常用接口集中起来&#xff0c;供设备间搭建一些场景时使用&#xff08;比如设备绑定、BR 组网&#xff0c;BLE 组网&#xff…...

Go第三方框架--ants协程池框架

1. 背景介绍 1.1 goroutine ants是站在巨人的肩膀上开发出来的&#xff0c;这个巨人是goroutine&#xff0c;这是连小学生都知道的事儿&#xff0c;那么为什么不继续使用goroutine(以下简称go协程)呢。这是个思考题&#xff0c;希望讲完本文大家可以有个答案。 go协程只涉及用…...

【原创】springboot+vue个人财务记账管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…...

MySQL基础练习题:习题2-3

这部分主要是为了帮助大家回忆回忆MySQL的基本语法&#xff0c;数据库来自于MySQL的官方简化版&#xff0c;题目也是网上非常流行的35题。这些基础习题基本可以涵盖面试中需要现场写SQL的问题。上期帮助大家建立数据库&#xff0c;导入数据&#xff0c;接下来让我们继续练习。 …...

超图SuperMap-Cesium,地形图层,可以渲染一个或多个地形(地形可缓存DEM,TIN方式),webGL代码开发(2024-04-08)

1、缓存文件类型TIN格式&#xff0c;TIN的地形sct只能加一个 const viewer new Cesium.Viewer(cesiumContainer); viewer.terrainProvider new Cesium.CesiumTerrainProvider({isSct: true, // 是否为iServer发布的TIN地形服务,stk地形设置为falserequestWaterMask : true,…...

PCB学习记录---原理图

一、注释 NC&#xff1a;no connect,默认不连接 NF: no fix&#xff0c;默认不安装 0R: 0R的电阻&#xff0c;即可以短路 二、看图流程 1、看标题&#xff0c;了解功能 2、浏览有几个模块 3、找芯片对应的数据手册&#xff0c;了解芯片功能和使用 例如CH224&#xff…...

结构型模式--3.组合模式【草帽大船团】

1. 好大一棵树 路飞在德雷斯罗萨打败多弗朗明哥之后&#xff0c;一些被路飞解救的海贼团自愿加入路飞麾下&#xff0c;自此组成了草帽大船团&#xff0c;旗下有7为船长&#xff0c;分别是&#xff1a; 俊美海贼团75人 巴托俱乐部56人 八宝水军1000人 艾迪欧海贼团4人 咚塔塔海…...

网络基础三——其他周边问题

3.1ARP原理 ​ ARP不是一个单纯的数据链路层的协议&#xff0c;而是一个介于数据链路层和网络层之间的协议&#xff1b; ​ 以广播的形式(主机号填成全1)构建Mac帧&#xff0c;发送ARP请求包&#xff0c;告诉所有在局域网的主机我的IP地址和Mac帧&#xff0c;与目的IP相同的主…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...