Denned - Fotolia

Per Netzwerkvalidierung zur Intent-basierten Architektur

Die Netzwerkvalidierung ist ein wichtiger erster Schritt für alle, die Intent-based Networking evaluieren. Doch erst bei genauer Kenntnis der Funktionsweise sind Sie erfolgreich.

Wenn Intent-based Networking (kurz: IBN) sich etablieren soll, müssen Netzwerkvalidierung und -automatisierung ein Bestandteil sein. IBN scheint tatsächlich der neueste große Trend beim Networking zu sein. Was müssen Sie also für den Einstieg wissen, und wie kann IBN Ihnen helfen?

Denken Sie einmal an folgende Situation: Sie sind für ein Netzwerk verantwortlich und suchen nach einem Weg, um automatisch zu überprüfen, ob es ordnungsgemäß funktioniert. Falls Ihr Netzwerk dem der meisten großen Unternehmen entspricht, setzen Sie immer noch auf ein Mehrschichten-Netzwerkdesign – bestehend aus Kern-, Verteilungs- und Zugriffsschicht. Zum Glück verlässt sich IBN nicht ausschließlich auf die Leaf-Spine-Technologie, obwohl Sie häufig auf Tools stoßen werden, die nur mit Leaf-Spine-Netzwerken zusammenarbeiten.

Sehen wir uns IBN einmal anhand zweier kleinerer Zielsetzungen an. Das erste Ziel besteht darin, festzustellen, was das Netzwerk machen soll – die Absicht (Intent). Das zweite besteht darin, festzustellen, ob die effektiv vorhandene Funktionalität der gewünschten Funktionalität entspricht – die Netzwerkvalidierung.

Netzwerk-Intent bestimmen

Bei NetCraftsmen führen wir eine Vielzahl von Netzwerk-Assessments durch. Der Kunde verfügt meist kaum über eine detaillierte Dokumentation des Netzwerkdesigns. Und selbst wenn, erinnere ich mich an keine Dokumentation in einer Form, die man nutzen könnte, um den Netzwerk-Intent automatisch zu prüfen. Dennoch gibt es etliche Informationsquellen, mit denen sich der Intent des Netzwerks bestimmen lässt.

  • Intent anhand des ursprünglichen Netzwerkdesigns. Das Design sollte grundlegende Dinge spezifizieren, unter anderem:
    - physische Verbindungen
    - Layer-2-Broadcast-Domänen wie Spanning-Tree-Domänen
    - Hub-and-Spoke-Topologie
    - Routing-Summarization-Domänen
    - Redundanz
    - Sicherheitsbegrenzungen
    - Diagnose-TAPs, etwa Zugriffspunkte für Packet Broker TAPs und Troubleshooting-Tools
    - gewünschte und nicht zugelassene Business-Konnektivität.
  • Intent anhand der Netzwerkkonfiguration. Die anfänglichen Designkriterien sind maßgeblich für die Netzwerkkonfiguration. Sie müssen davon ausgehen, dass es bei der Übertragung des Netzwerkdesigns in die Netzwerkkonfiguration zu Fehlern kommt. Sie werden überprüfen müssen, ob der implizite Intent der Konfiguration mit dem Design-Intent übereinstimmt.
  • Sicherheits-Intent – sowohl positive (zugelassene) Konnektivität als auch negative (verweigerte) Konnektivität. Sie sollten einplanen, Informationen über Paketkonnektivität und Routing-Konnektivität zu erfassen.
  • Business Intent. Bei diesem letzten Punkt geht es darum, ob bestimmte IT-Entitäten im Unternehmen miteinander kommunizieren können. Eine typische Kunden-Webanwendung erfordert, dass die Webschicht mit der Anwendungsschicht kommuniziert, die wiederum mit der Datenbankschicht kommunizieren muss. Sie würden aber nicht wollen, dass das Netzwerk für die Gebäudeanlagen auf irgendeinen Teil der Kunden-Webanwendung zugreifen darf.

Die Intent-Informationen sollten in einem Design-Repository gespeichert werden, üblicherweise einer Datenbank, wo sie vom Validierungssystem genutzt werden können. Diese zwei Open-Source-Tools bieten die grundlegende Funktionalität, die für Teile eines Intent-basierten Systems benötigt werden: Network Source of Truth und NetBox. Die NetBox-Dokumentation betont den Punkt bezüglich der Quelle für die Informationen:

NetBox will den gewünschten Zustand eines Netzwerks im Gegensatz zu dessen Betriebszustand darstellen. Von daher ist von einem automatischen Import des aktuellen Netzwerkstatus strikt abzuraten. Alle in NetBox erstellten Daten sollten zuerst von einem Menschen geprüft werden, um deren Integrität sicherzustellen. NetBox kann anschließend verwendet werden, um Monitoring- und Provisioning-Systeme mit zuverlässigen Daten zu versorgen.

Beachten Sie, dass das Netzwerk selbst nicht genutzt werden sollte, um den Intent zu bestimmen. Wenn wir zum Beispiel das Netzwerk untersuchen und herausfinden, dass Switch A, Gig0/1, verbunden ist mit Switch B, Gig0/48, können wir nicht feststellen, ob dies die Absicht war. Was, wenn Switch A, Gig01, mit Switch B, Gig0/49, verbunden werden sollte, aber die Verkabelung falsch installiert wurde?

Das Datenbankschema eines grundlegenden Systems, wie die oben erwähnten, wird erweitert werden müssen, um alle Intent-Quellen zu erfassen. Ich empfehle, mit Layer 1 bis Layer 3 des beabsichtigten Netzwerkdesigns zu beginnen, was die weiter oben genannten Systeme leisten können. Leider gibt es nur wenige automatisierte Möglichkeiten, um bei einem umfangreichen Netzwerk den ursprünglichen Design-Intent herauszufinden.

Die Intent-Informationen sollten in einem Design-Repository gespeichert werden, üblicherweise einer Datenbank, wo sie vom Validierungssystem genutzt werden können.

Sie werden zudem bemerken, dass einiges äußerst kompliziert wird, etwa wenn Geschäftsprozesse eine bestimmte Konnektivität verlangen, während Sicherheitsverfahren eine Trennung voraussetzen. Wenn Systeme so komplex werden, dass Sie nicht einfach erklären können, wie sie zusammenspielen sollten, ist eine Umgestaltung notwendig, damit die Komplexität aufgeteilt wird (siehe die Ausführungen von Russ White zur Komplexität von Netzwerken im Video am Ende dieses Artikels.)

Validierung des Netzwerks

Nachdem Sie die Daten zum Netzwerk-Intent besitzen, geht es darum, per Netzwerkvalidierung festzustellen, ob das Netzwerk wie beabsichtigt funktioniert.

Prüfen Sie zunächst die physische Konnektivität und arbeiten sich dann im Protokoll-Stack nach oben. Die folgenden Punkte stellen eine gute Reihenfolge dar. Für diese Aufgaben lassen sich Automatisierungsverfahren anwenden. Meiner Erfahrung nach sollten Systeme wie diese nur Fehler berichten dürfen. Ein zu umfangreicher Output erhöht nur den Workload. Die Meldungen über erfolgreiche Vorgänge zu unterdrücken, reduziert die Menge an generierten Daten und erleichtert es, Fehler zu priorisieren und zu behandeln.

  • Layer-1- und Layer-2-Konnektivität. Ist alles richtig verkabelt und in der korrekten Reihenfolge Virtuelles LAN - Subnetz - Virtual Routing and Forwarding? Hierbei handelt es sich um einfache Prüfungen der Schnittstellen und Nachbarschaftsbeziehungen. Denken Sie auch an Checks von EtherChannel und Hot Standby oder virtuellen Router-Protokollen.
  • Layer 3. Funktioniert das Routing ordnungsgemäß? Überprüfen Sie, ob die gewünschten Routen existieren sowie Routen, die nicht existieren sollten. Beispielsweise kann es in einem Netzwerk viele Router geben, die die Default-Route als Eintrag in der statischen Routing-Tabelle erzeugen, was nicht gut ist, im Gegensatz zu einem dynamischen Eintrag an einer Stub-Netzwerkgrenze, was gut ist. Equal Cost Multipath Routing (ECMP) sollte ebenfalls überprüft werden.
  • Layer 4 und höher. Active Path Testing und synthetische Transaktionen können genutzt werden, um die Business-Konnektivität zu validieren und um für Alerting zu sorgen, wenn die Transaktionszeiten nicht mit den Designkriterien in Einklang sind. Diese Checks können auch Alarme bei unerwünschter Konnektivität auslösen, die durch einfache Routing-Überprüfungen möglicherweise nicht erkennbar ist.

Die Netzwerkvalidierung lässt sich unter Zuhilfenahme mehrerer unterschiedlicher Mechanismen implementieren:

  • Manueller Vorgang. Das ist ganz offensichtlich kein besonders hilfreicher Mechanismus. Es ist zwar nützlich, den Prozess für die Validierung von komplexen Sachverhalten zu ermitteln, aber dann sollte der Prozess selbst in irgendeiner Weise automatisiert sein.
  • Netzwerk-Management-System (NMS). Viele Netzwerk-Management-Systeme erlauben die Konfiguration benutzerdefinierter Regeln, um Alarme zu generieren. Suchen Sie nach Möglichkeiten, um die Verwaltung von Layer-1- und Layer-2-Konnektivitätsprüfungen innerhalb des NMS zu automatisieren, gesteuert durch die Datenbank von Network Source of Truth.
  • Automatisierungsskripte. Python, Ansible, SaltStack und REST APIs sind allesamt Tools zur Automatisierung der Netzwerkvalidierung. Da sich diese Tools auch nutzen lassen, um den Change-Prozess zu automatisieren, ist es sinnvoll, sie auch für die Validierung einzusetzen.
  • Weitere Mechanismen? Es gibt neue Tools und Technologien, die Mechanismen auf höheren Schichten des Netzwerkvalidierungs-Stacks zur Verfügung stellen. Ein Beispiel dafür ist Veriflow. Die Software dieses Unternehmens enthält eine Sprache, die es ermöglicht, einfache Checks der Netzwerkbeziehungen zu erstellen.

Noch ein weiter Weg

In puncto Intent-based Networking und Netzwerkvalidierung befinden wir uns erst in der Early-Adopter-Phase. Fürs Erste handelt es sich lediglich um einfache Tools, die für ihre Nutzung einen Mehraufwand erfordern. Die gute Nachricht ist, dass dadurch die ersten Schritte möglich sind, um per Validierung zu sehen, ob Netzwerk-Intent und tatsächliche Netzwerkfunktionalität deckungsgleich sind. Es gibt neue Prozesse, die wir lernen müssen. Stellen Sie sich das Ganze als eine Reise vor, an deren Ende ein robusterer Betrieb unserer Netzwerke als Lohn für die Mühe winkt.

Folgen Sie SearchNetworking.de auch auf TwitterGoogle+Xing und Facebook

Nächste Schritte

Intent-based Networking unter der Lupe

Intent-driven Networking und die Bereitstellung von Netzwerkservices

Essential Guide: Einführung in Software-defined Networking

Artikel wurde zuletzt im Dezember 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Software Defined Networking (SDN)

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchDataCenter.de

SearchEnterpriseSoftware.de

Close