Description
The Wireless Transaction Protocol (WTP) is a layer 4 (transport layer) protocol within the Wireless Application Protocol (WAP) architecture, designed to provide efficient transaction services over potentially unreliable wireless datagram bearers. It sits above the Wireless Datagram Protocol (WDP) and below the Wireless Session Protocol (WSP) or directly under applications. Unlike connection-oriented protocols like TCP, WTP is transaction-oriented, meaning it is designed for short-lived request/response interactions typical of web browsing and telemetry, avoiding the overhead of connection establishment and teardown for each data exchange. Its primary function is to ensure the reliable, non-duplicated delivery of messages between a WAP client (initiator) and a WAP server (responder).
WTP operates using three classes of transaction service, each offering a different level of reliability and functionality to suit various application needs. Class 0 provides an unreliable invoke message with no result message, suitable for one-way notifications. Class 1 provides a reliable invoke message with no result message, ensuring the request is delivered but not expecting a response (e.g., reliable push). Class 2, the most common, provides a reliable invoke message followed by a reliable result message, implementing a classic reliable request/response transaction. The protocol uses a unique transaction identifier (TID) to match requests with responses. It incorporates mechanisms for segmentation and reassembly (SAR) to handle large messages that exceed the maximum transmission unit of the underlying bearer, breaking them into smaller WTP Protocol Data Units (PDUs) for transmission.
The internal operation of WTP involves state machines for both the initiator and responder. Key procedures include transaction initiation, where the initiator sends an Invoke PDU; acknowledgment, using Ack PDUs for reliability; and transaction completion with a Result PDU (for Class 2). WTP employs selective retransmission based on negative acknowledgments (NACKs) or timers to recover from lost packets, making it more efficient than simple go-back-N in lossy environments. It also includes a concatenation/de-concatenation feature to pack multiple PDUs into a single lower-layer SDU, reducing header overhead. By providing these services, WTP abstracts the underlying network's unreliability and characteristics, offering a consistent interface to the upper-layer WSP for session management and application data exchange.
Purpose & Motivation
WTP was developed to address the inefficiency of using traditional Internet protocols like TCP over the high-latency, low-bandwidth, and loss-prone wireless links of 2G and early 2.5G networks (e.g., GSM CSD, GPRS). TCP's three-way handshake, congestion control mechanisms, and byte-stream orientation introduced significant latency and overhead for the short, transactional exchanges characteristic of early mobile web browsing (WAP browsing) and telemetry services. This mismatch led to poor user experience and wasted scarce radio resources.
The protocol's transaction-oriented design was motivated by the need for a lightweight, message-based transport that could provide reliability where needed without the full overhead of a persistent connection. It solved the problem of efficient and reliable request/response communication for constrained devices and networks. By offering different service classes, it allowed application developers to choose the appropriate level of reliability, avoiding unnecessary acknowledgments for one-way traffic. The integrated segmentation and reassembly, along with concatenation, were crucial for optimizing the use of small, fixed-size packets common in some wireless bearers and for handling web objects that were larger than a single network packet. WTP was a key enabler for the WAP 1.x ecosystem, allowing interactive services to function with reasonable performance within the technological limits of its time.
Key Features
- Three transaction classes (0, 1, and 2) offering selectable levels of reliability for invoke and result messages
- Integrated Segmentation and Reassembly (SAR) for handling messages larger than the underlying bearer's MTU
- Concatenation and de-concatenation of multiple PDUs to reduce transmission overhead
- Efficient retransmission mechanism using transaction identifiers and negative acknowledgments (NACKs)
- Lightweight, transaction-oriented design avoiding persistent connection state maintenance
- Explicit connectionless operation over datagram transports provided by WDP
Evolution Across Releases
Introduced the Wireless Transaction Protocol as a core component of the WAP 1.x protocol stack. Defined the three-class transaction model, the PDU formats for Invoke, Result, and Ack messages, and the state machines for initiator and responder. Established mechanisms for segmentation, reassembly, concatenation, and reliable delivery over unreliable bearers.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.057 | 3GPP TS 23.057 |