Indeksi
Mikä on ECMP (Equal Cost Multi Path)?
Kokoonpanon syntaksi
Esimerkki
Tavoite
Topologia
Esimerkkimääritys
ECMP (Equal Cost Multi Path) on layer 3 -reititysstrategia, jonka avulla liikenne välitetään kohteeseen käyttämällä useita käytettävissä olevia polkuja. ECMP lisää polkujen määrää kohteeseen ja lisää käytettävissä olevaa kaistanleveyttä kohteeseen pääsemiseksi. ECMP-mekanismi mahdollistaa kuormantasauksen ja kaistanleveyden lisäämisen käyttämättömien linkkien ja kaistanleveyden avulla.
ECMP-hajautus
Eri tasoilla tarvitaan erilaisia hajautusarvoja, jotta liikenne ei polarisoitu puukokoisissa konesaliverkkotopologiassa. SONiC:ssä käytetään oletusarvoisesti erilaisia ECMP:n ja LAG:n hajautusalgoritmeja, joten hajautusarvon seed on kaikki tarvittava.
Vaikka ECMP voi lisätä käytettävissä olevien linkkien määrää, kaikki käytettävissä olevat polut on kuormitettava tiiviisti, jotta polku ei ylity tai sitä käytetään liian vähän. Voit muokata IP ECMP:n load-share-hajautusparametreja siten, että ne vaikuttavat liikenteen kuormituksen jakamiseen useilla käytettävissä poluilla. Jotta ECMP-kuormituksen jakaminen olisi optimaalista, määritä ECMP kaikissa lähteen ja kohteen välisissä laitteissa.
Kussakin tasolla kannattaa määrittää erilaisia kuormantasauksen parametreja verkon yksilöivän liikennemallin perusteella tarvittaessa. Esimerkiksi reitittimen A kuormituksen tasapainotuksen hajautusarvokentissä voi olla source-ip, dest-ip, protokolla, lähdeportti ja L4-dest-port, kun taas reitittimessä B hajautusarvokentät voivat käyttää ainoastaan source-ip-, dest-ip- ja protokolla-protokollaa.
Määritä ECMP-hajautusarvon seed.
Määritä kullekin laitteelle yksilöllinen hajautusarvon se, jotta voidaan välttää hajautusarvon polarisoituminen, joka voi aiheuttaa verkon ruuhkautumisen. Verkko voi polarisoitua, kun tietovirtoja on useita, kun ne yrittävät saada yhteyden kytkimeen käyttämällä samoja kytkinportteja.
Kokoonpanon syntaksi |
Selitys |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash { seed-value }
|
Määritä hajautusarvon seed. Seed-arvon arvo on 0–16777215. |
Monipolun aktivointi BGP-määrityksessä
Kokoonpanon syntaksi |
Selitys |
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}
|
Määritä eBGP-reittien enimmäismäärä, joka voidaan valita kuormituksenjaon samanhintaisten monipolkupolkujen (ECMP) muodostamiseksi. |
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} |
Määritä enimmäismäärä iBGP-reittejä, jotka voidaan valita kuormituksen jakamisen samanhintaisten monipolkupolkujen (ECMP) muodostamiseksi. |
Määritä IPv4:n ECMP-kuormituksenjaon hajautusarvo (valinnainen).
Kokoonpanon syntaksi |
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}
|
Määritä IPv6:n ECMP-kuormituksenjaon hajautusarvo (valinnainen).
Kokoonpanon syntaksi |
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}
|
Huomioi, että Dell SONiC -kytkimellä on kaksi reittiä BGP:stä 4.4.4.4/32-reitille. Ecmp:n on saavutettava versio 4.4.4.4/32 ja käytettävä molempia reittejä samanaikaisesti.
Voimme tarkastella BGP-viereisten laitteiden ilmoittamaa polkua kytkimeen ja saada yhteyden isäntään tai aliverkkoon komennolla show bgp ipv4 unicast <host/subnet>. Esimerkkituloste näkyy alla
DELLSONiC# show bgp ipv4 unicast 4.4.4.4
BGP-reititystaulukon merkintä 4.4.4.4/32
Polkuja: (2 käytettävissä, paras 2, taulukon oletus)
200
10.0.0.2/10.0.2 (20.0.0.1)
Puutteellinen alkuperä, metric 0, kelvollinen, ulkoinen, monipolku
Viimeisin päivitys: 2023-12-25 14:34:55+0000
200
30.0.0.2/30.0.0.2 (30.0.0.2)
Puutteellinen alkuperä, metric 0, kelvollinen, ulkoinen, monipolku, paras (vanhempi polku)
Viimeisin päivitys: 2023-12-25 14:34:55+0000 |
|
Anna meidän aktivoida ECMP.
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash seed 100
|
Määritetään BGP-enimmäispolku polkuun 2, sillä polkuja on kaksi.
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 |
Seuraavalla komennolla voit tarkistaa, onko molemmat reititysreitit asennettu reititystaulukkoon:
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
|