WAP why another protocol Johan Montelius jm@sics.se Why? access to phone features limited user interface limited bandwidth long delay Solutions • Limit the number of messages – three-way hand shake – client DNS lookup – multiple HTTP requests • Adapt to the phone – black and white – simple navigation – API to access the phone resources WAP 1.x HTTP/TCP/IP WSP/WTP/WDP WML Browser Gateway WML Content WAP 1.x WAE Wireless Application Environment WSP Wireless Session Protocol WTP Wireless Transaction Protocol WTLS Wireless Transport Level Security WDP Wireless Datagram Protocol Bearer (GSM, CSD, USSD, CDPD, SMS ..) WDP Wireless Datagram Protocol • a transport layer – source and destination port – segmentation and reassembly • implemented on top of several bearers – GSM, GPRS, CDPD, cdmaOne, PHS, DECT, Mobitex, SMS …. • similar to IP + UDP Why WDP ~ UDP • The link from the mobile terminal to the the fixed side of the WDP connection does not contain any routers. • There is no need for flow control, congestion control etc. WTP Wireless transaction layer • Unreliable request – used to push information to a mobile terminal • Reliable request – Same as above push + ack • Reliable request and reply – Used by mobile terminal to request information – get + reply + ack • Several transactions in one session WSP Wireless Session Protocol • • • • • • reliable session suspend resume a session binary HTTP/1.1 push content connection oriented (over WTP) connectionless (over WDP) The WAP gateway WAE WAE WAE WAE WSP WSP HTTP HTTP WTP WTP WTLS WTLS SSL SSL WDP WDP TCP TCP The security loop hole WAE WAE WAE WAE WSP WSP HTTP HTTP WTP WTP WTLS WTLS SSL SSL WDP WDP TCP TCP Who should own the gateway Mobile Operator Content aggregator Service provider WAE Wireless Application Environment the browser WML/Script User profile UaProf security WIM access to the phone WTA WML 1.2 Wireless Markup Language • XML based • One wml-deck consisting of several wmlcards. • Phone adapted navigation • Limited presentation (b/w, no positioning etc.) • WMLScript (ECMAScript ~ JavaScript) • Event based • Variables WML example <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN" "http://www.wapforum.org/DTD/wml12.dtd"> <wml> <card id="main" title="jmT2"> <p><a href="#intro">About</a></p> <p><a href="gallery.wml">Photos</a></p> <p><a href="t68i.wml">T68i</a></p> </card> <card id="intro" title="What" > <p> This WAP site is only here as a an experiment. </p> </card> </wml> Why did WAP fail? Did it fail or did it not live up to the hype? WAP 2.0 WAE WML2 - XHTML Basic HTTP TLS TCP IP Wireless profiled TCP Wireless profiled TCP • • • • • Defined in RFC ….. Header compression Larger window size Larger segment size (path MTU discovery) …. WAP 2.0 gateway WAE WAE HTTP HTTP TLS TLS TCP* IP TCP* IP * Wireless Profiled TCP TCP TCP IP IP WML2 – XHTML Basic • • • • • • Anchor images Positioning of content Color – gif, jpeg Style sheets - CSS Mobile profile check box, radio button ….. WAP 2.0 vs iMode iMode, EzWeb, Jsky