intro wireless application protocol webtp meeting h. wilson so 14 feb, 2000

25
Intro Wireless Application Protocol WebTP Meeting H. Wilson So 14 Feb, 2000.

Post on 20-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Intro Wireless Application Protocol

WebTP MeetingH. Wilson So14 Feb, 2000.

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.)

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 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

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.