Comment forcer VPLS / L2VPN à utiliser un chemin spécifique

8

Nous utilisons VPLS et L2VPN sur Juniper MX pour les connexions L2. La signalisation se fait via BGP et la distribution des étiquettes via LDP.

Maintenant, nous voulons qu'un L2VPN utilise un chemin spécifique à travers le réseau et ne suive pas l'IGP.

Comme nous n'utilisons actuellement que le LDP, nous devons introduire RSVP aux côtés du LDP. Y a-t-il des mises en garde en faisant cela?

Je cherche des exemples pratiques de la façon dont cela se fait sur les boîtiers Juniper.

Sebastian Wiesinger
la source

Réponses:

8

Réponse courte, utilisez simplement le Resource ReSerVation Protocol (RSVP).

Réponse longue, vous pouvez utiliser le routage multi-topologie et avoir plusieurs métriques dans chaque interface et forcer certains paquets à une topologie différente des autres paquets. Mais je ne m'aventurerais pas vraiment là-bas.

Vous voudrez peut-être dire à votre équipe de compte que vous souhaitez implémenter le routage des segments: http://tools.ietf.org/html/draft-previdi-filsfils-isis-segment-routing-02 (la pression des clients aidera au développement des ressources)

Le routage de segment rendrait trivial la résolution de votre problème tout en supprimant à la fois le LDP et le RSVP de votre réseau, en ne s'appuyant que sur l'IGP.


Comme ma suggestion dans les commentaires n'a pas fonctionné, je vais vous expliquer pourquoi et comment y remédier.
Le problème est que nous devons avoir LSP installé dans HW pour pouvoir l'utiliser. Et par ma suggestion le RSVP LSP n'est pas réellement installé jusqu'à ce que LDP LSP disparaisse. Nous ne pouvons donc pas y injecter de trafic de manière conditionnelle.

Je n'ai trouvé aucun moyen de forcer RSVP + LDP dans ECMP, avec une préférence égale pour LDP. Mais nous pouvons toujours réaliser ce qui est souhaité au moins de deux manières distinctes.

  1. Double
    saut suivant Ajouter un deuxième saut suivant dans les PE de circuit l2. Ce tronçon suivant ne sera pas utilisé par iBGP, il n'attire donc aucun trafic.
    Configurez maintenant le tunnel RSVP pour ce deuxième bouclage et utilisez-le comme adresse de voisin pour l2circuit.
    L'effet net est, tout le trafic utilise LDP sauf ce circuit l2 qui utilise RSVP
  2. RSVP uniquement
    Créez deux tunnels RSVP, l'un en utilisant le chemin IGP (c'est-à-dire qu'il utilisera le même que LDP), l'autre en utilisant votre chemin explicite. Ceux-ci peuvent être réglés sur ECMP, c'est-à-dire que tout le trafic utilisera les deux tunnels.
    Maintenant que nous avons atteint l'exigence ECMP, nous pouvons utiliser la politique d'exportation «routage des options de table de transfert» pour placer du trafic sur LSP_NORMAL et du trafic sur LSP_EVPN. Notre politique d'exportation serait essentiellement:

.

term EVPN {
    from community EVPN;
    then {
        install-nexthop lsp LSP_EVPN;
        accept;
    }
}
term NORMAL {
    from next-hop 1.2.3.4;
    then {
        install-nexthop lsp LSP_NORMAL;
        accept;
    }
}

Désormais, aucun du trafic n'utiliserait réellement l'ECMP, car tout le trafic serait forcé vers l'un ou l'autre RSVP LSP.
Je préférerais la 1ère option.

ytti
la source
1
Cela devrait montrer la voie: kb.juniper.net/InfoCenter/… - essentiellement créer un tunnel RSVP, utiliser la communauté pour discriminer le trafic qui y pénètre
ytti
1
Rendre la préférence de tunnel RSVP supérieure à 9. 'définir les protocoles mpls préférence de chemin de commutation d'étiquette EVPN-BACKUP 10.'
ytti
1
Juste une note, cela ne semble pas fonctionner. Lorsque je donne au RSVP une préférence plus élevée, l'étiquette n'est pas installée dans la table mpls et le chemin ne s'affiche pas (l2circuit signale "OL" -> Aucune étiquette sortante)
Sebastian Wiesinger
1
Tu as raison. Avec une préférence plus élevée, il n'est pas du tout installé dans HW (afficher la table de transfert de route correspondant à EGRESS / 32), il ne peut donc pas être accepté par l'exportation de table de transfert. J'ai essayé de penser à une solution pour que les deux soient installés et que RSVP soit utilisé sous condition, mais j'ai dessiné en noir. Une solution serait, pour ajouter un autre bouclage pour RSVP, que vous n'utilisez que pour cela, alors vous faites le circuit l2 vers le nouveau 'bouclage RSVP'. De cette façon, les autres préfixes utilisent l'étiquette de bouclage LDP et celui-ci utilise les étiquettes de bouclage RSVP. Pas besoin d'export communauté + table de transfert.
ytti
1
Je pense que vous auriez eu besoin de 'psn-tunnel-endpoint', juniper.net/techpubs/software/junos/junos85/swconfig85-vpns/…
ytti