wap_intro

Embed Size (px)

Citation preview

  • 8/22/2019 wap_intro

    1/25

    Intro Wireless Application

    Protocol

    WebTP Meeting

    H. Wilson So14 Feb, 2000.

  • 8/22/2019 wap_intro

    2/25

    Outline

    What is Wireless Application Protocol?

    Architecture Overview (layers)

    Bottom up description of the stack

    Relation to WebTP and differences

  • 8/22/2019 wap_intro

    3/25

    What is WAP?

    "WAP specifies an application frameworkand network protocols for wireless devices

    such as mobile telephones, pagers, andpersonal 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.

  • 8/22/2019 wap_intro

    4/25

    WAP and the Web

    GSM, CDMA, etc.

    WDP

    WTLSWTP

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

  • 8/22/2019 wap_intro

    5/25

    Accessing Web from Cell

    Phones

  • 8/22/2019 wap_intro

    6/25

    WAP Protocol Architecture

  • 8/22/2019 wap_intro

    7/25

    Protocol Features

  • 8/22/2019 wap_intro

    8/25

    WAP Reference Model

  • 8/22/2019 wap_intro

    9/25

    1. Datagram Protocol

    (WDP)

    Goal: To allow transport, security, andsession protocols to operate independent

    of the underlying bearer (e.g. GSM,CDMA, etc.)

    To provide a UDP-like interface

  • 8/22/2019 wap_intro

    10/25

    WDP Basic Features

    Port Numbers: Demux lower layer packetsto different higher layers

    Segmentation/Reassembly: only present ifunderlying bearer does not support italready

    Details: More than you ever want to knowabout the differences between some 30kinds of cellular data network.

  • 8/22/2019 wap_intro

    11/25

    WDP Summary

    If bearer (e.g. GSM USSD) speaks IP,WDP equals UDP.

    Otherwise, WDP adapts to the underlyingnetwork 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

  • 8/22/2019 wap_intro

    12/25

    2. WTLS (Transport Layer

    Security)

    Goal: provides the upper-level layer ofWAP with a secure transport service

    interface that preserves the transportservice interface (datagram) below it.

    Security level of WTLS depends on the

    requirements of the given application

  • 8/22/2019 wap_intro

    13/25

    WTLS Handshake

  • 8/22/2019 wap_intro

    14/25

    Handshake Simplified

    Client says HelloServer says Hello

    Server sends Public Key

    Initiates key exchange

    Client generates

    Session Key

    Server acks session

    key

    Encrypted Data Encrypted Data

  • 8/22/2019 wap_intro

    15/25

    WTLS Summary

    Very similar to SSL, but SSL is usuallyimplemented on top of TCP; WTLS

    includes retransmission mechanismClient/Server can authenticate each other

    (optional)

    Client/Server can negotiate ciphers to beused

    Client/Server can negotiate a datagram

    mode that has no sequence numbers

  • 8/22/2019 wap_intro

    16/25

    3. WTP (Transaction

    Protocol)

    Goal: A light-weight transaction protocolnecesaary for interactive "browsing"applications.

    T stands for Transaction, not transport.

    WTP is message-oriented protocol, notstream-based.

    Each new transaction has a newTransaction ID (~ seq no.)

    Provides 3 classes of service

  • 8/22/2019 wap_intro

    17/25

    Class 0 (Unreliable 1-way)

    Sender sends a message but does notwait for an ack

    Receiver delives message to applicationw/o checking for duplicates

    No acks are sent

    Sample app: unreliable weather update(push)

  • 8/22/2019 wap_intro

    18/25

    Class 1 (Reliable 1-way)

    Sender sends a message and waits for anack (retx if necessary)

    Receiver checks for duplicates beforedelivering message to application

    Acks are sent and retransmitted if client

    retransmits request erroneously

  • 8/22/2019 wap_intro

    19/25

    Class 2 (Reliable 2-way)

    Sender sends a message and waits for anack (retx if necessary)

    Receiver checks for duplicates beforedelivering message to application

    Ack for request is piggy-backed on top of

    the reply from the server applicationClient acks the receipt of the result

  • 8/22/2019 wap_intro

    20/25

    WTP Duplicate Detection

    Since there is no handshake, how does itdetect duplicates?

    For class 0, duplicate packets aredelivered with checking.

    Server initiates handshake to verify (and

    resynchronize TrasactionID if necessary)

  • 8/22/2019 wap_intro

    21/25

    WTP Duplicate Detection

    Client Server

    Class 1, TID =1

    Class 1, TID =1

    TimeoutAck TID = 1

    Verify TID = 1

    Abort

  • 8/22/2019 wap_intro

    22/25

    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

  • 8/22/2019 wap_intro

    23/25

    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

  • 8/22/2019 wap_intro

    24/25

    Relation to WebTP

    WAP uses a transaction oriented protocol,WebTP advocates ADUs

    WAP allows per PDU-level reliability oversame connection

    WAP does not require handshake, WebTP

    has a Fast WebTP option.Unclear: congestion / flow control in WAP

  • 8/22/2019 wap_intro

    25/25

    Areas need to be improved

    A tradeoff between connection setup andduplicate 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.