Fonctions de contrôle interne dans un réseau
Le routage Le routage est la détermination d’un chemin permettant d’orienter à travers le réseau des paquets vers le correspondant désigné. Cette opération se fait à l’établissement d’un circuit virtuel ou réel, ou pour chaque paquet dans un réseau datagramme. Dans un réseau maillé, il y a une multitude de chemins possibles. Trouver le meilleur chemin peut avoir plusieurs significations : le moins coûteux pour l’opérateur, pour le client, le plus rapide, le plus sûr… Deux grandes catégories de routage existent. Avec un routage non adaptatif, le choix du chemin entre deux équipements est fixé à l’avance et mémorisé dans un ou plusieurs nœuds du réseau. Le routage peut être adaptatif : le chemin varie en fonction de l’état du réseau (panne de liaisons ou de commutateurs…) ou du trafic écoulé par le réseau. Les routages adaptatifs sont nécessaires pour utiliser au mieux les ressources du réseau et améliorer sa défense en cas d’incident. De plus, l’algorithme de routage peut être plus ou moins réparti sur le réseau. On peut avoir un routage centralisé, isolé ou distribué. Dans le cas du routage centralisé, un organe est dédié à cette fonction. Il est interrogé par l’ensemble des commutateurs à chaque opération de routage. En cas de routage adaptatif, il doit connaître en permanence l’état complet du réseau. Dans un routage isolé, chaque commutateur détermine le chemin, uniquement en fonction de son état : taille des files d’attente, occupation des lignes. Il n’a pas connaissance de l’environnement c’est-à-dire des commutateurs voisins ou des liaisons voisines. Dans un routage distribué, chaque nœud diffuse à ses voisins des indications sur son état. Un nœud peut donc déterminer un chemin en fonction de son propre état et de l’état de ses proches voisins. La description de l’ensemble des algorithmes de routage sort du cadre de ce module car ils sont variés et peuvent être assez complexes. Donnons juste l’exemple simple du routage par inondation dans un réseau à commutation par paquets : un paquet reçu par un commutateur est réémis sur toutes les liaisons hormis celle où ce paquet a été reçu. Un tel algorithme provoque une multiplication, infinie en théorie, du nombre de paquets. Il est donc nécessaire d’en détruire pour éviter une congestion du réseau. Pour ce faire, on place un compteur dans l’en-tête de chaque paquet. Ce compteur est décrémenté par les commutateurs à chaque réémission. Lorsqu’il devient nul, le paquet est détruit. La valeur minimale initiale doit être égale au nombre de commutateurs minimum à traverser pour joindre le correspondant. Si celle-ci est inconnue de l’expéditeur, on peut prendre le nombre maximal de commutateurs séparant deux équipements quelconques. Le routage par inondation est de type isolé. Son avantage principal est la simplicité et la fiabilité. Il trouve toujours le chemin le plus court quel que soit l’état du réseau. Il est utilisé dans les réseaux militaires où il est nécessaire d’assurer un fonctionnement du réseau (transmission d’alarmes) même lorsqu’un grand nombre de commutateurs ou de liaisons sont détruits.
Routage par inondation
Un autre algorithme de routage très simple est celui de la “ patate chaude ” (hot potatoe) qui consiste pour un commutateur à se débarrasser d’un paquet reçu le plus rapidement possible en le transmettant sur la liaison la moins chargée (hormis celle où ce paquet a été reçu). Un tel algorithme est adaptatif puisqu’il prend en compte l’état du réseau. Pour améliorer son efficacité, il peut être combiné avec un routage statique où plusieurs routes possibles sont mémorisées.
Le contrôle de congestion
Le contrôle de congestion est l’ensemble des opérations effectuées pour éviter que les ressources des commutateurs ne soient surchargées. La fonction de routage est, à ce titre, fondamentale car elle doit répartir le trafic entre les commutateurs du réseau. Plusieurs méthodes peuvent être évoquées : perte de paquets en cas de congestion, limitation des connexions et contrôle isarythmique. Dans les réseaux à commutation de circuits, lorsque la capacité de communication entre deux commutateurs est saturée, on peut refuser de nouveaux appels. De même lorsque la mémoire d’un commutateur de paquets arrive à saturation, celui-ci ne stocke plus les nouveaux paquets qui arrivent : ceux-ci sont perdus et l’équipement terminal doit les émettre à nouveau. Le réseau peut donc perdre des paquets indépendamment de tout problème de transmission. De tels mécanismes sont présents dans les réseaux à datagrammes. Ils sont très simples mais il n’y a pas à proprement parler contrôle de congestion.
La description précédente n’est pas exhaustive. D’autres méthodes de contrôle de congestion existent. De plus, les méthodes précédentes peuvent être combinées et raffinées.