Title: Chapter 4 outline
1Chapter 4 outline
- Introduction to mobile and wireless networking
- Mobile and wireless protocols and standards
- Mobile IP
- Wireless application protocol and related
standards - Wireless technologies
- 802.11
- Bluetooth
- Cellular (PCS, GSM, GPRS, etc.)
- Satellite
2Wireless Application Protocol (WAP)
- WAP is aimed at providing users of mobile and
wireless devices like cell phones, pagers, and
personal digital assistants (PDAs) access to
information services, like the Internet. - Standardized by the WAP Forum (founded in 1997
by Ericsson, Motorola, Nokia, and others). - The WAP specification includes the following
- A programming model based on the WWW model.
- A markup language, the Wireless Markup Language
(WML), that adheres to XML. - A specification of a small browser suitable for a
mobile wireless device. - A framework for wireless telephony applications.
- A lightweight communications protocol.
3The WAP Protocol Stack
4Why WAP?
- WAP is a useful protocol suite for mobile and
wireless platforms for many reasons - The devices have limited processors, memory, and
battery life. - The user interface is typically quite limited and
the displays used are relatively small. - The wireless networks are characterized by
relatively low bandwidth, high latency, and
unpredictable availability and reliability
compared to wired connections. - The features available vary widely from device to
device and from network to network. - Mobile and wireless users have different
expectations and needs from other information
systems users (e.g. ease of use).
5The WAP Programming Model
- The WAP programming model is based on three
elements - Clients These are the mobile and wireless
devices in the wireless network. - Gateways These act as proxy servers for the
wireless network, providing services that offload
processing activities to make up for the limited
capabilities of the mobile and wireless devices.
(This includes DNS services, caching, protocol
conversion from WAP to TCP/IP, and encoding and
decoding information to make it usable on the
devices.) - Origin servers These are the original content
providers to the mobile and wireless devices, and
need not understand WAP. (The gateways do
protocol conversions for them.)
6The WAP Programming Model
7WAP Infrastructure
Might be partof the WAP Proxy,or might be
separate
More compact form of WML
8Wireless Markup Language (WML)
- WML was designed to describe content and format
for presenting data on devices with limited
bandwidth, screen size, and user input. - The main features of WML
- 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 menu, screen of text, or
a text-entry field). - Support for navigation among cards and decks
includes provisions for event handling used for
navigation or executing scripts.
9Wireless Markup Language (WML)
10Wireless Markup Language (WML)
- The canonical Hello World example in WML
- ltwmlgt
- ltcard idcard1gt
- ltpgt
- Hello WAP World.
- lt/pgt
- lt/cardgt
- lt/wmlgt
11WMLScript
- WMLScript is a scripting language with
similarities to JavaScript. - WMLScript is designed to define script-type
programs in a device with limited processing
power and memory. - Important WMLScript capabilities include
- Checking the validity of user input before it is
sent. - Accessing device facilities and peripherals.
- Interacting with the user without introducing
round trips to origin server (for example, to
display an error message of some kind).
12WMLScript
- Key WMLScript features include the following
- JavaScript-based scripting language WMLScript
is a subset of JavaScript, with some extensions. - Procedural logic WMLScript adds procedural
logic to the Wireless Application Environment
(WAE). - Event-based WMLScript may be invoked in
response to certain user or environmental events. - Compiled implementation WMLScript can be
compiled to a more efficient bytecode for client
use. - Integrated into WAE WMLScript is fully
integrated with the WML browser, so services can
be easily built with both WML and WMLScript. - Efficient extensible library support WMLScript
can be used to extend device functionality
without changes to the device software.
13Wireless Application Environment (WAE)
- The WAE specifies an application framework
(tools, formats) for wireless devices to ease the
development of WAP applications and devices. - Major WAE elements include
- WAE User agents Software that executes in the
wireless device that provides specific
functionality. - Content generators Applications on origin
servers 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 (e.g. a browser) to navigate Web
content. - Wireless telephony applications (WTA) A
collection of telephony-specific extensions for
call and feature control mechanisms that provide
authors with advanced mobile network services.
14WAE Client Components
15Wireless Session Protocol (WSP)
- WSP provides applications with interfaces for two
session services - Connection-oriented session service Operates
above the reliable transport protocol WTP. - Connectionless session service Operates above
the unreliable transport protocol WDP. - WSP is similar to HTTP with some additions and
modifications to optimize it for wireless use. - It is a transaction-oriented protocol based on
the concept of a request and a reply. - Each WSP message consists of a body (which may
contain WML, WMLScript, images) and a header
(which contains information about the data in the
body and about the transaction).
16Wireless Session Protocol (WSP)
- WSP provides the following basic services
- Establish a reliable session from client to
server and release (if in connection-oriented
mode). - Agree on a common level of protocol functionality
using capability negotiation. - Exchange of content between client and server
using compact encodings. - Suspend and resume a session.
- Push content from server to client in an
unsynchronized manner. This is useful for
broadcast messages or for services such as news
headlines, stock quotes, and so on.
17Wireless Session Protocol (WSP)
18Wireless Transaction Protocol (WTP)
- WTP manages transactions by conveying requests
and responses between a user agent and an
application server. - It is a lightweight protocol (without much of the
overhead from a protocol like TCP) suitable for
"thin" clients over low-bandwidth wireless links. - WTP features include
- 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.
19Wireless Transaction Protocol (WTP)
- WTP is transaction-oriented rather than
connection-oriented. - With WTP, there is no explicit connection setup
or teardown, but rather a reliable connectionless
service. - WTP provides three transaction classes to be
invoked by WSP or some other higher protocol - Class 0 Unreliable invoke message with no result
message. - Class 1 Reliable invoke message with no result
message - Class 2 Reliable invoke message with one
reliable result message
20Wireless Transaction Protocol (WTP)
21Wireless Transport Layer Security (WTLS)
- WTLS provides security services between a mobile
device and the WAP gateway. - WTLS is based on the Transport Layer Security
(TLS) Protocol, which is a refinement of SSL. - WTLS is more efficient than TLS, requiring fewer
message exchanges. - To provide end-to-end security, WTLS is used
between client devices and the gateway, and TLS
is used between the gateway and the target
server. - WAP systems translate between WTLS and TLS within
the WAP gateway. - Thus, the gateway is a point of vulnerability and
must be given a high level of security!
22Wireless Transport Layer Security (WTLS)
- WTLS provides the following features
- Data integrity Ensures that data sent between
a client and its gateway are not modified, using
message authentication codes (encrypted
messagedigests). - 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.
23Wireless Transport Layer Security (WTLS)
- WTLS consists of two layers of protocols
- WTLS Record Protocol Provides basic security
services to the higher-layer protocols. - Higher-layer protocols, including
- Handshake Protocol Allows the server and client
to authenticate each other, and negotiate
encryption and message authentication algorithms,
cryptographic keys, and so on. - Change Cipher Spec Protocol After successful
handshaking of security parameters, this simple
protocol enables the security mechanisms. - Alert Protocol Conveys WTLS-related alerts to
the client or to the server (warnings, critical
errors, or fatal errors). - WTP
24Wireless Transport Layer Security (WTLS)
25Wireless Datagram Protocol (WDP)
- WDP is used to adapt a higher-layer WAP protocol
to the communication mechanism (called the
bearer) used between a mobile node and its WAP
gateway. - WDP hides the details of the various bearer
networks from the other layers of WAP. - In some instances, WAP is implemented on top of
IP! - The adaptation required may include
- Partitioning data into segments of appropriate
size for the bearer. - Interfacing with the bearer network.
26Wireless Control Message Protocol (WCMP)
- Essentially, WCMP performs the same support
functions for WDP as ICMP does for IP. - WCMP is used in environments that do not provide
an IP bearer and do not lend themselves to the
use of ICMP. - It is used by wireless nodes and WAP gateways to
report errors encountered in processing WDP
datagrams. - It can also be used for informational and
diagnostic purposes.