# Les réseaux informatiques/Les topologies logiques

    Dans le contenu suivant, nous parlerons de nœuds pour désigner tout ce qui est connecté au réseau. Ce terme regroupe un peu de tout : ordinateurs, imprimantes, serveurs, routeurs, commutateurs, et bien d'autres matériels réseau. Nous utiliserons cette dénomination pour alléger l'écriture.
Il n'existe pas 36 façons différentes de relier les ordinateurs entre eux dans un réseau et chaque manière a ses avantages et inconvénients. Afin de s'y retrouver, les réseaux peuvent également être catégorisés par la manière dont les nœuds sont reliés dans un réseau. La connectivité des nœuds porte un nom : c'est la topologie du réseau. Formellement, la notion de topologie peut s'appliquer à tout type de réseaux, y compris des réseaux MAN, WAN, ou plus large encore. Mais force est de constater que l'on parle rarement de la topologie des réseaux étendus, qui est souvent très complexe. Par contre, la topologie des réseaux locaux est d'une grande importance.

## Les types de topologies

Il existe différents types de topologies, mais les principales sont illustrées dans le schéma ci-dessous. On voit que les topologies possibles s’appellent : la topologie en bus, en anneau, en arbre, linéaire, maillée (totalement ou partiellement), en étoile et hybride (un mélange des précédentes).
* La topologie en bus correspond au cas où tous les nœuds sont connectés à un unique fil, à un unique support de transmission matériel.
* La topologie totalement maillée est celle où tous les ordinateurs sont reliés à tous les autres. Le nombre de liens est alors important (proportionnel au carré du nombre d’ordinateurs à relier).
* La topologie hybride est équivalent à une topologie maillée à laquelle on aurait retiré quelques liaisons point-à-point, pour économiser des liens sans trop diminuer la performance du réseau.
* La topologie en étoile est celle où les nœuds sont reliés à un équipement réseau central. Le nombre de liens est proportionnel au nombre d'ordinateurs du réseau, ce qui est peu. Le nombre d'intermédiaire est faible (seulement un), ce qui fait que le matériel réseau nécessaire pour créer un réseau en étoile est particulièrement simple et peu cher. La moindre panne de l'équipement central fait tomber tout le réseau : les ordinateurs ne peuvent plus communiquer entre eux.
* La topologie linéaire est celle en forme de chaine. Tous les ordinateurs sont reliés à deux voisins, sauf les deux nœuds au bout de la chaine.
* La topologie en anneau est celle en forme d'anneau. Tous les ordinateurs sont reliés à deux voisins, sans exception. Elle est équivalente à une topologie linéaire dont on aurait relié entre eux les deux bouts.
* En théorie, les réseaux sans-fils sont regroupés dans une catégorie à part, du fait de l’inexistence de liaisons point-à-point sur ces réseaux).
Chacune a des avantages et inconvénients. Par exemple, certaines utiliseront beaucoup de liaisons point-à-point, alors que d'autres seront relativement économes : il faudra prévoir plus ou moins de câbles, de fils, et d'équipement réseau suivant la topologie. De plus, certaines topologies ne permettent pas à deux nœuds de communiquer directement. Les données doivent alors passer par des nœuds intermédiaires et se propager dans le réseau de proche en proche. Une conséquence assez fâcheuse est que la panne de certains nœuds peut empêcher des ordinateurs de communiquer. De plus, plus le nombre d'intermédiaires entre deux ordinateurs est grand, plus les performances seront mauvaises : le temps de transmission augmente avec le nombre d'intermédiaires. Autant cela n'a pas grande conséquence sur des réseaux locaux, autant cela devient plus problématique dans le cas de grands réseaux, tel certains WAN ou pour Internet.
| Topologie | Nombre de câbles (liaisons point-à-point), pour N ordinateurs | Résistance aux pannes |
| Topologie en bus | Un seul. | Toute coupure du câble scinde le réseau en deux sous-réseaux indépendants, voire fait tomber tout le réseau. |
| Topologie linéaire | N liaisons point-à-point (autant que de nœuds) | Toute coupure d'une liaison point-à-point scinde le réseau en deux sous-réseaux indépendants, voire fait tomber tout le réseau. |
| Topologie en anneau | N liaisons point-à-point (autant que de nœuds) | Dépend du réseau en question (voir la section sur le sujet plus bas) |
| Topologie en étoile | N liaisons point-à-point (autant que de nœuds) | Toute panne du nœud central fait tomber tout le réseau. |
| Topologie totalement maillée | ${\frac {N(N+1)}{2}}$ liaisons point à point. | Résistance maximale à toute coupure de liaisons point-à-point ou de panne d'ordinateur. |
Généralement, les réseaux locaux utilisent des topologies en étoile, en bus ou en anneau, rarement en arbre. Les contraintes en terme de câblage font que les topologies maillées et hybrides ne sont pas très faciles à mettre en œuvre, du fait de leur grand nombre de liaisons point à point. Les réseaux étendus et Internet ne peuvent utiliser ces topologies, le nombre d'équipements et d'ordinateur étant bien trop important. Les réseaux WAN, MAN et Internet sont donc des réseaux maillés, de type hybride.

### Les topologies diffusantes

Nous allons commencer par voir deux types de topologies : la topologie en bus, et les réseaux sans-fils. Si on regroupe ces deux topologies ensemble, c'est parce qu'elles ont une particularité assez intéressante : quand une trame est envoyée, toutes les machines du réseau reçoivent la trame, mais seul l'ordinateur de destination est censé la prendre en compte. Cela leur vaut d'être appelés des réseaux de diffusion, sous-entendu que les données sont diffusées à tous les nœuds (un peu comme une diffusion radio, qui est diffusée sur toute une région, mais n'est écoutée que par quelques personnes). C’est une propriété naturelle pour les bus et les réseaux sans fils, qui font communiquer plusieurs nœuds avec un même support partagé (le bus ou les ondes sans-fils). Les autres réseaux n'ont pas cette particularité : la donnée peut passer par des intermédiaires, ou arriver directement à destination, mais en aucun cas la donnée n'est diffusée à tous les ordinateurs du réseau.
Un problème des réseaux de diffusion est que la sécurité n'est pas optimale. Tous les PC recevant les informations transmises, rien n’empêche un ordinateur (ou équipement réseau) d'espionner ce qui est transmis sur le réseau local : il lui suffit de prendre en compte la totalité des paquets qui sont envoyés sur le réseau. Un tel ordinateur est dit en mode « promiscious ». Il suffit d'installer un logiciel de capture de trames pour pouvoir surveiller le trafic réseau. Un tel logiciels est utile pour vérifier l’occurrence d'une intrusion ou infection, surtout quand il est couplé à un IDS (logiciel de détection d'intrusions) qui analyse les trames capturées.
Outre le problème précédent, il arrive que plusieurs composants tentent d'envoyer ou de recevoir une donnée sur le bus en même temps. Il se produit alors un conflit d'accès au bus, aussi appelé une collision. Cela pose problème si un composant cherche à envoyer un 1 et l'autre un 0 : tout ce que l’on reçoit à l'autre bout du fil est une espèce de mélange incohérent des deux données envoyées sur le bus par les deux composants. Détecter l'occurrence d'une collision et la corriger est essentiel pour qu'un bus fonctionne correctement. Inutile par construction pour les liaisons point à point, la gestion des collisions est essentielle pour tout réseau de diffusion. C'est pour cela que les protocoles des réseaux de diffusion gèrent ces collisions, et s'occupent du partage de l'accès au bus, d'où leur nom de protocoles à accès multiples. Diverses méthodes ont été inventées et intégrées aux protocoles les plus connus et nous verrons le fameux CSMA-CD plus tard dans ce cours.

### La topologie en anneau

Dans les réseaux en anneau, les ordinateurs sont chacun relié à deux autres : un suivant et un précédent. Les données transmises font le tour de l'anneau avant d'être détruites : elles se propagent d'un ordinateur au suivant, jusqu’à arriver sur l'ordinateur de destination. Après réception de la trame, l'ordinateur de destination envoie un accusé de réception à l'émetteur, qui se propage dans le même sens que la trame envoyée.

#### Les jetons de contrôle d'accès

Les réseaux en anneaux ont besoin d'un système de contrôle d'accès. Sans cela, on pourrait observer des phénomènes similaires aux collisions des réseaux diffusants. Pour éviter ceux-ci, chaque ordinateur devient émetteur a tour de rôle. Le droit d'émettre une donnée est modélisé par un jeton, une trame spéciale, pour laquelle un bit pré-déterminé est placé à 1. Il passe d'un ordinateur au suivant, à tour de rôle, et balaye tout le réseau en anneau régulièrement. Tant que l'ordinateur garde le jeton, il a le droit d'émettre une donnée et d'attendre un accusé de réception. D'ordinaire, le jeton est conservé dans un temps déterminé et fixe, le même pour tous les ordinateurs. Une exception, cependant : un ordinateur qui n’a rien à envoyer transmet immédiatement le jeton à l'ordinateur suivant.
L'utilisation d'un jeton permet à tous les ordinateurs d'avoir un accès équitable au réseau. Il garantit que tous les ordinateurs aient accès au réseau à un moment ou un autre. De plus, le temps avant de récupérer le jeton est obligatoirement fini. Le temps d'attente maximal est le temps que le jeton fasse le tour de l'anneau. C'est un avantage que les bus n'ont pas : un ordinateur peut potentiellement monopoliser le bus durant un temps indéterminé si rien n'est prévu dans la conception du bus. La conséquence est que les réseaux en anneau ont un meilleur débit si le nombre d'ordinateur du réseau est assez important. L’occurrence de nombreuses collision réduit le débit utile du bus, alors que les réseaux en anneau n'ont pas ce problème.

#### Les topologies en anneaux simples et doubles

Avec un anneau dit "simple", la panne d'un seul ordinateur met tout le réseau en panne, vu que l'ordinateur fautif ne peut plus propager les trames. Si un câble est coupé, les données ne peuvent pas atteindre l'ordinateur par le sens de propagation usuel. Mais elles le peuvent en passant dans l'autre sens. Le schéma ci-dessous illustre cette idée.
Les concepteurs de réseaux ont depuis longtemps trouvé comment propager les données dans les deux sens. Il suffit d'ajouter un second anneau qui propage les trames dans l'autre sens. Le réseau en anneau est donc composé de deux anneaux, qui propagent les jetons et trames dans des sens différents. Quand un câble est coupé, l'ordinateur ne va pas envoyer les trames sur celui-ci, mais va les renvoyer dans le sens inverse, sur l'autre anneau. Ce faisant, tout se passe comme si le premier anneau bouclait sur le second quand le câble est coupé. Si un seul câble est coupé, le réseau reste le même . Mais si deux câbles sont coupés, les choses deviennent plus compliquées : tout se passe comme si le réseau étant coupé en plusieurs sous-réseaux qui ne peuvent pas communiquer entre eux. Les schémas plus bas illustrent ces concepts basiques de cet anneau « auto-régénérateur » (Self-healing Ring en anglais).

## Les topologies logiques

On a vu dans le chapitre précédent comment plusieurs ordinateurs peuvent échanger des données via un réseau local, ce qui est le principal problème de la couche liaison. Nous nous sommes attardés sur les réseaux de diffusion et les liaisons point à point dans le chapitre précédent et il est temps de parler plus en détail des réseaux en étoile. Pour rappel, cela signifie que les ordinateurs du réseau sont reliés à un équipement central, qui reçoit les trames et les redistribue vers les autres ordinateurs. Cette topologie en réseau est une topologie physique, ce qui veut dire qu'elle décrit comment les ordinateurs sont physiquement reliés. Mais il est possible d'émuler un réseau en bus, en anneau, ou un réseau maillé avec une topologie en étoile. Cela nous pousse à faire la distinction entre la topologie physique, qui décrit comment les ordinateurs sont câblés, et la topologie simulée, appelée topologie logique.

### Les topologies logiques en bus et maillées

Pour simuler un bus ou un réseau maillé à partir d'une topologie en étoile, il faut que l'équipement central soit ce qu'on appelle un commutateur ou un concentrateur. Ils sont tous deux des équipements réseaux avec plusieurs ports d'entrée/sortie, sur lesquels on vient connecter des composants réseaux : carte réseau, ordinateur, récepteur/émetteur WIFI, etc. Ces ports sont soit des ports d'entrées sur lesquels on peut recevoir des paquets de données, soit des ports de sorties sur lesquels on peut envoyer des données. Dans certains cas, les ports d'entrée et de sortie sont confondus : un même port peut servir alternativement d'entrée et de sortie.
La différence entre concentrateur et commutateur est la topologie simulée : bus pour le concentrateur et réseau maillé pour un commutateur.
* Un concentrateur redistribue chaque paquet reçu sur tous les autres ports, sans se préoccuper de sa destination. Pour le dire autrement, il simule une topologie en bus, alors que la topologie réelle est en étoile.
* Les commutateurs ont un fonctionnement similaire aux concentrateurs, si ce n'est qu'ils n'envoient les données qu'au composant de destination. Un commutateur simule donc une topologie totalement maillée à partir d'une topologie en étoile : on retrouve la distinction entre topologie réelle et logique.

### Les réseaux logiques en anneau

Il est possible de simuler un réseau en anneau avec un réseau en étoile, comme pour les réseaux en bus et les réseaux maillés. Cette fois-ci, l'équipement central n'est pas un concentrateur ou un commutateur, mais ce qu'on appelle une Multistation Access Unit (MAU). On connecte plusieurs ordinateurs sur ce boîtier, et ceux-ci seront alors reliés en anneau. On peut considérer que ce boîtier est un équivalent des concentrateurs et commutateurs, mais pour les réseaux en anneau.