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 врски, и додавањето врски нема да го забрза тој тек. Ова е нормално однесување, а не дефект.
Неколку текови исто така можат случајно да се судрат на истиот следен скок. Краток примерок може да изгледа силно искривен додека хешот го прави точно она за што е конфигуриран, а отказ на врска или промена на множеството патеки може да премести воспоставени текови на средина од преносот.
Тестирајте со репрезентативни парови адреси, транспорти и стапки според одобрен план, и држете го изборот на членови на агрегација на врски одвоен од изборот на рутирани повеќепатишта, бидејќи две фази на хеширање составуваат своја шема. Пополнета група следни скока плус видлива надворешна ентропија го објаснуваат резултатот; должината на префиксот не.