1 / 66

Chapter 10: Wireless Application Protocol

Chapter 10: Wireless Application Protocol. WAP Introduction. WAP- Wireless Application Protocol is a protocol for accessing information and services from wireless devices. WAP is defined and coordinates by the WAP forum. WAP Definition.

kaz
Download Presentation

Chapter 10: Wireless Application Protocol

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 10: Wireless Application Protocol

  2. WAP Introduction • WAP- Wireless Application Protocol is a protocol for accessing information and services from wireless devices. • WAP is defined and coordinates by the WAP forum.

  3. WAP Definition Wireless Application Protocol (WAP) is an application environment and set of communication protocols for wireless devices designed to enable manufacturer, vendor and technology independent access to the Internet and advanced telephony services.

  4. WAP Forum The WAP forum was established in 1997 as a non-profit industry association. According to WAP forum they define themselves as the following: “The Wireless Application Protocol Forum is an industry group dedicated to the goal of enabling sophisticated telephony and information services on handheld wireless devices”.

  5. Forum Goals Bring Internet content and advanced data services to wireless devices. Create a standard wireless protocol that works on all wireless network technologies. Make content and applications scalable across a wide range of wireless network. Work with and expand existing standards.

  6. Feature of WAP Interoperability: The key to WAP acceptance is that it operates as an open license free standard. This will allow vendors to use it with their wireless products and keep the technology growing. Scalability: Works with many transport protocols and on a wide range of hand held devices so that a wider range of users can be reached regardless of what wireless device is being used. Extensibility: As vendors produce newer and more various forms of wireless products the WAP must easily adapt to new technology to ensure continued usability.

  7. Feature of WAP Flexibility: WAP must be able to work well with many applications requirements. This will allow many vendors to be able to play to the same tune when they are furthering the development of their products. Reusability: Extends and adapts to existing Internet standards so that as the standard is further developed it can be added to and continue to grow.

  8. WAP Application Person to Person Messaging Voice and Fax Mail notification Internet Email Ring tones Mobile Banking Chat Information Services

  9. WAP Architecture The basic WAP architecture is designed to minimized bandwidth requirements. In achieving this goal, WAP becomes capable of operating over both current low-bandwidth wireless networks and emerging broadband networks. Thus WAP can operate over time-division multiple access (TDMA), networks including digital advanced mobile phone service (D-AMPS) and global system for mobile communications (GSM) and code division multiple access (CDMA) networks.

  10. WAP Architecture The WAP protocol Architecture is designed and maintained by the WAP Forum. The differences between the WAP Protocol Architecture and a typical Internet Protocol Architecture is most important part of enabling wireless access for mobile devices. There are three participating entities: the WAP browser running on WAP-enabled handset, the WAP gateway (also called WAP proxy) and a web server on the Internet.

  11. WAP Communication Model

  12. WAP Architecture • when the WAP-enabled mobile (handset) wants to connect to the Internet, all the communication passes through the WAP gateway. • This WAP gateway translates all the protocols used in WAP to the protocols used on the Internet. The communication between the mobile device and the WAP gateway is secured with WTLS. • WTLS is only used between the mobile device and the WAP gateway, while SSL/TLS can be used between the gateway and the Internet. • This means that the WAP gateway first has to decrypt the encrypted WTLS-traffic and then has to encrypt it again (using SSL/TLS).

  13. WAP Architecture The WAP protocol Architecture is designed and maintained by the WAP Forum. The differences between the WAP Protocol Architecture and a typical Internet Protocol Architecture is most important part of enabling wireless access for mobile devices. Next slide figure show a WAP protocol stack.

  14. WAP 1.x – reference model and protocols Internet WAP A-SAP HTML, Java Application Layer (WAE) additional services and applications S-SAP HTTP Session Layer (WSP) TR-SAP Transaction Layer (WTP) SEC-SAP SSL/TLS Security Layer (WTLS) T-SAP TCP/IP, UDP/IP, media Transport Layer (WDP) WCMP Bearers (GSM, CDPD, ...) WAE comprises WML (Wireless Markup Language), WML Script, WTAI etc.

  15. WAP Architecture Figure illustrate the relationship of the major components of the WAP suite to wireless bearer services. As indicated in figure, the WAP stack is subdivided into five layers. These layers include the Wireless Application Environment (WAE), which is equivalent to the ISO reference model’s application layer at the top of the stack and the Wireless Datagram Protocol (WDP) which is located at the bottom of the WAP stack.

  16. WAP Architecture Other layers protocols are WSP, WTP, WTLS, WDP. Each Protocols are see in detail one by one.

  17. Wireless Datagram Protocol The WAP Datagram Protocol (WDP) represents the transport layer used by WAP. This layer is responsible for transmitting and receiving messages via any available bearer network. Although TDMA, GSM, CDMA are noted and bearer networks in figure, these are only some of the networks over which WDP can operate.

  18. WDP - Service Primitives T-SAP T-SAP T-DUnitdata.req(DA, DP, SA, SP, UD) T-DUnitdata.ind(SA, SP, UD) T-DUnitdata.req(DA, DP, SA, SP, UD) T-DError.ind(EC)

  19. Wireless Transport Layer Security The Wireless Transport Layer Security (WTLS) is similar to HTTP in that it represents and optional security transport layer. WTLS provides support for the transmission and reception of encrypted text. Thus WTLS can be viewed as a mechanism added to WAP that allows support for security transactions the purchasing of products and other e-commerce applications via wireless communications.

  20. Wireless Transport Layer Security:Secure session, full handshake originator SEC-SAP peer SEC-SAP SEC-Create.req (SA, SP, DA, DP, KES, CS, CM) SEC-Create.ind (SA, SP, DA, DP, KES, CS, CM) SEC-Create.res (SNM, KR, SID, KES‘, CS‘, CM‘) SEC-Exchange.req SEC-Create.cnf (SNM, KR, SID, KES‘, CS‘, CM‘) SEC-Exchange.ind SEC-Exchange.res (CC) SEC-Commit.req SEC-Exchange.cnf (CC) SEC-Commit.ind SEC-Commit.cnf

  21. Wireless Transport Layer Security:SEC-Unitdata - transferring datagrams sender SEC-SAP receiver SEC-SAP SEC-Unitdata.req (SA, SP, DA, DP, UD) SEC-Unitdata.ind (SA, SP, DA, DP, UD)

  22. Wireless Transaction Protocol The WAP Transaction Protocol (WTP) represents a layer in the WAP suite developed to provide transaction support. Both TCP and UDP are capable of being supported, permitting both reliable and unreliable datagram delivery. WTP is based on a series of request/response transactions that provides either reliable or unreliable datagram delivery.

  23. Wireless Transaction Protocol In the event unreliable datagram delivery occurs, it is then up to the WAE to have an application add reliability if so desired. To match the different requirement of different types of applications, three classes of transport are defined: Class 0 is much like UDP in the fixed-wire world, in that it provides an unreliable, stateless connection, in which no result is communicated and abort function is not supported.

  24. Wireless Transaction Protocol Class 1 defines a reliable state full which supports retransmission but does not transmit a result. The abort function is supported. Class 2 is also reliable and state full but returns a result for every message sent. This class also supports a ‘hold on’ reply as a result, which indicates that the server is busy processing the request.

  25. WTP Class 0 transaction initiator TR-SAP responder TR-SAP TR-Invoke.req (SA, SP, DA, DP, A, UD, C=0, H) TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=0, H‘) Invoke PDU

  26. Ack PDU Ack PDU WTP Class 1 transaction, no user ack & user ack initiator TR-SAP responder TR-SAP TR-Invoke.req (SA, SP, DA, DP, A, UD, C=1, H) TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=1, H‘) Invoke PDU TR-Invoke.cnf (H) initiator TR-SAP responder TR-SAP TR-Invoke.req (SA, SP, DA, DP, A, UD, C=1, H) TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=1, H‘) Invoke PDU TR-Invoke.res (H‘) TR-Invoke.cnf (H)

  27. Result PDU WTP Class 2 transaction, no user ack, no hold on initiator TR-SAP responder TR-SAP TR-Invoke.req (SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=2, H‘) Invoke PDU TR-Result.req (UD*, H‘) TR-Invoke.cnf (H) TR-Result.ind (UD*, H) TR-Result.res (H) TR-Result.cnf (H‘) Ack PDU

  28. Result PDU Ack PDU WTP Class 2 transaction, user ack initiator TR-SAP responder TR-SAP TR-Invoke.req (SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=2, H‘) Invoke PDU TR-Invoke.res (H‘) TR-Invoke.cnf (H) TR-Result.req (UD*, H‘) TR-Result.ind (UD*, H) TR-Result.res (H) TR-Result.cnf (H‘) Ack PDU

  29. Result PDU Ack PDU WTP Class 2 transaction, hold on, no user ack initiator TR-SAP responder TR-SAP TR-Invoke.req (SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind (SA, SP, DA, DP, A, UD, C=2, H‘) Invoke PDU TR-Invoke.cnf (H) TR-Result.req (UD*, H‘) TR-Result.ind (UD*, H) TR-Result.res (H) TR-Result.cnf (H‘) Ack PDU

  30. Wireless Session Protocol The WAP Session Protocol (WSP) represents a session- layer protocol developed to support the efficient exchange of data between applications. One WSP session normally will consist of a series of request response transaction performed by the WTP layer. Both connection node service over WTP and connectionless service via WDP are supported by the WAP session protocol.

  31. Wireless Session Protocol A connection-mode service requires the acknowledgment of the receiving party prior to actual data being transmitted. In comparison a connectionless service results in the transmitted of data without an acknowledgment that intended receiver is operational and able to receive between the originator and receiver. However because it is possible that the receiver may not be available the applications usually will set a timer.

  32. Wireless Session Protocol If the timer expires prior to the receipt of a response the originator will assume that the receiver is unavailable and will terminate the session.

  33. WSP protocols WSP Connection mode (uses WTP) Connectionless mode (uses WDP or WTLS) • Session Management (class 0, 2) • Method Invocation (Kl. 2) • Error Report • Push (class 0) • Confirmed Push (class 1) • Session suspend/resume (class 0, 2) • Method Invocation • Push • (in general unreliable)

  34. WSP/B session establishment client S-SAP server S-SAP S-Connect.req (SA, CA, CH, RC) S-Connect.ind (SA, CA, CH, RC) Connect PDU S-Connect.res (SH, NC) S-Connect.cnf (SH, NC) ConnReply PDU WTP Class 2 transaction

  35. WSP/B session suspend/resume client S-SAP server S-SAP S-Suspend.req S-Suspend.ind (R) Suspend PDU S-Suspend.ind (R) WTP Class 0 transaction ~ ~ S-Resume.req (SA, CA) S-Resume.ind (SA, CA) Resume PDU S-Resume.res Reply PDU S-Resume.cnf WTP Class 2 transaction

  36. WSP/B session termination client S-SAP server S-SAP S-Disconnect.req (R) S-Disconnect.ind (R) Disconnect PDU S-Disconnect.ind (R) WTP Class 0 transaction

  37. WSP/B method invoke client S-SAP server S-SAP S-MethodInvoke.req (CTID, M, RU) S-MethodInvoke.ind (STID, M, RU) Method PDU S-MethodInvoke.res (STID) S-MethodInvoke.cnf (CTID) S-MethodResult.req (STID, S, RH, RB) S-MethodResult.ind (CTID, S, RH, RB) Reply PDU S-MethodResult.res (CTID) S-MethodResult.cnf (STID) WTP Class 2 transaction

  38. WSP/B over WTP - method invocation client S-SAP initiator TR-SAP responder TR-SAP server S-SAP S-MethodInvoke.req TR-Invoke.req Invoke(Method) TR-Invoke.ind S-MethodInvoke.ind TR-Invoke.res S-MethodInvoke.res Ack PDU S-MethodInvoke.cnf TR-Invoke.cnf TR-Result.req S-MethodResult.req Result(Reply) S-MethodResult.ind TR-Result.ind S-MethodResult.res TR-Result.res Ack PDU TR-Result.cnf S-MethodResult.cnf

  39. WSP/B over WTP - asynchronous, unordered requests client S-SAP server S-SAP S-MethodInvoke_1.req S-MethodInvoke_2.req S-MethodInvoke_2.ind S-MethodInvoke_1.ind S-MethodInvoke_3.req S-MethodResult_1.req S-MethodInvoke_3.ind S-MethodResult_1.ind S-MethodResult_3.req S-MethodResult_3.ind S-MethodResult_2.req S-MethodInvoke_4.req S-MethodInvoke_4.ind S-MethodResult_4.req S-MethodResult_4.ind S-MethodResult_2.ind

  40. WSP/B - confirmend/non-confirmed push client S-SAP server S-SAP S-Push.req (PH, PB) S-Push.ind (PH, PB) Push PDU WTP Class 0 transaction client S-SAP server S-SAP S-ConfirmedPush.req (SPID, PH, PB) S-ConfirmedPush.ind (CPID, PH, PB) ConfPush PDU S-ConfirmedPush.res (CPID) S-ConfirmedPush.cnf (SPID) WTP Class 1 transaction

  41. WSP/B over WDP client S-SAP server S-SAP S-Unit-MethodInvoke.req (SA, CA, TID, M, RU) S-Unit-MethodInvoke.ind (SA, CA, TID, M, RU) Method PDU S-Unit-MethodResult.req (CA, SA, TID, S, RH, RB) S-Unit-MethodResult.ind (CA, SA, TID, S, RH, RB) Reply PDU S-Unit-Push.req (CA, SA, PID, PH, PB) S-Unit-Push.ind (CA, SA, PID, PH, PB) Push PDU WDP Unitdata service

  42. Wireless Application Environment At the top of the protocol stack is the wireless application environment (WAE). The WAE consists of the Wireless Markup Language (WML), WMLScript, and the Wireless Telephony Application Interface (WTAI). Which provides an interface to telephony and network services and content formats. The latter represents well-defined data formats for images, phone book records, calendar evens and similar information under the WAE and WML users the familiar addressing model based on Uniform Resource Locators (URLs).

  43. Wireless Application Environment Through the use of URLs the mobile phone user operating a mini browser can surf the Web using the familiar method for specifying local and remote Web pages. One global goal of the WAE is to minimize over-the –air traffic and resource consumption on the handheld device. This goal is also reflected in the logical model underlying WAE show in the next slide figure.

  44. WAE logical model Origin Servers Gateway Client WTA user agent web server response with content encoded response with content encoders & decoders WML user agent other content server push content encoded push content other WAE user agents request encoded request

  45. Wireless Markup Language (WML) • WML follows deck and card metaphor • WML document consists of many cards, cards are grouped to decks • a deck is similar to an HTML page, unit of content transmission • WML describes only intent of interaction in an abstract manner • presentation depends on device capabilities

  46. Wireless Markup Language (WML) • Features • text and images • user interaction • navigation • context management

  47. WML – example I <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="card_one" title="simple example"> <do type="accept"> <go href="#card_two"/> </do> <p> This is a simple first card! <br/> On the next one you can choose ... </p> </card>

  48. WML – example II <card id="card_two" title="Pizza selection"> <do type="accept" label="cont"> <go href="#card_three"/> </do> <p> ... your favorite pizza! <select value="Mar" name="PIZZA"> <option value="Mar">Margherita</option> <option value="Fun">Funghi</option> <option value="Vul">Vulcano</option> </select> </p> </card> <card id="card_three" title="Your Pizza!"> <p> Your personal pizza parameter is <b>$(PIZZA)</b>! </p> </card> </wml>

  49. WMLScript • Complement to WML • Provides general scripting capabilities • Features • validity check of user input • check input before sent to server • access to device facilities • hardware and software (phone call, address book etc.)

  50. WMLScript • local user interaction • interaction without round-trip delay • extensions to the device software • configure device, download new functionality after deployment

More Related