Introduction au protocole NSRP
Le protocole Netscreen Redundancy Protocol est propriétaire de Juniper et définit le mode de fonctionnement en haute disponibilité des équipements de la gamme SSG. Il permet à des équipements participant à ce processus d’échanger les informations nécessaires à la reprise du traffic en cas de coupure d’un des deux équipements et d’assurer ainsi la continuité de service.
Les équipements doivent être du même modèle afin de pouvoir former ce que l’on appelle un Cluster NSRP. A l’heure actuelle et à ma connaissance, les clusters NSRP ne supportent que deux équipements membres au maximum, malgré le fait que Juniper avait prévu une extension pour en supporter un plus grand nombre. Le protocole NSRP fait intervenir une notion de firewall virtuel, permettant de voir les deux équipements membres du cluster comme un seul et même équipement virtuel appelé Virtual Security Device (VSD). Ce principe est celui qui est utilisé chez bon nombre de constructeurs, et permet d’obtenir une cohérence dans la gestion de la redondance d’équipements.
Un équipement peut contenir un ou plusieurs VSD (le VSD0 est créé par défaut) qui appartiennent eux mêmes à des groupes de VSDs. A chaque VSD sont rattachées des Virtual Security Interfaces qui sont ni plus ni moins que des interfaces virtuelles qui suivront les changements opérationnels effectués par NSRP.
Au sein d’un groupe VSD, on identifie deux types de rôles distincts :
- Le master VSD : il s’agit du VSD qui est actif et s’occupe de forwarder le trafic.
- Le backup VSD : comme son nom le suggère, il s’agit du VSD qui est passif et attend donc que le master tombe (ou ne plus master selon certaines conditions)
Les adresses IP assignées aux VSI sont toujours rattachées au master VSD. En l’occurence, lorsque celui-ci vient à ne plus être opérationnel, l’adresse est donc automatiquement basculée sur le backup devenu alors master pour l’occasion (dans le cas d’une configuration de haute disponibilité de type actif / passif). Par ailleurs, il est à noter que les manage-ip déclarées sur les équipements restent liées aux interfaces physiques de celui-ci et ne seront donc pas basculées avec les VSI en cas de failover.
Le protocole NSRP repose sur l’utilisation de plusieurs états observés par les membres d’un cluster :
- Initial :Lors de la création d’un VSD, l’équipement concerné se place dans ce statut afin de détecter quels autres équipements participent au groupe VSD, se synchronise avec eux et débute le processus d’élection du master. Les deux statuts possibles à partir de celui-ci sont donc master ou backup. Le principe d’élection reste relativement simple, dans la mesure où un VSD seul dans un group sera automatique désigné master, tandis qu’un VSD possédant une priorité plus petite sera préférée et dans le cas où celle-ci est équivalent sur les deux équipements, celui avec l’adresse MAC la plus petite sera privilégié.
- Ineligible : L’équipement possède ce statut lorsqu’un VSD a été coupé administrativement l’empêchant ainsi de participer à tout processus d’élection.
- Inoperable : L’équipement se positionne dans ce mode lorsqu’il a détecté une erreur qui l’empêcherait de forwarder le trafic. Celui-ci l’empêche de participer au processus d’élection mais pas de participer de vérifier s’il doit assurer le failover ou non. Typiquement, ce mode Inoperable se retrouve parfois lorsqu’une interface monitorée est tombée et que celle-ci remonte, auquel cas le statut de l’équipement passera en Initial ce qui lui permettra alors de rejoindre le processus d’élection.
- Backup : Voir la description précédente
- Primary Backup : Il s’agit de l’état indiquant que l’équipement passera master en cas de faute de l’actuel.
Ce premier billet a donc permis d’introduire les (très) grandes lignes des concepts liés au protocole NSRP sur lequel d’autres articles viendront étoffer les différentes notions.
- Master : Voir la description précédente
Tags: Juniper, Juniper Netscreen SSG5, Protocole Juniper NSRP



7 septembre 2009 à 10 h 20 min
quelques précisions :
Il est possible de faire des cluster multi noeuds.
les VSI ne sont pas créés lorsque le VSD0 est utilisé.
en effet le cluster utilise les adresses IP du master comme adresse du cluster.
(il faut donc prévoir des ips de management dédiées).
pour plus de détails, la documentation « concept and examples guide – high availability » est disponible sur le site du constructeur :
http://www.juniper.net/techpubs/software/screenos/screenos6.3.0/630_ce_HA.pdf