-
HINTERGRUND
-
Ein Weitverkehrsnetz (WAN) kann sich über mehrere Netzstandorte erstrecken (z. B. geografisch, logisch). Die Standorte des WAN sind miteinander verbunden, so dass Geräte an einem Standort auf Ressourcen an einem anderen Standort zugreifen können. In einigen Topologien sind viele Dienste und Ressourcen an Kernstandorten (z. B. Rechenzentren, Hauptsitz) installiert, und viele Zweigstellen (z. B. Regionalbüros, Einzelhandelsgeschäfte) verbinden Client-Geräte (z. B. Laptops, Smartphones, Geräte des Internets der Dinge) mit dem WAN. Diese Arten von Topologien werden häufig von Unternehmen beim Aufbau ihres Unternehmensnetzes verwendet.
-
Jeder Netzstandort hat sein eigenes lokales Netz (LAN), das mit den anderen LANs der anderen Standorte zum WAN verbunden ist. Netzwerkinfrastrukturen wie Switches und Router werden verwendet, um den Netzwerkverkehr durch die einzelnen LANs, durch das WAN als Ganzes und zwischen dem WAN und dem Internet weiterzuleiten. Das LAN eines jeden Netzstandortes ist über einen Gateway-Router mit dem größeren Netz (z. B. mit dem WAN oder dem Internet) verbunden. Zweigstellen-Gateways (BGs) verbinden Zweigstellen mit dem breiteren Netz, und Kopfstellen-Gateways (auch als virtuelle Internet-Gateways bezeichnet) verbinden Kernstandorte mit dem breiteren Netz.
-
Häufig werden WANs mit der SD-WAN-Technologie (Software Defined Wide Area Network) implementiert. SD-WAN entkoppelt (logisch oder physisch) die Steuerungsaspekte von Switching und Routing von der physischen Weiterleitung des Netzverkehrs. Bei einigen SD-WAN-Implementierungen steuert jedes Gateway (BGs und Head-End-Gateways) bestimmte Aspekte des Routings für sein jeweiliges LAN, aber ein Netzwerk-Orchestrator steuert das gesamte Switching und Routing über das WAN.
-
Einer der Nachteile beim Wechsel von privaten, verwalteten Verbindungen (z. B. MPLS) zu öffentlichen, nicht verwalteten Verbindungen (z. B. DSL, Mobilfunk, Breitband usw.) ist, dass die Leistung der öffentlichen Verbindungen nicht garantiert ist. Die manuelle Zuweisung der Anwendungsdatenströme durch einen Netzwerkadministrator zu den Verbindungen kann eine Zeit lang erfolgreich sein, führt aber häufig zu einer Verschlechterung der Netzwerkleistung und zu Ausfällen, wenn die vom Netzwerkadministrator getroffenen Annahmen nicht zutreffen. Ein einfaches Beispiel: Ein Zweigstellennetz, das vom Administrator so konfiguriert wurde, dass der Datenverkehr von Videokonferenzen über einen bestimmten Uplink geleitet wird, kann unter normalen Betriebsbedingungen (relativ geringe Anzahl von Videokonferenzströmen, die gleichzeitig aktiv sind) ordnungsgemäß funktionieren. Die statische Konfiguration funktioniert jedoch möglicherweise nicht gut, wenn die gesamte Zweigstelle an einer unternehmensweiten Telefonkonferenz teilnimmt, weil eine große Anzahl aktiver Videokonferenzströme den zugewiesenen Uplink überlastet. Der Netzwerkadministrator kann Service Level Agreements (SLAs), d. h. Anforderungen an den Netzwerkzustand und Bandbreitenschwellenwerte für die Übertragung von Daten im Zusammenhang mit bestimmten Anwendungen, einrichten.
-
Die dynamische Pfadauswahl (DPS) führt Anpassungsfähigkeit in die Routing-Entscheidung ein. Anstatt vom Netzverwalter zu verlangen, dass er alle unterschiedlichen Bedingungen des Netzverkehrs vorhersehen muss, kann er die SLAs für die Anwendungen konfigurieren. Anstatt jedoch lediglich eine Warnung auszusenden, wenn das SLA verletzt wird, kann das Netz (in der Regel über einen Netzwerk-Orchestrator oder ein Zweigstellen-Gateway) den Datenverkehr so umorganisieren, dass eine drohende oder eingetretene SLA-Verletzung ausgeglichen oder anderweitig behoben wird.
-
Figurenliste
-
Für ein umfassenderes Verständnis der vorliegenden Offenbarung können Beispiele in Übereinstimmung mit den verschiedenen hierin beschriebenen Merkmalen durch Bezugnahme auf die folgende detaillierte Beschreibung in Verbindung mit den beigefügten Zeichnungen besser verstanden werden, in denen gleiche Bezugsziffern gleiche Strukturelemente bezeichnen und in denen:
- 1 zeigt ein Beispiel für ein softwaredefiniertes Weitverkehrsnetz;
- 2 ist ein Datenflussdiagramm, das den Betrieb eines beispielhaften softwaredefinierten Weitverkehrsnetzes veranschaulicht;
- 3 ist ein Flussdiagramm, das ein Beispiel für ein Verfahren zur Konfiguration eines softwaredefinierten Weitverkehrsnetzes zeigt;
- 4 zeigt ein Beispiel für ein Netzinfrastrukturgerät;
- 5 zeigt ein Beispiel für einen Netzwerk-Orchestrator;
-
Bestimmte Beispiele weisen Merkmale auf, die zusätzlich zu den in den oben genannten Figuren dargestellten Merkmalen oder anstelle von ihnen vorhanden sind. Bestimmte Beschriftungen können aus Gründen der Übersichtlichkeit in bestimmten Figuren weggelassen werden.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Obwohl die dynamische Pfadauswahl (Dynamic Path Selection, DPS) die Anpassungsfähigkeit der Verbindungen zwischen einem lokalen Netzwerk (LAN) und einem breiteren Wide Area Network (WAN) erhöht und gleichzeitig den Aufwand für den Netzwerkadministrator reduziert, ist auf der „Nachfrageseite“ der Bandbreitengleichung immer noch ein erheblicher manueller Konfigurationsaufwand für den Administrator erforderlich. In einer DPS-Lösung werden Service Level Agreements (SLAs) manuell pro Anwendung konfiguriert und dann statisch als DPS-Richtlinien konfiguriert und angewendet, sobald eine Datenverbindung für die betreffende Anwendung hergestellt wird. Infolgedessen kann die Uplink-Bandbreite nicht ausreichend genutzt werden, und der Netzwerkadministrator muss weiterhin eingreifen, um das Netzwerk zu optimieren.
-
Obwohl der Zustand des Netzes im Laufe der Zeit variiert, gibt es oft Muster im Verhalten des Netzes, die mit Trends im Netzzustand korrelieren. Einige dieser Muster können relativ einfach sein (z. B. ist die Bandbreitennutzung in einer kalifornischen Zweigstelle während der Geschäftszeiten in Kalifornien höher), aber oft sind die Muster komplexer, und die Überlagerung mehrerer Muster macht es für einen Netzwerkadministrator schwierig, wenn nicht gar unmöglich, die Gesundheitstrends eines Netzwerks zu verstehen, insbesondere in einem großen Unternehmensnetzwerk. Herkömmliche Lösungen wie die regelbasierte Neukonfiguration des Netzes sind nur begrenzt in der Lage, komplizierte Netz- und Anwendungsverkehrsmuster zu erfassen, auf unerwartete Änderungen im Netz zu reagieren und sind für die Netzadministratoren sehr aufwändig, vor allem in großem Maßstab.
-
Im Folgenden wird eine beispielhafte Implementierung der in dieser Offenbarung beschriebenen Erfindung beschrieben. Um komplizierte Netzwerk- und Anwendungsmuster besser zu erfassen, sammelt ein maschinelles Lernmodell auf einem Netzwerk-Orchestrator relevante Netzwerkbetriebsdaten von einem Zweigstellen-Gateway und generiert aktualisierte DPS-Konfigurationsinformationen, einschließlich DPS-Richtlinien, die so ausgelegt sind, dass sie den erwarteten Anwendungsverkehr berücksichtigen (basierend auf vorhergesagten SLAs und dem erwarteten Netzwerkzustand und der verfügbaren Bandbreite der Uplinks des Zweigstellen-Gateways). DPS-Richtlinien enthalten Informationen, die von Netzwerkinfrastrukturgeräten verwendet werden, um Datenströme zu identifizieren und über eine geeignete WAN-Route zu leiten. Das Modell für maschinelles Lernen kann zentral platziert werden und mehrere Zweigstellen-LANs über das WAN bedienen. Daher können die trainierten und aktualisierten Modelle für unterschiedlich konfigurierte Zweig-LANs voneinander abweichen. Beispielsweise kann eine Zweigstelle in Los Angeles eine SLA für den Datenverkehr von Microsoft Office 365 haben, die eine bestimmte maximale Latenz X und einen bestimmten maximalen JitterY definiert. Eine andere Zweigstelle in Rio De Janiero kann Schwierigkeiten haben, einen geeigneten Uplink oder eine Kombination von Uplinks zu identifizieren, wenn dieselbe statische SLA von X maximaler Latenz und Y maximalem Jitter auf die dortigen Office 365-Daten angewendet wird. Dies kann dazu führen, dass die betreffende DPS-Richtlinie die Office 365-Sitzungen unnötig „flapping“ (Umschalten zwischen Uplinks) macht, was die Erfahrung der Endbenutzer verschlechtert.
-
In diesem Beispiel werden die Netzbetriebsdaten von Rio De Janiero an einen zentralisierten Netzwerk-Orchestrator (z. B. einen Cloud-Netzwerk-Controller) gesendet, wo die Netzbetriebsdaten in das maschinelle Lernmodell eingegeben werden, dem das LAN von Rio De Janiero zugewiesen wurde. Das maschinelle Lernmodell sagt in regelmäßigen Abständen Anwendungs-SLAs für Rio De Janiero voraus, generiert DPS-Richtlinien, die den vorhergesagten SLAs entsprechen, und überträgt diese DPS-Richtlinien als Teil einer DPS-Konfiguration an einen Controller (z. B. ein Zweigstellen-Gateway) am Standort Rio. Beispielsweise kann das maschinelle Lernmodell Netzwerkbetriebsdaten von Rio erhalten, die darauf hinweisen, dass die aktuelle SLA für Office 365-Anwendungen die meiste Zeit nicht eingehalten wird. Das neue vorhergesagte SLA für Office 365-Anwendungen kann sich von X maximaler Latenz und Y maximalem Jitter zu X+Z maximaler Latenz und Y+Z maximalem Jitter ändern, was mit größerer Wahrscheinlichkeit von den Uplinks am Standort Rio erfüllt wird. Diese neue prognostizierte SLA wird verwendet, um eine DPS-Richtlinie für das Routing des Office 365-Datenverkehrs am Standort Rio zu erstellen, und die DPS-Richtlinie wird als Teil einer DPS-Konfigurationsaktualisierung an das Gateway der Zweigstelle in Rio übertragen. Sobald die DPS-Richtlinie vom Zweigstellen-Gateway in Rio implementiert ist, wird der Office 365-Datenverkehr gemäß der DPS-Richtlinie weitergeleitet.
-
Wie bereits erwähnt, müssen bei der Lösung eines WAN-Uplink-„Problems“ mehrere Variablen berücksichtigt werden. Die Anpassung von SLAs ist eine Möglichkeit zur Verbesserung der Routing-Leistung, aber die SLAs sind oft an reale Grenzen gebunden. Eine Streaming-Videoanwendung kann beispielsweise mit einer gewissen erhöhten Latenz funktionieren und sich an diese anpassen, aber ab einem bestimmten Punkt führt eine Erhöhung der Latenz zu einer spürbaren Verschlechterung der Erfahrung des Endbenutzers. Ebenso kann die Vorwärtsfehlerkorrektur eine bestimmte Anzahl von verlorenen Paketen wieder zusammensetzen, aber ab einer bestimmten Anzahl gehen die Daten verloren. Daher wird die Anpassung von SLAs häufig als eine Methode betrachtet, die bei größeren Netzwerkproblemen zum Einsatz kommt, während das Netzwerk auf andere Techniken zurückgreift, um Netzwerke mit weniger großen Problemen zu optimieren.
-
Eine weitere Technik, die in diesem Beispiel neben SLA-Aktualisierungen zum Einsatz kommt, ist die Bandbreitenreservierung. Anstatt manuell Regeln aufzustellen, die die Route, die jeder Fluss nimmt, unabhängig von den Uplink-Zustandsinformationen anpassen, wird jeder Uplink durch ein maschinelles Lernmodell und pro DPS-Richtlinie eingeteilt, je nachdem, wie gut das jeweilige Anwendungs-SLA erfüllt wird. In diesem Beispiel gibt es 5 Bereiche, A, B, C, D, E, die ein Spektrum von „erfüllt SLA durchgängig mit großem Abstand“ bis „erfüllt SLA durchgängig mit großem Abstand nicht“ bilden. Anhand dieser Informationen kann der Netzwerk-Orchestrator automatisch den besten Uplink oder die besten Uplinks auswählen, um die entsprechende DPS-Richtlinie zu aktualisieren und zu bevorzugen. Das Modell des maschinellen Lernens sagt auch die Menge der verfügbaren Bandbreite für jeden Uplink voraus und reserviert einen Teil der Bandbreite auf der Grundlage der einzelnen Anwendungstypen. Diese Bandbreitenreservierung wird bei der Erstellung der DPS-Richtlinien berücksichtigt und kann dazu führen, dass einige Anwendungen nicht über den „besten“ Uplink geroutet werden, gemessen am SLA-Bucket. Vielmehr wird die SLA-Bucketization mit der Bandbreitenverfügbarkeit jedes Uplinks abgeglichen, wenn bestimmt wird, welche Flows über welche Uplinks geroutet werden. In Fortsetzung des obigen Beispiels verfügt der Standort Rio De Janiero über drei Uplinks (Uplink 1, Uplink 2 und Uplink 3), und Uplink 1 befindet sich im Bucket B für Office 365-Datenverkehr, Uplink 2 im Bucket D für Office 365-Datenverkehr und Uplink 3 im Bucket E für Office 365-Datenverkehr. Unter der Annahme, dass es keine Probleme bei der Reservierung der erforderlichen Bandbreite gibt, stellt der Netzwerk-Orchestrator eine DPS-Richtlinie bereit, die bevorzugt, dass Office 365-Datenströme über Uplink 1 geleitet werden, um den Vorteil des Uplinks zu nutzen, der die SLA konsistent, aber knapp erfüllt. Bei weiteren Iterationen des Trainings des maschinellen Lernmodells unter Verwendung von Netzwerkbetriebsinformationen kann sich die Bucketization der Rio-Uplinks in Bezug auf den Office-365-Verkehr ändern, was zu einer Änderung der DPS-Richtlinie für Office-365-Verkehr für das Rio-Zweigstellen-Gateway führt. Es sollte klar sein, dass zusätzliche Iterationen dem maschinellen Lernmodell zusätzliche Daten liefern, die die Genauigkeit und Vorhersagefähigkeit des Modells verbessern können.
-
Zusammengenommen wirken die in diesem Beispiel verwendeten Techniken wie folgt. Über relativ kurze Zeiträume (z. B. 10-Minuten-Schritte) werden die Uplinks auf Basis der einzelnen Richtlinien in Buckets eingeteilt, und die DPS-Richtlinien werden angepasst, wenn dies sinnvoll ist. Wenn das Netzwerk über längere Zeiträume Schwierigkeiten hat, das SLA für eine Anwendung über alle Uplinks hinweg zu erfüllen (oder das SLA über alle Uplinks hinweg konstant mit einer großen Marge erfüllt), wird das SLA angepasst, um entweder die Anforderungen der Anwendung zu reduzieren (wenn das Netzwerk Schwierigkeiten hat, das SLA für die Anwendung zu erfüllen) oder den Puffer über die minimalen Anforderungen der Anwendung hinaus zu erhöhen (wenn das Netzwerk das SLA über alle Uplinks hinweg konstant mit einer großen Marge erfüllt).
-
Wie eine Person mit gewöhnlichen Kenntnissen auf dem Gebiet der Technik erkennen kann, könnten viele der Komponenten, Algorithmen, Schwellenwerte und Prozesse anders konfiguriert werden und dennoch ähnliche Vorteile gegenüber herkömmlichen WAN-Netzwerklösungen bieten. Eine nicht erschöpfende, nicht einschränkende Liste solcher voraussichtlicher Änderungen umfasst die Verwendung anderer Vorhersagealgorithmen als maschineller Lernmodelle, die Bereitstellung von Komponenten der Erfindung auf verschiedenen Geräten, auch in verteilter Form, die Anwendung der Erfindung auf LAN-, Rechenzentrums- oder andere Netzwerkbereiche und -segmente, die Änderung von Zeitplandauern, die Änderung von Schwellenwerten, die Änderung der Datenpunkte, die in das maschinelle Lernmodell eingegeben werden, die Ermöglichung einer manuellen Übersteuerung in Teilen oder im Ganzen, die Gruppierung und der Ausschluss von Uplinks von der Berücksichtigung durch das maschinelle Lernmodell, usw. Soweit sich die Beispiele in dieser Offenlegung auf eine bestimmte Konfiguration konzentrieren, sind diese Beispiele nicht als einschränkend zu verstehen, sondern dienen lediglich der besseren Klarheit und Lesbarkeit dieses Dokuments.
-
1 zeigt ein Beispiel für ein softwaredefiniertes Weitverkehrsnetz (SD-WAN). SD-WAN 100 umfasst ein Zweigstellen-Gateway (GW) 102, ein lokales Netzwerk (LAN) 104, ein Weitverkehrsnetz (WAN) 106, Client-Geräte 108a-c, WAN-Uplinks 110a-b, einen Netzwerk-Orchestrator 112 und ein maschinelles Lernmodell 114. SD-WAN 100 kann ein Unternehmensnetzwerk sein, z. B. ein Netzwerk, das von einem Unternehmen mit einem oder mehreren Standorten von Mitarbeitern betrieben wird. GW 102, LAN 104 und Client-Geräte 108a-c bilden zusammen einen Zweigstandort des SD-WAN 100. Der Begriff „Zweigstelle“ ist zwar nach einer Zweigstelle eines Unternehmens benannt, hat aber eine breitere Bedeutung, die LANs 104 umfasst, in denen in erster Linie Client-Geräte 108 und nicht Server und andere datenliefernde Geräte untergebracht sind.
-
SD-WAN 100 hat zwei WAN-Uplinks, Uplink 110a und Uplink 110b. Bei diesen Uplinks kann es sich um verschiedene Technologien handeln, z. B. digitale Teilnehmerleitungen (DSL), Glasfaser (FloS), Mobilfunk (3G, 4G, 5G usw.) oder jede andere geeignete Technologie. Obwohl in 1 zwei Uplinks dargestellt sind, ist eine beliebige Anzahl von Uplinks denkbar, und jeder Uplink 110 kann auch für eine Gruppe von Uplinks stehen, die gemeinsam behandelt werden. Jedes Client-Gerät 108a-c ist über das LAN 104 direkt oder indirekt mit dem GW 102 verbunden. LAN 104 kann so einfach sein wie ein Ethernet-Kabel, das jedes Client-Gerät 108a-c mit GW 102 verbindet, oder so kompliziert wie eine mehrschichtige Schalt- und Routing-Topologie. Die Client-Geräte 108a-c können mit im Netzwerk gehosteten Anwendungen interagieren, die über das WAN 106 gehostet werden. Die im Netzwerk gehosteten Anwendungen können in einem Datenzentrum in einem anderen Teil des WAN 106, in der Cloud oder auf einem öffentlichen Server im Internet gehostet werden. Wenn anwendungsbezogener Datenverkehr von einem Client-Gerät 108a, das für ein Gerät bestimmt ist, über das WAN 106 übertragen wird, klassifiziert GW 102 den Verkehr in einen Fluss. Beispielsweise kann Datenverkehr, der für einen Microsoft Word Online-Server bestimmt ist, in einen Office 365-Datenstrom klassifiziert werden. Der Datenfluss entspricht einer entsprechenden Richtlinie für die dynamische Pfadauswahl (DPS), die bewirkt, dass der Datenfluss über eine bestimmte, in der Richtlinie beschriebene Route weitergeleitet wird. Insbesondere wählt die Richtlinie einen bevorzugten Uplink 110 aus, über den der Datenverkehr weitergeleitet wird. DPS-Richtlinien können verschiedene Bereiche umfassen. In einigen Beispielen können DPS-Richtlinien für jede differenzierbare Anwendung definiert werden, die Daten über das Netz transportiert. In anderen Beispielen wird nur eine kleine Anzahl (5 oder weniger) von DPS-Richtlinien definiert, und die Anwendungen werden in breite Anwendungsklassen sortiert. Wie der Laie erkennen kann, kann der Umfang der DPS-Richtlinien Anwendungsklassen beliebiger Größe und Kombinationen aus einer beliebigen Anzahl von Anwendungsklassengrößen umfassen. Neben diesen automatisch generierten DPS-Richtlinien können auch manuell konfigurierte DPS-Richtlinien existieren. In einigen Beispielen umfassen die DPS-Richtlinien Bandbreitenschwellen, Latenzschwellen, Jitter-Schwellenwerte und eine Liste der in der jeweiligen Anwendungskategorie enthaltenen Anwendungen.
-
Bei der Initialisierung des Netzes (oder der Zweigstelle oder nach einem Reset von GW 102) erzeugt der Netzwerk-Orchestrator 112 eine DPS-Konfiguration für GW 102 und überträgt die DPS-Konfiguration an GW 102. Die zur Generierung der DPS-Konfiguration verwendeten Quellinformationen hängen davon ab, ob das Netz oder die Zweigstelle neu ist oder ob es historische oder aktuelle Betriebsinformationen über den Betrieb dieser Zweigstelle gibt.
-
Wenn keine historischen oder aktuellen Betriebsinformationen verfügbar sind, wird die DPS-Konfiguration auf der Grundlage von Initialisierungsdaten erstellt, die anfängliche DPS-Richtlinien für die Anwendungsklassen, anfängliche Planungsinformationen für die iterative Aktualisierung der DPS-Konfiguration und anfängliche Dienstgütevereinbarungen (SLAs) für die Anwendungsklassen enthalten können. Service Level Agreements (SLAs) sind Leistungsanforderungen an die Uplinks 110, um den mit der jeweiligen Anwendungsklasse verbundenen Datenverkehr durchleiten zu können. Wenn beispielsweise das Client-Gerät 108a an einer Videokonferenz teilnimmt, kann eine anfängliche SLA in Verbindung mit dem Anwendungsverkehr für die Videokonferenz eine maximale Latenz von 50 ms, einen maximalen Jitter von 15 ms und einen maximalen Paketverlust von 2 % erfordern.
-
Wenn historische oder aktuelle Betriebsinformationen verfügbar sind, wird die DPS-Konfiguration von einem maschinellen Lernmodell 114 generiert, das historische und aktuelle Betriebsinformationen als Eingabe verwendet und eine Vorhersage des Zustands pro Uplink, der verfügbaren Bandbreite pro Uplink und der SLAs pro Anwendung ausgibt, die zur Generierung der DPS-Konfiguration verwendet werden.
-
Während die Anwendungen ihren Datenverkehr über das WAN 106 abwickeln, sammelt GW 102 Netzwerkbetriebsinformationen über das Verhalten des Datenverkehrs für jede Anwendung, während dieser die WAN-Uplinks 110 passiert. In regelmäßigen Abständen (wie in der DPS-Konfiguration konfiguriert) überträgt GW 102 die gesammelten Netzwerkbetriebsinformationen an den Netzwerk-Orchestrator 112. Der Netzwerkorchestrator 112 kann auch zusätzliche Netzwerkbetriebsinformationen von anderen Zweigstellen-Gateways anderer Zweigstellen empfangen. In einigen Beispielen verfügt jede Zweigstelle über ein eindeutiges maschinelles Lernmodell 114, das der Zweigstelle zugeordnet ist. In einigen anderen Beispielen werden Zweigstellen auf der Grundlage ihrer Ähnlichkeit gruppiert, und ähnliche Zweigstellen teilen sich maschinelle Lernmodelle 114. In Beispielen, in denen der Netzwerk-Orchestrator 112 ein Cloud-Dienst ist, der von mehreren Mandanten gemeinsam genutzt wird, können die maschinellen Lernmodelle 114 je nach Vorliebe von den Mandanten gemeinsam genutzt werden oder nicht. Das maschinelle Lernmodell 114 erhält die Netzbetriebsinformationen als Eingabe und sagt Parameter voraus, die bei der Erstellung einer DPS-Konfiguration verwendet werden.
-
Die Informationen zum Netzwerkbetrieb können verschiedene Parameter zur Messung des Zustands der Uplink-Verbindung (z. B. Latenz, Jitter, Paketverlust usw.), der verfügbaren Bandbreite der Uplink-Verbindung, Antworten auf aktive Sonden, die von GW 102 über die WAN-Uplinks 110 gesendet werden, Informationen zum Anwendungsdatenverkehr, die von GW 102 passiv gesammelt werden, während er den Anwendungsdatenverkehr überträgt, SLA-Verletzungen, den geografischen Standort der Zweigstelle, den Internet-Service-Provider für jede Uplink-Verbindung und andere anwendbare Metriken umfassen.
-
Das maschinelle Lernmodell 114 wird durch Training mit den Informationen zum Netzbetrieb aktualisiert. Dann sagt das maschinelle Lernmodell 114 SLA-Profile pro Anwendung für die Zweigstelle voraus, prognostiziert den Zustand der Verbindung und die verfügbare Bandbreite pro Uplink für die Zweigstelle und erzeugt eine DPS-Konfiguration für die Zweigstelle. Die DPS-Konfiguration kann DPS-Richtlinien, SLAs, Sondenprofile für die aktiven Sonden über die WAN-Uplinks 110 und Zeitplanungskonfigurationen für die Erfassung und Übertragung der Netzwerkbetriebsinformationen enthalten. Der Netzwerk-Orchestrator 112 überträgt dann die DPS-Konfiguration an GW 102, der die DPS-Konfiguration an der Zweigstelle implementiert. In einigen Beispielen umfasst das maschinelle Lernmodell 114 ein oder mehrere Waldregressionsmodelle zur Vorhersage von Anwendungs-SLAs, zur Vorhersage der verfügbaren Bandbreite und/oder zur Erstellung von DPS-Konfigurationen. Wie eine Person mit normalen Fachkenntnissen erkennen kann, könnte das maschinelle Lernmodell 114 eine andere Art von Modell sein, wie es im jeweiligen Kontext angemessen ist. In einigen Beispielen empfängt GW 102 die DPS-Konfiguration und implementiert die Konfigurationen ohne Eingreifen des Netzwerkadministrators, einschließlich der Anwendung der DPS-Richtlinien der DPS-Konfiguration auf den Zweigstandort.
-
In bestimmten Beispielen überträgt der Netzwerk-Orchestrator 112 die DPS-Konfiguration auch an einen anderen GW in einem LAN, das dem LAN 104 ähnlich ist. Im Allgemeinen können in einigen Beispielen ähnliche Zweigstellen gruppiert werden und mit einer einzigen DPS-Konfiguration arbeiten, die von einem einzigen maschinellen Lernmodell 114 erzeugt wird.
-
Um genaue Ergebnisse zu erzielen, verarbeitet das maschinelle Lernmodell 114 bestimmte Netzbetriebsinformationen vor. In einigen Beispielen umfassen die Informationen, die als Eingaben in den Vorverarbeitungsalgorithmus (pro Anwendung und pro Uplink) verwendet werden, den Gesamtprozentsatz der Bandbreite, der von der DPS-Richtlinie verwendet wird, die mit der jeweiligen Anwendungsklasse verbunden ist, den Prozentsatz des verwendeten Underlay-Verkehrs, den Prozentsatz des verwendeten Overlay-Verkehrs, den Prozentsatz des verwendeten Overlay-Verkehrs pro Kopfstellen-Gateway, die Anzahl der Kopfstellen-Gateways, die WAN-Verbindungen für den Anwendungstyp abschließen, und den durchschnittlichen Prozentsatz der verfügbaren Gesamtbandbreite für den jeweiligen Uplink. Das maschinelle Lernmodell 114 klassifiziert dann jede DPS-Richtlinien-Uplink-Kombination auf der Grundlage, wie gut das SLA erfüllt wird. Beispielsweise kann das maschinelle Lernmodell 114 jede Richtlinie und jeden Uplink in eine von fünf Kategorien einteilen: A, B, C, D, E. Bereich A ist für Uplinks, die SLA durchweg mit einer großen Marge (z. B. +50 % und mehr) oder einer mittleren Marge (z. B. +10 % bis +50 %) erfüllen. Bucket B ist für Uplinks, die das SLA konstant mit einer kleinen Marge erfüllen (z. B. 0 % bis +10 %). Eimer C ist für Uplinks, die häufig über und unter SLA schwanken (z.B. mindestens 3x in den letzten 30 Minuten). Eimer D ist für Uplinks, die das SLA nicht durchgängig einhalten, aber mit einem geringen Abstand (z. B. -10 % bis 0 %). Behälter E ist für Uplinks, die die SLA nicht durchgängig erfüllen, mit einer mittleren Spanne (z. B. -50 % bis -10 %) oder einer großen Spanne (-50 % und darunter).
-
Wie bereits erwähnt, gibt es mehrere Techniken zur Anpassung des Netzes, wobei einige Techniken die Netzaktivitäten stärker beeinträchtigen als andere. Eine solche potenziell störende Technik ist die Änderung des SLA für eine Anwendung. So kann das maschinelle Lernmodell 114 die Klassifizierungsergebnisse für jede Anwendungsklasse mit einer Reihe von Schwellenwerten vergleichen, bevor es entscheidet, ob die SLA gegenüber den aktuellen Werten geändert werden soll. Die Schwellenwerte für die Änderung der SLA für eine Anwendungsklasse können beispielsweise so aussehen, dass die SLA geändert wird, wenn (1) alle Uplinks in den letzten 30 Minuten im Bereich E (für die Anwendungsklasse) liegen und die SLA-Schwellenwerte um 20 % erhöht werden (d. h. die Schwierigkeit, die SLA zu erfüllen, wird verringert); (2) alle Uplinks in den letzten 30 Minuten im Bereich D und/oder E liegen und die SLA um 10 % erhöht wird; (3) alle Uplinks in den letzten drei Stunden im Bereich A liegen und die SLA um 10 % verringert wird. Dieses Beispiel verdeutlicht eine Philosophie, mit der die Techniken zur Anpassung der DPS-Richtlinie und der SLA-Anpassung komplementär eingesetzt werden können. Innerhalb der SLA-Schwellenwerte (wenn die SLA nicht durch das maschinelle Lernmodell 114 geändert wird) werden die DPS-Richtlinien angepasst, um den Anwendungsverkehr effizient über die Uplinks zu leiten. Wenn die DPS-Richtlinienanpassung nicht in der Lage ist, den Verkehr für eine Anwendungsklasse über einen längeren Zeitraum effizient zu leiten, wird das SLA für diese Anwendungsklasse angepasst, um den Netzwerkbedingungen besser zu entsprechen.
-
2 ist ein Datenflussdiagramm, das den Betrieb eines beispielhaften softwaredefinierten Weitverkehrsnetzes veranschaulicht. Das Datenflussdiagramm veranschaulicht den Informationsfluss durch das Netzwerksystem. Die vertikalen Linien stellen das Client-Gerät 200, das Zweigstellen-Gateway (GW) 202, das WAN 204, den Orchestrator 206 und das Zweigstellen-Gateway (für einen ähnlichen Zweigstellenstandort) 208 dar. Die Zeit läuft von oben nach unten ab.
-
In Block 210a empfängt der Orchestrator 206 anfängliche Konfigurationsinformationen. Diese Konfigurationsinformationen können anfängliche SLAs für eine Reihe von Anwendungsklassen, Planungsinformationen für die regelmäßigen Aktualisierungen des maschinellen Lernmodells, Schwellenwertinformationen für die Techniken zur Optimierung des Netzes, Sondierungskonfigurationsinformationen für die aktiven Sonden der WAN-Uplinks usw. umfassen. In einigen Beispielen werden die anfänglichen Konfigurationsinformationen von einem Netzwerkadministrator eingegeben. In einigen anderen Beispielen werden Teile der Anfangskonfigurationsinformationen von einem Netzwerkadministrator eingegeben, und Teile der Anfangskonfigurationsinformationen sind im Netzwerk-Orchestrator 206 vorkonfiguriert.
-
In Block 210b trainiert der Orchestrator 206 ein maschinelles Lernmodell, das zum Teil auf den anfänglichen Konfigurationsinformationen basiert. In einigen Beispielen kann das maschinelle Lernmodell mit Informationen über die Anfangskonfiguration vorab trainiert werden, und dieses anfängliche Training ist nicht erforderlich. In einigen anderen Beispielen werden die anfänglichen Konfigurationsinformationen verwendet, um ein maschinelles Lernmodell zu trainieren und eine DPS-Konfiguration für die Zweigstelle einschließlich GW 202 zu generieren. In bestimmten Beispielen stellt der Orchestrator 206 fest, dass weitere Zweigstellen ähnlich wie die Zweigstelle mit GW 202 sind, z. B. die Zweigstelle mit GW 208. Das maschinelle Lernmodell kann ein beliebiger geeigneter Modelltyp sein, z. B. ein Waldregressionsmodell. Das maschinelle Lernmodell ist so konfiguriert, dass es DPS-Konfigurationen durch Vorhersage von Anwendungsklassen-SLAs, Uplink-Zustand und verfügbarer Uplink-Bandbreite erzeugt.
-
In Block 210c erzeugt der Orchestrator 206 eine DPS-Konfiguration aus der Ausgabe des maschinellen Lernmodells. In einigen Beispielen ist die Ausgabe des maschinellen Lernmodells eine DPS-Konfiguration, die an GW 202 übermittelt werden kann. In einigen anderen Beispielen muss die Ausgabe des maschinellen Lernmodells nachbearbeitet werden, um die DPS-Konfiguration zu erzeugen. Beispielsweise kann das maschinelle Lernmodell mehrere Werte ausgeben (z. B. SLAs für Anwendungsklassen, DPS-Richtlinien, Vorhersagen zur verfügbaren Bandbreite im Uplink usw.), und ein Nachbearbeitungsalgorithmus konsolidiert die Ausgaben zu einer DPS-Konfiguration.
-
In Block 210d wird die DPS-Konfiguration vom Orchestrator 206 an GW 202 und GW 208 übertragen. Jedes GW 202 und 208 setzt dann die DPS-Konfiguration um. In einigen Beispielen umfasst dies die Implementierung von DPS-Richtlinien, SLAs, Prüfkonfigurationen, Zeitplankonfigurationen usw. In bestimmten Beispielen sind einige Teile der DPS-Konfiguration im Vergleich zur aktuellen Konfiguration der GW 202 oder 208 unverändert, so dass dieser Teil der GW-Konfiguration nicht aktualisiert wird.
-
In Block 210e sendet und empfängt das Client-Gerät 200 Anwendungsverkehr, der für ein Gerät im WAN 204 bestimmt ist. Bei diesem Gerät kann es sich um einen Server eines Rechenzentrums, einen Internetserver, einen Cloud-Server oder ein anderes relevantes WAN-Ziel handeln. LAN-Routingregeln leiten den Anwendungsverkehr an GW 202 weiter, der die Anwendung identifiziert. In einigen Beispielen kann GW 202 einen Teil des Anwendungsverkehrs (z. B. ein Paket, eine Gruppe von Paketen/Frames) an ein separates Gerät zur Anwendungsidentifizierung weiterleiten. In bestimmten Beispielen leitet GW 202 den Anwendungsverkehr an den Orchestrator 206 weiter, der die Anwendung direkt oder durch Weiterleitung an ein anderes Gerät (z. B. ein Anwendungsidentifizierungsgerät, einen Anwendungsidentifizierungsdienst eines Dritten) identifiziert. Sobald die Anwendung identifiziert ist, wird der weitere Datenverkehr, der mit der betreffenden Netzsitzung verbunden ist, automatisch dem betreffenden Datenfluss zugeordnet und weitergeleitet, ohne dass eine zusätzliche Identifizierung erforderlich ist.
-
In Block 210f ordnet GW 202 den Anwendungsverkehr einem Fluss zu und wählt eine Route für den Anwendungsverkehr auf der Grundlage der entsprechenden DPS-Richtlinie aus. Die DPS-Richtlinie enthält einen Uplink aus der Gruppe der Uplinks, die GW 202 mit dem WAN 204 verbinden und über die der Anwendungsverkehr geleitet werden soll.
-
In Block 210g leitet GW 202 den Anwendungsverkehr über den in der entsprechenden DPS-Richtlinie enthaltenen Uplink an das WAN 204 weiter. Je nach dem spezifischen Ziel des Anwendungsverkehrs kann der nächste Sprung der Route ein Kopfstellen-Gateway eines anderen WAN-Standorts sein, oder der Anwendungsverkehr kann sich vom WAN „ablösen“ und direkt (d. h. ohne weitere WAN-Sprünge) über das Internet zu seinem Ziel geleitet werden.
-
In Block 210h liefert WAN 204 Netzbetriebsinformationen an die GWs 202 und 208, einschließlich Antworten auf aktive Sonden, die über Uplinks zwischen den jeweiligen GWs und WAN 204 an WAN 204 gesendet werden. In einigen Beispielen werden die Netzbetriebsinformationen an einem oder mehreren Kopfstellen-Gateways im WAN 204 erzeugt. Die Netzbetriebsinformationen umfassen Parameter, die den Zustand des Netzes anzeigen, darunter unter anderem Antwortinformationen von aktiven Uplink-Sonden, passive Anwendungsdatenverkehrsinformationen, Bandbreite pro Uplink, Betriebsparameter von Netzinfrastrukturgeräten, SLA-Verletzungen, geografischer Standort und Internetdienstanbieter pro Uplink.
-
In Block 210i aggregiert GW 202 Netzbetriebsinformationen, die mit dem Betrieb von GW 202 und zugehörigen Uplinks verbunden sind, einschließlich der Netzbetriebsinformationen von WAN 204 sowie der bei GW 202 gemessenen Netzbetriebsinformationen, und leitet die aggregierten Netzbetriebsinformationen an den Orchestrator 206 weiter. In ähnlicher Weise aggregiert GW 208 Netzbetriebsinformationen und leitet sie an den Orchestrator 206 weiter.
-
Da sich GW 202 und GW 208 in ähnlichen LANs befinden und das gleiche maschinelle Lernmodell verwenden, um ihre DPS-Konfigurationen zu generieren, verwendet der Orchestrator 206 in Block 210j die aggregierten Netzwerkbetriebsinformationen von GW 202 und die aggregierten Netzwerkbetriebsinformationen von GW 208, um das maschinelle Lernmodell zu aktualisieren. Das Aktualisieren des maschinellen Lernmodells kann das Trainieren des maschinellen Lernmodells unter Verwendung der aggregierten Netzwerkbetriebsinformationen beinhalten, um neue Vorhersagen zu generieren, wie zuvor beschrieben.
-
In Block 210k wird eine aktualisierte DPS-Konfiguration durch das aktualisierte maschinelle Lernmodell erzeugt. Je nach dem spezifischen Netzwerkzustand und anderen Faktoren kann die aktualisierte DPS-Konfiguration DPS-Richtlinien anpassen, um Anwendungen anders als zuvor zu leiten, SLAs anpassen, um die Bandbreitenreservierung für Anwendungen auf den Uplinks zu verringern oder zu erhöhen, die Konfiguration von Sonden oder die Planung von Updates ändern oder andere Änderungen an der DPS-Konfiguration vornehmen, um den Betrieb zu verbessern.
-
3 ist ein Flussdiagramm, das ein Beispiel für ein Verfahren zur Konfiguration eines softwaredefinierten Weitverkehrsnetzes zeigt. Das Verfahren 300 kann als Anweisungen auf einem computerlesbaren Medium implementiert werden, die von einem Verarbeitungsschaltkreis ausgeführt werden.
-
In Block 302 empfängt ein Netzwerkinfrastrukturgerät eines LANs innerhalb eines WANs eine anfängliche DPS-Konfiguration von einem Netzwerk-Orchestrator. In einigen Beispielen wird die anfängliche DPS-Konfiguration beim Netzwerk-Orchestrator vorkonfiguriert, da nur wenige Informationen über den Betrieb und die Topologie des LAN vorliegen. In einigen anderen Beispielen werden Informationen über den anfänglichen Netzwerkbetrieb und die Topologie aus dem LAN gesammelt und in ein maschinelles Lernmodell eingegeben, um die anfängliche DPS-Konfiguration zu generieren. In bestimmten Beispielen enthält die anfängliche DPS-Konfiguration einige anfängliche Konfigurationen, die von einem Netzwerkadministrator eingegeben werden. In bestimmten anderen Beispielen umfasst die DPS-Anfangskonfiguration einige vorkonfigurierte Anfangskonfigurationen, und es ist keine Konfiguration durch den Netzwerkadministrator erforderlich, um die DPS-Anfangskonfiguration zu erzeugen.
-
In Block 304 wird eine anfängliche DPS-Richtlinie auf dem Netzwerkinfrastrukturgerät für eine Klasse von Anwendungen auf der Grundlage der anfänglichen DPS-Konfiguration konfiguriert. In einigen Beispielen ist die anfängliche DPS-Richtlinie in der anfänglichen DPS-Konfiguration enthalten, und die anfängliche DPS-Richtlinie wird durch Kopieren der Richtlinie aus der anfänglichen DPS-Konfiguration in ein Richtlinien-Repository innerhalb der Netzwerkinfrastrukturvorrichtung konfiguriert. In einigen anderen Beispielen werden Informationen aus der anfänglichen DPS-Konfiguration (z. B. SLAs) mit Informationen aus dem Netzwerkinfrastrukturgerät (z. B. Netzwerktopologie) kombiniert, um die anfängliche DPS-Richtlinie zu konfigurieren.
-
In Block 306 werden die Sonden von der Netzinfrastruktureinrichtung über eine Vielzahl von Netzverbindungen (d. h. Uplinks) übertragen, die die Netzinfrastruktureinrichtung mit anderen Geräten im WAN verbinden. In einigen Beispielen erstrecken sich die Uplinks über das Internet zu anderen LANs des WAN in einer SD-WAN-Topologie. Die Sonden können das Underlay-Netzwerk (die physischen Verbindungen und Netzwerkgeräte des Netzwerks) durchqueren, das als Pfad für die Overlay-Route (die logische Verbindung zwischen dem Netzwerkinfrastrukturgerät, bei dem es sich um ein Zweigstellen-Gateway eines Zweigstellen-LANs handeln kann, und einem anderen Netzwerkinfrastrukturgerät, bei dem es sich um ein Kopfstellen-Gateway eines Kernstandort-LANs handeln kann) des Uplinks ausgewählt wurde, um den Zustand des Uplinks zu ermitteln. Die Bestimmung des Zustands der Uplink-Verbindung kann durch das Sammeln von Informationen und Metainformationen aus den Antworten auf die Sonden erfolgen. Zu den Parametern für den Zustand der Uplink-Verbindung können Jitter, Latenz und Paketverluste gehören, und zwar sowohl insgesamt für die gesamte Uplink-Verbindung als auch pro Anwendungsklasse.
-
In Block 308 wird der Netzwerkverkehr, der der Anwendungsklasse zugeordnet ist (d. h. der Anwendungsklassenfluss), von der Netzwerkinfrastruktureinrichtung über die zugehörige Aufwärtsverbindung geleitet, wie in der anfänglichen DPS-Richtlinie beschrieben. In einigen Beispielen wird eine Netzwerksitzung, die zur Übertragung des Netzwerkverkehrs verwendet wird, als mit der Anwendungsklasse assoziiert eingestuft, nachdem eine anfängliche Menge an Netzwerkverkehr inspiziert wurde, um festzustellen, mit welcher Anwendung er assoziiert ist. In einigen Beispielen kann die DPS-Konfiguration eine Liste von Anwendungen enthalten, die mit jeder Anwendungsklasse verbunden sind.
-
In Block 310 sammelt die Netzinfrastruktureinrichtung Netzbetriebsinformationen. Einige der Netzbetriebsinformationen können im Netzinfrastrukturgerät gemessen werden. Andere Netzbetriebsinformationen können von anderen Geräten empfangen werden, darunter andere Netzinfrastrukturgeräte des LAN, Client-Geräte des LAN, andere Netzinfrastrukturgeräte anderer LANs innerhalb des WAN und Netzinfrastrukturgeräte des Internet sowie Datenservergeräte des LAN, WAN oder Internet. Einige Netzbetriebsinformationen können anwendungsspezifisch sein, während andere Netzbetriebsinformationen sich auf den Zustand des Netzes als Ganzes beziehen.
-
In Block 312 werden die aggregierten Netzbetriebsinformationen vom Netzinfrastrukturgerät an den Netz-Orchestrator übertragen. Der Netzwerk-Orchestrator kann Netzwerkbetriebsinformationen von vielen LANs innerhalb des WANs und von LANs in verschiedenen WANs sammeln, die dem LAN ähnlich sind, in dem sich das in Verfahren 300 beschriebene Netzwerkinfrastrukturgerät befindet. In einigen Beispielen betreibt und verwaltet der Netzwerk-Orchestrator ein maschinelles Lernmodell, das von LANs mit ähnlicher Topologie und/oder ähnlichem Zustand gemeinsam genutzt wird. In einigen Beispielen werden die Netzwerkbetriebsinformationen verwendet, um das maschinelle Lernmodell regelmäßig zu trainieren.
-
In Block 314 wird eine aktualisierte DPS-Konfiguration vom Netzwerk-Orchestrator am Netzwerkinfrastrukturgerät empfangen. In einigen Beispielen empfängt der Netzwerk-Orchestrator die Netzwerkbetriebsinformationen vom Netzwerkinfrastrukturgerät und von Netzwerkinfrastrukturgeräten in ähnlichen LANs wie den in Verfahren 300 beschriebenen Netzwerkinfrastrukturgeräten und gibt die Netzwerkbetriebsinformationen in ein maschinelles Lernmodell ein. Das maschinelle Lernmodell sagt den Zustand der Uplink-Verbindung, die verfügbare Bandbreite der Uplink-Verbindung und die SLAs für Anwendungsklassen voraus und generiert die aktualisierte DPS-Konfiguration zum Teil auf der Grundlage dieser Vorhersagen. In einigen Beispielen verwendet das maschinelle Lernmodell Waldregressionsmodelle, um die SLAs, den Zustand des Uplinks und die verfügbare Bandbreite vorherzusagen.
-
In Block 316 wird eine aktualisierte DPS-Richtlinie für die Anwendungsklasse auf dem Netzwerkinfrastrukturgerät basierend auf der aktualisierten DPS-Konfiguration konfiguriert. In einigen Beispielen ist die aktualisierte DPS-Richtlinie in der aktualisierten DPS-Konfiguration enthalten, und die aktualisierte DPS-Richtlinie wird durch Kopieren der Richtlinie aus der aktualisierten DPS-Konfiguration in ein Richtlinien-Repository innerhalb des Netzwerkinfrastrukturgeräts konfiguriert. In einigen anderen Beispielen werden Informationen aus der aktualisierten DPS-Konfiguration (z. B. SLAs) mit Informationen aus dem Netzwerkinfrastrukturgerät (z. B. Netzwerktopologie) kombiniert, um die aktualisierte DPS-Richtlinie zu konfigurieren.
-
In Block 318 wird der Netzwerkverkehr, der der Anwendungsklasse zugeordnet ist (d. h. der Anwendungsklassenfluss), von der Netzwerkinfrastruktureinrichtung über einen zugeordneten Uplink geleitet, wie in der aktualisierten DPS-Richtlinie beschrieben. In einigen Beispielen wird eine Netzwerksitzung, die zur Übertragung des Netzwerkverkehrs verwendet wird, als mit der Anwendungsklasse assoziiert eingestuft, nachdem eine anfängliche Menge an Netzwerkverkehr inspiziert wurde, um festzustellen, mit welcher Anwendung er assoziiert ist. In einigen Beispielen kann die aktualisierte DPS-Konfiguration eine Liste von Anwendungen enthalten, die mit jeder Anwendungsklasse verbunden sind.
-
In einigen Beispielen umfasst das Verfahren 300 einen zusätzlichen Block, in dem jede Aufwärtsverbindung der Vielzahl von Netzwerkverbindungen beim Netzwerk-Orchestrator auf der Grundlage klassifiziert wird, wie konsistent die Verbindung die Anwendungs-SLAs für den Netzwerkverkehr erfüllt, der über die jeweilige Verbindung übertragen wird, sowie in welchem Umfang die Verbindung die Anwendungs-SLAs erfüllt.
-
In einigen Beispielen umfasst das Verfahren 300 einen zusätzlichen Block, in dem aktualisierte DPS-Richtlinien periodisch am Netzwerk-Orchestrator für das Netzwerkinfrastrukturgerät generiert werden, um die Anzahl der Netzwerkverbindungen zu reduzieren, die als nicht erfüllend oder nicht durchgängig erfüllend für ihre jeweiligen zugewiesenen Anwendungs-SLAs eingestuft werden.
-
In einigen Beispielen umfasst das Verfahren 300 einen zusätzlichen Block, in dem ein Anwendungs-SLA durch den Netzwerk-Orchestrator regelmäßig aktualisiert wird, wenn alle zugehörigen Uplinks als nicht dem aktuellen Anwendungs-SLA entsprechend eingestuft werden, und zwar für einen bestimmten Zeitraum. In einigen Beispielen wird dasAnwendungs-SLA auch regelmäßig aktualisiert, wenn alle zugehörigen Uplinks so eingestuft werden, dass sie das Anwendungs-SLA über einen bestimmten Zeitraum mit großem Abstand erfüllen.
-
4 zeigt ein Beispiel für eine Netzinfrastrukturvorrichtung. Die Netzinfrastruktureinrichtung 400 umfasst eine Verarbeitungsschaltung 402, WAN-Uplinks 404 und einen Speicher 406. Der Speicher 406 kann ein nichttransitorisches computerlesbares Medium sein, das Anweisungen 408 speichert, die bei Ausführung durch die Verarbeitungsschaltung 402 die Netzwerkinfrastrukturvorrichtung 400 veranlassen, bestimmte Aktionen durchzuführen. In einigen Beispielen ist das Netzwerkinfrastrukturgerät 400 ein Verzweigungsgateway.
-
Die Anweisungen 408a veranlassen das Gerät 400, erste DPS-Richtlinien zu konfigurieren. In einigen Beispielen werden die anfänglichen DPS-Richtlinien von einem Netzwerk-Orchestrator empfangen. Die anfänglichen DPS-Richtlinien sind jeweils einer bestimmten Anwendungsklasse aus einem Satz von Anwendungsklassen zugeordnet und weisen das Gerät 400 an, den Netzwerkverkehr der jeweiligen Anwendungsklasse über einen ausgewählten Uplink der WAN-Uplinks 404 zu leiten.
-
Die Anweisungen 408b veranlassen das Gerät 400, eine Vielzahl von Sonden über die WAN-Uplinks 404 zu senden und Antworten von Zielgeräten über die Links zu empfangen. Beispielsweise können die WAN-Uplinks 404 mit einem oder mehreren Kopfstellen-Gateways verschiedener LAN-Standorte gekoppelt sein, und die von den Kopfstellen-Gateways empfangenen Antworten können Informationen und Metainformationen enthalten, die zur Bestimmung des Zustands und der verfügbaren Bandbreite jedes Uplinks verwendet werden können.
-
Die Anweisungen 408c veranlassen das Gerät 400, Informationen über den Netzwerkbetrieb zu sammeln, einschließlich der Informationen, die aus den Antworten auf die mehreren Sonden gesammelt wurden, sowie Informationen, die vom Gerät 400 gemessen wurden, und Informationen, die von Geräten im LAN gesammelt wurden, das mit dem Gerät 400 verbunden ist. Diese aggregierten Netzwerkbetriebsinformationen umfassen viele Parameter, die von einem Netzwerk-Orchestrator verwendet werden können, um die Netzwerktopologie, den Zustand der Verbindung, die verfügbare Bandbreite und anwendungsklassenspezifische Netzwerkzustandsinformationen zu bestimmen. Das Gerät 400 kann die Netzwerkbetriebsinformationen auch an den Netzwerk-Orchestrator weiterleiten.
-
Die Anweisungen 408d veranlassen das Gerät 400, eine DPS-Konfiguration von einem Netzwerk-Orchestrator zu empfangen. In einigen Beispielen enthält die DPS-Konfiguration aktualisierte DPS-Richtlinien für die Anwendungsklassen. Zusätzliche aktualisierte Informationen können enthalten sein, z. B. aktualisierte Anwendungsklassen-SLAs, aktualisierte Sondierungskonfiguration, aktualisierte Uplink-Schwellenwerte und aktualisierte Planungskonfiguration.
-
Die Anweisungen 408e veranlassen das Gerät 400, seine DPS-Richtlinien auf der Grundlage der empfangenen DPS-Konfiguration zu aktualisieren. In einigen Beispielen können bestimmte DPS-Richtlinien für bestimmte Anwendungsklassen gleich bleiben, während andere DPS-Richtlinien für andere Anwendungsklassen geändert werden. Neben der Aktualisierung der DPS-Richtlinien kann das Gerät 400 auch andere Konfigurationen und Parameter auf der Grundlage der in der DPS-Konfiguration enthaltenen Informationen aktualisieren.
-
Zusätzliche Anweisungen 408f können das Gerät 400 veranlassen, andere Aktionen auszuführen, darunter viele, die zuvor in dieser Offenlegung beschrieben wurden. Beispielsweise kann das Gerät 400 den Anwendungsverkehr auf der Grundlage der ursprünglichen DPS-Richtlinien weiterleiten, den Anwendungsverkehr auf der Grundlage der aktualisierten DPS-Richtlinien weiterleiten und Informationen aus einer neuen Netzwerksitzung an ein Gerät übertragen, das den Anwendungstyp der Sitzung klassifiziert.
-
5 zeigt ein Beispiel für einen Netzwerk-Orchestrator. Der Netzwerk-Orchestrator 500 umfasst einen Verarbeitungsschaltkreis 502 und einen Speicher 504. Bei dem Speicher 504 kann es sich um ein nicht transitorisches, computerlesbares Medium handeln, das Anweisungen 506 speichert, die, wenn sie von der Verarbeitungsschaltung 502 ausgeführt werden, den Netzwerk-Orchestrator 500 veranlassen, bestimmte Aktionen durchzuführen. In einigen Beispielen ist der Netzwerk-Orchestrator 500 ein in der Cloud gehosteter Netzwerk-Controller.
-
Anweisungen 506a veranlassen den Orchestrator 500, eine anfängliche DPS-Konfiguration an ein Netzwerkinfrastrukturgerät eines LAN zu übertragen. In einigen Beispielen ist die anfängliche DPS-Konfiguration vorkonfiguriert. In einigen anderen Beispielen werden einige vorläufige Informationen von dem Netzwerkinfrastrukturgerät gesammelt und als Eingaben in ein maschinelles Lernmodell verwendet, um die anfängliche DPS-Konfiguration zu erzeugen. In bestimmten Beispielen konfiguriert ein Netzwerkadministrator Aspekte der DPS-Konfiguration manuell, in anderen Beispielen ist jedoch keine Aktion des Netzwerkadministrators erforderlich, um die DPS-Konfiguration zu erzeugen und zu übertragen.
-
Die Anweisungen 506b veranlassen den Orchestrator 500, Netzwerkbetriebsinformationen vom Netzwerkinfrastrukturgerät zu empfangen. Die Informationen zum Netzwerkbetrieb enthalten Parameter, die in das maschinelle Lernmodell eingegeben werden können, um Anwendungsklassen-SLAs, den Zustand der Aufwärtsstrecke und die verfügbare Bandbreite der Aufwärtsstrecke vorherzusagen. In einigen Beispielen werden Netzwerkbetriebsinformationen von mehreren Netzwerkinfrastrukturgeräten ähnlicher LANs alle in das maschinelle Lernmodell als Trainingsdaten eingegeben, um das maschinelle Lernmodell zu trainieren.
-
Die Anweisungen 506c veranlassen den Orchestrator 500, das maschinelle Lernmodell anhand der empfangenen Netzwerkbetriebsinformationen zu aktualisieren. Das Modell gibt dann eine DPS-Konfiguration aus, die auf jedem der Netzwerkinfrastrukturgeräte verwendet werden kann. In einigen Beispielen umfasst der Orchestrator 500 mehrere maschinelle Lernmodelle, die jeweils einem oder mehreren Netzwerkinfrastrukturgeräten zugeordnet und nach LAN-Ähnlichkeit gruppiert sind.
-
Die Anweisungen 506d veranlassen den Orchestrator 500, eine aktualisierte DPS-Konfiguration an das Netzwerkinfrastrukturgerät zu übertragen. Die aktualisierte DPS-Konfiguration kann aktualisierte DPS-Richtlinien für jede Anwendungsklasse, aktualisierte SLAs für jede Anwendungsklasse, aktualisierte Prüfkonfigurationen, aktualisierte Uplink-Schwellenwerte und aktualisierte Scheduler-Konfigurationen enthalten.
-
Zusätzliche Anweisungen 506e können den Orchestrator 500 veranlassen, andere Aktionen durchzuführen, darunter viele, die zuvor in dieser Offenlegung beschrieben wurden. So kann der Orchestrator 500 beispielsweise Informationen von einem Netzwerkinfrastrukturgerät empfangen, einschließlich Informationen über eine neue Netzwerksitzung, um den Anwendungstyp der Sitzung zu klassifizieren.
-
Flows sind Gruppen von Netzwerkverkehr in einem SDN-Netzwerk, die auf der Grundlage von flussspezifischen Regeln weitergeleitet werden. Ein Fluss kann beispielsweise den gesamten Netzwerkverkehr umfassen, der als mit Social-Media-Anwendungen in Verbindung stehend identifiziert wurde. Der gesamte Netzwerkverkehr, der als mit Social-Media-Anwendungen in Verbindung stehend identifiziert wird, kann im Vergleich zum Video- oder Audiostreaming geringen Anforderungen an die Dienstqualität unterliegen. Darüber hinaus kann der Netzwerkverkehr im Social-Media-Fluss einer zusätzlichen Sicherheitsprüfung (z. B. Firewall), rollenbasierten Beschränkungen (z. B. nur die Marketingabteilung hat Zugriff auf Social Media, während sie sich im Unternehmensnetzwerk befindet) oder anderen Routing-Einstellungen unterliegen.
-
Routen sind Pfade durch ein Netzwerk. Oft werden „Flows“ und „Routen“ fast als Synonyme verwendet. „Flows“ umfassen eine oder beide Klassifizierungen von Paketen in ein Flussmuster sowie den Pfad, den diese klassifizierten Pakete durch das SDN-Overlay-Netzwerk nehmen. „Routen“ beziehen sich in der Regel auf den Weg, den diese Pakete durch das physische Underlay-Netzwerk nehmen.
-
Zweigstellen-Gateways sind Netzinfrastrukturgeräte, die am Rande eines Zweigstellen-LANs platziert werden. Oft sind Zweigstellen-Gateways Router, die eine Schnittstelle zwischen dem LAN und einem breiteren Netz bilden, sei es direkt zu anderen LANs des WAN über dedizierte Netzwerkverbindungen (z. B. MPLS) oder zu den anderen LANs des WAN über das Internet durch Verbindungen, die von einem Internet Service Provider bereitgestellt werden. Viele Zweigstellen-Gateways können mehrere Uplinks zum WAN herstellen, sowohl zu mehreren anderen LAN-Standorten als auch redundante Uplinks zu einem einzigen anderen LAN-Standort. Zweigstellen-Gateways enthalten häufig auch Netzwerk-Controller für das Zweigstellen-LAN. In solchen Beispielen kann ein Zweigstellen-Gateway, das in einem SD-WAN verwendet wird, einen Netzwerk-Controller enthalten, der logisch von einem enthaltenen Router getrennt ist. Der Netzwerk-Controller kann die Infrastrukturgeräte des Zweig-LANs steuern und Routing-Befehle von einem Netzwerk-Orchestrator empfangen.
-
Kopfstellen-Gateways (manchmal auch als VPN-Konzentratoren bezeichnet) sind Netzinfrastrukturgeräte, die am Rande eines zentralen Standort-LANs platziert werden. Häufig handelt es sich bei Kopfstellen-Gateways um Router, die eine Schnittstelle zwischen dem LAN und einem breiteren Netz bilden, sei es direkt zu anderen LANs des WAN über dedizierte Netzverbindungen (z. B. MPLS) oder zu den anderen LANs des WAN über das Internet durch Verbindungen, die von einem Internet Service Provider bereitgestellt werden. Viele Kopfstellen-Gateways können mehrere Uplinks zum WAN herstellen, sowohl zu mehreren anderen LAN-Standorten als auch redundante Uplinks zu einem einzigen anderen LAN-Standort. Kopfstellen-Gateways enthalten häufig auch Netzwerk-Controller für das LAN des Kernstandorts. In solchen Beispielen kann ein Kopfstellen-Gateway, das in einem SD-WAN verwendet wird, einen Netzwerk-Controller enthalten, der logisch von einem enthaltenen Router getrennt ist. Der Netzwerk-Controller kann die Infrastrukturgeräte des Kern-LAN steuern und Routing-Befehle von einem Netzwerk-Orchestrator empfangen.
-
Ein Netzwerk-Orchestrator ist ein Dienst (z. B. Anweisungen, die in einem nicht flüchtigen, computerlesbaren Medium gespeichert sind und von einem Verarbeitungsschaltkreis ausgeführt werden), der auf einem Computergerät ausgeführt wird und das Switching und Routing über ein SD-WAN orchestriert. In einigen Beispielen wird der Netzwerk-Orchestrator auf einem Computergerät in einem Kern-LAN des SD-WAN ausgeführt. In einigen anderen Beispielen wird der Netzwerk-Orchestrator auf einem Cloud-Computing-Gerät ausgeführt. Der Netzwerk-Orchestrator kann dem SD-WAN als Dienst (aaS) zur Verfügung gestellt werden. Der Netzwerk-Orchestrator sammelt Netzwerkbetriebsinformationen von verschiedenen Netzwerkinfrastrukturgeräten des SD-WAN, einschließlich Informationen zur Netzwerkverkehrslast, zur Netzwerktopologie, zur Netzwerknutzung usw. Der Netzwerk-Orchestrator überträgt dann Befehle an verschiedene Netzwerkinfrastrukturgeräte des SD-WAN, um die Netzwerktopologie und das Netzwerk-Routing zu ändern, um verschiedene Ziele in Bezug auf Effizienz und Effektivität des Netzwerks zu erreichen.
-
Ein Netzwerkadministrator ist eine Person, ein Netzwerkdienst oder eine Kombination davon, die/der administrativen Zugriff auf Netzwerkinfrastrukturgeräte hat und Geräte so konfiguriert, dass sie einer Netzwerktopologie entsprechen.
-
Ein Client-Gerät ist ein Computergerät, das von einem Netznutzer betrieben wird oder auf das er Zugriff hat. Zu den Client-Geräten gehören Laptops/Desktop-Computer, Tablets/Telefone/PDAs, Server, Geräte des Internets der Dinge, Sensoren usw.
-
Ein virtuelles lokales Netzwerk (VLAN) ist eine logische Partition eines Teils eines WAN. Ein VLAN kann in einem bestimmten LAN des WANs enthalten sein oder sich über mehrere LANs des WANs erstrecken. VLANs sind in der Schicht 2 des OSl-Modells (der Datenverbindungsschicht) implementiert und verbessern neben anderen Vorteilen die Konfigurierbarkeit des Netzes, wenn die Größe des Netzes zunimmt. VLAN-fähige Infrastrukturgeräte können VLANs auf Port-Basis zuweisen oder bestimmte Datenrahmen mit Informationen versehen, die die Rahmen mit ihren jeweiligen VLANs verbinden. VLANs können verwendet werden, um verwandte Geräte zu gruppieren, die Last auf bestimmten Netzinfrastrukturgeräten auszugleichen, Sicherheits- und Routing-Richtlinien auf breiter Basis anzuwenden, Dienstqualität (QoS) zu implementieren usw.
-
Ein Netzinfrastrukturgerät ist ein Gerät, das Netzverkehr empfängt und den Netzverkehr an ein Ziel weiterleitet. Zu den Netzinfrastrukturgeräten können unter anderem Controller, Zugangspunkte, Switches, Router, Brücken und Gateways gehören. Bestimmte Netzwerkinfrastrukturgeräte können SDNfähig sein, d. h. sie können Netzwerkbefehle von einem Controller oder einem Orchestrator empfangen und den Betrieb auf der Grundlage der empfangenen Netzwerkbefehle anpassen. Einige Netzwerkinfrastrukturgeräte führen Paketdienste wie Anwendungsklassifizierung und Deep Packet Inspection für bestimmten Netzwerkverkehr aus, der am Netzwerkinfrastrukturgerät eingeht. Einige Netzinfrastrukturgeräte überwachen Lastparameter für verschiedene physische und logische Ressourcen des Netzinfrastrukturgeräts und melden Lastinformationen an einen Controller oder einen Orchestrator.
-
Verarbeitungsschaltungen sind Schaltungen, die Anweisungen und Daten empfangen und die Anweisungen ausführen. Zu den Verarbeitungsschaltungen können anwendungsspezifische integrierte Schaltungen (ASICs), feldprogrammierbare Gate-Arrays (FPGAs), Mikrocontroller (uCs), zentrale Verarbeitungseinheiten (CPUs), Grafikverarbeitungseinheiten (GPUs), Mikroprozessoren oder andere geeignete Schaltungen gehören, die Befehle und Daten empfangen und die Befehle ausführen können. Die Verarbeitungsschaltungen können einen Prozessor oder mehrere Prozessoren umfassen. Die Verarbeitungsschaltungen können Caches enthalten. Die Verarbeitungsschaltungen können mit anderen Komponenten eines Geräts verbunden sein, einschließlich Speicher, Netzwerkschnittstellen, Peripheriegeräten, unterstützenden Schaltungen, Datenbussen oder anderen geeigneten Komponenten. Die Prozessoren eines Verarbeitungsschaltkreises können über einen gemeinsamen Cache, eine Interprozessorkommunikation oder eine andere geeignete Technologie miteinander kommunizieren.
-
Ein Speicher ist ein oder mehrere nicht flüchtige, computerlesbare Medien, die Anweisungen und Daten speichern können. Der Speicher kann einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen Prozessor-Cache, ein Wechselmedium (z. B. CD-ROM, USB-Flash-Laufwerk), ein Speicherlaufwerk (z. B. Festplatte (HDD), Solid-State-Laufwerk (SSD)), einen Netzwerkspeicher (z. B. Network Attached Storage (NAS)) und/oder einen Cloud-Speicher umfassen. Sofern nicht anders angegeben, können sich in dieser Offenlegung alle Verweise auf Speicher und auf im Speicher gespeicherte Anweisungen und Daten auf Anweisungen und Daten beziehen, die in einem beliebigen nichttransitorischen computerlesbaren Medium gespeichert sind, das Anweisungen und Daten oder eine beliebige Kombination solcher nichttransitorischen computerlesbaren Medien speichern kann.
-
Ein softwaredefiniertes Netzwerk (SDN) ist ein Netzwerk, das ein physisches Netzwerk überlagert und es einem Gerät, z. B. einem Netzwerk-Orchestrator, ermöglicht, die Topologie des SDN-Overlay dynamisch zu konfigurieren, indem es Ströme zu bestimmten Routen durch das darunterliegende physische Netzwerk leitet. Die dynamische Konfiguration kann Änderungen an der Netzwerktopologie umfassen, die auf vielen Faktoren beruhen, darunter Netzwerkzustand und -leistung, Datentyp, Anwendungstyp, Dienstgütebeschränkungen (z. B. Service Level Agreements), Geräteauslastung, verfügbare Bandbreite, Geschäftskosten und andere Faktoren.
-
Ein softwaredefiniertes Weitverkehrsnetz (SD-WAN) ist ein SDN, das die Interaktion zwischen verschiedenen Standorten eines WAN steuert. Jeder Standort kann über ein oder mehrere LANs verfügen, die über WAN-Uplinks miteinander verbunden sind. Bei einigen WAN-Uplinks handelt es sich um Standleitungen (z. B. MPLS), bei anderen um gemeinsam genutzte Routen durch das Internet (z. B. DSL, T1, LTE, 5G, usw.). Ein SD-WAN konfiguriert die WAN-Uplinks und den Datenverkehr, der über die WAN-Uplinks läuft, dynamisch, um die Ressourcen der WAN-Uplinks effektiv zu nutzen.
-
Die Merkmale der vorliegenden Offenbarung können mit einer Vielzahl spezifischer Geräte implementiert werden, die eine Vielzahl unterschiedlicher Technologien und Merkmale enthalten. Beispielsweise können Merkmale, die Befehle enthalten, die von einer Verarbeitungsschaltung auszuführen sind, die Befehle in einem Cache der Verarbeitungsschaltung, in einem Speicher mit wahlfreiem Zugriff (RAM), in einer Festplatte, in einem Wechsellaufwerk (z. B. CD-ROM), in einem feldprogrammierbaren Gate-Array (FPGA), in einem Festwertspeicher (ROM) oder in einem anderen nicht transitorischen, computerlesbaren Medium speichern, wie es für das spezifische Gerät und die spezifische Beispielimplementierung angemessen ist. Wie für eine Person mit normalen Fachkenntnissen klar ist, werden die Merkmale der vorliegenden Offenbarung nicht durch die Technologie, ob bekannt oder noch unbekannt, und die Eigenschaften der spezifischen Geräte, auf denen die Merkmale implementiert sind, verändert. Jegliche Modifikationen oder Änderungen, die erforderlich wären, um die Merkmale der vorliegenden Offenbarung auf einem bestimmten Gerät oder in einem bestimmten Beispiel zu implementieren, wären für eine Person mit normalen Kenntnissen auf dem entsprechenden Gebiet offensichtlich.
-
Obwohl die vorliegende Offenbarung detailliert beschrieben wurde, können verschiedene Änderungen, Ersetzungen und Abwandlungen vorgenommen werden, ohne vom Geist und Umfang der Offenbarung abzuweichen. Jede Verwendung der Wörter „kann“ oder „kann“ in Bezug auf Merkmale der Offenbarung bedeutet, dass bestimmte Beispiele das Merkmal enthalten und bestimmte andere Beispiele das Merkmal nicht enthalten, wie es der Kontext erfordert. Die Verwendung der Wörter „oder“ und „und“ in Bezug auf Merkmale der Offenbarung bedeutet, dass die Beispiele eine beliebige Kombination der aufgeführten Merkmale enthalten können, wie es der Kontext erfordert.
-
Sätze und Klammern, die mit „z.B.“ oder „z.B.“ beginnen, dienen lediglich der Verdeutlichung von Beispielen. Es ist nicht beabsichtigt, die Offenbarung durch die in diesen Sätzen und Klammern genannten Beispiele zu begrenzen. Der Umfang und das Verständnis dieser Offenbarung kann bestimmte Beispiele einschließen, die nicht in diesen Sätzen und Klammern angegeben sind.