Professional Documents
Culture Documents
Application Protocol
Dr. Reynold Cheng
This lecture is based on the textbook “W. Stallings, Wireless Communications and
Networks, Prentice Hall, 2005” and the slides (prepared by Tom Fronckowiak) and
figures provided at the Web site of the textbook.
1
Class Objectives
Last lecture we examined Mobile IP, a
standard that provides application-level
support for wireless networking.
This time we studied another standard,
known as the Wireless Application
Protocol (WAP).
2
Wireless environment is different
Low bandwidth, high latency, unpredictable
availability and stability
Tiny display screens
Limited input functions
Limited battery life
3
Wireless Application Protocol
(WAP)
An open standard developed by the WAP Forum
The WAP Forum is established by Ericsson,
Motorola, Nokia and Phone.com
>100 members now
The current version is 2.0
Reference:
http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html
4
Wireless Application Protocol
(WAP)
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
Based on existing Internet standards such as IP, XML,
HTML, and HTTP
Includes security facilities
5
WAP Programming Model
WAP HTTP
6
Uses of the WAP Gateway
Acts as a proxy server for wireless domain
Caches frequently requested information
Provides services that offload the limited
capabilities of the mobile terminals
DNSservices, conversion between WAP stack and
WWW stack (HTTP + TCP/IP)
Encodes Web info to more compact form
Decodes compacted form into standard Web
communication conventions
7
WAP Infrastructure
8
WAP Protocol Stack
9
Web vs. WAP
Web WAP
HTML WML
JavaScript WMLScript
HTTP WSP
TCP WTP
SSL/TLS WTLS
IP WDP
10
Wireless Markup Language (WML)
11
Wireless Markup Language
(WML) Features
Text and image support – formatting and layout
commands
Deck/card organizational metaphor – WML documents
subdivided into cards, which specify one or more units
of interaction
A WML deck is similar to an HTML page (identified by
URL)
Support for navigation among cards and decks –
includes provisions for event handling; used for
navigation or executing scripts
12
Example WML
<wml>
<card id=‘card1’>
<p>
Hello WAP World.
</p>
</card>
</wml>
13
WML Tags
14
WMLScript
15
WMLScript
Scripting language for defining script-type
programs in a user device with limited
processing power and memory
WMLScript capabilities:
Check validity of user input before it is sent
Access device facilities and peripherals
Interact with user without introducing round trips
to origin server
16
WMLScript
WMLScript features:
JavaScript-based scripting language
Procedurallogic
Event-based
Compiled implementation
Can be complied down to a more efficient bytecode that
is transported to the client
Integrated into WAE
Fully integrated with the WML browser
Efficient extensible library support
17
WMLScript Statements
18
Wireless Application Environment (WAE)
19
Wireless Application Environment
(WAE)
WAE specifies an application framework for
wireless devices
WAE elements:
WAE User agents – software that executes in the
wireless device (e.g., browser)
Content generators – applications that produce standard
content formats in response to requests from user
agents in the mobile terminal
Standard content encoding – defined to allow a WAE
user agent to navigate Web content
Wireless telephony applications (WTA) – collection of
telephony-specific extensions for call and feature
control mechanisms 20
WAE Client Components
21
Wireless Session Protocol (WSP)
22
Wireless Session Protocol (WSP)
Transaction-oriented protocol based on the
concept of a request and a reply
Provides applications with interface for two
session services:
Connection-oriented session service – operates
above reliable transport protocol WTP
Connectionless session service – operates above
unreliable transport protocol WDP
23
Connection-mode WSP Services
Establish reliable session from client to server and
release
Agree on common level of protocol functionality
using capability negotiation
Exchange content between client and server using
compact encoding
Suspend and resume a session
Push content from server to client in an
unsynchronized manner
24
25
WSP Transaction Types
Session establishment – client WSP user requests
session with server WSP user
Session termination – client WSP user initiates
termination
Session suspend and resume – initiated with
suspend and resume requests
Transaction – exchange of data between a client
and server
Nonconfirmed data push – used to send
unsolicited information from server to client
Confirmed data push – server receives delivery
confirmation from client
26
WSP Service Primitive: Successful session
establishment
SA – Server Address
CA – Client Address
CH – Client Header
RQ – Requested Capabilities
SH – Server Header
NC – Negotiated Capabilities
28
WSP Service Primitive: Suspend and Resume
SA – Server Address
CA – Client Address
29
WSP Service Primitive: Transaction Operation
PH – Push Header
PB – Push Body
SI – Server Transaction ID
CI – Client Transaction ID
AH – Acknowledgment Headers
31
Wireless Transaction Protocol (WTP)
32
Wireless Transaction Protocol
(WTP)
Lightweight protocol suitable for "thin" clients and
over low-bandwidth wireless links
WTP features
Three classes of transaction service
Optional user-to-user reliability: WTP user triggers
confirmation of each received message
Optional out-of-band data on acknowledgments
PDU concatenation and delayed acknowledgment to reduce
the number of messages sent
Asynchronous transactions
33
WTP Transaction Classes
Class 0: Unreliable invoke message with no
result message
Class 1: Reliable invoke message with no
result message
Class 2: Unreliable invoke message with one
reliable result message
34
WTP PDU Types
Invoke PDU – used to convey a request from an
initiator to a responder
ACK PDU – used to acknowledge an Invoke or
Result PDU
Result PDU – used to convey response of the
server to the client
Abort PDU – used to abort a transaction
Segmented invoke PDU and segmented result
PDU – used for segmentation and reassembly
Negative acknowledgment PDU – used to indicate
that some packets did not arrive
35
Examples of WTP Operation
36
WSP-WTP Timing Diagram (example)
37
Wireless Transport Layer Security (WTLS)
38
Wireless Transport Layer Security
(WTLS) Features
Data integrity – ensures that data sent between client
and gateway are not modified, using message
authentication
Privacy – ensures that the data cannot be read by a
third party, using encryption
Authentication – establishes authentication of the two
parties, using digital certificates
Denial-of-service protection – detects and rejects
messages that are replayed or not successfully
verified
39
WTLS Protocol Stack
WTLS consists of two layers of protocols
WTLS Record Protocol – provides basic security
services to various higher-layer protocols
Higher-layer protocols:
The Handshake Protocol
The Change Cipher Spec Protocol
40
WTLS Protocol Stack
Change encryption Provides alert
algorithm, messages to peer
cryptographic entity
attributes etc.
Upper
Layer
Lower
Layer
provides basic
security services to
•Allow server and client to authenticate each other various higher-
•Negotiate encryption, authorization algorithms, keys to layer protocols
be used to protect data
•Provide parameters for WTLS Record Protocol
41
WTLS Record Protocol Operation
(Message authentication
code)
42
WTLS Record Format
Question: Answer:
How to set Handshaking
crytographic Protocol
attributes?
43
WTLS Protocol Stack
Change encryption Provides alert
algorithm, messages to peer
cryptographic entity
attributes etc.
Higher
Layer
Lower
Layer
provides basic
security services to
•Allow server and client to authenticate each other various higher-
•Negotiate encryption, authorization algorithms, keys to layer protocols
be used to protect data
•Provide parameters for WTLS Record Protocol
44
Phases of the Handshake Protocol
Exchange
Used before application data is transmitted
46
Wireless Datagram Protocol (WDP)
47
Wireless Datagram Protocol
(WDP)
Used to adapt higher-layer WAP protocol to the
communication mechanism (called the bearer) used
between mobile node and WAP gateway
WDP hides details of the various bearer networks
from the other layers of WAP
Adaptation may include:
Partitioning data into segments of appropriate size for the
bearer
Interfacing with the bearer network
48
Wireless Control Message Protocol
(WCMP)
Performs the same support function for WDP as
ICMP does for IP
Used in environments that don’t provide ICMP
Used by wireless nodes and WAP gateways to report
errors encountered in processing WDP datagrams
Also used for informational and diagnostic purposes
49
Conclusions
WAP may be considered as a light-weight
version of TCP/IP to support mobile devices
A simplifed layering protocol
Support heterogeneity through the negotiation
mechanism of “capabilities”
Even with wider bandwidth (e.g., 3G), WAP will
still be useful due to other limitation, e.g., user
input, display, and processing power
50