Figure . WAP Architecture 1. Wirelss Session Protocol (WSP) -- Seesion Layer The Wireless Seesion Protocol (WSP) provides means for organized exchange of content between cooperating client/ server applications. It provides means to: * establish a reliable session from client to server and release that session an orderly manner * agree on a common level of protocol functionality using capability negotiation * exchange content between client and server using compact encoding * suspend and resume the session WSP provides the application layer of WAP with a consistent interface for two session services. The first is a connection-oriented service that operates above the transaction layer protocols WTP (Wireless Transaction Protocol). The second is a connectionless service that operates above a secure or non-secure datagram service WDP (Wireless Datagram Protocol), which is used if reliable delivery and confirmation is not neccesary. The WSP is currently consist of services suited for browsing application (WSP/B), which provides: * HTTP/1.1 functionality -- Since core of the WSP design is a binary form of HTTP, the request to server and response going to client may include both headers (meta information) and data. All the methods defined by HTTP/1.1 are supported. In addition to this, capability negotiation can be used to agree on a set of extended request methods. * Exchange client and server session headers -- HTTP/1.1 content headers are used to define content type, character set encoding. But compact binary encoding are defined for the well known headers to reduce protocol overhead. Like MIME (multipart/mixed) format in HTTP/1.1, WSP also defines specific composite data format that provides content header for each component within the composite data object. * session suspend and resume with session migration -- the life cycle of a WSP session is not tied to the underlying transport. A session is idlw to free up network resources or save device battery. A light weight session reestablishment protocol allows the session to be resumed without the overhead of full blown session establishment. A session may be resumed over a different bearer network (such as GSM, CDMA, etc.) These are extended Functionality of WSP, which is not a Basic Functionality of HTTP like WSP. * push content from server to client in an unsynchronised manner -- WSP provides both push and pull data transfer. Pull is done using the request/response mechanism from HTTP/1.1. In addition, WSP provides three push mechanism for data transfer. 1. Confirmed data push within an existing session context (Push data to client any time in session. Server will recieve confirmation that the push was delivered)) 2. Non confirmed data push within an existing session context (same as 1. but without confirmation) 3. Non confirmed data push without an existing session (A default session context is assumed. This canbe used to oneway message over un-reliable trasport) * Negotiate support for multiple, simultaneous asynchronous transactions -- Cleint can submit multiple request to the server with this feature. This improves utilisation of air time in that multiple requests and replies can be coalesced into fewer messages. This also improves latency as the result of eas]ch request can be sent to the client when it becomes available. [WSP] [WSP] "WAP Wireless Session Protocol Specification" ver 5, Nov.-1999, WAPForum 2. Wireless Transaction Protocol (WTP) -- Transport Layer A transaction protocol is defined to provide the services necessary for interactive "browsing"(request/response) applications. During a browsing session, the client requests information from server, which may be fixed point or mobile, and the server responds with the information. WTP runs on the top of a datagram service and optionally a security service. WTP has been defined as a light weight transaction (request/response) oriented protocol that is suitable for implementation in the "thin" clients (mobile stations) and operates efficiently over wireless datagram networks. * Three classes of transaction service * Unreliable invoke message with no-result message * Reliable invoke message with no-result message * Reliable invoke message with exactly one reliable result message * No explicit connection set up or tear down phases. Explicit connection open and/or close imposes excessive overhead on the communication link * Optional user-to-user reliability - WTP user confirms every recieved message * Optional out-of-band data on acknowledgement to reduce the number of messages sent * Message Oriented: The basic unit of interchange is an entire message and not a stream of bytes * Asynchronous transactions: the responder sends back the result as the data becomes available [WTP] [WTP] "WAP Wireless Transaction Protocol" 11-Nov.-1999, WAPForum 3. Wirelss Transport Layer Security (WTLS) WTLS is a security protocol based upon the industry-standard Transport Layer Security (TLS) Protocol, which is formerly known as Secure Socket layer (SSL). In addition, WTSL has new features like datagram support, optimised handshake and dynamic key refreshing. WTSL has been optimized for the use over narrow-band communication channels and operates over transport protocol layer. Applications are able to selectively enable or disable WTSL features depending on theirsecurity requirrements and the characteristics of the underlying network (eg. privacy may be disabled on networks already providing this service at a lower layer) * Data Integrity - WTSL contains facilities to ensure that data sent between the terminal and an application server is unchanged and uncorrupted * Privacy - data transmitted between the terminal and an application server is private and cannot be understood by any intermidiate parties that may have intercepted the data stream * Authenticity of the terminal and application server * Denial-of-service protection - detecting and rejecting data that is replayed or not successfully verified. WTSL makes typical denial-of-service attacks harder to accomplish and protects the upper protocol layers [WTSL] [WTSL] "WAP Wireless Transport Layer Security" 5-Nov.-1999, WAPForum 4. Wireless Datagram Protocol (WDP) The Transport layer protocol in the WSP architecture consists of the Wireless Transaction Protocol (WTP) and the Wireless Datagram Protocol (WDP). The WDP layer operates above the data capable bearer services supported by the various network types. As a general datagram service, WDP offers a consistent service tothe upper layer protocol (Security, Transaction and Session) of WAP and communicate transparently over one of the available bearer services. Since the WDP protocols provide a common interface to the upper layer protocols, they are able to function independently of the underlying wireless network. This is accomplished by adapting the transport layer to specific feature of underlying bearer. WDP supports several simultaneous communication instances from a higher layer over a single underlying WDP bearer service. The port number identifies the higher layer entity above WDP. This may be another protocol layer such as WTP ot the WSP or an application such as Email. By reusing the elements of the underlying bearers and yet be optimised for efficient operation within the limited resources of a mobile device. [WDP] [WDP] "WAP Wireless Datagram Protocol" 5-Nov.-1999, WAPForum 5. Bearers The WAP protocols are designed to operate over a variety of different bearer services, including short message, circuit-switched data, and packet data. The bearers offer differing levels of quality of service with respect to throughput, error rate, and delays. The WAP protocols are designed to compensate for ot tolerate these varying level of service. Since the WDP layer provides the convergence between the bearer service and the rest of WAP stack, the WDP specification lists the bearers that are supported and techniques used to allow WAP protocols to run over each bearer. [WAP]