Transcript Document

Wireless Application Protocol

Outline

          Mobile applications How are mobile/wireless environments different?

What is WAP?

WAP Architecture WAE (WML/WMLScript) WTA Framework WAP Push Services WAP Protocol Stack Hype v/s Reality References and Resources

Mobile Applications - 1

 Vehicles   transmission of news, road condition etc ad-hoc network with near vehicles to prevent accidents  Emergencies  early transmission of patient data to the hospital  ad-hoc network in case of earthquakes, cyclones  military ...

 Traveling salesmen  direct access to central customer files  consistent databases for all agents  mobile office

Mobile Applications - 2

 Web access   outdoor Internet access intelligent travel guide with up-to-date location dependent information  Information services  push: stock quotes; pull: nearest cash ATM  Disconnected operations  file-system caching for off-line work  mobile agents, e.g., shopping  Entertainment  games, etc

Variability of the Mobile Environment

Mobility • stationary • nomadic (pedestrian speed) • mobile (vehicular speed) • roaming (mobile across networks) Mobile Device Capability • form factor • GUI • multimedia • real-time multimedia Connectivity • connected • semi-connected (asymmetric) • weakly connected • disconnected

World Wide Web and Mobility

HTTP/HTML have not been designed for mobile applications/devices   HTTP 1.0 characteristics   designed for large bandwidth, low delay stateless, client/server, request/response communication  connection oriented, one connection per request  TCP 3-way handshake, DNS lookup overheads  big protocol headers, uncompressed content transfer  primitive caching (often disabled, dynamic objects)  security problems (using SSL/TLS with proxies) HTML characteristics   designed for computers with “high” performance, color high-resolution display, mouse, hard disk typically, web pages optimized for design, not for communication; ignore end-system characteristics

System Support for Mobile WWW

 client-aware support for mobility  Proxies    Client proxy: pre-fetching, caching, off-line use Network proxy: adaptive content transformation for connections Client and network proxy  Enhanced servers   server-aware support for mobility serve the content in multiple ways, depending on client capabilities  New protocols/languages  WAP/WML

Wireless Application Protocol (WAP)

  Empowers mobile users with wireless devices to easily access and interact with information and services.

A “standard” created by wireless and Internet companies to enable Internet access from a cellular phone  wapforum.org

:  co-founded by Ericsson, Motorola, Nokia, Phone.com

  450 members in 2000, comprise of Handset manufacturers, Wireless service providers, ISPs, Software companies in the wireless industry Goals  deliver Internet services to mobile devices  enable applications to scale across a variety of transport options and device types  independence from wireless network standards  GSM, CDMA IS-95, TDMA IS-136, 3G systems (UMTS, W-CDMA)

WAP: Main Features

       Browser  “Micro browser”, similar to existing web browsers Markup language  Similar to HTML, adapted to mobile devices Script language  Similar to Javascript, adapted to mobile devices Gateway  Transition from wireless to wired world Server  “Wap/Origin server”, similar to existing web servers Protocol layers  Transport layer, security layer, session layer etc.

Telephony application interface  Access to telephony functions

Internet Model

HTML HTTP TLS/SSL TCP/IP

WAP Architecture

Client

WML WML Script WTAI Etc.

WAP Gateway

WSP/WTP WML Encoder WMLScript Compiler Protocol Adapters HTTP

Web Server

CGI Scripts etc.

Content

Source: WAP Forum

WAP Application Server

Client

WML WML Script WTAI Etc.

WSP/WTP

WAP Application Server

WML Encoder WMLScript Compiler Protocol Adapters Application Logic

Content

Source: WAP Forum

WAP Architecture

 Another look Key Components • Origin/Web Server • WAP Gateway/Proxy • WAP Protocol Stack • Micro Browser • WML/WML Script • Transcoders • WTA Source: WAP Forum

WAP: Network Elements

fixed network

Internet HTML web server HTML HTML filter WML WAP proxy WML HTML filter/ WAP proxy

wireless network

Binary WML Binary WML WTA server Binary WML PSTN Binary WML: binary file format for clients Source: Schiller

WAP Specifies

 Wireless Application Environment      WML Microbrowser WMLScript Virtual Machine WMLScript Standard Library Wireless Telephony Application Interface (WTAI) WAP content types  Wireless Protocol Stack      Wireless Session Protocol (WSP) Wireless Transport Layer Security (WTLS) Wireless Transaction Protocol (WTP) Wireless Datagram Protocol (WDP) Wireless network interface definitions

WAP Stack

MicroBrowser (WML, WMLScript, WTA, WTAI) Runs on top of WDP Provided lightweight X-oriented service • Unreliable 1-way request • Reliable 1-way/2-way req./response Lightweight SSL Uses WIM/PKI-Cards Datagram service on different bearers Convergence between bearer services Different Wireless Tech.

Source: WAP Forum

WAP Stack

     WAE (Wireless Application Environment) :  Architecture: application model, browser, gateway, server   WML: XML-Syntax, based on card stacks, variables, ...

WTA: telephone services, such as call control, phone book etc.

WSP (Wireless Session Protocol) :   Provides HTTP 1.1 functionality Supports session management, security, etc.

WTP (Wireless Transaction Protocol) :   Based on ideas from TCP/RPC WTLS (Wireless Transport Layer Security) :  Provides reliable message transfer mechanisms Provides data integrity, privacy, authentication functions  Based on ideas from TLS/SSL WDP (Wireless Datagram Protocol) :   Provides transport layer functions Based on ideas from UDP Content encoding, optimized for low-bandwidth channels, simple devices

Why is HTTP/HTML not enough?

Big pipe - small pipe syndrome Internet

HTTP/HTML

NNN Interactive

Wireless network Enter name:

WAP

Content encoding NNN Intera ctive< /TITLE > <META HTTP EQUIV= "Refre sh" CONTEN T="180 0, URL=/i ndex.h</p> <p>tml"> 010011 010011 110110 010011 011011 011101 010010 011010 Source: WAP Forum</p> <a id="p19"></a> <h3>WAP: “Killer” Applications</h3> <p>      Location-based services  Real-time traffic reporting, Event/restaurant recommendation Enterprise solutions   Email access, Database access, “global” intranet access Information updates “pushed” to WAP devices Financial services  Banking, Bill-paying, Stock trading, Funds transfers Travel services  Schedules and rescheduling, Reservations Gaming and Entertainment  Online, real-time, multi-player games  Downloadable horoscopes, cartoons, quotes, advice M-Commerce  Shopping on the go   Instant comparison shopping Location-based special offers and sales</p> <a id="p20"></a> <h3>Wireless Application Environment (WAE)</h3> <p> Goals   device and network independent application environment for low-bandwidth, wireless devices  considerations of slow links, limited memory, low computing power, small display, simple user interface (compared to desktops)  integrated Internet/WWW programming model  high interoperability</p> <a id="p21"></a> <h3>WAE Components</h3> <p>      Architecture  Application model, Microbrowser, Gateway, Server User Agents  WML/WTA/Others  content formats: vCard, vCalendar, Wireless Bitmap, WML, ...</p> <p>WML  XML-Syntax, based on card stacks, variables, ...</p> <p>WMLScript  procedural, loops, conditions, ... (similar to JavaScript) WTA  telephone services, such as call control, text messages, phone book, ... (accessible from WML/WMLScript) Proxy (Method/Push)</p> <a id="p22"></a> <h3>WAE: Logical Model</h3> <p><b>Origin Servers Gateway</b></p> <p>web server other content server response with content Method proxy encoded response with content Push proxy push content encoded push content encoders & decoders request encoded request</p> <p><b>Client</b></p> <p>WTA user agent WML user agent other WAE user agents</p> <a id="p23"></a> <h3>WAP Microbrowser</h3> <p>     Optimized for wireless devices Minimal RAM, ROM, Display, CPU and keys Provides consistent service UI across devices Provides Internet compatibility Enables wide array of available content and applications</p> <a id="p24"></a> <p>    </p> <h3>WML: Wireless Markup Language</h3> <p>Screen management (text, images)  Data input (text, selection lists, etc.)   Hyperlinks & navigation support Takes into account limited display, navigation capabilities of devices XML-based language   describes only intent of interaction in an abstract manner presentation depends upon device capabilities Cards and Decks  document consists of many cards    User interactions are split into cards Explicit navigation between cards cards are grouped to decks  deck is similar to HTML page, unit of content transmission Events, variables and state mgmt Content (XML) XSL Processor WML Stylesheet WML Browsers HTML StyleSheet HTTP Browser</p> <a id="p25"></a> <h3>WML</h3> <p>  The basic unit is a <b>card</b>. Cards are grouped together into <b>Decks </b>Document ~ Deck (unit of transfer) All decks must contain  Document prologue  XML & document type declaration  <WML> element  Must contain one or more cards WML File Structure <?xml version="1.0"?> <!DOCTYPE WML PUBLIC "-//WAPFORUM//DTD WML 1.0//EN" "http://www.wapforum.org/DTD/wml.xml"> <WML> ... </WML></p> <a id="p26"></a> <h3>WML Example</h3> <p><b>Navigatio n Variables Input Elements <WML> <CARD> <DO TYPE=“ACCEPT”> <GO URL=“#eCard”/> </DO Welcome!</b></p> <p><b></CARD> <CARD NAME=“eCard”> <DO TYPE=“ACCEPT”> <GO URL=“/submit?N=$(N)&S=$(S)”/> </DO> Enter name: <INPUT KEY=“N”/> Choose speed: <SELECT KEY=“S”> </WML> <OPTION VALUE=“0”>Fast</OPTION> <OPTION VALUE=“1”>Slow</OPTION> <SELECT> </CARD> Card Deck</b></p> <a id="p27"></a> <h3>A Deck of Cards</h3> <p><b><WML> <CARD></b></p> <p><DO TYPE="ACCEPT" LABEL="Next"></p> <p><b></CARD> <GO URL="#card2"/></b></p> <p></DO> Acme Inc.<BR/>Directory</p> <p><b><CARD NAME="card2"></b></p> <p><DO TYPE="ACCEPT"> <GO URL="?send=$type"/> </DO> Services <SELECT KEY="type"></p> <p><b></CARD></b></p> <p><OPTION VALUE="em">Email</OPTION> <OPTION VALUE="ph">Phone</OPTION> <OPTION VALUE="fx">Fax</OPTION> </SELECT></p> <p><b></WML> Acme Inc.</b></p> <p><b>Directory _____________ Next Services 1>Email 2 Phone ____________ OK</b></p> <p>Source: WAP Forum</p> <a id="p28"></a> <h3>The DO Element</h3> <p> Binds a task to a user action      Action type: Label: Task: Destination: Post data:</p> <p><i>ACCEPT, OPTIONS, HELP PREV, DELETE, RESET Text string or image (optional) GO PREV, REFRESH, NOOP URL if METHOD=POST</i></p> <p><b><DO TYPE="ACCEPT" LABEL="Next"> <GO URL="http://www.mysite.com/myapp.wml"/> </DO></b></p> <p>Source: WAP Forum</p> <a id="p29"></a> <h3>Anchored Links</h3> <p> Bind a task to the ACCEPT action, when cursor points to a link  TITLE= sets the label string (default = “Link”)  Links are not allowed in select list options <CARD> Please visit our </p> <p><b><A TITLE="Visit"> <GO URL="home.wml"/></b></p> <p>home page</p> <p><b></A></b></p> <p>for details.</p> <p></CARD></p> <p><b>Please visit our home page for ____________ Visit</b></p> <p>Source: WAP Forum</p> <a id="p30"></a> <h3>The TEMPLATE Element</h3> <p> Defines actions & events for all cards in a deck <WML></p> <p><b><TEMPLATE> <DO TYPE="OPTIONS" LABEL="Main"> <GO URL="main_menu.wml"/> </DO> </TEMPLATE></b></p> <p><CARD NAME="msg1"> <DO TYPE="ACCEPT" LABEL="Next"> <GO URL="#msg2"/> </DO> First story </CARD> <CARD NAME="msg2"> Second story </CARD> </WML></p> <p><b>First story … _____________ Next Main Second story ...</b></p> <p><b>_____________ OK Main</b></p> <p>Source: WAP Forum</p> <a id="p31"></a> <h3>Handling User Input</h3> <p> Select lists  Choose from a list of options  Input fields  Enter a string of text or numbers  KEY variables  Set by SELECT and INPUT elements  How user input is passed to other cards and the application server Source: WAP Forum</p> <a id="p32"></a> <h3>The SELECT Element</h3> <p> Display a list of options  Each option may set the KEY variable and/or bind a task to the ACCEPT key  TITLE= dynamically sets the label string  MULTIPLE=“TRUE”: Allows user to pick multiple items <CARD> <DO TYPE="ACCEPT" LABEL="View"> <GO URL="getcity.cgi?location=$city"/> </DO> Forecast</p> <p><b>Forecast 1 Berlin 2 Rome 3>New City <SELECT KEY="city"> <OPTION VALUE="ber">Berlin</OPTION> <OPTION VALUE="rom">Rome</OPTION> <OPTION TITLE="Find" ONCLICK="find.cgi">New City</OPTION> </SELECT></b></p> <p></CARD></p> <p><b>____________ Find</b></p> <p>Source: WAP Forum</p> <a id="p33"></a> <h3>The INPUT Element</h3> <p> Prompts user to enter a string of text  DEFAULT=<i>key_value; </i> Default KEY variable (displayed to user)   FORMAT<i>=format_specifier; </i> If omitted, free-form entry is allowed EMPTYOK="TRUE“; Browser will accept null input   TYPE= " PASSWORD“; Special entry mode handled by the browser MAXLENGTH=<i>number; </i> Maximum number of allowed characters</p> <p><b>Soc. Security:</b></p> <p><CARD> <DO TYPE="ACCEPT"> <GO URL="?get=person" METHOD="POST" POSTDATA="userid=$ssn"/> </DO> Soc Security:</p> <p><b><INPUT KEY="ssn" FORMAT="NNN\-NN\-NNNN"/></b></p> <p></CARD></p> <p><b>287-33- _ ____________ NUM Soc. Security: 287-33 7629 ____________ OK </b></p> <p>Source: WAP Forum</p> <a id="p34"></a> <h3>WML Content Formats</h3> <p>     Common interchange formats, for interoperability Formats:  Business cards: IMC vCard standard   Calendar: IMC vCalendar standard Images: WBMP (Wireless BitMaP)  Compiled WML, WMLScript Newly defined formats:  WML text and tokenized format   WMLScript text and bytecode format WBMP image format Binary format for size reduction  Bytecodes/tokens for common values and operators   Compressed headers Data compression (e.g. images) General-purpose transport compression can still be applied</p> <a id="p35"></a> <h3>Displaying Images</h3> <p>  Insert app images or local icons within display text  1-bit BMP format Images are ignored by non-bitmapped devices  Check HTTP_ACCEPT for “image/bmp” <CARD> <DO TYPE="ACCEPT"> <GO URL="#c2"/> </DO> Continue </p> <p><b><IMG LOCALSRC="righthand" ALT="forward..."/></b></p> <p></CARD> <CARD NAME="c2"> </p> <p><b><IMG SRC="../images/logo.wbmp" </b></p> <p></CARD></p> <p><b>ALT="Unwired Planet"/></b></p> <p><BR/>Welcome!</p> <p>Source: WAP Forum</p> <a id="p36"></a> <h3>WML (other features)</h3> <p> Setting card styles to create forms  Using variables to cache user data  Using card intrinsic events to trigger transparent tasks  Using timers  Securing WML decks  Bookmarking decks</p> <a id="p37"></a> <h3>WMLScript</h3> <p>  Complement to WML  Derived from JavaScript™ Provides general scripting capabilities   Procedural logic, loops, conditionals, etc.</p> <p>Optimized for small-memory, small-cpu devices  Features    local user interaction, validity check of user input access to device facilities (phone call, address book etc.) extensions to the device software  configure device, download new functionality after deployment   Bytecode-based virtual machine  Stack-oriented design, ROM-able  Designed for simple, low-impact implementation WMLScript compiler resides in the network</p> <a id="p38"></a> <h3>WMLScript Libraries</h3> <p>      Lang - VM constants, general-purpose math functionality, etc.</p> <p>String - string processing functions URL - URL processing Browser - WML browser interface Dialog - simple user interface Float - floating point functions</p> <a id="p39"></a> <h3>WMLScript Example</h3> <p><b>Functions function currencyConvertor(currency, exchRate) { return currency*exchangeRate; } Variables Programming Constructs function myDay(sunShines) { var myDay; if (sunShines) { myDay = “Good”; } else { myDay = “Not so good”; }; return myDay; }</b></p> <p>Source: WAP Forum</p> <a id="p40"></a> <h3>Wireless Telephony Application (WTA)</h3> <p> designed primarily for network operators  Example  calling a number (WML) wtai://wp/mc;07216086415  calling a number (WMLScript) WTAPublic.makeCall("07216086415");  Implementation    Extension of basic WAE application model Extensions added to standard WML/WMLScript browser Exposes additional API (WTAI)</p> <a id="p41"></a> <h3>WTA Features</h3> <p>   Extension of basic WAE application model  network model for interaction  client requests to server  event signaling: server can push content to the client  event handling  table indicating how to react on certain events from the network   client may now be able to handle unknown events telephony functions  some application on the client may access telephony functions WTAI includes:   Call control Network text messaging   Phone book interface Event processing Security model: segregation  Separate WTA browser  Separate WTA port</p> <a id="p42"></a> <h3>WTA Example (WML)</h3> <p><i>Placing an outgoing call with WTAI:</i></p> <p><b>WTAI Call Input Element <WML> <CARD> <DO TYPE=“ACCEPT”> <GO URL=“wtai:cc/mc;$(N)”/> </DO> Enter phone number: <INPUT TYPE=“TEXT” KEY=“N”/> </CARD> </WML></b></p> <p>Source: WAP Forum</p> <a id="p43"></a> <h3>WTA Example (WMLScript)</h3> <p><i>Placing an outgoing call with WTAI:</i></p> <p><b>WTAI Call function checkNumber(N) { if (Lang.isInt(N)) WTAI.makeCall(N); else Dialog.alert(“Bad phone number”); }</b></p> <p>Source: WAP Forum</p> <a id="p44"></a> <h3>WTA Logical Architecture</h3> <p>other telephone networks</p> <p><b>WTA Origin Server</b></p> <p>WML Scripts WTA & WML server mobile network WML decks WTA services</p> <p><b>WAP Gateway</b></p> <p>encoders & decoders</p> <p><b>network operator trusted domain</b></p> <p>other WTA servers third party origin servers firewall</p> <p><b>Client</b></p> <p>WTA user agent WAE services Source: Schiller</p> <a id="p45"></a> <h3>WTA Framework Components</h3> <p>Source: Heijden</p> <a id="p46"></a> <h3>WTA User Agent</h3> <p> WTA User Agent     WML User agent with extended functionality can access mobile device’s telephony functions through WTAI can store WTA service content persistently in a repository handles events originating in the mobile network  WTA User Agent Context    Abstraction of execution space Holds current parameters, navigation history, state of user agent Similar to activation record in a process address space   Uses connection-mode and connectionless services offered by WSP Specific, secure WDP ports on the WAP gateway</p> <a id="p47"></a> <h3>WTA Events and Repository</h3> <p>  WTA Events   Network notifies device of event (such as incoming call) WTA events map to device’s native events  WTA services are aware of and able to act on these events  example: incoming call indication, call cleared, call connected WTA Repository   local store for content related to WTA services (minimize network traffic) Channels: define the service    content format defining a WTA service stored in repository  XML document specifying eventid, title, abstract, and resources that implement a service Resources: execution scripts for a service  could be WML decks, WML Scripts, WBMP images..</p> <p> downloaded from WTA server and stored in repository before service is referenced Server can also initiate download of a channel</p> <a id="p48"></a> <h3>WTA Channels and Resources</h3> <p>Source: Heijden</p> <a id="p49"></a> <h3>WTA Interface (public)</h3> <p> WTA Interface   generic, high-level interface to mobile’s telephony functions setting up phone calls, reading and writing entries in phonebook..</p> <p> Public WTAI  for third party WML content providers  restricted set of telephony functions available to any WAE User Agent  library functions  make call : allows application to setup call to a valid tel number   send DTMF tones : send DTMF tones through the setup call user notified to grant permission for service execution   cannot be triggered by network events example: Yellow pages service with “make call” feature</p> <a id="p50"></a> <h3>WTA Interface (network)</h3> <p> Network Common WTAI      WTA service provider is in operator’s domain all WTAI features are accessible, including the interface to WTA events library functions  Voice-call control : setup call, accept, release, send DTMF tones  Network text : send text, read text, remove text (SMS)  Phonebook : write, read, remove phonebook entry  Call logs : last dialed numbers, missed calls, received calls  Miscellaneous : terminate WTA user agent, protect context user can give blanket permission to invoke a function example: Voice mail service  Network Specific WTAI   specific to type of bearer network example:  GSM: call reject, call hold, call transfer, join multiparty, send USSD</p> <a id="p51"></a> <h3>WTA Event Handling</h3> <p>   Event occurrence  WTA user agent could be executing and expecting the event  WTA user agent could be executing and a different event occurs  No service is executing Event handling  channel for each event defines the content to be processed upon reception of that event Event binding   association of an event with the corresponding handler (channel) Global binding :   channel corresponding to the event is stored in the repository  event causes execution of resources defined by the channel  example: voice mail service Temporary binding :  resources to be executed are defined by the already executing service  example: yellow pages lookup and call establishment</p> <a id="p52"></a> <h3>Event Handling (no service in execution)</h3> <p>Source: Heijden</p> <a id="p53"></a> <h3>Event Handling (service already execution)</h3> <p>1: Temporary binding exists 2. No temporary binding and context is protected 3: No temporary binding and context is not protected Source: Heijden</p> <a id="p54"></a> <h3>WTA: Voice mail Example</h3> <p><b>WTA client WTA server mobile network voice mail server</b></p> <p>indicate new voice message incoming voice message push deck display deck; user selects request generate new deck wait for call translate call indication play requested voice message setup call setup call accept call accept call accept call voice connection Source: Schiller</p> <a id="p55"></a> <h3>WTA Application: Example (using WML)</h3> <p>     <WML> <CARD> <DO TYPE="ACCEPT" TASK="GO" URL="#voteChamp"/> Please vote for your champion!</p> <p></CARD>           <CARD NAME="voteChamp"> <DO TYPE="ACCEPT" TASK="GO" URL="wtai://cc/sc;$voteNo;1"/> Please choose: <SELECT KEY="voteNo"> <OPTION VALUE="6086415">Mickey</OPTION> <OPTION VALUE="6086416">Donald</OPTION> <OPTION VALUE="6086417">Pluto</OPTION> </SELECT> </CARD> </WML> Source: Schiller</p> <a id="p56"></a> <h3>WTA: Example with WML and WMLScript</h3> <p>             function voteCall(Nr) { var j = WTACallControl.setup(Nr,1); if (j>=0) { WMLBrowser.setVar("Message", "Called"); WMLBrowser.setVar("No", Nr); } else { WMLBrowser.setVar("Message", "Error!"); WMLBrowser.setVar("No", j); } } WMLBrowser.go("showResult"); Source: Schiller</p> <a id="p57"></a> <p>                 </p> <h3>WTA: Example with WML and WMLScript</h3> <p><WML> <CARD> <DO TYPE="ACCEPT" TASK="GO" URL="#voteChamp"/> Please vote for your champion!</p> <p></CARD> <CARD NAME="voteChamp"> <DO TYPE="ACCEPT" TASK="GO" URL="/script#voteCall($voteNo)"/> Please choose: <SELECT KEY="voteNo"> <OPTION VALUE="6086415">Mickey</OPTION> <OPTION VALUE="6086416">Donald</OPTION> <OPTION VALUE="6086417">Pluto</OPTION> </SELECT> </CARD> <CARD NAME="showResult"> Status of your call: $Message $No </CARD> </WML> Source: Schiller</p> <a id="p58"></a> <h3>WAP Push Services</h3> <p>   Web push   Scheduled pull by client (browser)  example: Active Channels no real-time alerting/response  example: stock quotes Wireless push   accomplished by using the network itself  example: SMS limited to simple text, cannot be used as starting point for service  example: if SMS contains news, user cannot request specific news item WAP push  Network supported push of WML content   example: Alerts or service indications Pre-caching of data (channels/resources)</p> <a id="p59"></a> <h3>WAP Push Framework</h3> <p>Source: Heijden</p> <a id="p60"></a> <h3>Push Access Protocol</h3> <p>       Based on request/response model Push initiator is the client Push proxy is the server Initiator uses HTTP POST to send push message to proxy Initiator sends control information as an XML document, and content for mobile (as WML) Proxy sends XML entity in response indicating submission status Initiator can    cancel previous push query status of push query status/capabilities of device</p> <a id="p61"></a> <h3>Push Proxy Gateway</h3> <p>   WAP stack (communication with mobile device) TCP/IP stack (communication with Internet push initiator) Proxy layer does  control information parsing  content transformation  session management  client capabilities  store and forward   prioritization address resolution  management function</p> <a id="p62"></a> <h3>Over the Air (OTA) Protocol</h3> <p>     Extends WSP with push-specific functionality Application ID uniquely identifies a particular application in the client (referenced as a URI) Connection-oriented mode  client informs proxy of application IDs in a session Connectionless mode  well known ports, one for secure and other for non-secure push Session Initiation Application (SIA)   unconfirmed push from proxy to client request to create a session for a specific user agent and bearer</p> <a id="p63"></a> <h3>WAE Summary</h3> <p>    WML  analogous to HTML (optimized for wireless)  event based, microbrowser user agent WMLScript  analogous to JavaScript  WTA features of compiler in the network  WTAI: different access rights for different applications/agents  WTA User Agent (analogy with operating systems)  Context – Activation Record  Channel – Interrupt Handler   Resource – Shared routines invoked by interrupt handlers Repository – Library of interrupt handlers  feature of dynamically pushing the interrupt handler before the event Push  no analogy in Internet</p> <a id="p64"></a> <h3>WAP Gateway Summary</h3> <p>    Encoders  translate between binary (WML) and text (HTML/WML) Filters  transcoding between WML (wireless) and HTML (wired) Method Proxy  similar to standard proxy services  WAP stack on wireless interface and TCP/IP stack on Internet interface Push Proxy  Push Access Protocol with Internet Push Initiator (Web Server)  Over the Air Protocol with mobile device (and WAP Push Initiator)  Performs necessary filtering, translation etc.</p> <a id="p65"></a> <h3>WAP Servers Summary</h3> <p>   Origin Server   Web server with HTML/WML contents Runs TCP/IP stack, needs PAP protocol for push, no end-to-end security WAP Server   Serves WML content Runs WAP stack, uses OTA protocol for push, end-to-end security possible WTA Server    Specialized for telephony applications (runs WAP stack, uses push extensively) Client initiated (make call “hyperlink” from a Yellow pages service) Server intiated (incoming call from a Voice mail service)</p> <a id="p66"></a> <h3>WAP: Protocol Stack </h3> <p><b>Internet</b></p> <p>HTML, Java HTTP SSL/TLS A-SAP</p> <p><b>WAP</b></p> <p>Application Layer (WAE) S-SAP Session Layer (WSP) TR-SAP Transaction Layer (WTP) SEC-SAP Security Layer (WTLS) additional services and applications T-SAP Transport Layer (WDP) WCMP TCP/IP, UDP/IP, media Bearers (GSM, CDPD, ...) WAE comprises WML (Wireless Markup Language), WML Script, WTAI etc.</p> <p>Source: Schiller</p> <a id="p67"></a> <h3>WDP: Wireless Datagram Protocol</h3> <p> create a worldwide interoperable transport system by adapting WDP to the different underlying technologies  transmission services, such as SMS in GSM might change, new services can replace the old ones  WDP  Transport layer protocol within the WAP architecture       uses the Service Primitive  T-UnitData.req .ind</p> <p>uses transport mechanisms of different bearer technologies offers a common interface for higher layer protocols allows for transparent communication despite different technologies addressing uses port numbers WDP over IP is UDP/IP</p> <a id="p68"></a> <h3>WDP: Service Primitives</h3> <p>T-SAP T-DUnitdata.req</p> <p>(DA, DP, SA, SP, UD) T-DUnitdata.req</p> <p>(DA, DP, SA, SP, UD) T-DError.ind</p> <p>(EC) T-SAP T-DUnitdata.ind</p> <p>(SA, SP, UD) </p> <p><b>SAP: Service Access Point DA: Destination Address DP: Destination Port SA: Source Address SP: Source Port UD: User Data EC: Error Code</b></p> <p>Source: Schiller</p> <a id="p69"></a> <h3>Service, Protocol, and Bearer Example</h3> <p><b>WAP Over GSM Circuit-Switched Mobile WAP Proxy/Server</b></p> <p>WAE WAE Apps on Other Servers WSP WSP</p> <p><b>WTP UDP</b></p> <p>IP</p> <p><b>IWF ISP/RAS</b></p> <p>IP</p> <p><b>WTP UDP</b></p> <p>IP PPP CSD-RF RAS - Remote Access Server IWF - InterWorking Function CSD RF PSTN Circuit PPP PSTN Circuit Subnetwork Subnetwork Source: WAP Forum</p> <a id="p70"></a> <h3>Service, Protocol, and Bearer Example</h3> <p><b>Mobile WAP Proxy/Server WAE WSP WAE Apps on other servers WSP SMSC WTP WTP WDP SMS SMS WDP Tunnel Protocol Subnetwork WDP WDP Tunnel Protocol Subnetwork</b></p> <p>under development Source: WAP Forum</p> <a id="p71"></a> <h3>WTLS:Wireless Transport Layer Security</h3> <p> Provide mechanisms for secure transfer of content, for applications needing privacy, identification, message integrity and non-repudiation  Provide support for protection against denial-of-service attacks  WTLS   is based on the TLS/SSL (Transport Layer Security) protocol optimized for low-bandwidth communication channels   provides  privacy (encryption)  data integrity (MACs)  authentication (public-key and symmetric) Employs special adapted mechanisms for wireless usage    Long lived secure sessions Optimised handshake procedures Provides simple data reliability for operation over datagram bearers</p> <a id="p72"></a> <h3>WTLS Internal Architecture</h3> <p><b>WTLS Transaction Protocol (WTP) Handshake Protocol Alert Protocol Application Protocol Change Cipher Spec Protocol Datagram Protocol (WDP/UDP) Bearer networks </b></p> <p>Source: WAP Forum</p> <a id="p73"></a> <h3>WTLS: Secure session, Full handshake</h3> <p>originator SEC-SAP SEC-Create.req</p> <p>(SA, SP, DA, DP, KES, CS, CM) SEC-Create.cnf</p> <p>(SNM, KR, SID, KES‘, CS‘, CM‘) SEC-Exchange.ind</p> <p>SEC-Exchange.res</p> <p>(CC) SEC-Commit.req</p> <p>SEC-Commit.cnf</p> <p>peer SEC-SAP SEC-Create.ind</p> <p>(SA, SP, DA, DP, KES, CS, CM) SEC-Create.res</p> <p>(SNM, KR, SID, KES‘, CS‘, CM‘) SEC-Exchange.req</p> <p><b>KES: Key Exchange Suite CS: Cipher Suite CM: Compression Mode SNM: Sequence Number Mode</b></p> <p>SEC-Exchange.cnf</p> <p>(CC) SEC-Commit.ind</p> <p><b>KR: Key Refresh Cycle SID: Session Identifier CC: Client Certificate</b></p> <p>Source: Schiller</p> <a id="p74"></a> <h3>WTLS: Transferring Datagrams</h3> <p>SEC-Unitdata.req</p> <p>(SA, SP, DA, DP, UD) sender SEC-SAP receiver SEC-SAP SEC-Unitdata.ind</p> <p>(SA, SP, DA, DP, UD) Source: Schiller</p> <a id="p75"></a> <h3>WTP: Wireless Transaction Protocol</h3> <p>  Goals   different transaction services that enable applications to select reliability, efficiency levels low memory requirements, suited to simple devices (< 10kbyte )  WTP efficiency for wireless transmission  supports peer-to-peer, client/server and multicast applications      efficient for wireless transmission support for different communication scenarios class 0 <i>: </i>unreliable message transfer   unconfirmed Invoke message with no Result message a datagram that can be sent within the context of an existing Session class 1 <i>: </i>reliable message transfer without result message  confirmed Invoke message with no Result message  used for data push, where no response from the destination is expected class 2 <i>: </i>reliable message transfer with exactly one reliable result message  confirmed Invoke message with one confirmed Result message  a single request produces a single reply</p> <a id="p76"></a> <h3>WTP Services and Protocols</h3> <p> WTP (Transaction)  provides reliable data transfer based on request/reply paradigm  no explicit connection setup or tear down    optimized setup (data carried in first packet of protocol exchange) seeks to reduce 3-way handshake on initial request supports  header compression    segmentation /re-assembly retransmission of lost packets selective-retransmission       port number addressing (UDP ports numbers) flow control message oriented (not stream) supports an Abort function for outstanding requests supports concatenation of PDUs supports User acknowledgement or Stack acknowledgement option   acks may be forced from the WTP user (upper layer) default is stack ack</p> <a id="p77"></a> <h3>WTP Class 0 Transaction</h3> <p>initiator TR-SAP TR-Invoke.req</p> <p>(SA, SP, DA, DP, A, UD, C=0, H) responder TR-SAP TR-Invoke.ind</p> <p>(SA, SP, DA, DP, A, UD, C=0, H‘)</p> <p><b>A: Acknowledgement Type (WTP/User) C: Class (0,1,2) H: Handle (socket alias)</b></p> <p>Source: Schiller</p> <a id="p78"></a> <h3>WTP Class 1 Transaction, no user ack & user ack</h3> <p>initiator responder TR-SAP TR-SAP TR-Invoke.req</p> <p>(SA, SP, DA, DP, A, UD, C=1, H) TR-Invoke.ind</p> <p>(SA, SP, DA, DP, A, UD, C=1, H‘) TR-Invoke.cnf</p> <p>(H) initiator TR-SAP TR-Invoke.req</p> <p>(SA, SP, DA, DP, A, UD, C=1, H) responder TR-SAP TR-Invoke.ind</p> <p>(SA, SP, DA, DP, A, UD, C=1, H‘) TR-Invoke.res</p> <p>(H‘) TR-Invoke.cnf</p> <p>(H) Source: Schiller</p> <a id="p79"></a> <h3>WTP Class 2 Transaction, no user ack, no hold on</h3> <p>TR-SAP responder TR-SAP TR-Invoke.req</p> <p>(SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind</p> <p>(SA, SP, DA, DP, A, UD, C=2, H‘) TR-Result.req</p> <p>(UD*, H‘) TR-Invoke.cnf</p> <p>(H) TR-Result.ind</p> <p>(UD*, H) TR-Result.res</p> <p>(H) TR-Result.cnf</p> <p>(H‘) Source: Schiller</p> <a id="p80"></a> <h3>WTP Class 2 Transaction, user ack</h3> <p>initiator TR-SAP responder TR-SAP TR-Invoke.req</p> <p>(SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.cnf</p> <p>(H) TR-Result.ind</p> <p>(UD*, H) TR-Result.res</p> <p>(H) TR-Invoke.ind</p> <p>(SA, SP, DA, DP, A, UD, C=2, H‘) TR-Invoke.res</p> <p>(H‘) TR-Result.req</p> <p>(UD*, H‘) TR-Result.cnf</p> <p>(H‘) Source: Schiller</p> <a id="p81"></a> <h3>WTP Class 2 Transaction, hold on, no user ack</h3> <p>responder TR-SAP TR-SAP TR-Invoke.req</p> <p>(SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind</p> <p>(SA, SP, DA, DP, A, UD, C=2, H‘) TR-Invoke.cnf</p> <p>(H) TR-Result.ind</p> <p>(UD*, H) TR-Result.res</p> <p>(H) TR-Result.req</p> <p>(UD*, H‘) TR-Result.cnf</p> <p>(H‘) Source: Schiller</p> <a id="p82"></a> <h3>WSP - Wireless Session Protocol</h3> <p> Goals    HTTP 1.1 functionality  Request/reply, content type negotiation, ...</p> <p>support of client/server transactions, push technology key management, authentication, Internet security services  WSP Services      provides shared state between client and server, optimizes content transfer session management (establish, release, suspend, resume) efficient capability negotiation content encoding push  WSP/B (Browsing)     HTTP/1.1 functionality - but binary encoded exchange of session headers push and pull data transfer asynchronous requests</p> <a id="p83"></a> <h3>WSP Overview</h3> <p>   Header Encoding  compact binary encoding of headers, content type identifiers and other well-known textual or structured values  reduces the data actually sent over the network Capabilities (are defined for):  message size, client and server    protocol options: Confirmed Push Facility, Push Facility, Session Suspend Facility, Acknowledgement headers maximum outstanding requests extended methods  header code pages Suspend and Resume     server knows when client can accept a push multi-bearer devices dynamic addressing allows the release of underlying bearer resources</p> <a id="p84"></a> <h3>WSP Sessions</h3> <p> Session Context and Push   push can take advantage of session headers server knows when client can accept a push  Connection-mode  long-lived communication, benefits of the session state, reliability  Connectionless-mode  stateless applications, no session creation overhead, no reliability overhead</p> <a id="p85"></a> <h3>WSP/B session establishment</h3> <p>client S-SAP server S-SAP S-Connect.req</p> <p>(SA, CA, CH, RC) S-Connect.ind</p> <p>(SA, CA, CH, RC) S-Connect.res</p> <p>(SH, NC) S-Connect.cnf</p> <p>(SH, NC) WTP Class 2 transaction</p> <p><b>CH: Client Header RC: Requested Capabilities SH: Server Header NC: Negotiated Capabilities</b></p> <p>Source: Schiller</p> <a id="p86"></a> <h3>WSP/B session suspend/resume</h3> <p>client S-SAP server S-SAP S-Suspend.req</p> <p>S-Suspend.ind</p> <p>(R) S-Resume.req</p> <p>(SA, CA) S-Suspend.ind</p> <p>(R) ~ WTP Class 0 transaction ~ S-Resume.ind</p> <p><b>R: Reason for disconnection</b></p> <p>(SA, CA) S-Resume.res</p> <p>S-Resume.cnf</p> <p>WTP Class 2 transaction Source: Schiller</p> <a id="p87"></a> <h3>WSP/B session termination</h3> <p>S-Disconnect.req</p> <p>(R) S-Disconnect.ind</p> <p>(R) client S-SAP server S-SAP WTP Class 0 transaction S-Disconnect.ind</p> <p>(R) Source: Schiller</p> <a id="p88"></a> <h3>WSP/B method invoke</h3> <p>client S-SAP server S-SAP S-MethodInvoke.req</p> <p>(CTID, M, RU) S-MethodInvoke.cnf</p> <p>(CTID) S-MethodResult.ind</p> <p>(CTID, S, RH, RB) S-MethodResult.res</p> <p>(CTID) S-MethodInvoke.ind</p> <p>(STID, M, RU) S-MethodInvoke.res</p> <p>(STID) S-MethodResult.req</p> <p>(STID, S, RH, RB) WTP Class 2 transaction S-MethodResult.cnf</p> <p>(STID)</p> <p><b>CTID: Client Transaction ID M: Method Invoked RU: Request URI STID: Server Transaction ID S: Response Status RH: Response Header</b></p> <a id="p89"></a> <h3>WSP/B over WTP - method invocation</h3> <p>initiator TR-SAP responder TR-SAP server S-SAP S-MethodInvoke.req</p> <p>TR-Invoke.req</p> <p>TR-Invoke.ind</p> <p>S-MethodInvoke.ind</p> <p>S-MethodInvoke.cnf</p> <p>TR-Invoke.cnf</p> <p>S-MethodResult.ind</p> <p>TR-Result.ind</p> <p>S-MethodResult.res</p> <p>TR-Result.res</p> <p>TR-Invoke.res</p> <p>S-MethodInvoke.res</p> <p>TR-Result.req</p> <p>S-MethodResult.req</p> <p>TR-Result.cnf</p> <p>S-MethodResult.cnf</p> <p>Source: Schiller</p> <a id="p90"></a> <h3>WSP/B over WTP - asynchronous, unordered requests</h3> <p>client server S-SAP S-SAP S-MethodInvoke_1.req</p> <p>S-MethodInvoke_2.req</p> <p>S-MethodInvoke_3.req</p> <p>S-MethodResult_1.ind</p> <p>S-MethodResult_3.ind</p> <p>S-MethodInvoke_4.req</p> <p>S-MethodInvoke_2.ind</p> <p>S-MethodInvoke_1.ind</p> <p>S-MethodResult_1.req</p> <p>S-MethodInvoke_3.ind</p> <p>S-MethodResult_3.req</p> <p>S-MethodResult_2.req</p> <p>S-MethodInvoke_4.ind</p> <p>S-MethodResult_4.req</p> <p>S-MethodResult_4.ind</p> <p>S-MethodResult_2.ind</p> <p>Source: Schiller</p> <a id="p91"></a> <h3>WSP/B - confirmed/non-confirmed push</h3> <p>client S-SAP server S-SAP S-Push.req</p> <p>(PH, PB) S-Push.ind</p> <p>(PH, PB) client S-SAP WTP Class 0 transaction</p> <p><b>PH: Push Header PB: Push Body SPID: Server Push ID</b></p> <p>server S-SAP</p> <p><b>CPID: Client Push ID</b></p> <p>S-ConfirmedPush.req</p> <p>(SPID, PH, PB) S-ConfirmedPush.ind</p> <p>(CPID, PH, PB) S-ConfirmedPush.res</p> <p>(CPID) S-ConfirmedPush.cnf</p> <p>(SPID) WTP Class 1 transaction Source: Schiller</p> <a id="p92"></a> <h3>WSP/B over WDP</h3> <p>client S-SAP S-Unit-MethodInvoke.req</p> <p>(SA, CA, TID, M, RU) S-Unit-MethodResult.ind</p> <p>(CA, SA, TID, S, RH, RB) S-Unit-Push.ind</p> <p>(CA, SA, PID, PH, PB) server S-SAP S-Unit-MethodInvoke.ind</p> <p>(SA, CA, TID, M, RU) S-Unit-MethodResult.req</p> <p>(CA, SA, TID, S, RH, RB) S-Unit-Push.req</p> <p>(CA, SA, PID, PH, PB) WDP Unitdata service Source: Schiller</p> <a id="p93"></a> <h3>WAP Stack Summary</h3> <p>    WDP  WTLS functionality similar to UDP in IP networks  WTP functionality similar to SSL/TLS (optimized for wireless)    Class 0: analogous to UDP Class 1: analogous to TCP (without connection setup overheads) Class 2: analogous to RPC (optimized for wireless)  WSP features of “user acknowledgement”, “hold on”    WSP/B: analogous to http 1.1 (add features of suspend/resume) method: analogous to RPC/RMI features of asynchronous invocations, push (confirmed/unconfirmed)</p> <a id="p94"></a> <h3>WAP: Ongoing Work</h3> <p>     WDP  Tunnel to support WAP where no (end-to-end) IP bearer available WTLS  support for end-to-end security (extending WTLS endpoint beyond WAP Gateway)   WTP interoperable between WAP and Internet (public key infrastructure) integrating Smart Cards for security functions   efficient transport over wireless links (wireless TCP) bearer selection/switching  WSP quality of service definitions   WAE quality of service parameters multicast data, multimedia support    User agent profiles: personalize for device characteristics, preferences etc Push architecture, asynchronous applications Billing</p> <a id="p95"></a> <h3>WAP: Hype vs Reality </h3> <p>  Low-bandwidth wireless links  tcp/ip over wireless can also address these problems  encoding in http can also reduce data transfer on wireless links Limited device capabilities   Microbrowser is appropriate to address this problem WTAI features are not present in tcp/ip domain  Challenges in WAP  adapting to applications rich in content and interaction   service guarantees interface design and usability  Other approaches for WWW access through mobiles   i-Mode (from NTT DoCoMo) WAP is a TRAP (http://www.freeprotocols.org/wapTrap)</p> <a id="p96"></a> <h3>References and Resources</h3> <p> Books  Mobile communications: Jochen Schiller, Addison Wesley 2000  Understanding WAP:    Official Website (specifications)  www.wapforum.org</p> <p>Technical/Developer Info and tools  www.palopt.com.au/wap  www.wap.net</p> <p>Major players   www.nokia.com/wap www.ericsson.se/wap  phone.com</p> <p> OpenSource effort  www.wapgateway.org (Kannel WAP gateway project)</p> <a id="p97"></a> <h1><b>Thank You</b></h1> <p>This presentation is available online from http://www.it.iitb.ernet.in/~sri/talks Sridhar Iyer KR School of Information Technology IIT Bombay</p> <a id="p98"></a> <p><b>WiFi</b></p> <h3>Is for “Wireless Fidelity” Or IEEE 802.11 Standard</h3> <p>WiFi 101</p> <a id="p99"></a> <p><b>What is the goal of 802.11 standard ?</b></p> <p></p> <h3>To develop a Medium Access Control (MAC) and Physical Layer (PHY) specification for wireless connectivity for fixed, portable and moving stations within a </h3> <h3><b>local area</b></h3> <h3>.</h3> <p>WiFi 102</p> <a id="p100"></a> <h3><b>802.11 sub-standards(amendments ) ….</b></h3> <p>        802.11 MAC (Media Access Control) ratified 1999 802.11b PHY 2.4 GHz (max 11 Mbps) ratified 1999 802.11a PHY 5.0 GHz (max 54 Mbps) ratified 1999 802.11g PHY 2.0 GHz (max 54 Mbps) ratified 2003 802.11i Security draft number XXX 802.11e QoS, Multimedia draft number XXX 802.11h European regulations for 5GHz 802.11h Japan regulations for 5GHz draft number XXX draft number XXX  WiFi 103</p> <a id="p101"></a> <p><b>Do I need any license to use 802.11 device ?</b></p> <p></p> <h3>No , 2.4 GHz and 5.0 GHz are public available frequency !!!</h3> <p>WiFi 104</p> <a id="p102"></a> <h3><b>Context with OSI layers</b></h3> <p>WiFi 105</p> <a id="p103"></a> <h3><b>Logical Link Control Services</b></h3> <p>WiFi 106</p> <a id="p104"></a> <h1><b>Standard 802.11 frame format</b></h1> <p>WiFi 107</p> <a id="p105"></a> <h1><b>Frames types and subtypes</b></h1> <p></p> <h3>Three types of frames:</h3> <p>   Control (ACK,RTS,CTS ,Power Save …) Management (Beacon,Probe Request ,Probe Response, Association request , Association response …) Data (Data, Null Data, Data_CF_Ack , ….) WiFi 108</p> <a id="p106"></a> <p><b>802.11 MAC – Configuration summary – Infrastructure model</b></p> <p>• • • • •</p> <p><b>Infrastructure Model includes: (most common)</b></p> <p>Stations (STA) – any wireless device Access Point (AP) – connects BSS to DS – controls access by STA’s Basic Service Set (BSS) – a region controlled by an AP – mobility is supported within a single BSS Extended Service Set (ESS) – a set of BSS’s forming a virtual BSS – mobility is supported between BSS’s in an ESS Distribution Service (DS) – connection between BSS’s</p> <p><b>STA1 BSS1 STA2 BSS2 DS AP2 AP1 STA3 AP3</b></p> <p>WiFi</p> <p><b>BSS3 ESS1</b></p> <p>109</p> <a id="p107"></a> <h3><b>The 802.11 MAC supports infrastructure and ad hoc network models</b></h3> <p>• •</p> <p><b>Ad Hoc Model includes:</b></p> <p>Stations (STA) – any wireless device – act as distributed AP Independent Basic Service Set (IBSS) – BSS forming a self contained network – no AP and no connection to the DS</p> <p><b>STA1 STA2 IBSS STA3</b></p> <p>WiFi 110</p> <a id="p108"></a> <h1><b>Two types of access to air</b></h1> <p></p> <p><b>DCF</b></p> <p>(distributed coordination function ) means everybody can speak and try to get air : 100% on the market </p> <p><b>PCF</b></p> <p>(point coordination function) means ONE point coordinator (BOSS) who will allowed you to speak (like in bluetooth) WiFi 111</p> <a id="p109"></a> <h3><b>Summary of required features and difficulties vs 802.11 features</b></h3> <p>       </p> <p><b>Features </b></p> <p>High speed operation (PHY only) Fair access (DCF, PCF) Time-bounded access (PCF) Flexible configuration (BSS, IBSS) Security (WEP) Mobility support (ESS) Low power (PS) </p> <p><b>Difficulties</b></p> <p> Hidden terminals (RTS/CTS)  Capture (CSMA/CA, ACK)   Noise and interference (ACK, frag) Limited spectrum (licencing, PHYs) WiFi 112</p> <a id="p110"></a> <h3><b>The 802.11 MAC basic Distributed Co ordination Function (DCF) access scheme uses a CSMA/CA based protocol</b></h3> <p>   If the STA detects the medium is busy when attempting to send a packet then:    the STA starts a random back-off timer the randomisation parameters depend on previous transmission successes/failures the back-off timer runs once the medium has been idle for an IFS period An STA may transmit a packet after sensing the medium is idle for an Inter Frame Space (IFS) period  the back-off timer suspends when the medium is busy and does not restart until medium is idle for an IFS period  The STA may transmit when the back-off timer expires The state (busy or idle) of the medium is determined using:   physical carrier sense virtual carrier sense, based on reservations in received packets. These reservations set the NAV timer. The medium is considered busy until the NAV timer expires WiFi 113</p> <a id="p111"></a> <h3><b>The 802.11 MAC basic Distributed Co ordination Function (DCF) access scheme uses a CSMA/CA based protocol</b></h3> <p><b>Medium busy Contention window Send frame IFS IFS Busy Frame Defer access while busy and for an IFS period</b></p> <p>WiFi</p> <p><b>Decrement back off when medium idle for at least IFS period</b></p> <p>114</p> <a id="p112"></a> <h3><b>Acknowledgment</b></h3> <p>WiFi 115</p> <a id="p113"></a> <h3><b>Security</b></h3> <p>  </p> <p><b>WEP </b></p> <p>( wired equivalent privacy) 64/128 bits Using RC4 algorithm, almost permanent key, very week security, able to crack by collecting statistic Current security level for 99.9% products on the market.</p> <p><b>TKIP</b></p> <p>(temporal key integrity protocol ) Used RC4 algorithm with with a 128-bit "temporal key" but changes temporal keys every 10,000 packets and key dependes on address and sequence number.</p> <p>Will be required to obtain WiFi certification from 09/01/03</p> <p><b>AES</b></p> <p>(Advanced Encryption Standard ) New, much more stronger encryption, protect against hacker frames in insertion. Need hardware accelerator. Optional feature.</p> <p>WiFi 116</p> <a id="p114"></a> <p><b>Why do we need 11A/11B/11G ?</b></p> <p>   11B: 2.4 GHz , CCK modulation Rates from 1 to 11Mbps , on market from 1999 11A: 5.0 GHz , OFDM modulation Rates from 6 to 56 Mbps , on market from 2002 11G: 2.4 GHz, CCK+OFDM modulation Rates from 6 to 56 Mbps, on market from 2003 and … most popular today !!!</p> <p>Advantages of 2.4 GHz PHY : Low frequency, better wall penetration, less sensitive to multipath 3 not-overlapped channels Advantages of 5.0 GHz PHY : Less devices on the market (no microwave, no blue tooth …) 8 not-overlapped channels Range: almost the same … WiFi 117</p> <a id="p115"></a> <p><b>802.11 a/b/g performance 11A/G max throughput ~22 Mbps , not 54 Mbps (!!!) 11B max throughput ~6 Mbps</b></p> <p>WiFi 118</p> <a id="p116"></a> <h3><b>Wlan market Scenarios</b></h3> <p>WiFi 119</p> <a id="p117"></a> <p><b>IEEE 802.16 for MAN==Metropolitan Area Network New alternative to DSL/Cable modems</b></p> <p></p> <p><b>IEEE 802.16 Progress</b></p> <p> Work on 802.16 started in July 1999. Four years into its mission, the IEEE 802.16 Working Group on Broadband Wireless Access has delivered a base and three follow-on standards.  IEEE 802.16 (“Air Interface for Fixed Broadband Wireless Access Systems”) was approved in December 2001. This standard is for wireless MANs operating at frequencies between 10 and 66 GHz.  IEEE 802.16.2, published in 2001, specifies a “recommended practice” to address the operation of multiple, different broadband systems in the 10-66 GHz frequency range.  In January of this year, the IEEE approved an amendment to 802.16, called 802.16a, which adds to the original standard operation in licensed and unlicensed frequency bands from 2 11 GHz.  802.16c, which was approved in December 2002, is aimed at improving interoperability by specifying system profiles in the 10-66 GHz range. WiFi 120</p> <a id="p118"></a> <h1><b>802.11/802.16</b></h1> <p>WiFi 121</p> <a id="p119"></a> <p>WiFi 122</p> <a id="p120"></a> <p>WiFi 123</p> <a id="p121"></a> <p>WiFi 124</p> <a id="p122"></a> <h3><b>What is WIMAX ?</b></h3> <p> WiMAX is an IP based, wireless broadband access technology that provides performance similar to 802.11/Wi-Fi networks with the coverage and QOS (quality of service) of cellular networks. WiMAX is also an acronym meaning "Worldwide Interoperability for Microwave Access (WiMAX). </p> <a id="p123"></a> <h3><b>What is WIMAX ?</b></h3> <p></p> <p><b>WiMAX</b></p> <p>(</p> <p><b>Worldwide Interoperability for Microwave Access</b></p> <p>) is a telecommunications protocol that provides fixed and mobile Internet access. The current WiMAX revision provides up to 40 Mbit/s with the IEEE 802.16m update expected to offer up to 1 Gbit/s fixed speeds. </p> <a id="p124"></a> <h3><b>What is WIMAX ?</b></h3> <p> The name "WiMAX" was created by the WiMAX Forum, which was formed in June 2001 to promote conformity and interoperability of the standard. The forum describes WiMAX as "a standards-based technology enabling the delivery of last mile wireless broadband access as an alternative to cable and DSL".</p> <a id="p125"></a> <h3><b>What is last mile operation ?</b></h3> <p> The </p> <p><b>"last mile"</b></p> <p>or </p> <p><b>"last kilometer"</b></p> <p>is the final leg of delivering connectivity from a communications provider to a customer. The phrase is therefore often used by the telecommunications and cable television industries. The actual distance of this leg may be considerably more than a mile, especially in rural areas. </p> <a id="p126"></a> <h3><b>What is last mile operation ?</b></h3> <p> It is typically seen as an expensive challenge because "fanning out" wires and cables is a considerable physical undertaking. Because the last mile of a network to the user is also the first mile from the user to the world, the term "</p> <p><i>first mile</i></p> <p>" is sometimes used.</p> <a id="p127"></a> <h3><b>Last mile </b></h3> <p> To solve the problem of providing enhanced services over the last mile, some firms have been mixing networks for decades. One example is Fixed Wireless Access, where a wireless network is used instead of wires to connect a stationary terminal to the wireline network.</p> <a id="p128"></a> <h3><b>What is Wimax ?</b></h3> <p> WiMAX is a wireless digital communications system, also known as IEEE 802.16, that is intended for wireless "metropolitan area networks". WiMAX can provide broadband wireless access (BWA) up to 30 miles (50 km) for fixed stations, and 3 - 10 miles (5 - 15 km) for mobile stations. In contrast, the WiFi/802.11 wireless local area network standard is limited in most cases to only 100 - 300 feet (30 - 100m).</p> <a id="p129"></a> <h3><b>Integration with an IP-based network</b></h3> <a id="p130"></a> <h3><b>Integration with an IP-based network</b></h3> <p> The WiMAX Forum has proposed an architecture that defines how a WiMAX network can be connected with an IP based core network, which is typically chosen by operators that serve as Internet Service Providers (ISP); Nevertheless the WiMAX BS provide seamless integration capabilities with other types of architectures as with packet switched Mobile Networks.</p> <a id="p131"></a> <h3><b>Integration with an IP-based network</b></h3> <p>          The WiMAX forum proposal defines a number of components, plus some of the interconnections (or reference points) between these, labeled R1 to R5 and R8: SS/MS: the Subscriber Station/Mobile Station ASN: the Access Service Network[19] BS: Base station, part of the ASN ASN-GW: the ASN Gateway, part of the ASN CSN: the Connectivity Service Network HA: Home Agent, part of the CSN AAA: Authentication, Authorization and Accounting Server, part of the CSN NAP: a Network Access Provider NSP: a Network Service Provider</p> <a id="p132"></a> <h3><b>Integration with an IP-based network</b></h3> <p> It is important to note that the functional architecture can be designed into various hardware configurations rather than fixed configurations. For example, the architecture is flexible enough to allow remote/mobile stations of varying scale and functionality and Base Stations of varying size - e.g. femto, pico, and mini BS as well as macros.</p> <a id="p133"></a> <h3><b>WiMAX installation</b></h3> <p>  There are numerous devices on the market that provide connectivity to a WiMAX network. These are known as the "subscriber unit" (SU).</p> <p>There is an increasing focus on portable units. This includes handsets (similar to cellular smartphones); PC peripherals (PC Cards or USB dongles); and embedded devices in laptops, which are now available for Wi-Fi services. </p> <a id="p134"></a> <h3><b>WiMAX installation</b></h3> <p> In addition, there is much emphasis by operators on consumer electronics devices such as Gaming consoles, MP3 players and similar devices. It is notable that WiMAX is more similar to Wi-Fi than to 3G cellular technologies.</p> <a id="p135"></a> <h3><b>WiMAX installation</b></h3> <p> The WiMAX Forum website provides a list of certified devices. However, this is not a complete list of devices available as certified modules are embedded into laptops, MIDs (Mobile Internet devices), and other private labeled devices.</p> <a id="p136"></a> <h3><b>WiMAX installation: Gateways </b></h3> <p> WiMAX gateway devices are available as both indoor and outdoor versions from several manufacturers. Many of the WiMAX gateways that are offered by manufactures such as Airspan, ZyXEL, Huawei, Motorola, and Greenpacket are stand-alone self-install indoor units. Such devices typically sit near the customer's window with the best WiMAX signal, and provide:</p> <a id="p137"></a> <h3><b>WiMAX installation: Gateways</b></h3> <p> An integrated Wi-Fi access point to provide the WiMAX Internet connectivity to multiple devices throughout the home or business.</p> <p> Ethernet ports should you wish to connect directly to your computer or DVR instead.</p> <p> One or two PSTN telephone jacks to connect your land-line phone and take advantage of VoIP.</p> <a id="p138"></a> <h3><b>WiMAX installation: Gateways</b></h3> <p>  Indoor gateways are convenient, but radio losses mean that the subscriber may need to be significantly closer to the WiMAX base station than with professionally installed external units.</p> <p>Outdoor units are roughly the size of a laptop PC, and their installation is comparable to the installation of a residential satellite dish. A higher-gain directional outdoor unit will generally result in greatly increased range and throughput but with the obvious loss of practical mobility of the unit.</p> <a id="p139"></a> <h3><b>WiMAX installation: Dongles </b></h3> <p> There are a variety of USB dongles on the market which provide connectivity to a WiMAX network. Generally these devices are connected to a notebook or netbook whilst on the go. Dongles typically have omnidirectional antennae which are of lower gain compared to other devices, as such these devices are best used in areas of good coverage.</p> <a id="p140"></a> <h3><b>WiMAX installation: Mobile phones</b></h3> <p> HTC announced the first WiMAX enabled mobile phone, the Max 4G, on Nov 12th 2008.[12] The device was only available to certain markets in Russia on the Yota network.</p> <a id="p141"></a> <h3><b>WiMAX installation: Mobile phones</b></h3> <p> HTC and Sprint Nextel released the second WiMAX enabled mobile phone, the EVO 4G, March 23, 2010 at the CTIA conference in Las Vegas. The device, made available on June 4, 2010,[13] is capable of both EV-DO(3G) and WiMAX(4G) as well as simultaneous data & voice sessions. The device also has a front-facing camera enabling the use of video conversations.[14] A number of WiMAX Mobiles are expected to hit the US market in 2011.</p> <a id="p142"></a> <h3><b>WiMAX installation: MAC (data link) layer</b></h3> <p> The WiMAX MAC uses a scheduling algorithm for which the subscriber station needs to compete only once for initial entry into the network. After network entry is allowed, the subscriber station is allocated an access slot by the base station. The time slot can enlarge and contract, but remains assigned to the subscriber station, which means that other subscribers cannot use it. </p> <a id="p143"></a> <h3><b>WiMAX installation: MAC (data link) layer</b></h3> <p> In addition to being stable under overload and over-subscription, the scheduling algorithm can also be more bandwidth efficient. The scheduling algorithm also allows the base station to control Quality of service (QoS) parameters by balancing the time-slot assignments among the application needs of the subscriber station.</p> <a id="p144"></a> <h3><b>WiMAX Performance</b></h3> <p> As a standard intended to satisfy needs of next-generation data networks (4G), WiMAX is distinguished by its dynamic burst algorithm modulation adaptive to the physical environment the RF signal travels through. Modulation is chosen to be more spectrally efficient (more bits per OFDM/SOFDMA symbol). </p> <a id="p145"></a> <h3><b>WiMAX Performance</b></h3> <p> That is, when the bursts have a high signal strength and a high carrier to noise plus interference ratio (CINR), they can be more easily decoded using digital signal processing (DSP). </p> <a id="p146"></a> <h3><b>WiMAX Performance</b></h3> <p> In contrast, operating in less favorable environments for RF communication, the system automatically steps down to a more robust mode (burst profile) which means fewer bits per OFDM/SOFDMA symbol; with the advantage that power per bit is higher and therefore simpler accurate signal processing can be performed.</p> <a id="p147"></a> <h3><b>WiMAX vs. LTE</b></h3> <p> The more recent Long Term Evolution (LTE) standard is a similar term describing a parallel technology to WiMAX that is being developed by vendors and carriers as a counterpoint to WiMAX.</p> <a id="p148"></a> <h3><b>An example of Wireless competition</b></h3> <p> Korea launched Wimax at 2nd quarter of 2006 and then launched HSPA one quarter after launched Wimax. At the end of 2008 there were 8.4 million HSPA subscribers and 350,000 Wimax subscribers in Korea. Almost all of HSPA subscribers come from 2G and 3G users who have been tempted to upgrade to new devices by high subsidies, whereas Wimax subscribers almost all are newcomers. </p> <a id="p149"></a> <h3><b>An example of wireless competition</b></h3> <p> Deployment of Wimax is still limited (spotted), whereas there are well over 100 countries where HSPA networks are deployed, and even where there is no HSPA coverage there is backward compatibility (using HSPA devices) to pre-existing networks (GSM and WCDMA) with a roaming infrastructure already in place </p> <a id="p150"></a> <h3><b>WiMAX statistics</b></h3> <p> As of October 2010, the WiMAX Forum claims there are over 592 WiMAX (fixed and mobile) networks deployed in over 148 countries.</p> <p> Yota is the largest WiMAX network operator in the world, but has announced that it will move new network deployments to LTE and, subsequently, change its existing networks as well.</p> <a id="p151"></a> <h3><b>What is HSPA ?</b></h3> <p></p> <p><b>High Speed Packet Access (HSPA) </b></p> <p>is an amalgamation of two mobile telephony protocols, High Speed Downlink Packet Access (HSDPA) and High Speed Uplink Packet Access (HSUPA), that extends and improves the performance of existing WCDMA protocols. A further standard, Evolved HSPA (also known as HSPA+), was released late in 2008 with subsequent adoption worldwide beginning in 2010. </p> <a id="p152"></a> <h3><b>WiMAX competitors</b></h3> <p> Within the marketplace, WiMAX's main competition comes from existing, widely deployed wireless systems such as UMTS, CDMA2000, existing Wi-Fi and mesh networking.</p> <a id="p153"></a> <h3><b>WiMAX competitors</b></h3> <p>Speed vs. Mobility of wireless systems: Wi-Fi, HSPA, UMTS, GSM</p> <a id="p154"></a> <h3><b>The future of wireless networks</b></h3> <p> In the future, competition will be from the evolution of the major cellular standards to so called 4G, high-bandwidth, low-latency, all-IP networks with voice services built on top. The worldwide move to 4G for GSM/UMTS and AMPS/TIA (including CDMA2000) is the 3GPP Long Term Evolution effort.</p> </div> </section> </div> </div> </div> </main> <footer> <div class="container mt-3"> <div class="row justify-content-between"> <div class="col"> <a href="/"> <img src="/theme/studyslide/static/logo-slideum.png" /> </a> </div> </div> <div class="row mt-3"> <ul class="col-sm-6 list-unstyled"> <li> <h6 class="mb-3">Company</h6> <li> <i class="fa fa-location-arrow"></i> Nicosia Constantinou Palaiologou 16, Palouriotissa, 1040 <li> <i class="fa fa-phone"></i> +357 64-733-402 <li> <i class="fa fa-envelope"></i> info@slideum.com </ul> <ul class="col-6 col-sm-3 list-unstyled"> <li> <h6 class="mb-3">Links</h6> <li> <a href="/about">About</a> <li> <a href="/contacts">Contact</a> <li> <a href="/faq">Help / FAQ</a> </ul> <ul class="col-6 col-sm-3 list-unstyled"> <li> <h6 class="mb-3">Legal</h6> <li> <a href="/terms">Terms of Service</a> <li> <a href="/privacy">Privacy policy</a> <li> <a href="/page.html?code=public.usefull.cookie">Cookie policy</a> <li> <a href="/page.html?code=public.usefull.disclaimer">Disclaimer</a> </ul> </div> <hr> <p>slideum.com © 2024, Inc. All rights reserved.</p> </div> </footer> <div class="modal directory" id="directory-modal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Directory</h5> <button class="close" type="button" data-dismiss="modal">×</button> </div> <div class="modal-body"></div> </div> </div> </div> <script src="/theme/common/static/jquery@3.5.1/dist/jquery.min.js"></script> <script src="/theme/common/static/jquery_extra/dist/jquery-extra.js"></script> <script src="/theme/common/static/popper.js@1.16.1/dist/umd/popper.min.js"></script> <script src="/theme/common/static/bootstrap@4.6.0/dist/js/bootstrap.min.js"></script> <script> var __path_directory = [ ] !function __draw_directory(data, root, uuid) { var ul = $('<ul>', uuid && { id: 'category' + uuid, class: !__path_directory.includes(uuid) ? 'collapse' : null }); for (var item in data) { var li = $('<li>').appendTo(ul); if (item = data[item], item.children) { li.append('<a href=#category' + item.id + ' data-toggle=collapse>') __draw_directory(item.children, li, item.id); } else { li.append('<a href=' + item.url + '>'); } var a = $('> a', li).addClass('item').text(item.name) .append($('<a class="link fa fa-external-link" href=' + item.url + '>')); if (item.id === +__path_directory.slice(-1)) { a.addClass('active'); } /* if (item.id !== __path_directory[0]) { a.addClass('collapsed'); } */ } root.append(ul); } ([{"id":1,"name":"Food and cooking","url":"/catalog/Food+and+cooking","children":null},{"id":2,"name":"Education","url":"/catalog/Education","children":null},{"id":3,"name":"Healthcare","url":"/catalog/Healthcare","children":null},{"id":4,"name":"Real estate","url":"/catalog/Real+estate","children":null},{"id":5,"name":"Religion ","url":"/catalog/Religion+","children":null},{"id":6,"name":"Science and nature","url":"/catalog/Science+and+nature","children":null},{"id":7,"name":"Internet","url":"/catalog/Internet","children":null},{"id":8,"name":"Sport","url":"/catalog/Sport","children":null},{"id":9,"name":"Technical documentation","url":"/catalog/Technical+documentation","children":null},{"id":10,"name":"Travel","url":"/catalog/Travel","children":null},{"id":11,"name":"Art and Design","url":"/catalog/Art+and+Design","children":null},{"id":12,"name":"Automotive","url":"/catalog/Automotive","children":null},{"id":13,"name":"Business","url":"/catalog/Business","children":null},{"id":14,"name":"Government","url":"/catalog/Government","children":null}], $('#directory-aside')); var __root_directory = $('#directory-aside > ul'); $('#directory-aside') .on('show.bs.collapse', function() { //console.log('show.collapse') }) .on('hide.bs.collapse', function() { //console.log('hide.collapse') }); $('#directory-modal') .on('show.bs.modal', function() { $('[class$="body"]', this).prepend(__root_directory); }) .on('hide.bs.modal', function() { $('#directory-aside').prepend(__root_directory); }); $('.directory-mobile').on('click', function(e) { e.preventDefault(); }); $('.directory .link').on('click', function(e) { e.stopPropagation(); }); </script> <script> function scrollToViewport() { $('html, body').stop().animate( { scrollTop: $('.navbar').outerHeight() }, 1000); } setTimeout(scrollToViewport, 1000); $(window).on('orientationchange', scrollToViewport); $('[data-toggle="tooltip"]').tooltip(); </script> <script async src="//s7.addthis.com/js/300/addthis_widget.js#pubid=#sp('addthis_pub_id')"></script> <!-- Yandex.Metrika counter --> <script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter28397281 = new Ya.Metrika({ id:28397281 }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); </script> <noscript><div><img src="//mc.yandex.ru/watch/28397281" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css" /> <style> @media screen and (max-width: 768px) { .cc-revoke { display: none; }} </style> <script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js"></script> <script> window.addEventListener("load", function() { window.cookieconsent.initialise( { content: { href: "https://slideum.com/dmca" }, location: true, palette: { button: { background: "#fff", text: "#237afc" }, popup: { background: "#007bff" }, }, position: "bottom-right", revokable: true, theme: "classic", type: "opt-in" })}); </script> </body> </html>