WAP Protocol Stack - WebTP Home Page, EECS, UC Berkeley

Download Report

Transcript WAP Protocol Stack - WebTP Home Page, EECS, UC Berkeley

Intro Wireless Application
Protocol
WebTP Meeting
H. Wilson So
14 Feb, 2000.
Outline
What is Wireless Application Protocol?
Architecture Overview (layers)
Bottom up description of the stack
Relation to WebTP and differences
What 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 industry’s
answer to interactive web applications.
WAP defines its own set of protocols but
models after existing web protocols.
WAP 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.)
Accessing Web from Cell
Phones
WAP Protocol Architecture
Protocol Features
WAP Reference Model
1. 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
WDP 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.
WDP 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
2. 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
WTLS Handshake
Handshake Simplified
Client says Hello
Server says Hello
Server sends Public Key
Initiates key exchange
Client generates
Session Key
Server acks session
key
Encrypted Data
Encrypted Data
WTLS 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
3. 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
Class 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)
Class 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
Class 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
WTP 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)
WTP Duplicate Detection
Client
Class 1, TID =1
Timeout
Server
Ack TID = 1
Class 1, TID =1
Verify TID = 1
Abort
WTP Duplicate Detection
Client
Class 1, TID =1
Server
Ack TID = 1
Class 0, TID =2
Class 0, TID =3
Class 0, TID =N
Class 1, TID =1
Verify TID = 1
Ok
WTP: 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
Relation 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
Areas 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.