Network Analytics

Einführung

Mit dem Aufkommen der Segment-Routing (SR)-Technologie und der Entwicklung des «Jalapeño»-Datensammlungs-Frameworks von Cisco Systems ergeben sich viele Möglichkeiten für die Anwendungsentwicklung, die Netzingenieuren und Netzbetreibern Vorteile bieten. Durch die Nutzung der vom Framework zur Verfügung gestellten Netzwerkdaten kann eine Vielzahl von unterschiedlichen Funktionen und Anwendungsfällen implementiert werden. Der Anwendungsbereich dieser so genannten SR-Apps ist riesig und kann von einfachen Überwachungsfunktionen bis hin zu tiefgreifenden Analysen der Lastverteilung und Simulation von Netzveränderungen reichen.
Dieses Projekt konzentrierte sich auf die Entwicklung einer Anwendung im Bereich der Analyse, die Informationen über den allgemeinen Zustand des Netzes und die Sättigung der Verbindungen im Falle von Topologieänderungen liefert.

Technologien

Die Anwendung ist in einer monolithischen Architektur mit ASP.Net Core aufgebaut. Das Backend ist vollständig in C# geschrieben, während die clientseitige Anwendung mit JavaScript, HTML und Sass sowie vis.js als Graphvisualisierungsbibliothek implementiert ist. Die Client-Server-Kommunikation wird von der Web-Socket-Bibliothek SignalR verwaltet.

Features

Feature 1: Link Quality Assessment

1. Farbkodierung
Die Verbindungen werden auf der Grundlage ihrer Qualität für verschiedene Metriken (wie Verzögerung, Paketverlust usw.) farblich gekennzeichnet. Zum Beispiel:

  • Blau: Geringer Paketverlust
  • Orange: Mittlerer Paketverlust
  • Rot: Hoher Paketverlust

Die Bewertung der Verbindungen (Feststellung, wie viel Paketverlust als gering, mittel oder hoch einzustufen ist) erfolgt anhand von vordefinierten Schwellenwerten.

2. Link-Dicke
Die Wichtigkeit eines Links wird durch seine Dicke angezeigt. Je dicker der Link ist, desto wichtiger ist er. Eine Verbindung gilt als wichtiger als eine andere, wenn sie von einer größeren Anzahl kürzester Pfade genutzt wird.

Feature 2: Link Saturation Prediction

Die Funktion Link Saturation Prediction ermöglicht es dem Benutzer, Änderungen an der Topologie zu simulieren, z. B:

  • Entfernen/Hinzufügen von Links
  • Entfernen/Hinzufügen von Knoten
  • Anpassen der Eigenschaften von bestehenden Knoten und Verbindungen

Die Simulation eines solchen Ereignisses erfordert mehrere Schritte:

Schritt 1: Der Benutzer erhält eine Netzwerkkarte, die durch die Sättigung der Verbindungen farblich hervorgehoben ist (siehe Beispielbild).
Schritt 2: Der Benutzer nimmt über die WebUI eine Änderung an der Topologie vor (im Beispielbild wird ein Ausfall einer Verbindung simuliert).
Schritt 3: Die Anwendung berechnet alle kürzesten Pfade der gesamten Topologie neu, einschließlich möglicher Multipaths mit gleichen Kosten.
Schritt 4: Die Anwendung verteilt dann den Datenverkehr entlang dieser Pfade entsprechend der Segment Routing Traffic Matrix neu.
Schritt 5: Da die Anwendung nun weiß, wie viel Verkehr durch jede Verbindung in der aktualisierten Topologie fließt, gibt sie die neu hervorgehobene Netzkarte an den Benutzer zurück.

Leistung

Die Berechnung aller kürzesten Wege einer Topologie und die anschließende Umverteilung des Verkehrs sind sehr rechenintensive Vorgänge. In der Tat haben beide eine Zeitkomplexität von O(n2 × log(n)). Dies führt natürlich zu einer schnell ansteigenden Rechenzeit, je größer das Netz ist.

Dennoch konnten durch eine benutzerdefinierte Implementierung von Dijkstra und einen für die Geschwindigkeit optimierten Algorithmus zur Umverteilung des Verkehrs sehr beeindruckende Ergebnisse erzielt werden. Leistungstests auf einem Personal Computer für ein Netzwerk mit 1'000 Knoten zeigen, dass dies mit den gegebenen Parametern in weniger als zwei Sekunden möglich ist (siehe folgende Tabellen).

Parameters

ParameterWert
Hardwarei7 6700k 4x4GHz, 32GB RAM
Topologie1'000 Knoten, 3'000 Kanten

 

Ergebnisse

BerechnungAusführungszeit
Berechnung aller kürzesten Wege0.7 Sekunden
Umverteilung des Verkehrs1.0 Sekunden

 

Ergebnis


Die resultierende Anwendung kombiniert die Funktionen Link Quality Assessment und Link Saturation Prediction und bietet eine einzige Benutzeroberfläche für beide. Sie bietet eine visuelle Darstellung des Netzwerks mit allen Knoten (die nach Regionen geclustert werden können) und Links. Durch die Farbkodierung und die unterschiedliche Dicke der Links kann der Benutzer den Zustand des Netzes sehr schnell beurteilen. Mit Hilfe von Steuerungsschaltflächen kann der Benutzer interaktiv Änderungen an der Topologie vornehmen und deren Auswirkungen simulieren, z. B. einen Verbindungsausfall simulieren oder neue Verbindungen zeichnen.

Die Anwendung ist skalierbar für Netze, die aus bis zu tausend Routern bestehen.

Demonstration

Contributors