8/19/2019 Wap01 Mobile
1/72
Wireless Application Protocol
8/19/2019 Wap01 Mobile
2/72
Outline
Mobile applications
How are mobile/wireless environments different?
What is WAP?
WAP Architecture WAE (WML/WMLcript!
W"A #ramewor$
WAP Push ervices
WAP Protocol tac$
H%pe v/s &ealit%
&eferences and &esources
8/19/2019 Wap01 Mobile
3/72
8/19/2019 Wap01 Mobile
4/72
Mobile Applications ' .
Web access – outdoor nternet access
– intelli+ent travel +uide with up'to'date location dependentinformation
nformation services – push0 stoc$ ,uotes1 pull0 nearest cash A"M
2isconnected operations – file's%stem cachin+ for off'line wor$ – mobile a+ents* e-+-* shoppin+
Entertainment –
+ames* etc
8/19/2019 Wap01 Mobile
5/72
)ariabilit% of the Mobile Environment
3onnectivit%• connected• semi'connected
(as%mmetric!• wea$l% connected• disconnected
Mobile 2evice 3apabilit%• form factor • 45• multimedia• real'time multimedia
Mobilit%• stationar%• nomadic (pedestrian speed!• mobile (vehicular speed!
• roamin+ (mobile across networ$s!
8/19/2019 Wap01 Mobile
6/72
World Wide Web and Mobilit%
H""P/H"ML have not been desi+ned for mobile applications/devices
H""P -6 characteristics – desi+ned for lar+e bandwidth* low dela%
– stateless* client/server* re,uest/response communication
– connection oriented* one connection per re,uest
–
"3P 7'wa% handsha$e* 28 loo$up overheads – bi+ protocol headers* uncompressed content transfer
– primitive cachin+ (often disabled* d%namic ob9ects!
– securit% problems (usin+ L/"L with pro:ies!
H"ML characteristics – desi+ned for computers with ;hi+h< performance* color hi+h'
resolution displa%* mouse* hard dis$
– t%picall%* web pa+es optimi=ed for desi+n* not for communication1
i+nore end's%stem characteristics
8/19/2019 Wap01 Mobile
7/72
8/19/2019 Wap01 Mobile
8/72
Wireless Application Protocol (WAP!
Empowers mobile users with wireless devices to easil% access andinteract with information and services-
A ;standard< created b% wireless and nternet companies to enablenternet access from a cellular phone
wapforum-or+0
– co'founded b% Ericsson* Motorola* 8o$ia* Phone-com – >6 members in .666* comprise of Handset manufacturers* Wireless
service providers* Ps* oftware companies in the wireless industr%
– 4oals
• deliver nternet services to mobile devices
• enable applications to scale across a variet% of transport options anddevice t%pes
• independence from wireless networ$ standards
• 4M* 32MA '@* "2MA '7* 74 s%stems (5M"* W'32MA!
8/19/2019 Wap01 Mobile
9/72
WAP0 Main #eatures
Browser – ;Micro browser
8/19/2019 Wap01 Mobile
10/72
nternet Model
HTMLHTTP
TLS/SSL TCP/IP
8/19/2019 Wap01 Mobile
11/72
Web Server
Content
34
cripts
etc-
W M L 2 e c $ s
w i t h W M L ' c r i p t
WAP Gateway
WML Encoder
WMLcript
3ompiler Protocol Adapters
Client
WML
WML'
cript
W"A
Etc-
H""PWP/W"P
WAP Architecture
Source: WAP Forum
3ommon 4atewa% nterface
8/19/2019 Wap01 Mobile
12/72
WAP Application Server
Content
Application
Lo+ic
W M L 2 e c $ s
w i t h W M L ' c r i p t
WML Encoder
WMLcript
3ompiler
Protocol Adapters
ClientWML
WML'
cript
W"A
Etc-
WP/W"P
WAP Application erver
Source: WAP Forum
8/19/2019 Wap01 Mobile
13/72
WAP Architecture
Another loo$
Key Components• Origin/Web Server•
WAP Gte!y/Pro"y• WAP Protoco# Stc$• Micro %ro!ser• WML/WML Script• Trnsco&ers• WTA
Source: WAP Forum
8/19/2019 Wap01 Mobile
14/72
WAP0 8etwor$ Elements
wireless networkfixed network
WAP
proxy
WTA
server
filter/WAP
proxyweb
server
filter
PSTN
Internet
Binary WML binary file format for !lients
Binary WML
Binary WML
Binary WML
"TML
"TML
"TML WML
WML"TML
Sour!e S!#iller
8/19/2019 Wap01 Mobile
15/72
WAP pecifies
Wireless Application Environment
– WML Microbrowser – WMLcript )irtual Machine – WMLcript tandard Librar% –
Wireless "elephon% Application nterface (W"A! – WAP content t%pes
Wireless Protocol tac$
– Wireless ession Protocol (WP! – Wireless "ransport La%er ecurit% (W"L! – Wireless "ransaction Protocol (W"P! – Wireless 2ata+ram Protocol (W2P! – Wireless networ$ interface definitions
8/19/2019 Wap01 Mobile
16/72
WAP tac$
Micro%ro!ser 'WML(WMLScript( WTA( WTAI)
*uns on top o+ W,PProvi&e& #ig-t!eig-t .oriente&service• 0nre#ib#e 1!y re2uest• *e#ib#e 1!y/3!y
re24/response
Lig-t!eig-t SSL0ses WIM/PKICr&s
,tgrm service on&i5erent berersConvergence bet!een
berer services
,i5erent Wire#ess Tec-4
Source: WAP Forum
8/19/2019 Wap01 Mobile
17/72
WAP tac$
WAE (Wireless Application Environment!0 –
Architecture0 application model* browser* +atewa%* server – WML0 DML'%nta:* based on card stac$s* variables* ---
– W"A0 telephone services* such as call control* phone boo$ etc-
WP (Wireless ession Protocol!0 – Provides H""P - functionalit%
– upports session mana+ement* securit%* etc-
W"P (Wireless "ransaction Protocol!0 – Provides reliable messa+e transfer mechanisms
– Based on ideas from "3P/&P3
W"L (Wireless "ransport La%er ecurit%!0 – Provides data inte+rit%* privac%* authentication functions
–Based on ideas from "L/L
W2P (Wireless 2ata+ram Protocol!0 – Provides transport la%er functions
– Based on ideas from 52P
3ontent encodin+* optimi=ed for low'bandwidth channels* simple devices
8/19/2019 Wap01 Mobile
18/72
Wh% is H""P/H"ML not enou+h?
Bi$ pipe % small pipe syn&rome
Wireless networ'
NNN Interactive
NNN
Intera
ctive<
/TITLE
>
Internet
Enter na*e@
%#%%##
%#%%##
##%##%
%#%%##
%##%##
%###%#
%#%%#%
%##%#%
(ontent en!o&in$
HTTP/HTML WAP
Source: WAP Forum
8/19/2019 Wap01 Mobile
19/72
WAP0 ;iller< Applications
Location'based services – &eal'time traffic reportin+* Event/restaurant recommendation
Enterprise solutions – Email access* 2atabase access* ;+lobal< intranet access
– nformation updates ;pushed< to WAP devices
#inancial services
– Ban$in+* Bill'pa%in+* toc$ tradin+* #unds transfers "ravel services
– chedules and reschedulin+* &eservations
4amin+ and Entertainment – Online* real'time* multi'pla%er +ames
–
2ownloadable horoscopes* cartoons* ,uotes* advice M'3ommerce
– hoppin+ on the +o
– nstant comparison shoppin+
– Location'based special offers and sales
8/19/2019 Wap01 Mobile
20/72
Wireless Application Environment (WAE!
4oals – device and networ$ independent application environment
– for low'bandwidth* wireless devices – considerations of slow lin$s* limited memor%* low computin+ power*
small displa%* simple user interface (compared to des$tops!
– inte+rated nternet/WWW pro+rammin+ model
– hi+h interoperabilit%
8/19/2019 Wap01 Mobile
21/72
WAE 3omponents
Architecture – Application model* Microbrowser* 4atewa%* erver
5ser A+ents – WML/W"A/Others
–
content formats0 v3ard* v3alendar* Wireless Bitmap* WML* --- WML
– DML'%nta:* based on card stac$s* variables* ---
WMLcript – procedural* loops* conditions* --- (similar to Cavacript!
W"A – telephone services* such as call control* te:t messa+es* phone
boo$* --- (accessible from WML/WMLcript!
Pro:% (Method/Push!
8/19/2019 Wap01 Mobile
22/72
Origin Servers
WAE0 Lo+ical Model
web
server
ot#er !ontentserver
Gateway Client
ot#er
WA)
user a$ents
WMLuser a$ent
WTA
user a$ent
Pus# proxy
en!o&e&re*uest
re*uest
en!o&e&
response
wit#
!ontent
response
wit#
!ontent
pus#
!ontent
en!o&e&
pus#
!ontent
Met#o& proxy
en!o&ers
+
&e!o&ers
8/19/2019 Wap01 Mobile
23/72
WAP Microbrowser
Optimi=ed for wireless devices
Minimal &AM* &OM* 2ispla%* 3P5 and $e%s
Provides consistent service 5 across devices
Provides nternet compatibilit%
Enables wide arra% of available content and
applications
8/19/2019 Wap01 Mobile
24/72
WML0 Wireless Mar$up Lan+ua+e
"a+'based browsin+ lan+ua+e0 – creen mana+ement (te:t* ima+es!
– 2ata input (te:t* selection lists* etc-!
– H%perlin$s F navi+ation support
"a$es into account limited displa%*navi+ation capabilities of devices
DML'based lan+ua+e – describes onl% intent of interaction in
an abstract manner
– presentation depends upon devicecapabilities
3ards and 2ec$s –
document consists of man% cards – 5ser interactions are split into cards
– E:plicit navi+ation between cards
– cards are +rouped to dec$s
– dec$ is similar to H"ML pa+e* unitof content transmission
Events* variables and state m+mt
Content (XML)
XSL Processor
HTTP Browser
HTML Sty#eS-eet
WML Browsers
WML Sty#es-eet
8/19/2019 Wap01 Mobile
25/72
WML
"he basic unit is a card- 3ards are +rouped to+ether into Decks 2ocument G2ec$ (unit of transfer!
All dec$s must contain
– 2ocument prolo+ue
• DML F document t%pe declaration
– WMLI element
•
Must contain one or more cards
)))
WML 6i#e Structure
8/19/2019 Wap01 Mobile
26/72
WML 3ontent #ormats
3ommon interchan+e formats* for interoperabilit% #ormats0
– Business cards0 M3 v3ard standard
– 3alendar0 M3 v3alendar standard
– ma+es0 WBMP (Wireless BitMaP!
–
3ompiled WML* WMLcript 8ewl% defined formats0
– WML te:t and to$eni=ed format
– WMLcript te:t and b%tecode format
– WBMP ima+e format
Binar% format for si=e reduction – B%tecodes/to$ens for common values and operators
– 3ompressed headers
– 2ata compression (e-+- ima+es!
4eneral'purpose transport compression can still be applied
8/19/2019 Wap01 Mobile
27/72
WML (other features!
ettin+ card st%les to create forms
5sin+ variables to cache user data
5sin+ card intrinsic events to tri++er transparent tas$s
5sin+ timers
ecurin+ WML dec$s
Boo$mar$in+ dec$s
8/19/2019 Wap01 Mobile
28/72
WMLcript
3omplement to WML – 2erived from CavacriptJ
Provides +eneral scriptin+ capabilities – Procedural lo+ic* loops* conditionals* etc-
– Optimi=ed for small'memor%* small'cpu devices
#eatures – local user interaction* validit% chec$ of user input
– access to device facilities (phone call* address boo$ etc-!
– e:tensions to the device software
• confi+ure device* download new functionalit% after deplo%ment
B%tecode'based virtual machine – tac$'oriented desi+n* &OM'able
– 2esi+ned for simple* low'impact implementation
WMLcript compiler resides in the networ$
8/19/2019 Wap01 Mobile
29/72
WMLcript Libraries
Lan+ ' )M constants* +eneral'purpose math functionalit%*etc-
trin+ ' strin+ processin+ functions
5&L ' 5&L processin+
Browser ' WML browser interface
2ialo+ ' simple user interface
#loat ' floatin+ point functions
8/19/2019 Wap01 Mobile
30/72
Wireless "elephon% Application (W"A!
3ollection of telephon% specific e:tensions – desi+ned primaril% for networ$ operators
E:ample –
callin+ a number (WML!Ftai@//F;/*c%5G#4%$4#7
– callin+ a number (WMLcript!BTAPC6+ic)*ae!a++:"%5G#4%$4#7"
mplementation – E:tension of basic WAE application model
– E:tensions added to standard WML/WMLcript browser
– E:poses additional AP (W"A!
8/19/2019 Wap01 Mobile
31/72
W"A #eatures
E:tension of basic WAE application model –
networ$ model for interaction• client re,uests to server
• event si+nalin+0 server can push content to the client
– event handlin+
• table indicatin+ how to react on certain events from the networ$
• client ma% now be able to handle un$nown events
– telephon% functions
• some application on the client ma% access telephon% functions
W"A includes0 – 3all control
– 8etwor$ te:t messa+in+
–Phone boo$ interface
– Event processin+
ecurit% model0 se+re+ation – eparate W"A browser
– eparate W"A port
8/19/2019 Wap01 Mobile
32/72
W"A Lo+ical Architecture
ot#er WTA
servers
Client
WA)servi!es
WTA
user a$ent
WAP Gateway
en!o&ers
+
&e!o&ers
ot#er telep#one networ's
WTA Origin Server
WTA + WML
server
WML
S!ripts
WML
&e!'s
WTA
servi!es
mobile
networ'
firewallt#ir& party
ori$in servers
network operator
trsted do!ain
Sour!e S!#iller
8/19/2019 Wap01 Mobile
33/72
W"A #ramewor$ 3omponents
Sour!e "ei,&en
8/19/2019 Wap01 Mobile
34/72
W"A 5ser A+ent
W"A 5ser A+ent – WML 5ser a+ent with e:tended functionalit%
– can access mobile deviceKs telephon% functions throu+h W"A
– can store W"A service content persistentl% in a repositor%
– handles events ori+inatin+ in the mobile networ$
W"A 5ser A+ent 3onte:t
– Abstraction of e:ecution space
– Holds current parameters* navi+ation histor%* state of user a+ent
– imilar to activation record in a process address space
5ses connection'mode and connectionless services offered b% WP
pecific* secure W2P ports on the WAP +atewa%
8/19/2019 Wap01 Mobile
35/72
W"A Events and &epositor%
W"A Events
–
8etwor$ notifies device of event (such as incomin+ call! – W"A events map to deviceKs native events
– W"A services are aware of and able to act on these events
– e:ample0 incomin+ call indication* call cleared* call connected
W"A &epositor%
–local store for content related to W"A services (minimi=e networ$ traffic!
– 3hannels0 define the service
• content format definin+ a W"A service stored in repositor%
• DML document specif%in+ eventid* title* abstract* and resources that
implement a service
–
&esources0 e:ecution scripts for a service• could be WML dec$s* WML cripts* WBMP ima+es--
• downloaded from W"A server and stored in repositor% before service is
referenced
– erver can also initiate download of a channel
8/19/2019 Wap01 Mobile
36/72
W"A 3hannels and &esources
Sour!e "ei,&en
8/19/2019 Wap01 Mobile
37/72
W"A nterface (public!
W"A nterface – +eneric* hi+h'level interface to mobileKs telephon% functions
– settin+ up phone calls* readin+ and writin+ entries in phoneboo$--
Public W"A – for third part% WML content providers
– restricted set of telephon% functions available to an% WAE 5ser A+ent
– librar% functions
• ma$e call0 allows application to setup call to a valid tel number
•
send 2"M# tones0 send 2"M# tones throu+h the setup call – user notified to +rant permission for service e:ecution
– cannot be tri++ered b% networ$ events
– e:ample0 ellow pa+es service with ;ma$e call< feature
8/19/2019 Wap01 Mobile
38/72
W"A nterface (networ$!
8etwor$ 3ommon W"A
–
W"A service provider is in operatorKs domain – all W"A features are accessible* includin+ the interface to W"A events
– librar% functions
• )oice'call control0 setup call* accept* release* send 2"M# tones
• 8etwor$ te:t0 send te:t* read te:t* remove te:t (M!
•
Phoneboo$ 0 write* read* remove phoneboo$ entr%• 3all lo+s0 last dialed numbers* missed calls* received calls
• Miscellaneous0 terminate W"A user a+ent* protect conte:t
– user can +ive blan$et permission to invo$e a function
– e:ample0 )oice mail service
8etwor$ pecific W"A
– specific to t%pe of bearer networ$
– e:ample0
• 4M0 call re9ect* call hold* call transfer* 9oin multipart%* send 52
8/19/2019 Wap01 Mobile
39/72
W"A Event Handlin+
Event occurrence
– W"A user a+ent could be e:ecutin+ and e:pectin+ the event
– W"A user a+ent could be e:ecutin+ and a different event occurs
– 8o service is e:ecutin+
Event handlin+
– channel for each event defines the content to be processed upon reception
of that event
Event bindin+
– association of an event with the correspondin+ handler (channel!
– 4lobal bindin+0
• channel correspondin+ to the event is stored in the repositor%
• event causes e:ecution of resources defined b% the channel
• e:ample0 voice mail service
– "emporar% bindin+0
• resources to be e:ecuted are defined b% the alread% e:ecutin+ service
• e:ample0 %ellow pa+es loo$up and call establishment
8/19/2019 Wap01 Mobile
40/72
Event Handlin+ (no service in e:ecution!
Sour!e "ei,&en
8/19/2019 Wap01 Mobile
41/72
Event Handlin+ (service alread% e:ecution!
0 "emporar% bindin+ e:ists
.- 8o temporar% bindin+ and conte:t is protected
70 8o temporar% bindin+ and conte:t is not protected
Sour!e "ei,&en
8/19/2019 Wap01 Mobile
42/72
W"A0 )oice mail E:ample
pus# &e!'
WTA "lient WTA server !o#ile network voi"e !ail server
in!omin$ voi!emessa$e
$enerate
new &e!'
&isplay &e!'-
user sele!ts
translate
setup !all
wait for !all
a!!ept !all
voi!e !onne!tion
in&i!ate new voi!e messa$e
re*uest
play re*ueste& voi!e messa$e
setup !all!all in&i!ation
a!!ept !all a!!ept !all
Sour!e S!#iller
8/19/2019 Wap01 Mobile
43/72
WAP Push ervices
Web push –
cheduled pull b% client (browser!• e:ample0 Active 3hannels
– no real'time alertin+/response
• e:ample0 stoc$ ,uotes
Wireless push – accomplished b% usin+ the networ$ itself
• e:ample0 M
– limited to simple te:t* cannot be used as startin+ point for service
• e:ample0 if M contains news* user cannot re,uest specific newsitem
WAP push – 8etwor$ supported push of WML content
• e:ample0 Alerts or service indications
– Pre'cachin+ of data (channels/resources!
8/19/2019 Wap01 Mobile
44/72
WAP Push #ramewor$
Sour!e "ei,&en
8/19/2019 Wap01 Mobile
45/72
Over the Air (O"A! Protocol
E:tends WP with push'specific functionalit% Application 2 uni,uel% identifies a particular application
in the client (referenced as a 5&!
3onnection'oriented mode
– client informs pro:% of application 2s in a session
3onnectionless mode – well $nown ports* one for secure and other for non'secure push
ession nitiation Application (A! –
unconfirmed push from pro:% to client – re,uest to create a session for a specific user a+ent and bearer
8/19/2019 Wap01 Mobile
46/72
WAE ummar%
WML – analo+ous to H"ML (optimi=ed for wireless!
– event based* microbrowser user a+ent
WMLcript – analo+ous to Cavacript
– features of compiler in the networ$
W"A – W"A0 different access ri+hts for different applications/a+ents
– W"A 5ser A+ent (analo+% with operatin+ s%stems!
• 3onte:t Activation &ecord
• 3hannel nterrupt Handler
• &esource hared routines invo$ed b% interrupt handlers• &epositor% Librar% of interrupt handlers
– feature of d%namicall% pushin+ the interrupt handler before the event
Push – no analo+% in nternet
8/19/2019 Wap01 Mobile
47/72
WAP 4atewa% ummar%
Encoders – translate between binar% (WML! and te:t (H"ML/WML!
#ilters – transcodin+ between WML (wireless! and H"ML (wired!
Method Pro:% – similar to standard pro:% services
– WAP stac$ on wireless interface and "3P/P stac$ on nternet interface
Push Pro:% – Push Access Protocol with nternet Push nitiator (Web erver!
– Over the Air Protocol with mobile device (and WAP Push nitiator! – Performs necessar% filterin+* translation etc-
8/19/2019 Wap01 Mobile
48/72
WAP ervers ummar%
Ori+in erver – Web server with H"ML/WML contents – &uns "3P/P stac$* needs PAP protocol for push* no end'to'end
securit%
WAP erver –
erves WML content – &uns WAP stac$* uses O"A protocol for push* end'to'end securit%
possible
W"A erver – peciali=ed for telephon% applications (runs WAP stac$* uses push
e:tensivel%! – 3lient initiated (ma$e call ;h%perlin$< from a ellow pa+es
service!
– erver intiated (incomin+ call from a )oice mail service!
8/19/2019 Wap01 Mobile
49/72
WAP0 Protocol tac$
Sour!e S!#iller
Bearers .SM0 (1P10 2223
Se!urity Layer .WTLS3
Session Layer .WSP3
Appli!ation Layer .WA)3
Transport Layer .W1P3T(P/IP041P/IP0
me&ia
SSL/TLS
"TML0 5ava
"TTP
$nternet WAP
WA) !omprises WML .Wireless Mar'up Lan$ua$e30 WML S!ript0 WTAI et!2
Transa!tion Layer .WTP3
a&&itional servi!es
an& appli!ations
W(MP
A%SAP
S%SAP
T6%SAP
S)(%SAP
T%SAP
8/19/2019 Wap01 Mobile
50/72
W2P0 Wireless 2ata+ram Protocol
4oals
– create a worldwide interoperable transport s%stem b% adaptin+ W2P to the
different underl%in+ technolo+ies
– transmission services* such as M in 4M mi+ht chan+e* new services
can replace the old ones
W2P
– "ransport la%er protocol within the WAP architecture
– uses the ervice Primitive
• "'5nit2ata-re, -ind
– uses transport mechanisms of different bearer technolo+ies
– offers a common interface for hi+her la%er protocols
– allows for transparent communication despite different technolo+ies
– addressin+ uses port numbers
– W2P over P is 52P/P
8/19/2019 Wap01 Mobile
51/72
W2P0 ervice Primitives
T%SAP T%SAPT%14nit&ata2re*
.1A0 1P0 SA0 SP0 413 T%14nit&ata2in&
.SA0 SP0 413
T%14nit&ata2re*
.1A0 1P0 SA0 SP0 413
T%1)rror2in&
.)(3SAP: Service Access Point
DA: Destination Address
DP: Destination Port
SA: Source Address
SP: Source Port
UD: User Data
EC: Error Code
Sour!e S!#iller
8/19/2019 Wap01 Mobile
52/72
WAP Over GSM Cir"it%Swit"&ed
6AS % 6emote A!!ess Server
IWF % InterWor'in$ Fun!tion
WSP
WA)
Subnetwor'
IP
WSP
WA) Apps on
7t#er Servers
WAP
Proxy/Server
(S1%6F
PPP
IP
Mo#ile
$W'
PSTN
(ir!uit
(S1%
6F
$SP/(AS
Subnetwor'PSTN
(ir!uit
PPP
IP
WTP
)*P
WTP
)*P
ervice* Protocol* and Bearer E:ample
Sour!e WAP Forum
8/19/2019 Wap01 Mobile
53/72
WAP Over GSM S&ort Message Servi"e
SMS
W*P
WTP
WSP
WA+
SMS
S#network
W*P
W*P TnnelProto"ol
S#network
W*P TnnelProto"ol
WTP
WSP
WA+ Apps on
ot&er servers
SMSC
WAP
Proxy/Server Mo#ile
un&er &evelopment
ervice* Protocol* and Bearer E:ample
Sour!e WAP Forum
8/19/2019 Wap01 Mobile
54/72
W"L0Wireless "ransport La%er ecurit%
4oals – Provide mechanisms for secure transfer of content* for applications
needin+ privac%* identification* messa+e inte+rit% and non'repudiation
– Provide support for protection a+ainst denial'of'service attac$s
W"L – is based on the "L/L ("ransport La%er ecurit%! protocol
– optimi=ed for low'bandwidth communication channels
– provides
• privac% (encr%ption!
• data inte+rit% (MA3s!
• authentication (public'$e% and s%mmetric! – Emplo%s special adapted mechanisms for wireless usa+e
• Lon+ lived secure sessions
• Optimised handsha$e procedures
• Provides simple data reliabilit% for operation over data+ram bearers
8/19/2019 Wap01 Mobile
55/72
(e"ord Proto"ol
Hands&ake
Proto"ol
Alert
Proto"ol
Appli"ation
Proto"ol
C&ange Cip&er
Spe" Proto"ol
Transa"tion Proto"ol ,WTP-
*atagra! Proto"ol ,W*P/)*P-
.earer networks
WTLS
(e"ord proto"ol
W"L nternal Architecture
Sour!e WAP Forum
W"L i # ll h d h $
8/19/2019 Wap01 Mobile
56/72
W"L0 ecure session* #ull handsha$e
S)(%(reate2re*.SA0 SP0 1A0 1P0 8)S0 (S0 (M3
S)(%(reate2in&
.SA0 SP0 1A0 1P0 8)S0 (S0 (M3
ori$inator
S)(%SAP
peer
S)(%SAP
S)(%(reate2!nf .SNM0 860 SI10 8)S90 (S90 (M93
S)(%(reate2res
.SNM0 860 SI10 8)S90 (S90 (M93
S)(%)x!#an$e2re*
S)(%)x!#an$e2in&
S)(%)x!#an$e2res
.((3
S)(%(ommit2re* S)(%)x!#an$e2!nf
.((3S)(%(ommit2in&
S)(%(ommit2!nf
Sour!e S!#iller
KES: Key Excan!e Suite
CS: Ciper Suite
C": Co#pression "ode
S$": Se%uence $u#ber "ode
K&: Key &e'res Cycle
S(D: Session (denti'ier
CC: Client Certi'icate
8/19/2019 Wap01 Mobile
57/72
W"L0 "ransferrin+ 2ata+rams
S)(%4nit&ata2re*
.SA0 SP0 1A0 1P0 413 S)(%4nit&ata2in&
.SA0 SP0 1A0 1P0 413
sen&er
S)(%SAP
re!eiver
S)(%SAP
Sour!e S!#iller
i l i l
8/19/2019 Wap01 Mobile
58/72
W"P0 Wireless "ransaction Protocol
4oals – different transaction services that enable applications to select reliabilit%*
efficienc% levels
– low memor% re,uirements* suited to simple devices ( 6$b%te !
– efficienc% for wireless transmission
W"P – supports peer'to'peer* client/server and multicast applications
– efficient for wireless transmission – support for different communication scenarios
– class 6: unreliable messa+e transfer
• unconfirmed nvo$e messa+e with no &esult messa+e
• a data+ram that can be sent within the conte:t of an e:istin+ ession
– class : reliable messa+e transfer without result messa+e
• confirmed nvo$e messa+e with no &esult messa+e
• used for data push* where no response from the destination is e:pected
– class .: reliable messa+e transfer with e:actl% one reliable result messa+e
• confirmed nvo$e messa+e with one confirmed &esult messa+e
• a sin+le re,uest produces a sin+le repl%
W"P i d P l
8/19/2019 Wap01 Mobile
59/72
W"P ervices and Protocols
W"P ("ransaction!
– provides reliable data transfer based on re,uest/repl% paradi+m
• no e:plicit connection setup or tear down
• optimi=ed setup (data carried in first pac$et of protocol e:chan+e!
• see$s to reduce 7'wa% handsha$e on initial re,uest
– supports
• header compression
•se+mentation /re'assembl%
• retransmission of lost pac$ets
• selective'retransmission
• port number addressin+ (52P ports numbers!
• flow control
– messa+e oriented (not stream!
– supports an Abort function for outstandin+ re,uests
– supports concatenation of P25s – supports 5ser ac$nowled+ement or tac$ ac$nowled+ement option
• ac$s ma% be forced from the W"P user (upper la%er!• default is stac$ ac$
8/19/2019 Wap01 Mobile
60/72
W"P 3lass 6 "ransaction
T6%Invo'e2re*
.SA0 SP0 1A0 1P0 A0 410 (:;0 "3I nv o ' e P 1 4
T6%Invo'e2in&
.SA0 SP0 1A0 1P0 A0 410 (:;0 "93
initiator
T6%SAP
respon&er
T6%SAP
Sour!e S!#iller
A: Acknowled!e#ent )ype
*W)P+User,
C: Class *-./.0,
1: 1andle *socket alias,
W"P 3l " ti $ F $
8/19/2019 Wap01 Mobile
61/72
W"P 3lass "ransaction* no user ac$ F user ac$
T6%Invo'e2re*
.SA0 SP0 1A0 1P0 A0 410 (:
8/19/2019 Wap01 Mobile
62/72
W"P 3lass . "ransaction* no user ac$* no hold on
T6%Invo'e2re*
.SA0 SP0 1A0 1P0 A0 410 (:=0 "3I nv o ' e P 1 4
T6%Invo'e2in&
.SA0 SP0 1A0 1P0 A0 410 (:=0 "93
initiator
T6%SAP
respon&er
T6%SAP
6 e s u l t P 1 4
T6%6esult2re*
.41>0 "93
T6%6esult2in&
.41>0 "3
A! ' P 1 4
T6%Invo'e2!nf
."3
T6%6esult2res
."3 T6%6esult2!nf
."93
Sour!e S!#iller
8/19/2019 Wap01 Mobile
63/72
W"P 3lass . "ransaction* user ac$
T6%Invo'e2re*
.SA0 SP0 1A0 1P0 A0 410 (:=0 "3I nv o ' e P 1 4
T6%Invo'e2in&
.SA0 SP0 1A0 1P0 A0 410 (:=0 "93
initiator
T6%SAP
respon&er
T6%SAP
6 e s u l t P 1 4 T6%6esult2in&
.41>0 "3
A! ' P 1 4
T6%Invo'e2res
."93T6%Invo'e2!nf
."3 A! ' P 1 4 T6%6esult2re*
.41>0 "93
T6%6esult2res
."3 T6%6esult2!nf
."93
Sour!e S!#iller
8/19/2019 Wap01 Mobile
64/72
W"P 3lass . "ransaction* hold on* no user ac$
T6%Invo'e2re*
.SA0 SP0 1A0 1P0 A0 410 (:=0 "3I nv o ' e P 1 4
T6%Invo'e2in&
.SA0 SP0 1A0 1P0 A0 410 (:=0 "93
initiator T6%SAP respon&er T6%SAP
6 e s u l t P 1 4
T6%6esult2re*.41>0 "93
T6%6esult2in&
.41>0 "3
A! ' P 1 4
A! ' P 1 4
T6%Invo'e2!nf
."3
T6%6esult2res
."3T6%6esult2!nf
."93
Sour!e S!#iller
WP Wireless ession Protocol
8/19/2019 Wap01 Mobile
65/72
WP ' Wireless ession Protocol
4oals –
H""P - functionalit%• &e,uest/repl%* content t%pe ne+otiation* ---
– support of client/server transactions* push technolo+%
– $e% mana+ement* authentication* nternet securit% services
WP ervices – provides shared state between client and server* optimi=es content transfer
– session mana+ement (establish* release* suspend* resume!
– efficient capabilit% ne+otiation
– content encodin+
– push
WP/B (Browsin+! – H""P/- functionalit% ' but binar% encoded
– e:chan+e of session headers
– push and pull data transfer
–
as%nchronous re,uests
WP O i
8/19/2019 Wap01 Mobile
66/72
WP Overview
Header Encodin+
– compact binar% encodin+ of headers* content t%pe identifiers and otherwell'$nown te:tual or structured values
– reduces the data actuall% sent over the networ$
3apabilities (are defined for!0
– messa+e si=e* client and server
– protocol options0 3onfirmed Push #acilit%* Push #acilit%* ession uspend#acilit%* Ac$nowled+ement headers
– ma:imum outstandin+ re,uests
– e:tended methods
– header code pa+es
uspend and &esume – server $nows when client can accept a push – multi'bearer devices – d%namic addressin+ – allows the release of underl%in+ bearer resources
WP i
8/19/2019 Wap01 Mobile
67/72
WP essions
ession 3onte:t and Push – push can ta$e advanta+e of session headers
– server $nows when client can accept a push
3onnection'mode – lon+'lived communication* benefits of the session state* reliabilit%
3onnectionless'mode –
stateless applications* no session creation overhead* no reliabilit%overhead
8/19/2019 Wap01 Mobile
68/72
WP/B session establishment
S%(onne!t2re*
.SA0 (A0 ("0 6(3 ( o nne ! t P 1 4 S%(onne!t2in&
.SA0 (A0 ("0 6(3
!lient
S%SAP
server
S%SAP
( o nn6 e p l y P 1 4
S%(onne!t2res
.S"0 N(3S%(onne!t2!nf .S"0 N(3
WTP (lass =
transa!tion
Sour!e S!#iller
C1: Client 1eader
&C: &e%uested Capabilities
S1: Server 1eader
$C: $e!otiated Capabilities
WP/B session suspend/resume
8/19/2019 Wap01 Mobile
69/72
WP/B session suspend/resume
S%Suspen&2re* S u s p e n& P 1 4 S%Suspen&2in&
.63
!lient
S%SAP
server
S%SAP
6 e p l y P 1 4
S%6esume2res
WTP (lass =
transa!tion
S%Suspen&2in&
.63
? ?S%6esume2re*.SA0 (A3 S%6esume2in&.SA0 (A3
6 e s u m e P 1 4
S%6esume2!nf
WTP (lass ;
transa!tion
Sour!e S!#iller
&: &eason 'or disconnection
8/19/2019 Wap01 Mobile
70/72
WAP tac$ ummar%
W2P – functionalit% similar to 52P in P networ$s
W"L
– functionalit% similar to L/"L (optimi=ed for wireless!
W"P
– 3lass 60 analo+ous to 52P – 3lass 0 analo+ous to "3P (without connection setup overheads!
– 3lass .0 analo+ous to &P3 (optimi=ed for wireless!
– features of ;user ac$nowled+ement
8/19/2019 Wap01 Mobile
71/72
WAP0 On+oin+ Wor$
W2P – "unnel to support WAP where no (end'to'end! P bearer available
W"L – support for end'to'end securit% (e:tendin+ W"L endpoint be%ond WAP
4atewa%!
– interoperable between WAP and nternet (public $e% infrastructure!
– inte+ratin+ mart 3ards for securit% functions
W"P – efficient transport over wireless lin$s (wireless "3P!
– bearer selection/switchin+
– ,ualit% of service definitions
WP – ,ualit% of service parameters
– multicast data* multimedia support
WAE – 5ser a+ent profiles0 personali=e for device characteristics* preferences etc
– Push architecture* as%nchronous applications
– Billin+
WAP0 H%pe vs &ealit%
8/19/2019 Wap01 Mobile
72/72
WAP0 H%pe vs &ealit%
Low'bandwidth wireless lin$s
– tcp/ip over wireless can also address these problems
– encodin+ in http can also reduce data transfer on wireless lin$s
Limited device capabilities
– Microbrowser is appropriate to address this problem
– W"A features are not present in tcp/ip domain
3hallen+es in WAP
– adaptin+ to applications rich in content and interaction
– service +uarantees
– interface desi+n and usabilit%
Other approaches for WWW access throu+h mobiles
– i'Mode (from 8"" 2o3oMo!
– WAP is a "&AP (http0//www freeprotocols or+/wap"rap!