ECMP į vieną VTEP: iš kur atsiranda VXLAN entropija
Nuotolinis VTEP gali turėti kelis vienodos kainos kitus šuolius, bet /32 nepadaro jų naudingų. Paskirstymas priklauso nuo išorinės eilės ir šaltinio prievado maišos.
Teiginys, kad vienodos kainos kelių maršrutizavimas beprasmis maršrutui į hostą, kartojamas pakankamai dažnai, kad atrodytų teisingas. /32 parenka paskirties adresą, ir niekas tame pasirinkime neriboja paketo vienu fiziniu ryšiu. Kai paskirtis yra nuotolinis VXLAN tunelio galinis taškas, keli kiti šuoliai gali perduoti skirtingus perdangos srautus, o ar perduoda, priklauso nuo to, ką leidžiama matyti persiuntimo maišai. Likusi dalis yra aritmetika išorinėje antraštėje, o ne prefikso savybė.
Maršrutas sprendžia pasiekiamumą; maiša sprendžia paskirstymą.
Mitas: /32 reiškia vieną kelią
OSPF gali pranešti apie vienodos kainos pasiekiamumą VTEP loopback sąsajai, tuo tarpu persiuntimo lentelė tam pačiam prefiksui įdiegia kitų šuolių grupę. Protokolas pateikia kandidatus; platforma nusprendžia, kurie iš jų tinkami naudoti ir kaip priskiriamas paketas. Nė vienas maršrutizavimo protokolas neskaičiuoja naujos maišos kiekvienam inkapsuliuotam kadrui. Būtent šis atskyrimas paaiškina, kodėl du maršrutizatoriai su identiškais maršrutais vis tiek gali paskirstyti srautą skirtingai.
Žiūrėkite į įdiegtą persiuntimo įrašą, o ne tik į maršruto rodymą, nes aparatinės įrangos ar politikos apribojimai gali atmesti kandidatus, kuriuos valdymo plokštuma vis dar skelbia.
Iš kur turi kilti entropija
Tarp dviejų VTEP išoriniai šaltinio ir paskirties adresai lieka fiksuoti, o UDP paskirties prievadas įprastame diegime yra 4789. Maiša, kuri skaito tik tas reikšmes, mato pastovią įvestį ir grąžina pastovų kelią. Kažkas išorinėje antraštėje turi kisti, o VTEP yra įrenginys, galintis tai užtikrinti.
RFC 7348 siūlo išvesti UDP šaltinio prievadą iš laukų inkapsuliuoto kadro viduje. Tada skirtingi vidiniai pokalbiai sukuria skirtingas išorines eiles, o tai duoda įprastai transporto maišai medžiagos darbui.
Jei persiuntimo aparatinė įranga gali pažvelgti giliau į paketą, patikrinkite, kuriuos vidinius laukus palaiko jos maišos realizacija. Šio gylio nereikėtų laikyti reikalavimu kiekvienam underlay įrenginiui, nes vien šaltinio prievado kitimas jau atskleidžia naudingus skirtumus.
Patikrinkite maišą, kurią iš tikrųjų gaunate
Matuokite, o ne darykite prielaidas. Paimkite inkapsuliuoto srauto pavyzdį ir pažiūrėkite į išorinius šaltinio prievadus, tada palyginkite rezultatą su persiuntimo įrašais ir kiekvienos jungties skaitikliais.
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
Vienas šaltinio prievadas, pasikartojantis daugelyje skirtingų vidinių pokalbių, reiškia, kad VTEP nekeičia lauko, ir joks underlay derinimas nepadalins apkrovos. Daug skirtingų prievadų, kai naudojamas vienas kitas šuolis, rodo persiuntimo grupę.
Užrašykite skaitiklius prieš pavyzdį ir po jo, ir atkreipkite dėmesį į nesusijusį srautą, kuris dalijasi uplinkais, kitaip skaičiai atrodys prasčiau, nei maiša nusipelno.
Ko tolygus paskirstymas nereiškia
Srauto maiša sukurta taip, kad vienas pokalbis liktų viename kelyje, kol jo įvestys ir galimas kelių rinkinys nesikeičia. Todėl vienas didelis TCP perdavimas nesujungia visų uplinkų, o pridėjus jungčių tas srautas nepagreitės. Tai normalus elgesys, o ne gedimas.
Keli srautai taip pat gali atsitiktinai susidurti tame pačiame kitame šuolyje. Trumpas pavyzdys gali atrodyti labai iškreiptas, nors maiša daro būtent tai, kam buvo sukonfigūruota, o jungties gedimas ar kelių rinkinio pokytis gali perkelti nusistovėjusius srautus perdavimo viduryje.
Testuokite su reprezentatyviomis adresų poromis, transportais ir sparta pagal patvirtintą planą, ir laikykite jungčių agregavimo narių pasirinkimą atskirai nuo maršrutizuoto kelių pasirinkimo, nes du maišos etapai sudaro savo modelį. Užpildyta kitų šuolių grupė ir matoma išorinė entropija paaiškina rezultatą; prefikso ilgis ne.