Brevet FR2843266A1 — publié le 20040206

La présente invention concerne un procédé pour la numérotation automatique de réseaux utilisant le protocole Internet. D'une manière générale on sait que les réseaux sont de plus en plus interconnectés et la complexité de leur topologie croit en permanence. De ce fait, la numérisation de nouveaux réseaux ou de réseaux déplacés s'avère de plus en plus fastidieuse. L'invention a donc plus particulièrement pour but de diminuer la charge d'administration et de gestion des réseaux en limitant les opérations manuelles de configuration liées à la numérotation et à faciliter le déploiement des réseaux en particulier des réseaux locaux (LAN). Elle propose, à cet effet, un procédé permettant d'affecter de manière automatique des préfixes de type IPv6 aux routeurs situés dans un réseau dans lequel, conformément au protocole IPv6, les adresses comprennent un préfixe de N bits et un identifiant de machine de 128 moins N bits, le préfixe correspondant aux adresses de sous réseaux et comportant lui-même deux parties principales: - Le TLA (top level Aggregator) qui définit la topologie publique Internet. -2 En général, le TLA est fournit par un opérateur Internet. Il peut être du type " site local ". Dans ce cas, le préfixe ne peut être utilisé qu'à l'intérieur d'un site. - Le SLA (site level Aggregator) qui définit la topologie interne d'un site: le SLA est en général placé sous la responsabilité de l'administrateur du site. L'architecture d'adressage IPv6 définit pour les plages actuellement allouées un préfixe de 64 bits. La répartition courante telle que recommandée est de 48 bits pour le TLA et 16 bits pour le SLA. Ce procédé s'applique aux réseaux utilisant le protocole Internet IPv6 en général. Néanmoins il est mieux adapté aux réseaux locaux LAN utilisant le protocole Internet IPv6. Il fait intervenir un routeur Maître et un numéroteur qui peut être implanté soit dans un serveur, soit dans un routeur du réseau, et utilise le processus d'auto configuration du protocole IPv6 qui permet à un équipement de se configurer automatiquement en fonction des informations qu'il reçoit du ou des routeurs connectés sur le même lien, par l'intermédiaire de messages du type " Router advertisement ". Ce processus qui permet de configurer les adresses IPv6 de l'équipement exécute les opérations suivantes: - L'équipement s'auto-génère un identifiant de machines généralement en le dérivant de l'adresse (MAC) de l'interface dont il dispose. - L'équipement se construit une adresse lien locale à partir de cet identifiant machine. -3 - L'équipement vérifie qu'il est le seul sur le lien à utiliser cette adresse. - Le routeur diffuse sur le lien un message (" router advertisment ") comprenant la liste des préfixes qu'il utilise (TLA+SLA). - L'équipement capte ce message et génère une adresse IPv6. Les routeurs peuvent alors acquérir le préfixe TLA par le biais de mécanismes de " Prefix Delegation " et de " Router Renumbering ", propre au protocole IPv6. Pour obtenir une configuration entièrement automatique, il reste alors à concevoir un mécanisme permettant de configurer automatiquement les préfixes SLA dans les routeurs. L'invention parvient à ces résultats grâce à un procédé pour la configuration automatique d'un réseau utilisant un protocole IPv6 ou analogue, ce réseau comprenant une pluralité de routeurs interconnectés disposant initialement d'adresses de type "lien local" (non routables), sur chacune de leurs interfaces (de sorte que les fonctions de routage IPv6 sont initialement inutilisables). Selon l'invention, ce procédé est caractérisé en ce que, pour pouvoir utiliser ces fonctions de routage, il consiste à implanter un mécanisme d'affectation de préfixes aux adresses IPv6 des routeurs du réseau de manière à pouvoir utiliser le processus d'auto configuration dudit protocole grâce à un mécanisme faisant intervenir un numéroteur qui délivre lesdits préfixes selon une séquence opératoire comprenant pour chacun des routeurs les phases suivantes - Une phase d'initialisation dans laquelle le routeur n'a pas encore reçu de préfixe en provenance du numéroteur et est donc dans l'incapacité de -4 joindre le numéroteur, cette phase prenant fin à la réception par le routeur d'un message " Router Advertisement " émis selon le protocole d'auto configuration par un autre routeur et qui comprend la liste des préfixes qu'il utilise. - Une phase de configuration déclenchée par la réception du message " Router Advertisement " au cours de laquelle grâce aux informations contenues dans le message " Router Advertisement " il auto configure une adresse routable sur l'interface par laquelle le message est arrivé. - Une phase de relais dans laquelle le routeur a déjà reçu des préfixes et sait joindre le numéroteur. Dans cette phase le routeur sert d'intermédiaire entre le numéroteur et d'autres routeurs qui sont encore dans la phase de configuration. Lors du démarrage de la phase d'initialisation, le routeur cherche dans ses informations sauvegardées si la configuration a déjà été effectuée,et - Si la configuration a déjà été effectuée, le routeur passe en phase de relais. - Si la configuration n'a pas été encore effectuée: * Si le routeur est maître, alors le routeur passe immédiatement en phase de configuration. * Si le routeur n'est pas maître, il reste en écoute sur chacun de ses interfaces. * Lorsqu'il reçoit un message " Router Advertisement " pour une de ses interfaces * il mémorise l'adresse du routeur émetteur comme routeur amont " Upstream Router ", -5 * il mémorise l'interface par laquelle le message est arrivé comme interface primaire " primary interface ", * il auto configure une adresse routable sur l'interface et il la mémorise comme adresse primaire " primary address ", il passe en phase de configuration. Dans la phase de configuration, le routeur (qui peut être maître) effectue les traitements suivants: - Il cherche à joindre le numéroteur en lui demandant autant de préfixes qu'il a de liens à numéroter: * Si le routeur est maître, il envoie directement sa requête au numéroteur, cette requête de configuration contenant la liste ordonnée des adresses primaires " primary address " des relais traversés, de telle sorte que le numéroteur puisse répondre à cette requête, * Si le routeur n'est pas maître, il envoie sa requête de configuration à son " upstream router " par l'interface primaire " primary interface ", la requête comportant l'adresse primaire " primary address ". - A la réception de la réponse du numéroteur: * Il mémorise l'adresse du numéroteur. * Si le routeur est maître: il mémorise l'interface par laquelle la réponse est arrivée comme interface primaire " primary interface ", * il auto configure une adresse routable sur l'interface et la mémorise comme adresse primaire " primary address ", * il auto configure une adresse routable par interface à configurer et il les mémorise, -6 * il commence à diffuser périodiquement les messages " router advertisement " sur chaque interface, * il passe en phase de relais. Dans la phase de relais, le routeur effectue les traitements suivants: Il reçoit les requêtes de configuration en provenance d'autres routeurs: * il insère son adresse primaire " primary address " dans la requête, ces adresses étant insérées successivement par chaque relais de façon 1 0 ordonnée, * il envoie la nouvelle requête soit à son routeur amont " upstream router " soit directement au numéroteur si celui-ci est accessible par le susdit protocole IPv6 (ce qui est toujours le cas pour le maître). - Il reçoit les réponses de configuration en provenance soit d'autres routeurs, soit du numéroteur: * dans la réponse, le routeur cherche sa propre adresse primaire " primary address ", * il sélectionne l'adresse suivante dans la liste, * il envoie la réponse à cette adresse. Un mode d'exécution de l'invention sera décrit ci-après, à titre d'exemple non limitatif, avec référence aux dessins annexés dans lesquels: La figure 1 est une représentation schématique d'un réseau à numérotation automatique selon l'invention. Les figures 2 à 4 sont des algorithmes des phases d'initialisation (fig. 2), de configuration (fig. 3), de relais (fig. 4) du procédé. -7 Dans l'exemple illustré sur la figure 1, le réseau comprend une pluralité de routeurs RO à R6 dont l'un RO est doté d'une fonction nommée "Master" et d'un équipement E doté d'une fonction nommée Numéroteur. Ces routeurs sont interconnectés par des liaisons LO à L10, réseau de niveau 2 qui forment deux ramifications partant du routeur RO, à savoir une première ramification comprenant le routeur RI, relié par la liaison L4 aux routeurs R3 et R5, et une deuxième ramification comprenant le routeur R2, relié par les liaisons L5 et L6 aux routeurs R4 et R6 lesquels sont interconnectés par une liaison L7. Par ailleurs, les routeurs RO, R3, R5, R6, R7 sont reliés par des liaisons LO, L3, L9, L10, L8 à des noeuds de réseau non représentés. Les fonctions "Master" et Numéroteur sont spécifiquement créées pour les besoins du procédé selon l'invention. A l'initialisation, les routeurs RO à R6 ne disposent que d'adresses IPv6 de type "lien local" sur chacune de leur interface. Ainsi, au démarrage de leur système, les routeurs RO à R6 ne disposent pas d'adresses " routables " et les fonctions de routage du protocole IPv6 ne sont donc pas utilisables. Les fonctions "Master" et Numéroteur sont liées: elles peuvent être implantées dans la même machine. Si tel n'est pas le cas, les deux machines doivent au moins être mutuellement accessibles selon le protocole IPv6. La fonction numéroteur peut être implantée dans un serveur ou un routeur. L'administrateur du système choisit un ensemble de préfixes réseau et les configure dans les numéroteurs. Plusieurs numéroteurs peuvent exister sur un même réseau mais un même préfixe ne doit pas être attribué plusieurs fois par le ou les numéroteur(s). Un exemple d'algorithme sera décrit ci-après, en référence aux figures 2 à 4. En phase d'initialisation, lors du démarrage d'un routeur (bloc B1), le système détenmine si ce routeur (bloc B2) est déjà configuré. Si tel est le cas, il passe en phase relais (bloc B3). Si le routeur n'est pas configuré, le système détermine si ce routeur est un routeur maître (bloc B4). Si tel est le cas, le système passe en phase de configuration (bloc B5). Si ce n'est pas le cas, le routeur se met en attente d'un préfixe (bloc B6), puis effectue la sélection d'un routeur amont (" upstream router "), d'une interface primaire (" primary interface ") et d'une adresse primaire (" primary adress ") (bloc B7). Lorsqu'en fm de phase d'initialisation (bloc B8) le système passe en phase de configuration, il effectue un comptage du nombre de requêtes, à compter d'un nombre de requêtes nul (bloc Bq) jusqu'à ce qu'il atteigne un nombre de requêtes de configuration égal à un nombre maximum de requêtes (MAXR). Si ce nombre maximum est atteint (bloc Blo), le système attend pendant une période de durée paramétrable (bloc B11) avant de relancer une nouvelle série de requêtes (bloc B12 et suivants). Si le nombre de requêtes est inférieur au nombre maximum, le système procède à une incrémentation du nombre des requêtes et détermine s'il s'agit d'un routeur maître (bloc B13). Si tel est le cas, le système procède à l'émission d'une requête de configuration vers le numéroteur et à l'armement d'une temporisation (bloc B14) qui provoque une attente bloquante sur l'échéance de la temporisation et sur la réception d'une réponse émanant du numéroteur (bloc B15). -9 Si le routeur n'est pas un routeur maître, le système émet une requête de configuration vers le routeur amont (" upstream routeur ") et procède à l'armement d'une temporisation (bloc B16) qui provoque l'attente bloquante prévue au bloc B15. A l'échéance de la temporisation, le système se reboucle à la jonction des blocs Bq et Blo. A la suite de la réception de la réponse du numéroteur, le système procède à la configuration des interfaces (bloc B16) et émet des signaux " Router advertisement " (bloc B16). S'il s'agit d'un routeur maître (bloc B17), le système effectue une sélection de l'adresse primaire et de l'interface primaire (bloc Bis), puis passe en phase de relais (bloc B19). Comme illustré sur la figure 4, la phase de relais est initiée par une étape d'initialisation ou une étape de configuration (bloc B20). Cette étape est suivie par un test d'accessibilité au numéroteur et par l'émission périodique d'un signal d'appel " ping " (bloc B21). Le système se met ensuite en attente de réception, répond au signal d'appel " ping " et lance une procédure dinterrogation des désignations des routeurs, routeurs par routeurs (bloc B22). Il effectue ensuite une requête d'accessibilité (bloc B23). Si ce test est positif, le numéroteur est marqué comme accessible (bloc B24) et le test d'accessibilité est stoppé (bloc B25). Le système se reboucle alors au niveau de la liaison entre les blocs B21 et B22. Si le test est négatif, le système recherche si une réponse à la requête de configuration a été émise (bloc B26). - 10 Si une réponse à cette requête a été émise, le système procède au relayage de la réponse (bloc B97) et se reboucle alors au niveau de la liaison entre les blocs B21 et B22. Si aucune réponse à cette requête n'a été émise, le système recherche si une requête de configuration a été émise (bloc B28). Si une requête de configuration a été émise, le système procède à une insertion de l'adresse primaire dans la requête (bloc B29). Le système détermine ensuite si le numéroteur est accessible (bloc B30). Dans le cas o le numéroteur est accessible, le système envoie la requête au numéroteur (B31), puis retourne au niveau de la liaison entre les blocs B24 et B22. Dans le cas o le numéroteur n'est pas accessible, le système envoie la requête au routeur amont (bloc B32), puis retourne au niveau de la liaison entre les blocs B21 et B22. Le procédé selon l'invention est utilisable dans de nombreux domaines. Il s'avère particulièrement utile pour le déploiement de réseaux locaux sans fil tels que ceux qui sont utilisés couramment sur les chantiers. Il convient également à la domotique et à des applications militaires telles que par exemple le parachutage de routeurs, applications dans lesquelles la topologie réseau est inconnue. - il1Néanmoins, la taille du réseau local (LAN) demeurera limitée, étant entendu que plusieurs réseaux (LAN) pourront être juxtaposés et ensuite interconnectés. Ainsi, par exemple - Le réseau LAN pourra comporter environ une dizaine de routeurs et une dizaine de liens. - La topologie, à priori méconnue, devra rester stable pendant la numérotation. - Cette topologie pourra ensuite évoluer mais relativement lentement (par exemple pas plus d'un chargement par minute). Si le réseau local (LAN) est connecté à Internet, il sera préférable de placer le numéroteur et le routeur maître au niveau des routeurs reliant le réseau local au réseau Internet. - 12 Revendications 1. Procédé pour la numérotation automatique d'un réseau utilisant un protocole de type Internet ou analogue ce réseau comprenant une pluralité de routeurs (RO à R6) interconnectés disposant initialement d'adresses de type " lien local " sur chacune de leurs interfaces, ledit procédé faisant intervenir un routeur maître (RO) et un numéroteur (E) qui peut être implanté soit dans un serveur soit dans un routeur du réseau et utilisant un processus d'auto configuration dudit protocole qui permet à un équipement de se configurer automatiquement en fonction des informations qu'il reçoit du ou des routeurs connectés sur le même lien par l'intermédiaire de message du type " router advertisement ", caractérisé en ce que pour pouvoir utiliser les fonctions de routage dudit protocole il consiste à implanter un mécanisme d'affectation de préfixes aux adresses IPv6 des routeurs du réseau de manière à pouvoir utiliser le processus d'auto configuration dudit protocole grâce à un mécanisme faisant intervenir un numéroteur (E) qui délivre lesdits préfixes selon une séquence opératoire comprenant pour chacun des routeurs les phases suivantes: - une phase d'initialisation dans laquelle le routeur n'a pas encore reçu de préfixe en provenance du numéroteur et est donc dans l'incapacité de joindre le numéroteur, cette phase prenant fin à la réception par le routeur d'un message " Router Advertisement " émis selon le protocole d'auto configuration par un autre routeur et qui comprend la liste des préfixes qu'il utilise, - une phase de configuration déclenchée par la réception du message " Router Advertisement " au cours de laquelle grâce aux informations contenues dans le message " Router Advertisement " il auto configure une adresse routable sur l'interface par laquelle le message est arrivé, - 13 - une phase de relais dans laquelle le routeur a déjà reçu des préfixes et sait joindre le numéroteur, le routeur servant alors d'intermédiaire entre le numéroteur et d'autres routeurs qui sont encore dans la phase de configuration. 2. Procédé selon la revendication 1, caractérisé en ce que lors du démarrage de la phase d'initialisation, le routeur cherche dans ses informations sauvegardées si la configuration a déjà été effectuée (bloc B2), et - si la configuration a déjà été effectuée, le routeur passe en phase de relais, - si la configuration n'a pas été encore effectuée * si le routeur est maître, alors le routeur passe immédiatement en phase de configuration (bloc B5), * si le routeur n'est pas maître, il reste en écoute sur chacun de ses interfaces (bloc B6), * lorsqu'il reçoit un message " Router Advertisement " pour une de ses interfaces: * il mémorise l'adresse du routeur émetteur comme routeur amont " Upstream Router ", * il mémorise l'interface par laquelle le message est arrivé comme interface primaire " primary interface ", il auto configure une adresse routable sur l'interface et il la mémorise comme adresse primaire " primary address " (bloc B7), il passe en phase de configuration. - 14 3. Procédé selon l'une des revendications précédentes, caractérisé en ce que dans la phase de configuration, le routeur effectue les traitements suivants - il cherche à joindre le numéroteur (E) en lui demandant autant de préfixes qu'il a de liens à numéroter: * si le routeur est maître, il envoie directement sa requête au numéroteur (E), cette requête de configuration contenant la liste ordonnée des adresses primaires " primary address " des relais traversés, de telle sorte que le numéroteur (E) puisse répondre à cette requête, * si le routeur n'est pas maître, il envoie sa requête de configuration vers le routeur amont "upstream router" par l'interface primaire " primary interface ", la requête comportant l'adresse primaire " primary address ", - à la réception de la réponse du numéroteur (E): * il mémorise l'adresse du numéroteur, * si le routeur est maître: * il mémorise l'interface par laquelle la réponse est arrivée comme l'interface primaire " primary interface ", * il auto configure une adresse routable sur l'interface et la mémorise comme l'adresse primaire " primary address ", * il auto configure une adresse routable par interface à configurer et il les mémorise, * il commence à diffuser périodiquement les messages " router advertisement " sur chaque interface, * il passe en phase de relais. - 15 4. Procédé selon l'une des revendications précédentes, caractérisé en ce que dans la phase de relais, le routeur effectue les traitements suivants: - il reçoit les requêtes de configuration en provenance d'autres routeurs: * il insère son adresse primaire " primary address " dans la requête, ces adresses étant insérées successivement par chaque relais de façon ordonnée, * il envoie la nouvelle requête soit à son routeur amont " upstream router " soit directement au numéroteur si celui-ci est accessible par le susdit protocole (IPv6 (ce qui est toujours le cas pour le maître)), - il reçoit les réponses de configuration en provenance soit d'autres routeurs, soit du numéroteur: * dans la réponse, le routeur cherche sa propre adresse primaire " primary address ", * il sélectionne l'adresse suivante dans la liste, * il envoie la réponse à cette adresse.