ECMP cap a un sol VTEP: d'on ve l'entropia de VXLAN
Un VTEP remot pot tenir diversos salts següents d'igual cost, però una /32 no els fa útils. La distribució depèn de la tupla exterior i del hash del port d'origen.
L'afirmació que el multipath d'igual cost no serveix per a una ruta d'amfitrió es repeteix prou sovint per semblar certa. Una /32 selecciona una adreça de destinació, i res d'aquesta selecció no limita el paquet a un sol enllaç físic. Quan la destinació és un extrem remot de túnel VXLAN, diversos salts següents poden portar fluxos de superposició diferents, i si ho fan depèn del que el hash de reenviament pot veure. La resta és aritmètica sobre la capçalera exterior, no una propietat del prefix.
La ruta decideix l'abastabilitat; el hash decideix la distribució.
El mite: una /32 vol dir un sol camí
OSPF pot informar d'abastabilitat d'igual cost cap a un loopback de VTEP mentre la taula de reenviament instal·la un grup de salts següents per a aquest mateix prefix. El protocol aporta els candidats; la plataforma decideix quins són utilitzables i com s'assigna un paquet. Cap protocol d'encaminament calcula un hash nou per a cada trama encapsulada. Aquesta separació és la raó per la qual dos encaminadors amb rutes idèntiques poden distribuir el trànsit de manera diferent.
Mireu l'entrada de reenviament instal·lada i no només la visualització de la ruta, perquè els límits de maquinari o de política poden descartar candidats que el pla de control encara anuncia.
D'on ha de venir l'entropia
Entre dos VTEP, les adreces exterior d'origen i de destinació es mantenen fixes, i el port de destinació UDP és 4789 en un desplegament convencional. Un hash que només llegeix aquests valors veu una entrada constant i retorna un camí constant. Alguna cosa de la capçalera exterior ha de variar, i el VTEP és el dispositiu que ho pot fer variar.
RFC 7348 proposa derivar el port d'origen UDP a partir de camps dins de la trama encapsulada. Aleshores, converses interiors diferents produeixen tuples exteriors diferents, cosa que dona a un hash de transport ordinari alguna cosa amb què treballar.
Si el maquinari de reenviament pot mirar més endins del paquet, comproveu quins camps interiors admet la seva implementació de hash. Aquesta profunditat no s'ha de tractar com un requisit per a cada dispositiu d'underlay, ja que la variació del port d'origen per si sola ja exposa diferències útils.
Comproveu el hash que realment obteniu
Mesureu en lloc de suposar. Captureu una mostra de trànsit encapsulat i mireu els ports d'origen exteriors, i després compareu el resultat amb les entrades de reenviament i els comptadors per enllaç.
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 sol port d'origen que apareix en moltes converses interiors diferents vol dir que el VTEP no varia el camp, i cap ajustament de l'underlay no repartirà la càrrega. Molts ports diferents amb un sol salt següent en ús apunten més aviat al grup de reenviament.
Anoteu els comptadors abans i després de la mostra, i tingueu en compte el trànsit no relacionat que comparteix els enllaços ascendents, o les xifres semblaran pitjors del que el hash mereix.
Què no vol dir una distribució uniforme
Un hash per flux està dissenyat per mantenir una conversa en un camí mentre les seves entrades i el conjunt de camins disponibles no canvien. Per tant, una única transferència TCP gran no agrega tots els enllaços ascendents, i afegir enllaços no accelerarà aquest flux. És un comportament normal, no un error.
Diversos fluxos també poden col·lisionar per casualitat al mateix salt següent. Una mostra curta pot semblar molt esbiaixada mentre el hash fa exactament el que se li va configurar, i una fallada d'enllaç o un canvi del conjunt de camins poden moure fluxos establerts enmig d'una transferència.
Proveu amb parells d'adreces, transports i ritmes representatius sota un pla aprovat, i manteniu la selecció de membres d'agregació d'enllaços separada de la selecció de multipath encaminat, perquè dues etapes de hash es componen en el seu propi patró. Un grup de salts següents poblat més entropia exterior visible expliquen el resultat; la longitud del prefix no.