GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可用的一种移动数据业务,属于第二代移动通信中的数据传输技术。GPRS可说是GSM的延续。
GPRS是介于2G和3G之间的技术,也被称为2.5G。它后面还有个弟弟EDGE,被称为2.75G。它们为实现从GSM向3G的平滑过渡奠定了基础。
GPRS网络中存在两种DNS。一种是GGSN同外部网络之间的DNS,主要功能是对外部网络的域名进行解析,作用等同于因特网上的普通DNS。另一种是GPRS骨干网上的DNS,主要功能是在PDP上下文激活过程中根据确定的APN(Access Point Name,接入点名称)解析出GGSN的IP地址,并且在SGSN间的路由区更新过程中,根据原路由区号码,解析出原SGSN的IP地址。
常见的GPRS模块分为3种:
1)GPRS DTU(GPRS数传单元,常称为GPRS透传模块)
GPRS DTU内部封装了完善的TCP/IP等协议栈,可为无线传输提供透明的TCP/IP通道。在软件设计上,它封装了协议栈内容并且具有嵌入式操作系统,硬件上可看作是嵌入式PC加无线接入部分的结合,用窗口进行数据通信。主要应用于工业领域,而GPRS modem通常要完成类似的功能必须借助于PC机的软件进行预数据处理。这种形式的应用通常需要一个PC接一个GPRS Modem来连接到外部的数据网。GPRS DTU的四个核心功能:
(1)内部集成TCP/IP协议栈
(2)提供串口数据双向转换功能
(3)支持自动心跳,保持终端设备永久在线(DTU包含上电自动拨号,采用心跳包保持永久在线-当长时间没有数据通信时,移动网关将断开DTU与中心的连接,心跳包就是DTU与数据中心在连接被断开之前发送一个小数据包,以保持连接不被断开。支持断线自动重连、自动重拨号等功能)。
(4)支持参数配置,永久保存。将数据中心的IP地址及端口号,串口的波特率等保存在FLASH或EEPROM中。一旦上电,就自动按照设置好的参数进行工作。
较为高级的GPRS DTU还提供一些扩展功能,主要包括:支持数据中心域名解析、支持远程参数配置/远程固件升级、支持远程短信/电话唤醒、支持本地串口固件升级、提供短信通道、提供DTU在线/离线电平指示等。
2)GPRS/GSM Modem(纯的GPRS/GSM调制解调器,常称为GPRS猫)
GPRS Modem是接入GPRS分组网的一个物理通道,它本身不具有操作系统,必须依附于计算机(在功能上类似于有线Modem),在计算机操作系统之上才能进行PPP拨号连接,通常是与PC结合使用,实现拨号上网。在工作方式上,GPRS DTU与GPRS Modem最大的区别就是GPRS DTU内部CPU在主动进行控制拨号和处理TCP/IP协议包,而GPRS Modem则是被动的,需要外部设备来进行拨号和进行TCP/IP协议包处理。
3)带TCP/IP协议栈的GPRS Modem(将GPRS/GSM modem和TCP/IP协议栈封装在一起,内部有CPU,FLASH,RAM,控制单元等硬件,和DTU功能类似)
如果是要求数据长期可靠传输,那么应当采用GPRS DTU,通过GPRS网络平台实现与监控中心端的数据通信。如果使用GPRS Modem则只能采用普通拨号方式上网,由于这种拨号方式是针对普通用户的上网业务设计的,而不是针对数据可靠收发应用来设计的,因此不适合于可靠的数据传输;而且通常断线后并不进行自动重拨。因此,在需要数据长期可靠传输的领域,都应选择使用GPRS DTU。如果只是用于无线上网,则可以选择GPRS Modem。
带TCP/IP协议栈的GPRS Modem与GPRS DTU的差别在于,它在操作上和普通的GPRS Modem很相似,即:所有对模块的操作只能用AT命令,尤其是发送和接收数据都要通过专用的AT命令。如果嵌入式系统采用的CPU是资源有限的单片机,建议使用GPRS DTU或自带协议栈的GPRS Modem,否则要实现自己的TCP/IP协议,非常麻烦。如果是使用带有操作系统WinCE或嵌入式Linux的嵌入式系统,可以采用GPRS/GSM Modem,这样成本会比较低。