APP下载

NB-IoT终端连接管理特性的一致性测试集设计

2018-11-06

信息通信技术与政策 2018年10期
关键词:链路一致性消息

金 舰 中国信息通信研究院泰尔终端实验室工程师

吴 星 中国信息通信研究院泰尔终端实验室助理工程师

1 引言

随着物联网产业市场的发展与成熟,其在未来经济社会发展中的战略地位也越发凸显,许多国家将其定为战略性新兴产业的重点发展领域。LPWAN(Low Power Wide Area Network,低功耗广域网)是物联网系统中的一类适用连接距离较长的广域网通信技术方案。

3GPP(The 3rd Generation Partnership Project,第三代合作伙伴计划)等国际标准组织对工作在授权频段的LPWAN技术进行了标准定义,NB-IoT(Narrow Band-Internet of Things,窄带物联网)就是其中一种重要的窄带蜂窝通信技术,作为物联网技术的重要方案之一,随着市场的发展和技术的成熟,目前NB-IoT系统商业化应用已经进入飞速发展期。在标准方面,3GPP R14版本已于2017年6月冻结,为了更好地迎合市场需求在R13的基础上NB-IoT增强技术又增加了定位和多播功能,提供了更高的数据速率,在非锚点载波上进行寻呼和随机接入,增强了连接态的移动性,同时支持更低的UE功率等级。

NB-IoT终端一致性测试成为商用终端市场化步骤中不可或缺的内容,不仅对不同厂商终端芯片的互联互通有十分积极的作用,而且能避免不同芯片终端厂商对核心协议的理解造成的偏差。本文主要介绍NB-IoT协议一致性测试框架中的RRC连接管理特性部分,设计基于TTCN-3语言的终端协议一致性测试方案。

2 TTCN-3语言与NB-IoT一致性测试框架

TTCN-3 是 ETSI(European Telecommunications Standards Institut,欧洲电信标准协会)发布的专门针对模型测试和自动化互操作性测试的开发语言,可独立于协议标准、测试方法和测试仪表在不同的硬件平台上运行,具有良好的灵活性、扩展性和可移植性。TTCN-3就是TTCN的第三个版本。

终端协议一致性测试依赖大量的信令交互,在TTCN-3实现中,这些来往于协议栈各层间的信令由消息模板承载,通过在相关协议层中控制和比对信令消息模板给出测试的判决结果。

TTCN-3执行测试例流程主要涉及到主控制部分和测试例部分。主控制部分包含运行测试例的一些初始化信息,保证各个功能模块能正常运作。测试例代码编写部分和C代码思路类似,只是使用TTCN-3的语法。

NB-IoT协议一致性测试系统仍沿用LTE系统架构如图1所示,TTCN-3代码运行于Host PC之上,控制硬件平台SS(系统模拟器)的行为。SS主要用来模拟网络侧的PDCP/RLC/MAC层和射频部分。

3 NB-IoT RRC连接管理特性与测试模型

图1 终端协议一致性测试系统架构图

NB-IoT的协议栈仍基于LTE设计,根据物联网的特性,去掉了一些不必要的功能,减少了协议栈处理流程的开销。为简化信令交互,NB-IoT的无线接口协议栈提出了两种EPS优化方案:一种称为控制面CIoT EPS优化,最大的特点是通过NAS信令传输数据,减少控制面的消息总数,此方案具有强制性,在不激活用户面的情况下,将用户数据或SMS直接封装在NAS消息中通过SRB传输;另一种称为用户面CIoT EPS优化,基于用户面传输用户数据,此方案是可选项。

传统的RRC(Radio Resource Control,无线资源控制)层支持空闲和连接两种状态。由于NB-IoT不支持不同技术间的切换,RRC状态模式相对简单。与LTE系统相比,NB-IoT的RRC连接态也在LTE系统的基础上减少了以下功能:网络对切换、测量报告等移动性的控制;寻呼和系统消息的监听;信道质量的反馈等。另外,NB-IoT的RRC空闲态存在以下变化:新增RRC Suspend/Resume过程、不支持终端空闲态的DRX等。当基站释放连接时,基站会下达指令让NB-IoT终端进入Suspend模式,该Suspend指令带有一组Resume ID,此时终端进入Suspend模式并存储当前的AS Context。当终端需要再次进行数据传输时,只需要在RRC Connection Resume Request中携带Resume ID,基站即可通过此ID来识别终端,并跳过相关配置信息交换,直接进入数据传输。此过程不仅大大减少了信令开销,还延长了终端的电池寿命。

在最新发布的R14版本中,NB-IoT新增了支持CP模式下的RRC重建来实现业务态切换,即NB-IoT在CP模式、AS层安全性未激活情况下,支持RRC Connection Reestablishment,恢复 SRB1bis和数据传输。System Information Block Type2-NB通过CPR eestablishment字段指示小区是否允许重建,当发生无线链路失败时,UE请求RRC Connection Reestablishment。

当eNB收到CP模式下RRC Connection Reestablishement Request后,在S1接口上把UE相关信息(S-TMSI UL-NAS-MAC UL-NAS-Count等)发送给MME。MME校验UL-MAC信息,如果通过则生成DL-NAS-MAC,下发给基站。由基站下发RRC Connection Reestablishment,包括dl-NAS-MAC。如果校验失败,则认为恢复失败,离开RRC连接状态,如果校验成功,UE使用配置的专用无线资源,UE恢复SRB1Bis,具体流程如图2所示。

由于协议一致性测试的特殊性,对于RRC层及以上的协议一致性测试,TTCN-3模拟网络侧行为,SS使用正常功能的底层配置。NB-IoT RRC测试模型如图3所示,本模式下将终端设置为正常模式,启用包括完整性保护与加密保护的NAS安全,但不配置ROHC。对于用户面,启用PDCP和AS安全,同样包括完整性保护与加密保护。网络侧的物理层、MAC层和RLC层配置为正常模式即可,保证实现各自功能。SRB0的下行端口和上行端口均在RLC层之上;SRB1的端口位于RRC/NAS仿真器之上;SRB1bis的端口位于RRC/NAS仿真器之下。这里的RRC/NAS仿真器作为一个并行测试组件,对NAS消息提供加密和完整性功能。对于用户面,PDCP层配置为正常模式,DRB端口位于PDCP层之上,启用AS安全。同时,TTCN代码中还要通过系统控制端口对上行调度授权和下行调度分配进行配置。

图2 CP模式下的RRC重建

图3 NB-IoT RRC层测试模型

4 用例无线链路失败的设计与实现

为保障终端协议栈实现的完整性,NB-IoT协议一致性测试用例采用对每个协议层单独测试的方法。NB-IoT的RRC层测试用例集中在TS 36.523-1中的第22章,本节以无线链路失败为例,体现RRC连接重配的TTCN-3设计过程。

终端在进行RRC连接建立过程、RRC连接恢复过程、RRC连接重建立过程和RRC连接重配过程中,可以通过专用无线资源配置(例如,RRC连接建立消息、RRC连接恢复消息、RRC连接重建立消息和RRC连接重配置消息等)获取无线链路失败检测以及空口无线链路恢复需要的参数,包括N310、N311、T301、T310及T311,相关参数如表1所示。

表1 参数表

当检测到定时器T310超时,终端认为发生了无线链路失败,如果未激活接入层安全,则终端通知NAS层发生了RRC连接失败进入空闲态,如果已经激活接入层安全,则终端发起RRC连接重建立过程。根据以上特征完成以下测试流程设计如图4所示。

完整测试例的代码设计,主要完成以下4个部分:

(1)测试数据类型定义,包括:消息结构、IE(信息元素)结构、内部数据结构。

(2)实际测试数据的构建,包括:常量和模板、消息及参数值、消息及参数的匹配表达。

(3)测试配置的定义和管理建立:定义测试组件(Component)、定义测试端口(Port)、测试组件动态管理:测试组件到抽象测试系统接口的映射、测试组件接口间的连接、测试组件的创建与终止。

(4)测试流程的实现,包括:消息收发、过程函数的计算、测试结果验证判决。

其中,一个测试流程对应一个TTCN-3函数。根据以上思路设计无线链路失败的大致检验步骤如下:

●设置初始小区功率。

●等待10s(需设计时长>T310+T311+不同步情况的时间)。

●改变小区功率满足注册条件。

●检查终端是否在合适小区上发送RRCConnection Request-NB。

●UE进行TAU过程,释放RRC连接。

●通过配置的SRB发送RRC连接重配置消息。

●等待UE发送RRCConnection Reconfiguration Complete-NB消息。

●测试例判决。

●释放小区,关机结束。

在测试例初始化配置阶段,首先需初始化NB-IoT系统配置。通过函数f_NBIOT_Init(c1,USER_PLANE)对所有小区、安全性、移动性参数进行初始化。

测试前言部分,创建NB-IoT小区,通过函数f_NBIOT_CellConfig_Def完成Ncell1和Ncell2创建和配置。f_NBIOT_CellInfo_GetSIB2()和f_NBIOT_CellInfo_SetSIB2()获取Ncell1和Ncell2小区参数并修改t311_r13的值为ms30000后重新设置Ncell1和Ncell2的SIB2-NB消息如表2所示。

图4 RRC代码设计流程

在测试开始前,f_UT_Switch OnUE(UT,false)打开UE,f_NBIOT_CellInfo_GetGuti()获取小区的GUTI(全球唯一临时UE标识)并且在小区上完成注册前两步流程。该测试例检测支持用户面优化的终端,所以还要激活接入层(AS)安全。然后,使用函数f_NBIOT_NAS_Attach Complete_UP()完成预置条件部分。

表2 SIB2-NB消息

测试主体部分流程不再赘述,主要实现函数如下:通过函数f_NBIOT_SetCell PowerList()配置调整小区功率,f_NBIOT_Tracking Area Update()发起跟踪区域更新至新小区;通过函数f_NBIOT_Generic RbEst()建立无线承载;通过函数f_NBIOT_SS_RRC_Release Security(),f_NBIOT_SS_SRBs_DRBs_Reset()释 放RRC安全、SRB、DRB,重新配置SRB、DRB;系统通过f_NBIOT_ActivateDRBs_RRCConnection Reconfig()发送RRC重配消息。

最后,通过函数f_NBIOT_TestBody_Set(false)表示测试主体结束,函数f_NBIOT_Postamble()完成测试条件复位,命令终端关机。

5 结束语

基于以上设计,通过仪表供应商提供的代码调试工具实现用例编译和运行,得到仪表输出的测试结果。经过分析测试日志对比特殊消息,得出验证正确的测试判决结果与预期相符。

本文结合TTCN-3核心语言,重点关注NB-IoT协议一致性测试中的RRC连接管理内容和流程设计。测试集作为GCF规定的终端进行一致性测试谁时必须使用的标准测试使其代码,是仪表唯一的运行脚本和调试参考,深入理解协议重点流程的设计和实现,对推动NB-IoT终端一致性测试的发展以及NB-IoT设备的成熟商用能起到良好的推动作用。

猜你喜欢

链路一致性消息
关注减污降碳协同的一致性和整体性
注重教、学、评一致性 提高一轮复习效率
天空地一体化网络多中继链路自适应调度技术
IOl-master 700和Pentacam测量Kappa角一致性分析
基于星间链路的导航卫星时间自主恢复策略
一张图看5G消息
基于事件触发的多智能体输入饱和一致性控制
消息
消息
消息