| 添加到收藏夹 | 返回目录页 | 上一篇:测试网络通断的另类方法 |
基于短信网关WAP推送的实现
摘要 wap push既有信息发送主动、及时的特点,又有可随时随地接收信息的优势,因而具有良好的应用前景。该文简单介绍了wap push系统框架、推送协议和推送方式,重点介绍了通过短信网关实现wap推送的实现方法。关键词 无线应用协议,wap推送,短信网关,pdu 模式
1 wap推送技术简介
1.1 什么是wap推送
wap推送(push)技术是一种建立在客户服务器上的机制,就是由服务器主动将信息发往客户端的技术。同传统的拉(pull)技术相比,最主要的区别在于推送(push)技术是由服务器主动向客户机发送信息,而拉(pull)技术则是由客户机主动请求信息。push技术的优势在于信息的主动性和及时性。
push技术在internet中没能取得大的成功,原因是多方面的。主要原因在于固定网中计算机等固定设备为用户提供了足够的资源和能力去查找信息所以用户通常将它作为一个浏览信息的窗口,而不是被动的信息接收者。同时固定网用户对于信息准确性的要求远甚于对其及时性的要求,因此push技术未能得到广泛的应用。
而在移动网中,由于存在着网络带宽、移动终端能力以及自费标准高昂等诸多限制,使得用户查找信息受到了一定的限制,如果将重要的信息主动及时地推送到用户的移动设备上无疑会大大方便用户。移动通信的优点是移动设备能够随时随地接收信息因此push技术在移动网中可以大展拳脚,wap push正是push技术和移动通信两者扬长避短相结合的产物。wap push是在移动网络中应用的push技术,它结合了一般push技术和移动网络的特点。它的系统框架、使用协议和服务方式与固定网上的push技术有很大不同。
1.2 wap push系统框架
wap push框架主要包括推送发起者(pi:push initiator)、推送代理网关(ppg:push proxygateway)和推送客户(pc:push client)三个功能部分。pi位于internet中,而pc在wap领域,pi和wap客户端所使用的协议是不同的,需要在中间建立一个协议转换网关即ppg。ppg通过推送访问协议(pap:push accessprotocol)与pi通信,通过推送空间传输协议(push ota:push over-the-air)完成向客户推送信息的数据传输任务。
ppg完成推送体系结构中的大部分工作,包括从internet到移动网的访问接入,以及与其有关的认证、安全、客户端控制等所有工作。ppg所提供的主要服务包括:1)pi的标识、鉴权和访问控制;2)对推送内容进行语法分析,并依据数据类型定义(dtd)检错纠错;3)客户寻址与信息传输;4)pap与push ota间的协议转换;5)为提高无线信道中的传输效率,对信息进行压缩、编译等处理。
另外,ppg还可以通过别名机制实现组播和广播,即将某些特定的地址别名映射到组播或广播的操作中,具体方案可以由系统实现者决定。不同的客户端,其能力是不同的,ppg还要负责响应pi的客户能力查询请求,以便于pi针对不同的客户端构造合适的内容格式。
1.3 推送协议
pap是pi与ppg间的通信协议,它使用可扩展标记语言(xml)作为消息的描述语言,通过简单的请求响应机制完成数据的传输。pap可以在多种通信协议(包括超文本传输协议(http)、简单邮件传输协议(smtp)等)之上实现。
而push ota是运行于无线会话协议(wsp)之上的一个较为简单的协议层,负责从ppg到客户代理的数据传输。push ota可使用面向连接的会话和无连接会话两种wsp层服务,对于使用连接会话的推送,需要在ppg和客户端间预先有一个激活的会话上下文;对于无连接的推送,则通过预留的端口来完成通信。
1.4 推送服务方式
wap的推送协议中定义了服务指示(si:service indication)和服务加载(sl:service load)两项服务,以给用户和网络运营者更多的选择。服务指示是将新信息的指示和相关的通用资源标识符(uri)推送给用户,由用户选择是立即处理信息还是以后处理。服务加载是将一项服务的uri推送给用户,然后客户端自动地使用pull技术根据该uri启动服务。两种服务的区别在于用户是否介入推送信息的处理过程。sl对推送信息的处理对用户来说是透明的,而si则在指示用户的同时,请用户对随后的处理做出选择。
push可以将某一站点或某一业务的链接通过短信发送到支持wap push功能的手机上,这样用户只需要阅读这条短信,打开短信中的链接,就可以直接访问业务了。因此,wap push实现了短信和wap业务的结合,节省了用户寻找业务的时间,方便用户直接找到并使用自己喜欢的业务。
2 短消息网关简介
短消息网关(ismg)是处于短消息中心(smsc)和业务提供商(sp)之间的设备,它为这两个实体的数据交换提供安全、快捷的通道。网关与短消息中心之间使用smpp协议(short message peer to peer,短消息点对点协议), 与sp之间使用cmpp协议(china mobile peer to peer,中国移动点对点协议),因此短消息网关需要完成协议的转换、计费、路由、安全和网络管理等功能。具体说来, smpp通信代理系统主要实现网关和gsm网中短消息中心(smsc)的连接,确保准确接收和发送数据,实现高效、可靠的数据传输。为了达到规范要求的不超过0.001%的数据丢包率,smpp通信代理需要支持流量控制。cmpp通信代理系统主要是实现和sp服务提供商的连接,与smpp通信代理系统不同的是,由于协议的影响,cmpp通信代理是服务器端,需等待sp的连接,而smpp通信代理是客户端,需要主动连接smsc。短消息网关处理系统是网关中最复杂的处理进程,它完成的任务包括:向gns(汇接网关) 查询路由,维护路由表,进行协议转换和数据分发。防火墙系统主要为网关系统提供安全保障,它包括ip包过滤和身份验证。短信网关计费系统主要形成各种计费话单,为计费提供依据。业务管理系统主要完成对业务进行统计报告,生成报表,为运营者对用户数据的添加、修改、删除以及对网关系统的监控、查询、操作和维护提供接口和界面。
3 基于短信网关发送wap push
wap push的发送有两种途径,一个是通过ppg网关,另外一个是通过smpp协议。其中smpp是一个基本协议,在中国主要有三个由其派生的协议:中国移动的cmpp协议,中国联通的sgip(在cdma上是etip),以及小灵通的smgp。通过中国移动的ppg网关发送wap push有着开发周期长,调测流程较复杂等不足,而使用cmpp协议即基于短信网关来进行wap push发送灵活性比较高,相对比较简单。
3.1 wap push发送的实现模式
可通过计算机串口上连接gsm modem,用它向手机发送wap push。这种方法发wap push又分三种模式:block 模式、text 模式和pdu 模式。block 模式现在用的很少了, text 模式则只能发送ascii 码,它不能发送中文的unicode码,而pdu 模式开发起来则较为复杂,它需要编写专门的函数来将文本转换为pdu 格式,但pdu 模式被所有手机支持,可以使用任何字符集,它也是手机默认的编码方式,所以选用pdu模式发送wap push.
3.2 pdu 模式
用pdu 模式发送 wap push可以使用三种编码: 7-bit 编码、8-bit 编码和ucs2 编码。7-bit 编码用于发送普通的ascii 字符,8-bit 编码通常用于发送数据消息,ucs2 编码用于发送unicode 字符。由于要实现中文wap push的发送,所以选择用ucs2 编码,即中文unicode 码。
⑴ ucs2 编码原理 所谓ucs2 编码,是将单个的字符(1-2 个字节)按iso/iec10646 的规定,转变为16 位 的unicode 宽字符。即将单个的字符转换为由四位的‘0’-‘9’、‘a’-‘f’的数字和字 母组成的字符串。待发送的消息以ucs2 码的形式进行发送。
⑵ 通过ucs2 编码我们得到中文unicode 码,接着就可以进行发送pdu 串的编制了。从表面上看,pdu 串是ascii 码串,同样由‘0’-‘9’、‘a’-‘f’这些数字和字母组成。它们是8 位字节的十六进制数,或者bcd 码十进制数。pdu 串除了包含所发送的消息本身外,还包含很多其它参数信息,如服务中心号码、目标号码和编码方式等
例如
0051000ba13108086406f600f5a7850b05040b8423f_
0000303010129060603ae81ea8dca02056a0045c6080c033231312e_
3133362e3135332e33302f776170707573682f70757368496e6465782e_
6a73703f7075736849643d3035303531313134313630353231000103e8a_
fb7e782b9e587bbe4bba5e4b88be993bee68ea5e88eb7e58f96e5bda9e4bfa1e58685e5aeb9000101_
为一串可以成功发送的wap push,其中包括了汉字描述和wap页面地址。具体分析如下
00 smsc 地址信息的长度 00表示用手机上设置短信中心号码,pdu 串的“smsc 址格式”段和“smsc 地址”段将省去
51 基本参数(tp-mti/vfp) 不要求发送回复
00 消息基准值(tp-mr)
0b 对方电话的长度
a1 目标地址格式 a1表示为国内格式
3108086406f6 目标地址,补‘f’凑成偶数位后奇偶位互换
00 协议标识(tp-pid) 是普通gsm 类型,点到点方式
f5 用户信息编码方式 (tp-dcs)
a7 有效期(tp-vp)
85 用户信息长度(tp-udl)
0b wap push头部的总长度
05040b8423f0表示接下来是一个wap push
00 表示是concatenated short messages
03 长度
03 reference number
01 表示分成1个短信发送
01 当前包的序号
29060603ae81ea8dca wsp
02 标记位
05 -//wapforum//dtd si 1.0//en
6a utf-8
00 标记开始
45
c6
08
0c href="http://
03 字符串开始
3231312e3133362e3135332e33302f776170707573682f
70757368496e6465782e6a73703f7075736849643d3035303531313134313630353231 url
00 url 字符串结束
01 >
03 内容描述字符串开始
e8afb7e782b9e587bbe4bba5e4b88be993bee68ea_
5e88eb7e58f96e5bda9e4bfa1e58685e5aeb9 内容描述字符串
00 内容描述字符串结束
01
01
由以上分析可以看出,wap push可以被当作一种特殊的短信来发送,wap push包发送的内容实际上跟通过ppg网关发送的xml原理相同,但是经过了压缩。压缩之后的格式称为wbxml,这种格式将一些标记用代码来表示。然而wbxml的缩略标记分为两部分,一部分是所有类型的xml都通用的,另一部分是不同类型的xml有着不同的解释。
用户接收到此类信息时,在客户端手机支持wap的情况下,可以直接访问到信息中加载的wap网站地址,这样服务器也达到了推广业务方便用户使用的目的。由于在ucs2 编码方式下,可发送短消息的最大字符数是140字节,即wap push中的推送url与描述文字的总字符数为140,因此描述文字的字数限制与推送的url长度有关。
4 结束语
wap push技术结合了push技术的优势和移动通信服务的特性,具有良好的应用前景。但是wap push技术仍然存在着一些亟待解决的问题,如信息的鉴权与认证、信息的准确性、如何避免垃圾信息等。如何解决好这些问题将是wap push技术成功的关键。另外,随着gprs技术和3g无线通信技术的发展,无线信道的带宽将逐步增大,wap push也将能进一步推送多媒体信息,有着更宽广的应用前景。
↓相关文章:
- · 我写CC DDOS攻击器的思路及防范方法
- · 雅虎拟加强交友网站安全 防止成员账号泄露
- · ADSL常见问题精彩问答
- · 上网不用防火墙!一招克死所有病毒
- · SANS发布2005全球20大网络安全隐患排行
- · IE7将会采用Firefox的RSS Feed图标
- · 利用Google作黑客攻击的原理和防范
- · 知己知彼 解析远程控制带来的安全危险
- · 上网要当心!HTML文件也能格式化硬盘
- · 精解网络中IP地址与域名含义
- · 网管必知 如何设置虚拟主机访问权限
- · 手把手教你用代理
- · PHP在XP下IIS和Apache2服务器上的安装
- · 另辟蹊径:Windows系统防病毒另类高招
- · 经验共享—给闪存杀毒的另类方法一则
- · 用HelixProducer实现局域网内现场直播
- · 推荐 IE浏览器另类功能大放送
- · 局域网“隐身”小妙招
- · 局域网防雷电攻击完全揭密
- · 网吧IP自动修改程序
- · 轻松破解加密网页
- · 法治在线:音乐网站遭黑客持续攻击3个月
- · 网管员必读 10分钟恢复网络服务有绝招
- · 了解你的敌人 网络钓鱼攻击的实现过程
- · 如何利用嗅探器TcpDump分析网络安全
- · 修改Hosts文件获取的三个特殊妙用
- · 用Linux防火墙伪装抵挡黑客恶意攻击
- · 一段获得网卡地址的代码,可以用来做软件许可证用.
- · 给路由器设置用户 进行管理和维护
- · 入侵检测系统(IDS)的测试与评估
- · 美青睐网络购物 但担心身份偷窃和信息安全
- · 及时防范 看PDF、Flash中病毒解决方法
- · 拒绝破解 使用中文密码保护RAR文件
- · IE等四大浏览器巨头将推新标准 防止被攻击
- · 不再懊恼:能上QQ不能上网问题精解
- · 脚本图片类后门的完美使用方法
- · 实用防毒小技巧:中毒后的6个紧急处理措施
- · 网络欺骗技术
- · 在Win2000中预防Ping攻击
- · 浏览器安全权威指南
- · 黑客字典源码
- · 强制删除文件
- · 浅析Windows防火墙的缺陷
- · Win2000/XP系统三大典型红外通讯故障
- · 简单无害的DOS病毒编写
- · 常用网络命令及命令实例详解
- · QQ病毒手工查杀
- · 从互联网连接到局域网
- · 一次艰苦的病毒查杀过程
- · 如何解决 dllhost 进程消耗cpu 100%的问题
- · 搜索型注入之我看---注入不分家
- · 备份主域服务器的用户和组
- · DLL后门清除完全篇
- · 保卫校园网络安全的五个必备策略
- · 突破网络限制之三十六计
- · 兄弟相残Meatalink成黑客oracle攻击指南
- · 腾讯QQ相关应用软件集锦
- · 害人终害己 木马生成器碰不得
- · 终结动网最新挂马方法
- · 个人网站安全 从数据库合理管理开始

