Pour l'entreprise moyenne, quand on emploie le mot « réseau », c’est généralement pour désigner un « réseau de routeurs ». Non pas parce qu’il n’y a pas d'autres éléments dans le réseau, mais parce que, dans les entreprises, la mise en réseau consiste essentiellement à établir une connectivité IP. Un tas de termes ont été inventés pour décrire les éléments des réseaux IP, et on en invente chaque jour de nouveaux, au point que de plus en plus d'entreprises se rendent compte qu'elles n'en savent pas autant qu'elles le devraient sur le fonctionnement de leurs réseaux. Autrement dit, elles réalisent qu’elles ne disposent pas d’une bonne « observabilité » sur leur réseau. Les sources ayant proposé des définitions de l’observabilité sont tellement diverses qu’elle en a fini par perdre tout son sens. Mais faisons abstraction du battage médiatique et concentrons-nous sur un terme que l'on retrouve dans nombre de ces définitions : la trace. Celle-ci implique un chemin, une relation, et c'est ce que devraient être les réseaux.
Un réseau est constitué de routeurs et de commutateurs, et la plupart du temps, la gestion et la surveillance du réseau se concentrent sur le comportement de ces équipements qui sert d’indicateur de l'état du réseau. Selon cette pratique, on considère que si toutes les machines fonctionnent correctement, alors le réseau fonctionne bien. Cette approche est omniprésente dans la gestion des applications : la somme de l'état des pièces est égale à l'état de l'ensemble. Les responsables des opérations informatiques se sont aperçus que cette approche, apparemment évidente, ne tenait pas compte du point critique que constitue le flux de messages. Pour comprendre le fonctionnement d'une application, il faut savoir comment se déplace la tâche dans une série de composants. Il en va de même pour un réseau, car un réseau n'est pas une boîte ou même un simple ensemble de boîtes, c'est une coopérative. En fait, on peut comparer le réseau à une classe de maternelle, car il s'agit d'un désordre à peine contrôlé. On peut dire à ces enfants ce qu'ils doivent faire, organiser des activités de groupe, etc. Mais à cet âge, un enfant peut suivre son idée et faire quelque chose d'inattendu. Et l’on peut dire que presque tous les réseaux IP peuvent avoir des comportements inattendus.
Optimiser le chemin des paquets
Les routeurs individuels découvrent des routes pour déplacer le trafic sur la base d’un comportement adaptatif. Chaque routeur annonce généralement les destinations du réseau qu'il peut atteindre et reçoit et transmet les annonces des autres routeurs à chaque routeur adjacent. À partir de là, ils choisissent la « meilleure » route et, en cas de panne ou d'encombrement, les routeurs élaborent une nouvelle topologie par le biais de ce qu'on appelle souvent la convergence. Or, cette nouvelle topologie n’est pas pour autant optimale. Étant donné que les routes sont créées à partir des données d'accessibilité échangées avec les dispositifs partenaires, il faut du temps pour que les changements soient répercutés sur leurs partenaires, les partenaires de leurs partenaires et ainsi de suite, et pour que chacun choisisse la meilleure option. Dans l’intervalle, les paquets peuvent emprunter des chemins erratiques, voire même se retrouver dans une impasse. Une fois le processus terminé, la question se pose encore de savoir si les itinéraires empruntés sont vraiment optimaux.
Comment connaître la route empruntée par les paquets ? Une commande IP appelée traceroute est capable de fournir cette information, et certains fournisseurs de routeurs intègrent des outils de traçage de paquets dans leurs systèmes de gestion pour visualiser plus facilement les routes au sein du réseau. Des outils tiers d’entreprises spécialisées dans la surveillance du réseau font la même chose. Ils sont particulièrement utiles dans les réseaux multifournisseurs quand l’outil d'un fournisseur particulier ne peut pas fonctionner. Ce qu'il faut rechercher dans le suivi de paquets, c'est une route qui ne semble pas avoir de logique, ou une route qui change constamment alors qu'il n'y a pas de périphérique visible ou de défaillance du réseau. L'un ou l'autre de ces comportements peut résulter d’une congestion du réseau, et entraîner la perte de paquets ou des retards. Pour comprendre ce qui se passe, il faut commencer par suivre les paquets à la trace de bout en bout, en recherchant les périphériques ou les connexions qui sont surchargés ou soumis à un taux d'erreur élevé.
La magie du SDN
Mais il ne faut pas croire qu’un seul suivi de paquets fournira une réponse suffisante. Il peut révéler l’endroit où la route bifurque du mauvais côté, mais il ne faut pas oublier que chaque routeur reçoit des données d'accessibilité de la part de ses voisins, et que l’erreur peut donc venir d’ailleurs. Une cartographie complète de la route, et en particulier, les informations fournies par les outils spécialisés dans la visualisation du suivi des paquets, peuvent s’avérer utile dans ce cas, à condition de pouvoir recueillir des données de suivi de plusieurs points d'extrémité du réseau en même temps. Mais, quoi qu'en dise le vieux dicton, savoir n'est pas pouvoir. En effet, il y a une différence entre surveiller un réseau et le gérer, tout comme il y a une différence entre regarder un match de foot et en diriger les actions. Le rôle du NetOps consiste à contrôler et pas seulement à savoir. Toute gestion du trafic commence par l'examen des politiques de routage pour voir si l’on choisit correctement les routes. Mais parfois, même en contrôlant les politiques de routage, les flux ne suivent pas les routes que l’on veut. Si c'est le cas, il y a un problème de gestion du trafic à résoudre.
Il s’avère que le MPLS et le SDN sont les meilleurs outils pour ajouter une capacité de gestion du trafic. Le MPLS permet aux routeurs de construire des routes en faisant passer un chemin explicite par les routeurs. Le SDN se passe de tout concept de routage adaptatif et de convergence en faisant en sorte qu'un contrôleur central maintienne une carte de route globale qu'il donne à chaque commutateur SDN et met à jour en cas de défaillances ou de congestion. Si un réseau se compose d'un service VPN et d'un réseau local complexe, le SDN est probablement la meilleure option. Dans le cas d’un réseau de routeurs complexe, le MPLS est probablement le bon choix. Mais que ce soit avec le MPLS ou le SDN, le NetOps sait où se trouvent les flux parce qu’il les a lui-même défini.
Exploiter plusieurs options pour le traffic
Cependant, au cas où ni le MPLS ni le SDN ne répondent aux besoins, il est également possible de se tourner vers une option de réseau virtuel. Pratiquement tous les grands fournisseurs de réseaux proposent des réseaux virtuels qui utilisent une deuxième couche de routage. En plaçant des routeurs de réseau virtuel aux endroits critiques, on peut créer des routes explicites pour son trafic. Certains produits SD-WAN prennent également en charge cette fonctionnalité. On peut aussi utiliser la gestion des politiques pour contrôler le mode de calcul des routes et des changements de routes. Les réseaux virtuels sont particulièrement utiles quand il y a plusieurs chemins possibles entre sites distants ou entre le cloud et les datacenters. On peut utiliser un réseau virtuel pour choisir le meilleur chemin, ou pour répartir le trafic entre plusieurs options, comme un VPN et l'Internet.
Il ne faut pas non plus oublier la dimension de contrôle de l'observabilité. Un adolescent qui regarde ses frères et sœurs jouer dans la boue peut être surpris quand ses parents lui rappellent qu’il devait les surveiller ! Or, c'est exactement ce qu’il faisait ! Et c'est justement là, la faiblesse de l'observabilité. Il est important de bien utiliser ses connaissances en matière de flux et d'itinéraires, sinon le réseau pourrait se comporter comme une salle de classe de maternelle.
Commentaire