0引言
LTE(Long Term Evolution)是UMTS技术标准的长期演进,3GPP组织在2004年12月正式立项启动。为达到系统高速率、低时延等要求,对空中接口和系统架构进行了重新设计,来更好地应付如今呈爆炸式增长的数据流量需求。因此空中接口协议栈软件的开发显得极其重要,其软件性能更是直接关系到了网络的服务质量和用户体验。随着LTE网络的商用临近,更多的厂商将加入LTE协议栈软件的研发。
本文介绍了一种应用在LTE协议栈系统软件开发过程的测试和调试的模型,并给出了测试模型的应用结果。该模型以LTE接入网标准架构为原型,分层调试为思想,多彩模块化打印为手段,具有环境简易、调试方便的特点,对协议栈软件调试和分析具有良好的辅助作用。
1 LTE协议栈架构
LTE系统由核心网络(EPC)、无线网络(E-UTRAN)和用户设备(UE)构成。基站(eNodeB)之间通过X2接口相连组成接入网,其空口协议栈分为控制面和用户面,图1是控制面的架构,用户面与控制面架构类似。
NAS层、RRC层统称为L3层,主要负责信令和无线资源控制。PDCP层[4]、RLC层[5]、MAC层统称为L2层,主要负责数据链路,PHY层则是向高层提供数据传输服务。
图1 LTE空中接口控制架构图
2测试过程分析
2.1测试环境
测试环境模拟LTE系统架构来搭建,分别为移动管理实体(MME)/服务网关(SGW)、eNodeB和UE,整体的测试框架如图2所示,主要分为L2/L3高层协议测试和L1/L2/L3层协议测试两部分。本文测试中使用了中国科学院计算技术研究所无线通信技术中心自主研发的LTE终端协议栈软件、LTE Femtocell协议栈软件和LTE网关软件。为便于分析问题,采用了单用户模式举例,多用户情况以此类推。
图2 协议测试环境
2.2分层测试
LTE协议栈软件功能众多,按照分层化思路进行调试分析是一个不错的开始。先分别进行单层测试,确保各层功能的正确与稳定性,然后再逐层递加进行测试。
L2层数据链路通过后,再开始信令面和用户面的测试。在定位棘手的问题时,一层一层追踪数据流向,可以达到事半功倍的效果。举例来说,在测试下行用户面时,首先确认基站PDCP层是否收到数据包,确认后查看数据有没有通过PDCP层转发下去;如果PDCP层没有问题,数据是否到达RLC层;如果到达RLC层,MAC层是否进行调度发送。
2.3网络封包捕获解析
网络封包捕获解析程序可从以太网卡中捕获数据流并进行解析显示。这里推荐使用wireshark,它是一款常用的优秀开源网络封包分析软件,提供了自定义协议解析插件的编程接口,可以让使用者开发适用于自定义协议的插件。目前wireshark中已经提供了RRC层、PDCP层、RLC层、MAC层的解析插件,只需要在协议数据包前加上特殊的解析包头即可调用解析,看到各个消息的名称和字段的值。在抓包以后,可以将抓包另存为pcap文件,方便下次查看。尤其在L1/L2层集成测试时,MAC/PHY API接口是处理MAC层消息,控制并调度PHY物理层链路处理的重要接口,MAC/PHY API的高效性和完备性直接影响到物理层处理的效率和正确性。