Brevet FR2851867A1 — publié le 20040903

l Ordonnancement d'adresses dans serveur de noms de domaine La présente invention est relative aux réseaux de télécommunication, notamment ceux utilisant la pile protocolaire IPv6 (Internet Protocol - version 5 6). Plus précisément, elle concerne la résolution d'adresses au sein d'un serveur de noms de domaine associé à de tels réseaux de télécommunication. De tels serveurs de noms de domaine sont bien connus de l'état de la technique, et sont classiquement appelés selon leur acronyme en langue 1 0 anglaise DNS, pour " Domain Name Server ". Le fonctionnement des DNS est standardisé et décrit dans les RFC 1034 et 1035 de l'IETF (Internet Engineering Task Force). Le but des serveurs de noms de domaine est de simplifier l'adressage au sein d'un réseau de télécommunication IP: ils agissent comme des 15 annuaires associant des noms symboliques des éléments de réseau (ou noms de domaine), ne représentant aucune réalité sur le réseau, aux adresses numériques de ces éléments de réseau. Ainsi, lorsqu'un premier élément de réseau veut adresser un flux de données à un second élément de réseau, il peut utiliser soit l'adresse de ce 20 second élément de réseau, s'il la connaît, soit le nom symbolique de ce second élément. Dans ce dernier cas, le premier élément de réseau adresse une requête au serveur-de noms de domaine, contenant ce nom symbolique. En retour, il reçoit la (ou les) adresse numérique correspondant à ce nom 25 symbolique. Il peut alors envoyer le flux de données vers ce second élément de réseau en utilisant son adresse. Toutefois, un problème se pose lorsqu'un même nom de domaine est associé à plusieurs adresses. Cela est notamment le cas dans un réseau 1 04930/SYC/NESO F:\Sa IIe\F 1 04930\PREMDEP\FIT\projetbr.doc utilisant la pile protocolaire IPv6, les spécifications de lPv6 permettant en effet l'association de plusieurs adresses à un même élément de réseau. L'utilisation d'un système DNS dans un réseau de type IPv6 est décrite dans le RFC 1886 de l'IETF, intitulé " DNS Extensions to Support IP Version 6 ". Ces adresses peuvent être des adresses de différents niveaux. Ainsi qu'il est décrit dans le RFC 2373 de l'IETF, intitulé " IP version 6 Addressing Architecture ", différents types d'adresses existent, différentiés sur la base d'un préfixe. Il existe ainsi des adresses à valeur globale, et des adresses à valeur 10 locale, notamment locales à un site. Lorsque l'émetteur et le destinataire du flux de données se situent dans un même espace d'adressage (un site), il convient d'utiliser une adresse locale propre à cet espace d'adressage. Ce type d'adresse locale à un site sera ultérieurement appelé aussi, adresse de site. Dans le cas contraire, une adresse globale doit être utilisée, sinon le flux de données ne pourra être correctement acheminé vers le destinataire. Si, l'adresse globale est systématiquement utilisée, les flux de données seront correctement acheminés, mais l'utilisation du réseau ne sera pas optimale. De plus, aucune garantie n'est donnée sur le fait que les flux ne 20 sortiront pas du site. On peut aussi avoir des adresses de différentes natures, comme une adresse IPv6 et par exemple une adresse dite " 6to4 ", telle que définie par le RFC 3056 de l'IETF (Internet Engineering Task Force) intitulé " Connection of 25 IPv6 Domains via lPv4 Clouds ". Ce mécanisme est un des mécanismes permettant la migration graduelle d'un réseau conforme à IPv4 vers un réseau conforme à IPv6. Le mécanisme " 6To4 " permet à des éléments de réseau purement IPv6 de communiquer avec d'autres éléments de réseau IPv6 au travers 30 d'éléments de réseau purement IPv4. Pour ce faire, un type particulier 1049 30/SYCMNESO F:\Salle\Fl 04930\PREMDEP\FIT\projetbr.doc d'adresses est défini, appelé " adresses 6TO4 ". Les adresses de ce type sont reconnaissables, par les éléments de réseau, en ce qu'elles commencent par le préfixe " 2002 " : aussi, à la réception d'un paquet portant une telle adresse, un élément de réseau en bordure du site lPv6 est à même de l'encapsuler dans un paquet IPv4 pour lui faire atteindre sa destination. L'utilisation de la mauvaise adresse pourrait déboucher par la réception d'une adresse IPv6 par un élément de réseau compatible uniquement avec IPv4 ou bien sur une limitation inacceptable de l'espace d'adressage. Il en résulte alors le non-acheminement du flux de données. Dans ces deux situations, un même nom est associé à plusieurs adresses. Le serveur de noms de domaine renvoie donc comme réponse à une requête, l'ensemble de ces adresses, et l'élément de réseau émetteur de cette requête utilise arbitrairement l'une ou l'autre de ces adresses. 15 Or, dans la première situation, l'utilisation d'une adresse non appropriée n'est pas optimale du point de vue du réseau. De surcroît, dans la seconde situation, l'utilisation d'une adresse non 20 appropriée peut ne pas permettre d'adresser correctement l'élément de réseau que l'on veut atteindre. Le but de l'invention est de palier ces inconvénients de l'état de la technique, en permettant à l'élément de réseau émetteur d'un flux de 25 données, d'utiliser une adresse effective et optimale. Pour ce faire, l'invention a pour objet un serveur de noms de domaine, associé à un réseau de données, comportant des moyens de réception de requêtes contenant un nom de 30 domaine et 1 04930/SYC/N ESO F:\Solle\F1 04930\PREMDEP\FIT\projetbr.doc * des moyens pour retourner à l'émetteur de la requête, une réponse contenant une ou plusieurs adresses associées au nom de domaine, Selon l'invention, ce serveur de noms de domaine se caractérise en ce 5 que cette ou ces adresses sont ordonnancées par le serveur de noms de domaine, au sein de la réponse. Selon un mode de réalisation de l'invention, l'ordonnancement est effectué au moins en fonction du contenu de la requête. 1 0 L'ordonnancement peut être effectué en outre en fonction de la topologie du réseau, l'adresse la plus locale permettant d'adresser à la fois ledit émetteur de la requête et l'élément de réseau correspondant au nom de domaine, étant insérée en premier. L'ordonnancement peut aussi être effectué de sorte qu'en cas de 15 présence d'un nuage IPv4 entre l'émetteur de la requête et l'élément de réseau correspondant au nom de domaine, une adresse de type " 6to4 " est insérée en premier. L'invention et ses avantages apparaîtront de façon plus claire dans la 20 description qui va suivre en liaison avec les figures annexées. La figure 1 illustre une première mise en oeuvre de l'invention. La figure 2 schématise une seconde mise en oeuvre de l'invention. La figure 1 illustre un réseau composé de deux sites, S et S'. Le site S 25 contient des éléments de réseau R1, R2 et R3, et le site S' contient un élément de réseau R4. Comme il a été évoqué précédemment, il existe différents types d'adresses lPv6, que l'on peut distinguer par des préfixes différents. Parmi ces types d'adresses, on trouve des adresses locales de site 30 (Site-local address), ou adresses de site, et des adresses globales. 1 04930/SYC/NESO SF:\SaIle\F i 04930\PREMDEP\FIT\pr-oietbr.doc On reconnaît une adresse locale de site en ce qu'elle est de la forme " FECO::/10 ", ce qui signifie que les 10 premiers bits ont pour valeur FECO et que les 1 18 suivants représentent l'espace d'adressage proprement dit. Similairement, on reconnaît une adresse local de lien, en ce qu'elle est de la forme Par conséquent, l'élément de réseau R4, par exemple, peut posséder une adresse globale a. et une adresse local de site a.. Cette adresse globale, a9 peut être telle que définie dans le RFC 2374, intitulé " An IPv6 Aggregatable Global Unicast Address ". Elle permet à l'élément de réseau R4 10 d'entrer en communication avec des éléments de réseau, situés dans d'autres sites, comme par exemple, l'élément de réseau R1 situé dans le site S. On suppose que l'élément de réseau R1 désire transmettre un flux de données à l'élément de réseau R4. Il adresse, pour ce faire, une requête R au serveur de noms de domaine D, contenant le nom symbolique ou nom de domaine, de l'élément de réseau R4. Selon l'invention, le serveur de noms de domaine D est apte à ordonnancer les différentes adresses de l'élément de réseau recherché, dans 20 la réponse faite à l'émetteur de la requête R. Il peut utiliser pour ce faire les informations contenues dans cette requête R. Parmi ces informations, on trouve notamment l'adresse source de la requête, c'est-à- dire l'adresse de l'élément de réseau R1. Connaissant les adresses des éléments de réseau R, et R4, ainsi que la topologie du réseau, le 25 serveur de noms de domaine peut déterminer quel type d'adresse doit être utilisé. Dans l'exemple présent, il peut déterminer que les éléments de réseau R1 et R4 ne sont pas situé dans le même site et donc que l'adresse locale ne doit pas être utilisée. 1 04930/SYC/NES0 F:\SaIle\FI 04930\PREMDEP\FIT\projetbr.doc Abstraction faite des autres adresses possibles, le serveur D ordonne donc les adresses dans l'ordre a., a, dans la réponse R' qu'il transmet à l'élément de réseau RI. la réception de cette réponse R', l'élément de réseau R1 peut 5 déterminer quelle adresse utiliser, en choisissant la première dans l'ordre, c'est-à-dire l'adresse a9. Il peut alors utiliser l'adresse a9 pour l'insérer comme adresse de destination dans les paquets du flux de données F qu'il transmet à l'élément de réseau R4. Sans cet ordonnancement effectué par le serveur de noms de domaine D, l'élément de réseau R1 n'aurait aucun moyen de déterminer quelle adresse il devrait utiliser. Il aurait alors peut-être utilisé l'adresse locale a" ce qui ici aurait débouché sur un non-acheminement du flux de données F. Autrement dit, l'ordonnancement réalisé par le serveur de noms de domaine D, est effectué en fonction de la requête: si l'adresse source de la requête est une adresse locale, et si le nom demandé possède une adresse locale, c'est cette adresse locale qui sera renvoyé en premier. D'une façon plus générale, il consiste à insérer en première position, 20 l'adresse la plus locale permettant d'adresser à la fois l'émetteur (ici l'élément de réseau R1) de la requête R et l'élément de réseau correspondant au nom de domaine recherché (ici l'élément de réseau R4). Si l'élément de réseau R1 désire transmettre un flux de données à 25 l'élément de réseau R3, le serveur de noms de domaine renverrait son adresse locale de site en premier (si elle existe), afin que l'élément de réseau RI utilise celle-ci dans ses communications avec R3. 1 04930/SYC/NESO F:\Solle\F 1 04930\PREMD EP\FIT\projetbi-.cloc La figure 2 illustre une seconde mise en oeuvre de l'invention dans le cadre d'un réseau hétérogène composé d'éléments de réseau lPv4 et d'éléments de réseaux IPv6 ou IPv4/lPv6. Différents mécanismes existent. Dans cet exemple, le mécanisme 6to4 5 est utilisé. L'invention est toutefois susceptible de s'appliquer à différents mécanismes du moment que différentes adresses sont nécessaires. Dans cet exemple, un réseau de données est composé de deux domaines NA et NB séparés par un nuage N4, composé uniquement d'éléments de réseau IPv6. Cet exemple illustre le cas classique, de deux sites 10 ayant migrés vers la technologie IPv4 et qui sont connectés via un réseau tiers, fournis par un opérateur de télécommunication, n'ayant pas encore migré et encore compatible uniquement avec les protocoles IPv4. Les éléments de réseau A et B sont des routeurs connectant le nuage N4 respectivement aux domaines NA et NB. Dans chacun des domaines NA et NB, on a un serveur de noms de domaine DA et DB, respectivement, ou DNS. On supposera que les deux serveurs DA et DB sont convenablement configurés et disposent mutuellement de leur bonne adresse. Dans un premier temps, l'élément de réseau émetteur X, désirant transmettre un flux de données à un élément de réseaux destinataire Y, situé dans le domaine NB, émet une requête R au serveur de noms de domaine DA associé au domaine NA' Cette requête R contient le nom symbolique du destinataire Y, et contient une adresse source, c'est-à- dire une adresse de 25 l'émetteur X. la réception de cette requête R, le serveur DA détermine s'il possède une association entre le nom symbolique contenu dans la requête et une adresse. Comme le destinataire Y est hors du domaine NA " contrôlé " par le serveur DA, cette association ne figure pas dans les tables ou dans la base de 1 04930/SYC/NESO F:\Scille\Fl 04930\PREMDEP\FIT\projetbr.doc données du serveur DA. Selon une configuration récursive, il transmet la requête vers le serveur de noms de domaine DB du domaine NB. Le destinataire Y et le serveur DB faisant partie du même domaine NB, ce dernier possède les informations relatives au destinataire Y et à 5 l'association de son nom de domaine (symbolique) et de ses adresses. Dans cet exemple, le destinataire Y possède au moins deux adresses: * une adresse ac6 conforme au protocole lPv6 permettant à l'élément de réseau Y de communiquer avec les autres éléments de réseau du domaine Y ou avec des éléments de réseau d'autres domaines 10 IPv6 (non représentés) . * Une adresse 06tç4 conforme à la technologie " 6to4 " précédemment évoquée, permettant la communication de deux éléments de réseau IPv6 au travers d'un nuage IPv4. Selon l'invention, le serveur de noms de domaine DB ordonnance les deux (ou plus) adresses correspondant au nom symbolique de l'élément de réseau Y recherché. L'ordonnancement peut se faire en fonction du contenu de la requête 20 transmise par le serveur de noms de domaine DA Cette requête contient en effet l'adresse de l'émetteur (le serveur de noms de domaine DA), ce qui permet au serveur de noms de domaine DB de déterminer que, comme l'adresse source est une adresse de type " 61o4 ", la technologie " 6to4 " doit être utilisée. Il peut donc déterminer que l'adresse pertinente est l'adresse a6f04 du destinataire Y, et il peut par conséquent, ordonner les différentes adresses en mettant l'adresse la plus pertinente, 06,o4 (adresse " 6to4 " du destinataire Y) en premier et insérer ces adresses ordonnées dans une réponse R'. Cette réponse est envoyée au serveur de noms de domaine DA qui est 30 maintenant en mesure de répondre à la requête de l'émetteur X. 1 04930/SYC/NESO F:\Scile\Fl 04930\PREMDEP\FIT\projetbi.doc Selon l'invention, cet émetteur est apte à interpréter l'ordre des adresses contenues dans la réponse R'. Cette interprétation peut consister à simplement utiliser la première adresse contenue dans la réponse. Cette première adresse est l'adresse a6,04, compatible avec le mécanisme s 6to4 ". L'élément de réseau émetteur X peut alors utiliser l'adresse a6t.4 pour adresser le flux de données vers l'élément de réseau destinataire Y. Ce flux de données F traversera les éléments de réseau A et B et le nuage N4, en étant correctement acheminé. Autrement dit, l'ordonnancement réalisé par le serveur de noms de domaine DB est effectué de sorte qu'en cas de présence d'un nuage IPv4 (ici N4) entre l'émetteur de la requête (ici X) et l'élément de réseau correspondant au nom de domaine contenu dans la requête (ici Y), une adresse de type 15 " 6to4 " est insérée en premier (ici a6to4). C'est grâce à cet ordonnancement effectué par le serveur de noms de domaine DB que l'élément de réseau émetteur X est à même de déterminer l'adresse a6t04 à utiliser. 1 04930/SYC/NES0 F:\Solle\F 104930\PREMDEP\FIT\projetbr.doc REVENDICATIONS 1) Serveur de noms de domaine (DNS), associé à un réseau de 5 données, comportant des moyens de réception de requêtes (R) contenant un nom de domaine et des moyens pour retourner à l'émetteur de ladite requête, une réponse contenant une ou plusieurs adresses associées audit nom de domaine, caractérisé en ce que la ou lesdites adresses sont ordonnancées par ledit serveur de noms de domaine, au sein de ladite réponse. 2) Serveur de noms de domaine, selon la revendication 1, dans lequel l'ordonnancement est effectué au moins en fonction du contenu de ladite requête. 3) Serveur de noms de domaine, selon la revendication 2, dans lequel l'ordonnancement est effectué en outre en fonction de la topologie du réseau, l'adresse la plus locale permettant d'adresser à la fois ledit émetteur de la requête et l'élément de réseau correspondant audit nom de domaine, étant insérée en premier. 4) Serveur de noms de domaine, selon la revendication 3, dans lequel l'ordonnancement est effectué de sorte qu'en cas de présence d'un nuage IPv4 entre ledit émetteur de la requête et l'élément de réseau correspondant audit nom de domaine, une adresse de type " 6to4 > est 25 Insérée en premier. 1 04930/SYC/NES0 F:\Solle\Fl 04930\PREMDEP\FIT\piojetbr.doc