Wireless Session Protocol

Wireless Session Protocol (WSP) je protokol relační vrstvy rodiny protokolů Wireless Application Protocol (WAP). Jedná se o otevřený standard[1] pro udržování vysokoúrovňových relací. WAP relace není nic jiného než normální WWW relace, která začíná, když se uživatel připojí na určité URL a končí, když je uživatel opustí. Vytvořením relace je míněno, že vlastnosti používané při relaci se definují pouze jednou na začátku relace, což šetří přenosovou kapacitu, která je kvůli povaze bezdrátová komunikace omezená. Proces vytváření relace nesmí obsahovat příliš dlouhý handshake mechanismus.

WSP vychází z HTTP 1.1 s několika vylepšeními. WSP poskytuje horní rozhraní aplikační vrstvy služby WAP s konzistentním rozhraním pro dvě relační služby. První je spojovaná služba, která využívá transakční vrstvu protokolu WTP a druhá je nespojovaná služba, která využívá zabezpečenou nebo nezabezpečenou datagramovou transportní službu. WSP ve spojovaném režimu vylepšuje výkonnost protokolu HTTP 1.1 při použití bezdrátové komunikace. V nespojovaném režimu poskytuje relační vrstvu. Díky tomu se celé prostředí WAP podobá referenčnímu modelu ISO/OSI.

Účel

WSP poskytuje prostředky pro:

  • spolehlivé navázání a ukončení relace mezi klientem a serverem
  • vyjednání společné úrovně funkčnosti protokolu pomocí vyjednávání kapabilit
  • výměnu informací mezi klientem a serverem pomocí kompaktního kódování
  • pozastavení a obnovení relace

Popis

WSP je relační služba poskytující spojované i nespojované služby. Začlenění WSP do komunikačního zásobníku WAP ukazuje následující obrázek:

Nespojované WSP poskytuje nespolehlivý přenos WSP primitiv pro metody pull i push. Spojované WSP využívá WTP a poskytuje spolehlivý přenos WSP primitiv, správu relací, vyjednávání o kapabilitách relace, přenos rozsáhlejších dat (díky segmentaci a sestavování segmentů) a spolehlivý přenos dat (díky mechanismu potvrzování). Nezávisle na použití WTP, může WSP v nezabezpečených sítích používat WTLS, aby se zabránilo odposlechu.

WSP definuje množství komunikačních primitiv:

primitivareqindrescnf
S.Connect++++
S-Disconnect++--
S-Suspend++--
S.Resume++++
S-MethodInvoke++++
S-MethodResult++++
S-Push++--
S-ConfirmedPush++++
S-Unit-MethodInvoke++--
S-Unit-MethodResult++--
S-Unit-MethodPush++--

Struktura a kódování PDU

PDU nespojovaného WSP začíná jedním oktetem obsahujícím Transaction ID (TID), který slouží pro spárování požadavku a odpovědi; u spojovaného WSP tento oktet chybí.

Další oktet identifikuje typ PDU:

Typ PDUHodnota
0x00Reserved
0x01Connect
0x02ConnectReply
0x03Redirect
0x04Reply
0x05Disconnect
0x06Push
0x07ConfirmedPush
0x08Suspend
0x09Resume
0x10–0x3FUnassigned
0x40Get
0x41Options (Get PDU)
0x42Head (Get PDU)
0x43Delete (Get PDU)
0x44Trace (Get PDU)
0x45-0x4FUnassigned (Get PDU)
0x50-0x5FExtended Method (Get PDU)
0x60Post
0x61Put (Post PDU)
0x62–0x6FUnassigned (Post PDU)
0x70-0x7FExtended Method (Post PDU)
0x80Data Fragment PDU
0x81-0xFFReserved

Struktura zbytku PDU závisí na typu PDU. Protože jména a hodnoty mnoha HTTP polí jsou tvořeny pevnými řetězci, poskytuje WSP metodu pro kompaktní kódování HTTP hlaviček. V místech, kde se mohou vyskytovat ASCII řetězce jsou kódy tisknutelných ASCII znaků (32-126) vyhrazeny pro doslovný zápis řetězců, ostatní hodnoty bytů slouží pro binárně zakódovaná data.

Odkazy

Reference

V tomto článku byl použit překlad textu z článku Wireless Session Protocol na anglické Wikipedii.

Související články

Externí odkazy

Média použitá na této stránce

WDP-stack.png
Autor: Kolarp, Licence: CC BY-SA 4.0
WDP stack