Title: Intro%20Wireless%20Application%20Protocol
1Intro Wireless Application Protocol
- WebTP Meeting
- H. Wilson So14 Feb, 2000.
2Outline
- What is Wireless Application Protocol?
- Architecture Overview (layers)
- Bottom up description of the stack
- Relation to WebTP and differences
3What is WAP?
- "WAP specifies an application framework and
network protocols for wireless devices such as
mobile telephones, pagers, and personal digital
assistants (PDAs)." - WAP is the mobile phone industrys answer to
interactive web applications. - WAP defines its own set of protocols but models
after existing web protocols.
4WAP and the Web
- GSM, CDMA, etc.
- WDP
- WTLS
- WTP
- WML
- WML Script
- IP
- UDP
- TLS (from SSL)
- no counterpart
- HTML
- JavaScript
Rationale reuse as much as possible from IP
world, but optimize for the wireless world (i.e.
compression, adapt to high-loss rate.)
5Accessing Web from Cell Phones
6WAP Protocol Architecture
7Protocol Features
8WAP Reference Model
91. Datagram Protocol (WDP)
- Goal To allow transport, security, and session
protocols to operate independent of the
underlying bearer (e.g. GSM, CDMA, etc.) - To provide a UDP-like interface
10WDP Basic Features
- Port Numbers Demux lower layer packets to
different higher layers - Segmentation/Reassembly only present if
underlying bearer does not support it already - Details More than you ever want to know about
the differences between some 30 kinds of cellular
data network.
11WDP Summary
- If bearer (e.g. GSM USSD) speaks IP, WDP equals
UDP. - Otherwise, WDP adapts to the underlying network
and provides Demux Segmentation normally
provided by UDP/IP. - Reliable transport builds on top of WDP, not the
underlying bearer even if bearer speaks IP
122. 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
13WTLS Handshake
14Handshake Simplified
Client says Hello
Server says HelloServer sends Public
KeyInitiates key exchange
Client generates Session Key
Server acks session key
Encrypted Data
Encrypted Data
15WTLS Summary
- Very similar to SSL, but SSL is usually
implemented on top of TCP WTLS includes
retransmission mechanism - Client/Server can authenticate each other
(optional) - Client/Server can negotiate ciphers to be used
- Client/Server can negotiate a datagram mode
that has no sequence numbers
163. WTP (Transaction Protocol)
- Goal A light-weight transaction protocol
necesaary for interactive "browsing"
applications. - T stands for Transaction, not transport.
- WTP is message-oriented protocol, not
stream-based. - Each new transaction has a new Transaction ID (
seq no.) - Provides 3 classes of service
17Class 0 (Unreliable 1-way)
- Sender sends a message but does not wait for an
ack - Receiver delives message to application w/o
checking for duplicates - No acks are sent
- Sample app unreliable weather update (push)
18Class 1 (Reliable 1-way)
- Sender sends a message and waits for an ack (retx
if necessary) - Receiver checks for duplicates before delivering
message to application - Acks are sent and retransmitted if client
retransmits request erroneously
19Class 2 (Reliable 2-way)
- Sender sends a message and waits for an ack (retx
if necessary) - Receiver checks for duplicates before delivering
message to application - Ack for request is piggy-backed on top of the
reply from the server application - Client acks the receipt of the result
20WTP Duplicate Detection
- Since there is no handshake, how does it detect
duplicates? - For class 0, duplicate packets are delivered with
checking. - Server initiates handshake to verify (and
resynchronize TrasactionID if necessary)
21WTP Duplicate Detection
Client
Server
Class 1, TID 1
Ack TID 1
Timeout
Class 1, TID 1
Verify TID 1
Abort
22WTP Duplicate Detection
Client
Server
Class 1, TID 1
Ack TID 1
Class 0, TID 2
Class 0, TID 3
Class 0, TID N
Class 1, TID 1
Verify TID 1
Ok
23WTP Other interesting features
- User-level acks (more precisely,
application-level acks) - May do Segmentation and Reassembly
- Allow multiple messages (PDUs) to be concatenated
into one SDU (link-layer frames) - Re-transmit bit to distinguish fresh vs.
retransmitted packets
24Relation to WebTP
- WAP uses a transaction oriented protocol, WebTP
advocates ADUs - WAP allows per PDU-level reliability over same
connection - WAP does not require handshake, WebTP has a Fast
WebTP option. - Unclear congestion / flow control in WAP
25Areas need to be improved
- A tradeoff between connection setup and duplicate
detection is required, but analysis is missing. - WAP often talks about keeps states for some
time but never really discuss why their system
is correct.