Brevet FR2889394A1 — publié le 20070202

La présente invention concerne le domaine des télécommunications. Elle se rapporte plus particulièrement à un dispositif d'interception et d'analyse de trafic pour des terminaux connectés à un réseau de télécommunication, selon une technologie sans fil, utilisant par exemple la norme de télécommunication IEEE 802.11 et ses évolutions, plus communément dénommées Wifi (pour Wireless Fidelity ), ou encore la norme basée sur le standard de transmission radio IEEE 802.16, connue sous l'appellation Wimax. L'invention, en référence à la figure 1, se situe dans le contexte du déploiement prochain de nouveaux réseaux mobiles sans fil, notamment Wifi, basés sur un accès partagé à un réseau IP 10 entre plusieurs utilisateurs au travers d'un modem xDSL 20 d'un abonné, typiquement un modem ADSL (pour Asymmetric Digital Subscriber line en anglais), intégrant une borne Wifi 30 comprenant un routeur Wifi couplé à une antenne. En effet, lorsque suffisamment d'abonnés seront équipés de tels modems intégrant la borne Wifi et le modem ADSL, on pourra envisager de déployer des réseaux mobiles Wifi en allouant une partie de la bande passante associée à chaque modem à l'hébergeur du modem et une autre partie aux différents utilisateurs potentiels. Chaque utilisateur, connecté par liaison Wifi 40 à la borne par l'intermédiaire d'un terminal mobile 50 de type PDA ( Personnal Digital Assistant en anglais) ou téléphone mobile intelligent équipé d'un module de liaison Wifi, aura alors accès au réseau IP auquel est raccordée ladite borne radio et pourra mettre en oeuvre différents services sur le réseau tels que navigation Internet, voix sur IP, lecture temps réel de fichier diffusé en continu ( streaming en anglais), et autres services selon d'autres protocoles de communication du même type. Dans un tel contexte, l'utilisateur, avant de solliciter un service sur le réseau, aura alors besoin de savoir s'il dispose de suffisamment de bande passante allouée pour pouvoir initier le service souhaité. Il devrait donc idéalement pouvoir disposer d'informations permettant de caractériser de manière dynamique sa connexion au réseau, notamment afin de pouvoir identifier à tout instant les différents services en cours, leur débit associé sur le lien radio, ainsi que le débit maximum qui lui est alloué. L'accès par l'utilisateur à de telles informations liées aux caractéristiques de la liaison réseau qu'il a établie est donc primordial dans ces nouveaux réseaux Wifi, pour permettre au client de mieux gérer sa connexion radio et les différents services qu'il souhaite mettre en oeuvre en fonction de la bande passante qui lui a été allouée. Il existe dans l'état de la technique, des modules logiciels pour terminaux mobiles de type PDA, permettant d'effectuer la détection de bornes Wifi. Un tel dispositif est décrit sur le Web à l'adresse http://pocketwarrior.sourceforge.net. Cependant, il n'existe pas de dispositif pour PDA susceptible de caractériser précisément la connexion du client et qui soit capable par exemple d'intercepter et d'analyser dynamiquement le trafic radio en vue d'identifier les différents protocoles mis en oeuvre. Des dispositifs d'interception et d'analyse de trafic associé à une interface permettant la caractérisation des connexions réseaux sont par contre connus dans le domaine du PC. Il existe de tels modules logiciels dans pratiquement tous les systèmes d'exploitation pour PC. Par exemple, les informations délivrées par le système d'exploitation Windows XP pour une connexion client/serveur établie sont les suivantes: durée de la connexion depuis l'établissement de celle-ci, débit maximum possible du lien, nombre de paquets de données reçus et envoyés, adresse IP, masque de sous-réseau et passerelle par défaut, etc. De manière générale, les informations caractérisant une connexion réseau, qui sont mises à disposition par les systèmes d'exploitation, concernent essentiellement les volumes échangés et la durée de la connexion. Ces utilitaires ne sont de toute façon pas présents sur les terminaux mobiles de type PDA, principalement du fait que les systèmes d'exploitation embarqués sont fortement allégés. Par ailleurs, quand on désire obtenir des informations plus fines sur les caractéristiques de la connexion, qui soient susceptibles par exemple de fournir une identification des différents protocoles mis en oeuvre, cela conduit à des solutions complexes pour un client et extrêmement consommatrices en terme de ressources de calcul et de mémoire et de ce fait, encore plus inadaptées dans un environnement allégé tel qu'offert par les terminaux mobiles de type PDA ou téléphones intelligents. Ces solutions ont en fait plutôt été développées pour les administrateurs de réseaux ou les ingénieurs désirant réaliser des tests de charge ou l'analyse de trafic et ne sont pas transposables au monde de l'embarqué. Par exemple, on peut citer un outil comme Ethereal (http://wwww.ethereal. com), qui est un analyseur de protocoles du type précité. La présente invention a pour but de remédier à ces inconvénients en proposant un dispositif de caractérisation de trafic adapté pour terminaux embarqués, permettant notamment à un client de visualiser en temps réel l'état de sa connexion sans fil et notamment d'identifier les différents services mis en oeuvre et ce, avec le minimum d'impact sur les ressources de l'équipement de l'utilisateur. Avec cet objectif en vue, l'invention a pour objet un terminal comprenant des moyens de connexion et d'émission/réception avec au moins un réseau de télécommunication, des moyens pour exécuter au moins un service sur ledit réseau selon au moins un protocole de communication et une interface utilisateur graphique, caractérisé en ce qu'il comprend: -des moyens d'interception et de mémorisation des trames de données échangées sur le réseau par ledit terminal dans le cadre de services en cours d'exécution, - des moyens d'analyse desdites trames mémorisées pour en déduire des paramètres de caractérisation de la connexion dudit terminal au réseau, comprenant des moyens d'identification des différents services mis en oeuvre et leur débit instantané associé, et - des moyens de visualisation en temps réel desdits paramètres de caractérisation de la connexion au travers de ladite interface utilisateur graphique. Avantageusement, un tri est réalisé pour déterminer si les trames interceptées relèvent d'une application temps réel ou non temps réel. Pour ce faire, les moyens d'analyse des trames de données mémorisées comprennent des moyens pour distribuer les trames en fonction de leur type de protocole, temps réel ou non temps réel. Avantageusement, les moyens d'analyse des trames de données mémorisées comprennent encore des moyens pour comptabiliser le nombre de trames se rapportant à des services temps réel et le nombre de trames se rapportant à des services non temps réel. Ainsi, les paramètres de caractérisation se rapportant au débit associé à chaque service identifié temps réel et non temps réel, peuvent être déterminés aisément. De préférence, les moyens de visualisation comprennent des moyens d'affichage des paramètres de caractérisation par service identifié. Un tel affichage par service mis en oeuvre offre à l'utilisateur une caractérisation fine de l'état de sa connexion à tout instant. Selon un mode de réalisation, les moyens d'interception et d'analyse des trames de données comprennent un pilote logiciel NDIS de type protocole, prévu pour coopérer avec les moyens de connexion et d'émission/réception du terminal avec le réseau de télécommunication. L'invention concerne encore un procédé de caractérisation de la connexion d'un terminal avec un réseau de télécommunication, ledit terminal comprenant des moyens pour exécuter au moins un service sur ledit réseau selon au moins un protocole de communication, ledit procédé étant caractérisé en ce qu'il comprend des étapes de: - interception des trames de données échangées sur le réseau par ledit terminal dans le cadre de services en cours d'exécution, - mémorisation desdites trames interceptées, - analyse desdites trames mémorisées pour en déduire des paramètres de caractérisation de la connexion comprenant l'identification des différents services mis en oeuvre et leur débit instantané associé, et - visualisation en temps réel desdits paramètres de caractérisation de la connexion au travers d'une interface utilisateur graphique. Avantageusement, l'étape d'analyse comporte une distribution des trames interceptées et mémorisées en fonction de leur type de protocole, temps réel ou non temps réel, et une comptabilisation du nombre de trames se rapportant à des services temps réel et du nombre de trames se rapportant à des services non temps réel. L'invention concerne également un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon l'invention destinées à être exécutées par un terminal, lorsque ledit programme est exécuté sur le terminal. Selon un mode de réalisation, le programme d'ordinateur selon l'invention est implémenté sous la forme d'un pilote NDIS de type protocole, prévu pour coopérer avec une carte réseau intégrée au terminal. Enfin, l'invention concerne un support d'enregistrement lisible par un terminal sur lequel est enregistré le programme selon l'invention. D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante donnée à titre d'exemple illustratif et non limitatif et faite en référence aux figures annexées dans lesquelles: - la figure 1 illustre schématiquement un contexte d'application de la présente invention et a déjà été décrite, - la figure 2 décrit un terminal mobile doté des moyens de mise en uvre de la présente invention, - la figure 3 est un organigramme illustrant les principales étapes de l'algorithme mettant en uvre l'invention, et - la figure 4 illustre un exemple d'interface utilisateur graphique obtenue selon l'invention. L'invention vise donc à mettre à disposition d'un terminal mobile 50, tel que représenté à la figure 2, connecté à un réseau de télécommunication par l'intermédiaire d'un module de liaison sans fil 51, un ensemble d'informations permettant à l'utilisateur de caractériser de façon très complète la connexion établie entre le terminal et le réseau et notamment, de caractériser les différents services de communication mis en uvre ainsi que leur débit associé sur le lien radio. Le module de liaison sans fil 51, permettant d'assurer la connexion et l'émission/réception de trames de données du terminal mobile avec le réseau de télécommunication, est par exemple constitué d'une carte réseau de type Wifi et de son gestionnaire logiciel associé. Pour ce faire, le terminal mobile comprend des moyens de traitement 53 spécifiques, intégrant une interface utilisateur graphique prévue pour être affichée sur l'écran 52 du terminal mobile et présentant des fonctionnalités bien précises, qui seront décrites plus en détail ciaprès, permettant avantageusement à l'utilisateur de mieux gérer sa connexion radio ainsi que la bande passante qui lui a été allouée. Pour ce faire, :Les moyens de traitement 53 implémentent tout d'abord des moyens d'interception et de mémorisation des trames de données échangées sur le réseau par le terminal dans le cadre des services qu'il a demandés et qui sont en cours d'exécution. Les moyens de traitement comprennent également des moyens d'analyse des trames préalablement mémorisées permettant d'en déduire des paramètres de caractérisation de la connexion du terminal au réseau, se rapportant principalement à une identification des différents protocoles de communication mis en uvre et leur débit instantané associé. Enfin, les moyens de traitement implémentent des moyens de visualisation en temps réel de ces paramètres de caractérisation de la connexion au travers de l'interface utilisateur graphique. Les moyens de traitement permettent donc dans un premier temps d'intercepter le trafic échangé en voie montante et descendante, puis de mémoriser ces données pour les analyser en vue d'en déduire des paramètres utiles pour l'utilisateur: débit instantané par application, débit global, etc. Les moyens de traitement sont constitués d'un module logiciel, qui, selon un exemple de réalisation, est développé en s'appuyant sur la plateforme dotNet (langage développé par la société Microsoft), ayant pour avantage la mise en uvre d'outils et d'API ("Application Program Interface" en anglais) compatibles avec tous types de terminaux (PDA, téléphone intelligent, PC). Le choix de dotNet implique donc une implémentation dans un environnement Windows, par contre l'interface utilisateur graphique associée aux moyens d'interception et d'analyse de trafic peut tout à fait être développée pour des terminaux fonctionnant sous d'autres systèmes d'exploitation. La démarche adoptée est de court-circuiter la pile de protocoles de communication réseau, appelée pile TCP/IP, afin d'avoir un accès direct et total au niveau des paquets IP. Malheureusement, le système d'exploitation allégé Windows CE, destiné aux terminaux embarqués de type téléphones portables, ordinateurs de poche..., n'implémente pas cette possibilité. Pour contrer cette impossibilité, il est donc nécessaire de descendre plus bas dans les couches OSI, et ceci grâce au standard NDIS (pour Network driver Interface Specification en anglais). En effet, lorsqu'une application désire communiquer avec une autre application en passant par une interface réseau, les messages envoyés par cette application passent obligatoirement par les interfaces TDI (pour Transport Data Interface en anglais) et NDIS. Le modèle OSI, qui décompose les différents protocoles d'une pile en 7 couches, peut être utilisé pour décrire la suite de protocoles Internet. Dans une pile de protocoles, chaque couche résout un certain nombre de problèmes relatifs à la transmission de données, et fournit des services bien définis aux couches supérieures. Les couches hautes sont plus proches de l'utilisateur et gèrent des données plus abstraites, en utilisant les services des couches basses qui mettent en forme ces données afin qu'elles puissent être émises sur le lien physique. La norme Wifi s'attache à définir les couches basses du modèle OSI pour une liaison sans fil, c'est-à-dire la couche physique et la couche liaison de données, laquelle est constituée de deux sous-couches: le contrôle de la liaison logique et le contrôle d'accès au support ou couche MAC. La couche liaison de données définit en fait l'interface avec la carte réseau Wifi et le partage du lien de transmission. La carte réseau réalise quant à elle l'interface entre la couche physique et le réseau et sa fonction est de préparer, d'envoyer et de contrôler les données sur le réseau. Les gestionnaires de périphérique pour les sous-couches de la couche liaison de données déplacent donc des données reçues dans la couche physique par la carte réseau et les transmettent aux autres couches du modèle OSI. Un gestionnaire MAC ou gestionnaire de carte réseau, est ainsi un gestionnaire de périphériques situé dans la sous-couche MAC, fournissant un accès de bas niveau aux cartes réseau. L'interface NDIS fournit quant à elle un ensemble de fonctions génériques permettant d'être indépendant du type de la carte réseau. Il s'agit en fait d'un standard définissant une interface pour la communication entre la couche MAC et les protocoles de communication réseau. NDIS définit donc l'interface logicielle utilisée par les protocoles de communication réseau pour communiquer avec la carte réseau et est située entre les pilotes de protocole NDIS et les gestionnaires d'équipements réseaux (pilote Ethernet, Wifi...) . L'interface de programmation ainsi conçue autorise l'utilisation d'une même configuration matérielle avec plusieurs protocoles de communication réseau. Pour avoir la visibilité sur les paquets IP échangés par un équipement réseau et ainsi réaliser la fonction d'interception des trames de données échangées sur le réseau par le terminal dans le cadre des services en cours d'exécution, il est donc nécessaire de disposer d'un pilote logiciel NDIS de type protocole dédié à cette fonction et situé au-dessus des gestionnaires de cartes réseau. Le principe de fonctionnement du pilote logiciel NDIS de type protocole est de s'enregistrer auprès d'une ou plusieurs cartes réseaux via un processus appelé binding (lien), utilisé pour établir le canal de communication initiale entre le gestionnaire de protocole et le gestionnaire de la carte réseau. Le pilote logiciel NDIS de type protocole est donc utilisé pour relier les gestionnaires de cartes réseaux et ceux des protocoles de communication et permet d'indiquer le type de paquets souhaités. Pour ce qui est du traitement des informations provenant du pilote logiciel NDIS de type protocole, une méthode consiste en la mémorisation des trames de données interceptées afin de perdre le moins de trames possibles, puis en la distribution des trames en fonction de leur type de protocole, temps réel ou non temps réel, leur comptage, leur affichage au travers de l'interface utilisateur graphique et enfin le vidage de la mémoire. Cette méthode est basée sur l'algorithme de la figure 3, illustrant l'enchaînement des séquences décrites ci-dessus. Dans un premier temps, les trames sont donc interceptées et enregistrées en s1 dans une mémoire tampon du terminal. Un premier tri en s2 est ensuite réalisé pour déterminer si la trame interceptée relève d'une application temps réel ou non temps réel. Ce tri est plus ou moins difficile à réaliser selon les applications. Aussi, un module optionnel d'analyse du type d'application peut être prévu, qui permet de lever l'incertitude en ce qui concerne le caractère temps réel ou non temps réel de l'application. Une analyse s5 récurrente et ascendante en terme de couches OSI (de la couche basse vers la couche applicative) permet au 2889394 13 module d'identifier le caractère temps réel ou non temps réel de la trame interceptée mais non encore comptabilisée. Cette analyse s'interrompt d'elle-même quand l'information a été obtenue et la trame est aiguillée vers la branche correspondante de l'algorithme. Les deux branches de l'algorithme possède la même structure: un tri des trames interceptées par application temps réel ou non temps réel, un comptage en s3 des trames par application permettant l'identification des débits associés aux différentes applications et enfin un affichage, au travers de l'interface utilisateur graphique, en s4, des différents paramètres obtenus de caractérisation de la connexion réseau concernant l'identification des différents services mis en oeuvre et leur débit instantané associé. Pour finir, un vidage de la mémoire tampon est effectué en s6. Le module logiciel selon l'invention met donc en oeuvre les éléments d'interface utilisateur graphique, permettant à l'utilisateur de visualiser en temps réel les paramètres de caractérisation de la connexion du terminal mobile au réseau. Un exemple d'une telle interface est représenté à la figure 4. Selon cet exemple, les paramètres de caractérisation de la connexion sont affichés au travers de l'interface utilisateur graphique IHM sous forme de barres-graphes b1 à b4, donnant chacune des valeurs représentatives du débit associé aux différents services mis en oeuvre, à savoir selon cet exemple, les débits courants associés aux services suivants, respectivement non temps réel et temps réel: Internet et FTP, voix sur IP et vidéo. Ces informations permettent également d'afficher le débit courant utilisé par rapport au débit maximum alloué. L'interface utilisateur graphique permet donc à l'utilisateur d'identifier le type de service utilisé et de décider si il peut en activer un nouveau, ceci en fonction de la bande passante restante et de l'abonnement qu'il a souscrit. Le module logiciel selon l'invention permettant l'interception du trafic, l'analyse et la visualisation des trafics en temps réel présent sur la borne au travers d'une interface utilisateur graphique associée, est particulièrement adapté aux terminaux mobiles compatibles Wifi/GPRS ou Wifi/UMTS, fonctionnant notamment avec un système d'exploitation allégé de type Symbian, Pocket PC ou Palm, etc. REVENDICATIONS 1. Terminal (50) comprenant des moyens (51) de connexion et d'émission/réception avec au moins un réseau de télécommunication (10), des moyens pour exécuter au moins un service sur ledit réseau selon au moins un protocole de communication et une interface utilisateur graphique (52), caractérisé en ce qu'il comprend: - des moyens (53) d'interception et de mémorisation des trames de données échangées sur le réseau par ledit terminal dans le cadre de services en cours d'exécution, - des moyens (53) d'analyse desdites trames mémorisées pour en déduire des paramètres de caractérisation de la connexion dudit terminal au réseau, comprenant des moyens d'identification des différents services mis en oeuvre et leur débit instantané associé, et - des moyens de visualisation en temps réel desdits paramètres de caractérisation de la connexion au travers de ladite interface utilisateur graphique. 2. Terminal selon la revendication 1, caractérisé en ce que les moyens d'analyse des trames de données mémorisées comprennent des moyens pour distribuer les trames en fonction de leur type de protocole, temps réel ou non temps réel. 3. Terminal selon la revendication 2, caractérisé en ce que les moyens d'analyse des trames de données mémorisées comprennent des moyens pour comptabiliser le nombre de trames se rapportant à des services temps réel et le nombre de trames se rapportant à des services non temps réel. 4. Terminal selon la revendication 1, 2 ou 3, caractérisé en ce que les moyens de visualisation comprennent des moyens d'affichage des paramètres de caractérisation par service identifié. 5. Terminal selon l'une quelconque des revendications précédentes, caractérisé en ce que les moyens d'interception et d'analyse des trames de données comprennent un pilote logiciel NDIS de type protocole, prévu pour coopérer avec les moyens de connexion et d'émission/réception du terminal avec le réseau de télécommunication. 6. Procédé de caractérisation de la connexion d'un terminal (50) avec un réseau de télécommunication (10), ledit terminal comprenant des moyens pour exécuter au moins un service sur ledit réseau selon au moins un protocole de communication, ledit procédé étant caractérisé en ce qu'il comprend des étapes de: interception (si) des trames de données échangées sur le réseau par ledit terminal dans le cadre de services en cours d'exécution, - mémorisation (si) desdites trames interceptées, - analyse (s2, s3) desdites trames mémorisées pour en déduire des paramètres de caractérisation de la connexion comprenant l'identification des différents services mis en oeuvre et leur débit instantané associé, et visualisation (s4) en temps réel desdits paramètres de caractérisation de la connexion au travers d'une interface utilisateur graphique. 7. Procédé selon la revendication 6, caractérisé en ce que l'étape d'analyse comporte une distribution (s2) des trames interceptées et mémorisées en fonction de leur type de protocole, temps réel ou non temps réel, et une comptabilisation (s3) du nombre de trames se rapportant à des services temps réel et du nombre de trames se rapportant à des services non temps réel. 8. Programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon la revendication 6 ou 7 destinées à être exécutées par un terminal (50), lorsque ledit programme est exécuté sur le terminal. 9. Programme d'ordinateur selon la revendication 8, caractérisé en ce qu'il est implémenté sous la forme d'un pilote NDIS de type protocole, prévu pour coopérer avec une carte réseau intégrée au terminal. 10. Support d'enregistrement lisible par un terminal sur lequel est enregistré le programme selon la revendication 8 ou 9.