In den ersten beiden Artikeln habe ich die Frage der Automatisierung angesprochen und ihren Rahmen skizziert. Im zweiten Artikel habe ich einen Einschub zur Netzwerkvirtualisierung gemacht, als ersten Schritt zur Automatisierung der Dienstkonfiguration.
Jetzt ist es an der Zeit, das Schema des physischen Netzwerks zu skizzieren.
Wenn Sie nicht mit den GerÀten in Rechenzentrumsnetzwerken vertraut sind, empfehle ich Ihnen dringend, mit der .
Alle Ausgaben:
Die in dieser Serie beschriebenen Praktiken sollten auf Netzwerke jeder Art, jeder GröĂe und mit jeder Vielfalt von Anbietern anwendbar sein (nicht). Allerdings kann kein universelles Beispiel fĂŒr die Anwendung dieser AnsĂ€tze beschrieben werden. Daher werde ich mich auf die moderne Architektur des DC-Netzwerks konzentrieren: .
Die DC-Verbindung wird mit MPLS L3VPN hergestellt.
Ăber dem physischen Netzwerk arbeitet ein Overlay-Netzwerk vom Host aus (das kann VXLAN von OpenStack oder Tungsten Fabric oder etwas anderes sein, was nur grundlegende IP-KonnektivitĂ€t vom Netzwerk erfordert).
In diesem Fall ergibt sich ein relativ einfaches Automatisierungsszenario, da wir viele GerÀte haben, die auf dieselbe Weise konfiguriert werden.
Wir wÀhlen ein sphÀrisches DC im Vakuum:
- Ein Entwurf fĂŒr ĂŒberall.
- Zwei Anbieter, die zwei Netzwerkebenen bilden.
- Ein DC sieht dem anderen zum Verwechseln Àhnlich.
Inhalt
- Physische Topologie
- Routing
- IP-Plan
- Labor
- Fazit
- NĂŒtzliche Links
Lassen Sie unseren Dienstanbieter LAN_DC, zum Beispiel, Schulungsvideos zum Ăberleben in steckengebliebenen AufzĂŒgen hosten.
In Metropolen ist dies Ă€uĂerst beliebt, daher sind viele physische Maschinen erforderlich.
Zuerst werde ich das Netzwerk ungefĂ€hr so beschreiben, wie ich es mir wĂŒnschen wĂŒrde. Und dann vereinfache ich es fĂŒr das Labor.
Physische Topologie
Standorte
LAN_DC wird 6 DCs haben:
- Russland (RU):
- Moskau (msk)
- Kasan (kzn)
- Spanien (SP):
- Barcelona (bcn)
- MĂĄlaga (mlg)
- China (CN):
- Shanghai (sha)
- Xi'an (sia)

Intra-DC
In allen DCs identische Netzwerke fĂŒr die interne Verbindung, basierend auf der Clos-Topologie.
Was Clos-Netzwerke sind und warum gerade sie â in einem separaten .
In jedem DC gibt es 10 Racks mit Maschinen, die nummeriert werden wie A, B, C Und so weiter.
In jedem Rack sind 30 Maschinen. Diese werden uns nicht interessieren.
AuĂerdem steht in jedem Rack ein Switch, an den alle Maschinen angeschlossen sind â das ist Top of the Rack Switch â ToR oder in den Begriffen der Clos-Fabrik bezeichnet man ihn als Leaf.

Allgemeines Schema der Fabrik.
Wir werden sie nennen XXX-leafY
In den Artikeln werde ich mir erlauben, die Begriffe Leaf und ToR recht frei als Synonyme zu verwenden. Es ist jedoch wichtig, daran zu denken, dass dem nicht so ist.
ToR ist ein Rack-Switch, an den Maschinen angeschlossen sind.
Leaf ist die Rolle eines GerÀts im physischen Netzwerk oder ein Switch der ersten Ebene in Bezug auf die Klosetopo.
Das heiĂt, Leaf != ToR.
So kann ein Leaf beispielsweise ein EndofRaw-Switch sein.
Im Rahmen dieses Artikels werden wir sie allerdings dennoch als Synonyme betrachten.
Jeder ToR-Switch ist wiederum mit vier ĂŒbergeordneten Aggregations-Switches verbunden â Spine. FĂŒr die Spine sind reservierte Racks im DC vorgesehen. Benennen werden wir Ă€hnlich: XXX-spineY.
In diesem Rack wird auch die Netzwerkhardware fĂŒr die KonnektivitĂ€t zwischen den DCs stehen â 2 Router mit MPLS an Bord. Aber im Grunde sind das die gleichen ToRs. Das heiĂt, aus der Sicht der Spine-Switches macht es keinen Unterschied, ob es sich um einen normalen ToR mit angeschlossenen Maschinen oder um einen Router fĂŒr DCI handelt â es spielt keine Rolle, was weitergeleitet wird.
Solche speziellen ToRs werden Edge-leafgenannt. Wir werden sie benennen XXX-edgeY.
So wird es aussehen.

In der obigen Abbildung habe ich edge und leaf tatsĂ€chlich auf einer Ebene platziert. haben uns daran gewöhnt, den Uplink (daher auch der Begriff) als die Links nach oben zu betrachten. Hier scheint der 'Uplink' DCI jedoch nach unten zu gehen, was die gewohnte Logik fĂŒr einige etwas bricht. Bei groĂen Netzwerken, bei denen die Rechenzentren weiter in kleinere Einheiten aufgeteilt werden â PODâs (Point Of Delivery), werden separate Edge-PODâs fĂŒr DCI und den Zugang zu externen Netzwerken ĐČŃĐŽĐ”Đ»Đ”ĐœŃ.
Um die Wahrnehmung zu vereinfachen, werde ich dennoch Edge ĂŒber Spine zeichnen, wobei wir im Hinterkopf behalten werden, dass es auf den Spine keinen Intellekt gibt und keine Unterschiede bei der Arbeit mit normalen Leaf und Edge-leaf (obwohl es hier Nuancen geben kann, aber insgesamt ist es so).

Schema der Fabrik mit Edge-leafs.
Die Dreifaltigkeit Leaf, Spine und Edge bildet ein Underlay-Netzwerk oder Fabrik.
Die Aufgabe der Netzwerkfabrik (aka Underlay), wie wir bereits festgestellt haben, ist sehr einfach â die IP-KonnektivitĂ€t zwischen Maschinen sowohl innerhalb eines DCs als auch dazwischen sicherzustellen. Deshalb wird das Netzwerk auch als Fabrik bezeichnet, Ă€hnlich wie die Vermittlungsfabrik innerhalb modularer Netzwerkboxen, ĂŒber die man ausfĂŒhrlicher in
SDM14 .
Eine solche Topologie wird im Allgemeinen als Fabrik bezeichnet, weil 'fabric' auf Deutsch 'Gewebe' bedeutet. Und da kann man kaum widersprechen:
Die Fabrik ist vollstĂ€ndig L3. Keine VLANs, keine Broadcasts â so bemerkenswerte Programmierer haben wir im LAN_DC, die Anwendungen schreiben können, die in der L3-Paradigme leben, wĂ€hrend virtuelle Maschinen keine Live-Migration mit IP-Adresse benötigen.
Und noch einmal: Die Antwort auf die Frage, warum Fabrik und warum L3, ist in einer separaten .
DCI â Data Center Interconnect (Inter-DC)
DCI wird mit Hilfe von Edge-Leaf organisiert, das heiĂt, sie sind unser Ausgangspunkt zur Hauptleitung.
Zur Vereinfachung nehmen wir an, dass die DCs durch direkte Links verbunden sind.
Wir lassen die externe KonnektivitĂ€t auĂer Betracht.
Mir ist bewusst, dass ich jedes Mal, wenn ich ein Element entferne, das Netzwerk erheblich vereinfache. Bei der Automatisierung unseres abstrakten Netzwerks wird alles gut laufen, aber im realen wird es Bastellösungen geben.
Das ist so. Und dennoch besteht die Aufgabe dieser Reihe darin, nachdenkend und an AnsÀtzen zu arbeiten, und nicht heroisch erfundene Probleme zu lösen.
Auf den Edge-Leaves wird das Underlay in VPNs gelegt und ĂŒber das MPLS-Medium ĂŒbertragen (diese direkten Links).
So ergibt sich ein solches hochrangiges Schema.

Routing
FĂŒr die Routing innerhalb des DCs werden wir BGP verwenden.
Ăber das MPLS-Medium OSPF+LDP.
FĂŒr DCI, also zur Organisation der KonnektivitĂ€t im Underlay â BGP L3VPN ĂŒber MPLS.

Allgemeines Routing-Schema
In der Fabrik gibt es kein OSPF und kein ISIS (ein in der Russischen Föderation verbotener Routing-Protokoll).
Das bedeutet, dass es keine automatisierte Entdeckung und Berechnung der kĂŒrzesten Pfade geben wird â nur manuelle (in Wirklichkeit automatisierte â wir sprechen hier ĂŒber Automatisierung) Konfiguration des Protokolls, der Nachbarschaften und Politiken.

BGP-Routing-Schema innerhalb des DCs
Warum BGP?
Zu diesem Thema gibt es von Facebook und Arista, wo beschrieben wird, wie man sehr groĂe Rechenzentrumsnetzwerke unter Verwendung von BGP aufbaut. Es liest sich fast wie ein Roman, ich empfehle es sehr fĂŒr einen gemĂŒtlichen Abend.
AuĂerdem gibt es ein ganzes Kapitel in meinem Artikel darĂŒber. Worauf ich Sie auch .
Aber kurz gesagt, keine IGPs sind fĂŒr groĂe Rechenzentrumsnetze geeignet, wo es sich um tausende NetzwerkgerĂ€te handelt.
DarĂŒber hinaus wird die Verwendung von BGP ĂŒberall die Notwendigkeit verringern, mehrere verschiedene Protokolle zu unterstĂŒtzen und zwischen ihnen zu synchronisieren.
Hand aufs Herz, in unserer Fabrik, die mit hoher Wahrscheinlichkeit nicht schnell wachsen wird, wĂ€re es fĂŒr uns ausreichend, OSPF zu verwenden. Das sind tatsĂ€chlich die Probleme von Megaskalierern und Cloud-Titanen. Lassen Sie uns nur fĂŒr einige Ausgaben fantasieren, dass wir das brauchen, und BGP verwenden, wie es Peter Lapukhov hinterlassen hat.
Routing-Politiken
Auf den Leaf-Switches importieren wir die PrÀfixe von den Underlay-Interfaces mit den Netzwerken in BGP.
Wir werden eine BGP-Sitzung zwischen jeder Leaf-Spine-Paar haben, in dem diese Underlay-PrĂ€fixe ĂŒber das Netzwerk an- und abgekĂŒndigt werden.

Innerhalb eines Rechenzentrums werden wir die Besonderheiten verbreiten, die wir auf den ToR importiert haben. Auf den Edge-Leaves werden wir sie aggregieren und in entfernte Rechenzentren ankĂŒndigen und zu den ToRs bringen. Das heiĂt, jeder ToR wird genau wissen, wie man zu einem anderen ToR in diesem Rechenzentrum gelangt und wo der Zugangspunkt ist, um zu einem ToR in einem anderen Rechenzentrum zu gelangen.
Im DCI werden die Routen als VPNv4 ĂŒbertragen. DafĂŒr wird das Edge-Leaf-Interface zur Fabrik in VRF platziert, nennen wir es UNDERLAY, und die Nachbarschaft zum Spine auf dem Edge-Leaf wird innerhalb des VRF etabliert, wĂ€hrend zwischen den Edge-Leaves im VPNv4-Familie kommuniziert wird.

AuĂerdem werden wir es verbieten, Routen, die von den Spines erhalten wurden, zurĂŒck auf sie zu reroutieren.

Auf Leaf und Spine werden wir keine Loopbacks importieren. Sie werden nur benötigt, um die Router-ID zu bestimmen.
Aber auf den Edge-Leaves importieren wir sie in das globale BGP. Zwischen den Loopback-Adressen werden die Edge-Leaves eine BGP-Sitzung in der IPv4 VPN-Familie untereinander aufbauen.
Zwischen den EDGE-GerÀten wird unser Backbone auf OSPF+LDP verteilt. Alles in einer Zone. Eine extrem einfache Konfiguration.
So sieht es mit dem Routing aus.
BGP ASN
Edge-Leaf ASN
Auf den Edge-Leaves wird es eine ASN in allen Rechenzentren geben. Dies ist wichtig, damit zwischen den Edge-Leaves iBGP besteht und wir nicht auf die Nuancen von eBGP stoĂen. Lassen Sie uns 65535 verwenden. In der RealitĂ€t könnte das eine Nummer eines öffentlichen AS sein.
Spine ASN
Auf Spine haben wir eine ASN pro Rechenzentrum. Wir beginnen hier mit der allerersten Nummer aus dem Bereich der privaten AS â 64512, 64513 und so weiter.
Warum ASN im Rechenzentrum?
Wir zerlegen diese Frage in zwei:
- Warum gleiche ASN auf allen Spines eines Rechenzentrums?
- Warum unterschiedliche in verschiedenen Rechenzentren?
Warum gleiche ASN auf allen Spines eines Rechenzentrums?
So wird der AS-Pfad der Underlay-Route auf dem Edge-Leaf aussehen:
[leafX_ASN, spine_ASN, edge_ASN]
Wenn versucht wird, ihn zurĂŒck auf das Spine anzukĂŒndigen, wird es ihn zurĂŒckweisen, da sein AS (Spine_AS) bereits auf der Liste steht.
Wir sind jedoch im Rechenzentrum vollkommen zufrieden damit, dass die Underlay-Routen, die bis zum Edge-Point hochgestiegen sind, nicht wieder nach unten gehen können. Alle Kommunikationen zwischen Hosts innerhalb des Rechenzentrums sollten innerhalb der Spine-Ebene stattfinden.

Die aggregierten Routen anderer Rechenzentren werden in jedem Fall ungehindert bis zu den ToR switchen â in ihrem AS-Path wird nur ASN 65535 stehen â die Nummer des AS der Edge-Leafs, da sie genau dafĂŒr erstellt wurden.
Warum unterschiedlich in verschiedenen Rechenzentren
Theoretisch könnte es nötig sein, Loopbacks zwischen irgendwelchen Dienst-Virtual-Machines zwischen den Rechenzentren zu ziehen.
Zum Beispiel wird auf dem Host ein Route Reflector oder (Virtual Network Gateway), das sich ĂŒber BGP mit dem ToR verbindet und sein Loopback ankĂŒndigt, welches aus allen Rechenzentren erreichbar sein sollte.
So wĂŒrde sein AS-Path aussehen:
[VNF_ASN, leafX_DC1_ASN, spine_DC1_ASN, edge_ASN, spine_DC2_ASN, leafY_DC2_ASN]
Und hier darf es keine wiederholenden ASNs geben.

Das bedeutet, dass Spine_DC1 und Spine_DC2 unterschiedlich sein mĂŒssen, ebenso wie leafX_DC1 und leafY_DC2, was wir genau anstreben.
Wie Sie wahrscheinlich wissen, gibt es Hacks, die es ermöglichen, Routen mit wiederholenden ASNs trotz des Mechanismus zur Verhinderung von Schleifen zu akzeptieren (allowas-in auf Cisco). Und das hat sogar durchaus legitime Anwendungen. Aber es ist eine potenzielle LĂŒcke in der NetzwerkintegritĂ€t. Ich persönlich bin schon ein paar Mal darauf gestoĂen.
Wenn wir die Möglichkeit haben, gefÀhrliche Dinge zu vermeiden, werden wir das tun.
Leaf ASN
Wir werden fĂŒr jeden Leaf-Switch innerhalb des gesamten Netzwerks eine individuelle ASN haben.
Wir machen das aus den oben genannten GrĂŒnden: AS-Path ohne Schleifen, BGP-Konfiguration ohne HintertĂŒren.
Damit die Routen zwischen den Leaf-Switches ungehindert flieĂen, muss der AS-Path folgendermaĂen aussehen:
[leafX_ASN, spine_ASN, leafY_ASN]
wobei leafX_ASN und leafY_ASN voneinander klar unterschieden sein sollten.
Das ist auch fĂŒr die Situation mit der AnkĂŒndigung des VNF-Loopbacks zwischen den Rechenzentren erforderlich:
[VNF_ASN, leafX_DC1_ASN, spine_DC1_ASN, edge_ASN, spine_DC2_ASN, leafY_DC2_ASN]
Wir werden eine 4-Byte-ASN verwenden und sie basierend auf der ASN des Spines und der Nummer des Leaf-Switches generieren, und zwar so: Spine_ASN.0000X.
So sieht das Bild mit ASN aus.

IP-Plan
GrundsĂ€tzlich mĂŒssen wir Adressen fĂŒr die folgenden AnschlĂŒsse reservieren:
- Die Adressen des Underlay-Netzes zwischen ToR und Maschine. Sie sollten innerhalb des gesamten Netzwerks einzigartig sein, damit jede Maschine mit jeder anderen kommunizieren kann. Besonders geeignet 10/8. FĂŒr jedes Rack ein /26 mit Puffer. Wir werden jeweils /19 fĂŒr das Rechenzentrum und /17 fĂŒr die Region reservieren.
- Die Verbindungsadressen zwischen Leaf/Tor und Spine.
Sie sollten algorithmisch zugewiesen werden, das heiĂt, sie werden aus den Namen der GerĂ€te berechnet, die angeschlossen werden mĂŒssen.
Lassen Sie uns⊠169.254.0.0/16.
NĂ€mlich 169.254.00X.Y/31X â Nummer Spine, Y â P2P-Netzwerk /31.
Dies ermöglicht den Betrieb von bis zu 128 Racks und bis zu 10 Spine in einem Rechenzentrum. Die Verbindungsadressen können (und werden) zwischen Rechenzentren wiederverwendet. - Den Spine - Edge-Leaf organisieren wir in Subnetzen 169.254.10X.Y/31, wo ebenfalls X â Nummer Spine, Y â P2P-Netzwerk /31.
- Die Verbindungsadressen von Edge-Leaf zum MPLS-Kern. Hier ist die Situation etwas anders â der Verbindungspunkt aller Teile in einen groĂen Keks, deshalb können die gleichen Adressen nicht wiederverwendet werden â es muss das nĂ€chste freie Subnetz ausgewĂ€hlt werden. Daher nehmen wir als Grundlage 192.168.0.0/16 und werden freie Adressen daraus auswĂŒhlen.
- Loopback-Adressen. Wir geben ihnen den gesamten Bereich 172.16.0.0/12.
- Leaf â nach /25 im Rechenzentrum â die gleichen 128 Racks. Wir weisen nach /23 fĂŒr die Region zu.
- Spine â nach /28 im Rechenzentrum â bis zu 16 Spine. Wir weisen nach /26 fĂŒr die Region zu.
- Edge-Leaf â nach /29 im Rechenzentrum â bis zu 8 KĂ€sten. Wir weisen nach /27 fĂŒr die Region zu.
Wenn uns im Rechenzentrum die zugewiesenen Bereiche nicht ausreichen (was sie nicht tun werden â wir streben ja Hyper-Skalierung an), weisen wir einfach den nĂ€chsten Block zu.
So sieht die IP-Adressierung aus.

Loopback-Adressen:
PrÀfix
Rolle des GerÀts
Region
Rechenzentrum
172.16.0.0/23
edge
Â
Â
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
172.16.0.72/29
sia
172.16.2.0/23
spine
Â
Â
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
172.16.2.144/28
sia
172.16.8.0/21
leaf
Â
Â
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
172.16.12.128/25
sia
Underlay:
PrÀfix
Region
Rechenzentrum
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
10.1.32.0/19
sia
Labor
Zwei Anbieter. Ein Netzwerk. ADSMs.
Juniper + Arista. Ubuntu. Die gute alte Eva.
Die Anzahl der Ressourcen auf unserer virtuellen Maschine im Miran ist dennoch begrenzt, deshalb werden wir fĂŒr die Praxis ein so stark vereinfachtes Netzwerk verwenden.

Zwei Rechenzentren: Kasan und Barcelona.
- Je zwei Spines in jedem: Juniper und Arista.
- Je einen Tor (Leaf) in jedem â Juniper und Arista, mit einem angeschlossenen Host (wir nehmen dafĂŒr den leichten Cisco IOL).
- Je eine Edge-Leaf-Node (vorerst nur Juniper).
- Ein Cisco-Switch, um sie alle zu beherrschen.
- Neben den NetzwerkgerÀten wird eine Verwaltungsvirtualmaschine betrieben. Unter Ubuntu.
Sie hat Zugriff auf alle GerĂ€te, darauf werden IPAM/DCIM-Systeme, ein BĂŒndel von Python-Skripten, Ansible und alles andere, was wir benötigen könnten, laufen.
aller NetzwerkgerÀte, die wir versuchen zu automatisieren.
Fazit
Ist das so ĂŒblich? Unter jedem Artikel eine kurze Zusammenfassung machen?
Also haben wir gewĂ€hlt Clos-Netzwerk innerhalb des Rechenzentrums, da wir groĂen East-West-Traffic erwarten und ECMP wollen.
Das Netzwerk wurde in physikalisch (Underlay) und virtuell (Overlay) unterteilt. Dabei beginnt das Overlay beim Host â damit haben wir die Anforderungen an das Underlay vereinfacht.
Wir haben BGP als das Routing-Protokoll fĂŒr unterirdische Netzwerke aufgrund seiner Skalierbarkeit und FlexibilitĂ€t der Richtlinien gewĂ€hlt.
Wir werden separate Knoten fĂŒr die DCI-Organisation â Edge-Leaf â haben.
Auf der Backbone wird OSPF+LDP verwendet.
DCI wird auf Basis von MPLS L3VPN implementiert.
FĂŒr die P2P-Links werden die IP-Adressen algorithmisch basierend auf den GerĂ€tenamen berechnet.
Loopbacks werden je nach Rolle der GerÀte und ihrer Lage nacheinander zugewiesen.
Unterirdische PrĂ€fixe â nur auf Leaf-Switches nacheinander basierend auf ihrer Lage.
Angenommen, dass wir im Moment noch keine Hardware installiert haben.
Daher werden unsere nÀchsten Schritte sein, sie in den Systemen (IPAM, Inventar) zu erfassen, den Zugriff zu organisieren, die Konfiguration zu generieren und diese bereitzustellen.
Im nĂ€chsten Artikel werden wir uns mit Netbox â einem System zur Inventarisierung und Verwaltung des IP-Raums im Rechenzentrum â beschĂ€ftigen.
Danke
- Andrej Glazkov aka @glazgoo fĂŒr das Lektorat und die Korrekturen
- Alexander Klimenko aka @v00lk fĂŒr das Lektorat und die Korrekturen
- Artem Tschernobaj fĂŒr KDPW
Quelle: habr.com

