无线事务协议

科技工作者之家 2020-11-17

无线事务协议(Wireless Transaction Protocol,WTP)运行在无线数据报协议或无线传输层安全服务之上,提供适合于移动终端和无线网络的运输服务,以有效地满足交互式事务型应用(请求/响应型)在无线环境下的应用需求。在无线应用协议体系结构中,无线事务层位于无线应用环境、无线会话层之下,而在无线传输层安全(可选)、无线数据报层之上。正是由于无线事务协议层的存在,使得无线会话协议层能为无线应用环境提供面向连接的可靠会话服务。

定义无线事务协议(WTP)是面向连接的传输层协议,运行在数据报服务和可选的安全服务之上,为上层提供轻量级的面向事务处理的服务,并进行了专门优化以适用于移动终端的设计。其作用与TCP协议的作用类似,但它充分考虑了WAP浏览等交互式事务型应用(具有非对称性、数据传输的单向性、持续时间短、传输分组少和面向报文等特征)的通信需求。WTP无连接建立和拆除过程,它定义了三类基本的报文传输服务:不可靠的0类数据报服务、无结果报文的可靠的1类服务和有结果报文的可靠的2类服务,它们分别应用于不可靠的“推”、可靠的“推”和基本的请求/响应型应用。WTP通过事务标识符、确认和重传机制、可选的用户确认、分段重组及选择重传等手段提供可靠的数据传送1。

三类不同的事务处理服务0类事务处理服务

它提供传统的数据报服务,可用于仅需“不可靠”服务(如“推送”服务)的应用。通常只使Invoke PDU,用于携带传送WSP会话层一个会话的拆链请求。该事务类型不作为发送数据报的基本手段,它是无状态的,不能被中止,发起方需将事务标识号(TID)增1,但响方不能修改缓存的TID。

1类事务处理服务

这是一类无结果报文的可靠的服务,可被WSP用于可靠的服务,发起方发出请求报文,响应方检查TID决定是否需要验证,若不需要,则向用户提交报文,并向发起方返回最后确认(其次序取决于用户确认功能是否被激活),响应方需维护状态信息以便重传最后确认,事务可在任何时候被中止。事务处理过程中所使用的PDU包括Invoke PDU,Ack PDU和Abort PDU等。

2类事务处理服务

一类基本的请求/响应事务处理服务,它是最常用的事务服务。发起方发出请求报文,响应方检查TID决定是否需要验证,若不需要,则向用户提交报文并等待结果,响应方一段时间后可发送“保持”(hold on)确认;WTP用户通过TR-Result请求原语发送结果报文,发起方收到报文后向响应方返回最后确认,发起方必须维护状态信息以便重传最后确认,返回确认信息到响应者,发起者同样需保持原有状态一定时间,当响应者收到这个确认信息时事务结束。2类事务同样能随时中止。

事务的可靠性

事务的可靠性通过事务标识符,确认和重传机制以及重复删除等手段达到。报文发出后,启动重传计时器并初始化重传计数器为0,如果计时器满时还未收到确认,则重传此报文,同时重传计数器加1,并重新启动重传计时器,该过程重复直至超过最大的重传次数,此时该事务将被中止。重传指示(RID)域用于指明是否是重传的PDU,其目的是让接收方区分重传的报文和由网络重复的报文,由网络重复的报文可忽略,但接收方不能区分是否为网络重复的重传报文,这时需要TID验证2。

面向报文的服务处理WTP进行面向报文的服务处理,其基本的协议数据单元是整个报文而不是字节流。

用户确认

用户确认功能允许WTP用户对收到的每个报文进行确认,该功能使用时,WTP实体在用户响应指示服务原语前不能发出响应报文,如果一段时间后用户还不响应指示服务原语,该事务将被中止。这是比传统定义更强形式的确认服务,该功能 对WTP来说是可选的,可被WTP使用。发起方通 过在Invoke PDU中设置U/P标志位来指定是否需要用户确认功能,响应方收到报文后,如不支持该功能,则中止该事务,否则产生TR-Invoke指示并启动确认计时器WTP实体在用户响应指示服务原语前不能发出响应报文,如果在等待期间发起方重传了Invoke PDU,响应方必须丢弃该报文并重新启动确认计时器。

未完成事务的异常中止

一个未完成的Invoke PDU事务可由WTP用户通过TR-Abort请求原语中止,也可由于协议错误或被请求的功能未实现而由WTP服务提供者中止。中止过程有三类情形:发送方WTP服务提供者还未发出报文,它必须从内存中丢弃报文;发送方WTP服务提供者已发出报文至对方,或正在发送报文的过程中,它必须发出Abort PDU至对方以丢弃与该事务相关的所有数据;接收方服务提供者收到Abort PDU,将产生TR-Abort指示服务原语并丢弃所有事务数据。

异步事务处理

WTP允许多个事务同时存在,异步处理,同时存在的未完成事务的最大数目受到TID位数的限制,实现环境对同时存在的未完成事务的数量也有限制。当响应方超过最大数目时将忽略并丢弃请求报文。

拼接和分割

拼接是将多个WTP PDU放在承载网络的一个数据报SDU中传输的过程,分割则是相反的过程,拼接和分割是为了减少传输的数据量从而提高无线传输的效率;拼接需对具有相同地址信息的报文进行,被拼接的PDU来自不同的事务(如一个事务的最后确认与下一个事务的请求报文);拼接和分割在WTP状态机之外进行,如何缓冲和拼接分组是一个实现相关问题。

分段、重组和选择重传

如果报文的长度超过承载网络的MTU,报文可被WTP分成多个分段报文进行传输,这些分段报文可按组进行发送和应答。发送方可根据网络的特性改变分组的大小从而实现流量控制。当接收方收到一个完整报文的所有的分段时,将重组该报文。选择重传允许接收方只请求重传丢失的分段报文,它可以减少重传的数据量;SAR的功能是可选的,实现WTP SAR的动机是选择重传,在发送较大报文时,可提高协议的无线传输效率。

本词条内容贡献者为:

王慧维 - 副研究员 - 西南大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。