L'affirmation selon laquelle le multipath à coût égal est inutile pour une route d'hôte est répétée assez souvent pour sembler vraie. Un /32 sélectionne une adresse de destination, et rien dans cette sélection ne restreint le paquet à une seule liaison physique. Quand la destination est une extrémité de tunnel VXLAN distante, plusieurs sauts suivants peuvent porter des flux overlay différents, et le fait qu'ils le fassent dépend de ce que le hachage de transfert est autorisé à voir. Le reste est de l'arithmétique sur l'en-tête externe, pas une propriété du préfixe.

La route décide de l'accessibilité ; le hachage décide de la répartition.

Le mythe : un /32 signifie un seul chemin

OSPF peut annoncer une accessibilité à coût égal vers un loopback de VTEP tandis que la table de transfert installe un groupe de sauts suivants pour ce même préfixe. Le protocole fournit les candidats ; la plateforme décide lesquels sont utilisables et comment un paquet est attribué. Aucun protocole de routage ne calcule un nouveau hachage pour chaque trame encapsulée. C'est cette séparation qui explique pourquoi deux routeurs ayant des routes identiques peuvent malgré tout répartir le trafic différemment.

Regardez l'entrée de transfert installée plutôt que l'affichage de la route seul, car des limites matérielles ou de politique peuvent écarter des candidats que le plan de contrôle annonce encore.

D'où l'entropie doit venir

Entre deux VTEP, les adresses externe source et de destination restent fixes, et le port de destination UDP vaut 4789 dans un déploiement conventionnel. Un hachage qui ne lit que ces valeurs voit une entrée constante et renvoie un chemin constant. Quelque chose dans l'en-tête externe doit varier, et le VTEP est l'équipement qui peut le faire varier.

RFC 7348 propose de dériver le port source UDP à partir de champs situés dans la trame encapsulée. Des conversations internes différentes produisent alors des tuples externes différents, ce qui donne à un hachage de transport ordinaire de quoi travailler.

Si le matériel de transfert peut inspecter plus loin dans le paquet, vérifiez quels champs internes son implémentation de hachage prend en charge. Cette profondeur ne doit pas être traitée comme une exigence pour chaque équipement d'underlay, car la seule variation du port source expose déjà des différences utiles.

Vérifiez le hachage que vous obtenez réellement

Mesurez plutôt que de supposer. Capturez un échantillon de trafic encapsulé et regardez les ports source externes, puis comparez le résultat avec les entrées de transfert et les compteurs par liaison.

show ip route 10.255.0.5/32
show ip cef 10.255.0.5 internal
ip route show 10.255.0.5
tcpdump -ni eth0 -c 200 'udp port 4789' -vv

Un seul port source apparaissant dans de nombreuses conversations internes différentes signifie que le VTEP ne fait pas varier le champ, et aucun réglage de l'underlay ne répartira la charge. De nombreux ports distincts avec un seul saut suivant utilisé pointent plutôt vers le groupe de transfert.

Relevez les compteurs avant et après l'échantillon, et notez le trafic non lié qui partage les uplinks, sinon les chiffres paraîtront pires que ce que le hachage mérite.

Ce qu'une répartition uniforme ne signifie pas

Un hachage par flux est conçu pour maintenir une conversation sur un seul chemin tant que ses entrées et l'ensemble de chemins disponible restent inchangés. Un seul gros transfert TCP n'agrège donc pas tous les uplinks, et ajouter des liens n'accélérera pas ce flux. C'est un comportement normal, pas une panne.

Plusieurs flux peuvent aussi entrer en collision sur le même saut suivant par hasard. Un échantillon court peut sembler très déséquilibré alors que le hachage fait exactement ce pour quoi il a été configuré, et une panne de liaison ou un changement de l'ensemble de chemins peut déplacer des flux établis en pleine connexion.

Testez avec des paires d'adresses, des transports et des débits représentatifs selon un plan approuvé, et gardez la sélection des membres d'agrégation de liens séparée de celle du multipath routé, car deux étages de hachage composent leur propre motif. Un groupe de sauts suivants peuplé plus une entropie externe visible expliquent le résultat ; la longueur du préfixe non.

Articles similaires