陈悦林,杨喜宁
近年来,移动通信技术迅猛发展[1-3]。作为实现全球移动通信的一种重要手段,卫星移动通信比地面移动通信具有覆盖范围更广、不受地理条件和通信距离限制等优势。GMR-1 3G标准是面向地面的3G标准,是为实现GEO卫星移动通信系统与地面3G核心网互联而制定的[4]。信关站无线接入网作为GME-1 3G无线空中接口的核心节点,包含协议转换、连接控制和资源分配等复杂功能。对于信关站协议栈的开发者来说,随着系统的不断升级,为了保证软件质量和可靠性,控制项目开发的风险,需要对信关站软件进行大量测试。一方面,在系统整体功能趋于完整时,需要对多个协议处理单元协作的信关站无线接入网部分的协议处理功能进行整体测试验证,同时后续的软件版本更新需要进行回归测试;另一方面,为了保证信关站无线接入网系统的健壮性,需要检验其达到或超过其设计的最大负载情况下的特性表现。
本文介绍的卫星移动通信信关站信令分析系统,是针对卫星移动通信信关站的研发测试而设计开发的一款测试软件,应用于信关站的整体协议流程测试和压力测试。使用该信令分析系统,将减小信关站软件在集成测试时的测试难度,缩短研发周期。
图1介绍了GMR-1 3G系统的网络结构。整个系统包括了地球同步轨道卫星、信关站GS(Gateway Station)、核心网、移动地面终端MES、卫星操作中心SOC(Satellite Operation Center)等。信关站是卫星通信系统的核心构件,由信关站收发子系统GTS(Gateway Tranceiver Subsystems)和信关站控制器GSC(Gateway Station Controller)构成[5]。GSC作为一个强大的业务控制点,包含无线信道管理、呼叫实施等功能,并管控着多个GTS实体。GTS则主要完成无线传输、无线与有线的转换等功能。
图1 GMR-1 3G网络结构
卫星移动通信信关站信令分析系统的整体结构如图2所示。
图2 信关站信令分析系统结构
信关站GSC模块作为信关站信令分析系统的被测对象,其协议流程的验证通过模拟终端来实现对等通信。GMR-1 3G协议栈分为用户面和控制面,传输内容分别为业务数据(如通话、上网数据)和控制信令(如入网流程信令)[6]。对于单个终端来说,验证信关站的相关协议处理功能,主要体现为能否支持该终端接入到网络以及正常进行业务流程。压力测试主要是验证被测试对象处于重压下的特性表现。对于无线产品负荷,主要由呼叫强度(单位时间内发生的呼叫次数)、话务量(相同时间内单位内呼叫强度与呼叫保持时间的乘积)等方面来决定[7]。因此,对信关站信令分析系统来说,支持对信关站的协议流程分析和压力测试所要实现的功能,可以归结为实现多个模拟终端的接入和正常通话流程。
整个信关站信令分析系统包含三大模块,分别为模拟终端、系统同步模块以及模拟GTS模块。
模拟终端模块实现终端协议处理的软件功能。模拟终端模块由三个子模块组成,分别为业务触发子模块、协议处理子模块和物理层控制子模块。每个子模块为一个进程。
2.1.1 业务触发模块
对移动地面终端MES来说,AT(Attention)命令是应用操作系统与终端协议栈进行交互的指令。用户通过AT命令控制终端进行呼叫、短消息、分组数据等业务的操作[8]。终端在开机入网后,若没有用户的业务发起,则会保持空闲模式,处理控制面的协议流程。因此,对于信关站信令分析系统来说,要验证终端的业务流程,需要设计一个模块模拟相应的AT命令触发终端的业务。
业务触发模块是测试者与模拟终端进行交互的模块。测试者通过键盘输入对模拟终端进行相应的业务控制。
2.1.2 协议处理模块
协议处理子模块是模拟终端部分的核心模块,是按照GMR-1 3G终端协议搭建的模块,包含终端协议栈物理层以上(MAC/RLC/PDCP/RRC/NAS)的协议处理功能。接收到业务触发子模块命令后,协议处理子模块通过其内部相应子模块的协作处理,将相关数据经过层层封装交付给物理层控制模块。
2.1.3 物理层控制模块
物理层控制模块是模拟终端与信关站的接口适配模块,其与终端上层的交互采用PHY-MAC接口。对于实际终端来说,上层下发的数据经过物理层的编码调制等过程后,通过调度在特定时刻从射频天线发送出去。对于上层信令的传输来说,物理层提供的仅是传输的通道。因此,从信令分析验证来的角度来说,基带处理过程可以简化。该模块在设计上采用抽象物理层的方式,省略了基带处理过程,并重新定义与信关站侧的接口,通过IP传输协议与信关站侧交互。
GMR-1 3G系统是一个TDMA(Time Division Mutiple Access)系统,其帧结构为每个时隙5/3 ms,每个帧40 ms(24个时隙)[9]。启动阶段,MES首先要进行与网络的同步过程,具体为寻找和接收每个点波束发送的FCCH(Frequency Correction Channel)进行粗同步,然后监听BCCH(Broadcast Control Channel)将终端的本地时间同步到系统时间,并获得初次接入网络的指引信息。
真实环境中,由于无线传输环境较为复杂和数据传输具有较大的时延性,同步过程的实现较为复杂。相比真实的传输环境,有线传输环境在以上两个方面具有明显优势。因此,信关站信令分析系统在设计上遵循简化的思路,采用一个系统同步模块来实现信关站模块与模拟终端模块的同步。它的作用是按照协议的规定,产生帧定时和时隙定时作为系统时间,广播给信关站模块和模拟终端模块。获得统一时间的信关站模块和模拟终端模块,可以依照协议的规定和资源的分配,在特定的时间点上收发数据完成交互。
模拟GTS模块是对信关站GTS的模拟,主要是作为信关站GSC对模拟终端的接口适配模块。在设计与终端模块的交互部分时,需要考虑支持多个终端接入和区分不同终端的问题。对于多个终端接入问题,首先要对真实环境中信关站发送给不同终端的消息进行区分。系统广播消息是信关站以固定的时间间隔发送给点波束内所有终端的消息,对所有终端用户都可见;而单用户消息则是信关站发送给特定终端用户的消息,主要是用户在进行业务流程时从网络获得的消息。对模拟真实环境的信关站信令分析系统来说,为了满足系统广播消息和单用户消息区分发送的需求,将模拟GTS模块与模拟终端模块的交互接口设计为两个,其中针对系统广播消息的接口设计为一对多的交互接口,如图3所示。对于区分不同终端的问题,终端在需要发送上行数据(一般为发起业务)时,会先向信关站发起随机接入请求。信关站在接收到请求后,调用相应算法为终端分配物理资源,然后通过广播信道告诉该终端可以上发数据的时间。在满足定时和同步的条件下,信关站可以分割在各个时隙中接收到各移动终端的信号而不干扰。因此,信关站信令分析系统在基于系统同步模块实现同步的情况下,终端上发数据的时间通过信关站GSC的调度分配,GSC可以区分不同终端。
图3 模拟GTS模块接口结构
ZeroMQ像一个对用户友好的socket编程库,提供了进程通信的API、套接字和模式,使得socket编程更加简单、简洁和高性能。相比于传统的端到端的socket编程,ZeroMQ提供的四种编程模式不仅可以支持一对一通信,还能实现一对多甚至多对多通信[10]。
ZeroMQ的socket类型按照消息通信模式来划分,常用的通信模式为请求回应模型、发布订阅模型、管道模型和PAIR模式。另外,ZeroMQ提供了1组单播协议(inproc,ipc,tcp)和2个广播协议(epgm,pgm)。每种通信模式可以支持一到多种通信协议,使用者可以根据需求进行选择。
在卫星移动通信信关站信令分析系统中,系统同步模块和模拟GTS模块在与被测的信关站GSC模块交互部分,采用GSC模块提供的接口。卫星移动通信信关站信令分析系统的其他模块间交互,统一采用ZeroMQ的交互方式。模拟GTS模块对终端发送广播消息和系统同步模块进行定时消息广播,两部分接口采用了ZeroMQ的发布订阅模型。这种模式用于一对多的单向数据发布,好处是如果订阅端尚未连接,则广播消息会被直接丢弃,不会造成消息堆积。由于要对多个终端进行系统消息的广播,该接口使用组播协议epgm作为传输协议,只要终端加入了该多播组,就能接收到系统消息。其他模块间交互接口采用ZeroMQ的PAIR套接字。该模式仅能支持传统的一对一通信,但使用较为简单,且能满足模块之间的交互需求,协议采用支持进程间通信的TCP。
系统模拟终端侧的业务触发模块采用Python语言编写而成,其他模块用C语言进行开发。系统整体运行在安装了Linux操作系统的通用处理器平台上,模拟终端模块和系统同步模块运行在CPU频率为2 000 MHz的双核服务器上。系统同步模块的实现,对系统的实时性具有一定要求。因此,该服务器使用的Linux内核版本为3.19。该版本具有低时延特性,能满足信关站信令分析系统的要求。模拟GTS模块由于要满足与多个终端交互的需要,对硬件平台并行处理的要求较高,因此其运行环境为四核心的主频为3.6 GHz的服务器。
这里对多个终端的入网流程和终端间的通话业务流程进行验证。测试结果通过测试者使用wireshark软件从GSC模块的以太网口捕获数据,并解析显示进行分析。
首先,验证多个模拟终端的入网流程。这里以两个终端为例。模拟GTS模块先读入配置文件(包含终端个数,使用端口),建立相应的套接字进行监听。其次,启动模拟终端进程,其接入过程如图4所示。信关站与终端进行随机接入的交互流程后,建立起RRC连接,然后终端与核心网进行NAS层的位置更新等交互流程,随后释放RRC连接完成终端入网过程。图4的前16条语句展示了该流程,其为终端1的入网流程;终端2的入网流程为后16条语句,与终端1的一致。
图4 终端入网流程
两个终端入网后,通过向业务触发模块输入命令,控制其中一个终端向另一个终端发起通话。发起通话到通话结束的信令流程,依次如图5、图6和图7所示。首先,终端1通过业务触发模块向终端2发起呼叫,到图5的RADIO BEARER SETUP COMPLETE语句,说明了终端1与信关站建立起RRC连接,并且获得了无线资源,然后终端通过核心网发起寻呼。图6的前两条语句说明,核心网收到了终端2的寻呼回复消息。然后,信关站为终端2分配无线资源,到图6的最后一条语句,说明终端2振铃。此时,测试人员通过终端2的业务触发模块控制接听,通话建立完成。图7的第一条CC Disconnect语句表明,通话中的其中一方发起了挂断,到最后资源释放完成,至此通话流程结束。
图6 寻呼到振铃
图7 连接然后释放
本文给出了卫星移动通信信关站信令分析系统的设计和实现过程,通过模拟终端和模拟信关站GTS对信关站GSC进行信令分析,最后通过多个终端的入网流程,验证和终端间的通话业务流程,说明该信令分析系统对信关站进行功能测试(协议处理)和性能测试(压力测试)具有可行性。因此,卫星移动通信信关站信令分析系统的成功搭建,将给信关站软件的后续研发带来极大便利。
[1] Zhou Y,Liu H,Pan Z,et al.Spectral and Energy Efficient Two-Stage Cooperative Multicast for LTE-A and Beyond[J].IEEE Wireless Magazine,2014(04):34-41.
[2] Liu L,Zhou Y,Tian L,et al.Load Aware Joint CoMP Clustering and Inter-cell Resource Scheduling in Heterogeneous Ultra Dense Cellular Networks[J].IEEE Trans. Vehicular Technology,Early Access,2017,99(11):1-14.
[3] Garcia V,Zhou Ya,Shi J L.Coordinated Multipoint Transmission in Dense Cellular Networks with User-Centric Adaptive Clustering[J].IEEE Trans. Wireless Comm.,2014,13(08):4297-4308.
[4] 夏雷,施扬,徐子平等.基于GMR-1 3G系统的RRC层研究[J].电子质量,2014(11):1-4,8.XIA Lei,SHI Yang,XU Zi-ping,et al.Study on RRC Layer Based on GMR-1 3G System[J].Electronic Quality,2014(11):1-4,8.
[5] 刘鸿展.GMR通信系统无线资源控制层协议软件的设计与实现[D].哈尔滨:哈尔滨工业大学,2014.LIU Hong-zhan.GMR Communication System Wireless Resource Control Layer Protocol Software Design and Implementation[D].Harbin:Harbin Institute of Technology,2014.
[6] 李恒锐.基于多核处理器的GMR协议栈数据链路层设计与实现[D].成都:电子科技大学,2016.LI Heng-rui.Design and Implementation of Data Link Layer of GMR Stack Based on Multi-core Processor[D].Chengdu:University of Electronic Science and Technology of China,2016.
[7] 邓庆.软件测试在基站话务量上的应用[D].西安:西安电子科技大学,2013.DENG Qing.Software Testing in the Base Station Traffic Volume Application[D].Xi’an:Xidian University,2013.
[8] 范林涛.基于正则表达式的AT命令协议栈设计[J].计算机与网络,2015,41(15):44-47.FAN Lin-tao.Design of AT Command Protocol Stack Based on Regular Expression[J].Computer and Network,2015,41(15):44-47.
[9] 程宇新.新一代GEO卫星移动通信新标准GMR-1 3G简介[C].第六届卫星通信新业务新技术学术年会论文集,2010:6.CHENG Yu-xin.A New Generation of GEO Satellite Mobile Communication Standard GMR-1 3G[C].Sixth Symposium on Satellite Communication New Business Technology,2010:6.
[10] 刘号,张新晨,李中年.基于LCM与ZeroMQ的进程间通信研究[J].电子科学技术,2016,3(04):480-483.LIU Hao,ZHANG Xin-chen,LI Zhong-nian.Research on Interprocess Communication Based on LCM and ZeroMQ[J].Journal of Electronics Science and Technology,2016,3(04):480-483.