时间:2024-07-06
张萃珍,刘敬盼,刘 莉,饶连周
(1.三明学院 机电工程学院,福建 三明 365004;2.中国移动(深圳)有限公司,广东 深圳 518048;3.三明学院 信息工程学院,福建三明 365004)
基于开源项目的GPRS系统的设计研究
张萃珍1,刘敬盼2,刘 莉3,饶连周1
(1.三明学院 机电工程学院,福建 三明 365004;2.中国移动(深圳)有限公司,广东 深圳 518048;3.三明学院 信息工程学院,福建三明 365004)
设计了一个基于开源项目GPRS系统。主要是基于升级的OpenBTS项目,并且引入OpenBSC和OpenGGSN的项目来处理分组业务。对现有OpenBTS系统进行了软件升级,包括实现具有全功能的软件PCU,重新配置通道资源,添加或修改必要的控制消息等。本工作有助于OpenBTS项目的开发和其应用程序的扩展。
GPRS;PCU;OpenBTS;OpenBSC;OpenGGSN
GPRS(general packet radio service)是通用无线分组服务系统的简称,其涵盖从56~114 kbps的数据速率和用于移动电话和计算机用户到因特网的持续连接。GPRS是基于GSM(global system for mobile communications全球移动通信系统)并对现有服务进行补充。它用于移动互联网,多媒体消息服务和其他数据通信。在理论上,自从通信信道共享使用以来,用户使用GPRS分组服务比电路交换服务更便宜。由于数据速率更快,因此移动用户可以更轻松地使用应用程序。 随着GPRS已经变得更广泛可用,连同其他2.5G和3G服务,虚拟专用网络的移动用户已经能够通过无线访问专用网络,而不用通过固定的拨号连接。
基于OpenBTS(ppen base transceiver station)项目和其他开源项目,构建了一个基于软件的GPRS系统,它可以作为一种新型蜂窝网络安装和操作,相比当前技术,大大降低了成本(约1/10),并且仍然与当前市场上的部分手机兼容。由于比传统GPRS系统低得多的成本和更低复杂性的原因[1],本研究可以应用于在发展中国家的偏远地区和蜂窝部署中的专用网络应用。此外,OpenBTS可以很好地支持GPRS和EDGE(enhanced data rate for GSM evolution),这也是通过通用软件无线电外设与Unix应用程序来实现完整的GPRS系统。
OpenBTS项目是工作的核心组件,它是一个开源的Unix应用程序,使用软件定义的无线电(如USRP,universal software radio peripheral,通用软件无线电外设)向标准GSM手机提供GSM空中接口。它运行在 GNU Radio(开源软件无线电)上,并使用软件用户交换机(如Asterisk)连接呼叫。OpenBTS是具有会话发起协议(SIP)网络接口和集成的无线电资源管理功能的GSM网络侧协议栈,与传统的GSM系统相比,OpenBTS将其运营商网络交换子系统基础设施从基站收发信机(BTS,base transceiver station)向上取代。代替将呼叫流量转发到运营商的移动交换中心(MSC,mobile switching centre),通过经由SIP和IP语音(VoIP)将数据转发到Asterisk PBX上,在同一个终端上终止呼叫。OpenBTS是一个全软件系统,包括一个软件定义的无线电,提供了完整的源代码并可移植到任何POSIX(portable operating system interface of UNIX,可移植操作系统接口),环境,它是高度可配置的,并允许客户通过其他接口实现定制功能。标准的OpenBTS是基于修改的USRP无线电硬件和安装了软件GNU Radio和Astersik PBX的个人计算机来实现。
USRP是一种硬件设备,使工程师能够快速设计和实施强大、灵活的软件无线电系统。整个USRP设计是开源的,包括原理图、固件、驱动程序,甚至FPGA和子板设计。用于GPRS系统实现的USRP设备是能够托管多个子板的通用主板。对于实现在900MHz频带中进行发射是必要的。因此,需要两个RFX900子板,一个用于发射,另一个用于接收。这两个板都连接到带有VERT-900天线的双工器上。
GNU Radio是一个开源的软件无线电平台。这个项目的主要思想是将所有硬件问题转换为软件问题。当与开源USRP硬件结合时,它提供了一个完整的开发环境来创建自己的无线电,处理所有的硬件接口,多线程和可移植性问题。
Asterisk是用于构建通信应用的开源框架。Asterisk将普通计算机变成通信服务器,它可以配置为IP或混合PBX的核心,切换呼叫,管理路由,启用功能,以及将呼叫者与外部世界连接。
此外,为了构建GPRS系统的核心网络,需要开源项目OpenBSC和OpenGGSN。OpenBSC是BSC(Base Station Controller,基站控制器)的A-bis协议实现。Osmo SGSN(serving GPRS support node, GPRS服务支持节点)也可拼写成osmo-sgsn,它是OpenBSC分布式版本控制系统存储库的一部分[2]。它是GPRS服务GPRS支持节点(SGSN)的自由软件实现。因此,它实现了GPRS移动性管理和会话管理(SM,session management)。
会话管理OpenGGSN(gateway GPRS support node,网关GPRS支持节点)是GPRS支持节点的开源实现。它被移动运营商用作互联网和移动网络基础设施的其余部分之间的接口。OpenGGSN提供3个组件:gtplib,ggsn和sgsnemu。gtplib是包含与GPRS通道协议(GTP)协议相关的所有功能的库。ggsn实现了网关GPRS支持节点(GGSN),但是缺少诸如计费和管理的功能。但是,它不会影响使用此应用程序来构建自己的GGSN[3]。本实验没有使用sgsnemu模拟一个SGSN。
在研究中,USRP2是更合适的,因为与以太网连接它能提供高带宽,高动态范围处理能力。
2.1 全局协议栈
基于现有的GSM系统,为了构建基于分组的移动蜂窝网络,引入了几个新的网络元件,例如PCU,SGSN和GGSN来处理分组业务。基本的GPRS系统的体系结构如图1所示。用于用户数据传输的GPRS协议栈如图2所示。
图1 基本的GPRS系统的体系结构
图2 GPRS传输平面协议栈
本研究中,BSS(base station subsystem)仅包括一个BSC(base station controller),并且BSC现在仅管理一个BTS。BSS是基于OpenBTS实现的,因为OpenBTS包含BSS具有的必要功能。在常规GPRS系统中,分组控制单元(PCU)是BSC的硬件升级,其为BSS分组数据业务提供物理和逻辑数据接口。然而,我们希望通过OpenBTS的软件升级来实现软件PCU。对于PCU的实现,应当添加RLC/ MAC功能,并且BSSGP(BSS-GPRS Protocol)和NS层可以从SGSN移动,如图2所示。
GPRS核心网[4]由两个新的组件SGSN和GGSN组成。SGSN可以被视为分组交换MSC(Mobile Switching Centre),它执行移动性管理功能,例如移动用户连接/分离和位置管理。GGSN充当GPRS系统和外部分组数据网络之间的网关。SGSN和GGSN分别由第1节中介绍的OsmoSGSN和OpenGGSN实现。
Gb[5]和Gn是位于BSS和 SGSN,SGSN和GGSN之间的接口。对于OpenBTS,OsmoSGSN,OpenGGSN可以安装在普通的个人计算机上,笔者使用UDP来模拟Gb和Gn接口。
2.2 空中接口
在GSM中,业务信道(TCH,traffic channel)旨在在电路交换模式中携带编码的语音或用户数据。如在GPRS中,分组数据业务信道(PDTCH,packet data traffic channel)类似于TCH,因为它也使用一个物理时隙。GPRS使用52复帧结构。空闲帧24和51用于允许移动台执行对相邻小区的信号强度测量。帧12和38用于定时提前计算。52复帧中的所有其他帧被收集到12个四个帧(每帧一个突发)的块中,这是发送或接收数据的最小单位。
在OpenBTS项目中,可以灵活配置通道。在8个时隙中,时隙0被配置为信道组合类型5,时隙1被配置为信道组合类型7,时隙2至6被配置为信道组合类型1,时隙7是空闲的。将空闲时隙配置为信道组合类型13。信道组合类型13是PDTCH,PACCH(packet associated control channel,分组随路控制信道)和PTCCH(Packet Timing Control Channel,分组定时控制信道)的组合。PDTCH用于在上行链路或下行链路传输期间传输分组数据。PACCH用于在上行链路或下行链路数据传输期间携带信令消息。PTCCH用于发送定时提前信息。对于简化的GPRS系统,诸如PCCCH(packet common control channel,分组公共控制信道),PBCCH(packet broadcast control channel,分组广播控制信道)的其它逻辑信道不需要配置。
使用GMSK(gaussian filtered minimum Shift Keying,高斯最小频移键控)调制的全速率PDTCH以对应于4种编码方案的9.05~21.04 kbps的瞬时比特率携带信息。CS-1提供最低数据速率,而CS-4提供最高数据速率。CS-2和CS-3分别提供13.4和15.6 kbps的数据速率。编码方案CS-2到CS-4对于GPRS网络不是强制性的。通过在下行链路消息立即分配中配置CHANNEL_CODING_COMMAND参数来使用CS-1编码方案来设置物理层。因此,基于OpenBTS项目的物理层,实现了GPRS,而不改变编码方案的任何部分。为了进一步研究,将编码方案CS-2固定到CS-4。
2.3 RLC/MAC功能
如图2所示,希望构建一个基于OpenBTS的GPRS支持的BSS项目,已经配置了上面的物理层,需要做的是添加RLC/MAC功能。
无线电链路控制(RLC,radio link control)功能用作允许在LLC(logical link control,逻辑链路控制)层和MAC功能之间传送逻辑链路控制(LLC)层PDU(protocol data unit,协议数据单元)的接口原语。RLC功能定义了将LLC PDU分割为RLC数据块和通过RLC数据块重新组装LLC PDU的过程,并且类似地定义了将RLC/MAC控制消息分割为RLC/MAC控制块和重组RLC/来自RLC/MAC控制块的MAC控制消息。分段和重组操作过程严格根据3GPP TS 04.60第9章的规范来实现。
此外,反向纠错过程使得能够在RLC功能中重传RLC数据块。RLC ARQ(automatic repeat request,自动重复请求协议)功能支持两种操作模式:RLC确认模式和RLC非确认模式。RLC确认模式操作使用RLC数据块的重传,并且RLC非确认模式操作不使用。本研究RLC模式默认为RLC确认模式,以实现RLC数据块的高可靠性传输。根据该规范,上行链路TBF的RLC模式通过配置分组资源请求或分组下行链路ACK/NACK消息中的RLC_MODE位来设置;通过配置分组下行链路指配或分组时隙重构消息中的RLC_MODE位来设置下行链路TBF的RLC模式。
MAC功能定义了使多个移动站共享公共传输介质的过程,其可以由几个物理信道组成。它使用时隙ALOHA原理用于同时尝试接入BTS的多个移动站的竞争解决。为了使MS(或BSS)在上行链路(或下行链路)方向上传送数据,在两个RLC/MAC实体之间建立称为临时块流(TBF,Temporary Block Flow)的物理连接。GPRS采用两种机制建立上行链路TBF:一阶段接入和两阶段接入过程。PCU决定用于TBF建立的接入过程,即使MS可以请求这两个过程中的任一个。当使用RLC确认模式时,两阶段接入过程在工作中不是必需的。分组接入应在CCCH(common control channel,公共控制信道)上进行,因为我们还没有配置PCCCH。
GPRS系统支持3种媒体接入模式:动态分配,扩展动态分配和固定分配。根据规范,所有支持GPRS的网络都应支持动态分配模式和固定分配模式。在工作中,我们选择使用动态分配模式。在动态分配模式中,移动台解析每个下行链路RLC/MAC块的USF(uplink state flag,上行链路状态标志)值,以作出是否允许在分配的PDCH上的下一个块或下一个四个块的组上发送数据的决定。通过在PACKET DOWNLINK ASSIGNMENT中配置MAC_MODE参数或在我们的工作中配置PACKET UPLINK ASSIGNMENT消息,将介质访问模式设置为动态分配。
2.4 BSSGP和NS层
BSSGP控制在SGSN和MS之间交换的LLC PDU的传送。它还提供SGSN和BSS之间的功能管理。如图2所示,可以看到BSS和SGSN都有BSSGP和网络服务层。在SGSN中,BSSGP层与LLC层上行连接,而PCU中的BSSGP层通过中继与RLC连接。这两个BSSGP层的接口定义是不同的,但是BSSGP和网络服务层在两侧的功能是相同的,因为对等层的功能在计算机网络中几乎相等。在我们的工作中,OsmoSGSN用于实现简化的SGSN。因此,可以简单地通过简单的接口修改从OpenBSC移植BSSGP和网络服务层的代码。
本文设计的GPRS系统主要的硬件设备就是Ettus的通用软件无线电平台USRP(universal softwareradio peripheral),如图3。USRP通过USB接口与标准PC机连接,并在PC机上运行系统。软件平台采用Ubuntu Server 14.04的Linux系统,内核版本是3.13。GPRS系统的软件运行在通用双核CPU和双网卡。双网卡中一块与硬件USRP板相连,另一块与Internet网络相连。测试环节,本文使用三星GT-S7520U作为测试手机,可以输出RLC/MAC层数据,使用TEMS工具进行获取,可随时监测MS数据发送和接收情况;笔记本可通过手机蓝牙功能连接Internet。手机开机后,首先进行IMSI附着过程,然后触发GPRS附着规程,GPRS附着流程成功后,手机上将会显示G的标志,GPRS附着流程如图4。手机进行GPRS附着后,进行了周期性RA更新(SGSN网元运行结果)如图5所示。
图3 USRP硬件板
图4 GPRS附着流程
图5 路由更新过程
笔记本连接手机,通过手机连接Internet,想要登录wap.baidu.com,在这个过程中,手机需要进行GPRS附着规程、PDP上下文激活规程、路由更新规程,最终,可以打开网页,进行网上冲浪。 测试过程把整个系统运行起来,使用测试手机,进行正常状态下的GPRS系统业务流程测试。最终笔记本连接测试手机,通过GPRS系统顺利与Internet进行通信。
设计了一个基于几个开源项目的GPRS系统,系统包含GPRS系统的基本功能。实现了一个软件PCU,通过软件升级到现有的OpenBTS系统以支持GPRS接入。此外,还引入了OpenBSC和OpenGGSN项目来构成GPRS核心网络。测试结果验证了验证了系统的实用性和鲁棒性。由于它的低成本和低复杂性,但服务却是有效的,可广泛应用于偏远地区的个人网络和发展中国家的蜂窝部署。
[1]袁峰.基于ip网络的集群调度系统的研究与开发[D].长沙:湖南大学,2009.
[2]石增辉,亓富军,牟军,等.GPRS无线通信系统设计[J].通信电源技术,2014,31(5)::58-60.
[3]张德宇.基于GPRS网络的无线数据通信系统的设计研究[J].通信设计与应用,2016(17):15.
[4]彭文英.GPRS核心网络结构和信令优化方法的研究与实现[D].长沙:湖南大学,2011.
[5]罗鹏,向程超,胡汝荣.GPRS网络中Gb接口信令监测系统的设计与实现[J].广东通信技术,2013(7):23-27.
(责任编辑:朱联九)
Research on the Design of GPRS System Based on Open Source Projects
ZHANG Cui-zhen1,LIU Jing-pan2,LIU Li3,RAO Lian-zhou1
(1.School of Mechanical and Electronic Engineering,Sanming University,Sanming 365004,China 2.China Mobile(Shenzhen)Corporation,Shenzhen 518048,China 3.School of Information Engineering,Sanming University,Sanming 365004,China)
A GPRS system based on several open source projects is designed in this paper.The traditional GPRS system is an upgrade to the GSM network,while our GPRS system is mainly based on an upgraded OpenBTS project.Meantime,projects of OpenBSC and OpenGGSN are introduced to handle packet traffic.In this paper,a software-only upgrade to the existing OpenBTS system is made,including implementing a software PCU with full function,reconfiguring channel resources,adding or modifying necessary control messages,etc.The work conducted in this paper is helpful to the development of OpenBTS project and expansion of its applications.
GPRS;PCU;OpenBTS;OpenBSC;OpenGGSN
TN929.5
A
1673-4343(2017)02-0042-05
10.14098/j.cn35-1288/z.2017.02.008
2017-02-17
福建省科技厅重点项目(2014H0004)
张萃珍,女,福建三明人,助教。主要研究方向:无线通信技术。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!