第6章 无线应用协议WAP

第7章 无线应用协议WAP
第1节 WAP概述
第2节 WAP的网络结构
第3节 WAP协议体系
第4节 WAP的安全问题
第5节 WAP PUSH技术概述
第6节 WML/WML Script
第7节 WAP网站建设初步
作业要求
第1节 WAP概述
7.1.1 WAP的概念
7.1.2 WAP产生背景
7.1.3 WAP的设计目标
7.1.4 WAP的特点
7.1.5 WAP论坛
7.1.6 WAP体系结构
7.1.1 WAP的概念
• Wireless Application Protocol,无线应用协议
• 是一个使移动用户使用无线设备(例如移动电
话)随时使用互联网的信息和服务的开放的规
范。
• 主要意图:使得袖珍无线终端设备能够获得类
似网页浏览器的功能,其功能上有限。
• WAP1.X规定无线设备访问的页面是用WML
(一种XML方言)语言编写的,但是WAP2.0
将XHTML-MP做为主要内容格式。
7.1.2 WAP产生背景
• 网络不断出现新的附加价值服务,移动
用户有使用需求
• 直接连至现有有线网络,有特殊困难
• 手持无线设备的局限性
• 无线数据网络的限制
手持无线设备的局限性
•
•
•
•
CPU处理能力有限
记忆体容量小
显示屏幕较小
输入方式不同(电话按键输入、语音输
入、手写输入等)
• 无线接收天线频宽受限
无线数据网络的限制
• 无线网络的带宽较低
• 时延较大
• 无线网络的稳定性较差
7.1.3 WAP的设计目标
• 基于Internet中广泛应用的标准(如HTTP,
TCP/IP,SSL,XML等),提供一个对空中
接口和无线设备独立的无线Internet全面解决
方案,同时支持未来的开放标准
• 独立于空中接口是指WAP应用能够运行于各种无线
承载网络之上,而不必考虑它们之间的差异,从而
最大程度地兼容现有的及未来的移动通信系统
• 独立于无线设备是指WAP应用能够运行于从手机到
功能强大的PDA等多种无线设备之上,各厂商按照
WAP生产的不同设备,应具有一致的用户操作方式。
WAP支持的承载网络
支持绝大多数无线网络,包括
•GSM、CDMA、CDPD
•PDC、PHS、DECT
•iDEN、TETRA
•DataTAC、Mobitex。
支持WAP的操作系统
几乎所有专门为手持设备设计的操作系统
• PalmOS
• JavaOS
• EPOC
• Symbian OS
• Windows CE
• BlackBerry OS
• FLEXOS
• iOS
• OS/9
• Android
7.1.4 WAP的特点
• 针对无线网络的特点,如低带宽、高延迟等优
化设计,把Internet的一系列协议引入到无线
网络中
• 只要求移动终端和WAP代理服务器的支持,
不要求现有的移动通信网络协议做改动
• 尽可能少地占用手持设备资源,通过加强网络
功能来弥补手持设备本身的缺陷
• 在应用层隐藏底层承载网络的复杂性,留给用
户友好亲切的界面
7.1.5 WAP论坛
• 是一个工业协会,1997年6月,由诺基亚
•
•
•
•
(Nokia)、爱立信(Ericsson)、摩托罗拉
(Motorola)和PHONE.COM(以前的Unwired
Planet)发起成立
1997年7月,出版了第一个WAP标准架构
1998年5月,WAP1.0版正式推出。
1999年5月,WAP1.1版也在正式发行。
2001年8月,WAP2.0正式发布。
WAP论坛
• 曾有超过200个成员,代表了全球手持设备市
场的95%,为数字移动电话和其他无线终端上
的无线信息和电话服务制订事实上的全球标准
• 与很多标准组织,如W3C、ETSI、TIA、
IETF、ECMA有密切关系,所制订的规范提
供给适当的标准实体
• 2002年6月,与开放式移动体系结构(Open
Mobile Architecture) 合并成立最初的OMA
(开放移动联盟)
7.1.6 WAP体系结构
• WWW应用结构模型
• WAP应用结构模型
• WAP应用结构特点
WWW应用结构模型
• 标准的命名模型——所有的服务和内容以标准
的URL(统一资源定位符命名)
• 标准的内容类型——所有的内容给定一个规范
的类型,Web浏览器根据不同类型进行正确处
理
• 标准的内容格式——所有的Web浏览器都支持
一组标准的内容格式,包括HTML(超文本标
记语言)、JavaScript脚本语言以及其它许多
格式
• 标准的通信协议——HTTP等标准的网络协议
允许各种Web浏览器同各种Web服务器通信
WWW应用结构模型图
WWW应用结构模型
WWW协议定义了三类服务器
• 起源服务器(Origin Server):资源驻
留和功能创建服务器
• 代理(Proxy):完成客户对服务器的请
求服务
• 网关(Gataway):处理不同起源服务
器之间的交换
WAP应用结构模型
• WAP的应用结构模型与WWW相似,这
•
•
•
•
为应用开发者提供了极大的便利,包括
熟悉的应用结构模型
已经证明过的结构
能够利用的现有工具
在可能的地方都采用现行标准,或利用
其作为WAP技术的起点
WAP应用结构模型
• 标准的命名模型——使用WWW标准的URL来
标识起源服务器上的WAP内容
• 标准的内容类型——所有的WAP内容以与
WWW兼容的方式提供,WAP代理根据其类
型对内容进行正确处理
• 标准的内容格式——以WWW技术为基础,包
括标记语言、脚本语言、图像等
• 标准的通信协议——WAP通信协议可以使移
动终端的浏览请求与Internet上的Web服务器
进行通信
WAP应用结构模型图
WAP应用结构模型
• 与传统的WWW通信类似,WAP采用客
户机/服务器方式。
• WAP模型在客户机与服务器之间多了一
个WAP网关。客户机通过WAP网关然后
再与资源服务器(Origin server)通信。
• 在客户机与WAP网关之间传递的信息也
有别于传统方式下客户机与服务器间交
换的信息。
WAP应用结构模型
WAP1.X体系主要由三部分组成:
• WAP移动客户机(Client):指安装有微浏览器的
无线终端设备(如手机),能够对WAP网页进行显
示、解释、执行
• WAP代理——WAP网关(WAP Gateway):
• 完成HTTP协议向无线Internet传输协议(WSP/WTP)的
转换(Protocol Adapters)
• 对无线Internet内容进行压缩(WML Encoder)和编译
(WML Script Compiler)
• WAP服务器(web server):与一般的Internet站点
的区别仅仅是在网页编写上采取的语言有所不同,
它采用WML(WAP标记语言)语言缩写
WAP应用结构模型
• 标准的模型配置包括WAP客户机,WAP
代理以及WAP服务器。
• WAP体系结构可以支持其他的配置。比
如把WAP代理的功能包含在WAP服务器
中,这样就可以实现客户与服务器安全
的端到端连接。
WAP应用结构特点
• WAP的内容和协议为手持无线设备优化,通过代
理技术实现无线领域与WWW的连接
• 保证移动用户能够浏览大量的WAP内容和应用,
应用提供商能够创建在大多数移动终端上使用的
服务和应用
• WAP代理技术使得内容和应用可以驻留在标准的
WWW服务器上,且可以使用成熟的WWW技术
进行开发,比如CGI(通用网关接口)技术
第2节 WAP的网络结构
• WAP通信过程
• WAP服务的技术实现方案
WWW通信过程
1. 客户端向URL指定的Web服务器发出请
求
2. Web服务器根据请求的程序返回HTML
格式的相应内容至客户端
3. 客户端在浏览器上看到返回的内容
客户端和Web服务器之间使用HTTP协
议进行通信
WAP通信过程
1. 客户端输入要访问的,包含WAP内容
服务器地址的URL,经无线网络,以
WAP协议方式把请求发送至WAP网关
2. WAP网关进行协议转换,以HTTP协议
方式与WAP内容服务器交互
3. WAP网关将返回的内容压缩、处理成
二进制流返回到客户端
4. 客户端在浏览器上看到返回的内容
WAP服务的技术实现方案一
• Web服务器传送原有的HTML网页,由HTML
过滤器转换成WML格式,再由WAP代理服务
器处理形成二进制的WML数据流送往客户端。
HTML过滤器和WAP代理服务器可以相互独
立,也可合二为一
• 优势:不需要对原有网络及其内容进行修改
• 缺点:
•
•
•
•
只能做有限的转换,难以完成复杂HTML网页转换
HTML网页比WML网页复杂,传输效率不高
增加了中间环节,降低网络效率
增加HTML服务器的负载,降低服务器效率
WAP服务的技术实现方案二
• Web服务器直接将WML网页传送到
WAP代理服务器,由WAP代理服务器处
理形成二进制的WML数据流送往客户端。
• 优势:可避免方案一的缺点
• 可改进之处:可利用现有的HTML服务
器来实现WAP服务
WAP服务的技术实现方案三
• 由WTA服务器直接将二进制的WML数
据流送往客户端。
• 主要用于提供电话呼叫服务,出于安全
性的考虑,受电信部门的控制更多。因
此WAP服务供应商主要考虑前两种方案
第3节 WAP协议体系
7.3.1 WAP1.2协议栈
7.3.2 WAP2.0协议栈
7.3.1
WAP1.2协议栈
• 考虑到网络支持的能力,特别是手机支
持的能力,在移动数据业务发展初期,
WAPl.X协议不直接采用有线互联网上的
HTTP/TLS/TCP协议,而采用了
WSP/WTP/WTLS/WDP协议,并同时增
加了WML语言,这些协议是在参考固网
协议(HTTP/TLS/TCP)的基础上产生
的,但这也造成了不能通过手机直接访
问Internet。
WAP1.2协议栈(二)
• WAP的结构为移动通信设备应用开发提
供了可伸缩的、可扩展的环境,这种优
越特性建立在完整协议栈的分层设计的
基础上;结构中的每层协议可被上层的
协议来访问
• 分层结构使得其它的服务和应用通过预
先定义的接口访问WAP栈,扩展应用能
够通过接口直接访问所需下层
WAP1.2协议栈(三)
•
•
•
•
•
•
•
应用层:无线应用环境(WAE)
会话层:无线会话协议(WSP)
事务层:无线事务协议(WTP)
安全层:无线传输层安全(WTLS)
传输层:无线数据报协议(WDP)
网络层:承载网络(Bearers)
其它的服务和应用
无线应用环境(WAE)
• 包括WAP中所有与应用规范和执行相关
的成份
• 主要集中在WAP系统结构的客户端部
分——WAE用户代理
• 是基于WWW和移动电话技术的通用目
的应用开发运行环境
WAE模型组成
WAE逻辑组成
WAE模型组成
•
•
•
•
WAE用户代理
内容生成器
标准内容编码
无线电话应用(WTA)
WAE用户代理
• 在客户端为终端用户提供特定功能的内
置软件。
• 用户代理(如微浏览器)集成到WAP结
构中,对由URL指向的网络内容进行解
释
• 主要处理两种标准内容:
• 可编码的WML
• 可编译的WML Script
内容生成器
• 将起源服务器中的一些应用或服务,生
成标准的内容格式以回应移动终端中用
户代理所发出的请求
• WAE不规范任何标准的内容生成器,允
许有多种应用
标准内容编码
• 一系列定义好的内容编码,允许用户代
理(如微浏览器)方便地浏览Web内容
• 包括WML的压缩编码,WML Script的
二进制编码,标准的图像格式,多重容
器格式及借用的商务和日历数据格式
无线电话应用(WTA)
• Wireless Telephony Applications
• 一系列电话扩展应用,使WAP可以很好
地应用电信网络中各种先进电信业务,
如智能网业务,而不需修改移动终端。
• WAP移动终端用WML与WTA服务器进
行通信。WTA服务器可以将各种先进的
智能网增值业务提供给WAP用户。
WAE逻辑组成
• 用户代理:包括微浏览器、电话本、消
息编辑器等
• 服务和格式:服务主要有三种
• WML
• WML Script
• URL
无线标记语言WML
• Wireless Markup Language
• 是一种专门为移动终端优化设计的基于
XML( eXtension Markup Language)的轻
型标记语言
• WML与它支持的环境充分考虑到设备的
限制:较小屏幕,输入方式限制,网络
带宽窄,有限的存储资源和计算资源
WML Script
• 是一个轻量脚本程序语言
• 补充了WML的一些限制,如无法对用户输入
的有效性进行检查等,这增强了WML的浏览
和表示功能,对用户的操作给予更加灵活和智
能的处理。在某些时候,WMLScript还可以直
接在移动终端上处理告警等消息,避免移动终
端和远端服务器之间的数据交互,减少了带宽
资源的消耗。
URL
• 在一些情况下,WAE扩展了URL语法,
比如在WML中对URL进行扩展以链接到
特定WMLScript函数
无线会话协议(WSP)
• Wireless Session Protocol
• 以一致的接口为上层的WAP应用提供两
类会话服务
• 基于WTP的、面向连接的会话通信服务
• 基于WDP的、无连接的的会话通信服务
• 由适合于浏览应用(WSP/B)的服务组
成
WSP/B功能
•
•
•
•
HTTP功能和紧凑编码的语法
长时间会话状态
会话的挂起和唤醒及会话重定向
用于可靠或非可靠的数据PUSH的通用设
施
• 协议性能协商
无线事务协议(WTP)
• Wireless Transaction Protocol
• 运行在数据报服务上,提供一种轻量级
的面向事务处理的服务,专门优化并适
用于移动终端的设计
无线事务协议(WTP)特征
• 分为三个级别的事务服务
• 非可靠的单向请求
• 可靠的单向请求
• 可靠的请求-回应双向事务
• 用户到用户的可靠性(可选):WTP用户对收
到的每一个消息进行确认
• 确认消息中的带外数据
• PDU级连和延迟确认,以减少消息发送的数目
• 允许异步事务在数据可用时回应
无线传输层安全(WTLS)
• Wireless Transport Layer Security
• 建立在工业标准TLS协议上的安全协议
• 使用WAP传输协议,并为窄带通信通道
优化
• 可用于不同终端之间的安全通信
• 应用可根据所需安全性或底层网络特性
有选择的使用或取消WTLS功能
无线传输层安全(WTLS)特征
• 数据完整性
• 私有性:保证数据传输过程中的隐秘性,
不能被中间截取者所理解
• 认证
• 服务拒绝保护:保护系统免受拒绝服务
攻击影响
无线数据报协议(WDP)
• Wireless Datagram Protocol
• 一种通用的数据传输服务可以支持多种
无线承载网络
• 给上层提供一致服务,对底层网络透明,
使得上层的WAE、WSP、WTP、WTLS
独立于下层的无线网络,从而使全球性
的互操作得以实现。
承载网络(Bearers)
• WAP协议可运行于不同的承载服务上,
包括短消息服务、电路交换数据和分组
交换数据
• 根据吞吐量、误码率和时延的不同,承
载网络提供了不同的服务质量级别
• WAP协议根据这些不同的服务级别进行
了补偿或容忍
其它的服务和应用
• 包括电子邮件、电话簿、记事本、电子
商务、白页和黄页等
7.3.2
WAP2.0协议栈
• 随着网络,特别是终端的发展,移动网
络与固定网络在传输性能上的差异减小,
WAP2.0在协议实现上更接近固网的成熟
协议(TCP、HTTP),但为保证对于已
有的只支持WAPl.2的手机的兼容,还必
须提供对WAPl.2协议栈的支持,
WAP2.0采用双协议栈架构:包括
WAPl.2协议栈和WAP2.0协议栈
WAP2.0协议栈特点(一)
• WAP2.0的一个关键特性是将互联网协议
引入WAP环境。在2.5G和3G上提供比
WAPl.X效率更高的无线网络传送协议
• 对能提供IP连接的承载网络,WAP2.0协
议栈用WP-TCP,对不能提供IP连接的
承载网络,依然采用WSP/WTP/WDP协
议栈,可以说,WAP2.0回归到了原来的
HTTP/TCP协议。
WAP2.0协议栈特点(二)
• 协议栈支持方面:在WAP1.X引进的WAP协议
栈的基础上,WAP2.0增加了对基于共同的因
特网协议栈的支持和服务,包括对TCP TLS和
HTTP的支持。拥有了这两个协议栈,WAP2.0
在更大范围的网络和无线载体上提供了连接模
型
• 速度更快:WAP网关不用做HTTP/TCP和
WSP/WTP/WDP的协议转换;手机侧不做
WSP/WTP/WDP的解析;但需要做HTTP/TCP
的无线配置
WAP2.0协议栈特点(三)
• 性能提高:因不做大量的协议转换,同样的硬
件设备支持更多的并发用户
• 丰富的内容:因WAP2.0协议采用了与有线互
联网兼容的语言,因此获得了更为广泛的支持,
更多的应用能更容易的被用在移动互联网上,
这种兼容性也使WAP2.0比WAP1.X有更长的
使用期限和稳定的产品形态(不用在协议和标
记语言上进行频繁升级),使移动用户享受到
有线互联网的丰富的内容
WAP2.0协议栈特点(四)
• 标记语言的发展: XHTML是下一代
WML的基础。具有WAP CSS的
XHTML Mobile Profile标记语言是构成
WML2.0的主要部分。它能够对原有的
WML提供一些增强功能,特别是在内容
的表现方面
WAP2.0协议栈特点(五)
• WAP2.0技术应用: 加强开发WAP的实
用性,适应了当前更高带宽、更快的数
据传输速度、更强大的接入能力和不同
的屏幕规格大小等最新的行业发展趋势,
使用户在使用上获得更高的效率
WAP2.0协议栈特点(六)
• 采用了WTLS和WIM(Wireless identity
Module无线身份识别模块技术),使得
其在支持多种鉴权方式(匿名访问、客
户端鉴权和服务器端鉴权)、安全会话
控制和数字签名等多种安全措施方面,
比WAPl.X能够提供更为完善和有效的端
到端的安全机制
第4节 WAP的安全问题
7.4.1 WAP中的安全问题
7.4.2 WIM体系结构概述
7.4.3 WAP安全操作
7.4.4 WIM服务接口定义*
7.4.5 WTLS中的WIM操作
7.4.6智能卡实现
7.4.1 WAP中的安全问题
• 问题
• 无线传输,容易被窃听
• 侦听窃听不容易
• 优势
• 终端的私有性使身份认证更为可靠
• 终端的随身携带使直接窃密变得困难
7.4.2 WIM体系结构概述
• WAP1.2中通过了WIM规范,即WAP识别模块
(WAP Identity Module)
• WIM规定了加密通信的智能卡及用数字签名
认证事务处理的内容
• WIM是个抗干扰设备,用来增强WAP安全层
实现的安全性和应用层特定功能的安全性
• WIM 信息格式以PKCS15为基础,提供一种灵
活的加密信息格式,使用一种对象模型存取密
钥、证书、认证对象和属性数据对象
WIM体系结构概述
• WIM的功能可通过智能卡来实现,智能
卡以ISO7816系列标准为基础,既可以是
一个独立卡,也可以作为多应用卡的一
部分功能
• WIM使用ISO7816及PKCS15一样的标准
接口,具有加密特征的一般性,也可以
用于非WAP应用
• WIM-SAP是所有WIM应用的通用接口
WIM
在
WAP
协议
分层
模型
中的
位置
图
7.4.3 WAP安全操作
• WIM存储和保护永久的、特别是认证的私有
密钥
• WIM保存所需的证书:
• CA证书
• 用户证书或证书的URL链接
• WIM维持所支持的算法
• WIM用来执行
• WTLS安全操作
• WAP应用安全操作
WTLS安全操作
• 在握手操作过程中执行加密操作,特别
是用于客户端认证的加密操作
• 保证WTLS安全会话的长期安全性
WAP应用安全操作
•
•
解开密钥
数字签名
WAP应用安全操作——解开密钥
1. 收到由公开密钥加密的消息密钥数据包
2. ME消息密钥数据包送到WIM中
3. WIM使用私有密钥解密,将解开的消
息密钥送回ME
4. ME使用消息密钥对消息进行解密
WAP应用安全操作——数字签名
•
•
用作认证或保证消息的不可抵赖性
为了支持不可抵赖性,用做签名的的密
钥不能离开抗干扰设备
• 签名过程
1. ME对签名数据计算出一个hash值
2. WIM使用私有密钥及这个hash值计算出数
字签名并将其返回
7.4.4 WIM服务接口定义*
•
•
WIM定义的服务包括为WTLS提供的简单存
储功能和安全功能,及为应用层提供的安全
功能
这些服务接口都使用服务原语的形式进行描
述,分为5个方面:
1.
2.
3.
4.
5.
设备控制原语
与认证相关的原语
数据访问原语
加密用原语
处理异常事件原语
7.4.5 WTLS中的WIM操作
1.
2.
3.
4.
5.
以RSA握手为例,描述WTLS握手期间在
WTLS服务器和客户端之间、ME和WIM之
间发送的消息流程
读取配置:ME从WIM中读取密钥、证书及
WIM支持的算法
ME读取WIM生成的随机值
服务器读取客户端证书
ME验证服务器证书的CA签名
WIM生成的随机值,用服务器的公开密钥加
密,形成预主密钥,并返回给ME
WTLS中的WIM操作
6. WIM根据预主密钥和从ME收到的种子,使
用PRF(伪随机函数)生成主密钥
7. WIM对在客户端和服务器之间传递的握手消
息的hash值进行签名,签名返回给ME
8. WIM根据主密钥和从ME收到的种子,使用
PRF计算所要求字节数值,并返回给ME,在
Finished消息中使用,客户端完成校验
9. 服务器端完成校验,方法同客户端,只是握
手签名值不同
WTLS中的WIM操作
10. WIM根据主密钥和从ME收到的种子,
使用PRF计算请求字节数值,返回给
ME作为客户端写密钥数据块
11. 计算服务器端写密钥数据块,方法同客
户端,只是种子值不同
12. ME保存必要的信息,包括地址和会话
数据,用于以后恢复会话
13. 开始传递应用数据
7.4.6 智能卡实现
• WIM卡特征
• WIM卡命令
WIM卡特征
• 用于WIM的卡,物理特征必须符合
ISO7816-1、ISO7816-2标准,及
GSM11.11标准
• WIM卡的电子签名和传输协议必须符合
ISO7816-3及GSM11.11、GSM11.12和
GSM11.18中的相应要求
WIM卡命令
• WIM卡命令以ISO7816-4和ISO7816-8为基础,
这些命令使用应用协议数据单元APDU进行描
述
• 一个APDU命令组成
• 必要部分:4个字节首部(类别字节CLA、指令字
节INS、参数字节P1和P2
• 依赖于条件的可变长度的主体部分:数据域长度Lc、
数据域、预期最大数据长度Le
• WIM服务原语与卡命令相对应
第5节 WAP PUSH技术概述
•
•
•
•
•
•
•
•
PUSH概述
PUSH代理网关PPG
PUSH访问协议PAP
PUSH空中协议OTA
业务指示
业务加载
客户端基础结构
安全考虑
PUSH概述——概念
• PULL技术:在一般的客户机/服务器模
型中,客户端向服务器请求服务或信息,
然后服务器向客户端发送所请求的信息,
即PULL事务是由客户端初始
• PUSH技术:也基于客户机/服务器模型,
但与PULL技术相反,服务器在发送内容
之前客户端并没有提出明确的请求,即
PUSH事务总是由服务器初始
PUSH和PULL技术比较图
PUSH概述——框架
• WAP的PUSH操作由PUSH起始者( PI,Push
•
•
•
•
Initiator)使用OTA协议或PAP协议向客户端传输内
容
PI和客户端分别位于有线和无线领域,因此需要一个
PUSH代理网关(PPG)进行协议转换
PPG通过PAP协议(PUSH访问协议)访问PI服务器中
的内容,PAP协议使用的是XML消息,这些XML消息
是通过各种Internet协议,如HTTP,利用隧道技术转
换过来
OTA协议完成消息处理、空中消息传输两个基本功能
PPG还能向PI通知PUSH操作的最终结果
WAP的PUSH框架图
PUSH代理网关PPG
• PPG完成PUSH体系结构中大部分工作,
是从Internet到移动网络PUSH内容的接
入点
• PPG所有者可以决定它的访问政策
• PPG可以构建在WAP中定义的使用
PULL技术的WAP网关,实现资源和会
话共享
PPG——操作概述
• PPG至少完成下列工作
•
•
•
•
•
PI的识别和认证,访问控制
内容控制信息的解析和错误检测
客户端搜索服务
地址解析(Address Resolution)
对特定内容类型进行二进制编码和编译,以提高
OTA传输效率
• 协议转换
• PPG不要求按某一定顺序传递消息
PPG—— PUSH提交处理
•
•
PPG接收来自PI的PUSH消息,这样的一个
PUSH任务称做一个PUSH提交
PUSH提交处理包括四个子操作
1. PUSH提交的接受或拒绝
2. 如果接受,根据PPG的策略和PI的要求进行进一
步传递,则PPG进行空中消息传递
3. 如果接受,且PI要求对消息传递进行结果通知,
PPG就进行消息传递结果通知
4. 对PAP的PUSH消息进行回应
前三项必须按顺序执行,第四项可在PUSH消
息接受之后的任何时候执行,由PPG决定
PUSH提交的接受或拒绝
• 一般,如果PPG能最终把PAP PUSH消息传递
到OTA客房端,它就接受这个消息
• 如果PUSH发送中包含任何元素非法,PPG必
须拒绝这个发送
• PPG还可以根据策略决定接受或拒绝
• 如果一个PUSH提交被接受,但未能完成空中
传递,必须报告如下的消息状态:
• PAP属性(Message state)
• 值(pending)
空中消息传递
由消息处理、空中消息传输两个功能组成
• 消息处理:对包含在PUSH发送中的PUSH进
行一些转换工作
• 对消息进行一些兼容优化操作,以提高空中传输效
率
• 把消息实体转换成客户端能接受的内容类型
• 空中消息传输
• 选择确认或非确认的PUSH传递消息
• 还可包括消息超期检测及取消,消息重传和传递超
时,承载网络和会话管理
• 这项功能不同步,PI不必等待PPG完成发送
PPG——客户端寻址
• PI使用特定的文本地址格式向PPG标识客户端,
PPG必须把这些地址转换成可在无线网络中传
输的形式,或反之
• 客户端地址组成:客户端标识和PPG标识符
• PI可以采用多种客户端标识符唯一识别WAP
客户端,一个PPG必须支持以下两种类型:
• 用户自定义标识符,如E-mail地址
• 设备地址,如PLMN电话号码或者IP地址
PPG——客户端地址格式
• 使用ABNF(巴克思范式)进行定义,格式与
Intetnet的E-mail地址兼容
• 格式:“WAPPUSH=”+客户端标识符
+“@”+PPG标识符
• 客户端标识符无论是用户自定义标识符或设备
地址,都由标识符和地址类型两部分组成,中
间由“/”隔开,不区分大小写
• 地址类型可以是:
• TYPE=USER(用户自定义标识符)
• TYPE=PLMN(或IPv4、IPv6等,这是设备地址)
PPG——客户端地址格式
• 客户端地址举例
• 用户自定义标识符
WAPPUSH=john.doe%40wapforum.org/TYPE=U
[email protected],其中%40就是“@”
• 设备地址
WAPPUSH=+155519990730/[email protected]
rier.com,设备地址为电话号码
Wappush=195.153.199.30/[email protected].
com,设备地址为一个IPv4地址
PUSH访问协议PAP
• 基于Internet的PI向移动网络PUSH内容时要对
PPG进行寻址,是通过PAP(Push Access Protocol)
完成
• PAP承载一个XML类型的实体
• PAP支持下列操作
•
•
•
•
•
•
PUSH提交(PI到PPG)
结果确认通知(PPG到PI)
PUSH取消(PI到PPG)
状态查询(PI到PPG)
客户端性能查询(PI到PPG)
寻址
PUSH提交
• 目的是从PI向PPG传递PUSH消息,然后
由PPG把消息传递到无线终端设备上的
用户代理
• PUSH消息包括三个实体:
• 控制实体
• 内容实体
• 可选的性能实体
结果确认通知
• 发送成功时,PPG发送确认通知消息到
PI,包含一个XML实体
• 检测到发送失败,也发送消息通知PI失
败的原因
PUSH取消
• 这是一个从PI向PPG发送的XML实体,
用来请求取消前面发送的内容
• 不管取消是否成功,PPG都会回应一个
XML实体
状态查询
• PI用来查询先前提交的PUSH消息的当前
状态
• 如果要查询的消息具有多个接收者,
PPG必须返回一个回应消息,这个消息
包含了对每一个接收者的状态查询结果
• 这个查询及其回应也都是XML实体
客户端性能查询
• PI用来向PPG查询特定设备的性能,是
一个从PI向PPG发送的XML实体
• 对查询的回应是一个multipart/related文
档
• 如果通过PPG的转换工作,使得客户端
具有某种性能,PPG也会把这项性能添
加到报告中
寻址
• PI要考虑三个地址
• PUSH代理网关PPG的地址
• 无线设备地址
• 结果通知地址
• PPG地址必须提供,用于底层协议寻址
PUSH空中协议OTA
• PUSH Over-The-Air Protocol
• 是在WAP体系结构中WSP之上的一个轻
量协议层,负责把内容从PPG传送到客
户端和它的用户代理
业务指示
• Service Indication,SI
• 是扩展标记语言XML1.0的一个应用
• 通知客户端发生了一个外部异步事件,并指向
一个可被加载以反映这个事件的服务,通过向
客户端发送一个消息完成
• 控制用户参与级别
• 删除存储在客户端的SI(手动或超期自动)
• 替代存储的SI
业务加载
• Service Load,SL
• 为避免问题:一接收到内容就直接PUSH到移
动设备,干扰其它操作,引起用户的不便和反
感
• 把URI传递到移动客户端的用户代理,在适当
的时候,客户端自动加载这个URI所指向的内
容,并使用相应的用户代理执行而不必用户的
参与
• 指示客户端把URI指向的内容优先缓存进
Cache,以便可以被客户端用户代理调用
客户端基础结构
• 客户端接收到PUSH消息后要对消息进行
相应的处理,因此PUSH框架需要一些客
户端的额外机制
• 会话生成应用:生成面向连接的PUSH所需
要的一个活动的WSP会话
• 应用分派器:查看PUSH消息首部,以决定
消息的目的应用程序
安全考虑
• PI的认证
• 客户端认证授权
• PPG过滤和访问控制
PI的认证
•
•
•
•
•
使用会话级证书(TLS/SSL)
使用对象级证书(签名或内容加密)
HTTP认证(用户名和密码、摘要)
组合认证
可信任的网络
客户端认证授权
• 利用信用可授权原理,即如果客户和一
个PPG可建立信用,这个PPG就可以代
表客户端对PI进行认证
• 在客户端通过保存一个信任的PPG列表
来建立客户端和PPG之间的信任
PPG过滤和访问控制
• 丢弃来自不可信或未认证的起源服务器
所PUSH的内容
第6节 WML/WML Script
• WML简介
• WML语法
• WML Script介绍
WML简介
• Wireless Markup Language是一种适用
于无线互联网的标记语言
• 是一种基于XML的标记语言,用于为窄
带设备设计内容与用户界面,充分考虑
小型窄带设备的制约条件
• 继承XML文件字符集
WML简介
• WML包括四个主要的功能块
• 文本演示与排版
• DECK/CARD的组织形式:WML中所有信
息被组织成CARD和DECK的集合。CARD
指一个或多个单位的用户操作。CARD分组
称为DECK
• CARD间导航和链接
• 字符串参数化与状态管理
WML语法
• 元素:有两种结构
• 成对出现<标签>内容</标签>
• 不成对出现<标签/>
• 属性:在元素的开始标签中说明,使用双引号
或单引号标明
• 注释:继承了XML的注释风格,形式如下:
<!--a comment-->
WML注释不支持嵌套
WML语法
• 实体:用于指明文件字符集中那些在WML中
保留或难以输入的字符,以“&”开头,以
“;”结束,进行取代:
•
•
•
•
•
•
•
<:&lt;
>: &gt;
&:&amp;
、:&apos;
":&quot;
空格:&nbsp;
-:&shy;
WML语法
•
•
•
•
WML区分大小写
所有标签、属性和规定的可接收值必须小写
连续的空字符,只显示一个空格
文件头声明
<?xml version="1.0"?>
• WML标记对
• 是任何一个WML页面的根元素
• 可以包含一个或多个卡片,和可选的头文件
• 可使用“模板”来生成其所包含的所有卡片
WML语法
• 变量
• 描述变量的语法在WML中优先级最高
• 当空格无法表示一个变量名结束的时候,就必须用
•
•
•
•
括号将参数括起来
可以在字符串中使用
任何元素和属性不能使用变量替代
在运行中更新变量的值
变量名由US-ASCII码、下划线和数字组成,且只
能以US-ASCII码开头
WML语法
• Text元素
• 段落:<p> </p>
• 空白:空格、制表符和换行都将显示为空白
• 重点:em(强调)、strong(特别强调)、
i(斜体)、u(下划线)、big(预定义的大
字体)、small (预定义的大字体)
• 换行:br
WML语法
• 输入input,用来收集用户的输入,包含
以下属性:
• name用来指定变量的名字
• value指定变量的缺省值
• type指定按密码输入模式进行输入
• format指定输入的内容是数字、字母、字母
和数字、输入长度、大写或者小写
WML Script介绍
• WML Script语言必须放在一个WMLS文件里,
而不能象Java Script那样镶嵌在HTML中
• WMLS文件的大小不要超过1.4k
• 语法规则:
• 每行程序以分号结尾
• 注释方法:“//”或者“/* */”
• 使用关键字var来声明变量,变量类型有:
BOOLEAN、INTEGER、FLOATING-POINT、
STRING和INVALID
WML Script介绍
• 函数调用方法
• 自定义函数:
extern function 函数标识符(格式参数表列)
Block
• WML Script内建函数:
函数类名.函数名(参数表列)
• 内建函数类型:Lang、Float、String、
URL、WMLBrowser、Dialogs
WML Script介绍
• 总之, WML Script与Java Script很相似,
只是多了和WML文件相配合的功能
第7节 WAP网站建设初步
1. WAP网站建设的准备工作
2. WAP网站建设的中期开发
3. WAP网站建设的后期测试
WAP网站建设的准备工作
WAP网站建设有两种基本解决方案:
• WAP内容网站+租用公共网关:投入较
少,维护费用少,适合中小企业
• WAP内容网站+WAP网关:投入较多,
维护费用高,适合大型有实力的企业
WAP网站建设的中期开发
• 栏目数量适当:太少,用户会觉得内容
贫乏;太多,用户操作不方便
• 栏目层次适当:层次太少,容纳不少太
多内容;层次太多,用户感到迷惑,且
会导致用户费用提高
• 操作简便:除用户名和密码等必要信息
外,尽量通过选择实现功能,减少用户
输入量
WAP网站建设的后期测试
• 使用模拟器进行开发的软件不一定能在
实际手机上完全通过,特别是一些细节
问题,必须经过手机实测
作业要求
1. WAP的概念
2. WAP的标准组件包括什么?
3. 对比PULL技术和PUSH技术。
考试说明
• 范围:所有章节(包括第七章)的课后作业题
• 题型:
• 单项选择题(每小题2分 共10分)
• 填空题(每空3分 共60分)
• 简答题(每题10分 共30分)
• 说明:
• 填空题要求只写出英文缩写或完整的中、英文全文
中的一种即可。
• 简答题涉及的英文缩写概念要求写出其完整的中、
英文全文,并解释。