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:
primitiva | req | ind | res | cnf |
---|---|---|---|---|
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 PDU | Hodnota |
---|---|
0x00 | Reserved |
0x01 | Connect |
0x02 | ConnectReply |
0x03 | Redirect |
0x04 | Reply |
0x05 | Disconnect |
0x06 | Push |
0x07 | ConfirmedPush |
0x08 | Suspend |
0x09 | Resume |
0x10–0x3F | Unassigned |
0x40 | Get |
0x41 | Options (Get PDU) |
0x42 | Head (Get PDU) |
0x43 | Delete (Get PDU) |
0x44 | Trace (Get PDU) |
0x45-0x4F | Unassigned (Get PDU) |
0x50-0x5F | Extended Method (Get PDU) |
0x60 | Post |
0x61 | Put (Post PDU) |
0x62–0x6F | Unassigned (Post PDU) |
0x70-0x7F | Extended Method (Post PDU) |
0x80 | Data Fragment PDU |
0x81-0xFF | Reserved |
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.
- WSP Specifikace Archivováno 11. 2. 2012 na Wayback Machine - Na WWW serveru Open Mobile Alliance