componentes de la arquitectura wap

Anuncio
INTRODUCCION
WAP significa Wireless Application Protocol , y surge como la combinación
de dos tecnologías de amplio crecimiento y difusión durante los últimos años:
Las Comunicaciones Inalámbricas e Internet.
Los protocolos WAP son similares a aquellos utilizados por Internet pero son
optimizados para el uso con periferia como los teléfonos móviles, los cuales
están dotados de poca memoria, pequeños displays y relegados a redes con
poca banda así como a largos tiempos de espera. Más allá de la posibilidad de
acceder a los servicios de información contenidos en Internet, el protocolo
pretende proveer de servicios avanzados adicionales. Para ello se parte de una
arquitectura basada en la definida para el World Wide Web, pero adaptada a
los nuevos requisitos del sistema.
Cliente
Agente de
usuario WAE
(Entorno de
aplicación
inalámbrica)
Servidor de
Información
Pasarela
Petición
Codificada
Codificadores
y
Decodificadores
Respuesta
Codificada
Petición
Respuesta
(contenido)
CGI,
Scripts,
etc.
Contenidos
Fig.1 Modelo de funcionamiento de WAP
En el terminal inalámbrico existiría un “micro navegador” encargado de la
coordinación con la pasarela, a la cual se le realiza peticiones de información
que son adecuadamente tratadas y redirigidas al servidor de información
adecuado. Una vez procesada la petición de información en el servidor, se
envía esta información a la pasarela que de nuevo procesa adecuadamente
para enviarlo al terminal inalámbrico.
Para conseguir consistencia en la comunicación entre el terminal móvil y los
servidores de red que proporcionan la información, WAP define un conjunto de
componentes estándar:
 Un modelo de nombres estándar. Se utilizan las URIs( Universal
Resource Identifier) definidas en WWW para identificar los recursos
locales del dispositivo. Y las URLs para identificar el contenido WAP
en los servidores de información.
 Un formato de contenido estándar, basado en la tecnología WWW.
 Unos protocolos de comunicación estándares, que permitan la
comunicación con el micro navegador del terminal móvil con el
servidor WEB en red.
Así como TCP e IP forman parte de un modelo de referencia OSI (Open
Systems Interconnection), el modelo de interconexión de sistemas abiertos,
WAP define su propio modelo de referencia a seis niveles: nivel físico o
portador, nivel datagrama, seguridad, nivel de transacción o intercambio,
sesión y aplicación.
A simple vista podemos apreciar los cambios entre el modelo de referencia OSI
y el modelo WAP:
WAP
CAPA
7
Aplicación: Al igual que el
modelo OSI es la que se encarga
del contenido de las consultas y 6
de las respuestas.
Sesión: Se encarga de
negociación de parámetros entre
el cliente y el servidor y establece
la conexión para intercambiar la
5
información.
Transacción: Define y asegura el
establecimiento de la conexión
entre extremos.
4
Seguridad: Parecida a la capa
superior pero dota de seguridad 3
la conexión realizada.
Datagrama: Servicio basado en
datagramas que asegura de
forma transparente a las capas
superiores la comunicación.
2
Portadora: Se entiende como la
frecuencia o forma de la
1
transmisión de datos.
OSI
Aplicación: En esta última capa
hablamos de la semántica de la
información, de cómo nos viene
representada.
Presentación: Realiza los
trabajos de compresión y cifrado
de la información, intentando
estandarizar la representación
(ASCII y otros).
Sesión: Esta capa cubre desde el
"login" inicio de una sesión de
trabajo hasta el "logout". Es una
de las capas menos importantes
pero realizará funciones de
sincronización entre otras que no
puedan hacer las capas
inferiores.
Transporte: A través de los
encabezamientos de la trama y
su información, nos asegura una
comunicación fiable de extremo a
extremo.
Red: Tiene funciones de control y
encaminamiento.
Enlace: Asegura una
comunicación de tramas o
conjuntos de bits. De alguna
manera encapsula los bits
recibidos marcando un inicio y un
final. Esta capa está subdividida
en dos subcapas (LLC y MAC)
Física: Se intenta la
normalización total de toda la
maquinaria. Conectores, pines,
cableado, etc.
COMPONENTES DE LA ARQUITECTURA WAP
Como se ha dicho antes, la arquitectura WAP esta formada por una
estructura de niveles o capas en la que cada capa es accesible por la superior
así como por otros servicios y aplicaciones a través de un conjunto de
interfaces bien definidos. Con ellos se consigue proporcionar un entorno
escalable y extensible para el desarrollo de aplicaciones para dispositivos de
comunicación móvil. La estructura es la siguiente:
CAPA DE APLICACIÓN (WAE)
CAPA DE SESIÓN(WSP)
CAPA DE TRANSACCIONES(WTP)
CAPA DE SEGURIDAD(WTLS)
CAPA DE TRANSPORTE(WDP)
Protocolos portadores:
GSM
IS136
CDMA
PHS
CDPD
PDC-P
iDEN
Etc.
Fig. 2 : Arquitectura de WAP
CAPA DE APLICACIÓN (WAE)
Wireless Application Environment es un entorno de aplicación de propósito
general, cuya función es permitir construir aplicaciones y servicios de manera
eficiente, sin depender de sí se están ejecutando en un móvil, un PDA, etc.
Incluye un microborwser con las siguientes funciones:
 WML(Wireless Application Environment): es un lenguaje similar a HTML
pero optimizado para ser usado en dispositivos móviles.
 WMLScript:Lenguaje similar a JavaScript.
 WTA(Wireless telephony application): son servicios telefónicos que
pueden prestar las operadoras.
 Formatos de contenido: conjunto de estructuras de datos, incluye
imágenes, listín telefónico y calendario.
La arquitectura WAE sigue el modelo internet, respalda el uso de una
arquitectura sencilla en el lado cliente para permitir dispositivos mas baratos y
manejables, permite a los operadores sacar recursos de la web para sus
aplicaciones, y permite que sea ampliada en el futuro.
El mecanismo de url tiene en cuenta tres casos:
 Servicios seguros donde se usa la capa WTLS y un gateway seguro
controlado por el servidor.
 El servidor desea que el gateway guarde en cache los datos para
acelerar el acceso de los clientes.
 El servidor es exclusivo para dispositivos Wap y trabaja sobre WSP en
lugar de usar HTTP.
En el url se especifica el protocolo usado por el servidor ,
independientemente del que use el cliente, que casi siempre será WSP. El
gateway se debe encargar de las conversiones del protocolo HTTP-WAP.
WAE se divide en dos capas, los agentes de usuario(browsers,..)y los
servicios y formatos(WML,...).
Al intercambiar un archivo Wml o wmlscript entre servidor y cliente se siguen
varios pasos, el usuario le pide a sus agentes lo que quiere, este le transmite al
servidor la petición usando un esquema URL, el servidor responde con un
deck, que al pasar a través del gateway se convierte al formato codificado. La
existencia del Gateway no es obligatoria y algunos servidores se pueden
encargar ellos mismos de las tareas de codificación y bytecodes.
Seguridad: WAE permite autentificar a los usuarios en base al método de
pedir un nombre de usuario y una clave , y también permite que los autores del
código Wml limiten que otros decks puedan acceder a los suyos.
CAPA DE SESION (WSP)
Wrieless Session Protocol proporciona una interface con dos servicios de
sesión, uno opera sobre la capa WTP y es orientado a conexión, el otro no lo
es y opera sobre la capa WDP. Su funcion es:
 Da la funcionalidad y semántica de HTTP/1.1 con una codificación
compacta.
 Establecer sesiones fiables entre cliente y servidor y liberarlas de manera
ordenada.
 Posibilidad de suspender y reanudar las conexiones.
 Permite hacer Push de los datos(tecnología por la que se puede recibir
información sin tener que buscarla, se verá más extensamente en el
apartado WSP).
 Negociación de las características del protocolo.
 Intercambiar cabeceras de sesión.
 Interrumpir transacciones en procesos.
 Intercambiar contenidos entre cliente y servidor usando codificación
compacta.
Éstos protocolos están optimizados para portadoras con poco ancho de
banda y con latencias altas. El núcleo del diseño WSP es una forma binaria de
HTTP, por tanto las transacciones entre el cliente y el servidor incluirán
cabeceras y datos y son soportados los métodos definidos por HTTP. Las
cabeceras sirven para definir los tipos de contenidos, lenguajes, etc. en
transferencias de datos, y para reducir el tráfico hay definidas unas formas
compactas de cabecera. Estas cabeceras no las interpreta el WSP sino las
cabeceras superiores. Como esta capa es independiente de las inferiores, se
puede suspender la sesión y después reanudarlo sin problemas, incluso sobre
una portadora diferente, sin la sobrecarga de establecer una sesión desde 0.
Esta capa permite hacer Push y pull de datos, el pull se realiza con los
mecanismos especificados en HTTP/1.1 y el push se puede realizar de tres
maneras diferentes:
1. Push confirmado dentro de una sesión: permite al servidor mandar datos
al cliente durante la sesión, y es servidor recibe confirmación de que fue
entregada.
2. Push no confirmado dentro de una sesión: como antes pero sin
confirmación.
3. Push no confirmado sin sesión abierta: sirve para enviar mensajes sobre
un medio no fiable.
Opcionalmente, el WSP puede permitir enviar peticiones asíncronas, lo que
permite al servidor a unir las respuestas en menos mensajes.
CAPA DE TRANSACCIÓN(WTP)
Wireless Transaction Protocol es un protocolo orientado a transacción que
funciona sobre la capa WDP(datagramas), funciona igualmente si la capa de
datagramas es segura como si no. Sus características son:
 Opcionalmente se puede tener comunicaciones fiables entre usuarios
(hay confirmación por cada mensaje recibido).
 Las PDU se pueden concatenar para reducir el número de mensajes a
enviar.
 Transacciones asíncronas.
 Tres tipos de transacciones diferentes:
 Peticiones unidireccionales no fiables
 Peticiones unidireccionales fiables
 Transacciones bidireccionales fiables.
WTP funciona sobre WDP, que es no fiable, y debe ser el primero el que
debe ocuparse de que el servicio sea fiable de cara al usuario El interface entre
la capa WTP y el entorno es la WTP Management Entity, y su función es
proporcionar información a la capa WTP de los cambios en el entorno del
dispositivo que pueda afectar al funcionamiento de WTP. Para ello el
dispositivo móvil debe tener las siguientes capacidades:





El móvil esta en el arrea de cobertura de la portadora invocada.
El móvil tiene suficiente potencia y esta en marcha.
Hay recursos suficientes disponibles para la capa WTP
El protocolo WTP esta bien configurado.
El usuario desea transmitir o recibir datos.
La WTP Management Entity informara a WTP si alguno de ellos no esta
disponible.
Las primitivas de comunicación son:
Request: usado cuando una capa pide servicio a su inmediata inferior.
Indication: la capa que debe proporcionar el servicio indica a su
progenitora algo relacionado con la petición.
Response: La capa superior indica acuse de recibo del indication
recibido de la inferior.
Confirm: La capa inferior indica que la actividad se ha llevado a cabo
satisfactoriamente.
Se utiliza ACK para asegurarse de que la comunicación ha sido realizada con
éxito.
CAPA DE SEGURIDAD(WTLS)
Wireless Transport Layer Security el protocolo de seguridad se ha basado
en el estándar TLS, antes conocido por SSL. Para los casos donde la
seguridad no es básica se puede deshabilitar el uso de esta capa. Las
características son:
 Integridad en los datos: asegura que los datos son intercambiados no
están cambiados o corrompidos.
 Privacidad: los datos transmitidos son privados y no han de poder ser
leídos por alguien que intercepte su envío.
 Autentificación: puede establecer la autenticidad del terminal y el
servidor.
 Protección contra la denegaron de servicio: puede detectar y rechazar
datos que sean reenviados o que no estén verificados, impidiendo los
ataques de negación de servicio.
Para la comunicación entre capas, se utilizan además de las primitivas
anteriores las siguiente:
Unitdata: intercambiar información entre iguales(solo si hay conexión
segura)
Create: para iniciar el establecimiento de una conexión segura.
Exchange: usada por el servidor cuando quiere realizar una
autentificacion de la clave pública o intercambio de claves entre clientes.
Commit: cuando termina el acuerdo (handshake) y ambos quieren pasar
al estado de transmisión negociado.
Terminate: para terminar la conexión.
Exception: para terminar la conexión.
Create_request: el servidor pide al cliente que inicie un nuevo
handshake (acuerdo).
CAPA DE TRANSPORTE(WDP)
Wireless Datagram Protocol es la capa de transporte según ISO/OSI , su
función principal es lograr la independencia de las capas superiores del bearer
que tienen por debajo, esto lo logra adaptando la capa de transporte a las
características de cada portadora determinada.
WDP ofrece un conjunto de servicios a las capas superiores, estos servicios
incluyen direccionamiento de las aplicaciones por número de puerto,
segmentación y reensamblamiento (opcional), y detección de errores(opcional).
Al ofrecer estos servicios independientemente de la portadora tiene que realizar
más funciones o menos dependiendo de las que realice la portadora. El
rendimiento del protocolo sobre cada portadora variará, pero los servicios que
existen siempre son los mismos.
El siguiente esquema muestra lo dicho anteriormente:
WDP
Adaptacion a
portadora A
Adaptacion a
portadora B
Adaptacion a
portadora C
Portadora A
Portadora B
Portadora C
Portadora D
Capa física – Tecnologias inalámbricas
La portadora D realiza todo el trabajo por lo que WDP no ha de preocuparse.
Sin embargo, la portadora A, ofrece muy pocos servicios y es la capa WDP la
que ha de realizar la mayor parte de los servicios.
Con WDP es posible tener varias instancias de comunicación de capas
superiores sobre un único servicio de la portadora, siendo el número de puerto
la manera de identificar a la entidad de la capa superior que será transmitiendo.
La capa de adaptación es la capa del protocolo WDP que mapea las
funciones de WDP directamente sobre la portadora, por lo que es diferente
para cada una. En el Gateway se pasan los paquetes WDP al proxy / servidor
por medio de un protocolo de túnel, que sirve de interface entre ambos. La
subred es cualquier tecnología de red que permita unir dos dispositivos
comunicadores.
Al igual que en WDP la interface entre la capa WDP y el entorno es la WDP
Management Entity, y su función es proporcionar información a la capa WDP
de los cambios en el entorno del dispositivo que pueda afectar al
funcionamiento de WDP. Para que sea posible el dispositivo móvil debe tener
las mismas capacidades que las numeradas en WTP.
La comunicación entre capas se lleva a cabo por medio de primitivas de
servicio, que representan el intercambio de información entre la capa de
seguridad y sus adyacentes, de una manera abstracta y sin entrar en la
implementaron. Los tipos de primitivas usadas en esta capa (y que ya hemos
comentado antes) son: Request, Indication, Response y Confirm, además de:
T-Dunitdata: primitiva usada para transferir datos en forma de
datagrama. No requiere una conexión preestablecida y puede ser
lanzada en cualquier momento.
T-Derror: Cuando se produce un error que puede afectar al servicio
demandado se informa a la capa superior con esta primitiva.
Para implementar el protocolo WDP se necesita:
 Puerto destino
 Puerto origen
 Segmentación y reensamblaje.
PROTOCOLOS PORTADORES: son las diferentes portadoras encargadas de
transportar los datos entre los dispositivos y la base. Las mas usadas
actualmente son CSD, SMS y próximamente GPRS.
El elemento wml es la etiqueta de ruta, que identifica todo el deck. Tarjeta
define una nueva tarjeta. El elemento id es necesario para la navegación. El
elemento tarjeta puede contener solamente p párrafos (con texto, enlaces y
demás elementos de texto) o elementos do, que definen un menú de opciones.
BREVE INTRODUCCION A WML(Wireless Markup Language)
Wireless Markup Language es el lenguaje para crear documentos WAP.
XML es el lenguaje elegido para la base de WML debido a que los
documentos WAP poseen pequeñas cantidades de RAM y ROM por lo que los
datos deben ser estructurados para facilitar la conversión del documento.
Las próximas dos líneas se encuentran al principio de cada documento
WML. Es la forma que tiene WML para constatar que el documento es un
documento XML.
<?xml version='1,0'?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
Un documento WML es llamado un deck (cubierta). Una cubierta está
compuesta por muchas "tarjetas" (cards). La idea es que el WAP muestre
solamente una tarjeta por vez, y los usuarios puedan ir navegando a través de
éstas sin tener que hacer un llamado al servidor para un nuevo documento.
El elemento go específica un tarea de navegación:
<go href="nombredeldeck.wml#cardid">
Variables de WML
WML soporta variables globales para guardar información de la sesión. Las
variables se introducen con el objetivo de minimizar la interacción con el
servidor.
Elementos de texto
Por supuesto, la habilidad de las variables es la de guardar los datos
generados por el usuario. Eso es posible a través de una serie de elementos
parecidos a los de HTML:
input similar al elemento de HTML. Permite a los usuarios ingresar texto a
través del teclado.
El atributo name es el nombre de la variable que permitirá hacer esto.
select/option lista de opciones de donde el usuario puede elegir, Idéntico al
HTML.
postfield similar al campo escondido (input hidden field) en los formularios
de HTML.
name/value: Es mucho mas poderoso que los campos escondidos (hidden
fields) de HTML. Debido a la forma de utilización de las variables en WML,
usted puede recolectar información contextual en los "postfields" y pasar esta
información al servidor.
Finalmente, es importante aclarar que WML también soporta algunos
elementos tradicionales como por ejemplo small, aunque los primeros aparatos
WAP no son suficiente buenos para soportarlos.
BIBLIOGRAFÍA:

Luis Alberto Vielba Villegas “El protocolo inalámbrico de
aplicaciones(WAP)”, 1998
www.hackhispano.com/paginas/phreaking/d_wap_0001.pdf

Especificaciones del WAP Forum (www.wapforum.org):
o
o
o
o
o
o
o
o

Wireless Application Protocol Architecture Specification (1998)
Wireless Application Environment Overwiew (1999)
Wireless Application Environment Specification(1999)
Wireless Session Protocol Specification (1999)
Wireless Transaction Protocol Specification (1999)
Wireless Datagram Protocol Specification (1999)
Wireless Transaction Protocol Specification (1999)
Wireless Transport Layer Security Specification (1999)
WML en interntet:
- Tutoriales de WML:
http://www.mviva-online.com/etiquetas.htm
http://teleline.terra.es/personal/wapfacil/manwml.htm
http://asp.programacion.net/tutoriales/aspywap/arquitectura.htm
http://www.abcdatos.com/tutoriales/htmlxvwd.html
- Editores de WML:
http://194.140.40.110/soft/soft_editor_wml.htm
http://recursos.hypermart.net/Internet/Wap/Program/
Descargar