Upload
victer-paul
View
5.305
Download
1
Embed Size (px)
DESCRIPTION
A detailed presentation about WAP (Wireless Application Protocol)
Citation preview
WAP (Wireless Application Protocol)
By. P. Victer Paul
Dear, We planned to share our eBooks and project/seminar contents for free to all needed friends like u.. To get to know about more free computerscience ebooks and technology advancements in computer science. Please visit....
http://free-computerscience-ebooks.blogspot.com/
http://recent-computer-technology.blogspot.com/
http://computertechnologiesebooks.blogspot.com/
Please to keep provide many eBooks and technology news for FREE. Encourage us by Clicking on the advertisement in these Blog.
Access to WWW-wireless
• HTTP• HTML• Problems in wireless environment• Approaches to improve HTML and HTTP• WAP• WML
HTTP
• Stateless, lightweight, application level protocol for data transfers between servers and clients.
• GET request method returns the requested resource-HTML
• Server responds with different status codes• If client wants to provide data to a function on
server POST method is used• Caching mechanism
Caching
• To avoid unnecessary retransmissions of content that has not changed since last access
• Can be located anywhere between server and client
• Client maintains cache locally to minimise delay
• No-cache entry in header disables caching(dynamic content)
Problems in HTTP-wireless networks
• Bandwidth and delay-HTTP designed foe high bandwidth and low delay connections.
• HTTP protocol headers are large and redundant• Stateless- information fields are transferred over
and over again with each request• Some information can be transferred
uncompressed• DNS Look up time is more in wireless link• Wired networks delay is less compared to
wireless
• Caching is disabled by content providers.• No-cache keyword in the header• <HTML><HEAD> <META HTTP-
EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Expires" CONTENT="-1"> </HEAD><BODY> </BODY> </HTML>
• Dynamic objects cannot be cached-names of links, home pages, mobility(access points),security issues
HTML
• Described the content of web pages in WWW• Designed in desktop computers connected
with fixed wire to internet in mind• Designed primarily for nice presentation of
content, not for efficient transfer of content.• Plug ins required
Device comparisonInternet Mobile
CPU Powerful Less powerful
Memory Large Small
Power Mains Battery
Display Large Small
Input Keyboard, Mice Keypad, stylus
Bandwidth More Less
Latency Less More
Connection stability Good Not so good
Availability Good Less predictable
Wireless access solutions
• Image scaling- lower resolution, title of the picture, clipping, zooming
• Content transformation- special converter• Content extraction/semantic compression-
abstract, keywords• Special languages and protocols-
HDLP(Handheld device transport protocol), HDML(Hand held device markup language)
Less predictable
• Implemented in gateways• HTTP 1.1- improvements-connection reuse,
caching enhancements, mechanism to check integrity, authentication, transfer compressed data
• Cookies – to store state- current state of browsing, user profiles etc
Simple Web Architecture
WAP- Wireless Application Protocol
• Open standard providing mobile users of wireless terminals access to telephony and information services
• – Wireless terminals include wireless phones, pagers and personal digital assistants (PDAs)
• – Designed to work with all wireless network technologies such as GSM, CDMA, and TDMA,UMTS(Universal mobile tele-comm systems)
• – Based on existing Internet standards such as IP, XML, HTML, and HTTP
• – Includes security facilities,interoperability,scaleable,reliable,efficient(QoS)
WAP-internet for mobile devices
WAP Architecture
The WAP Workflow1. The user requests a URL through the WAP browser2. The browser passes the request to the WAP gateway using the WAPProtocol3. The WAP gateway creates a normal HTTP request for the URL andpasses to the origin server.4. The origin servers returns the (possibly WML) content of the URL to theWAP gateway.5. The WAP gateway encodes the HTTP headers and the content (whereapplicable) into binary format (e.g., compiled WML), and transmits on tothe WAP browser6. The WAP browser displays the content (e.g. the first card of the deck)
WAP Protocol Architecture
Protocol Features
WAP Reference Model
Datagram Protocol (WDP)• Goal: To allow transport, security, and session
protocols to operate independent of the underlying bearer (e.g. GSM, CDMA, etc.)
• If bearer already offers IP services UDP is used as WDP
• WCMP-provides error handling mechanism,messages are destination unreachable,parameter problem, message too big etc
• Datagram has DA,DP,SA,SP,user data as mandatory parameters
WTLS (Transport Layer Security)
• Goal: provides the upper-level layer of WAP with a secure transport service interface that preserves the transport service interface (datagram) below it.
• Security level of WTLS depends on the requirements of the given application
• Privacy, data integrity, authentication• Takes into consideration the limitations of
mobile devices
WTLS Handshake
Client says HelloServer says HelloServer sends Public KeyInitiates key exchange
Client generates Session Key
Server acks session key
Encrypted Data Encrypted Data
WTP Services and Protocols• WTP (Transaction)
– provides reliable data transfer based on request/reply paradigm
• no explicit connection setup or tear down• optimized setup (data carried in first packet of protocol exchange)• seeks to reduce 3-way handshake on initial request• Improved Efficiency,Reliablity -is achieved using duplicate
removal, retransmission, acknowledgements and unique transaction identifiers
– supports• header compression• segmentation /re-assembly• retransmission of lost packets• selective-retransmission• port number addressing (UDP ports numbers)• flow control
– message oriented (not stream)– supports an Abort of transactions– Supports asynchronous transactions– supports concatenation of PDUs(invoke PDU,Ack
PDU,result PDU)– supports User acknowledgement or Stack
acknowledgement option• acks may be forced from the WTP user (upper
layer)• default is stack ack
WTP: Wireless Transaction Protocol
• WTP three classes of service– class 0: unreliable message transfer
• unconfirmed Invoke message with no Result message• a datagram that can be sent within the context of an existing Session
– class 1: reliable message transfer without result message• confirmed Invoke message with no Result message• used for data push, where no response from the destination is
expected– class 2: reliable message transfer with exactly one reliable
result message• confirmed Invoke message with one confirmed Result message• a single request produces a single reply
WTP Class 0 Transaction
TR-Invoke.req(SA, SP, DA, DP, A, UD, C=0, H)
Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=0, H‘)
initiatorTR-SAP
responderTR-SAP
Source: Schiller
A: Acknowledgement Type (WTP/User)
C: Class (0,1,2)
H: Handle (socket alias)
WTP Class 1 Transaction, no user ack & user ack
TR-Invoke.req(SA, SP, DA, DP, A, UD, C=1, H)
Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=1, H‘)
initiatorTR-SAP
responderTR-SAP
Ack PDU
TR-Invoke.res(H‘)
TR-Invoke.cnf(H)
TR-Invoke.req(SA, SP, DA, DP, A, UD, C=1, H)
Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=1, H‘)
initiatorTR-SAP
responderTR-SAP
Ack PDUTR-Invoke.cnf(H)
Source: Schiller
WTP Class 2 Transaction, no user ack, no hold on
TR-Invoke.req(SA, SP, DA, DP, A, UD, C=2, H)
Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=2, H‘)
initiatorTR-SAP
responderTR-SAP
Result PDU
TR-Result.req(UD*, H‘)
TR-Result.ind(UD*, H)
Ack PDU
TR-Invoke.cnf(H)
TR-Result.res(H)
TR-Result.cnf(H‘)
Source: Schiller
WTP Class 2 Transaction, user ack
TR-Invoke.req(SA, SP, DA, DP, A, UD, C=2, H)
Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=2, H‘)
initiatorTR-SAP
responderTR-SAP
Result PDUTR-Result.ind(UD*, H)
Ack PDU
TR-Invoke.res(H‘)
TR-Invoke.cnf(H) Ack PDU
TR-Result.req(UD*, H‘)
TR-Result.res(H)
TR-Result.cnf(H‘)
Source: Schiller
WTP Class 2 Transaction, hold on, no user ack
TR-Invoke.req(SA, SP, DA, DP, A, UD, C=2, H)
Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=2, H‘)
initiatorTR-SAP
responderTR-SAP
Result PDU
TR-Result.req(UD*, H‘)
TR-Result.ind(UD*, H)
Ack PDU
Ack PDUTR-Invoke.cnf(H)
TR-Result.res(H)
TR-Result.cnf(H‘)
Source: Schiller
WSP - Wireless Session Protocol• WSP Services
– provides shared state between client and server, optimizes content transfer
– session management (establish, release, suspend, resume)
– efficient capability negotiation(SDU size,Max outstanding requests)
– content encoding• WSP/B (Browsing)
– HTTP/1.1 functionality - but binary encoded– exchange of session headers– push and pull data transfer– asynchronous requests
WSP/B session establishment
S-Connect.req(SA, CA, CH, RC) Connect PDU
S-Connect.ind(SA, CA, CH, RC)
clientS-SAP
serverS-SAP
ConnReply PDU
S-Connect.res(SH, NC)
S-Connect.cnf(SH, NC)
WTP Class 2transaction
Source: Schiller
CH: Client Header
RC: Requested Capabilities
SH: Server Header
NC: Negotiated Capabilities
WSP/B session suspend/resume
S-Suspend.req Suspend PDUS-Suspend.ind(R)
clientS-SAP
serverS-SAP
Reply PDUS-Resume.res
WTP Class 2transaction
S-Suspend.ind(R)
~ ~S-Resume.req(SA, CA) S-Resume.ind
(SA, CA)
Resume PDU
S-Resume.cnf
WTP Class 0transaction
Source: Schiller
R: Reason for disconnection
WSP/B session termination
Disconnect PDUS-Disconnect.ind(R)
clientS-SAP
serverS-SAP
S-Disconnect.ind(R) WTP Class 0
transaction
S-Disconnect.req(R)
Source: Schiller
WAE( Wireless Application environment)
• For network applications • On small, narrowband devices• High degree of interoperability• WAE defines basics:
– For WAP user agents
– For WAP gateways. • WAE contains:
– WML and WMLScript specifications– Wireless Telephony Application Interface (WTAI)
How It Works
Web Server
Content
CGIScripts
etc.
WM
L D
ecks
wit
h W
ML
-Scr
ipt
WAP Gateway
Encoder,Decoder
WMLScriptCompiler
Protocol Adapters
Client
WML
WML-Script
WTAI
Etc.
Static file or CGI Output WML
Static file or CGI Output WML
WAP HTTP
1Request
Encoded URL Request
2
HTTP Request
34
HTTP Response
5
Response Encoded WML
Content
6
• Unable connect directly from current WAP devices to web servers.
• Speak a different language between WAP Devices and the Web Servers
• An extra server to handle translation– WAP Gateway, or WAP Proxy
Why Do I Need a WAP Gateway?
WAP Gateway (cont’d)
• A particular piece of software located on a server
• Handles incoming requests from your WAP phone.
• Compiling the WML pages into bytecode (WMLC)
• Reduce the size and number of packets• Provide transaction security
WML
• Tag-based browsing language:– Screen management (text, images)– Data input (text, selection lists, etc.)– Hyperlinks & navigation support
• W3C XML-based language• Inherits technology from HDML andHTMLWML document is made up of multiple cards. Cards can
be grouped into decks. identified by URL
WMLScript
• Scripting language:– Procedural logic, loops, conditionals, etc.– Optimized for small-memory, small-cpu devices
• Derived from JavaScript• Integrated with WML
– Powerful extension mechanism– Reduces overall network traffic
• 1. Write your own code
• 2. Convert from HTML
• 3. Visual tools
How to Make WML page
WML Example
Header
Card2
Card1Navigation
Variable
SelectElements
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <WML> <CARD> <DO TYPE=“ACCEPT”> <GO URL=“#eCard”/> </DO> Welcome! </CARD> <CARD NAME=“eCard”> <DO TYPE=“ACCEPT”> <GO URL=“/submit?N=$(N)&S=$(S)”/> </DO> Enter name: <INPUT KEY=“N”/> Choose speed: <SELECT KEY=“S”> <OPTION VALUE=“0”>Fast</OPTION> <OPTION VALUE=“1”>Slow</OPTION> <SELECT> </CARD></WML>
Converting HTML to WML
• How– translates non-complex HTML documents in to WML – tag-by-tag processing and discard all incompatible
tags and contents
• Significance– Dramatically accelerates wireless content
development by using abundant HTML resources
WAP Solutions
• Success• Challenges• Future
Available Wireless Services
• Voice• SMS – Short Message Service• Data (over voice)• WAP – simplistic and expensive
Attractions of WAP
• WAP combines two of the fastest growing industries: wireless and the Internet IP
• WAP is an attempt to define the standard for how content from the Internet is filtered for mobile communications
• WAP is developed to make readily available content from the Internet easily available to mobile terminals
WAP: Scalable and Comprehensive
• Any mobile phone• Any existing or planned wireless service• Any mobile network standard
WAP: Major Achievements
• Reduces resources and enriches the functionality of the network
• Generates additional traffic on the network and revenue
• Facilitates migration of applications between networks and bearers
WAP Achievement: Examples
• Web browsing • WAP email• WAP conference• WAP search• Document sharing• Collaborative working• Still images
WAP Promises: Examples
• Moving images• Home automation• Job dispatch• Remote point of sale• Customer service• Remote monitoring (Meters)• Vehicle positioning• Remote LAN access• File transfer
WAP: Challenges - Commercial
• End-to-end security• Client identification• Encryption/Authentication
WAP Challenges - Network
• Less bandwidth (300 bps to 9600 bps)• More latency• Less connection stability• Less predictive availability
WAP Challenges - Usability
• Screen size• Advanced applications• Data input• Integration with voice
WAP Challenges - Legal Issues
• Privacy: Location information• Eavesdropping
Competition for WAP
• Subscriber identity module (SIM) toolkit• Windows CE• JavaPhone™