Wireless Datagram Protocol, also known as WDP, provides a consistent service to the upper layers (security, transaction, and session) of the WAP architecture.
It is defined in the OMA WAP-259-WDP-20010614-a specification, and allows applications to operate transparently over different available bearer services.
It communicates transparently over the different bearer services supported by multiple network types. WDP is a connection-less, unreliable datagram service. It supports port number addressing. The port number points to the higher-layer level of WDP.
This can be WTP, WTLS, WSP, or an application.
In order to support the different bearer services with its specific capabilities and characteristics, an adaptation is required to keep WDP as a common layer for the various bearer services. Therefore, WDP, with its type of adaptation layer, cooperates with its underlying bearer layer.
WDP messages are sent by the WAP terminal to the wireless data gateway using the bearer services. The wireless data gateway has the choice to pass WDP packets on to the WAP proxy/server through a tunneling protocol, which is the interface between the gateway that provides bearer service and the WAP proxy server.
For example, if the bearer service was an GSM SMS, the gateway would be a GSM SMSC and would support a specific tunneling protocol to interface the SMSC to other servers. It is also possible to use a subnetwork as a common technology in order to connect two communication devices. This connection can be, for example, through a wide area network based on TCP/IP or frame relay, or a LAN operating TCP/IP over Ethernet.
The WAP proxy/server might offer application content or might operate as gateway between the wireless WTP protocols and the wired Internet.
When used over an IP network layer, UDP is used instead of WDP.
WDP service primitives
Service primitives are used to control the transaction traffic between the layers of the client and server. These service primitives have a similar syntax to that described for WSP:
X - generic name. type (parameters)
Where X designates the layer providing the service. For the WDP layer, it is T.
The primitive types and their abbreviations are listed the table below.
|Request||req||Used when a higher level requests a service from a lower level.|
|Indication||Ind||Used to notify the next higher layer of activities to the peer (such as an invocation request) or to the provider of the service (such as a protocol generated event)|
|Response||Res||A layer uses the response to acknowledge receipt of indication from the next lower layer.|
|Confirm||Cnf||The layer providing the requested service uses confirm to report successfully completion of the activity.|
There are two primitives for the service layer:
- T-DUnitdata – Transmits data as datagram.
- T-DError – WDP can also receive a T-DError primitive if the requested transmission cannot be executed by the WDP protocol layer.
Mapping WDP for IP
User Datagram Protocol (UDP), as a connection-less datagram service, is used as the WDP protocol for any wireless bearer network where IP is used as a routing protocol. UDP provides port-based addressing (destination and source port). IP provides the segmentation and reassembly.
- IBM TCP/IP Tutorial and Technical Overview (Redbooks), Dec 2006