Effekterna av en WAP-Gateway på ”end-to-end” beteende som en mobil klient erfar när han/hon läser Internetsidor från en webbserver.

Av Jürge Klein e96_jkl@nada.kth.se

Wireless Application Protocol (WAP) är ett resultat av WAP Forums[1] arbete att utveckla en internationell standard för applikationer och services för trafikering av trådlös kommunikations nätverk. WAP är ett skelett av specifikationer och nätverksprotokoll för trådlös apparatur som mobiltelefoner, sökare och digitala assistenter. WAP Forum startades 1997 av Ericsson, Motorola, Nokia och Phone.com (före detta Unwired Planet) och har sen dess vuxit till över hundra företag. WAP Forums arbete går ut på att arbeta fram en plattform baserad på existerande Internet protokoll som exempelvis XML[2] och IP[3], för trådlösa nätverk. WAP är en öppen specifikation som skall gagna alla företag och användare. WAP Forum utvecklar inga produkter.

Hur fungerar WAP?

Internets www arkitektur tillhanda håller en mycket flexibel och kraftfull programmerings modell. Applikationer och innehåll pressenteras i standard format och läses av s.k. webbläsare. Webbläsare är en nätverksapplikation som sänder en begäran (URL[4]) för specifik data från en webbserver, denne i sin tur ger respons genom att skicka det specifika data i standard format(HTML[5]).


WAP’s programmerings modell är liknande www’s vilket medför att programmeringssamhället känner igen sig och att det är en modell som man vet fungerar. Existerande hård och mjukvara kan utnyttjas. WAP definierar standard komponenterna för att möjliggöra kommunikation mellan de mobila terminalerna och webbservrarna.

WAP utnyttjar "proxy" teknologin för att koppla ihop det trådlösa nätverket och Internet (www) eller intranät. WAP "proxyn" består av ”Protocol Gateway” som översätter WAP’s protokoll stack till www’s protokoll stack och ”ContentEncoders and Decoders” som översätter www’s protokoll stack till WAP’s protokoll stack. ”ContentEncoding” översätter till ett kompakt format som reducerar storleken och antalet packet som skall skickas över det trådlösa nätverket, med upp till 75 %, så att man spar på bandbredden i det trådlösa nätverket.

WAP arkitekturen

Vid normalfallet då man realiserar WAP så skall det finnas en WAP klient (mobila terminaler) en WAP brygga och en webbserver. Dock så kan WAP arkitekturen mycket lätt fungera i andra konfigurationer. En webbserver kan ha WAP proxy funktionalitet eller tillhanda hålla WAP innehåll (ex. WML[6], WMLScript[7]), i båda fallen belastas inte WAP bryggan.


WAP bryggan är som en modempool eller ”Internet Provider” som den mobila klienten ringer upp för att kunna få tillgång till Internet. Klienten skickar en URL begäran i WML kod till WAP bryggan. Bryggan översätter WML koden till HTML kod och skickar begäran vidare till rätt URL (webbserver). Webbservern svarar med att skicka tillbaka det data som har efterfrågats till WAP bryggan som i sin tur översätter HTML koden till komprimerad WML kod och skickar den vidare till WAP klienten. 

Nätverkskommunikationen mellan den mobila klienten och WAP bryggan använder oftast WSP oberoende vilket protokoll som webbserven använder.



Protokoll stacken för WAP

WAP består av fem protokoll vilka bygger på www modellen OSI[8]. WAP optimerar www protokollen för att bättre passa in i den trådlösa miljön.

Wireless Application Environment (WAE)

Det översta lagret WAE[9] motsvarar applikations lagret i OSI modellen. De delar som ingår I detta lager är URL, WML, WMLScript och WTA[10], WTAI[11]. Adresseringsmodellen som används är URL. En typisk URL anger först vilket protokoll som skall användas för att hämta en resurs. Därefter anger det vilken dator resursen befinner sig på och slutligen vad filen heter.
WML är det språk som märker upp information så att den presenteras på rätt sätt. Till stor del bygger WML på HTML 4.0 samt HDML[12]. Den största skillnaden mellan WML och HTML är att WML speciellt konstruerats för små mobila terminaler med begränsat minne, vilket också är anledningen till att kortleksmetaforen används för att specificera en tjänst. En kortlek är en WML fil som skickas till terminalen. Filen är indelad i flera mindre kort. Ett kort i taget presenteras för användaren.
WMLScript är ett JavaScript liknande programmeringsspråk för låg bandbredd. WMLScript innehåller öppningar för att integrera framtida tjänster och tillämpningar. Scripten används för att tillföra viss intelligens till applikationer som att utföra enkla funktioner och kontrollera användarens inmatningar innan det skickas vidare till servern. Till skillnad från HTML, där scripten ofta ligger inbäddade i själva HTML koden, placeras WML scripten i filer som är separerade från WML sidorna.
WTA är en del av WAE som gör det möjligt att kommunicera med klientens inbyggda telefonirelaterade funktioner samt med telefonnätverkets tjänster. Det går att skriva applikationer som exempelvis kan kommunicera med WAP telefonens interna telefonbok. Programmeringen av dessa mer avancerade funktioner på klient sidan görs med WML och WMLScrip

Wireless Session Protocol (WSP)

WSP[13] är gränssnittet mellan WAE lagret och resten av protokollstacken. Dess viktigaste uppgift är att hantera sessioner mellan klienter och WAP brygga. Den ser till att en eller flera sessioner hålls uppe med den kontaktade servern och hanterar oväntade nedkopplingar eller ändrad bärare. Protokollet har en tillståndsinformation, vilket gör det möjligt att avbrutna sessioner kan återupptas där de bryts.

Wireless Transaction Protocol (WTP)

WTP[14] hanterar överföringen på transaktionsnivå. Protokollet ger möjlighet att bygga tillförlitliga tillämpningar, där man exempelvis kan garantera att ett köp antingen blivit utfört i sin helhet eller inte alls. WTP fungerar över såväl säkra som osäkra mobila nät och innehåller tre olika säkerhetsnivåer: osäker envägs, säker envägs och säker tvåvägs kommunikation. Protokollet innehåller i övrigt ett antal valbara tjänster, bland dem fördröjd bekräftelse för att minska nätverkstrafiken samt asynkrona transaktioner.

Wireless Transport Layer Security (WTLS)

WTLS[15] bygger på webbens TLS. De delar som WTLS innehåller är, dataintegritet, kryptering och verifiering. Dataintegritet är en kontroll att data som tas emot inte har ändrats eller förstörts på vägen. Krypteringen av data så att den inte går att avlyssna under överföringen. Verifiering görs så att sändare och mottagare vet att den de kommunicerar med är den de utger sig att vara.

Wireless Datagram Protocol (WDP)

WDP[16] protokollet som ligger ovan för bärarnivå (network layer) ser till att ge konsekventa tjänster till de ovanliggande lagren och kommunicerar transparent över den tillgängliga bärartjänsten. 

WAP Bryggan

WAP bryggan representerar server sidan för mobila klienter i trådlösa nätverk. Kommunikationen mellan klienten och bryggan sköts av WSP protokollet. För att kunna sköta kommunikationen måste WAP bryggan ha support för WDP och WTP protokollen, valfritt även WTLS. Som en del av WSP kommunikations genomförandet måste WAP bryggan kunna genomföra WSP huvud (Eng. header) caching, och där med kunna hålla CPI’n[17] för den mobila klienten under kommunikations etableringen.

Hur arbetat WAP bryggan

WAP bryggan är ansvarig för att översätta WSP (URL) begäran från en mobilklient till lämplig HTTP[18] (URL) begäran som skickas över ett intranät eller Internet till avsedd webbserver. När bryggan vidare befordrar denna begäran måste också CPI’n skickas med till servern som associerar med begäran. När WAP bryggan skapar HTTP begäran så kan den, valfritt, förstärka den mottagna CPI’n med extra data som den har i sin lokala databas.
WAP bryggan är också ansvarig för att översätta HTTP (HTML) gensvaret till lämplig WSP (WML eller WMLScript) respons för leverans över det trådlösa nätverket till den mobila klienten. Bryggan måste också skicka med information om CPI användningen såvida webbservern har använt den.
WAP bryggan kan även ha en ”Push Proxy Gateway”[19] (PPG) implementering som med för att speciella ”Push Initiator” servrar på Internet eller intranät kan skicka data till mobila klienter via dessa PPG’s utan att ha fått någon begäran från WAP klienten.

WAP Bryggans effekt på mobila klienter

Det som idag upplevs som det mest frustrerande när man använder Internet är när belastningen på någon webbserver är hög. Det tar tid att ladda hem den information som man söker och det är ibland svårt att hitta det man söker. Detta problem kommer att vara det största när det gäller implementeringen av WAP. En WAP klient har mindre bandbred, mindre CPU kraft och mindre display. Att använda rena WAP tjänster från Internet kommer att minska tiden för väntan.
Vid begäran av ren html kod kommer det att ställas höga krav på både hårdvara och mjukvara för att minska tiden för behandling av data, eftersom det idag finns relativt komplexa HTML sidor på Internet. En WAP brygga kan och bör använd cachning av komplexa sidor som används frekvent, för att undvika att behöva översätta i realtid
Säkerheten i WAP är inte helt tillfredsställande då det finns några brister i det. Om information som är känslig överförs med WAP så är informationen oskyddad i WAP bryggan när den översätts från WSP (WTLS[20]) till HTTP (TLS[21], SSL[22]) eller tvärt om. Den som har hand om WAP bryggan kommer att sitta i förtroende position

 

Referenser

http://www.ericsson.se/cslab/projects/euc99/WAP/
http://www.ida.liu.se/~TDEI37/vt2000/Examensframlagg/WAP_Marknaden.pdf
http://www.wapforum.org
http://www.datateknik30.se/pub/pub12_10.asp?art_id=3507
Datateknik 3.0 | Nr.3 | den 24 februari 2000 | sidan 28-29



[1] http://www.wapforum.org
[2] eXtensible Markup Language [XML] http://www.w3.org
[3] Internet Protocol [RFC791]
[4] Uniform Resource Locator [RFC1738]
[5] Hyper Text Markup Language [HTML4] http://www.w3.org
[6] Wireless Markup Language [WML] http://www.wapforum.org
[7] Wireless Markup Language Script [WMLScript] http://www.wapforum.org
[8] Open System Interconnection
[9] Wireless Application Environment [WAE] http://www.wapforum.org
[10] Wireless Telephony Applications [WTA] http://www.wapforum.org
[11] Wireless Telephony Applications Interface [WTAI] http://www.wapforum.org
[12] Handheld Device Markup Language [HDML2] http://www.uplanet.com/
[13] Wireless Session Protocol [WSP] http://www.wapforum.org
[14] Wireless Transaction Protocol [WTP] http://www.wapforum.org
[15] Wireless Transport Layer Security [WTLS] http://www.wapforum.org
[16] Wireless Datagram Protocol [WDP] http://www.wapforum.org
[17] CPI (Capabilities and Preference Information) visar den mobila klientens profil och kompetens.
[18] Hypertext Transfer Protocol [RFC2616]
[19] [PPGService] http://www.wapforum.org
[20] Wireless Transport Layer Security [WTLS] http://www.wapforum.org
[21]Transport Layer Security[TLS] [RFC2246]
[22] Secure Sockets Layer [SSL3] Netscape Communications Corp., Nov 18, 1996.