Académique Documents
Professionnel Documents
Culture Documents
Written assignment in the course InternetWorking [2G1305], VT00 Thomas Pettersson, d95-tpe@nada.kth.se
2(9) 2000-03-03
Contents
1 INTRODUCTION ___________________________________________________________________________ 3 2 WHAT IS WAP______________________________________________________________________________ 3 3 WAP GATEWAY ____________________________________________________________________________ 3 4 WAP LAYERS ______________________________________________________________________________ 4 4.1 WIRELESS APPLICATION ENVIRONMENT (WAE) __________________________________________________ 4 4.2 WIRELESS SESSION PROTOCOL (WSP) __________________________________________________________ 4 4.3 WIRELESS TRANSACTION PROTOCOL (WTP) _____________________________________________________ 5 5 WAP DEVICE - WAP GATEWAY _____________________________________________________________ 5 5.1 WSP PRIMITIVES __________________________________________________________________________ 5.1.1 S-Connect ____________________________________________________________________________ 5.1.2 S-Disconnect __________________________________________________________________________ 5.1.3 S-MethodInvoke _______________________________________________________________________ 5.1.4 S-MethodResult ________________________________________________________________________ 5.1.5 S-Suspend and S-Resume ________________________________________________________________ 5.1.6 Push facility __________________________________________________________________________ 5 5 5 6 6 6 6
6 WAP GATEWAY - WEB SERVER _____________________________________________________________ 7 7 THE WHOLE WAY__________________________________________________________________________ 7 8 END TO END ANALYSIS_____________________________________________________________________ 8 8.1 LANGUAGE CONVERSIONS ___________________________________________________________________ 8.2 SECURITY ISSUES __________________________________________________________________________ 8.3 DELIVERY GUARANTEES _____________________________________________________________________ 8.4 TIME ISSUES ______________________________________________________________________________ 8 8 8 8
http://www.d.kth.se/~d95tpe/school/wap.pdf
Written assignment in the course InternetWorking [2G1305], VT00 Thomas Pettersson, d95-tpe@nada.kth.se
3(9) 2000-03-03
1 Introduction
Ever since Internet became accessible and popular with consumers the number of users have increased exponentially and the accessibility will just grow and become better and better. Nowadays people wish to surf the Internet whether or not they have a computer nearby. The WAP Forum, a consortium that was started by Ericsson, Nokia, Motorola and Phone.com (formerly Unwired Planet), is making this wish come true. Today most of the biggest telecommunication companies are members. The consortium's task and purpose is to control and develop the WAP specifications. To make the accessibility better and make it possible to build the Wireless communication upon already functioning technology, such as HTTP, a WAP gateway is introduced which purpose is to decode/encode the request/response from the WAP client and WWW server respectively. The job for the gateway is to interpret between the two languages HTML and WML. The gateway place is between the WAP client and the WWW server.
2 What is WAP
WAP (Wireless Application Protocol) is a protocol that makes it possible to surf the Internet from a cellular phone or other handheld wireless devices. Many of us that surf the Internet from home with a 56kbps modem thinks that is slow and a cell phone only uses 9.6kbps so WAP have to take the lesser bandwidth into consideration. Some other disadvantages are the small display that a web page has to fit into, in the cell phone, and the few buttons to interact with. It's not possible to achieve a HTML page directly to the cell phone, it wouldn't fit and the download time should be too long and costly.
3 WAP Gateway
The WAP Forum solves the problems with the small display and the narrow bandwidth by introducing a gateway between the cell phone and the WWW server. The cell phone can't communicate with a WWW server directly but instead it goes through a gateway that decodes the requests from the cell phone and encodes the answers to the cell phone. The gateway talks to the WWW server and delivers the answer to the cell phone. The language the micro browsers in the cell phones understand is WML (Wireless Markup Language) so the gateway's job is to translate the HTML response from the web server to a WML response and send the answer to the phone. WML is pretty similar to HTML but with many restrictions because of the limited display and bandwidth. By using a WAP gateway instead of communicating with a WAP server directly increases the usability though all pages in HTML-format can be accessed without being converted to WML-format. The pages is being converted in the gateway but the responsible people for the web server doesn't need to write all the HTML pages in WML format also. This will probably speed the deployment and industry-acceptance of WAP.
http://www.d.kth.se/~d95tpe/school/wap.pdf
Written assignment in the course InternetWorking [2G1305], VT00 Thomas Pettersson, d95-tpe@nada.kth.se
4(9) 2000-03-03
4 WAP Layers
The WAP architecture follows the OSI layering model and consists of five layers but I will only discuss the three top most layers here. These layers are the Application Layer (WAE), the Session Layer (WSP) and the Transaction Layer (WTP) (protocols abbreviations in parenthesis).
http://www.d.kth.se/~d95tpe/school/wap.pdf
Written assignment in the course InternetWorking [2G1305], VT00 Thomas Pettersson, d95-tpe@nada.kth.se
5(9) 2000-03-03
1. 2. 3.
A S-Connect request from the client, i.e. the mobile device. The server i.e. WAP gateway examines the request and returns a result, hopefully an acknowledgement of a successful establishment. The client receives the acknowledgement and can begin to send Method Invoke requests (i.e. ask for web pages or other information), discussed in 5.1.3. The client can begin to request information before it receives an acknowledgement for the session establishment but if there is a failure in the establishment some cleaning in the cache has to be done.
This is all it is to it, but the real fun stuff starts when we also have a connection from the gateway to a web server, but first we take a look at the timeline for the disconnection. 5.1.2 S-Disconnect There is another primitive called S-Disconnect that is used when either of the sides wants to close the session. Before the disconnect indication, the session service provider must abort all incomplete method and push transactions. After the indication further primitives associated with the session must not occur. A disconnect indication generated by the service provider can occur at any time during the session. The service user must be prepared for the session being disconnected at any time. If it wishes to continue communication, it has to establish the session again and retry the method invocations that may have been aborted. The S-Disconnect induction is received either when a connection is refused or when a connection is closed by the gateway.
http://www.d.kth.se/~d95tpe/school/wap.pdf
Written assignment in the course InternetWorking [2G1305], VT00 Thomas Pettersson, d95-tpe@nada.kth.se
6(9) 2000-03-03
5.1.3 S-MethodInvoke This primitive is used to request an operation to be executed by the server. It can only be used together with another primitive, namely S-MethodResult. The S-MethodInvoke consists of, among other things, identification numbers for the client and server to distinguish between pending transactions. Another information the primitive contains is what kind of method the client wants to invoke on the server: either an HTTP method or one of the extension methods established during capability negotiation. The S-MethodInvoke request is sent and when a confirmation is received from the server the client waits for the requested data. The data is received in a primitive called S-MethodResult. 5.1.4 S-MethodResult This primitive is used to return a response to an operation request made by a preceding SMethodInvoke request. The S-MethodResult primitive consists of identification numbers that must match the corresponding S-MethodInvoke primitive. This can be and is used to distinguish between pending transactions. A complete transaction consists of the primitives ordered as in figure 3.
Client S-MethodInvoke.req S-MethodInvoke.ind S-MethodINvoke.res S-MethodInvoke.cnf S-MethodResult.ind S-MethodResult.res S-MethodResult.cnf S-MethodResult.req Gateway
If one or other reason aborts a transaction, an S-MethodAbort.indication will be delivered to the service user. If this happens no further primitives related to the transaction can occur. 5.1.5 S-Suspend and S-Resume These primitives work together but only in the obvious order: S-Suspend before s-Resume. A suspension typically would be requested when the client know it will not be able to respond to data pushes. The suspension can be broken either by a S-Resume or a S-Disconnect. 5.1.6 Push facility There is several primitives that handle the server push function, used for pushing unrequested data from the server to the client, but no further discussion about them is taken here.
http://www.d.kth.se/~d95tpe/school/wap.pdf
Written assignment in the course InternetWorking [2G1305], VT00 Thomas Pettersson, d95-tpe@nada.kth.se
7(9) 2000-03-03
When all information is retrieved the client sends a S-Disconnect primitive and the connection is closed from the clients point of view. The gateway continues to close its connection to the WWW server.
http://www.d.kth.se/~d95tpe/school/wap.pdf
Written assignment in the course InternetWorking [2G1305], VT00 Thomas Pettersson, d95-tpe@nada.kth.se
8(9) 2000-03-03
8 End-to-end analysis
The WAP user does not need to be aware of the WAP gateway between itself and the WWW server. From the users point of view he or she has a direct connection from the wireless mobile device to the WWW server. In this section I will discuss the end-to-end behaviour experienced by a user of a mobile client when browsing web pages from a Web server via a WAP gateway. While the user surfs the Internet and encounter problems, such as missing information or bad data rate, the user, in an end-to-end discussion, only complain at the WWW server though he is not aware of the gateway. Without the gateway, as an interpreter, between the two endpoints there should not be possible to communicate at all because they do not understand the same language. The WWW server understands HTML while the WAP client talks WML. So how is the conversion done?
8.5 Summary
As a summary of the effect that the WAP gateway has on the end-to-end behaviour, between the client and the origin server, we can conclude that it will take some extra time to receive the information you have requested due the translation which has to be done, but without the gateway you should not be able to surf web pages from a web server that only supports HTML pages via HTTP. Other issues are delivery reliability and the security. http://www.d.kth.se/~d95tpe/school/wap.pdf
Written assignment in the course InternetWorking [2G1305], VT00 Thomas Pettersson, d95-tpe@nada.kth.se
9(9) 2000-03-03
9 Conclusions
For the WAP to be a real hit the cost of mobile phoning must decrease otherwise the customers cannot afford it and therefore don't use it. The real problem today, I have heard from people that have tried it, are the establishment of a connection. When you finally get a connection the service is quite good due the fact that you only got 9.6kbps to play with and the bearer is GSM. There are still problems in converting HTML to WML and the development will continue but it is a nice idea to build WAP upon existing Internet standards and that will probably speed the deployment and industry-acceptance of WAP. So far there is not so many WAP servers or WAP gateways but we have only seen the beginning of the WAP era.
10 References
Saltzer J.H, Reed D.P, Clark D.D. End-to-end Arguments in System Design. URL: http://web.mit.edu/Saltzer/www/publications/ [printed 2 Feb 2000] Wireless Application Protocol Forum. Apri1 998. Wireless Application Protocol Architecture Specification. URL: http://www.wapforum.org/ [Version 30-Apr-1998] Wireless Application Protocol Forum. Apri1 998. Wireless Application Environment Overview. URL: http://www.wapforum.org/ [Version 04-Nov-1999] Wireless Application Protocol Forum. Apri1 1998. Wireless Transport Layer Security Protocol. URL: http://www.wapforum.org/ [Version 11-Jun-1999] Wireless Application Protocol Forum. Apri1 1998. Wireless Session Protocol. URL: http://www.wapforum.org/ [Version 05-Nov-1999]
http://www.d.kth.se/~d95tpe/school/wap.pdf