Index
Wat is Equal Cost Multi Path (ECMP)?
Configuratiesyntaxis
Voorbeeld
Doel
Topologie
Voorbeeldconfiguratie
Equal Cost Multi Path (ECMP) is een Layer 3-routeringsstrategie voor het doorsturen van verkeer naar een bestemming via meerdere beschikbare paden. ECMP verhoogt het aantal paden naar een bestemming en verhoogt de beschikbare bandbreedte om de bestemming te bereiken. Het ECMP-mechanisme maakt werklastverdeling en meer bandbreedte mogelijk door ongebruikte koppelingen en bandbreedte te gebruiken.
ECMP-hash
Verschillende hash-zaden zijn vereist in verschillende lagen om te voorkomen dat verkeer polarisatie plaatsvindt in de netwerktopologie van een datacenter in boomformaat. In SONiC gebruiken we standaard verschillende hash-algoritmen voor ECMP en LAG, dus het configureren van de hash-seed is alles wat nodig is.
Hoewel ECMP het aantal beschikbare koppelingen kan verhogen, moeten alle beschikbare paden nauw worden gedeeld, zodat geen pad over of onderbenut is. U kunt de HASH-parameters voor de IP ECMP-loadshare wijzigen om het delen van verkeer via meerdere beschikbare paden te beïnvloeden. Voor optimale ECMP-belastingsdeling configureert u ECMP op alle apparaten die zich tussen de bron en de bestemming bevinden.
Het is een best practice om verschillende load-balancing parameters op elke laag te configureren op basis van het unieke verkeerspatroon in het netwerk, indien nodig. Op router A kunnen de hash-velden voor taakverdeling bijvoorbeeld source-ip, dest-ip, protocol, source-port en L4-dest-port omvatten, terwijl de hash-velden alleen source-ip, dest-ip en protocol kunnen gebruiken.
Configureer de ECMP hash seed.
Configureer een uniek hash-seed voor elk apparaat om hash-polarisatie te voorkomen, wat kan leiden tot netwerkcongestie. Netwerk polarisatie kan optreden wanneer meerdere datastromen proberen een switch te bereiken met dezelfde switchpoorten.
Configuratiesyntaxis |
Uitleg |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash { seed-value }
|
Configureer het hash-seed. De waarde voor seed-value is 0 tot 16777215. |
Multipath activeren in BGP-configuratie
Configuratiesyntaxis |
Uitleg |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp {as-number}
DELLSONiC (conf-router-bgp)# address-family {ipv4 unicast | ipv6 unicast}
DELLSONiC (conf-router-bgp-af)# maximum-paths {number}
|
Configureer het maximale aantal eBGP-routes dat kan worden geselecteerd om equal cost multi-path (ECMP)-routes te vormen voor load-sharing. |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp {as-number}
DELLSONiC (conf-router-bgp)# address-family {ipv4 unicast | ipv6 unicast}
DELLSONiC (conf-router-bgp-af)# maximum-paths ibgp {number} |
Configureer het maximale aantal iBGP-routes dat kan worden geselecteerd om equal cost multi-path (ECMP)-routes te vormen voor load-sharing. |
Configureer DE ECMP load-share hash voor IPv4 (optioneel).
Configuratiesyntaxis |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash ipv4 {ipv4-src-ip | ipv4-dst-ip | ipv4-ip-proto | ipv4-l4-src-port| ipv4-l4-dst-port | symmetric}
|
Configureer DE ECMP load-share hash voor IPv6 (optioneel).
Configuratiesyntaxis |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash ipv6 {ipv6-src-ip | ipv6-dst-ip | ipv6-next-hdr | ipv6-l4-src-port| ipv6-l4-dst-port | symmetric}
|
Stel dat de Dell SONiC switch twee routes van BGP heeft om 4.4.4.4/32-routes te bereiken. We moeten ECMP gebruiken om 4.4.4.4/32 te bereiken en beide routes tegelijkertijd te gebruiken.
We kunnen het pad weergeven dat door de BGP-neighbors naar onze switch wordt geadverteerd om een host of subnet te bereiken, de opdracht show bgp ipv4 unicast <host/subnet> gebruiken. Een voorbeelduitvoer wordt hieronder weergegeven
DELLSONiC# show bgp ipv4 unicast 4.4.4.4
BGP-routeringstabelvermelding voor 4.4.4.4/32
Paden: (2 beschikbaar, beste nr. 2, standaardtabel)
200
10.0.0.2 vanaf 10.0.0.2 (20.0.0.1)
Herkomst onvolledig, statistiek 0, geldig, extern, multipath
Laatste update: 2023-12-25 14:34:55+0000
200
30.0.0.2 vanaf 30.0.0.2 (30.0.0.2)
Herkomst onvolledig, statistiek 0, geldig, extern, multipath, beste (ouder pad)
Laatste update: 2023-12-25 14:34:55+0000 |
|
Laat ons ECMP activeren.
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash seed 100
|
Laat ons het maximale BGP-pad configureren naar 2 omdat we twee paden hebben.
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp 100
DELLSONiC(config-router-bgp)# address-family ipv4 unicast
DELLSONiC(config-router-bgp-af)# maximum-paths 2 |
Om te controleren of beide routes in de routeringstabel zijn geïnstalleerd, gebruikt u de onderstaande opdracht:
show ip route <hopst/subnet>
DELLSONiC# show ip route 4.4.4.4
Codes: K - kernel route, C - connected, S - static, B - BGP, O - OSPF
> - selected route, * - FIB route, q - queued route, r - rejected route
Destination Gateway Dist/Metric Last Update
--------------------------------------------------------------------------------------------------------------------------------
B>* 4.4.4.4/32 via 10.0.0.2 Eth1/1 20/0 03:02:41 ago
* via 30.0.0.2 Eth1/2
|