FR 2846170 A1 20040423 FR 0213031 A 20021018 La présente invention concerne un procédé d'optimisation du flux de données dans un ensemble de réseaux interconnectés. Elle s'applique plus particulièrement, mais non exclusivement, au trafic sur Internet. D'une manière générale, le manque à gagner du commerce électronique 15 uniquement d à des problèmes de performances de l'lnternet est considérable. Des études montrent que l'attention des utilisateurs diminue lorsque le temps de réponse excède deux secondes. Le seuil de tolérance pour une 20 transaction se situe approximativement aux alentours de huit secondes et un taux d'abandon exponentiel résulte des transactions dépassant ce seuil. Le temps de réponse d'une transaction dépend des serveurs délivrant le service, de la liaison d'accès de l'utilisateur final et, pour au moins 50 %, de 25 l'ensemble des réseaux interconnectés entre ces serveurs et l'utilisateur final, cette proportion ne faisant qu'augmenter. En effet, de nouvelles applications multimédia (vidéo, audio,...) ou grandes consommatrices de bande passante, ne font qu'aggraver la situation. Le bénéfice potentiel de l'lnternet est compromis par diverses problématiques relatives à l'architecture des réseaux interconnectés le constituant et ayant pour effet des délais de transmission, des incidents réseaux etc. -2 L'lnternet repose notamment sur des points d'interconnexion, d'échange entre réseaux privés ou publics: les NAPs (" Network Access Points "). Les NAPs servent de points principaux d'échange, beaucoup sont congestionnés et des points de contention apparaissent fréquemment. Les problèmes de performance dus aux NAPs sont: - les fournisseurs d'accès Internet ISP (" Internet Service Provider ") ne sont pas capables de garantir des niveaux de service quand les données quittent leurs réseaux, - l'engorgement des NAPs: ils sont souvent poussés au-delà de leurs limites, ce qui conduit parfois à un taux de paquets perdus (les informations sont découpées en paquets) qui peut atteindre 10-20 % entraînant une croissance de trafic doublée d'une latence importante, les NAPs ajoutent des niveaux de routeurs supplémentaires au 15 réseau: si un paquet est mis en attente quelques millisecondes sur chaque routeur avant de passer au suivant, la latence peut augmenter rapidement. De plus, l'impossibilité pour un routeur de gérer efficacement les paquets 20 perdus crée un cercle vicieux: quand un ordinateur réalise qu'un paquet est perdu, il redemande sa transmission à travers le routeur congestionné. Par ailleurs, les routeurs redirigent le trafic vers les serveurs selon une notion de chemin le plus court en terme de réseau: les protocoles de routage 25 actuels ne tiennent pas compte ni d'une notion de performance, ni d'une notion de cot. Par exemple, il peut s'avérer plus efficace en terme de cot et en terme de performance d'utiliser un chemin passant par New York pour envoyer une 30 information de Paris à Londres, alors qu'un routage traditionnel choisirait systématiquement le chemin le plus court, et donc dans ce cas un chemin Paris Londres direct. -3 Parmi les solutions actuellement proposées, certaines s'attachent au dimensionnement du réseau. En effet, une approche classique mise en place par les opérateurs IP ou fournisseurs d'accès internet (ISP) est de surdimensionner leurs infrastructures (bande passante bien supérieure au 5 trafic moyen) pour minimiser la probabilité de dégradation de service en cas de problème ou de pic de trafic. Cette approche est loin d'être optimale puisque l'augmentation de la bande passante ne résout pas le problème, la cause de la congestion étant la 10 complexité du réseau d'interconnexion ainsi que la faible capacité de traitement des routeurs. Ainsi, dans un tel scénario, l'augmentation de la capacité des liens multiplie le débit du flot de données par trois ou quatre dans chaque lien, sans pour autant avoir une capacité de traitement plus importante des routeurs, ce qui 15 ne fait qu'amplifier le problème, les utilisateurs finaux constatant toujours des variations importantes dans la qualité du service qui leur est fourni. D'autres solutions reposent sur des architectures spécifiques telles que: - Le " multi homing " qui consiste à s'abonner à plusieurs opérateurs en même temps. Le problème est que, d'une part, le protocole de routage standard BGP (" Border Gateway Protocol ") ne peut pas déterminer l'opérateur le plus adapté en fonction des besoins (arbitrage cot/performance) et que, 25 d'autre part, cela conduit à un gaspillage de bande passante (payée mais inutilisée). - Le " caching " qui consiste en un cache localisé prêt de l'utilisateur qui délivre le contenu le plus fréquemment demandé à travers moins de 30 routeurs, réduisant de ce fait le nombre potentiel de paquets perdus et augmentant ainsi la rapidité globale du service. Cependant, les informations stockées dans les serveurs de cache ne sont que des copies à un instant donné de la donnée originale, elles peuvent devenir obsolètes et le problème est de déterminer la validité de ces -4 copies. Si le rafraîchissement est trop fréquent, il y a engorgement et perte de l'intérêt du procédé. - le " content routing ", version plus évoluée du " caching " traditionnel, mais qui, au final, ne fait que repousser le problème de congestion 5 d'lnternet en périphérie. De plus, ces systèmes ne sont efficaces que pour des contenus statiques. - le " push caching " o le serveur de données original envoie lui-même ses données vers les serveurs de cache. Mais, pour cette dernière solution, les vendeurs de telles solutions doivent 10 collaborer avec les fournisseurs de contenu en installant des logiciels de " technologie push " sur les serveurs de ces derniers. Des solutions techniques sont également explorées comme les routeurs optiques. En effet, la technologie implémentée dans les routeurs ralentit le 15 transfert des données à cause de la transformation du signal optique en signal analogique. Pour exemple, un routeur ne peut traiter un flux de plus d'un Téraoctet par seconde alors que le nombre de fibres optiques en place est capable de transporter plusieurs Téraoctets d'informations par seconde. Les technologies actuelles utilisées pour commuter les données optiques sont connues sous le nom de commutateurs MEMS (" MicroElectroMechanical Systems ") et fonctionnent de la manière suivante: une puce avec un miroir microscopique mobile redirige la lumière instantanément sans avoir besoin de convertir la donnée. Les problèmes de cette technologie sont que les micro-miroirs ne s'adaptent pas immédiatement et nécessitent encore du temps pour se positionner et rediriger la lumière. Il faut noter qu'aucun routeur complètement optique n'a été réalisé jusqu'à 30 présent. Enfin, une dernière solution envisagée est un nouveau protocole, le protocole RSVP (" Resource reSerVation Protocol "). Il permet à chaque application de réserver un niveau de service auprès des réseaux IP. Les applications -5 utilisant les réseaux IP et nécessitant un certain niveau de qualité de service indiquent ainsi les besoins minima et leur vitesse moyenne de transmission point à point, les routeurs IP essayent alors de traiter la demande en allouant la bande passante et les ressources nécessaires mais sans pour autant pouvoir la garantir. Cependant, le protocole RSVP bien qu'il puisse être facilement implémenté dans un environnement Intranet, n'est pas adapté pour transférer des données à travers plusieurs réseaux indépendants, et donc à travers 10 l'Internet. En effet, cela impliquerait que tous les opérateurs implémentent cette technologie sur leurs réseaux risquant alors de ne plus maîtriser leur politique de routage, ce qui est difficilement envisageable. L'objet de l'invention est de résoudre ces inconvénients en proposant une 15 solution qui consiste entre autres à mettre en place une interconnexion des réseaux plus efficace, voire intelligente. A cet effet, elle propose un procédé d'optimisation du flux de données dans un ensemble de réseaux interconnectés, ce procédé comportant deux étapes 20 principales: une étape d'analyse de performances et une étape de décision de routage. 1. L'étape d'analyse des performances comprend les phases suivantes: 1.1. Une phase de constitution d'une liste de réseaux à analyser, ces réseaux provenant de la récupération de tables de routage d'opérateurs (fournisseurs d'accès aux réseaux) et étant communs à ces différents opérateurs, cette phase comportant: - la constitution d'une base d'adresses IP associées à ces réseaux triés à 30 partir d'une analyse du trafic client et/ou d'une analyse de la topologie d'lnternet, l'association de chaque réseau commun à analyser avec une ou plusieurs adresses IP valides de ladite base. -6 1.2. Une phase de détermination de performances des routes des opérateurs par l'analyse des adresses IP valides correspondant auxdits réseaux communs, selon une certaine fréquence définie en fonction de l'analyse du trafic de chaque réseau. 2. L'étape de décision comprend la détermination d'une table de routage optimisée à partir des routes correspondant aux meilleurs opérateurs au vu de critères de routage optimisé définis par le client. Avantageusement, la phase d'analyse du trafic client pourra comporter notamment la récupération des données réelles du trafic et/ou la constitution d'une liste de réseaux utilisés par le client et des adresses IP associées et/ou la détermination du volume de trafic par réseau utilisé par le client. Un nombre trop important de messages ICMP (" Internet Control Message Protocol ": c'est le protocole utilisé sur l'Internet qui permet d'effectuer le contrôle de flux, la signalisation d'erreurs, la redirection de routes, le contrôle de l'état des machines distantes) reçus à une adresse IP analysée pouvant être perçu comme une attaque, le nombre de paquets ICMP envoyés à 20 chaque adresse devra être limité. Par conséquent, la recherche d'adresses IP valides pourra se répartir sur plusieurs adresses IP pour un même réseau local, leurs données de performance étant très proches. La table de routage optimisée pourra être intégrée dans le routeur de sortie 25 du client utilisateur au travers d'une session BGP. La fréquence d'analyse de chaque adresse IP valide pourra être calculée en fonction: - de l'importance du réseau client en terme de trafic, 30 - du nombre d'adresses IP trouvées pour ce réseau, - du nombre d'opérateurs utilisés. La détermination de la fréquence de l'analyse des réseaux pourra tenir compte de la charge et/ou du gain sur chacun desdits réseaux. -7 En effet, la liste des réseaux communs accessibles pourra être réalisée périodiquement voire en temps réel et les réseaux ayant un trafic au-dessous d'un seuil défini seront analysés moins fréquemment. Une optimisation du procédé pourra comprendre un ou plusieurs des points suivants: - le choix des adresses IP à analyser pour un grand réseau parmi celles que comporte le petit réseau le plus chargé pour ce grand réseau, l'analyse quantitative des résultats statistiques afin de distinguer les différences de performance au sein d'un même réseau. L'étape de décision pourra comprendre un classement des opérateurs issus de l'étape d'analyse de performances s'effectuant de la façon suivante: 15 - calcul d'un indice de performance pour chaque opérateur, - autocorrélation du classement en réalisant séquentiellement deux évaluations de l'indice par cycle de mesure. L'indice de performance pourra se calculer en utilisant la formule suivante I(A) = ai log Perf; (A) LL?.dll est la moyenne des indices Perfn pour tous les opérateurs. 25 En outre, un dispositif mettant en oeuvre le procédé pourra comporter deux éléments essentiels connectés entre eux: - au moins une sonde " client " attribuée à la récupération d'informations du réseau du client utilisateur pour définir les meilleures 30 routes à utiliser, - 8 une sonde centrale permettant d'obtenir une vision globale de l'état d'Internet et comportant un ensemble de serveurs collaborant ensemble. Cet ensemble de serveurs pourra comprendre: - des sondes mesurant la qualité (temps de réponse, régularité, trafic,...) des différentes routes sur Internet à partir d'un opérateur donné; il existe une sonde par opérateur, - un serveur central assurant la vue temps réelle des différentes routes sur Internet et allégeant la charge CPU de l'unité centrale des sondes qui ne sont pas directement consultées, - des serveurs gérant un très grand nombre de points atteignables sur l'Internet (adresses IP correspondant à des sous-réseaux d'extrémité), - un serveur collectant les informations du serveur central quant aux conditions des différentes routes sur Internet, ainsi que des informations sur 20 le trafic des clients utilisateurs, et générant des tableaux de bord (temps réel et historique) à destination des clients utilisateurs, ainsi que le paramétrage des sondes. Avantageusement, les différents serveurs communiquent entre eux et avec 25 les sondes clients via un protocole spécifique sécurisé basé sur le protocole TCP (" Transmission Control Protocol "). Des modes d'exécution de l'invention seront décrits ci-après, à titre d'exemples non limitatifs, avec référence aux dessins annexés dans 30 lesquels: La figure 1 est un algorithme de mise en oeuvre du procédé selon l'invention La figure 2 est une représentation schématique d'un dispositif selon l'invention; La figure 3 est une autre représentation schématique d'un dispositif selon l'invention. Dans cet exemple, un algorithme de mise en oeuvre du procédé selon l'invention (Figure 1) comprend deux étapes principales: une étape d'analyse de performances et une étape de décision de routage. 1. L'étape d'analyse des performances (bloc 1) comprend les phases suivantes: A partir des accès Internet fournis par une multitude d'opérateurs ISPs 15 (fournisseurs d'accès à Internet), des mesures de performance sont effectuées en temps réel sur un grand nombre de réseaux à l'échelle de l'ensemble de l'Internet, dans le but de déterminer les routes les plus performantes à un instant t. 1.1. Une phase de récupération des tables de routage consistant en la détermination des réseaux communs à l'ensemble des ISPs. Cette phase implémente BGP (tel que définit par la RFC 171 1, les RFC étant les normes de référence pour tous les aspects d'lnternet) et récupère en 25 temps réel l'ensemble des tables de routage que constitue l'Internet à partir des différents opérateurs auxquels la plateforme est raccordée (les mises à jours UPDATE/DELETE BGP sont supportées) (bloc 2). Ainsi, en temps réel, on obtient une vue de l'ensemble des routes qui 30 constituent l'Internet (environ 110 000 différentes routes aujourd'hui) et le chemin à utiliser pour atteindre les différentes destinations (liste des opérateurs à traverser pour atteindre le réseau destination). Chaque opérateur est repéré par son numéro d'AS (" Autonomous System ") et identifié à partir d'une correspondance Opérateur AS récupérée à partir de données techniques présentes sur Internet. Chaque route récupérée est de la forme: Adresse du réseau: Opérateur: Liste des réseaux à traverser Ces données sont ensuite compilées afin de ne ressortir que les réseaux communs à l'ensemble des opérateurs. A travers les mises à jour temps réel reçues par BGP, on obtient ainsi une vue temps réel des routes accessibles 10 à partir d'un ensemble d'opérateurs (bloc 3). 1.2. Une phase d'analyse du trafic client comportant: a. la récupération des données réelles du trafic client (bloc 4) à l'aide 15 de différents mécanismes utilisés en fonction des éléments réseaux en place: o Netflow (Cisco) (bloc 5), o Sflow (RFC 3176) (bloc 6), o Cflow (Juniper) (bloc 7), o Sniffing de paquets (analyse le trafic passant sur un brin Ethernet) (bloc 8); b. la constitution d'une liste des réseaux rencontrés et des adresses IP associées (bloc 9). c. la constitution, pour chaque élément de trafic récupéré, d'une table du volume de trafic par réseau source et destination (bloc 10), d. l'envoi régulier de cette table pour être utilisée lors de la phase de constitution d'une base d'adresses IP, (bloc 11), afin que la pondération des réseaux soit la plus pertinente possible. 30 1.3. Une phase d'analyse de la topologie (bloc 12) des réseaux des opérateurs (bloc 13) consistant en la détermination, pour un réseau donné, de l'ensemble des noeuds traversés pour atteindre cette destination (bloc 14). - 11 Les données topologiques ainsi déterminées vont compléter les informations de la base d'adresses IP (bloc 11). 1.4. Une phase de constitution d'une liste de réseaux à analyser, ces réseaux provenant de la récupération de tables de routage des opérateurs (fournisseurs d'accès à Internet) et étant communs à ces différents opérateurs, cette phase comportant: - la constitution d'une base d'adresses IP (bloc 11) associées à ces 10 réseaux triés à partir d'une analyse du trafic client (blocs 4-10) et d'une analyse de la topologie d'lnternet (blocs 12-14), - l'association de chaque réseau commun à analyser avec une ou plusieurs adresses IP valides de ladite base (bloc 11 bis). Il est à noter que, dans le cas o le client utilisateur possède ses propres opérateurs, les réseaux à analyser devront également être communs aux opérateurs utilisés par le client. La validité des adresses IP est testée de la manière suivante: Pour chaque réseau à analyser, une adresse IP lui appartenant est recherchée dans la base de données. Si une adresse IP est trouvée alors sa validité est testée, par le biais de " ping " (application qui mesure le temps d'accès à une machine distante et 25 la stabilité de la liaison (par l'amplitude et le nombre de paquets perdus)). Si l'adresse IP est accessible par tous les opérateurs utilisés, alors les données sont envoyées en phase de détermination des performances (bloc ). Si l'adresse IP n'est pas valide alors le processus de recherche d'IP continue 30 (bloc 11) jusqu'à en trouver une qui le soit. Si aucune adresse IP valide n'est trouvée, alors le réseau n'est pas analysé. Si une adresse IP ne répond plus, alors elle est désactivée, mais pourra être re-testée ultérieurement. - 12 1.5. Une phase de détermination (bloc 15) des performances de routes par l'analyse des adresses IP appartenant aux réseaux communs aux différents opérateurs utilisés (bloc 11 bis) se déroule de la manière suivante: a. Détermination des fréquences d'analyse des réseaux en fonction de l'analyse du trafic (bloc 16) Les routes qui constituent l'Internet ne représentent pas toutes le même volume de trafic et la même importance dans le réseau: certaines routes sont fréquemment utilisées comme celles correspondant au site Microsoft (Marque déposée) par exemple, tandis que d'autres ne sont pratiquement jamais utilisées comme un site amateur. Etant donné qu'il est inconcevable de mesurer l'ensemble des réseaux très fréquemment, il est nécessaire de déterminer la fréquence d'analyse en fonction de données de trafic et ce, afin de se concentrer sur les réseaux les plus pertinents avec la plus grande finesse dans l'analyse. A partir de données de l'analyse du trafic récupérées (blocs 9 et 10), une détermination des fréquences de l'analyse des réseaux les plus pertinents est mise en place par deux approches complémentaires: 1) Pondérer les fréquences auxquelles sont analysés les différents réseaux par la charge sur chacun d'eux, c'est-à-dire analyser à la fréquence maximale, soit 120 fois par cycle de 20 minutes, les réseaux correspondant à un pourcentage Pi du trafic, typiquement 20%, et ne mesurer que les n premiers réseaux dont la charge cumulée représente un pourcentage P2 du 30 trafic total, typiquement 70%. Par ailleurs, une mesure de réseau donné est faite moins de 10 fois par cycle, de manière à obtenir une moyenne représentative. La dépendance en fréquence, pour les réseaux dont les charges cumulées sont comprises entre Pi % et P2 % du trafic, est choisie proportionnelle à la charge. - 13 2) Pondérer les fréquences auxquelles sont analysés les différents réseaux par le gain réalisé sur chacun d'eux, c'est-à-dire attribuer des fréquences plus élevées aux réseaux sur lesquels le gain réalisé est plus faible ou encore, suivre de plus près les réseaux o la situation est la plus instable. Par ailleurs, pour éviter que des paquets ICMP utilisés pour l'analyse de performances ne soient considérés comme une attaque (" flooding "), une fréquence d'analyse maximale est fixée pour chaque adresse IP analysée 10 (ex: un paquet ICMP par seconde maximum). b. La réalisation de l'analyse des adresses IP à partir d'une liste d'adresses IP selon la fréquence déterminée (bloc 17). L'analyse s'appuie sur une mesure de type ICMP permettant de ressortir des critères tels que le temps de latence (" latency "), la gigue (" jitter "), et le nombre de paquets perdus (" packet loss "). Pour chaque session d'analyse, un nombre de " pings " dépendant des 20 caractéristiques du réseau à analyser (son trafic, sa dimension, etc...) mais également du nombre d'opérateurs pouvant y accéder, est effectué. Une moyenne mobile en est issue, afin de déterminer finement les performances des routes. La moyenne mobile permet de lisser les performances en éliminant les phénomènes de perturbation sporadiques. Lors de cette analyse, si une adresse IP s'avère ne plus répondre pendant un certain temps, elle est considérée comme non valide et la base d'adresses IP (bloc 11) est mise à jour, et l'on recherche alors une nouvelle adresse IP valide pour la remplacer et appartenant au même réseau que 30 celle ne répondant plus. Il est à noter que le procédé d'analyse peut être optimisé: - 14 La première optimisation est de choisir des adresses IP à analyser pour un grand réseau parmi celles que comporte le petit réseau le plus chargé pour ce grand réseau, en fixant une fréquence d'analyse maximale pour une adresse IP de manière à éviter le " flooding ". La seconde optimisation est fondée sur une analyse quantitative des résultats statistiques précédents. Elle consiste à découper les réseaux annoncés par BGP en sous-réseaux plus petits afin d'obtenir une analyse plus fine et de distinguer les différences de performance au sein d'un même 10 réseau. La troisième optimisation est liée au fait que la performance des adresses IP appartenant à un même réseau local est quasi semblable. Cette propriété permet de répartir l'analyse sur différentes adresses IP appartenant au 15 même réseau local et adressant la même problématique qu'évoquée cidessus (" flooding ") tout en réduisant l'impact du serveur lui-même, puisqu'on raisonne sur une moyenne de performance sur plusieurs serveurs. c. Le résultat de l'analyse des adresses IP (bloc 18) est alors 20 coordonné et compilé (bloc 19) puis utilisé dans l'étape de décision (bloc 20), selon une fréquence paramétrable dépendante de la fréquence d'analyse. 2. Une étape de décision (bloc 20) comprend les phases suivantes: 25 A partir de données de performance mesurées en temps réel (bloc 19) et produites par l'étape d'analyse (bloc 1) et de critères de routage déterminé par le client (bloc 21), le procédé va permettre de déterminer les réseaux à favoriser pour chaque route. 2.1. Une phase de décision de routage (bloc 22) utilise des critères de routage optimisé en fonction des critères de performance et de cot définis par l'utilisateur (bloc 21) afin de déterminer la table de routage optimisée (bloc 23), - 15 L'utilisateur définit les critères de performances qu'il attend, à savoir router ses informations par le chemin: - le plus rapide (latence minimale), - le plus régulier (gigue minimale), - le plus fiable (o le taux de paquets perdus est minimal), ou un agrégat de ces critères, en définissant par exemple, le critère de performance comme le chemin de latence maximale égale à 20 ms avec un taux de paquets perdus inférieur à 1,5%. L'utilisateur a également la possibilité de définir le cot maximal qu'il est prêt à accepter pour le transit de ses informations. L'utilisateur peut également définir l'ensemble de ses critères de routage 15 optimisé, comme un ratio cot/performance, c'est-à-dire les meilleures performances pour un cot à ne pas dépasser, ou des performances maximales tout en minimisant le cot ou un cot le plus faible possible, peu importe les performances. Une fois, les critères de routage optimisé définis par le client, un classement des opérateurs issus de l'étape d'analyse (bloc 1) est réalisé. Le calcul d'un indice de performance I permet de classer les opérateurs selon leurs performances toutes les cinq minutes (bloc 24). Pour chaque 25 réseau, le meilleur d'entre eux au sens de cet indice est choisi pour la période suivante. De plus, l'analyse statistique des grandeurs mesurées a mis en évidence, outre leur extrême variabilité, le fait que le classement ponctuel n'est pas 30 pertinent si on ne tient pas compte de son auto corrélation. L'auto corrélation du classement (bloc 25) est évaluée en réalisant séquentiellement deux évaluations de l'indice par cycle de mesure, et il est décidé de ne mettre à jour le classement que si ces deux évaluations successives donnent le - 16 même résultat. De cette manière, on s'assure de la persistance du classement établi. L'indice de performance par opérateur, noté 1, a été déterminé afin de les classer. Sa formule est la suivante: I(A) = ai log Perf; (A) H ' y ) ta*1og (RTT(A)) +b*1og( Jitter(A) +c*i1g( Loss(A) L j o les critères choisis sont RTT (A), Jitter (A) et Loss (A) soit respectivement la 10 latence, la gigue et le taux de paquets perdus de l'opérateur A pour une route donnée à un instant donné, a + b + c =1, les figurent la moyenne sur les autres opérateurs. 2.2. Une phase d'intégration de la décision de routage, o, à chaque nouveau choix déterminé, la table de routage optimisée est injectée dans le routeur de sortie de l'utilisateur (bloc 26) au travers d'une session BGP (bloc 27). Il est à noter que la mise à jour de la table de routage client s'effectue via une session BGP, exactement comme si le routeur recevait les informations en provenance d'un autre routeur, ce qui est non intrusif et ne modifie en rien la configuration d'un routeur. Si le procédé ne fonctionne plus, alors le routeur reprendra les tables de routages annoncées par le protocole BGP, 25 comme il le fait en temps normal (sans optimisation de performance ni de cot). Ainsi, l'accès Internet ne sera jamais perturbé si une panne d'un dispositif mettant en oeuvre le procédé se produit. Dans l'exemple illustré sur la figure 2, un dispositif selon l'invention comporte 30 au moins deux éléments principaux: une plateforme de serveurs appelée - 17 sonde centrale ON et au moins une sonde client CPE (" Customer Premise Equipement "). Ladite plateforme ou sonde ON comprend: - des sondes 1 Ces sondes mesurent la qualité (temps de réponse, régularité, trafic,...) des différentes routes sur Internet à partir d'un opérateur donné. Il existe une sonde par opérateur. - un serveur 2 Ce serveur assure la vue temps réelle par rapport à la vue d'un serveur 3 définit ci-dessous et allège la charge CPU des sondes qui ne sont pas directement consultées par le serveur 3. Le serveur 2 est le point central de l'architecture. Il communique ses analyses aux sondes clients CPE via un système de " push ". - un serveur 3 Ce serveur collecte les informations du serveur 2 quant aux conditions des 20 différentes routes sur Internet, ainsi que des informations sur le trafic des clients utilisateurs, et génère des tableaux de bord (temps réel et historique) à destination des clients utilisateurs, ainsi que le paramétrage des sondes. - des serveurs 4 Ce serveur gère un très grand nombre des points atteignables sur l'Internet (adresses IP correspondant à des sous-réseaux d'extrémité). Sa base est mise à jour régulièrement en fonction des informations issues du serveur 2. La sonde client CPE est reliée à la sonde centrale ON, à un routeur client 5 30 et à un module 6 contenant une politique de routage définie par le client. Ainsi, le meilleur chemin sera celui présenté par l'opérateur le moins coteux pourvu que les contraintes de l'application soient respectées. - 18 Les différents serveurs 1, 2, 3, 4 et les sondes clients CPE communiquent entre eux via un protocole spécifique sécurisé basé sur le protocole TCP. Ces serveurs mettent en oeuvre des applications spécifiques partageant des fonctions communes, ces dernières ont été regroupées en modules élémentaires interagissant entre eux. L'exemple de la figure 3 illustre le cas o les entreprises ne possèdent pas plusieurs accès à Internet mais souhaitent bénéficier d'un routage optimisé. Dans ce cas, l'entreprise prestataire installe la sonde client chez elle et devient alors un fournisseur de bande passante optimisée, elle transmet la table de routage optimisée via un routeur 7 qui ainsi redirige le trafic du client. A titre d'exemple, le procédé selon l'invention illustré sur la figure 1 et mis en oeuvre par le dispositif de la figure 2 est présenté de façon plus précise cidessous. Cet exemple n'est pas une vraie simulation: le nombre d'informations n'est pas à l'échelle et les routes formulées ne correspondent pas à la réalité. Dans cet exemple, nous avons choisi de découper les grands réseaux annoncés par BGP (réseaux/16) en sous-réseaux plus petits (réseaux/24). Les réseaux/16 comportent 65536 adresses IP) alors que les réseaux/24 comportent 256 adresses IP. 1. Analyse des routes (phase 1.1.) L'entreprise prestataire est client des opérateurs ISP A, B, C et D (Figure 2). Les tables de routages des opérateurs sont récupérées: 30 -19- ISP A ISP B ISP C 42.42.0.0/16 Route A1 16.145.156.0/17 Route 54.23.0.0/16 Route C1 BI 8.0. 0.0/8 Route A2 54.23.0.0/16 Route B2 42.42.0.0/16 Route C2 54.23.0.0/16 Route A3 8.0.0.0/8 Route B3 15.16.18.0/17 Route C3 212.145.3.0/24 Route 42.42.0.0/16 Route B4 13.67.0.0/16 Route C4 A4 191.14.34.0/18 Route 212. 145.3.0/24 Route A5 C5 8.0.0.0/8 Route C6 La sonde centrale ON garde simplement en mémoire les réseaux communs aux opérateurs et les routes suivantes: Réseaux communs ISP A ISP B ISP C 42.42.0.0/16 Route A1 Route B4 Route C2 8.0.0.0/8 Route A2 Route B3 Route C6 54.23.0.0/16 Route A3 Route B2 Route C1 2. Analyse du trafic Le client, I'entreprise A, utilise aussi les ISP A, B, C. Le trafic pour les réseaux utilisés par le client est le suivant (phase 1.2.) : Réseau /24 Trafic entrant Trafic sortant 42.42.42.0/24 10005 54076 8.24.26.0/24 3422 6885 8.47.134.0/24 7642 3542 212.145.3.0/24 75 42 54.23.42.0/24 243 365 191.14.34.0/24 12 2 42.42.142.0/24 20 94 8.42.42.0/24 95376 465382 54.23.111.0/24 726 1042 8.133.12.0/24 6531 23619 16.45.156.0/24 5 14 8.233.222.0/24 8364 4583 8.12.24.0/24 5522 1230 42.42.54.0/24 4965 31861 8.8.8.0/24 853 105 15.16.18.0/24 108 543 54.23.144.0/24 106543 68764 8.154.62.0/24 74531 253684 42.42.242.0/24 20532 65432 - 20 3. Recherche des adresses IP à analyser (phase 1.4.) Pour chaque réseau utilisé par le client, un réseau commun est attribué et l'indice de trafic total est publié: Réseau de la table Indice de trafic total Réseau 124 de routage (trafic entrant + trafic commune auquel sortant) il appartient 42.42.42.0/24 42.42.0.0/16 64081 8.24.26.0/24 8.0.0.0/8 10307 8.47.134.0/24 8.0.0.0/8 11184 54.23.42.0/24 54.23.0.0/16 608 42.42.142.0/24 42.42.0.0/16 114 8.42.42.0/24 8.0.0.0/8 560758 54.23.111.0/24 54.23.0.0/16 1768 8.133.12.0/24 8.0.0.0/8 30150 8.233.222.0/24 8.0.0.0/8 12947 8.12.24.0/24 8.0.0.0/8 6752 42.42.54.0/24 42.42.0.0/16 36826 8.8.8.0/24 8.0.0.0/8 958 54.23.144.0/24 54.23.0.0/16 175307 8.154.62.0/24 8.0.0.0/8 328215 42.42.242.0/24 42.42.0.0/16 85964 La liste est triée par rapport à l'indice de trafic total: Réseau de la table Indice de trafic Réseau 124 de routage (trafic entrant + trafic commune auquel sortant) il appartient 8.42.42.0/24 8.0.0.0/8 560758 8.154.62.0/24 8.0.0.0/8 328215 54.23.144.0/24 54.23.0.0/16 175307 42.42.242.0/24 42.42.0.0/16 85964 42.42.42.0/24 42.42.0.0/16 64081 42.42.54.0/24 42.42.0.0/16 36826 8.133.12.0/24 8.0.0.0/8 30150 8.233.222.0/24 8.0.0.0/8 12947 8.47.134.0/24 8.0.0.0/8 11184 8.24.26.0/24 8.0.0.0/8 10307 8.12.24.0/24 8.0.0.0/8 6752 Les réseaux dont l'indice de trafic est inférieur à 5000 ne sont pas analysés 54.23.111.0/24 54.23.0.0/16 1768 8.8.8.0/24 8.0.0.0/8 958 54.23.42.0/24 54.23.0.0/16 608 42.42.142.0/24 42.42.0.0/16 114 -21 Une liste des adresses IP attachées aux réseaux clients est établie à partir de la base de données: Réseau /24 Adresses IP 8.12.24.0/24 8.12.24.5 8.12.24.64 8.12.24.89 8.24.26.0/24 8.24.26.1 8.24.26.151 8.24.26.231 8.24.26.232 8.24.26.233 8.42.42.0/24 8.42.42.23 8.42.42.78 8.42.42.122 8.42.42.201 8.47.134.0/24 8.47.134.12 8.133.12.0/24 8.133.12.46 8.133.12.87 8.133.12.88 8.154.62.0/24 8.154.62.42 8.154.62.199 8.233.222.0/24 8.233.222.1 8.233.222.2 8.233.222.3 8.233.222.54 8.233.222. 86 42.42.42.0/24 42.42.42.3 42.42.42.31 42.42.42.33 42.42.42.36 42.42.54.0/24 42.42.54.1 42.42.54.3 42.42.242.0/24 42.42.242.6 42.42.242. 43 42.42.242.86 42.42.242.88 42.42.242.89 54.23.144.0/24 54.23.144.1 54.23.144.3 54.23.144.4 54.23.144.9 Les adresses IP associées à chaque réseau/24 sont testées et l'analyse des adresses IP s'arrête après l'identification de deux adresses IP valides par réseau: Réseau /24 Adresses IP: valide, non valide, non f.r 8.12.24.0/24 8.12.24.5 8.12.24.64 8.12.24.89 8.24.26.0/24 8.24.26.1 8.24.26.151 8.24.26.231 8.24.26.232 8,.2.ú.23, 8.42.42.0/24 8.42.42.23 8.42.42.78 8,42,':2, 22 I42 _,,-223 8.47.134.0/24 8.47.134.12 8.133.12.0/24 8.133.12.46 8.133.12,87 8.133.12.88 8.154.62.0/24 8.154.62.42 8.154.62.199 8.233.222.0/24 8.233.222.1 8.233.222.2 8.233.222.3 8.233.222.54 8.233.222. 86 42.42.42.0/24 42.42.42.3 42.42.42.31 42.42.42.33 42 4242,326 42.42.54.0/24 42.42.54.1 42.42.54.3 42.42.242.0/24 42.42.242.6 42.42.242. 43 42.42.242.86 42 -vi 242.3 4,, 2242, 8, * 54.23.144.0/24 54.23.144.1 54.23.144.3 54-.244, 4 5,.Y, D. Les données regroupant chaque réseau client, les deux adresses IP qui lui sont attachées et l'indice de trafic sont envoyées à la sonde centrale ON pour l'analyse (on pourra remarquer que le réseau 42.42.54.0/24 ne peut être utilisé car aucune adresse IP valide n'a été trouvée): - 22 - Indice de Réseau/ 124 Adresses IP Indice de trafic 8.12.24.0/24 8.12.24.64 8.12.24.89 6752 8.24.26.0/24 8.24.26.1 8.24.26.232 10307 8.42.42.0/24 8.42.42.23 8.42.42. 78 560758 8.47.134.0/24 8.47.134.12 11184 8.133.12.0/24 8.133.12.46 8.133.12.88 30150 8.154.62.0/24 8.154.62.42 328215 8.233.222.0/24 8.233.222.54 8.233.222.86 12947 42.42.42.0/24 42.42.42.31 42.42.42.33 64081 42.42.242.0/24 42.42.242.43 42.42.242.86 85964 54.23. 144.0/24 54.23.144.1 54.23.144.3 175307 4. Analyse des réseaux par la sonde ON Elle comporte l'analyse des opérateurs selon une fréquence proportionnelle 5 à l'indice de trafic correspondant à l'adresse IP via laquelle l'opérateur est analysé. Voici les fréquences d'analyse et les résultats pour chaque adresse IP valide sur une base de cinq paquets ICMP par analyse (phase 1.5): Résultats d'analyse par l'ISP Fréquence A Réseau 124 IP analysée (nombre Temps Amplitude Paquets d'analyses de (ms) perdus par latence (%) minute) (ms) 8.12.24.0/24 8.12.24.64 0.5 12.4 0.7 0.2 8.12.24.89 0.5 12.7 0.9 0.1 8.24.26.0/24 8.24.26.1 1 42.1 1.3 0 8.24.26.232 1 42.9 1.1 0 8.42.42.0/24 8.42.42.23 4 152.4 7.3 0 8.42.42.78 4 146.8 8.5 0 8.47.134.0/24 8.47.134.12 1 265.9 21.8 2.3 8.133.12.0/24 8.133.12.46 2 56.7 1.5 0 8.133.12.88 2 58.8 2.9 0 8.154.62.0/24 8.154.62.42 4 86.9 5.2 0.7 8.233.222.0/24 8.233.222.54 1 84.5 6.3 0 8.233.222.86 1 83.9 6.8 0 42.42.42.0/24 42.42.42.31 2 8.3 0.4 0 42.42.42.33 2 8.6 0.8 0 42.42.242.0/24 42.42.242.43 2 1205.5 145.6 98.5 42.42.242.86 2 423.8 41.4 0.8 54.23.144.0/24 54.23.144.1 3 5.3 0.3 0 54.23.144.3 3 5.5 0.2 0 - 23 - Résultats d'analyse par Résultats d'analyse par I'ISP B I'ISP C IP analysée Latence Amplitude Paquets Latence Amplitude Paquets (ms) (ms) perdus (ms) (ms) perdus (%) (%) 8.12.24.64 14.2 0.9 0.3 20.9 0.4 0.4 8.12.24.89 13.5 1 0.1 21.4 0.7 0.5 8.24.26.1 34.3 1.8 0 41.1 2.1 0 8.24.26.232 37.8 1.4 0 40.5 1.8 0 8.42.42.23 172.4 10.2 0 182.9 17.1 0 8.42.42.78 168.7 11.5 0 185.4 15.5 0 8.47.134.12 286.4 25.6 3.4 210.1 32.4 1.9 8.133.12.46 64.2 2.8 0 75.6 5.7 0 8.133.12.88 68.1 3.1 0 72.5 4.9 0 8.154.62.42 94.1 7.6 0.6 123.4 15.2 4.8 8.233.222.54 76.2 8.5 0 94.2 8.4 0 8.233.222.86 72.5 10.3 0 98.3 10.2 0 42.42.42.31 9.7 0.5 0 8.1 0.3 0 42.42.42.33 9.4 0.7 0 7.9 0.3 0 42.42.242.43 1284.1 241.5 97.1 912.1 513.1 99.1 42.42.242.86 345.1 28.5 0 180.5 21.3 0 54.23.144.1 8.2 0.4 0 11.9 1.1 0 54.23.144.3 8.6 0.6 0 11.5 0.8 0 D'après ces données, l'adresse IP 42.42.242.43 ne répond pas réellement, le processus de changement d'adresse IP est lancé. Dans la base de données 5 d'adresses IP la recherche pour le réseau 42.42.242.0/24 teste la validité de l'adresse IP 42.42.242.88 et renvoie celle-ci en analyse. Le résultat est envoyé pour être traité lors de la phase de détermination des performances des routes (phase 1.5) avant d'être utilisé pour l'étape de 10 décision 2. 5. Décision des meilleures routes Dans cet exemple, le client souhaite avant tout la performance en terme de 15 rapidité, par conséquent, la sonde client a été configurée en fonction de ce critère. -24 Le temps de latence devient le facteur majeur dans l'algorithme de choix des meilleures routes et la corrélation entre l'état des opérateurs et le trafic du client conduit au résultat suivant (phase 2.1.): Réseau de la table de Route à routage Réseau /24 Meilleur ISP utiliser routage utiliser 8.12.24.0/24 ISP A Route A2 8.24.26.0/24 ISP B Route B3 8.42.42. 0/24 ISP A Route A2 8.0.0.0/8 8.47.134.0/24 ISP C Route C6 8.133.12.0/24 ISP A Route A2 8.154.62.0/24 ISPA Route A2 8.233.222.0/24 ISP B Route B3 42.42.0.0/16 42.42.42.0/24 ISP C Route C2 42.42.242.0/24 ISP C Route C2 54.23.0.0/16 54.23.144.0/24 ISPA Route A3 Finalement la table de routage du client devient (phase 2.1.): Meilleures routes 8.0.0.0/8 Route A2 8.24. 26.0/24 Route B3 8.47.134.0/24 Route C6 8.233.222.0/24 Route B3 42.42.0. 0/16 Route C2 54.23.0.0/16 Route A3 Elle est injectée dans le routeur client de l'utilisateur pour que celui-ci fasse passer le flux de données par le chemin ainsi déterminé plutôt que de suivre le choix classiquement effectué par le protocole BGP. - 25 Revendications 1. Procédé d'optimisation du flux de données dans un ensemble de réseaux interconnectés, caractérisé en ce qu'il comporte: ò une étape d'analyse des performances comprenant les phases suivantes: - une phase de constitution d'une liste de réseaux à analyser, ces réseaux provenant de la récupération de tables de routage 10 d'opérateurs (fournisseurs d'accès aux réseaux) et étant communs à ces différents opérateurs, cette phase comportant: o la constitution d'une base d'adresses IP associées à ces réseaux triés à partir d'une analyse du trafic client et/ou d'une analyse de la topologie d'lnternet, o l'association de chaque réseau commun à analyser avec une ou plusieurs adresses IP valides de ladite base; - une phase de détermination de performances des routes des opérateurs par l'analyse des adresses IP valides correspondant auxdits réseaux communs, selon une certaine fréquence définie en 20 fonction de l'analyse du trafic de chaque réseau; ò une étape de décision comprenant la détermination d'une table de routage optimisée à partir des routes correspondant aux meilleurs opérateurs au vu de critères de routage optimisé définis par le client. 2. Procédé selon la revendication 1, caractérisé en ce que, dans le cas o le client utilisateur possède ses propres opérateurs, les réseaux à analyser sont également communs aux opérateurs utilisés par le client 3. Procédé selon la revendication 1, caractérisé en ce que la phase d'analyse du trafic client comporte la récupération des données réelles du trafic client, la constitution d'une liste de réseaux utilisés par le client et des adresses IP associées et la détermination du volume de trafic par réseau utilisé par le client. - 26 4. Procédé selon la revendication 1, caractérisé en ce que l'étape de décision comprend un classement des opérateurs issus de l'étape d'analyse de performances s'effectuant de la façon suivante: - calcul d'un indice de performance (1) pour chaque opérateur, - auto-corrélation du classement en réalisant séquentiellement deux évaluations dudit indice par cycle de mesure. 5. Procédé selon la revendication 4, caractérisé en ce que ledit indice de performance se calcule en utilisant la formule suivante: I rA ailgPerfi (A) [E. i L C ) o lai =l, i o Perfl(A) est un indice de performance défini selon un critère donné pour l'opérateur A, o est la moyenne des indices Perff pour tous les opérateurs. 6. Procédé selon l'une des revendications 4 et 5, caractérisé en ce que ledit indice de performance se calcule en utilisant la formule suivante: I(A) = - la * ogé RTT(A) + b * log Jitter(A)) + c g' Loss(A) o les critères choisis sont RTT (A), Jitter (A) et Loss (A) soit respectivement la 25 latence, la gigue et le taux de paquets perdus de l'opérateur A pour une route donnée à un instant donné, a + b + c =1, les figurent la moyenne sur les autres opérateurs. - 27 7. Procédé selon la revendication 1, caractérisé en ce que ladite table de routage optimisée est intégrée dans le routeur de sortie du client utilisateur au travers d'une session BGP. 8. Procédé selon la revendication 1, caractérisé en ce que ladite fréquence d'analyse de chaque adresse IP valide est calculée en fonction: - de l'importance du réseau client en terme de trafic, 10 - du nombre d'adresses IP trouvées pour ce réseau, - du nombre d'opérateurs utilisés. 9. Procédé selon la revendication 1, caractérisé en ce que la liste des réseaux communs accessibles est réalisée 15 périodiquement voire en temps réel et les réseaux ayant un trafic au-dessous d'un seuil défini sont analysés moins fréquemment. 10. Procédé selon la revendication 1, caractérisé en ce que la détermination de la fréquence de l'analyse des 20 réseaux tient compte de la charge et/ou du gain sur chacun desdits réseaux.. 11. Procédé selon la revendication 1, caractérisé en ce que la recherche d'adresses IP valides se repartit sur plusieurs adresses IP pour un même réseau local. 12. Procédé selon la revendication 1, caractérisé en ce qu'une optimisation du procédé comprend un ou plusieurs des points suivants: - le choix des adresses IP à analyser pour un grand réseau parmi celles 30 que comporte le petit réseau le plus chargé pour ce grand réseau, - une analyse quantitative des résultats statistiques afin de distinguer les différences de performance au sein d'un même réseau. - 28 13. Dispositif pour la mise en oeuvre d'un procédé d'optimisation du flux de données dans un ensemble de réseaux interconnectés selon l'une des revendications précédentes, caractérisé en ce qu'il comporte deux éléments essentiels connectés entre eux: - au moins une sonde " client " attribuée à la récupération d'informations du réseau du client utilisateur pour définir les meilleures routes à utiliser, - une sonde centrale permettant d'obtenir une vision globale de l'état 10 d'internet et comportant un ensemble de serveurs collaborant ensemble. 14. Dispositif selon la revendication 13, caractérisé en ce que ledit ensemble de serveurs comprend - des sondes mesurant la qualité (temps de réponse, régularité, trafic,...) des différentes routes sur Internet à partir d'un opérateur donné, - un serveur central assurant la vue temps réelle des différentes routes sur Internet et allégeant la charge CPU des sondes qui ne sont pas 20 directement consultées, - des serveurs gérant un très grand nombre de points atteignables sur l'Internet (adresses IP correspondant à des sousréseaux d'extrémité), - un serveur collectant les informations du serveur central quant aux conditions des différentes routes sur Internet, ainsi que des 25 informations sur le trafic des clients utilisateurs, et génère des tableaux de bord (temps réel et historique) à destination des clients utilisateurs, ainsi que le paramétrage des sondes. 15. Dispositif selon la revendication 13, caractérisé en ce que les différents serveurs communiquent entre eux et avec les sondes clients via un protocole spécifique sécurisé basé sur le protocole TCP (" Transmission Control Protocol ").