You are on page 1of 50

Lecture 9: Wireless

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

 WAP is designed to deal with these challenges

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

 The WSP provider may modify


RQ if the requested capabilities
are higher than it can offer
 Thus, S-Connect.ind may be
different from S-Connect.req
27
WSP Service Primitive: Session Termination

 RC – Code for cause of


disconnection
 RS – Redirect Security
 RA – Redirect Address
 EH – Error Header
 EB – Error Body

 If RC indicates the cause


for disconnection is the
client being redirected to
a new server, RS and RA
will be needed

28
WSP Service Primitive: Suspend and Resume

 SA – Server Address
 CA – Client Address

29
WSP Service Primitive: Transaction Operation

 CI – Client Transaction ID  RH – Request Header


 M – Method  RB – Request Body
 RU – Request URI
 SI – Server Transaction ID
 S – Status
 AH – Acknowledge Headers
30
WSP Service Primitive: Push

 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

 The Alert 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?

(0: No comparison, MAC protection, or encryption used)

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

 First phase – initiates a logical connection and


establish security capabilities (e.g., which
cyrotgraphic and comparison algorithm)
 Second phase – used for server authentication and
key exchange
 Third phase – used for client authentication and key
exchange
 Forth phase – completes the setting up of a secure
connection
45
WTLS Handshake Protocol Action

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

You might also like