Le blog Infrastructure : Nos Projets et Innovations digitales

Après que la virtualisation se soit largement diffusée à tous les étages du SI, du système aux applications, c’est tout naturellement au tour du réseau de bénéficier de ses avantages. Les techniques de virtualisation au niveau du réseau existent maintenant depuis quelques années mais le taux d’adoption dans les entreprises s’accélère et devient presque incontournable lors du renouvellement de son infrastructure LAN.

C’est donc l’occasion de faire un tour d’horizon d’une technologie qui remet en cause certains préceptes d’architecture LAN, et d’une offre présente chez tous les  constructeurs sous différentes dénominations.

Définition

Il faut tout débord définir ce que l’on entend par virtualisation lorsqu’on l’applique au réseau. On la retrouve principalement sous 3 formes :

  • La virtualisation d’Appliance réseaux : Pas de grande révolution de ce côté-ci, les équipements réseaux habituellement physiques sont  simplement fournis sous forme de VM pour s’exécuter sur les hyperviseurs classiques du marché (VmWare, Hyper-V, KVM…).  On y retrouve principalement les équipements dédiés à la sécurité du réseau tels que Firewall, Concentrateur VPN, filtrage de contenu (exemples Fortigate-VM, Cisco ASAv). Mais également des équipements plus spécifiquement LAN afin d’offrir une meilleur intégration entre le réseau et un environnement Cloud, avec par exemple les switchs virtuels Cisco 1000v ou les routers virtuel Cisco CSR 1000v.
  • La programmation du réseau par logiciel : Cette approche touche les équipements physiques du réseau qui ne sont pas virtualisables au sens vu précédemment (exemple, routeurs d’agrégations, switchs d’accès, cœur de réseau), mais pour lesquels on va séparer le plan de données (switching, routage des données) qui doit rester physique, du plan de contrôle (administration, routage dynamique, acl etc …) qui lui peut-être virtualisé. Cette approche offre de nombreuses perspectives en permettant une programmation dynamique du réseau depuis l’environnement virtuel (Software Defined Network)
  • La virtualisation appliquée au réseau de Dacatenter ou LAN : est une évolution des architectures LAN classiques qui permet d’améliorer la disponibilité tout en simplifiant l’administration.

La virtualisation d’appliance réseau est aujourd’hui un fait courant et n’est qu’une transcription de ce qui se fait dans le monde physique sur une infrastructure virtuelle, sans remise en cause profonde de l’architecture. Le SDN est en pleine évolution et encore peu appliqué au domaine du réseau d’entreprise, il pourra faire l’objet d’un article complet. C’est donc la virtualisation des infrastructures LAN qui va nous intéresser.

Architecture classique

On connait bien l’architecture classique d’un réseau de Campus ou d’un réseau de Datacenter, basé sur spanning-tree et sur une hiérarchie en 3 blocs : le bloc cœur de réseau, le bloc de distribution et bloc d’accès. Cette architecture largement scalable et éprouvée permet de répartir les rôles à différents niveaux du réseau :

  • Access : offre les services de connectivité, de sécurité et de QOS tel que, POE, 802.1x, QOS marking, policing and queuing, CDP etc …
  • Distribution : marque la frontière entre l’accès et le cœur en fournissant des services de routage, de sécurité et de QOS tel que : agrégation de routes, filtrage interzones.
  • Core : son principal rôle est la performance et la disponibilité il fournit donc uniquement un service de swithching voire de routage haute-performance.

 

 

Cette architecture se retrouve dans des variantes ou l’Access et la distribution sont regroupées dans un même équipement ou dans une architecture collapsed-backbone ou la distribution et le core ne font qu’un.

Le composant clé de cette architecture est le spanning-tree qui permet de fournir une topologie sans boucle tout en permettant une redondance des liens est équipement.

 

 

Cet architecture bien que robuste et performante présente quelques points qui  pourraient être améliorés :

  • En fonctionnement nominal, seule la moitié des liens sont actifs. Il est bien sur possible en utilisatant du Per-Vlan Spanning PVST+, RPVST ou MST de choisir les RootBridge de sorte qu’une répartition des vlans ou des instances soit faite sur les liens redondants. Reste qu’un vlan, une instance ou un flux n’utilisera pas plus d’un lien à la fois.
  • La redondance par spanning-tree est basée sur des timers, il s’en suit qu’un délai de convergence est à prendre en compte. Délai pendant lequel une interruption de service plus ou moins longue peut avoir lieu : de 50s pour du legacy spanning-tree  à environ 1s sur du 802.1s ou 802.1w. Ce délai peut être aujourd’hui problématique notamment dans le cas d’utilisation de protocole tel que le FCIP ou iSCSI sur le réseau.
  • En termes de gestion, chaque switch est paramétré de manière autonome, bien qu’ils partagent bon nombre de points communs : les 2 équipements de cœur de réseau sont pour ainsi dire identiques en termes de configuration.
  • Pour remédier à tous ces points, les constructeurs proposent pour la plupart la virtualisation des cœurs de réseau voir du LAN (Cisco, HP, Juniper, Arista) qui se proposent de se passer de spanning-tree.

Architectures virtualisées

Châssis Virtuel

L’élément essentiel de la virtualisation des cœurs de réseau est de permettre de créer une entité logique unique à partir de deux équipements. Cette virtualisation apparait à deux niveaux :

  • Plan de contrôle : Les fonctions de contrôle qui incluent le management (telnet, snmp, ssh) les protocoles niveau 2, le routage dynamique , sont gérés de manière unique pour les deux systèmes. Le plan de contrôle est en mode actif-standby. Le basculement du plan de contrôle d’un châssis à l’autre est fait par un mécanisme de bascule à chaud et sans interruption (SSO ou Statefull SwitchOver)
  • Plan de données : les cartes et matrice de commutation des deux châssis sont en mode actif actif. La redondance des liens permet d’utiliser pleinement toute la bande passante disponible.

Exemple pour Cisco un cluster de Cisco Catalyst 6500 en mode VSS :

 

La conséquence d’un point de vue architecture est qu’il est possible de se passer entièrement de spanning-tree et d’utiliser en actif-actif tous les liens du réseau pour tous les vlans. Spanning-tree reste bien entendu activé pour se prémunir d’éventuelles boucles mais plus aucun lien de l’architecture n’est dans l’état bloqué en mode nominal. En effet les deux équipements étant vus d’un point du vu logique comme uniques il est possible d’agréger en etherchannel les deux liens qui arrivent sur 2 châssis physiques différents par l’utilisation de MEC (Multi-chassis EtherChannel)

 

 

Afin de détecter les scénarii où le lien inter châssis tombe et où le plan de contrôle des deux châssis devient actifs-actifs simultanément,  il est nécessaire de mettre en place un protocole détectant ce type de panne. 2 options existent :

  • Enhanced PaGP : Pagp est le protocole à utiliser pour la création des MEC entre les switchs d’accès et le cœur/distribution. Enhanced  PaGP permet au commutateur standby de communiquer via le commutateur d’accès avec le châssis actif avant de devenir lui-même actif. Le châssis détecte un scenario actif/actif et l’un des deux passe tous ces ports en shutdown évitant boucle et perte de trafic.
  • BFD, Bi-Forwarding Detection : fonctionne sur le même principe au travers un lien niveau 3 dédié entre les 2 châssis.

Chez Cisco cette technologie est disponible sur Catalyst 4500, 4500X et 6500. On retrouve l’équivalent dans la gamme Nexus sous la dénomination de VPC  (Virtual port Channel) à ceci près que la configuration des 2 Nexus reste indépendante, ainsi que le plan de contrôle. la redondance niveau 3 est donc à traiter séparément (hsrp, routage dynamique)

Chez HP on parlera d’IRF (Inteligent Resilient Framework), chez Juniper de Virtual Chassis.

Bien qu’assez similaire fonctionnellement à la technologie de stacking, le VSS est une solution de haute-disponibilité faite pour le cœur de réseau alors que le stacking facilite d’abord l’administration des switchs d’accès, en effet :

  • Le stacking est limité en distance là ou VSS utilise du 10Gbe et permet donc du géo-cluster.
  • Le stacking partage le plan de contrôle entre tous les membres, un plantage du plan de contrôle peut se répercuter sur tout le stack alors qu’en VSS, il y a une carte de supervision active et l’autre en standby.
  • Un VSS peut être mis à jour à chaud sans interruption, pas un stack.

 

Virtualisation du LAN

Pour aller un peu plus loin on retrouve ce concept de virtualisation mais cette fois étendu à l’ensemble du réseau LAN. Ce ne sont plus les deux châssis du cœur de réseau que l’on va virtualiser, mais le cœur de réseau et tous les switchs d’accès.

 

 

En termes d’administration, les switchs périphériques sont gérés par le VSS de cœur de réseau, les commutateurs d’accès étant vus comme de simples cartes d’extension. On simplifie ainsi grandement le déploiement et on obtient un réseau sans boucle, administré comme un unique équipement.
On retrouve cette technologie sous le nom d’InstantAccess pour le domaine LAN dans la famille Cisco des Catalyst 6500 et 6800, ainsi que pour les Nexus de Datacenter sous la dénomination de FabricExtender. A l’heure actuelle, un seul cluster VSS permet de gérer 2000 ports.

 

Article écrit par Morgan Charpentier