Wireless Internet: Layers 3,4,5 Case Study: WAP Module W.int.3.WAP
Dr.M.Y.Wu@CSE Dr.W.Shu@ECE Shanghai Jiaotong University University of New Mexico Shanghai, China Albuquerque, NM, USA W.int.3-2
Wireless Internet: layers 3,4,5 Internet + wireless + mobility Mobile IP: network layer, module W.int.1 Wireless TCP: transport layer, module W.int.2 WAP: application layer ¾ Wireless Application Protocol stack ¾ WDP ¾ WTLS ¾ WTP ¾ WSP ¾ WAE ¾ WML & WML Script End
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-3
WAP: Wireless Application Protocol
Goals ¾Deliver Internet content and enhanced services to mobile devices and users (mobile phones, PDAs) ¾Independent on wireless network standards
Platforms ¾GSM (900, 1800, 1900), ¾CDMA IS-95, ¾TDMA IS-136, ¾3rd generation systems (IMT-2000, UMTS, W-CDMA, cdma2000 1x EV-DO, …)
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-4
WAP: Wireless Application Protocol
Forum ¾ Open Mobile Alliance at www.openmobilealliance.org (Open Mobile Architecture + WAP Forum + SyncML + …)
What special about mobile devices? ¾ Small displays, small memory capacity ¾ No so powerful CPUs, limited network bandwidth ¾ Relative high latency, unreliable connection ¾ High mobility WAP-enabled devices, need I/O! ¾ Micro-browser, output, for information viewing ¾ Data input, e.g., number buttons or mini keyboard
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-5
WAP: Wireless Application Protocol
Open standard providing mobile users of wireless terminals access to telephony and information services ¾Wireless terminals include Wireless phones, pagers, personal digital assistants (PDAs) ¾Designed to work with all wireless network technologies GSM, CDMA, and TDMA ¾Based on existing Internet standards IP, XML, HTML, and HTTP ¾Includes security facilities
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-6
WAP: scope of standardization
Browser ¾“micro browser”, similar to existing, well-known browsers in the Internet Script language ¾similar to Java script, adapted to the mobile environment WTA(I) ¾Wireless Telephony Application (Interface): access to all telephone functions Content formats ¾e.g., business cards (vCard), calendar events (vCalender) Protocol layers ¾transport layer, security layer, session layer etc.
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-7 WAP: protocol stack
Application Presentation Session
Transport
Network,UDP
PHY & MAC
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-8 WAP: programming model
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-9
WDP: Wireless Datagram Protocol
Protocol of the network/transport layer within the WAP architecture ¾uses directly transports mechanisms of different network technologies ¾offers a common interface for higher layer protocols ¾allows for transparent communication using different transport technologies GSM [SMS, CSD, USSD, GPRS, ...], IS-136, TETRA, DECT, PHS, IS-95, ... Goals of WDP ¾a worldwide interoperable transport system
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-10
WDP: Wireless Datagram Protocol
WDP hides details of the various bearer networks from the other layers of WAP
Similar services as UDP
Adaptation to high-layer WAP protocols ¾ Partitioning data into segments of appropriate size for the bearer ¾ Interfacing with the bearer network Format ¾ Source/destination addresses, port numbers ¾ Payload: user data
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-11
WDP: Wireless Datagram Protocol
WCMP (Wireless Control Message Protocol) ¾ Performs the same support function for WDP as ICMP does for IP ¾ Used in environments that don’t provide IP bearer and don’t lend themselves to the use of ICMP ¾ Used by wireless nodes and WAP gateways to report/control errors encountered in processing WDP datagrams ¾ Can also be used for informational and diagnostic purposes
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-12
WDP: how to use it?
Wireless Data Gateway WTLSWTLS WTLSWTLS WDPWDP && WDPWDP && AdaptationAdaptation AdaptationAdaptation SMSSMS SMSSMS TunnelTunnel TunnelTunnel
GSM-SMS SubnetworkSubnetwork SubnetworkSubnetwork
WAP Proxy
WTLS WTLS WTLS Internet Service Provider WTLS UDPUDP Remote Access Service UDPUDP IPIP Interworking IPIP IPIP Function GSM-CSD PPPPPP PPPPPP Subnetwork Subnetwork PSTNPSTN PSTNPSTN Subnetwork Subnetwork CSD-RFCSD-RF CSD-RFCSD-RF CircuitCircuit CircuitCircuit
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-13
WTLS: Wireless Transport Layer Security
Security services ¾ Provided between WAP-enabled device and a WAP gateway Security features ¾ Data integrity ensures that data sent between client and gateway are not modified using message authentication ¾ Privacy ensures that the data cannot be read by a third party using encryption ¾ Authentication establishes authentication of the two parties using digital certificates ¾ Denial-of-service protection detects and rejects messages that are replayed or not successfully verified
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-14
WTLS: protocol stack
WTLS consists of two layers of protocols 1. WTLS Record Protocol provides basic security services to various higher-layer protocols 2. Higher-layer protocols: the Handshake Protocol the Change Cipher Spec Protocol the Alert Protocol
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-15 WTLS: protocol stack
Record protocol operation
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-16 WTLS: protocol stack
Handshake Protocol Exchange ¾1st phase used to initiate a logical connection and establish security capabilities ¾2nd phase used for server authentication and key exchange ¾3rd phase used for client authentication and key exchange ¾4th phase completes the setting up of a secure connection
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-17
WTP: Wireless Transaction Protocol
Lightweight protocol ¾ suitable for "thin" clients and over low-bandwidth wireless links ¾ A transaction is defined as a request with its response Three classes of transaction service ¾ Class 0: Unreliable one-way request, no retransmission ¾ Class 1: Reliable one-way request, resend if ACK not received ¾ Class 2: Reliable two-way request-response message WTP features ¾ Optional user-to-user reliability: WTP user triggers confirmation of each received message ¾ Optional out-of-band data on acknowledgments ¾ PDU concatenation and delayed acknowledgment to reduce the number of messages sent ¾ Asynchronous transactions
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-18
WSP: Wireless Session Protocol
Transaction-oriented protocol ¾ based on the concept of a request and a reply
Provides applications with interface for two session services: 1. Connection-oriented session service operates above reliable transport protocol WTP 2. Connectionless session service operates above unreliable transport protocol WDP
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-19
WSP: Wireless Session Protocol
1. Connection-oriented session service ¾ Operates above reliable transport protocol WTP ¾ Establish reliable session from client to server and release ¾ Agree on common level of protocol functionality using capability negotiation ¾ Exchange content between client and server using compact encoding ¾ Suspend and resume a session ¾ Push content from server to client in a unsynchronized manner
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-20
WSP: Wireless Session Protocol
WSP transaction types ¾Session establishment client WSP user requests session with server WSP user ¾Session termination client WSP user initiates termination ¾Session suspend and resume initiated with suspend and resume requests ¾Transaction exchange of data between a client and server ¾Nonconfirmed data push used to send unsolicited information from server to client ¾Confirmed data push server receives delivery confirmation from client
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-21
WAE: Wireless Application Environment
WAE specifies an application framework for wireless devices
WAE elements: ¾WAE User agents – software that executes in the wireless device ¾Content generators – applications that produce standard content formats in response to requests from user agents in the mobile terminal ¾Standard content encoding – defined to allow a WAE user agent to navigate Web content ¾Wireless telephony applications (WTA) collection of telephony-specific extensions for call and feature control mechanisms
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-22
WAE: client components
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-23
Text and image support – formatting and layout commands A WML document consists of multiple cards ¾ Each card represents a screen of information Cards can be grouped together in a deck ¾ A WML deck is similar to an HTML page
Deck/card organizational metaphor ¾ WML documents subdivided into cards, which specify one or more units of interaction ¾ Support for navigation among cards and decks includes provisions for event handling; used for navigation or executing scripts
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-24 WML Script
A complement to WML ¾ Scripting language for defining script-type programs ¾ in a user device with limited processing power and memory WMLScript capabilities: ¾ Check validity of user input before it’s sent ¾ Access device facilities and peripherals ¾ Interact with user without introducing round trips to origin server WMLScript features: ¾ JavaScript-based scripting language ¾ Procedural logic, event-based ¾ Compiled implementation ¾ Integrated into WAE
@ by Dr.Shu@UNM & Dr.Wu@SJTU W.int.3-25
Wireless Internet: layers 3,4,5 Internet + wireless + mobility Mobile IP: network layer, module W.int.1 Wireless TCP: transport layer, module W.int.2 WAP: application layer ¾ Wireless Application Protocol stack ¾ WDP ¾ WTLS ¾ WTP ¾ WSP ¾ WAE ¾ WML & WML Script End
@ by Dr.Shu@UNM & Dr.Wu@SJTU