⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wap_net.txt

📁 wap无线应用协议
💻 TXT
字号:
本文讲述了WAP网关的一般设计原理和WAP网关的工作过程,通过分析WAP协议簇的发展趋势,讨论了WAP网关的未来发展和应用前景,并对无线通信系统与IP网络系统的融合趋势进行了探讨。李学春总工程师首信集团IP技术研究所国家通讯标准组成员由于中国工程师对WAP网关的兴趣日趋浓厚,因此本刊编辑特约此稿来探讨WAP网关的设计原理和WAP网关的工作过程,并通过分析WAP协议簇的发展趋势,指出了WAP网关的未来发展和应用前景,并介绍了无线通信系统与IP网络系统的融合趋势。 WAP网关是移动用户接入因特网的重要设备之一,在移动客户端,WAP网关作为服务器,为用户提供各种各样的服务;在互联网端,WAP网关作为客户机,向信息资源服务器发出服务请求,通过因特网获取用户需要的信息。WAP网关负责将WSP请求/应答与HTTP请求/应答相互转换,其网络拓扑结构如图1所示。 WAP应用系统结构非常类似因特网结构,一个典型的WAP应用系统定义了三类实体:1.具有WAP用户代理功能的移动终端。典型的终端如WAP手机,它相当于因特网中的PC机。在它的显示屏上运行有微浏览器,用户可以采用简单的选择键实现WAP服务请求,并以无线方式发送和接收所需的信息。2.WAP代理实现WAP协议栈(WSP、WTP、WTLS和WDP)与因特网协议栈之间的转换。WAP代理中包含一个信息内容编解码器,通过把WAP数据压缩编码,减少网络数据流量,来最大限度地利用无线网络缓慢的数据传输速率。同时,WAP还采用了错误校正技术,确保网络浏览和数据传输过程不会因无线电通信线路质量的变化而受到严重影响。3.源数据服务器,如支持WAP的Web服务器等。这些服务器中存有各种WAP应用,这些应用可以根据WAP移动终端的需要而被下载,而且在不需要时从WAP终端中卸除。 图2描述了两种典型的WAP应用组网连接方式,第一种是通过在无线网上增加一个WAP代理节点,来实现无线终端对因特网上的Web服务器的访问;第二种是通过在无线网中直接建立无线电话应用服务器,从而允许无线终端使用各种电话业务,使得WAP可以很好地与目前电信网络中现存的各种先进电信业务相结合。那么,WAP网关是如何工作的呢?WAP网关可以接受移动终端(例如WAP手机)发送的请求,通过协议转换和翻译工作,将特定的信号进行过滤和重新路由,在信息服务公司(如ICP/ISP)的站点进行信息搜索,最后将得到的信息经加密和压缩后,送到终端,所以,WAP网关必须完成WSP请求的编码和解码工作,同时完成应用层和管理层的工作。在WAP网关的设计过程中,一般将网关分解为两个大部分,WDP层和除WDP层以外的其他协议层(包括WTLS、WTP、WSP和部分WAE协议)部分(我们把该部分称为WAP层),其结构如图3所示, 在该设计结构中我们可以看出,WDP层和WAP层的连接是通过TCP/IP进行的,而WAP层中的WTP、WSP、WTLS和WAE的连接,是通过事件驱动机制进行通讯的,这样设计对WAP网关的扩容和负载平衡,都有非常大的好处,使用户在需要的时候,无须更换设备,即可轻松扩容,而且,对WAP的稳定性和冗余备份都将发挥重要作用。在本设计方案中,WAP网关分为WAP网关核心和周边子系统。WAP网关核心包括:网络前置安全子系统(WAPGW_FSecSS)、WAP承载网适配子系统(WAPGW_BSASS)、WAP核心服务子系统(WAPGW_KSSS)和WAP核心协议子系统(WAPGW_KPSS)。周边子系统包括网络管理子系统(WAPGW_NMSS)和网络计费子系统(WAPGW_NTSS)。网络前置安全子系统主要是为了防止恶意的无线用户对WAP网关进行的破坏活动,通过该系统可以保证WAP网关的安全运行。 WAP承载网适配子系统是为了WAP网关能支持不同的承载网络服务(如CSD、SMS、GPRS等)而设。WAP核心服务子系统根据承载服务的类型而调用不同的适配子系统。将其单独作为一个模块的好处有:1.使整个WAP网关结构清晰,该模块主要是完成WAP协栈的WDP层功能。2.便于WAP网关移植到新的承载服务之上,只要单独对该子系统进行改造,而不必修改整个WAP网关体系和其它核心组件。例如,添加SMS服务时,所需动作有:1. 邦定一个端口以接收SMSC的数据;2. 启动一个线程(SMC_THRED);3.提供SMS消息与WDP数据报的转换例程(即适配器)。 WAP核心服务子系统和WAP核心协议子系统是WAP网关的最重要的两个子系统,两者之间采用基于TCP/IP的C/S分布式体系,即在WAP网关核心的内部,WAPGW_KSSS是服务器,WAPGW_KPSS是客户;一个WAPGW_KSSS对应多个WAPGW_KPSS,WAPGW_KSSS与WAPGW_KPSS可分布在不同主机上,它们之间采用TCP/IP通信。这是WAP网关设计的关键,该设计思想及其优越性源于以下几点:1. 解决WAP网关的性能瓶颈问题,以获得高效的多用户支持。WAPGW_KSSS只实现WAP协议栈中的WDP层,处理量比较大的核心协议(WTLS、WTP、WSP、WSP/HTTP等)在WAPGW_KPSS中实现,且WAPGW_KPSS可以复制多份在不同主机上并行运行,这样有效地解决了多用户造成的性能瓶颈问题。2. 使WAP网关具有可扩展、易伸缩等特性,以动态运行WAP网关。WAPGW_KSSS可动态接受新的WAPGW_KPSS连接请求,并在建立连接后,马上根据负载情况为其分配任务;同时,WAPGW_KSSS也能有效的处理WAPGW_KPSS退出运行的请求,并将已分配在其上的任务合理地转移到别的WAPGW_KPSS上,以避免用户的损失。3. 解决WAP网关的容错、灾难恢复、危险分散等问题,以保证WAP网关可靠运行。WAP网关核心是一个分布式系统,WAPGW_KSSS是其中心。某一WAPGW_KPSS的错误不会导致整个WAP网关瘫痪,WAPGW_KSSS会自动检测各个WAPGW_KPSS的运行情况,若某一WAPGW_KPSS出错(如网络不可达、主机崩溃、进程崩溃等),WAPGW_KSSS会将其连接断开,并自动将分布在其上的任务转移到别的WAPGW_KPSS上。当出错的WAPGW_KPSS恢复并重启时,会重新请求连接并投入运行。该设计同时还获得了结构清晰,维护方便等许多优点。但在该设计方案中,WAPGW_KSSS可能会成为潜在的性能瓶颈、危险集中点,所以,在系统实际应用过程中,一般将该模块进行镜像影射,从而达到安全运行的目的。 WAP网络管理子系统可采用两种方法:一是基于Web管理,二是基于Java的跨平台图形界面管理。网络管理的报文格式采用HTTP协议,底层基于TCP的socket接口通讯。 WAP网络计费子系统与WAP核心采用TCP Socket通信,或采用在互操作上取得极大成功的CORBA技术,并利用其面向对象、组件等优点来构建可重构的计费应用系统。周边子系统(WAPGW_NMSS和WAPGW_NTSS)与WAP网关核心主要通过数据库和文件来交换信息。数据库有网络管理信息库(MIB)和计费信息库,文件主要有日志文件和运行配置文件。核心对数据库和文件主要进行写入操作,只包含少量的读取操作(如系统启动时读运行配置文件);周边子系统对数据库和文件则主要进行读取操作,只包含少量的写入操作(如更改运行配置文件)。 WAPGW_KSSS是WAP网关的灵魂,它的正确运行是整个系统运行的先决条件,同时它又是最可能成为性能瓶颈的部件,因此,WAPGW_KSSS的设计遵循一条最基本的原则:采用最简单可靠的技术完成最低限度的处理功能。 WAPGW_KSSS完成的功能主要是:1. 完成WAP协议栈的WDP层功能,以支持不同的承载服务。2. 充当WAPGW_KPSS和周边子系统的服务器。 WAPGW_KSSS包括下列模块:1. 初始化模块:主要完成建立和初始化监听端口、全局队列、全局路由表、全局线程结构表等全局数据结构,读取配置文件及其它全局信息。它还启动CSP-WDP模块,以接收CSD的数据。2. CSD-WDP模块:是CSD的WDP适配层,完成WDP的功能。由于CSD是基于IP的,IP上采用UDP,因此,CSD的适配层可以认为不存在,只需完成从CSD接收数据并插入请求队列;从响应队列中取出数据并发送给CSD。若WAP网关需要支持多种承载服务,如支持SMS、GPRS,只需加入相应的WDP适配层,而不必对整个WAP核心体系作结构的改动,即可支持新的承载服务类型。3. 连接管理模块:主要处理各监听套接口上的连接请求,并启动相应服务模块。服务模块有:WAPGW_NMSS服务模块和WAPGW_KPSS服务模块。4. 全局检测模块:主要完成对队列中的垃圾数据、各个线程的活跃状态、路由表的垃圾数据、死亡线程的处理。5. 结束处理模块:主要完成系统结束时对全局内存释放,关闭套接口、文件、清理线程等。6. WAPGW_KPSS服务模块:建立与WAP核心协议子系统(WAPGW_KPSS)的连接;正确地从请求队列中将数据转发给WAPGW_KPSS,从WAPGW_KPSS接收数据,插入响应队列;维护模块自身的活跃状态。6. WAPGW_NMSS服务模块:建立与WAPGW_NMSS的连接;针对管理请求(http格式)进行相应的操作(如杀死某子线程),并返回HTTP响应给WAPGW_NMSS。7. 路由模块:主要完成无线网数据中心来的数据的路由和WAPGW_KPSS来的数据包的路由,以保证从同一个无线数据中心来的路由到同一个WAPGW_KPSS上,同时保证WAPGW_KPSS发送的数据正确地发送到无线数据中心。8.队列管程模块:主要完成对两个全局消息队列(请求和响应队列)的操作,如添加、删除数据包。9. 线程管理模块:主要完成线程创建、杀死、删除等功能。 WAPGW_KPSS的子系统的设计严格遵照WAP协议栈的分层思想,将该层划分为WTLS、WTP、WSP和部分WAE功能。 WAPGW_KPSS的主要功能是:1. 完成WAP协议栈的核心处理协议(如WTP、WSP等)的功能;2.提供安全服务(如WTLS、SSL等)功能;3. 作为应用网关完成与因特网协议栈的转换功能;4. 向源服务器发出请求并取回响应。 WTP层主要完成与事务相关的功能,如可靠的传输数据等。WTP层主要分为以下几个模块:1. WTP网络输入模块;2. WTP网络输出模块;3. WTP状态机模块;4. WTP事件处理模块;5. WTP定时器模块;6. TID校验模块;7. WTP事件队列模块;8. WTP事件操作例程。 WTP网络输入模块完成将UDP报文解析成WTP的PDU格式,并生成相应WTP事件的功能。WTP网络输出模块完成组装WTP报文、并调用socket接口发送报文的功能。WTP状态机模块完成在全局状态机队列中查找或创建状态机的功能,以及对状态机进行操作维护(如状态机的创建、属性获取、删除等)。 WTP事件处理模块是WTP层的核心,其完成的功能有:1.针对目前状态,参考所处条件,进行事件处理;2. 在事件处理过程中,必要时启动定时器;3.在事件处理的条件判断时,调用TID校验模块以验证对方报文的TID有效性;4. 在需要与WSP层交互时,产生WSP事件并调用WSP事件处理模块;5. 调用网络输出模块封装并发送网络报文。注意,有三个情况会激发WTP事件处理模块,它们是:1.下层网络数据到达;2. 定时器超时;3. WSP层的原语调用。 WTP定时器模块是为了处理超时事件而设,有三类超时事件,它们是:网络应答超时,网络数据重传超时,用户应答超时。该模块的功能有:1. 维护定时器(定时器的创建、启动、删除、超时事件的产生等);2. 若定时器超时,产生超时事件并调用WTP事件处理模块。 TID校验模块对客户方发送报文的TID进行校验,以判断报文的有效性;当TID不合法时,服务端向客户发出TID验证请求。 WTP事件操作例程的功能是主要有创建事件,获取事件属性,删除事件等。WTP事件队列模块对状态机所指的代处理事件队列进行操作。 WSP层主要完成请求/响应过程的WSP状态维护功能。WSP层主要分为以下几个模块:1. WSP事件处理模块;2. WSP状态机模块;3. WSP报文解析/封装模块;4. WSP事件队列模块;5. WSP事件操作例程。 WSP事件处理模块是WSP层的核心,其完成的功能有:1. 调用WSP解析/封装模块对报文进行封装和解析;2. 需要与WTP层交互时,产生WTP事件并调用WTP事件处理模块;3.调用WSP-HTTP网关模块,发送HTTP请求并接收响应。 WSP状态机模块完成在全局状态机队列中查找或创建状态机的功能,以及对状态机进行操作维护(如状态机的创建、属性获取、删除等)。 WSP报文解析/封装模块完成从WTP报文解析和将应用网关报文封装成WSP报文的功能。 WSP事件队列模块对状态机所指的代处理事件队列进行操作。 WSP事件操作例程的功能主要有创建事件,获取事件属性,删除事件等。应用网关层主要完成WAP协议栈和因特网协议栈的转换,以及从源服务器获取客户所请求内容的功能。该层分为以下几个模块:1. WSP-HTTP协议转换模块;2. 内容压缩/解压模块;3. WSP头压缩/解压模块;4. HTTP请求/响应模块。 WSP-HTTP协议转换模块主要完成WSP协议与HTTP协议的转换功能,具体为:1.应用协议网关;2. 调用内容压缩/解压,头压缩/解压模块;3. 调用http模块,以获取请求内容。内容压缩/解压模块完成对WML、Wmlscript等内容的压缩与解压缩功能。WSP头压缩/解压模块完成对WSP头与HTTP头转换功能。HTTP请求/响应模块发出HTTP请求并获得响应给WSP层







    WAP   无连接会话业务9200   协议:WSP/数据报   
  WAP   会话业务9201   协议:WSP/WTP/数据报   
  WAP   无连接安全会话业务9202   协议:WSP/WTLS/数据报   
  WAP   安全会话业务9203   协议:WSP/WTP/WTLS/数据报  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -