View
215
Download
1
Tags:
Embed Size (px)
Citation preview
Outline
What is Wireless Application Protocol?
Architecture Overview (layers)Bottom up description of the stackRelation 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.WDPWTLSWTPWMLWML Script
IPUDPTLS (from SSL)no counterpartHTMLJavaScript
Rationale: reuse as much as possible from IP world, but optimize for the wireless world (i.e. compression, adapt to high-loss rate.)
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
Handshake Simplified
Client says HelloServer says HelloServer sends Public KeyInitiates 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 sentSample 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 Server
Class 1, TID =1
Class 1, TID =1
TimeoutAck TID = 1
Verify TID = 1
Abort
WTP Duplicate Detection
Client Server
Class 1, TID =1
Class 0, TID =2
Ack TID = 1
Verify TID = 1
Ok
Class 0, TID =3
Class 0, TID =N
Class 1, TID =1
WTP: Other interesting features
User-level acks (more precisely, application-level acks)
May do Segmentation and ReassemblyAllow 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