ECMP nei ien VTEP: wêr't de VXLAN-entropy wei komt
In fiere VTEP kin ferskate folgjende hops mei gelikense kosten hawwe, mar in /32 makket se net brûkber. De ferdieling hinget ôf fan de bûtenste tuple en de hash fan de boarne-poarte.
De bewearing dat multipath mei gelikense kosten sinleas is foar in host-rûte wurdt faak genôch werhelle om wier te klinken. In /32 kiest in bestimmingsadres, en neat oan dy kar beheint it pakket ta ien fysike keppeling. As de bestimming in fier tunnelendpunt fan VXLAN is, kinne ferskate folgjende hops ferskate overlay-streamen drage, en oft se dat dogge hinget ôf fan wat de trochstjoerhash sjen mei. De rest is rekkenjen op de bûtenste kop, gjin eigenskip fan it foarheaksel.
De rûte beslút berikberens; de hash beslút de ferdieling.
De myte: in /32 betsjut ien paad
OSPF kin berikberens mei gelikense kosten nei in VTEP-loopback rapportearje, wylst de trochstjoertabel in groep folgjende hops foar itselde foarheaksel ynstallearret. It protokol leveret de kandidaten; it platfoarm beslút hokker brûkber binne en hoe't in pakket tawiisd wurdt. Gjin rûteprotokol berekkent in nije hash foar elk ynkapsele frame. Krekt dy skieding is de reden dat twa routers mei identike rûtes ferkear dochs oars ferdiele kinne.
Sjoch nei de ynstallearre trochstjoerynskriuwing en net allinnich nei de rûtewerjefte, want hardware- of beliedsgrinzen kinne kandidaten ôfstjitte dy't it kontrôleflak noch oankundiget.
Wêr't de entropy wei komme moat
Tusken twa VTEP's bliuwe de bûtenste boarne- en bestimmingsadressen fêst, en de UDP-bestimmingspoarte is 4789 yn in konvinsjonele útrôl. In hash dy't allinnich dy wearden lêst, sjocht in konstante ynfier en jout in konstant paad werom. Iets yn de bûtenste kop moat fariearje, en de VTEP is it apparaat dat dat feroarje kin.
RFC 7348 stelt foar om de UDP-boarnepoarte ôf te lieden fan fjilden binnen it ynkapsele frame. Ferskate ynderlike petearen leverje dan ferskate bûtenste tuples, wat in gewoane transport-hash wat jout om mei te wurkjen.
As de trochstjoerhardware deeper yn it pakket sjen kin, kontrolearje dan hokker ynderlike fjilden syn hash-ymplemintaasje stipet. Dy djipte moat net as in eask foar elk underlay-apparaat behannele wurde, want de fariaasje fan de boarnepoarte allinnich lit al nuttige ferskillen sjen.
Kontrolearje de hash dy't jo echt krije
Mjit ynstee fan oan te nimmen. Fange in stekproef fan ynkapsele ferkear en sjoch nei de bûtenste boarnepoarten, en fergelykje dan it resultaat mei de trochstjoerynskriuwingen en de tellers per keppeling.
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
Ien boarnepoarte dy't oer in soad ferskate ynderlike petearen ferskynt, betsjut dat de VTEP it fjild net fariearret, en gjin inkele underlay-ôfstelling sil de lading ferdiele. In soad ferskate poarten mei ien folgjende hop yn gebrûk wize earder op de trochstjoergroep.
Skriuw de tellers op foar en nei de stekproef, en let op net-relatearre ferkear dat de uplinks dielt, oars sille de sifers der slimmer útsjen as de hash fertsjinnet.
Wat gelikense ferdieling net betsjut
In hash per stream is ûntwurpen om ien petear op ien paad te hâlden salang't syn ynfier en de beskikbere paadset ûnferoare bliuwe. Ien grutte TCP-oerdracht sammelet dêrom net alle uplinks, en it tafoegjen fan keppelings sil dy iene stream net flugger meitsje. Dit is normaal gedrach, gjin fout.
Ferskate streamen kinne ek by tafal op deselde folgjende hop botsing krije. In koarte stekproef kin der slim skeef útsjen wylst de hash krekt docht wat it konfigurearre is om te dwaan, en in keppelingsflater of in feroaring fan de paadset kin fêstige streamen midden yn in oerdracht ferpleatse.
Test mei represintative adrespearen, transporten en tariven ûnder in goedkard plan, en hâld de seleksje fan keppeling-agregaasjeleden apart fan de seleksje fan rûtearre multipath, want twa hash-stadia foarmje har eigen patroan. In folle folgjende-hop-groep plus sichtbere bûtenste entropy ferklearje de útslach; de lingte fan it foarheaksel net.