ECMP ка једном VTEP-у: одакле долази VXLAN ентропија
Удаљени VTEP може имати неколико следећих скокова једнаке цене, али /32 их не чини корисним. Расподела зависи од спољашње торке и хеша изворног порта.
Тврдња да је вишепута усмеравање једнаке цене бесмислено за хостову путању понавља се довољно често да звучи истинито. /32 бира одредишну адресу и ништа у том избору не ограничава пакет на једну физичку везу. Када је одредиште удаљена крајња тачка VXLAN тунела, неколико следећих скокова може носити различите overlay токове, а да ли то чине зависи од тога шта је хешу за прослеђивање дозвољено да види. Остало је аритметика на спољашњем заглављу, а не својство префикса.
Путања одлучује о достижности; хеш одлучује о расподели.
Мит: /32 значи један пут
OSPF може пријавити достижност једнаке цене до loopback-а VTEP-а док табела прослеђивања инсталира групу следећих скокова за исти префикс. Протокол даје кандидате; платформа одлучује који су од њих употребљиви и како се пакет додељује. Ниједан протокол усмеравања не израчунава нови хеш за сваки инкапсулирани оквир. Управо то раздвајање објашњава зашто два рутера са идентичним путањама ипак могу различито расподелити саобраћај.
Гледајте инсталирани запис прослеђивања, а не само приказ путање, јер ограничења хардвера или политике могу одбацити кандидате које контролна раван још оглашава.
Одакле ентропија мора да дође
Између два VTEP-а спољашње адресе извора и одредишта остају фиксне, а UDP порт одредишта је 4789 у конвенционалном распоређивању. Хеш који чита само те вредности види сталан улаз и враћа сталан пут. Нешто у спољашњем заглављу мора да варира, а VTEP је уређај који то може да омогући.
RFC 7348 предлаже извођење UDP изворног порта из поља унутар инкапсулираног оквира. Различити унутрашњи разговори тада дају различите спољашње торке, што обичном транспортном хешу даје нешто с чиме може да ради.
Ако хардвер за прослеђивање може да завири дубље у пакет, проверите која унутрашња поља подржава његова имплементација хеша. Ту дубину не треба сматрати условом за сваки underlay уређај, јер сама варијација изворног порта већ открива корисне разлике.
Проверите хеш који заиста добијате
Мерите уместо да претпостављате. Снимите узорак инкапсулираног саобраћаја и погледајте спољашње изворне портове, а затим упоредите резултат са записима прослеђивања и бројачима по вези.
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
Један изворни порт који се појављује кроз много различитих унутрашњих разговора значи да VTEP не мења поље и никакво подешавање underlay-а неће расподелити оптерећење. Много различитих портова уз један искоришћен следећи скок указује на групу за прослеђивање.
Забележите бројаче пре и после узорка и приметите неповезани саобраћај који дели uplink-ове, иначе ће бројеви изгледати горе него што хеш заслужује.
Шта равномерна расподела не значи
Хеш по току је дизајниран да задржи један разговор на једној путањи док његови улази и доступни скуп путања остају непромењени. Зато један велики TCP пренос не обједињује све uplink-ове, а додавање веза неће убрзати тај ток. То је нормално понашање, а не квар.
Неколико токова може и случајно да се судари на истом следећем скоку. Кратак узорак може изгледати јако искривљен док хеш ради тачно оно за шта је конфигурисан, а отказ везе или промена скупа путања може да премести успостављене токове усред преноса.
Тестирајте са репрезентативним паровима адреса, транспортима и брзинама према одобреном плану и држите избор чланова агрегације веза одвојено од избора усмерене вишепута, јер се две фазе хеширања склапају у сопствени образац. Попуњена група следећих скокова плус видљива спољашња ентропија објашњавају исход; дужина префикса не.