第 7 章 无线应用协议 wap

Post on 21-Jan-2016

100 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

第 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 的概念. - PowerPoint PPT Presentation

TRANSCRIPT

第 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

• EPOC

• Windows CE

• FLEXOS

• OS/9

• JavaOS

• Symbian OS

• BlackBerry OS

• iOS

• 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/WT

P )的转换( 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.1WAP1.2协议栈7.3.2WAP2.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 操作以 RSA握手为例,描述 WTLS握手期间在WTLS 服务器和客户端之间、 ME和WIM之间发送的消息流程

1. 读取配置: ME从WIM 中读取密钥、证书及WIM 支持的算法

2. ME读取WIM 生成的随机值3. 服务器读取客户端证书4. ME验证服务器证书的 CA签名5. 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=USER@ppg.carrier.com ,其中 %40就是“ @”

• 设备地址WAPPUSH=+155519990730/

TYPE=PLMN@ppg.carrier.com ,设备地址为电话号码

Wappush=195.153.199.30/TYPE=IPv4@ppg.carrier.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分)

• 说明:• 填空题要求只写出英文缩写或完整的中、英文全文

中的一种即可。• 简答题涉及的英文缩写概念要求写出其完整的中、英文全文,并解释。

top related