Brevet FR2801752A1 — publié le 20010601

PROCEDE ET SYSTEME POUR SURVEILLER LE SERVICE D'UN SYSTEME DE NOM DE DOMAINE (DNS) DANS UN RESEAU A PROTOCOLE INTERNET (IP) Domaine technique de l'invention La présente invention concerne réseaux d'ordinateur et, plus particulièrement, un procédé et un système dans un réseau opérant sous Protocole Internet (IP), pour surveiller la qualité d'un service de Système de Nom de Domaine IP (DNS) fourni par une pluralité de Serveurs DNS, selon certains critères, tels le temps de réponse et la disponibilité. Art antérieur INTERNET Internet est un réseau global d'ordinateurs et de réseaux d'ordinateurs (le "Net"). Internet relie des ordinateurs qui utilisent une variété de systèmes d'exploitation ou de langages différents, y compris UNIX, DOS, Windows, Macintosh et autres. Pour faciliter et permettre la communication entre ces divers systèmes et langages, l'Internet utilise un langage que l'on appelle le TCP/IP (Protocole de Transport Orienté Octet) ("Transmission Control Protocol/Internet Protocol"). Le protocole TCP/IP supporte trois applications fondamentales sur l'Internet: transmission et réception de courrier électronique enregistrement chronologique dans des ordinateurs distants (le "Telnet"), et # transfert de fichiers et de programmes d' ordinateur à l'autre ("FTP" ou "File Transfer Protocol", Protocole de Transfert de Fichiers). Un but du TCP/IP est d'interconnecter réseaux et d'offrir un service de communications universel: un inter-réseau, ou Internet. Chaque réseau physique dispose sa propre interface de communications, dépendant de la technologie, sous la forme d'une interface de programmation avec des fonctions de communication de base (primitives). Les services de communications sont fournis un logiciel qui fonctionne entre le réseau physique et les applications utilisateur. Ce logiciel fournit une interface commune à ces applications, indépendante du réseau physique sous-jacent. L'architecture des réseaux physiques est cachée à l'utilisateur. Le protocole Internet (IP) est en évolution permanente par le biais du mécanisme de Demande De Commentaires (Request For Comments - RFC). Les nouveaux protocoles (essentiellement les protocoles d'application) sont conçus et mis en oeuvre par des chercheurs. Ils sont portés à l'attention de la communauté Internet sous la forme d'une proposition interne Internet (Internet Draft-ID). La source la plus grande d'ID est le Groupe de Travail Internet (Internet Engineering Task Force (IETF). ADRESSES IP Pour interconnecter deux réseaux, un système d'ordinateur en mesure de transmettre des paquets d'un réseau à un autre est attaché aux deux réseaux. Un tel système est appelé "routeur". Le terme "routeur IP" est également utilisé car la fonction de routage fait partie de la couche IP du TCP/IP. Des adresses IP sont utilisées par protocole IP pour identifier de façon unique un hôte l'Internet (plus précisément, une adresse IP identifie une interface capable envoyer et de recevoir des datagrams IP. Un système peut avoir une pluralité d'interfaces de ce type. Cependant les hôtes et les routeurs doivent, les deux, avoir au moins une adresse IP). Chaque datagramme IP (paquet données de base échangé entre des hôtes par l'intermédiaire du réseau IP) contient une adresse IP source et une adresse IP destinataire. Des adresses IP sont représentées par une valeur binaire sans signe à 32 bits, qui est usuellement exprimée sous un format décimal séparé par des points. Par exemple, 9.167.5.8 est une adresse Internet valide. Une forme numérique est utilisée par le logiciel IP. La correspondance entre l'adresse IP et un nom symbolique à lecture aisée, par exemple monhôte.ibm.com., est produite par un Système de Nom de Domaine (DNS) ou de résolution d'adresses IP. NOMS DE DOMAINE Les noms de domaine ou les noms d'ordinateurs (tels que www.entreprise.com) sont traduits en adresses Internet numériques (comme194.56.78.3), et vice-versa, par utilisation d'un procédé appelé DNS ("Service de Nom de Domaine"- "Domaine Name Service"). DNS est supporté par des serveurs résidant sur le réseau, connus également comme des serveurs de noms de domaine ou des serveurs DNS Du fait de la croissance explosive nombre d'hotes, le procédé DNS est devenu pratiquement chose essentielle dans les grands réseaux, pour remplacer les fichiers simples stockés localement dans chaque hôte, avec les noms d'hôtes et les adresses IP associées. Le Système de Nom de Domaine permet à un programme, fonctionnant sur un serveur hôte, de faire correspondre un nom symbolique de haut niveau avec une adresse pour tous les autres éventuels hôtes, sans que chaque hôte ait des bases de données complètes de nom d'hôtes. Pour simplifier, pour standardiser et pour déléguer la convention de dénomination utilisée, un espace hiérarchique distribué de noms a été créé, en subdivisant des domaines en sous-domaines, responsables leurs propres zones. Des noms symboliques sont groupés zones d'autorité, dans lesquelles un ou plusieurs hôtes sont responsables de la conservation d'une base de données de noms symboliques et d'adresses IP, en fournissant une fonction de serveur à des clients souhaitant effectuer une correspondance entre les noms symboliques et les adresses IP. Ces serveurs de noms locaux sont interconnectés logiquement dans un arbre de domaines de nature hiérarchique. Des explications supplémentaires, concernant le domaine présenté dans les sections ci-dessus, peuvent être obtenues dans les publications suivantes, incorporées ici à titre de référence: # TCP/IP and Technical Overview by Martin W. Murhammer, Orcun Atakan, Stefan Bretz, Larry R. Pugh, Kazunari Suzuki, David H. Wood, publié par IBM International Technical Support Organization. # "Internet in a nutshell" by Valerie Quercia, publie par 0'Reilly, Octobre 1997. PROBLÈME Le problème consiste à surveiller un Service Système de Nom de Domaine (DNS) fourni par un ou pluralité de serveurs DNS, afin de détecter une éventuelle indisponibilité de la part d'un serveur DNS quelconque et une éventuelle dégradation du temps réponse du service DNS. l'on utilise une pluralité de serveurs DNS, même si serveur DNS tombe en panne, normalement le service DNS continue d'être fourni aux utilisateurs, mais offrant des performances dégradées. Le premier serveur DNS a répondre à la requête de mise en correspondance d'un nom avec une adresse IP, dans une liste de serveurs DNS potentiels, fournit le service DNS au client DNS. conséquence, lorsqu'il y a panne d'un serveur DNS dans environnement comportant une pluralité de serveurs DNS, les serveurs DNS qui sont encore disponibles continuent de fournir le service DNS jusqu'à ce qu'ils atteignent leur capacité maximale. Eventuellement, le service DNS peut tomber panne lorsque les serveurs DNS disponibles ne peuvent supporter la charge totale. Les problèmes sont alors: # l'anticipation et la détection précoces des pannes des serveurs DNS; # la détection précoce d'un temps de réponse anormal de la part des serveurs DNS; # la détection précoce de la dégradation du temps de réponse serveurs DNS. Les pannes intervenant sur un serveur DNS doivent être détectées dès que possible pour anticiper et pour éviter toute interruption du service DNS. Les performances fournies lorsqu'un serveur DNS est à l'arrêt, sont usuellement inférieures à celles auxquelles on s'attend, parce que les serveurs DNS disponibles restants doivent traiter une charge additionnelle. L'analyse temps de réponse du service DNS constitue un bon indicateur pour anticiper une interruption du service. Objets de l'invention # Un des buts de l'invention est de fournir un procédé permettant d'optimiser le Service d'un Système de de Domaine (DNS). # Un autre but de la présente invention est d'anticiper les pannes d'un service DNS. # Un autre but de la présente invention est de détecter précocement une panne sur un serveur DNS quelconque. # Un autre but de la présente invention est de detecter précocement un temps de réponse anormal un serveur quelconque. # Encore autre but de la présente invention est de détecter précocement une dégradation du temps de réponse sur un serveur DNS quelconque. Résumé de l'invention La présente invention concerne la surveillance d'un service DNS et, plus particulièrement, un système et un procédé dans un réseau opérant sous Protocole Internet (IP), pour détecter précocement et anticiper une dégradation et des pannes d'un service DNS, par utilisation sondes surveillant la disponibilité et le temps de réponse. La présente invention utilise également un programme Analyseur Service DNS, pour analyser et mettre en corrélation l'information de disponibilité et de temps de réponse fournie par les sondes. La présente invention décrit un procédé et un système permettant de surveiller dans un réseau opérant sous protocole Internet (IP), un or une pluralité de serveurs de Système de Nom de Domaine (DNS). Le procédé comprend pour chaque serveur DNS l'étape consistant à mesurer des performances et de la disponibilité du serveur DNS par simulation d'un client DNS sur un système de surveillance et, en particulier, l'étape consistant à mesurer le temps de réponse nécessaire au client DNS simulé pour récupérer une information, en particulier une adresse IP, depuis le serveur DNS. Le procédé comprend outre les étapes consistant à envoyer une requête d'information au serveur DNS; recevoir un message de réponse du serveur DNS; contrôler que l'information reçue, comprise dans ledit message de réponse, est correcte. Dessins Les caractéristiques considérées comme constituant propriétés nouvelles et inventives de l'invention sont indiquées ci-après dans les revendications jointes. L'invention elle-même, cependant, ainsi qu'un mode d'utilisation préféré de celle-ci, d'autres objets avantages de celle-ci, vont être mieux compris en référant à la description détaillée ci-après, d'un mode de réalisation détaillé illustratif, lu en liaison avec les dessins annexés, dans lesquels: # La figure 1 représente le mécanisme DNS de mise correspondance d'un nom symbolique de haut niveau (nom d'hôte) avec une adresse IP, selon l'art antérieur. # La figure 2 est une vue de la sonde de surveillance la disponibilité et du temps de réponse, selon la présente invention. # La figure 3 est un ordinogramme de la sonde de surveillance de la disponibilité et du temps de réponse selon la présente invention. # La figure 4 est une vue du flux de données associé à la sonde de surveillance de disponibilité et du temps de réponse selon la présente invention. # La figure 5 illustre le stockage des mesures de disponibilité et de temps de réponse, selon la présente invention. La figure 6 est un ordinogramme représentant le programme analyseur du Service DNS, selon la présente invention. Mode de réalisation préféré de l'invention La présente invention concerne un procédé et un système pour surveiller la qualité d'un Service DNS fourni par une pluralité de Serveurs DNS selon des critères tels que le temps de réponse et la disponibilité. Plus particulièrement, présente invention décrit un procédé pour: la résolution d'un nom d'hôte symbolique en une adresse IP et vice-versa, par l'utilisation d'un ou d'une pluralité de Serveurs DNS, # la mesure du temps de réponse associé, # la détection des pannes et de la dégradation du temps de réponse pour chaque serveur DNS. MISE EN CORRESPONDANCE DES NOMS D'HOTES AVEC DES ADRESSES IP La figure 1 décrit les interactions Client/Serveur DNS intervenant lorsqu'un Client DNS souhaite résoudre (traduire ou mettre en correspondance) un nom symbolique (nom d'hôte) en une adresse de réseau (adresse IP). Plus particulièrement, la figure 1 représente le mécanisme suivi par un Client DNS, d'acquisition d'une adresse IP par utilisation d'un nom symbolique comme paramètre. Le Client DNS (101) envoie une requête de mise en correspondance à un Serveur DNS appartenant ' une liste configurée localement de serveurs DNS. Lorsque la requête de mise en correspondance est reçue par un Serveur DNS actif (102), ce Serveur DNS actif contrôle 'il est en mesure de répondre ou non au client DNS. # Si le Serveur DNS ne peut trouver dans base de données locale ni dans son antémémoire quelle est l'adresse IP, la requête de mise en correspondance peut être transmise à un autre Serveur DNS grâce a l'utilisation de l'organisation hiérarchique des domaines de serveur DNS. # Si Serveur DNS peut trouver dans sa base de données locale ou son antémémoire quelle est l'adresse IP, la réponse est immédiatement retournée au client DNS. la requête de mise en correspondance est envoyée initialement par le Client DNS à un serveur DNS inactif (ou à un serveur DNS en panne), cette requête ne va pas aboutir, et le Serveur DNS suivant, dans la liste locale des Clients DNS, va être sélectionné pour tenter de répondre à la même requête. Le même processus est répété tant que la requête n'a pas reçu de réponse de la part d'un Serveur DNS actif et tant que la liste de serveurs DNS n'a pas été épuisée. Le processus va s'arrêter dès que le client DNS va finalement recevoir une adresse IP de la part du premier Serveur DNS actif. Cette chaîne peut cependant induire un retard significatif. SONDES DE SURVEILLANCE DE LA DISPONIBILITE ET DU TEMPS DE REPONSE Environnement L'environnement général de l'invention est décrit sur la figure 2. Le but d'un serveur DNS est de mettre en correspondance un nom symbolique (nom d'hôte) avec une adresse de réseau (adresse IP) et de retourner cette adresse IP au Client DNS à l'origine de la requête de mise en correspondance. Une sonde de surveillance de disponibilité et de temps de réponse (201) opérant sur un systeme d'ordinateur (205), simule la demande d'un Client DNS standard (flux de surveillance 203), pour mettre en correspondance un nom spécifique avec une adresse IP. Ce nom spécifique est associé à une adresse IP spécifique, dans la base de données locale du serveur (202). A la réception de la réponse du Serveur DNS (204), la sonde de surveillance de la disponibilité et du temps de réponse contrôle le fait que le nom a été mis en correspondance avec succès avec l'adresse IP correcte, dans le cadre d' durée prédéterminée (de préférence en quelques secondes). La sonde retourne soit un temps de réponse (de préférence exprimé en secondes) soit un code de retour de panne. Le même processus peut être utilise pour mesurer simultanément ou successivement la disponibilité et le temps de réponse de la pluralité des serveurs DNS. Logique Interne La figure 3 est un ordinogramme représentant logique interne d'une sonde de surveillance de disponibilite et de temps de réponse, selon la présente invention. # (301) Premier démarrage d'un minuteur pour une période de temps donnée. # (302) La mise en correspondance d'un nom symbolique spécifique avec une adresse IP est demandée à un Serveur DNS. Ce serveur DNS est identifié par son d'hôte ou bien par son adresse IP. # (303) Si une réponse positive est retournée dans les limites de temps données, alors: # (304) Le minuteur est stoppé, le temps de réponse est sauvegardé, le processus de mise en correspondance est contrôlé et, en particulier, l'adresse IP reçue dans la réponse positive. # (305) Si tout est valide, le temps de réponse est sauvegardé dans une base de données. # (306) Un code de retour positif est retourné titre de sortie. # (307) Si aucune réponse n'est retournée dans la limite de la période de temps donnée, un code de retour négatif est retourné à titre de sortie. En résumé, sonde retourne: # soit un temps de réponse (de préférence exprimé en secondes), soit # un code de retour de panne. Le temps de réponse est enregistré dans une base de données. Ainsi, pour chaque Serveur DNS, le temps de réponse peut être surveillé et il est possible détecter panne dans un Serveur DNS et/ou de détecter une dégradation du temps de réponse. Flux de Données La figure 4 représente le flux de données généré une sonde surveillance de disponibilité et de temps de réponse selon la présente invention. Pour chaque Serveur DNS (405), à des intervalles de temps réguliers, des sondes (406) sont traitées par un système d'ordinateur appelé système de surveillance DNS (404). Les mesures de disponibilité et de temps de réponse sont sauvegardées dans une base de données appelée "Table de Données de Disponibilité et de Temps de Réponse" (408). Egalement, à des intervalles de temps réguliers, un programme analyseur de Service DNS (401), fonctionnant dans ledit système surveillance DNS (404), regroupe (407) analyse mesures, pour détecter les pannes du serveur DNS ou la fluctuation/la dégradation du temps de réponse Plus particulièrement, l'analyseur de Service DNS: # génère des comptes-rendus (403); # calcule des statistiques; # détecte l'indisponibilité de Serveurs DNS; # détecte des temps de réponse anormaux Stockage Interne La figure 5 décrit le stockage interne des mesures de disponibilité et de temps de réponse dans le Système de Surveillance DNS. # Dans le Système de Surveillance DNS, chaque sonde (501) met à jour (502) une table (503) avec les mesures de chaque Serveur qu'elle surveille. De cette manière, la table contient un état à jour de la totalité des Serveurs DNS surveillés. # A des intervalles de temps configurables, des sondes de de surveillance de disponibilités et de temps de réponse effectuent de nouveau contrôle des Serveurs DNS (504) et le cycle est répété. Analyseur La figure 6 se réfère à logique interne du programme, fonctionnant sur le Système de Surveillance DNS et appelé "analyseur de Service DNS". Le processus d'analyse de la qualité du service et, en cas de problème, de réaction par l'utilisation des mesures (601) fournies par les sondes de surveillance de disponibilité et de temps de réponse, comprend étapes suivantes: # (602) Un code de retour négatif, venant d'une sonde, est interprété comme une panne de serveur DNS. La détection d'une panne Serveur DNS est particulièrement utile dans un environnement dans lequel: # le même Client DNS peut être desservi par une pluralité de Serveurs DNS, et # en cas de panne, les Serveurs DNS actifs restants peuvent absorber la totalité de la charge du service DNS, sans que l'administrateur du réseau soit conscient de la panne. Les sondes permettent de procéder à des actions préventives lieu d'attendre qu'une interruption de service se produise. # (603) La fluctuation et, en particulier, la dégradation du temps de réponse sont surveillées. Lorsque le temps de réponse mesuré actuel les mesures antérieures sont significativement différents, on peut penser que le Serveur DNS a quelques problèmes. # (604) La mesure peut être comparée à une réponse moyenne calculée, afin de contrôler si la qualité du Service DNS lui-même est acceptable ou non. # (605) Le temps de réponse mesuré peut être comparé à un seuil prédéfini. # (606) En option, en cas de comportement anormal d'un Serveur DNS, une alerte peut être envoyée à un administrateur de réseau. # (607) Pour une analyse à long terme, des mesures et toutes les autres informations sont stockées dans un fichier de comptes-rendus. Bien que l'invention ait été représentée et décrite en particulier en référence à un mode de réalisation préféré, il est évident que divers changements, concernant la forme et les détails, peuvent être apportés ici, tout en respectant l'esprit et sans quitter le domaine de l'invention. REVENDICATIONS 1. procédé de surveillance d'un ou d'une pluralité de serveurs (102) d'un Système de Nom de Domaine IP (DNS) dans un réseau (103) opérant sous protocole Internet( , ledit procédé comprenant, pour chaque serveur DNS ( ), 'étape consistant à mesurer les performances et la disponibilité du serveur DNS(202), en simulant un client DNS(201) sur un système de surveillance (205, 404). 2. Le procédé selon la revendication précédente, dans lequel l'étape de mesure des performances et de la disponibilité d'un serveur DNS comprend l'étape consistant à mesurer le temps de réponse nécessaire au client (201) simulé pour récupérer une information, particulier une adresse IP, sur le serveur DNS (202). 3. Le procédé selon l'une quelconque des revendications précédentes, dans lequel l'étape de récupération d' information, en particulier d'une adresse IP prédéterminée, sur un serveur DNS, comprend les étapes consistant à . envoyer (203) une requête d'information au serveur DNS(202); recevoir (204) un message de réponse du serveur DNS (202); contrôler que l'information reçue, comprise dans ledit message de réponse, est correcte. 4. Le procédé selon l'une quelconque des revendications précédentes, dans lequel l'étape de mesure du temps de réponse nécessaire pour la récupération d'une information depuis un serveur DNS comprend l'étape consistant à # mesurer temps écoulé entre l'envoi de requête (203) et réception du message de réponse ( ). 5. Le procédé selon l'une quelconque des revendications précédentes dans lequel l'étape de mesure de la disponibilité d'un serveur DNS comprend l'étape consistant ' . # comparer 303) le temps de réponse mesuré à une période de temps donnée et, lorsque ledit temps mesuré dépasse ladite période de temps donnée, le serveur DNS est considéré comme étant en défaillance. 6. Le procédé selon l'une quelconque des revendications précédentes, dans lequel l'étape de mesure des performances d'un serveur DNS comprend l'étape consistant à . # comparer le temps de réponse mesuré à des temps de réponse mesurés antérieurement; # déterminer la dégradation ou l'amélioration du temps de réponse mesuré. 7. Le procédé selon l'une quelconque des revendications précédentes, comprenant l'étape consistant à mémoriser (305) les mesures de performances et de disponibilité dans le système de surveillance. 8. Un système (404), en particulier un système de surveillance, adapté pour mettre en oeuvre le procédé selon l'une quelconque des revendications précédentes. 9. Un programme d'ordinateur comprenant des instructions adaptées pour mettre en oeuvre toutes les étapes du procédé selon une quelconque des revendications 1 à 7 lorsque ledit programme est exécuté sur un ordinateur".