Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Configurer les paramètres sur le système d’exploitation hôte

Ce chapitre fournit des informations sur la façon d’ajuster les paramètres du système d’exploitation hôte pour activer des fonctionnalités avancées ou augmenter l’échelle de la fonctionnalité cRPD.

Configurer la mise à l’échelle ARP

Le nombre maximal d’entrées ARP est contrôlé par le noyau hôte Linux. Vous pouvez ajuster les limites d’entrée ARP ou NDP à l’aide de la sysctl commande sur l’hôte Linux.

Par exemple, pour ajuster le nombre maximal d’entrées ARP à l’aide d’IPv4 :

root@host:~# sysctl -w net.ipv4.neigh.default.gc_thresh1=4096

root@host:~# sysctl -w net.ipv4.neigh.default.gc_thresh2=8192

root@host:~# sysctl -w net.ipv4.neigh.default.gc_thresh3=8192

Par exemple, pour ajuster le nombre maximal d’entrées NDP à l’aide d’IPv6 :

root@host:~# sysctl -w net.ipv6.neigh.default.gc_thresh1=4096

root@host:~# sysctl -w net.ipv6.neigh.default.gc_thresh2=8192

root@host:~# sysctl -w net.ipv6.neigh.default.gc_thresh3=8192

Appartenance IGMP sous Linux

Pour autoriser un plus grand nombre de contiguïtés OSPFv2/v3 avec cRPD, augmentez la limite d’adhésion IGMP :

Augmentez la limite d’adhésion à l’IGMP.

root@host:~# sysctl -w net.ipv4.igmp_max_memberships=1000

Modules de noyau

Vous devez charger les modules de noyau suivants sur l’hôte avant de déployer cRPD en mode Couche 3. Ces modules sont généralement disponibles dans linux-modules-extra des packages ou kernel-modules-extra des packages. Exécutez les commandes suivantes pour ajouter les modules du noyau.

  • modprobe tun

  • modprobe fou

  • modprobe fou6

  • modprobe ipip

  • modprobe ip_tunnel

  • modprobe ip6_tunnel

  • modprobe mpls_gso

  • modprobe mpls_router

  • modprobe mpls_iptunnel

  • modprobe vrf

  • modprobe vxlan

Configurer le MPLS

Pour configurer le MPLS dans le noyau Linux :

  1. Chargez les modules MPLS dans le conteneur à l’aide de modprobe ou insmod:

    root@crpd-ubuntu3:~# modprobe mpls_iptunnel

    root@crpd-ubuntu3:~# modprobe mpls_router

    root@crpd-ubuntu3:~# modprobe ip_tunnel

  2. Vérifiez les modules MPLS chargés dans le système d’exploitation hôte.

Sélection du champ de hachage pour l’équilibrage de charge ECMP sous Linux

Vous pouvez sélectionner la stratégie de hachage ECMP (fib_multipath_hash_policy) pour le trafic transféré et généré localement (IPv4/IPv6).

Trafic IPv4

  1. Par défaut, le noyau Linux utilise la politique de hachage L3 pour équilibrer la charge du trafic IPv4. Le hachage L3 utilise les informations suivantes :
    • Adresse IP source
    • Adresse IP de destination

    root@host:~# sysctl -n net.ipv4.fib_multipath_hash_policy 0

  2. Exécutez la commande suivante pour équilibrer la charge du trafic IPv4 à l’aide d’une stratégie de hachage de couche 4. Hachage de couche 4 : équilibrez la charge du trafic en fonction des informations suivantes :
    • Adresse IP source
    • Adresse IP de destination
    • Numéro de port source
    • Numéro de port de destination
    • Protocole

    root@host:~# sysctl -w net.ipv4.fib_multipath_hash_policy=1

    root@host:~# sysctl -n net.ipv4.fib_multipath_hash_policy 1

  3. Exécutez la commande suivante pour utiliser le hachage L3 sur l’en-tête interne du paquet (IPv4/IPv6 sur IPv4 GRE).

    root@host:~# sysctl -w net.ipv6.fib_multipath_hash_policy=2

    root@host:~# sysctl -n net.ipv6.fib_multipath_hash_policy 2

    Par défaut, la stratégie utilise un hachage L3 sur le paquet transféré, comme décrit dans l’approche par défaut pour le trafic IPv4.

    Trafic IPv6

  4. Par défaut, le noyau Linux utilise la politique de hachage L3 pour équilibrer la charge du trafic IPv6. La politique de hachage L3 équilibre la charge du trafic en fonction des informations suivantes :
    • Adresse IP source
    • Adresse IP de destination
    • Étiquette de flux
    • En-tête suivant (Protocole)

    root@host:~# sysctl -n net.ipv6.fib_multipath_hash_policy 0

  5. Vous pouvez utiliser la stratégie de hachage de couche 4 pour équilibrer la charge du trafic IPv6. La stratégie de hachage de couche 4 équilibre la charge du trafic en fonction des informations suivantes :
    • Adresse IP source
    • Adresse IP de destination
    • Numéro de port source
    • Numéro de port de destination
    • En-tête suivant (Protocole)

    root@host:~# sysctl -w net.ipv6.fib_multipath_hash_policy=1

    root@host:~# sysctl -n net.ipv6.fib_multipath_hash_policy 1

  6. Exécutez la commande suivante pour utiliser le hachage L3 sur l’en-tête interne du paquet (IPv4/IPv6 sur IPv4 GRE).

    root@host:~# sysctl -w net.ipv6.fib_multipath_hash_policy=2

    root@host:~# sysctl -n net.ipv6.fib_multipath_hash_policy 2

    MPLS

  7. Le noyau Linux peut sélectionner le saut suivant d’une route multichemin à l’aide des paramètres suivants :
    • Pile d’étiquettes jusqu’à la limite de MAX_MP_SELECT_LABELS (4)
    • Adresse IP source
    • Adresse IP de destination
    • Protocole de l’en-tête IPv4/IPv6 interne

    Détection de voisins

  8. Exécutez la commande suivante pour afficher l’activité (échec/incomplet/non résolu) de l’entrée voisine.

    root@host:~# sysctl -w net.ipv4.fib_multipath_use_neigh=1

    Par défaut, les paquets sont transférés vers les sauts suivants à l’aide de la root@host:~# sysctl -n net.ipv4.fib_multipath_use_neigh 0 commande.

wECMP Utilisation de BGP sous Linux

L’équilibrage de charge à coût inégal est un moyen de répartir le trafic de manière inégale entre différents chemins (comprenant le saut suivant à trajets multichemins) ; lorsque les chemins ont des capacités de bande passante différentes. Le protocole BGP marque chaque route/chemin avec la bande passante du lien à l’aide de la communauté étendue de bande passante du lien. La bande passante du lien correspondant peut être codée dans le cadre de cette communauté de bande passante de liaison. RPD utilise ces informations de bande passante de chaque chemin pour programmer les sauts suivants multichemins avec linux ::weights appropriés. Un saut suivant avec linux ::weight permet au noyau Linux d’équilibrer le trafic de manière asymétrique.

BGP forme un prochain saut multichemin et utilise les valeurs de bande passante de chaque chemin pour déterminer la proportion de trafic que chacun des prochains sauts qui forment le prochain saut ECMP doit recevoir. Les valeurs de bande passante spécifiées dans la bande passante de liaison n’ont pas besoin d’être la bande passante absolue de l’interface. Ces valeurs doivent refléter la bande passante relative d’un chemin à l’autre. Pour plus de détails, consultez Présentation de la définition des communautés BGP et des communautés étendues et de la manière dont les communautés BGP et les communautés étendues sont évaluées dans les conditions de correspondance des stratégies de routage.

Prenons l’exemple d’un réseau R1 recevant des chemins de coût égaux de R2 et R3 vers une destination R4. Si vous souhaitez envoyer 90 % du trafic à charge équilibrée sur le chemin R1-R2 et les 10 % restants du trafic sur le chemin R1-R3 à l’aide de wECMP. Vous devez marquer les routes reçues des deux homologues BGP avec la communauté de bande passante de liaison en configurant policy-options.

  1. Configurer l’énoncé de stratégie.

    root@host> show configuration policy-options

  2. RPD utilise les valeurs de bande passante pour équilibrer de manière inégale le trafic avec les sauts suivants à chemins multiples.

    root@host> show route 100.100.100.100 detail

  3. Le noyau Linux prend en charge l’équilibrage de charge inégal en attribuant linux ::weights pour chaque saut suivant.

    root@host:/# ip route show 100.100.100.100

    Les linux ::weights sont programmés sur Linux en tant que divisions d’un entier 255 (la valeur maximale d’un caractère non signé). Chaque saut suivant dans le saut suivant ECMP reçoit un linux ::weight proportionnel à sa part de la bande passante.

Activer SRv6 sur cRPD

Vous pouvez activer la capacité SR IPv6 sur cRPD à l’aide de la commande sysctl suivante :

  1. Activer le SR.

    root@host:~# sysctl net.ipv6.conf.all.seg6_enabled=1

    root@host:~# sysctl net.ipv6.conf.all.forwarding=1

  2. Configurez la commande suivante pour activer SRv6 sur l’interface eth0.

    root@host:~# sysctl net.ipv6.conf.eth0.seg6_enabled=1

  3. Configurez la commande suivante pour définir les SID DT4.

    root@host:~# sysctl -wq net.vrf.strict_mode=1