WAP协议(Wireless Application Protocol)无线应用协议是一个开放式标准协议.它使用WML标记式语言(类似于HTML)并可通过WAP Gateway实现html和wml的转换.它是由一系列协议组成,同时还引用了许多Internet协议,比如IP 、XML等.目前,Internet技术主要是针对PC设计的,能够支持在可靠度高的数据网上进行宽带连接 ,像移动电话这种大众化的便携式无线装置在数据、信息等方面的处理能力上根本无法与PC相提并论.主要因为,第一,移动通信产品主要是移动电话,其中央处理器CPU的速度较慢、内存较小、电力有限、显示屏较小、按键数量较少、输入方式有限;第二,由于移动通信系统本身的原因,导致移动网络带宽较窄、稳定性较低、服务内容比较简单,不适合用于接收Internet信息.所以,WAP协议针对移动网络的需要,为了适应无线电通信的特殊环境进行了特别设计和优化.它主要包括World Wide Web信息浏览、E-mail收发、IRC网上实时聊天和Newsgroups新闻组讨论等.WAP协议只要求移动电话和WAP代理服务器的支持,而不要求现有的移动通信网络协议作任何的改动,所以WAP协议能同时适用于CDMA、GSM等多种不同的移动通信系统.WAP协议堆栈的设计也力求使所需带宽最小化.并对各种网络技术和服务提供广泛支持.

 

以下是关于TCP/IP协议和WAP协议比较

 

(1)在应用层,TCP/IP包含了OSI协议模型的高三层(即应用层、会话层、表示层)的功能,对于视频业务和多媒体业务来说并不是一种理想的协议结构模型.WAP协议栈实际上部分恢复了OSI的高三层业务,这对日趋复杂的数据应用和服务是有价值的,尤其是在无线移动电子商务环境中更是如此.

(2)在传送层,TCP/IP和WAP协议栈的差异巨大,面向连接的TCP是Internet的主体,但在WAP中,无连接的WDP才是广域无线移动数据网的关键.

(3)WAP协议栈还可以提供安全协议, 即无线传送层安全 (WTLS)协议, 它实际上是来自TCP/IP体系的TLS/SS协议.

 

WAP协议栈

------------------------

          WAP          INTERNET

------------------------

    应用层(WAE)      HTML

------------------------

    会话层 (WSP)       

------------------------HTTP

          事务层(WTP)     

------------------------

    安全层(WTLS)     SSL

------------------------

          传输层(WDP/UDP)  TCP/UDP

------------------------

        3G、WiMAX...     

------------------------

 

   (1) WAE应用层

       应用层的主要目的是使运营商和服务提供者能够有效地在不同的无线平台上建立服务和应用程序。描述了WML(类似Internet使用HXML)、Wscript(类似Internet使用Javascript)、Wireless Telephony Application(WTA, WTAI)和一些数据格式(如WBMP图片格式、电话本记录和日程记录等等)。

       无线电话应用(WTA)使WAP可以很好地与电信网络中现存的各种先进电信业务相结合,如智能网业务。通过用户接口,移动用户可以应用各种电信业务而不需修改移动终端。

  (2) WSP会话层

       会话层协议为上层的应用提供面向连接的(Confirmed Push)或无连接(Connectionless Push)的会话通信服务。

  (3) WTP事务层

       提供一种轻量级的面向事务处理的服务,专门优化并适用于无线数据网。

  (4) WTLS 安全层

       基于SSL的安全传输协议,提供加密、授权及数据完整性功能。

  (5)WDP传输层

       无线数据报协议,一种通用的数据传输服务,可以支持多种无线承载网络,使得上层的WAE、WSP、WTP、WTLS独立于下层的无线网络,使用下层承载能力为上层提供一致的服务。

       如果WAP代理/网关收到的消息是通过INTERNET网络的UDP协议传输的,WAP代理/网关同样使用UDP取代WDP与移动设备交互。

 

WAP网络部署

    (1)WAP应用直接通过WAP服务器与设备交互(WAP Application Server)

 

                                                   <基站(BS)信令网>

 

                 [Mobile Device] <-----WSP----->[WAP Server]

 

         如果只提供单纯的WAP应用,可以用现有的网络服务器,只改变MIME类型就可以,将WAP网页或程序上传到支持WAP功能的服务器上,移动设备就可以通过输入URL来进行访问,WAP服务器需要实现WAP协议栈。

 

         可通过Microsoft IIS6.0实现WAP应用,步骤如下:

     1)首先,打开IIS为其设置新的MIME类型,在网站属性的HTTP头选项中设置。添加WAP所需的MIME类型。

         扩展名 MIME类型 .wml text/vnd.wap.wml .wbmp image/vnd.wap.wbmp .wmlc application/vnd.wap.wmlc .wmls text/vnd.wap.wmlscript .wmlsc application/ 

            vnd.wap.wmlscriptc

     2)确定后你的IIS已经可以支持WAP,但是当我们在浏览器输入WAP页地址访问的时候却提示将WML文件下载,这时你必须安装WAP浏览器才行,如M3Gate,可以在http://www.gmcc.net/wap/  

            m3stp06.zip下载到。                                    

       tomcat5.0的版本一般都已经对wml支持了,如果不支持的话,修改CATALINA_HOME/conf/web.xml。在MIME映射部分添加如下内容:

    <mime-mapping>

     <!-- WML Source -->

     <extension>wml</extension>

     <mime-type>text/vnd.wap.wml</mime-type>

    </mime-mapping>

    <mime-mapping>

     <!-- Compiled WML -->

     <extension>wmlc</extension>

     <mime-type>application/vnd.wap.wmlc</mime-type>

    </mime-mapping>

    <mime-mapping>

     <!-- WML Script Source -->

     <extension>wmls</extension>

     <mime-type>text/vnd.wap.wmlscript</mime-type>

    </mime-mapping>

    <mime-mapping>

     <!-- Compiled WML Script -->

     <extension>wmlscriptc</extension>

     <mime-type>application/vnd.wap.wmlscriptc</mime-type>

    </mime-mapping>                          

 

    (2)WEB服务器通过WAP代理(WAP 网关)与设备交互(WAP Proxy)

 

 

                                            <基站(BS)信令网>

 

              [Mobile Device] <----WSP----[WAP Gateway]---HTTP--->[WAP Server]

 

    WAP代理/网关实现WAP协议栈(WSP、WTP、WTLS和WDP)与Internet协议栈之间的转换。WAP代理把WAP请求翻译成为WWW请求,同时也将Web服务器的响应翻译成压缩的二进制WML格式数据,以便移动终端的理解。信息内容编解码器把WAP数据压缩编码,以减少网络数据流量,最大限度地利用无线网络缓慢的数据传输速率。同时WAP还采用了错误校正技术,确保网络浏览和数据传输过程不会因无线信道质量的变化而受到严重影响。

 

WAP2.0

  在WAP2.0版本中,支持以下新增协议栈功能:

    (1)在传输层,WAP2.0采用具有无线特征的WP TCP/IP协议,以使得网络可以基于IP进行数据传输。WP TCP提供面向连接的服务,它被优化用于无线环境,可与互联网上的标准TCP应用充分交互操作。

    (2)在会话层,WAP2.0采用具有无线特征的HTTP协议(WP HTTP),WP HTTP规范针对无线环境的HTTP协议子集,完全能够与HTTP/1.1共同使用。WAP设备和WAP代理服务器/WAP服务器之间交互工作的

          基本模型是HTTP请求/回应处理机制。WP HTTP支持回应的信息体压缩和安全通道的建立。这样,在WAP2.0不一定需要WAP代理服务器,因为在客户端和源服务器端通过使用HTTP/1.1就可以直接完 

          成移动应用。

    (3)WAP2.0增加了更多的安全保证措施,包括采用TLS协议, WAP2.0支持TCP/HTTP的情况下允许移动终端与应用服务器直接建立TLS安全隧道,实现端到端的加密功能。提供改进的端到端的安全,集成

          有线互联网等,以保证使用移动商务和移动银行应用等移动业务的安全。TLS协议的无线协议子集允许针对安全传输的交互操作。TLS的协议子集包括加密簇、验证字格式、签名规则和会话恢复等安全措 

          施。

 WAP2.0主要优势表现如下:

     (1)速度更快:WAP网关不用做HTTP/TCP和WSP/WTP/WDP的协议转换;手机侧不用做WSP/WTP/WDP的解析,但是网络中需要做HTTP/TCP的无线配置。

     (2)性能提高:因不做大量的协议转换,同样的硬件设备支持更多的并发用户。

     (3)提供了端到端的安全机制:如使用TLS时,WAP网关不用解析HTTP应用,是透明传输的端到端的协议。

     (4)丰富的内容:因WAP2.0协议采用了与有线互联网兼容的语言,因此获得了更为广泛的支持,更多的应用能更容易的被用在移动互联网上,这是在WAP1.X上做不到的,这种兼容性也使WAP2.0比WAP1.X

           有更长的使用期限和稳定的产品形态(不用在协议和标记语言上进行频繁升级),使移动用户享受到有线互联网的丰富的内容。

 

 

WAP的数据传输(WAP PUSH)

  WAP的数据传输使用WAP PUSH,WAP推送(PUSH)技术是一种建立在客户服务器上的机制,就是由服务器主动将信息发往客户端的技术。同传统的拉(PULL)技术相比,最主要的区别在于推送(PUSH)技术是由服务器主动向客户机发送信息,而拉(PULL)技术则是由客户机主动请求信息。PUSH技术的优势在于信息的主动性和及时性。

 PUSH技术在Internet中没能取得大的成功,原因是多方面的。主要原因在于固定网中计算机等固定设备为用户提供了足够的资源和能力去查找信息所以用户通常将它作为一个浏览信息的窗口,而不是被动的信息接收者。同时固定网用户对于信息准确性的要求远甚于对其及时性的要求,因此PUSH技术未能得到广泛的应用。

 而在移动网中,由于存在着网络带宽、移动终端能力以及自费标准高昂等诸多限制,使得用户查找信息受到了一定的限制,如果将重要的信息主动及时地推送到用户的移动设备上无疑会大大方便用户。移动通信的优点是移动设备能够随时随地接收信息因此PUSH技术在移动网中可以大展拳脚,WAP PUSH正是PUSH技术和移动通信两者扬长避短相结合的产物。WAP PUSH是在移动网络中应用的PUSH技术,它结合了一般PUSH技术和移动网络的特点。它的系统框架、使用协议和服务方式与固定网上的PUSH技术有很大不同。

 

WAP数据传输框架

   整个WAP框架包括PI(Push Initiator,即互联网的服务器)、PPG(Push Proxy Gateway,一般为WAP网关)、移动终端三大部分。PI到PPG之间是基于HTTP的PAP(Push Access Protocol)协议(PPG和PI互为HTTP服务器),PPG到移动终端之间是PUSH OTA(PUSH Over-The-Air)协议。

   基本流程是互联网的服务器将要发送的信息内容,采用XML表现形式,通过PAP协议发送给WAP网关。这里发生了很多细节过程后(计费、SP标识、访问控制、信息内容二进制压缩编码、终端发现、终端能力特性检查、终端地址解析),通过PUSH OTA协议将内容发送到手机上(2.0以下的规范用OTA-WSP,2.0以上的规范用OTA-HTTP)。

   这是很理想的目标,可是在目前全球所有运营商部署的无线网络那里,实现这个基本都不现实。第二代无线网络GSM/CDMA95A是基于信令的电路交换的通信技术,并不支持IP协议,能进行WAP这样数据业务,需要先在信令协议栈上借用modem拨号机制封装成IP/PPP包。WAP网关通过信令网找到手机并建立WSP会话的连接是不可能实现的。第二代半过渡性的网络技术GPRS/CDMA1.x理论上是可以让手机永久在线,拥有固定的IP地址,可现实并不是如此。空中信道的有限容量、计费管理、网络容量等方面都不成熟,所以,移动终端要像一台服务器那样,接收并处理WAP网关随时发起的主动连接请求,只能等到第三代无线网络技术全面普及的那一天了。

   正是由于上述局限,目前,在世界各地,所有运营商和所有方案供应商那里,都采用SMS(短消息)方式承载OTA侧的推送,因此在实际环境中更多的通过短消息(SMS)网关与移动终端交互。SMS是信令通道上传输的,处于网络覆盖中的手机通过BTS、BSC、MSC与短信中心随时随地可以相互通信。所以,作为这种服务器到终端的信息传输载体,SMS是最适合不过了。

 

 

推送访问协议(PAP)(Push Access Protocol)
   PAP是PI(服务器)与PPG(网关)间的通信协议,它使用XML作为消息的描述语言,通过简单的请求响应机制完成数据的传输。PAP可以实现在多种通信协议之上,包括HTTP,SMTP等。目前的WAP版本仅给出了利用HTTP机制的PAP的规范。

 

推送空间传输协议(PUSH OTA)
   PUSH OTA是运行于WSP之上的一层较为简单的协议层,负责从PPG(网关)到移动设备的数据传输。PUSH OTA可使用面向连接的会话(Confirmed Push)和无连接会话(Connectionless Push)两种WSP层服务,对于使用连接会话的推送,需要在PPG和客户端间预先存在一个激活的会话,即需要对方回送接收确认信息的Push;对于无连接的推送,则通过预留的端口完成通信。即发送出去后,是否收到就不管了。

 

WAP网关

   PPG(Push Proxy Gateway,一般为WAP网关)完成推送体系结构中的大部分工作,包括从Internet到移动网的访问接入,以及与其有关的认证、安全、客户端控制等所有工作。PPG所提供的主要服务包括:

   1)PI的标识、鉴权和访问控制;

   2)对推送内容进行语法分析,并依据数据类型定义(DTD)检错纠错;

   3)客户寻址与信息传输;

   4)PAP与PUSH OTA间的协议转换;

   5)为提高无线信道中的传输效率,对信息进行压缩、编译等处理。

  另外,PPG还可以通过别名机制实现组播和广播,即将某些特定的地址别名映射到组播或广播的操作中,具体方案可以由系统实现者决定。不同的客户端,其能力是不同的,PPG还要负责响应PI的客户能力查询请求,以便于PI针对不同的客户端构造合适的内容格式。

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐