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.seWireless 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 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 arkitekturenVid 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.
![]()
Nätverkskommunikationen mellan den mobila klienten och WAP bryggan använder oftast WSP oberoende vilket protokoll som webbserven använder.
Protokoll stacken för WAPWAP
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 BrygganWAP 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 brygganWAP 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 klienterDet 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
|