Seção: Tutoriais Telefonia Celular

 

WAP: Protocolos

 

O WAP usa, sempre que possível, os protocolos desenvolvidos para a Internet. Entretanto, nem sempre esses padrões são adequados às características das redes sem fio dos sistemas celulares. As comunicações HTTP são sempre do tipo comando - resposta, sem a preocupação de manter um controle de estado ou de sessão, devido a boa qualidade das redes que compõem a Internet. Mesmo com a adoção dos "cookies" como forma de manter alguma informação no computador do usuário, esta solução não é a mais adequadas para o terminais móveis.

 

O padrão WAP teve que adequar-se as características das redes sem fio, e implementar o controle de manutenção e recuperação de sessões e ainda a possibilidade de manter informações de sessão do usuário para uso posterior.

 

A figura a seguir mostra o conjunto de protocolos que compõem o WAP. Embora as camadas de menor nível não sejam visíveis para os usuários e desenvolvedores, elas impactam diretamente no desempenho do WAP nas redes celulares.

 

 

 

Wireless Application Environment (WAE)

 

O WAE é um ambiente desenvolvido para ser flexível e completo, embora destine-se a apresentação de informações em terminais móveis. Para esse ambiente foi desenvolvida uma linguagem especial e mais moderna denominada Wireless Markup Language (WML).

 

O WML baseia-se no XML (Extensible Markup Language), e possui as seguintes características:

  • Baralho de Cartas: enquanto o objeto HTML mais comum é uma página, o WML usa o conceito de um baralho de cartas ("deck-of-cards"). Quando o usuário solicita um objeto WML ele recebe esse conjunto de cartas e "surfa" nelas no navegador do terminal móvel.
  • Texto e Imagens: tem suporte limitado para layout e frame, sendo mais adequada para a apresentação de textos e imagens no terminal móvel.
  • Aplicações de Servidor: assim como o HTML, é possível escrever scripts e aplicações para executar no servidor para gerar páginas dinâmicas.
  • Imagens: o suporte a imagens ainda é limitado. A conversão dos formatos usuais da Internet para o formato WML é feita no gateway WAP.
  • Eventos, Variáveis e Estados: tem suporte para o tratamento de eventos e timers, e ainda dá suporte a manutenção de variáveis e estados durante sessões ativas independente da qualidade do sinal da rede.
  • Formato Binário: embora o formato das páginas HTML e WML seja texto, o gateway WAP compila o objeto e gera um formato binário para ser enviado para o navegador do terminal móvel.

Como complemento para o conjunto de aplicações WAP, desenvolveu-se também o Wireless Telephony Applications (WTA) com o objetivo de fornecer uma interface entre o conteúdo WAP e as funcionalidade normais de um terminal móvel.

 

Como o WTA é possível, por exemplo, acessar uma aplicação do tipo Páginas Amarelas e clicar sobre um link de um número telefônico para que o mesmo seja discado ou armanzenado na agenda telefônica ou SIM card do terminal móvel.

 

Aplicações dessa natureza podem estar disponíveis em servidores públicos ou internos a rede de uma determinada operadora, ou ainda como parte de serviços fornecidos por provedores de conteúdo.

 

Wireless Session Protocol (WSP)

 

O WSP permite ao WAP definir sessões e conexões que considerem o estado da parte cliente do terminal móvel. Desta forma, embora o usuário tenha problemas de sinal no terminal móvel, ou mesmo o desligue temporariamente, ao restabelecer a comunicação a sessão anterior pode ser retomada e a navegação pode ser reiniciada no mesmo ponto.

 

Devido as funcionalidades inerentes do WSP e ao fato de não usar os cookies do HTML, informações pessoais e da sessão que se encontra em andamento podem ser armazenadas até nos SIM cards, de forma mais segura.

 

A existência do WSP facilita o suporte a tecnologia PUSH, onde os servidores enviam de forma espontânea informações solicitadas pelos usuários, com a garantia de que o terminal vai receber a informação independente dos problemas de sinal ou rede existentes.

 

Para atender o seu objetivo o WSP utiliza cabeçalhos mais complexos na troca de mensagens. Devido a característica intrínseca do WAP de transferir informações no formato binário ao invés do formato texto usual da Internet, mesmo os cabeçalhos mais complexos utilizam poucos bytes da mensagem e não interferem no desempenho do protocolo.

 

Ainda a exemplo do protocolo TCP/IP da Internet, o WSP oferece 2 tipos de serviços: orientado a conexão e sem conexão. O serviço orientado a conexão é o mais confiável e garante o envio das mensagens para o destino solicitado. O serviço sem conexão usa a mesma filosofia envie-e-esqueça do UDP do protocolo IP, porém o cabeçalho das mensagens é mais complexo pois deve incluir informação suficiente para que elas sejam corretamente enviadas ao seu destino.

 

Wireless Transaction Protocol (WTP)

 

O WTP foi desenvolvido para ser mais confiável que o UDP, porém menos pesado e complexo que o TCP do protocolo IP. Ele é um protocolo leve para transações que esconde as condições ruins de rede dos protocolos das camadas superiores e do usuário.

 

O WTP é um protocolo orientado a mensagens, ao contrário do HTTP/TCP, que é orientado a pacotes. Ele procura garantir que uma mensagem foi entregue, ou seja, que a transação foi completada, enquanto o HTTP/TCP procura garantir que um conjunto de pacotes foi entregue na ordem correta.

 

Wireless Transport Layer Security (WTLS)

 

O WTLS foi baseado no protocolo Transport Layer Security (TLS), antigo SSL, da Internet. O TLS utiliza algumas das funcionalidades confiáveis do TCP, enquanto o WTLS tem que prover essas funcionalidades internamente. Por outro lado, o WTLS pode operar com o UDP, e o TLS não pode.

 

O WTLS é completamente modular e cabe aos protocolos das camadas superiores definir o tipo de segurança a ser utilizada. Os objetivos principais de seu uso são prover integridade dos dados, privacidade e autenticação na comunicação entre 2 aplicações.

 

Como os demais protocolos do WAP, o WTLS é otimizado para o uso em redes com banda e desempenho limitados, porém ainda assim existem algumas questões que devem ser consideradas e os desenvolvedores devem tomar cuidado quanto ao seu uso excessivo.

 

Uma sessão segura do WAP também utiliza o HTTPS. Ao iniciá-la executa-se um procedimento de definição de nível de segurança entre a aplicação cliente e a aplicação do servidor, a autenticação é realizada, o uso dos dados comprimidos e/ou criptografados é definido e o uso de certificados é negociado. A seguir a sessão é habilitada para a navegação do usuário.

 

O WTLS fornece classes de serviços sem certificados, na aplicação cliente e com certificado no servidor (a mais comum) e com certificado tanto na aplicação cliente como no servidor. Entretanto, especial cuidado deve ser tomado com o certificado, pois o seu tamanho padrão de 1 KB acrescenta uma sobrecarga adicional ao protocolo, especialmente em algumas terminais WAP onde o tamanho padrão máximo do conjunto de cartas ("deck") também é de 1KB.

 

Wireless Datagram Protocol (WDP)

 

A camada de Transporte do WAP está dividida entre o WTP e o WDP. O WDP serve de interface entre qualquer rede de transporte (IS-95, GSM, GPRS, etc.) e as camadas superiores do WAP. Ele serve para esconder as diferenças de estar usando, por exemplo, uma rede GPRS com IP ou o SMS sobre uma rede GSM. Quando essa rede de transporte não usa o protocolo IP, o WDP introduz uma camada de adaptação para as camadas superiores do WAP. Quanto mais avançado for o serviço oferecido pela rede de transporte, menor é a adaptação necessária. Com o objetivo de usar componentes existentes nas recomendações dos protocolos da Internet, o WAP usa o UDP sempre que uma rede de transporte suportar o protocolo IP.

 

O UDP é meramente um protocolo de entrega de pacotes, que não faz o reenvio de pacotes perdidos ou com atraso. No caso do WAP, o WDP é complementado com outras funcionalidades, tais como a retransmissão de pacotes perdidos.

 

O WAP também não controla a segmentação de pacotes inerente ao TCP/IP. No segmento WAP os pacotes têm tamanho fixo, e cabe ao TCP definir o tamanho de fragmentação de pacotes, caso seja necessário, no segmento Internet da rede.

 

Adicionalmente, o WDP controla o número da porta para as aplicações, de forma a permitir que várias aplicações possam ser executadas no mesmo terminal.