Chapitre 3 : Les Plateformes Utilisées
Souleymane THIONGANE Ousseynou NDOYE
42
Une enveloppe, contenant des informations sur le message
lui-même afin de permettre son acheminement et son traitement.
· Un modèle de donnés, définissant le
format du message, c'est-à-dire les informations à
transmettre.
Dans le cas de l?interface MM7, on utilise les messages SOAP
pour transmettre les différents paramètres de l?utilisateur du
service et une déclaration pour chaque fichier attaché au
message. Dans cette déclaration, on spécifie le type du message,
le codage utilisé, et plusieurs autres paramètres qui ont pour
rôle d?informer le récepteur des caractéristiques des
messages envoyés (voir Annexe C).
Ces messages sont ensuite encapsulés par le protocole
HTTP.
b. Le protocole http
Le protocole HTTP est le protocole le plus utilisé sur
Internet depuis 1990. A partir de la version 1.0 du protocole, on peut
transférer des messages avec des en-têtes décrivant le
contenu du message.
Le but du protocole HTTP est de permettre un transfert de
fichiers, à la base essentiellement des fichiers HTML, mais tout autre
type de fichier est possible. Les fichiers sont localisés grâce
à une chaîne de caractères appelée URL.
I. Présentation
1. KANNEL
a. Etude du logiciel Kannel
La passerelle WAP Kannel est une passerelle WAP et SMS Open
Source (source libre).
Lancé en mars 1999, le projet est à l?initiative
de la compagnie Finlandaise WAPIT. La passerelle est actuellement disponible
pour le système d?exploitation Linux (RedHat et Debian). La version
courante est la version 1.4.1 Concernant les fonctionnalités SMS, la
passerelle Kannel supporte les principaux protocoles SMS. La passerelle WAP ne
supporte pas encore la méthode POST, le mode déconnecté
pour le protocole WSP, WTLS et l?identification des clients. Au niveau de la
couche transport WDP, seul le
protocole de transport UDP est supporté. La passerelle
Kannel est un outil très intéressant pour développer des
applications en collaboration avec le serveur Web Apache.
b. Architecture de kannel
L'interface externe de la passerelle
La passerelle possède trois interfaces chacune ne pouvant
communiquer qu?avec un type d?équipement spécifique :
o Les centres SMS (SMSC), utilisant divers protocoles.
o Les serveurs HTTP, pour les contenus WAP et SMS et fournit le
contenu des « WAP push »
o HTTP est utilisé pour le «pull», et PAP pour
le push.
o Les terminaux WAP, implémentant la pile de protocole
WAP et (pour le « push WAP Push client.
43
Souleymane THIONGANE Ousseynou NDOYE
Figure 11 : Exemple de l'interface
externe
Il existe plusieurs vendeurs de Centres SMS et la plupart
d?entre eux utilisent des protocoles propriétaires spécifiques,
lesquels sont semblables sur le principe mais diffèrent sur quelques
détails. Le principe général de ces protocoles est :
- Le client se connecte au Centre SMS
- Lorsqu? un message est arrivé à partir d?un
téléphone, le SMSC l?envoi au client qui par la suite devra
l?acquitter.
- Lorsque le client voudra envoyer un message, il émet une
requête au SMSC qui l?acquittera.
- Lorsque le client est servi il se déconnecte Kannel est
conçu pour pouvoir communiquer avec plusieurs SMSC utilisant des
protocoles différents.
Chaque compte SMSC est acheté auprès d?un
opérateur mobile. A chaque compte correspond aussi un numéro vers
lequel sont acheminés les messages destinés au compte et
apparaît comme le numéro expéditeur lorsqu? un message est
envoyé via ce compte (n?emprche certaines connections permettent
à l?usager de spécifier lui-mrme le numéro de
l?expéditeur). Afin de pouvoir traiter le maximum de flux, Kannel a
besoin de pouvoir communiquer indépendamment avec chacun des
équipements reliés à ses interfaces c?est à dire en
opérant par multitâche. Par exemple il ne serait pas assez
intéressant de lire une requête par SMS ou WAP, chercher le
contenu de la requête par HTTP, de retransmettre le contenu au
destinataire et seulement ensuite pouvoir traiter la requête suivante.
Ce serait assez rapide si seulement les serveurs HTTP pouvaient
agir avec une extrême rapidité mais ce n?est malheureusement pas
le cas. Chaque transaction HTTP peut prendre potentiellement une durée
illimité sans pour autant échouer et Kannel ne doit laisser une
requ4te HTTP lente priver d?autres requites d?rtre servi Ce que Kannel va faire
alors, est de lire aussi rapidement que possible toutes les requêtes
provenant de ses interfaces et de les
placer dans une queue interne. Alors il essaiera de faire les
requ~tes HTTP aussi vite qu?il le pourra et renvois les réponses aux
clients. La réponse à un client dépendra de la
durée que prendra sa requête auprès du serveur HTTP.
Le problème qui se pose est lorsque Kannel reçoit
un nombre important de requ~te et qu?à la suite il soit hors service,
les requites seront perdues. Alors l?idée est de mettre la liste dans
une mémoire persistante (disque par exemple), mais cette
implémentation n?est pas encore mise en oeuvre.
Division des fonctions : les BOXES
Kannel divise ses différentes fonctions selon trois
processus appelés « boxes » basés essentiellement sur
le type d?équipement externe avec lequel il veut dialoguer.
Le bearerbox implémentant le niveau
porteur du WAP (couche WDP).Il permet entre autre la connexion aux
différents SMSC.
Le smsbox implémentant l?essentiel des
fonctionnalités de la passerelle SMS. Il reçoit les messages
texte depuis le bearerbox et les interprète comme des requêtes
vers des services et y répond en utilisant le chemin
approprié.
Le wapbox qui implémente la pile de
protocole WAP et le WAP Push (protocole de niveau applicatif). Quand le wapbox
est utilisé pour le pushing, il est appelé PPG (Push Proxy
Gateway). L?autre moyen d?envoi de donnée étant le pulling.
Notons qu?il n?est possible de mettre en place qu?un seul
bearerbox tandis qu?il est possible de disposer de plusieurs wapbox et de
smsbox.
Disposer de plusieurs wapbox et smsbox peut s?avérer
bénéfique surtout lorsque la charge est très importante.
Dans ce cas le bearerbox maintient une connexion avec différents wapbox
et smsbox grkce à un système de « battement de coeur
(semblable au ping)
45
Souleymane THIONGANE Ousseynou NDOYE
Figure 12: Boxes of pull Kannel
o Le Bearerbox
Le bearerbox reçoit les messages UDP envoyés depuis
les téléphones, les réachemine vers les wapbox,
reçoit les réponses envoyées par les wapboxes, et envoie
le message UDP correspondant aux mobiles. Puisque pouvant être
connecté à plusieurs wapboxes, le bearerbox doit être
capable de router les paquets UDP. Pour cela, tout paquet provenant du
même mobile sera routé vers le même wapbox durant une
session. En pratique, le problème du routage est simplifié car
tout paquet provenant d?une mrme adresse IP sera acheminé vers le mrme
wapbox.
En effet les terminaux mobiles obtiennent des adresses de
façon dynamique. Lorsque qu?un terminal désire communiquer avec
la passerelle, celui-ci lui attribue automatiquement une adresse IP qui
permettra son identification tout au long de la transaction. Une fois celle-ci
achevée, le terminal mobile libère son adresse IP qui pourra
alors être attribuée à un autre client.
Le bearerbox fait appel à plusieurs threads et fil
d?attente au niveau de la passerelle, son fonctionnement interne est
décrit par la figure suivante
Figure 13: Architecture du Bearerbox
o LE Wapbox
Lorsque le «pulling» est utilisé, le Wapbox lit
les messages depuis le bearerbox, maintient un état interne de chaque
client et émet les requêtes HTTP pour le compte des clients. Il
répond aux messages conformément aux spécifications du
WAP. Les fonctions de base sont assez simples mais les choses deviennent
compliquées lorsque la charge commence à devenir lourde.
Au niveau de l?implémentation, seuls WTP et WSP sont pris
en compte. W TLS existe mais sous forme de module. Coté transport, UDP
est actuellement le seul protocole utilisé dans WDP ce qui signifie que
WCMP (Wireless Control Message Protocol) n?est pas implémenté. En
ce qui concerne les messages « push », ils peuvent être
confirmés ou non confirmés. Dans le second cas, le PPG envoi le
contenu push au bearerbox (en lui demandant de faire un SMS
47
Souleymane THIONGANE Ousseynou NDOYE
(push).Pour le push confirmé, s?il est
orienté-session, la passerelle demande d? abord au mobile
d?établir une session avec lui. Le PPG maintient la session et envoi les
données au mobile et lui envoi aussi des confirmations si
nécessaire. Outre ces deux types de push, Kannel peut aussi fonctionner
comme une passerelle pull. Le Wapbox envoi les contenus push via SMS, mais la
requête résultante utilise un support IP.
KANNEL comme passerelle SMS
Le SMS, Short messaging Service, est un moyen d?envoi de messages
courts (160 caractères) jà partir d?un mobile GSM vers un autre.
Il permet, en plus de l?envoi de texte simple,
d?envoyer des contenus avancés comme les logos
d?opérateurs, les sonneries dappels, les cartes d?affaires et
les configurations de mobiles.
Les services SMS sont des services initiés par des
messages SMS envoyés vers un numéro de téléphone
(le plus souvent court) et qui répondent à des requêtes qui
leurs sont adressées. Quand les services SMS sont utilisés, le
client (terminal mobile) envoie un message
SMS à un certain numéro, qui pointe vers un centre
SMS précis. Ce centre SMS envoie le message à son destinataire en
utilisant un protocole spécifique. Par exemple un centre SMS Nokia
utilise le protocole CIMD.
En pratique chaque SMSC différent utilise un protocole
différent, une passerelle SMS est utilisée pour rendre possible
la connexion entre SMSC différents.
Le grand apport de Kannel est de translater chaque protocole SMSC
vers le protocole http, ce qui simplifie le déploiement des services.
Figure 14 : Kannel comme passerelle
SMS
Une passerelle SMS peut aussi être utilisée pour
relayer les messages SMS du réseau GSM vers un autre type de
réseau.
48
Souleymane THIONGANE Ousseynou NDOYE
Kannel fonctionne comme une passerelle SMS, pouvant communiquer
avec plusieurs types de SMSC et routant les messages qu?il reçoit
vers des fournisseurs de contenus, sous forme de requêtes
http. Ces fournisseurs de contenus répondent à la requête
et la réponse est retournée au mobile avec la connexion au SMSC
requise et le protocole requis.
En plus du fait de servir les SMS-MO (provenant du mobile),
Kannel fonctionne aussi comme une passerelle « push », les
fournisseurs de contenus peuvent demander à Kannel denvoyer
des messages aux terminaux.
Kannel va alors déterminer le bon SMSC vers lequel
transiter le message en utilisant encore le protocole requis. De ce fait le
fournisseur de contenus n?aura pas à connaître un protocole SMSC
mais juste l?interface de Kannel vers lequel il enverra le message.
KANNEL comme passerelle WAP
WAP, abréviation de Wireless Application Protocol, est une
collection de divers langages et outils et une infrastructure pour mettre en
application des services pour des téléphones portables.
Traditionnellement de tels services ont fonctionné par
l'intermédiaire des appels normaux de téléphone ou des
messages textuels courts (par exemple, messages SMS dans des réseaux de
GSM). WAP permet de mettre en application des services semblables au World Wide
Web.
~ la différence de l?attente des usagers, WAP n'apporte
pas la teneur existante de l'Internet directement au téléphone.
Il y a trop de problèmes techniques et autres pour que ceci ne travaille
correctement. Le problème principal est que le contenu d'Internet est
principalement sous forme de pages HTML, et ils sont écrits de telle
façon qu'ils exigent les raccordements rapides, les unités de
traitement rapides, les grandes mémoires, les grands écrans, la
sortie audio et souvent également les mécanismes assez efficaces
d'entrée.
En plus, les téléphones portables ont des
processeurs très lents, la mémoire très petite, la largeur
de bande insondable et intermittente, et les mécanismes
extrêmement maladroits d'entrée. La plupart des pages existantes
de HTML ne fonctionne pas sur des téléphones mobiles, et ne le
feront jamais.
WAP définit un langage complètement nouveau le
Wireless Markup Language (WML), qui est plus simple et beaucoup plus
strictement définie que le HTML. Il définit également un
langage de script, WMLScript, que tous les navigateurs doivent avoir pour le
supporter. Pour rendre des choses encore plus simples pour les
téléphones, il définit même son propre format
à mémoire d'image (Wireless Bitmap, ou WBMP).
Le HTTP est également trop inefficace pour l'usage sans
fil. Cependant, en employant un format binaire et compressé
sémantiquement semblable il est possible de ramener les frais
49
Souleymane THIONGANE Ousseynou NDOYE
généraux de protocole à quelques octets par
demande, au lieu des centaines habituelles
RI?RFAIAM. $ InMi, 1 $ 3 RINIQA ,QRR,NeOODISiODIRIeISIRARFROeli
FP SORyer. Cependant, pour rendre des choses plus simples également pour
les personnes mettant en application réellement les services, WAP
présente une passerelle entre les téléphones et les
serveurs fournissant le contenu aux téléphones.
Figure 15 : Kannel comme passerelle
WAP
La passerelle WAP communique avec le téléphone
en utilisant une pile de protocole WAP, et traduit les demandes qu'il
reçoit au HTTP normal. Ainsi les fournisseurs de contenu peuvent
utiliser tous les serveurs de HTTP et utiliser le savoir-faire existant au
sujet de l'exécution et de l'administration de service de HTTP.
En plus des traductions de protocole, la passerelle compresse
également les pages
WML dans une forme plus compacte, pour sauver la largeur de bande
Over-The-Air et pour réduire plus loin les conditions de traitement du
téléphone. Il compile également des programmes de
WMLScript dans un format bytecode. Les dernières caractéristiques
du WAP définissent quelques conversions additionnelles que Kannel
commence à mettre en application.
Kannel n'est pas simplement une passerelle WAP. Il fonctionne
également comme passerelle SMS. Bien que le WAP soit la technologie
chaude et techniquement supérieure, les téléphones SMS
existent en grand nombre et les services SMS sont ainsi tout à fait
utiles. Par conséquent, Kannel fonctionne simultanément comme
passerelle WAP et SMS.
Kannel et la sécurité
( QF1 11,1FRnFeIKe O?EFFqM i RIiMAWFTII, FRIERx, I] DnnIO ,AiOiMe
166/ SR,r OeM AEIKMaFAiRnM sécurisées entre le bearerbox et les
smsbox et wapbox auxquels il est connecté.
Souleymane THIONGANE Ousseynou NDOYE
|
|
50
|
|
|
|
|
L?administration à distance peut également ~tre
assurée gr~ce à une connexion sécurisée.
L?accès des utilisateurs à la passerelle peut ~tre
entièrement sécurisé et contrôlé en
spécifiant des utilisateurs avec mots de passe dans le fichier de
configuration. De ce fait tout utilisateur désirant envoyer un SMS, par
exemple, devra au préalable entrer son login et mot de passer
définis dans le groupe sms-user du fichier de configuration ou
même dans un autre fichier. Kannel prévoit aussi des certificats
pour les connexions http sécurisées (exemple
https). Ces certificats permettent de vérifier
l?authenticité d?un serveur ou d?un client.
|