Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

An den éischten zwee Artikelen hunn ech d'Thema vun der Automatiséierung opgeworf an hir Kader skizzéiert, an der zweeter hunn ech e Réckzuch an d'Netzvirtualiséierung gemaach, als éischt Approche fir d'Konfiguratioun vu Servicer ze automatiséieren.
Elo ass et Zäit en Diagramm vum kierperlechen Netzwierk ze zéien.

Wann Dir net vertraut sidd mat der Ariichten vun Datenzenter Netzwierker, da recommandéieren ech staark unzefänken Artikelen iwwer hinnen.

All Themen:

D'Praktiken, déi an dëser Serie beschriwwe ginn, solle fir all Zort Netzwierk applicabel sinn, all Gréisst, mat all Varietéit vu Verkeefer (net). Wéi och ëmmer, et ass onméiglech en universellt Beispill vun der Uwendung vun dësen Approchen ze beschreiwen. Dofir wäert ech op déi modern Architektur vum DC Netz konzentréieren: Kloz Fabréck.
Mir maachen DCI op MPLS L3VPN.

En Overlay-Netzwierk leeft uewen um physeschen Netzwierk vum Host (dëst kéint OpenStack's VXLAN oder Tungsten Fabric sinn oder soss eppes wat nëmmen Basis IP Konnektivitéit vum Netz erfuerdert).

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

An dësem Fall kréie mir e relativ einfache Szenario fir d'Automatisatioun, well mir vill Ausrüstung hunn, déi op déiselwecht Manéier konfiguréiert ass.

Mir wäerte e sphäreschen DC an engem Vakuum wielen:

  • One Design Versioun iwwerall.
  • Zwee Verkeefer bilden zwee Netzwierkfliger.
  • Een DC ass wéi en aneren wéi zwee Erbsen an engem Pod.

Inhalt

  • Physikalesch Topologie
  • Routing
  • IP Plang
  • Laba
  • Konklusioun
  • Nëtzlech Adressen

Loosst eis Service Provider LAN_DC, zum Beispill, Trainingsvideoen hosten iwwer d'Iwwerliewen an de verstoppte Liften.

A Megastied ass dëst ganz populär, also braucht Dir vill kierperlech Maschinnen.

Als éischt wäert ech d'Netzwierk ongeféier beschreiwen wéi ech et gär hätt. An da wäert ech et fir de Labo vereinfachen.

Physikalesch Topologie

Locatiounen

LAN_DC wäert 6 DCs hunn:

  • Russland (RU):
    • Moskau (msk)
    • Kazan (kzn)

  • Spuenien (SP):
    • Barcelona (bcn)
    • Malaga (mlg)

  • China (CN):
    • Shanghai (Sha`ban)
    • Xi'an (Sia)

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

Inside DC (Intra-DC)

All DCs hunn identesch intern Konnektivitéitsnetzwierker baséiert op Clos Topologie.
Wéi eng Clos Netzwierker sinn se a firwat si se an enger separater Artikel.

All DC huet 10 Zännstaang mat Maschinnen, si wäert nummeréiert ginn als A, B, C An esou weider.

All Rack huet 30 Maschinnen. Si wäerten eis net interesséieren.

Och an all Rack gëtt et e Schalter, mat deem all Maschinnen verbonne sinn - dat ass Top vun der Rack schalt - ToR oder soss, am Sënn vun der Clos Fabréck, mir wäerten et Opruff Leaf.

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design
Allgemeng Diagramm vun der Fabréck.

Mir wäerten se ruffen XXX-blattYwou XXX - dräi-Bréif Ofkierzung DC, an Y - Seriennummer. Zum Beispill, kzn-leaf11.

A mengen Artikelen wäert ech mech erlaben d'Begrëffer Leaf an ToR zimlech frivol als Synonyme ze benotzen. Mir mussen awer drun erënneren datt dat net de Fall ass.
ToR ass e Schalter, deen an engem Rack installéiert ass, mat deem Maschinnen ugeschloss sinn.
Leaf ass d'Roll vun engem Apparat an engem kierperlechen Netzwierk oder engem éischte-Niveau Schalter am Sënn vun Cloes Topologie.
Dat ass, Leaf != ToR.
Also de Leaf kann en EndofRaw Schalter sinn, zum Beispill.
Wéi och ëmmer, am Kader vun dësem Artikel wäerte mir se nach ëmmer als Synonyme behandelen.

All ToR-Schalter ass ofwiesselnd mat véier Aggregatiounsschalter op héijer Niveau verbonnen - Spine. Ee Rack am DC gëtt fir Spines zougewisen. Mir wäerten et ähnlech nennen: XXX- WierbelsäuleY.

Dee selwechte Rack enthält Netzwierkausrüstung fir d'Konnektivitéit tëscht den DC - 2 Router mat MPLS u Bord. Awer am grousse Ganzen sinn dës déiselwecht ToRs. Dat ass, aus der Siicht vu Spine-Schalter, ass déi üblech ToR mat verbonne Maschinnen oder e Router fir DCI guer net wichteg - just Forwarding.

Esou speziell ToRs ginn genannt Randblatt. Mir wäerten se ruffen XXX-KanteY.

Et wäert esou ausgesinn.

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

Am Diagramm hei uewen hunn ech d'Kante an d'Blat op de selwechte Niveau gesat. Klassesch dräi-Schicht Netzwierker Si hunn eis geléiert Uplinking (also de Begrëff) als Uplinks ze betruechten. An hei stellt sech eraus datt den DCI "Uplink" zréckgeet, wat fir e puer déi üblech Logik liicht brécht. Am Fall vu groussen Netzwierker, wann Datenzenteren an nach méi kleng Eenheeten opgedeelt sinn - POD's (Point Of Delivery), Highlight individuell Edge-POD's fir DCI an Zougang zu externen Netzwierker.

Fir d'Erliichterung vun der Perceptioun an der Zukunft wäert ech ëmmer nach Edge iwwer Spine zéien, wärend mir am Kapp behalen datt et keng Intelligenz op Spine gëtt an et gi keng Differenzen wann Dir mat normale Leaf a Edge-Leaf schafft (och wann et Nuancen hei kënne sinn , mee am Allgemengen Dëst ass wouer).

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design
Schema vun enger Fabréck mat Randblieder.

D'Trinitéit vu Leaf, Spine a Edge bilden en Underlay Netzwierk oder Fabréck.

D'Aufgab vun engem Reseau Fabréck (liesen Underlay), wéi mir schonn definéiert hunn an lescht Ausgab, ganz, ganz einfach - fir IP Konnektivitéit tëscht Maschinnen souwuel am selwechte DC wéi och tëscht hinnen ze bidden.
Dofir gëtt d'Netzwierk eng Fabréck genannt, genee wéi zum Beispill eng Schaltfabrik a modulare Netzwierkboxen, iwwer déi Dir méi iwwer an SDSM14.

Allgemeng gëtt sou eng Topologie eng Fabrik genannt, well Stoff an Iwwersetzung heescht Stoff. An et ass schwéier net averstanen:
Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

D'Fabréck ass komplett L3. Kee VLAN, keng Broadcast - mir hunn esou wonnerbar Programméierer um LAN_DC, si wësse wéi Applikatiounen schreiwen déi am L3 Paradigma liewen, a virtuelle Maschinnen erfuerderen keng Live Migratioun mat Erhaalung vun der IP Adress.

An nach eng Kéier: d'Äntwert op d'Fro firwat d'Fabréck a firwat L3 an enger separater ass Artikel.

DCI - Data Center Interconnect (Inter-DC)

DCI gëtt mat Edge-Leaf organiséiert, dat heescht, si sinn eisen Ausgangspunkt op d'Autobunn.
Fir Einfachheet, mir huelen un datt d'DCs matenee verbonne sinn duerch direkt Links.
Loosst eis extern Konnektivitéit vun der Iwwerleeung ausschléissen.

Ech sinn bewosst datt all Kéier wann ech e Komponent ewechhuelen, ech d'Netz wesentlech vereinfachen. A wa mir eis abstrakt Netzwierk automatiséieren, wäert alles gutt sinn, awer op der realer wäert et Krutchen sinn.
Dat ass richteg. Trotzdem ass de Punkt vun dëser Serie et ze denken an un Approche ze schaffen, net fir imaginär Problemer heroesch ze léisen.

Op Edge-Leafs gëtt den Ënnerlag am VPN plazéiert an iwwer den MPLS Réckgrat (deeselwechten direkten Link) iwwerdroen.

Dëst ass den Top-Level Diagramm dee mir kréien.

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

Routing

Fir Routing am DC benotze mir BGP.
Op der MPLS Trunk OSPF + LDP.
Fir DCI, dat ass, Konnektivitéit am Underground organiséieren - BGP L3VPN iwwer MPLS.

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design
Allgemeng Routing Schema

Et gëtt keen OSPF oder ISIS (Routingprotokoll verbueden an der russescher Federatioun) an der Fabréck.

Dëst bedeit datt et keng Auto-Entdeckung oder Berechnung vun de kuerste Weeër gëtt - nëmmen manuell (tatsächlech automatesch - mir schwätzen hei iwwer Automatioun) fir de Protokoll, d'Noperschaft an d'Politik opzestellen.

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design
BGP Routing Schema bannent der DC

Firwat BGP?

Zu dësem Thema gëtt et ganze RFC no Facebook an Arista benannt, déi erzielt wéi ee bauen ganz grouss Datenzenter Netzwierker mat BGP. Et liest bal wéi Fiktioun, ech recommandéieren et fir e labberen Owend.

An et gëtt och eng ganz Rubrik a mengem Artikel deemno gewidmet. Wou huelen ech dech an Ech schécken.

Awer trotzdem, kuerz, ass keen IGP gëeegent fir Netzwierker vu groussen Datenzenteren, wou d'Zuel vun den Netzwierkapparater an den Dausende leeft.

Zousätzlech, benotzt BGP iwwerall erlaabt Iech keng Zäit ze verschwenden fir verschidde Protokoller a Synchroniséierung tëscht hinnen z'ënnerstëtzen.

Hand op d'Häerz, an eiser Fabrik, déi mat engem héije Grad vu Wahrscheinlechkeet net séier wuessen, OSPF wier genuch fir d'Aen. Dëst sinn eigentlech d'Problemer vu Megaskaler a Cloud Titanen. Mee loosst eis virstellen just fir e puer Verëffentlechungen, datt mir et brauchen, a mir wäerten BGP benotzen, wéi Pyotr Lapukhov bequeathed.

Routing Politiken

Op Leaf Schalter importéiere mir Präfixe vun Underlay Netzwierkschnëttplazen an BGP.
Mir wäerten eng BGP Sëtzung tëscht jeeweils e Leaf-Spine Pair, an deem dës Underlay Präfixe iwwer de Reseau zréck an zréck annoncéiert ginn.

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

An engem Datenzenter verdeele mir d'Spezifikatioune, déi mir an ToRe importéiert hunn. Op Edge-Leafs wäerte mir se aggregéieren an annoncéieren se op Remote DCs a schécken se erof op TORs. Dat ass, all ToR wäert genau wësse wéi een an en aneren ToR am selwechte DC kënnt a wou den Entrée ass fir an den ToR an engem aneren DC ze kommen.

Am DCI ginn Strecken als VPNv4 iwwerdroen. Fir dëst ze maachen, op Edge-Leaf, gëtt d'Interface vis-à-vis vun der Fabréck an engem VRF gesat, loosst eis et UNDERLAY nennen, an de Quartier mat Spine on Edge-Leaf wäert an der VRF eropgoen, an tëscht Edge-Leafs am VPNv4- Famill.

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

Mir wäerten och d'Re-Ukënnegung vun routes verbidden aus spines zréck op hinnen.

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

Op Leaf a Spine wäerte mir Loopbacks net importéieren. Mir brauche se nëmmen fir de Router ID ze bestëmmen.

Awer op Edge-Leafs importéiere mir et a Global BGP. Tëscht Loopback Adressen wäerten Edge-Leafs eng BGP Sessioun an der IPv4 VPN-Famill mateneen etabléieren.

Mir wäerten en OSPF + LDP Réckgrat tëscht EDGE Apparater hunn. Alles ass an enger Zone. Extrem einfach Konfiguratioun.

Dëst ass d'Bild mat Routing.

BGP ASN

Edge-Leaf ASN

Edge-Leafs wäert een ASN an all DC hunn. Et ass wichteg datt et iBGP tëscht Edge-Leafs gëtt, a mir ginn net an d'Nuancen vun eBGP gefaangen. Loosst et sinn 65535. A Wierklechkeet kann dëst d'Zuel vun engem ëffentlechen AS sinn.

Spinn ASN

Op Spine wäerte mir een ASN pro DC hunn. Loosst eis hei mat der alleréischter Nummer aus der Gamme vu privaten AS ufänken - 64512, 64513 An sou weider.

Firwat ASN op DC?

Loosst eis dës Fro an zwee opdeelen:

  • Firwat sinn d'ASNs déi selwecht op all Spines vun engem DC?
  • Firwat si se ënnerschiddlech a verschiddene DCs?

Firwat sinn déi selwecht ASNs op all spines vun engem DC?

Dëst ass wéi den AS-Path vun der Underlay Route op Edge-Leaf ausgesäit:
[leafX_ASN, spine_ASN, edge_ASN]
Wann Dir probéiert et zréck op Spine ze reklaméieren, wäert et se verworf well seng AS (Spine_AS) schonn an der Lëscht ass.

Wéi och ëmmer, bannent der DC si mir ganz zefridden datt d'Underlay-Strecken déi op d'Edge eropklammen net fäeg sinn erofgoen. All Kommunikatioun tëscht Hosten am DC muss am Réckniveau geschéien.

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

Zur selwechter Zäit wäerten déi aggregéiert Strecken vun aneren DCen op alle Fall einfach d'ToRs erreechen - hiren AS-Path wäert nëmmen den ASN 65535 hunn - d'Zuel vun den AS Edge-Leafs, well dat ass wou se erstallt goufen.

Firwat si se ënnerschiddlech a verschiddene DCs?

Theoretesch musse mir Loopback an e puer virtuelle Maschinnen tëscht DCs zéien.

Zum Beispill, op den Host lafe mir Route Reflector oder déi selwecht VNGW (Virtual Network Gateway), dee mam TopR iwwer BGP gespaart gëtt a säi Loopback annoncéiert, deen aus all DC zougänglech soll sinn.

Also dëst ass wéi säin AS-Path ausgesäit:
[VNF_ASN, leafX_DC1_ASN, spine_DC1_ASN, edge_ASN, spine_DC2_ASN, leafY_DC2_ASN]

An et soll keng duplizéiert ASN iwwerall ginn.

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

Dat ass, Spine_DC1 an Spine_DC2 mussen anescht sinn, grad wéi leafX_DC1 an leafY_DC2, dat ass genau dat wat mir ukommen.

Wéi Dir wahrscheinlech wësst, ginn et Hacks datt Dir erlaben routes mat duplizéiert ASN trotz der Loop Präventioun Mechanismus ze akzeptéieren (allowas-an op Cisco). An et huet souguer legitim Notzungen. Awer dëst ass e potenziellen Ënnerscheed an der Stabilitéit vum Netz. An ech perséinlech gefall et e puer Mol.

A wa mir d'Méiglechkeet hunn net geféierlech Saachen ze notzen, wäerte mir dovunner profitéieren.

Blieder ASN

Mir wäerten eng individuell ASN op all Leaf schalt ganze Reseau hunn.
Mir maachen dat aus de Grënn uewen uginn: AS-Path ouni Schleifen, BGP Konfiguratioun ouni Lieszeeche.

Fir Strecken tëscht Leafs glat ze passéieren, soll den AS-Path esou ausgesinn:
[leafX_ASN, spine_ASN, leafY_ASN]
wou leafX_ASN an leafY_ASN flott wier anescht ze sinn.

Dëst ass och erfuerderlech fir d'Situatioun mat der Ukënnegung vun engem VNF Loopback tëscht DCs:
[VNF_ASN, leafX_DC1_ASN, spine_DC1_ASN, edge_ASN, spine_DC2_ASN, leafY_DC2_ASN]

Mir benotzen e 4-Byte ASN a generéiere se baséiert op der Spine's ASN an der Leaf Switch Nummer, nämlech wéi dëst: Spine_ASN.0000X.

Dëst ass d'Bild mat ASN.
Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

IP Plang

Grondsätzlech musse mir Adresse fir déi folgend Verbindunge verdeelen:

  1. Ënnerlag Netzwierkadressen tëscht ToR a Maschinn. Si mussen eenzegaarteg am ganze Reseau sinn, sou datt all Maschinn mat all aner kommunizéieren kann. Super fit 10/8. Fir all Rack ginn et /26 mat enger Reserve. Mir verdeelen /19 pro DC an /17 pro Regioun.
  2. Link Adressen tëscht Leaf / Tor an Spine.

    Ech wéilt se algorithmesch zouginn, dat ass, se aus den Nimm vun den Apparater ze berechnen, déi verbonne musse sinn.

    Loosst et sinn ... 169.254.0.0/16.
    Nämlech 169.254.00X.Y/31wou X - Nummer vun der Wirbelsäit, Y - P2P Netzwierk /31.
    Dëst erlaabt Iech bis zu 128 Racken ze starten, a bis zu 10 Spines am DC. Link Adressen kënnen (a wäert) vun DC bis DC widderholl ginn.

  3. Mir organiséieren de Spine-Edge-Leaf Kräizung op Subnets 169.254.10X.Y/31wou genau d'selwecht X - Nummer vun der Wirbelsäit, Y - P2P Netzwierk /31.
  4. Link Adressen vum Edge-Leaf op MPLS Réckgrat. Hei ass d'Situatioun e bëssen anescht - d'Plaz wou all d'Stécker an engem Pie verbonne sinn, sou datt d'Wiederbenotzen vun der selwechter Adressen net funktionnéiert - Dir musst de nächste gratis Subnet auswielen. Dofir, loosst eis als Basis huelen 192.168.0.0/16 a mir wäerten déi fräi aus et rake aus.
  5. Loopback Adressen. Mir ginn déi ganz Palette fir si 172.16.0.0/12.
    • Leaf - /25 pro DC - déi selwecht 128 Rack. Mir verdeelen /23 pro Regioun.
    • Spine - /28 pro DC - bis zu 16 Spin. Loosst eis /26 pro Regioun verdeelen.
    • Edge-Leaf - /29 pro DC - bis zu 8 Këschte. Loosst eis /27 pro Regioun verdeelen.

Wa mir net genuch zougewisen Beräicher am DC hunn (an et gëtt keng - mir behaapten Hyperscalers ze sinn), wielt mir einfach den nächste Block.

Dëst ass d'Bild mat IP Adresséierung.

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

Loopbacks:

Präfix
D'Roll vum Apparat
Standuert
DC

172.16.0.0/23
Wäitschoss
 
 

172.16.0.0/27
ru
 

172.16.0.0/29
msk

172.16.0.8/29
kzn

172.16.0.32/27
sp
 

172.16.0.32/29
bcn

172.16.0.40/29
mlg

172.16.0.64/27
cn
 

172.16.0.64/29
Sha`ban

172.16.0.72/29
Sia

172.16.2.0/23
Pick
 
 

172.16.2.0/26
ru
 

172.16.2.0/28
msk

172.16.2.16/28
kzn

172.16.2.64/26
sp
 

172.16.2.64/28
bcn

172.16.2.80/28
mlg

172.16.2.128/26
cn
 

172.16.2.128/28
Sha`ban

172.16.2.144/28
Sia

172.16.8.0/21
Blieder
 
 

172.16.8.0/23
ru
 

172.16.8.0/25
msk

172.16.8.128/25
kzn

172.16.10.0/23
sp
 

172.16.10.0/25
bcn

172.16.10.128/25
mlg

172.16.12.0/23
cn
 

172.16.12.0/25
Sha`ban

172.16.12.128/25
Sia

Ënnerlag:

Präfix
Standuert
DC

10.0.0.0/17
ru
 

10.0.0.0/19
msk

10.0.32.0/19
kzn

10.0.128.0/17
sp
 

10.0.128.0/19
bcn

10.0.160.0/19
mlg

10.1.0.0/17
cn
 

10.1.0.0/19
Sha`ban

10.1.32.0/19
Sia

Laba

Zwee Ubidder. Een Netzwierk. ADSM.

Juniper + Arista. Ubuntu. Gutt al Eva.

D'Quantitéit vun de Ressourcen op eisem virtuelle Server zu Mirana ass nach ëmmer limitéiert, also fir d'Praxis wäerte mir e Netzwierk benotzen dat bis zur Limit vereinfacht ass.

Automatisatioun fir déi Kleng. Zweeten Deel. Netzwierk Design

Zwee Daten Zentren: Kazan a Barcelona.

  • Jiddereng vun hinnen zwee Wirbelen: Juniper an Arista.
  • Ee Torus (Leaf) an all - Juniper an Arista, mat engem verbonne Host (loosst eis e liicht Cisco IOL fir dës huelen).
  • Ee Edge-Leaf Node all (fir de Moment nëmmen Juniper).
  • One Cisco schalt hinnen all ze regéieren.
  • Zousätzlech zu den Netzwierkboxen leeft eng virtuell Kontrollmaschinn. Lafen Ubuntu.
    Et huet Zougang zu all Apparater, et wäert IPAM / DCIM Systemer lafen, eng Rëtsch Python Scripten, Ansible an alles wat mir brauchen.

Voll Configuratioun vun all Netzgeräter, déi mir probéieren mat der Automatisatioun ze reproduzéieren.

Konklusioun

Gëtt dat och ugeholl? Soll ech ënnert all Artikel eng kuerz Conclusioun schreiwen?

Also hu mir gewielt dräi-Niveau Kloz Netzwierk am DC, well mir erwaarden vill Ost-West Traffic a wëllen ECMP.

D'Netzwierk gouf opgedeelt a kierperlech (Underlay) a virtuell (Overlay). Zur selwechter Zäit fänkt d'Iwwerlagerung vum Host un - doduerch d'Ufuerderunge fir den Ënnerlag vereinfacht.

Mir hunn BGP als Routingprotokoll fir Netzwierknetzwierker gewielt fir seng Skalierbarkeet a Politikflexibilitéit.

Mir wäerten separat Wirbelen hunn fir d'Organisatioun vun DCI - Edge-Leaf.
De Réckgrat wäert OSPF + LDP hunn.
DCI gëtt implementéiert baséiert op MPLS L3VPN.
Fir P2P Linken, wäerte mir IP Adressen algorithmesch baséiert op Apparat Nimm berechnen.
Mir wäerten Loopbacks no der Roll vun den Apparater an hire Standuert sequentiell zouginn.
Ënnerlag Präfixe - nëmmen op Leaf Schalter sequenziell baséiert op hirer Lag.

Loosst eis unhuelen datt mir elo d'Ausrüstung nach net installéiert hunn.
Dofir sinn eis nächst Schrëtt fir se an d'Systemer ze addéieren (IPAM, Inventar), den Zougang z'organiséieren, eng Konfiguratioun ze generéieren an se z'installéieren.

Am nächsten Artikel wäerte mir mat Netbox beschäftegen - en Inventar a Gestiounssystem fir IP Raum an engem DC.

Merci

  • Andrey Glazkov aka @glazgoo fir Korrektur a Korrekturen
  • Alexander Klimenko aka @v00lk fir Korrekturliesen an Ännerungen
  • Artyom Chernobay fir KDPV

Source: will.com

Setzt e Commentaire