N°14 DECEMBRE 2002
 
Editorial
Le CRI est à votre écoute depuis huit ans !
 
Haut débit
Le haut débit pour tous, c'est pour bientôt !
 

PingOO IGWan
- Un nouveau PingOO pour allier rapidité et sécurité
- Un PingOO routeur sécurisé pour l'ADSL

 
[Partie 1 et 2]
Réseaux, sécurité et haute-disponibilité
Un réseau : c'est bien ;
un réseau qui fonctionne tout le temps : c'est mieux !
 

En bref
- Liens utiles
- Formations
- Voeux

 

[220 Ko]

RÉSEAUX, SÉCURITÉ ET HAUTE-DISPONIBILITÉ - PARTIE 1 ET 2

Un réseau : c'est bien ; un réseau qui fonctionne tout le temps : c'est mieux !

{Resume}

RAPPELS SUR L'INTERET DES RESEAUX INFORMATIQUES :

Ce n'est pas un scoop : Internet ne cesse de se développer. En parallèle à cela, on s'en rend peut-être moins compte, des réseaux de petite et moyenne taille, qu'ils soient "fermés" (notion d'Intranet) et/ou reliés au réseau Internet, se mettent en place partout dans le monde. De nos jours, une grande proportion des administrations, des établissements scolaires, des petites et moyennes entreprises ont franchi le pas ou s'apprêtent à le franchir pour des utilisations diverses :

  • partager les ressources informatiques. Cela permet alors depuis chaque poste informatique, d'accéder à l'ensemble des équipements qui peuvent être utilisés (disques durs de forte capacité, imprimantes, scanners, graveurs, lecteurs de CD-ROM ou de DVD-ROM, ...) sans que celui-ci en soit équipé. Cela permet alors d'avoir des machines de travail "légères" et relativement peu coûteuses en concentrant les périphériques à partager sur un serveur dédié ou en les répartissant sur les différents postes du réseau sans qu'il n'y ait une machine qui soit "prédominante"

  • partager des informations, des fichiers entre les utilisateurs des différents postes raccordés. Le temps où on se transmettait des fichiers grâce à des disquettes est révolu. Par le réseau, des fichiers de grande taille peuvent transiter rapidement et simplement. On peut également éviter de transmettre certains documents sous format papier pour les diffuser, évitant ainsi une accumulation de "paperasses" difficiles à classer et qui prennent une place non négligeable. Il existe différents moyens pour partager des informations au niveau d'un réseau dit local : la messagerie électronique, la mise à disposition des fichiers et informations en question sur un serveur web accessible depuis un navigateur d'un clic de souris, le partage de fichiers. Cette dernière possibilité consiste à ouvrir le disque dur de sa machine en visibilité pour les autres utilisateurs connectés au réseau local (avec des droits de lecture seule pour limiter les risques de suppression de fichiers par une autre personne ou un accès total en lecture et écriture afin qu'un document puisse être mis à jour par plusieurs personnes)

  • partager une connexion à Internet. On permet ainsi à tous les postes du réseau d'avoir un accès aux ressources innombrables disponibles sur Internet par le biais d'une seule connexion à un fournisseur d'accès. En général, c'est un routeur qui est utilisé pour effectuer ce partage. C'est un équipement qui se place sur le réseau comme une autre machine et qui fait transiter les informations de façon bi-directionnelle entre le réseau local et une machine distante reliée elle aussi à Internet sur laquelle figure un document à échanger. Cela se fait à travers la liaison unique (en général) qui le relie au fournisseur d'accès (ligne RNIS, liaison spécialisée, ADSL, câble, faisceau hertzien, ...).

L'ensemble des moyens mis en place pour offrir ces services réseau sont aussi différents que la nature de l'organisme qui le met en place, ses besoins, ses moyens financiers, sa volonté d'ouvrir ou non l'accès au réseau Internet (pas systématique), les bâtiments utilisés, le type d'activité, ...

LA NECESSITE DE HAUTE-DISPONIBILITE :

Dans tous les cas en revanche, il semble qu'il y ait un dénominateur commun : à partir du moment où on prend l'habitude de travailler en réseau, il est très difficile voire impossible de s'en passer ! Aussi, les interruptions de fonctionnement du réseau peuvent, à partir du moment où la structure qui l'a mis en place est fortement dépendante de son utilisation, s'avérer catastrophiques et/ou sources de grosses pertes financières.

C'est pourquoi, à partir d'un certain niveau de fonctionnement et de dépendance au réseau, il faut mettre en place des solutions pour pallier au maximum de sources de problèmes possibles qui peuvent survenir sur le réseau informatique. Pour arriver à une "tolérance 0" vis-à-vis de la panne, il existe plusieurs aspects à prendre en considération. Tous coincident avec une notion : il faut qu'il y ait une absence de point unique de panne ("no single point of failure"). Cela revient à dire qu'à l'intérieur d'un dispositif permettant de faire communiquer un équipement A et un équipement B, il ne faut pas qu'il y ait un point unique de passage qui, en cas de rupture, provoquerait la coupure de la communication. Cela est valable pour tous les éléments qui interviennent dans la communication (de la liaison physique aux équipements sur cette liaison, voire aux machines elles-mêmes). Les systèmes dits de "haute-disponibilité" sont mis en place pour pallier aux cas de pannes mais aussi, et c'est une des plus grosses causes d'arrêt de services dans un réseau, pour permettre d'effectuer la maintenance matérielle et/ou logicielle sur les éléments constitutifs de ce réseau.

LA HAUTE-DISPONIBILITE POUR LES MACHINES DU RESEAU :

Au niveau des machines utilisées sur le réseau, il existe un certain nombre de moyens pour permettre un fonctionnement sans interruption :

  • sécurité électrique : tout équipement informatique de manière générale nécessite une alimentation électrique qui doit être permanente et la plus stable possible. C'est pourquoi la mise en place d'onduleurs ou de système équivalent doit logiquement être adoptée sur la majeure partie de ces équipements. Il existe des onduleurs qui ne correspondent qu'à de simples batteries et n'offrent donc qu'une continuité du fonctionnement pendant une durée limitée en cas de coupure électrique, mais il existe aussi des équipements plus performants qui proposent un système d'alimentation électrique des équipements raccordés totalement indépendant du système d'alimentation fourni. Ainsi, toutes les perturbations (variations de tension, micro-coupures) qui peuvent être rencontrées sur le "secteur" sont gommées par ces onduleurs et les machines ainsi sécurisées peuvent fonctionner au mieux. Cette sécurité élémentaire est (étrangement!) parfois oubliée ou volontairement écartée car elle génère un coût qui peut être important sur des systèmes très performants. Certaines structures estiment que cet investissement n'est pas justifié mais les coupures électriques (même de courte durée) sont une cause majeure de problèmes potentiels au niveau matériel mais aussi logiciel (un système d'exploitation peut être fortement mis à mal à cause d'un arrêt brutal survenu à cause d'une simple coupure électrique d'une demi-seconde). Même s'il n'est pas forcément obligatoire de sécuriser électriquement tous les postes de travail (surtout à cause du coût que cela représente), cette garantie doit au minimum être apportée sur les serveurs et sur les équipements réseau pour limiter les désagréments occasionnés.

  • sécurité électrique au niveau de l'équipement lui-même : un ordinateur fonctionne en général avec une alimentation unique. C'est pourquoi un dysfonctionnement sur ce transformateur (tension continue de sortie +/- 5V et +/- 12V en général) provoque une panne sur cette machine qui peut durer assez longtemps (on ne dispose pas, en général, d'alimentation de secours prête à être mise en service pour chaque poste). Sur les machines "sensibles", on a donc la possibilité d'utiliser une double-alimentation. On a ainsi à tout instant 2 sources de courant pour la machine et l'apparition d'un problème sur l'une n'interrompt pas le fonctionnement de la machine. En toute logique, il faut aussi éviter de connecter ces 2 alimentations sur la même source électrique mais cela n'est pas toujours réalisable car cela nécessite alors un doublement du nombre d'onduleurs...

  • RAID : Redudant Arrays of Inexpensive Disks (Assemblage Redondant de Disques Économiques). L'idée de base de RAID est de combiner plusieurs petits disques durs économiques en un assemblage de façon à obtenir des performances supérieures à celles d'un disque de grande capacité et onéreux. Un mode de fonctionnement du RAID permet de faire travailler de façon redondante les disques durs d'une machine (par paire en général). Pour cela, toute donnée qui doit être écrite sur le disque dur est automatiquement reproduite sur le 2eme disque associé qui est ainsi prêt à prendre le relais à chaque instant en cas de dysfonctionnement de son alter-ego.

  • le partage de charge (ou load-balancing) : ce mode de fonctionnement consiste à répartir un travail entre plusieurs machines. Ainsi, si une de ces machines devenait inutilisable, les autres sont là pour prendre le relais.

  • la reprise en cas de panne (ou fail-over) : ce mode de fonctionnement consiste globalement à détecter qu'une machine (ou qu'un service fourni par cette machine) est inopérationnelle, d'essayer de la relancer (ou de relancer uniquement le service interrompu sur cette machine), et si cela n'est pas possible de faire reprendre son rôle par une autre machine du réseau (dédiée à cela en général).

On vient de voir qu'un certain nombre de mesures peuvent être prises au niveau des machines qui doivent assurer un service 24h/24, 7j/7. Toutefois, si ces services sont prévus pour être accessibles par le réseau, il semble évident que celui-ci doive également permettre un fonctionnement sans interruption.

ARCHITECTURE ET TECHNOLOGIE RESEAU ADOPTEES :

En utilisant des technologies courantes en terme de réseaux locaux (réseau cuivre non-coaxial ou fibre optique à 10, 100 voire 1000 Mbits/s => connexion "en étoile" des postes sur des éléments centraux), lorsque l'on cherche une architecture (on parle aussi de topologie) à adopter pour pallier à tout problème de panne, on pourrait penser qu'il suffit de relier chaque équipement de concentration (hub) ou de commutation (switch) du réseau à l'ensemble des autres équipements constitutifs du réseau (voir schéma 1). Cette solution qui semble sans reproche comporte pourtant des imperfections notables : le nombre de ports utilisés sur chaque équipement uniquement pour le relier aux autres peut rapidement devenir énorme lorsqu'on atteint une taille et une compléxité du réseau importantes (pour 5 switchs, cela bloque déjà 4 ports...). De plus, le nombre de chemins possibles entre un point A et un point B est tellement important qu'il est source de complications (il faut que ce chemin soit le plus efficace, que tous les équipements du réseau se mettent d'accord pour savoir par où faire transiter les informations). Et dans un tel choix, on va se rendre compte qu'une grande partie des liens inter-équipements est tout simplement inutile.

Schéma 1 :
redondance maximum sur un réseau local

(solution qui ne sera jamais retenue)

On trouve principalement deux topologies qui peuvent être appliquées pour offrir une redondance au niveau réseau. La première consiste à utiliser 2 switchs fédérateurs sur lesquels seront raccordés par 2 liens chacun des autres commutateurs du réseau (voir schéma 2). On a ainsi une forte sécurité sur les pannes éventuelles mais l'inconvénient majeur est la nécessité d'avoir malgré tout un nombre important de liaisons inter-switchs qui peut être un facteur important lorsque les bâtiments n'offrent pas suffisamment de liaisons à travers le précablage (n'oublions pas que les switchs peuvent être séparés par des étages, voire passer sous des cours, des parkings sous lesquels on ne dispose pas toujours de plusieurs liens).

Schéma 2 :
redondance sur un réseau local avec 2 switchs fédérateurs

(ici Switch1 et Switch2)

La deuxième solution (qui peut aussi être choisie en complément de la première citée précédemment, un mixage des 2 topologies est possible) consiste à mettre en place une boucle entre les différents équipements du réseau. En effet, à travers une boucle, pour aller d'un point à un autre, on a toujours deux chemins possibles à un instant "t". Dans le cas où une coupure surviendrait dans la boucle, il semblerait normal que tout le trafic réseau soit redirigé par le chemin encore valide. Dans un cas de figure mettant en scène 5 switchs (commutateurs Ethernet) reliés en boucle, un fonctionnement "normal" fera transiter les informations entre une machine A et une machine B par un chemin (en général le plus court ou le plus rapide, voir schéma 3) et en cas de coupure de cette liaison "prioritaire", c'est l'autre partie de la boucle qui sera mise à contribution (voir schéma 4).

Schéma 3 :
fonctionnement normal sur une boucle établie à l'intérieur d'un réseau local

Schéma 4:
Fonctionnement de secours en cas de problème sur la boucle

Ce dispositif qui semble assez évident dans la théorie n'est pas toujours facile à mettre en place dans la pratique et certaines précautions devront être suivies :

  • il faut éviter au maximum que 2 liens reliant des éléments entre eux passent physiquement par le même chemin. Dans l'exemple, si les liens sw1/sw5 et sw3/sw4 passent au même endroit dans un mur d'un bâtiment et qu'un coup de marteau piqueur malheureux soit donné juste à cet endroit (ou qu'un rongeur ait décidé de s'installer à proximité), on aura une rupture totale de la boucle et les deux parties seront totalement isolées. L'idéal (ce n'est pas toujours simple) est que les 2 liens de la boucle constituée empruntent des cheminements les plus distincts possibles afin qu'une perturbation ne puisse pas gêner les 2.

  • le fait que l'on mette en place une boucle dans le réseau est, en soi, perturbateur car à tout instant une information circulant sur celui-ci aurait deux chemins possibles. S'il y avait effectivement 2 chemins empruntés par les mêmes informations entre les mêmes machines, cela provoquerait des doublons dans les informations qui rendraient en fait impossible la communication et provoquerait en quelques secondes une saturation complète de la boucle et un blocage potentiel des équipements qui y sont reliés. En réalité, lorsque l'on met en place de telles boucles dans le réseau, il est absolument nécessaire d'utiliser du matériel adéquat qui soit correctement configuré pour qu'il gère lui-même, de façon automatique et en permanence, un point de rupture de la boucle. Ainsi, les équipements (dans notre exemple, les switchs) communiquant entre eux et sous la responsabilité d'un matériel décideur (et assisté d'un secondaire en cas de problème sur le premier) vont provoquer eux-mêmes une cassure en fonctionnement normal (dans le schéma 3, en estimant que c'est le switch1 qui soit "décideur" et le switch2 son secondaire, le lien sera coupé entre sw3 et sw4 au niveau de sw4). En cas de problème sur une partie de la boucle, les switchs feront en sorte de rouvrir cet accès pour que les communications puissent continuer à transiter par le réseau (cette phase de transition prend tout de même quelques dizaines de secondes pendant lesquelles le réseau ne sera plus totalement opérationnel). Cette fonctionnalité repose sur le Spanning Tree qui, pour gérer ces effets de bouclages, est constitué de :
    • un algorithme de calcul de la meilleure route en fonction de différents critères tels que le nombre d'intermédiaires, la nature des liens qui relient ces intermédiaires
    • un protocole de communication STP (pour Spanning Tree Protocol, IEEE 802.1D) qui provoque les changements dans la topologie réseau utilisée en fonction des conditions) permettant de gérer ces effets de bouclage

  • pour permettre un accès permanent d'un serveur sur un tel réseau, il est de plus possible de s'orienter vers une utilisation de 2 cartes réseau qui seront connectées à 2 switchs différents de cette boucle avec une liaison réellement utilisée en fonctionnement normal et l'autre qui reste en attente ("standby", donc non active). Ainsi, si l'équipement auquel est relié le serveur par sa liaison principale venait à tomber en panne, la 2eme liaison prendrait le relais en quelques secondes afin que la coupure de service soit la plus courte possible.

Un grand nombre de technologies et notions abordées ici brièvement (mais aussi celles qui ont été volontairement écartées), étant particulièrement complexes, pourront faire l'objet d'un ou de plusieurs articles dans les prochains numéros de Rése@ux.74 tant le sujet est complexe et vaste.

Joël GOLLIET.

   Mise à jour : 16.02.04