Cisco France Blog

REP – Resilient Ethernet Protocol – maintenant sur switchs compacts!

8 min read



La 15.0(2)SE1 apporte le support de REP (Resilient Ethernet Protocol) sur les switchs Catalyst 3560 compacts, en plus des switchs catalyst 3k-X et 3k-E pour lesquels nous avions déjà le support depuis la fin de l’été 2012. Prenons le temps de jeter un coup d’oeil à cette technologie qui nous vient du monde metro-Ethernet mais qui trouve toute sa place dans certains designs des réseaux d’entreprise (boucles de commutateurs…)

Vue d’ensemble

Cisco Resilient Ethernet Protocol est une technologie initialement mise en œuvre sur les commutateurs de type « carrier ethernet » et les routeurs d’accès de l’opérateur (MPLS PE). Cette technologie permet le plus souvent de converger dans des temps proches de 50 ms (250 ms dans certains scénarios) sur les réseaux NGN (Next-Generation Networks) qui reposent sur Ethernet. REP se configure sur des segments du réseau et s’intègre dans la plupart des topologies Ethernet. Sur chaque segment, REP s’assure qu’un port reste bloqué (« alternate port »), permettant au trafic de s’écouler aux extrémités sans créer de boucle.

REP se configure et s’opère facilement : il repose sur une architecture distribuée et sécurisée. Chaque commutateur détecte localement les pannes soit sur perte du signal au niveau de l’interface, soit suite à une perte d’adjacence entre 2 voisins REP. Chaque port sur le segment REP peut initier un switchover s’il est configuré avec la clé qui lui permet de débloquer le port initialement bloqué par le protocole REP. Il est impératif qu’un port sur le segment reste bloqué à chaque instant. Si 2 pannes surviennent sur le segment au même moment, REP ne permet pas de converger. Il est donc nécessaire de définir les segments sur le réseau en prenant en compte la topologie du réseau et le risque de panne.

REP n’a pas été conçu pour remplacer le protocole spanning-tree (STP) mais permet plutôt de limiter la portée de ce dernier : REP peut envoyer des notifications de changement de topologie à STP et donc interopère avec lui. REP permet de configurer des « alternate ports » pour différentes plages de VLANs et donc de choisir comment ceux-ci sont acheminés sur le segment.

Définitions

REP est un protocole qui fonctionne sur un segment. Un segment REP est une suite de ports chainés configurés avec le même identifiant de segment (ou « segment ID »). Chaque segment se termine sur un commutateur d’extrémité (ou « edge switch »). Cette architecture simple permet de déployer des segments REP sur tout type de topologie (en anneau, en étoile…)

Figure 1.        Un segment REP

image003

Dans le cas d’une topologie en anneau (Figure 2) , les ports d’extrémité du segment sont sur le même commutateur.

Figure 2.        Un segment REP dans le cas d’une topologie en anneau

image005

Dans le cas d’une boucle d’accès à un cœur de réseau (Figure 3) , il est possible de faire terminer le segment REP sur 2 commutateurs différents du cœur et offrir ainsi le maximum de redondance. Le lien entre les 2 commutateurs d’accès pourra éventuellement être configuré avec le protocole spanning-tree.

Figure 3.        Un segment REP dans le cas d’une topologie en anneau

image007

REP dans le cadre de topologies complexes

De part l’architecture de REP en segment, ce protocole peut aisément s’adapter à toute sorte de topologie :

Figure 4.        Topologie REP complexe

image009

Les protocoles habituellement mis en œuvre sur des anneaux nécessitent que ces derniers soient fermés. REP permet de lever cet obstacle, il suffit de définir des segments sur la topologie et de s’assurer que sur un commutateur il n’y ait pas plus de 2 ports par « segment ID ».

Fonctionnement de REP

Avec REP, il y a toujours au moins un port « bloqué » dans chaque segment. Le port bloqué permet de s’assurer qu’il n’y a pas de boucle : le trafic sur un segment ne peut s’écouler que par une extrémité de ce segment, et non les 2 en même temps. L’« alternate port » est le port bloqué par REP par défaut, c’est-à-dire quand tous les liens du segment sont dans un état fonctionnel. Quand un problème est détecté sur un des liens du segment, REP débloque l’« alternate port » et le trafic peut de nouveau joindre les extrémités du segment (Figure 5)

Figure 5.        Principe de fonctionnement de REP

image011

Détection des incidents par REP

REP se base en premier lieu sur les pertes de signal au niveau des interfaces des commutateurs (LOS – Loss Of Signal), et est capable de découvrir la localisation précise de l’incident sur le segment. Quand un problème survient, les ports qui détectent une anomalie (c’est-à-dire ceux qui sont aux extrémités du lien défectueux), envoient une notification à tous les commutateurs REP du segment. Cette notification a 2 objectifs :

  • Débloquer l’« alternate port » immédiatement
  • Vider les entrées MAC de tous les ports sur le segment REP

Chaque port REP maintient des adjacences avec ses voisins en échangeant continuellement des paquets « Hello ». Quand un LOS n’est pas détecté, la perte de l’adjacence permet aussi d’enclencher le processus de swicthover décrit ci-dessus. Ce maintient d’adjacence permet de s’affranchir d’une gestion centralisée de l’état des liens. Le protocole UDLD (Unidirectional Link Detection) peut être mis en œuvre sur les liens du segment en parallèle et permettre d’enrichir REP en déclenchant le switchover quand un lien du segment passe dans un état unidirectionnel.

Notification des incidents par REP

Notifier très rapidement tous les incidents est indispensable pour obtenir une convergence très rapide. Pour envoyer rapidement et de manière fiable les notifications, REP utilise 2 méthodes :

  • Notification rapide – Via l’utilisation du multicast, la notification est envoyée immédiatement à tous les nœuds du segment, et cela en hardware.
  • Notification fiable – Les notifications sont envoyées également via le protocole qui maintient les adjacences REP. Grâce à l’utilisation de numéro de séquences dans les échanges et à l’acquittement de l’ensemble de ces messages, on est certains que les notifications sont bien propagées.

A réception d’une notification d’incident, chaque commutateur REP sur le segment vide les adresses MAC apprises sur les ports du segment en question, et l’« alternate port » est débloqué (Figure 6)

Figure 6.        Notification des incidents

image013

Retour en fonctionnement nominal et mécanisme de préemption

La préemption est le mécanisme qui permet à un segment REP de revenir à un état connu une fois l’incident terminé. Par défaut, le mécanisme de préemption n’est pas activé, ce qui signifie qu’il n’y a pas re-convergence une fois l’incident terminé (le port naturellement bloqué par l’incident reste bloqué par REP). Activer le mécanisme de préemption de REP permet toutefois de revenir à un état connu après qu’un certain délai configurable se soit écoulé après la fin de l’incident. La préemption peut aussi être déclenchée manuellement si besoin (Figure 7)

Figure 7.        Mécanisme de préemption

image015

REP : un protocole distribué et sécurisé

REP est un protocole sécurisé et distribué qui ne dépend pas d’un seul nœud « maître » pour permettre de garantir son fonctionnement sur le segment. Sur chaque segment, l’un des 2 ports d’extrémité est défini comme primaire (manuellement ou automatiquement) et n’est en charge que d’initier la récolte des informations de topologie et le mécanisme de préemption. Les incidents sont détectés localement soit grâce aux pertes de signal sur les interfaces (LOS) ou bien via les pertes d’adjacences. Tout port sur le segment peut débloquer l’« alternate port » s’il a obtenu au préalable la clé de sécurité qui permet de le faire. Cette clé de 9 octets identifie chaque port du segment. C’est une combinaison de l’identifiant du port et d’un nombre aléatoire généré quand le port devient actif. Cette clé permet un fonctionnement sécurisé car elle n’est distribuée qu’au sein du segment. L’« alternate port » génère donc sa clé et la distribue à tous les autres ports du segment (Figure 8)

Chaque port du segment peut donc ensuite utiliser cette clé pour débloquer l’« alternate port ». Grâce à ce mécanisme, seuls les commutateurs sur le segment sont capables de débloquer l’« alternate port » et cela empêche à la fois les attaques et des problèmes liés à la présence de plusieurs segments sur le même commutateur (1024 « segment IDs » étant disponibles, de tels chevauchements ne devraient pas survenir sauf en cas de mauvaise configuration)

Figure 8.        Distribution de la clé de l’« alternate port »

image017

Notification de changement de topologie

Une notification de changement de topologie (TCN – Topology Change Notification) est utilisée au sein d’un segment pour notifier les voisins que la topologie a été modifiée. Aux extrémités du segment, REP peut propager cette information au protocole spanning-tree ou bien à d’autres segments REP. La figure 9 illustre un scénario dans lequel 2 segments REP sont configurés. Le segment 2 est configuré pour envoyer une notification de changement de topologie au segment 1, afin que ce dernier vide ses entrées MAC et éviter ainsi des coupures dans le cas de trafic unidirectionnel. En effet dans ce dernier cas, la destination n’envoyant pas de trames Ethernet, les commutateurs n’ont pas la possibilité de détecter par quelles interfaces cette dernière est joignable après une éventuelle re-convergence.

Figure 9.        Notification de changement de topologie

image019

Partage de charge par VLAN sur le segment REP

Pour une utilisation optimale de la bande-passante sur les divers liens du segment, REP peut répartir les VLANs sur le lien. Ceux-ci peuvent être répartis dans 2 groupes :

  • Pour le premier, le port bloqué en comportement nominal sera le port d’extrémité primaire du segment
  • Pour le second, le port bloqué sera l’« alternate port » configuré sur le segment.

Cette répartition est configurable sur le commutateur d’extrémité primaire du segment et permet donc de supporter une éventuelle augmentation de trafic sur les différents VLANs. Ce partage de charge est illustré sur la figure ci-après.

Figure 10.      Partage de charge par VLAN

image021

Quand il y a un incident sur le segment, les 2 ports bloqués (un port par groupe) sont débloqués. Le mécanisme de préemption expliqué précédemment permet de revenir dans le mode de partage de charge configuré initialement.

Simplicité de mise en œuvre et management de REP

La configuration de REP ne nécessite que quelques étapes. Avec la configuration simple de l’« alternate port » et du mécanisme de préemption, la topologie est connue d’avance et l’opération de la solution en est grandement simplifiée. Des commandes permettent de connaître à chaque instant la topologie en cours et les précédentes (les commutateurs archivent en local les topologies successives)

Figure 11.      Informations données par la commande « show rep topology »

image023

Une MIB est également disponible pour superviser le protocole REP.

Fonctionnement de REP avec STP (Spanning-Tree Protocol)

REP et STP peuvent être configurés sur le même commutateur, mais pas sur la même interface. Si REP est configuré sur un port, alors spanning-tree est automatiquement désactivé, et réciproquement. Les ports sur lesquels REP est configuré ne propagent pas les BPDUs (Bridge Protocol Data Units) du protocole spanning-tree.

Figure 12.      Activation de STP et REP sur des domaines adjacents

image025

Les commutateurs REP d’extrémité peuvent notifier le domaine spanning-tree en cas de changement de topologie, REP étant capable de générer des Spanning-Trees Change Notifications (STCN). La figure 13 montre un changement de topologie REP propagé à un domaine spanning-tree, ce qui assure l’interopérabilité des domaines.

Figure 13.      Topology Changes Notification propagée dans Spanning Tree

image027

Si l’interopérabilité est possible, une topologie dans laquelle un domaine spanning-tree a une double connectivité avec des commutateurs « de transit » d’un segment REP n’est pas supportée car elle engendrerait une boucle (Figure 14)

Figure 14.      Exemple de design non supporté

image029

Conclusion

Le protocole REP (Resilient Ethernet Protocol) a été conçu par CISCO pour diminuer les temps de convergence sur les domaines de niveau 2. Idéalement adapté aux topologies en anneau, REP utilise la notion de segment et permet ainsi de s’adapter à bien d’autres cas de figure. REP est compatible avec le protocole spanning-tree et peut être déployé en complément grâce à l’échange des notifications de changement de topologie entre ces 2 protocoles. Aussi, REP se configure très simplement et offre les fonctionnalités de préemption ainsi que de partage de charge par VLAN. De part sa simplicité et le temps de convergence qu’il permet d’obtenir, le protocole REP est amené à être disponible sur de plus en plus de plateformes CISCO, permettant ainsi d’améliorer et de simplifier les architectures de type Carrier Ethernet.

Authors

Jerome Durand

Technical Solutions Architect

Laisser un commentaire


2 commentaires

  1. ca ressemble à du hiper-ring de chez hirschman

    • Je vois quelques différences (mais je peux me tromper). La principale et non des moindres de REP par rapport à de nombreux protocoles conçus dans le même esprit est que là on n’est pas obligés d’être sur une topologie en anneaux: on n’est donc pas limités sur des designs en aboutant plusieurs segments REP. Il me semble aussi que hiper-ring nécessite la présence d’un “master” qui va en gros être en chargé de vérifier l’état de l’anneau. Ici chaque noeud va pouvoir détecter une panne (et reposer donc sur le statut de l’intérface) et débloquer le chemin de secours. Le modèle me semble donc davantage distribué avec REP. Après je ne connais pas comment les autres protocoles sont capables de s’adapter dans des environnements multi-VLANs mais REP a été conçu pour le metro-Ethernet et a priori est pensé dès le départ pour gérer de nombreux VLANs avec une grande scalabilité.