DE102022126173A1 - Filterung der geschätzten bandbreite auf der grundlage von paketverlustmustern - Google Patents

Filterung der geschätzten bandbreite auf der grundlage von paketverlustmustern Download PDF

Info

Publication number
DE102022126173A1
DE102022126173A1 DE102022126173.5A DE102022126173A DE102022126173A1 DE 102022126173 A1 DE102022126173 A1 DE 102022126173A1 DE 102022126173 A DE102022126173 A DE 102022126173A DE 102022126173 A1 DE102022126173 A1 DE 102022126173A1
Authority
DE
Germany
Prior art keywords
packets
packet
network
delay
available bandwidth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022126173.5A
Other languages
English (en)
Inventor
Jean Tourrilhes
Puneet Sharma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of DE102022126173A1 publication Critical patent/DE102022126173A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/06Testing, supervising or monitoring using simulated traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Es werden Systeme und Verfahren zur Durchführung einer Filtertechnik bereitgestellt, die es ermöglicht, die verfügbare Bandbreite (z. B. auf einem Netzwerkpfad) bei moderaten Verlusten, die durch bestimmte Warteschlangenverwaltungstechniken verursacht werden, zu schätzen. Wenn Paketverluste auf einem Netzwerkpfad aufgrund bestimmter Arten von Mechanismen, Methoden oder Modellen zur Übertragung von Paketwarteschlangen auftreten, kann ein Bump-Detection-Algorithmus (BDA) verwendet werden, um eine Bandbreitenabschätzung durchzuführen. Wenn ein Muster von Paketverlusten (anhand seiner Signatur) als eines identifiziert wird, mit dem BDA durchgeführt werden kann, um die verfügbare Bandbreite auf einem Netzwerkpfad genau abzuschätzen, kann die BDA-basierte Bandbreitenabschätzung verwendet werden, um den Netzwerkverkehr zu platzieren/zu routen und auszugleichen, oder anderweitig verwendet werden, um Netzwerk-Verkehrs-Engineering zu betreiben, andere netzwerkbezogene Maßnahmen zu ergreifen oder zu melden. Andernfalls wird die Bandbreitenabschätzung unterdrückt und nicht verwendet.

Description

  • Hintergrund
  • Die Messung der Bandbreite ist ein wesentlicher Bestandteil jeder Lösung für das Netzwerk-Traffic-Engineering, einschließlich Lösungen, die ein Softwaredefiniertes Wide Area Network (SD-WAN) verwenden. Das Framework muss wissen, wie viel Bandbreite auf jedem Netzwerkpfad zur Verfügung steht, bevor entschieden werden kann, wo der Netzwerkverkehr platziert/geleitet und der Lastausgleich vorgenommen werden soll.
  • In einem geschlossenen System ist es möglich, direkte Messungen an jedem der Netzgeräte auf den Verkehrswegen vorzunehmen. In vielen Fällen ist es jedoch nicht möglich, direkte Messungen vorzunehmen. So können sich die Netzwerkgeräte beispielsweise in verschiedenen Verwaltungsbereichen befinden oder durch Tunneling oder Kapselung verdeckt sein. Dies ist auch bei SD-WAN der Fall, wo das SD-WAN-Gateway versucht, den Verkehr auf den besten Weg über das Internet zu leiten.
  • Kurzbeschreibung der Zeichnungen
  • Die vorliegende Offenbarung wird in Übereinstimmung mit einem oder mehreren verschiedenen Beispielen unter Bezugnahme auf die folgenden Figuren im Detail beschrieben. Die Abbildungen dienen nur der Veranschaulichung und zeigen lediglich typische Beispiele.
    • 1 zeigt eine Computerumgebung für die Implementierung der Bandbreitenabschätzung in Übereinstimmung mit einigen Beispielen der Offenlegung.
    • 2 zeigt ein Beispiel für Einweg-Verzögerungsmessungen, bei denen keine signifikanten Paketverluste auf dem zu messenden Netzwerkpfad auftreten, in Übereinstimmung mit einem Szenario für eine abnehmende Methode zur Bandbreitenmessung.
    • 3 zeigt ein Beispiel für eine Bandbreitenmessung in Übereinstimmung mit einem Szenario mit einseitiger Verzögerung und Verlusten in Verbindung mit einer Tail-Drop-Warteschlangenmethode.
    • 4 zeigt ein Beispiel für die Definition eines Filters, der dazu dient, Verluste zu ignorieren, die durch „tail-drop“-Warteschlangen verursacht werden.
    • 5 zeigt ein Beispiel für eine Bandbreitenmessung gemäß einem Szenario mit einseitiger Verzögerung und Verlusten in Verbindung mit einem Token Bucket Policer-Verfahren.
    • 6 zeigt ein Beispiel für eine Warteschlange, die sich aus einer aktiven Warteschlangenverwaltung ergibt.
    • 7 zeigt eine Zusammenfassung von Prozessen zur Bestimmung einer Bandbreitenschätzung gemäß einigen Anwendungsbeispielen.
    • 8 ist ein Beispiel für eine Computerkomponente, die zur Implementierung verschiedener Merkmale der in der vorliegenden Offenbarung beschriebenen Beispiele verwendet werden kann.
    • 9 zeigt ein Blockdiagramm eines beispielhaften Computersystems, in dem verschiedene der hier beschriebenen Beispiele implementiert werden können.
  • Die Abbildungen sind nicht erschöpfend und beschränken die vorliegende Offenbarung nicht auf die genaue Form, die offengelegt wird.
  • Detaillierte Beschreibung
  • Wie bereits angedeutet, kann die Bandbreitenmessung in einer SD-WAN-Architektur schwierig sein. Wenn direkte Messungen nicht möglich sind, kann die Bandbreitenschätzung von zwei Endpunkten aus erfolgen, die kontrolliert oder anderweitig für Messungen verwendet werden können. Die Bandbreitenschätzung kann beispielsweise durch Sondierung eines Netzwerkpfads mit speziell angefertigten Testpaketen erfolgen, die von einem Ende des Netzwerkpfads an das andere Ende des Netzwerkpfads gesendet werden. Ein Empfängerendpunkt misst die Empfangszeit der speziell angefertigten Testpakete sowie alle Änderungen des Warteschlangenverzögerungs-/Zeitmusters, um die Pfadeigenschaften wie die Pfadkapazität, die verfügbare Bandbreite oder die Massentransferkapazität zu schätzen.
  • In einigen Beispielen kann ein Probe Rate Model (PRM) verwendet werden, um die verfügbare Bandbreite eines Netzwerkpfads zu schätzen (z. B. unter Verwendung von Forschungsprojekten wie PathChirp, PathCos++, SLDRT usw.). Das PRM kann einen vorübergehenden Überlastungszustand erzeugen (z. B. eine Anzahl von Datenpaketen, die über einen Schwellenwert hinaus im Netz übertragen werden, um die verfügbare Bandbreite im Netz zu verringern usw.). Sobald der vorübergehende Überlastungszustand auf dem Netzpfad hergestellt ist, kann ein Kontrolleur die Zunahme der Wartezeit von Prüfpaketen messen, um daraus zu schließen, wann sich der Netzpfad in einem Überlastungszustand befindet. Durch die Bestimmung, wann sich der Netzpfad in einem überlasteten Zustand befindet und wann nicht, können solche Methoden dann eine Schätzung der verfügbaren Bandbreite berechnen.
  • Das PRM kann jedoch mehrere Einschränkungen aufweisen. So kann das Standard-PRM z. B. anhand des Paket-Timings auf einen Überlastungszustand schließen und davon ausgehen, dass es keine Paketverluste auf dem Netzpfad gibt. Die Puffer auf dem Netzpfad sind jedoch nicht unendlich, so dass es bei einer ausreichenden Überlastung zu Paketverlusten (verlorene/ausgelassene Pakete) kommen kann. Darüber hinaus reagieren einige Netzwerkgeräte auf einen überlasteten Zustand, indem sie ausschließlich Paketverluste produzieren und die Warteschlangenverzögerung niemals erhöhen, was den Zweck der PRM-Methoden zunichte macht und sie daran hindert, die verfügbare Bandbreite zu messen. Darüber hinaus sind einige Netzverbindungen unzuverlässig und können Pakete nach dem Zufallsprinzip fallen lassen, was ebenfalls eine Bandbreitenabschätzung erschwert.
  • Beispiele der vorliegenden Offenlegung beziehen sich auf eine Filtertechnik, die es ermöglicht, die verfügbare Bandbreite (z. B. auf einem Netzwerkpfad) bei moderaten Verlusten abzuschätzen, die durch bestimmte Warteschlangenverwaltungstechniken verursacht werden, z. B. eine Tail-Drop-Warteschlange. Wie weiter unten näher beschrieben wird, ist die Tail-Drop-Warteschlange ein Beispiel für eine wahrscheinliche Ursache von verlorenen Paketen (Paketverlusten). In einigen Beispielen kann die „Signatur“ von Paketverlusten, die durch eine bestimmte Warteschlangen-Verwaltungstechnik, wie Tail-Drop-Queue, verursacht werden, erkannt und eine Bandbreitenschätzung durchgeführt werden. Auf diese Weise kann eine Bandbreitenabschätzung in Szenarien durchgeführt werden, in denen klassische/konventionelle PRM-Techniken versagen (PRM geht davon aus, dass keine Paketverluste auftreten).
  • Insbesondere können bestimmte Arten von Paketverlusten (oder Ursachen von Paketverlusten) mit bestimmten Paketverlustmustern in Verbindung gebracht werden. Wenn ein bestimmtes Muster von Paketverlusten identifiziert wird, kann diese Erkennung eines Typs oder einer Kategorie von Paketverlusten die Grundlage für die Entscheidung sein, ob eine Schätzung verwendet werden soll oder nicht, die mit einem Bump-Detection-Algorithmus (BDA) vorgenommen wurde, der weiter unten ausführlicher beschrieben wird. Das heißt, wenn auf einem Netzwerkpfad aufgrund bestimmter Arten von Übertragungsmechanismen, -methoden oder -modellen der Paketschlange Paketverluste auftreten, kann BDA verwendet werden, um eine Bandbreitenschätzung durchzuführen, in der Erwartung, dass die geschätzte verfügbare Bandbreite eine genaue Schätzung sein wird. In anderen Szenarien kann die BDA-basierte Bandbreitenschätzung zu fehlerhaften Schätzungen der verfügbaren Bandbreite führen (typischerweise eine Überschätzung der verfügbaren Bandbreite). Wenn das Muster des Paketverlusts (anhand seiner Signatur) als eines identifiziert wird, mit dem BDA durchgeführt werden kann, um die verfügbare Bandbreite auf einem Netzwerkpfad genau zu schätzen, kann die BDA-basierte Bandbreitenschätzung dazu verwendet werden, den Netzwerkverkehr zu platzieren/zu routen und auszugleichen oder anderweitig verwendet werden, um den Netzwerkverkehr zu steuern, andere netzwerkbezogene Maßnahmen zu ergreifen oder eine Meldung zu machen.
  • Wie weiter unten noch näher beschrieben wird, können Loss Bump Filtering/Loss Bump Filter (LBF) verwendet werden, wobei sich LBF auf die Definition einer Zone in der empfangenen Probe oder Chirp Train beziehen kann, in der Paketverluste ignoriert werden können. Dieser Bereich kann auf der Grundlage von Paketen, die von der BDA ausgewählt wurden, oder auf der Grundlage der Einwegverzögerung (OWD) von Paketen definiert werden. An oder außerhalb solcher Pakete/Messpunkte können jedoch immer noch Verluste auftreten, und in solchen Fällen kann LBF verwendet werden, um diese Verluste zu messen und festzustellen, ob die Notwendigkeit besteht, die Verwendung potenziell falscher Bandbreitenschätzungen zu verhindern. In einigen Beispielen kann die BDA-Bandbreitenschätzung als genau angesehen werden, wenn solche Verluste in Bezug auf einen Schwellenwert auf ignorierbare oder anderweitig akzeptable Paketverluste hinweisen, d. h. unter den Schwellenwert fallen, und kann einem Benutzer gemeldet werden, der sie anschließend zum Routen/Ausgleichen des Datenverkehrs usw. verwendet. Ist dies nicht der Fall, wird die BDA-basierte Bandbreitenschätzung als ungenau angesehen, und die BDA-basierte Bandbreitenschätzung wird nicht zur Weiterleitung/Ausgleichung des Datenverkehrs herangezogen.
  • 1 zeigt eine Computerumgebung zur Implementierung verschiedener Bandbreitenschätzungsprozesse. Wie in 1 dargestellt, überträgt das sendende Computergerät 110 ein oder mehrere Datenpakete über das Netzwerk 130 an das empfangende Computergerät 120. Die sendende Rechenvorrichtung 110 und die empfangende Rechenvorrichtung 120 (z. B. Clients, Server usw.) können Endpunkte in einem Kommunikationsnetzwerk sein, das die Endpunkte miteinander verbindet. Verschiedene Sender-Computergeräte können Datenpakete an verschiedene Empfänger-Computergeräte senden, obwohl der Einfachheit halber ein einziges Sender-Computergerät und ein einziges Empfänger-Computergerät angegeben ist.
  • Die verfügbare Bandbreite kann für das Senden von Netzwerkkommunikation zwischen dem sendenden Computergerät 110 und dem empfangenden Computergerät 120, z. B. einem Netzwerkpfad, bestimmt werden. Die Netzwerkbandbreite kann damit korrespondieren, wie viel der Bandbreite nicht genutzt wird und wie viel Netzwerkverkehr dem Netzwerkpfad hinzugefügt werden könnte. Der Netzwerkpfad kann aus einer Reihe von drahtgebundenen oder drahtlosen Kommunikationsverbindungen bestehen, um Daten in einer bestimmten Zeit über das Netzwerk 130 zu übertragen. Die verfügbare Bandbreite kann durch den Verkehr, der den Netzwerkpfad bereits nutzt, reduziert werden.
  • Ein Beispiel dafür, wie die verfügbare Bandbreite genutzt werden kann, ist das Network Traffic Engineering. Der Kommunikationspfad über das Netz 130 zwischen dem sendenden Computergerät 110 und dem empfangenden Computergerät 120 kann mehrere mögliche Pfade von einem Endpunkt zum anderen umfassen. Mehrere Pfade zwischen Endpunkten verbessern in der Regel die Ausfallsicherheit und können die Netzwerkbandbreite erhöhen.
  • Bei der Planung des Netzverkehrs können die Eigenschaften des Netzverkehrs sowie die relevanten Netzelemente und ihre Konnektivität bestimmt werden, um sowohl die Planung des Netzes zu unterstützen als auch den Verkehr auf verschiedene Pfade in diesem Netz zu leiten. In einigen Beispielen kann dem primären Pfad zwischen dem sendenden Computergerät 110 und dem empfangenden Computergerät 120 ein sekundärer Pfad hinzugefügt werden, der im Falle eines Ausfalls des primären Pfads verwendet wird.
  • Die Netzverkehrstechnik kann aus drei Teilen bestehen. Der erste Teil ist die Messung, bei der einige Attribute des Verkehrs und/oder des Netzes gemessen werden. Der Messteil der Netzverkehrstechnik kann die Bestimmung der verfügbaren Bandbreite(n) verschiedener Netzpfade, wie hier beschrieben, beinhalten. Der zweite Teil ist die Optimierung, bei der eine optimale Verteilung des Verkehrs berechnet wird. Der dritte Teil ist die Steuerung, bei der das Netz neu konfiguriert wird, um die gewünschte Verteilung des Verkehrs zu erreichen.
  • Ein weiterer Kontext, in dem die Abschätzung der Netzwerkbandbreite stattfindet, ist Software Defined Networking (SDN). Software Defined Networking (SDN) kann Netzwerke durch die Definition von Application Programming Interfaces (APIs) verwalten. Die APIs können es dem System ermöglichen, den Datenpfad (z. B. die Paketweiterleitung) und die Steuerungsebene (z. B. die Protokollintelligenz) von Netzwerkelementen zu entkoppeln. Mit anderen Worten, ein Netzcontroller, eine Instanz außerhalb des Netzelements, kann eine feinkörnige Kontrolle und Sichtbarkeit über dieses Netzelement haben. Dies kann vom Netzcontroller genutzt werden, um die Richtlinien der Netzelemente dynamisch zu ändern oder die Steuerungsebene und die Entscheidungsfindung des Netzes zu zentralisieren.
  • Der SDN-Ansatz kann mit der Netzverkehrstechnik kombiniert werden. So definieren SDN-APls in der Regel sowohl die Messung als auch die Steuerung, wodurch der Netzwerk-Controller in die Lage versetzt wird, die Netzwerkbandbreite oder -kapazität zu messen und eine Verteilung des Datenverkehrs durch Netzwerk-Traffic-Engineering zu diktieren.
  • Eine der Einschränkungen von SDN besteht darin, dass es von einer engen Kopplung zwischen der Netzsteuerung und den Netzelementen ausgeht. Dies kann bei kleinen bis mittelgroßen Kommunikationsnetzen funktionieren, lässt sich aber in der Regel nicht auf größere Netze übertragen. Die Effizienz des SDN-Prozesses wird gemindert, wenn das Netzwerk zwischen dem Netzwerk-Controller und den Netzwerkelementen eine begrenzte Leistung aufweist (z. B. geringe Bandbreite oder hohe Latenz). Darüber hinaus erlaubt der SDN-Ansatz in der Regel nicht die Überschreitung von Verwaltungsbereichsgrenzen, da verschiedene Einheiten nur auf kontrollierte und begrenzte Interaktionen untereinander vertrauen können.
  • Ein weiteres Beispiel, bei dem die verfügbare Bandbreite genutzt werden kann, ist ein Software Defined Wide Area Network (SD-WAN). Das SD-WAN-Verfahren kann in Datenverarbeitungsumgebungen implementiert werden, die über mehrere physische Standorte verteilt sind, einschließlich der Fälle, in denen sich das sendende Datenverarbeitungsgerät 110 und das empfangende Datenverarbeitungsgerät 120 an unterschiedlichen physischen Standorten befinden. Folglich kann die Computerumgebung eine Reihe von lokalen Netzwerken (LANs) umfassen, die die lokalen physischen Standorte der Einheit unterstützen, sowie eine Reihe von Wide Area Network (WAN)-Verbindungen, die diese lokalen Netzwerke miteinander verbinden.
  • Eine große Bank oder ein Einzelhändler kann zum Beispiel mehrere Standorte und Filialen haben. Jeder Standort oder jede Filiale verfügt über eine Reihe von LANs. In einer herkömmlichen Konfiguration sind alle Filialen und Standorte über dedizierte WAN-Verbindungen (z. B. mit Routing-Techniken wie Multiprotocol Label Switching (MPLS) usw.) mit einigen wenigen zentralen Standorten verbunden. ), und die wenigen zentralen Standorte können über eine oder mehrere WAN-Verbindungen mit einem externen Netz (z. B. dem Internet usw.) verbunden werden. Die dedizierten WAN-Verbindungen können von einem Telekommunikationsunternehmen bereitgestellt werden, was in der Regel eine hohe Verfügbarkeit und Dienstqualität garantiert, aber auch hohe Kosten verursacht.
  • Der SD-WAN-Prozess schlägt vor, SDN-Prinzipien für die Verwaltung der WAN-Konnektivität zu verwenden. Dies kann eine zentrale Sichtbarkeit und Kontrolle über die WAN-Konnektivität des Unternehmens bieten und die Kosten der WAN-Konnektivität senken. SD-WAN kann die Kosten senken, indem dedizierte WAN-Verbindungen durch Tunnel über das Internet ersetzt werden. In diesem Fall verfügt jede Zweigstelle und jeder Standort über WAN-Links, die mit dem Internet verbunden sind, in der Regel unter Verwendung einer billigen WAN-Technologie für Verbraucher (z. B. DSL-Modem, Kabelmodem, Wireless 3G usw.). Das Netz kann in jeder Zweigstelle und an jedem Standort ein spezielles SD-WAN-Gateway implementieren, um die privaten Tunnel (z. B. virtuelles privates Netzwerk (VPN) usw.) für eine sichere Verbindung zu anderen Zweigstellen zu erstellen, um über die WAN-Verbindungen und das Internet eine sichere Verbindung zu anderen Zweigstellen und Standorten herzustellen.
  • Ein weiteres Beispiel, bei dem die verfügbare Bandbreite genutzt werden kann, ist Tunnel Handoff. Wenn ein SD-WAN-Gateway feststellt, dass eine WAN-Verbindung ausgefallen ist, kann das Gateway den Datenverkehr von dieser WAN-Verbindung weg zu einem Tunnel leiten, der diese bestimmte WAN-Verbindung nicht nutzt, was auch als „Tunnel Handoff“ bezeichnet wird. Das SD-WAN-Gateway kann über das Netzwerk 130 parallele Tunnel erstellen, die jede WAN-Verbindung nutzen, und dann das Netzwerk-Traffic-Engineering nutzen, um den Datenverkehr in den am besten geeigneten Tunnel zu leiten, um die verfügbare Netzwerkkapazität optimal zu nutzen. In einigen Beispielen kann das SD-WAN-Gateway die Leistung jedes Tunnels in Bezug auf Latenz und Durchsatz überwachen und dann den Verkehr ausbalancieren oder jeden Verkehrstyp dem für diesen Verkehr am besten geeigneten Tunnel zuordnen.
  • Eine Komponente eines solchen Traffic Engineering ist eine Möglichkeit, die Leistung jedes Tunnels zu messen. Jeder Tunnel definiert einen Netzwerkpfad durch das Netzwerk, wobei die getunnelten Pakete von einer Reihe von Netzwerkelementen verarbeitet werden. Der von einem Tunnel verwendete Netzwerkpfad (z. B. außerhalb des Tunnels) und der Netzwerkpfad innerhalb eines Tunnels sind logisch unterschiedlich, da sie unterschiedliche Adressen haben. In einigen Fällen können jedoch zwei Netzpfade durch dieselben Netzelemente führen, nahezu dieselbe Leistung aufweisen und ihre Leistungsmerkmale stark korrelieren. Daher kann die Leistung eines Tunnels gemessen werden, indem der Netzpfad außerhalb des Tunnels oder innerhalb des Tunnels gemessen wird.
  • In einigen Beispielen ist es schwierig, die geschätzte Bandbreite für den Tunnelübergabeprozess zu bestimmen. Eine direkte Messung oder ein SDN-Ansatz kann für diese Netzpfade nicht verwendet werden, da die überwiegende Mehrheit der Netzelemente eines Internetpfads in verschiedenen Verwaltungsbereichen liegt (z. B. bei den verschiedenen ISP auf dem Pfad) und es sehr schwierig wäre, die vollständige Liste all dieser Elemente (die in den meisten Fällen dynamisch ist) und den administrativen Zugang zu ihnen zu erhalten. In einigen Beispielen kann die Pfadmessung über Ende-zu-Ende-Netzpfad-Schätzverfahren und/oder durch das Senden von Prüfpaketen von einem Endpunkt zum anderen erfolgen, d. h. von der sendenden Rechnereinrichtung 110 zur empfangenden Rechnereinrichtung 120.
  • Insbesondere überträgt das sendende Computergerät 110 ein oder mehrere Datenpakete über das Netzwerk 130 an das empfangende Computergerät 120. Die Sende-Computervorrichtung 110 und die Empfangs-Computervorrichtung 120 (z. B. Clients, Server usw.) können Endpunkte in einem Kommunikationsnetz sein, das die Endpunkte miteinander verbindet. Verschiedene Sender-Computergeräte können Datenpakete an verschiedene Empfänger-Computergeräte senden, obwohl der Einfachheit halber ein einziges Sender-Computergerät und ein einziges Empfänger-Computergerät angegeben ist.
  • Die Sende-Computereinheit 110 kann einen Testzug zur Messung des Netzwerkpfads erzeugen und die Testpakete über das Netzwerk 130 an die Empfänger-Computereinheit 120 senden. Das empfangende Computergerät 120 kann die Testpakete empfangen und die verfügbare Bandbreite schätzen.
  • Für die Bestimmung der Bandbreite und des Netzweges können verschiedene Verfahren eingesetzt werden. Wenn beispielsweise eine direkte Messung von Netzelementen nicht möglich ist (z. B. wenn sie sich in unterschiedlichen Verwaltungsbereichen befinden), kann das nächstbeste Verfahren die End-to-End-Bandbreitenschätzung sein.
  • Die Ende-zu-Ende-Schätzung des Netzwerkpfads kann eine aktive Sondierung mit Hilfe von Datenpaketen umfassen, die im Netzwerk 130 übertragen werden. Zum Beispiel sendet das sendende Computergerät 110 an einem Ende des Netzwerkpfads spezielle Testpakete an das empfangende Computergerät 120 am anderen Ende des Netzwerkpfads. Diese Pakete können nur zur Schätzung der Bandbreite verwendet werden und dürfen keine tatsächlichen Daten enthalten, die über die für die eigentliche Netzpfadschätzung erforderliche Nutzlast hinausgehen.
  • Der Abschätzungsprozess kann auch passive Messungen beinhalten, entweder durch Messung von Wartezeiten, die durch bereits auf dem Netzpfad übertragene Daten entstehen, oder durch Modulation dieser Daten, damit sie bestimmte Eigenschaften aufweisen. Eine weitere Variante ist eine Single-Ended-Messung, bei der das Verfahren Prüfpakete von der Sende-Computereinheit 110 initiiert, die an die Sende-Computereinheit 110 zurückgesendet werden.
  • Verschiedene Methoden können unterschiedliche Eigenschaften des Netzweges abschätzen. Die Bandbreitenschätzung ist eine Untergruppe der Netzpfadschätzung. Die Trassenkapazität ist die maximale Menge an Verkehrsbandbreite, die gesendet werden kann, wenn die Netztrasse im Leerlauf ist, d. h. ohne konkurrierenden Verkehr. Verfügbare Bandbreite (ABW) ist die verbleibende/restliche Trassenkapazität, d. h. die Kapazität, die derzeit nicht von anderem Verkehr genutzt wird. Bulk Transfer Capacity (BTC) ist die Bandbreite, die eine Transmission Control Protocol (TCP)-Verbindung erhalten würde, wenn sie auf diesem Netzpfad platziert würde. Die Latenz ist die einseitige Verzögerung vom Sender zum Empfänger, die Round Trip Time (RTT) ist die zweiseitige Verzögerung.
  • Bei der aktiven Sondierung sendet die Sende-Computervorrichtung 110 eine Reihe speziell gestalteter Sondierungs-Paketmuster an die Empfänger-Computervorrichtung 120. Das Paketmuster kann durch das Schätzverfahren definiert werden und kann so gestaltet sein, dass es bestimmte Verhaltensweisen der Netzwerkelemente auf dem Netzwerkpfad auslöst. In vielen Fällen handelt es sich bei dem Paketmuster beispielsweise um einen Probe-Train (der weiter unten ausführlicher beschrieben und auch als Chirp-Train bezeichnet wird), bei dem die Pakete und die Intervalle zwischen den Paketen dazu dienen, verschiedene Bandbreiten über das Paketmuster hinweg zu testen. Das Computergerät 120 des Empfängers kann die Empfangszeit der Pakete messen und die OWD jedes Pakets berechnen (d.h. die Zeit, die ein Paket benötigt, um ein Empfängergerät von einem Sendergerät zu erreichen). Die Empfänger-Rechenvorrichtung 120 kann die Änderungen des Paketmusters untersuchen. Die Schätzungsmethode verwendet ein vereinfachtes Netzwerkmodell, um diese Messungen in Schätzungen verschiedener Netzwerkpfadeigenschaften umzuwandeln.
  • Für die Bandbreitenabschätzung gibt es zwei Hauptklassen, darunter das Sondierungslückenmodell (PGM) und das bereits erwähnte PRM. Beim PGM wird davon ausgegangen, dass die Lücke zwischen zwei dicht aufeinanderfolgenden Paketen proportional zur Auslastung der am stärksten belasteten Warteschlange zunimmt, was auf die Wartezeit in dieser Warteschlange zurückzuführen ist. Bei PRM wird davon ausgegangen, dass das Verkehrsmuster weitgehend unverändert bleibt, wenn Pakete mit einer geringeren Rate als der Engpassbandbreite gesendet werden (ein Phänomen oder Zustand, bei dem die Leistung eines Netzwerks/Netzwerkpfads aufgrund eines Mangels an verfügbarer Bandbreite begrenzt ist, um sicherzustellen, dass Pakete von einem Empfänger, z. B. dem Computergerät 120 des Empfängers, empfangen werden können), wohingegen Pakete, die mit einer höheren Rate als der Engpassbandbreite gesendet werden, aufgrund eines überlasteten Zustands des Netzwerkpfads eine zusätzliche Verzögerung in der Warteschlange erfahren.
  • In der Praxis versuchen PGM und PRM, auf eine Überlastung des Netzpfades zu schließen, indem sie versuchen, Schwankungen in der Wartezeit abzuschätzen, die die Pakete an verschiedenen Netzelementen im Netzpfad erfahren. Die Wartezeit kann sich auf die Zeit auswirken, die ein Paket benötigt, um den Netzpfad zu durchqueren. PGM und PRM können die Einwegverzögerung verschiedener Testpakete vergleichen, um die Schwankungen in der Warteschlangenverzögerung abzuschätzen. Mit PGM können zum Beispiel zwei Pakete in einem bekannten Sendeintervall gesendet werden. Das gemessene Empfangsintervall wird als die Summe aus dem Sendeintervall und der Differenz der Wartezeit zwischen den Paketen angenommen.
  • Ein weiteres anschauliches Verfahren zur Schätzung der Netzwerkbandbreite umfasst die Paket-Einwegverzögerung (OWD). Bei PRM kann die Methode die Verzögerungen der empfangenen Pakete messen, um die NetzwerkpfadBandbreite zu bestimmen. Die Messung für jedes Paket erfolgt mit dem OWD-Verfahren. OWD entspricht der Zeitdifferenz zwischen dem Zeitpunkt, zu dem das Paket von der Sende-Computereinheit 110 gesendet wurde (z. B. Sendezeit), und dem Zeitpunkt, zu dem es von der Empfänger-Computereinheit 120 über das Netzwerk 130 empfangen wurde (z. B. Empfangszeit). Einige Methoden vergleichen die OWD von mehreren Paketen.
  • In einigen Beispielen kann die OWD eines Pakets der Ausbreitungsverzögerung des Netzwerkpfads, der Übertragungszeit der langsamsten Verbindung des Pfads und der akkumulierten Warteschlangenverzögerung in allen Netzwerkelementen des Pfads entsprechen. Für jedes Paket kann die Formel zur Bestimmung der OWD Folgendes umfassen: OWD ( i ) = pd + st ( Gr o ¨ ße ) + sum ( qd ( e , i ) )
    Figure DE102022126173A1_0001
  • Mit:
    • pd -> Gesamtausbreitungsverzögerung
    • st(size) -> langsamste Übertragungszeit für diese Paketgröße
    • qd(e,i) -> Warteschlangenverzögerung am Element e für Paket i
  • In einigen Beispielen kann PRM ein Warteschlangenmodell annehmen, bei dem qd(e,i) eine Funktion des Überlastungszustands am Element e ist, wenn das Paket i ankommt.
  • Ein weiteres anschauliches Verfahren zur Schätzung der Netzbandbreite ist das PathCos++-Verfahren. PathCos++ kann die verfügbare Bandbreite eines Netzweges unter Verwendung des PRM, d.h. der Selbstüberlastung, schätzen. Zum Beispiel sendet PathCos++ einen periodischen Probezug. Das Zeitintervall zwischen zwei Paketen kann eine momentane Rate definieren, und das Netz reagiert auf diese Rate. Die Sondierungsrate kann über den Sondierungszug hinweg verringert werden, indem die Zeit zwischen den Sondierungspaketen erhöht wird, um einen überlasteten Zustand zu erzeugen und diesen dann allmählich zu entlasten. Der PathCos++-Prozess kann die relative OWD jedes Probepakets im Zug messen und versuchen, ein Paar von Paketen zu finden, die ähnliche OWDs auf beiden Seiten der Überlastungsspitze haben. Die ähnliche OWD kann mit Paketen korrespondieren, die eine ähnliche Überlastung aufweisen. Der PathCos++-Prozess kann versuchen, das Paketpaar mit dem größten Abstand zu finden und dann die durchschnittliche Empfangsrate der Prüfpakete zwischen den beiden Paketen des Paketpaares berechnen. Die durchschnittliche Empfangsrate kann als Schätzwert für die verfügbare Bandbreite verwendet werden.
  • Ein weiteres anschauliches Verfahren zur Schätzung der Netzbandbreite ist der bereits erwähnte Bump-Detection-Algorithmus (BDA). BDA kann in PathCos++ integriert werden, um ein Paar von Paketen mit ähnlicher Überlastung auf beiden Seiten einer Überlastungsspitze auszuwählen. Das ausgewählte Paketpaar kann zur Schätzung der verfügbaren Bandbreite verwendet werden. Die Qualität der Schätzung der verfügbaren Bandbreite kann nur so gut sein wie die Auswahl dieser Pakete durch die BDA.
  • Bei der BDA hat der Sondierungszug eine abnehmende Rate, um zunächst einen überlasteten Zustand des Netzwerkpfads zu erzeugen (z. B. eine Rate, die höher ist als der Engpass), und dann den Netzwerkpfad zu entlasten (z. B. eine Rate, die niedriger ist als der Engpass). Das bedeutet, dass die OWD der Pakete über den gesamten Probezug hinweg ansteigt (ein überlasteter Zustand) und dann wieder sinkt (ein entlasteter Zustand). Ein starker Anstieg der OWD kann den Zeitpunkt der maximalen Überlastung darstellen, und Pakete mit einer ähnlichen OWD sollten eine ähnliche Überlastung erfahren haben (z. B. eine ähnliche Menge an Warteschlangen).
  • Ein weiteres anschauliches Verfahren zur Schätzung der Netzbandbreite umfasst Paketverluste aufgrund von Fehlern und Überlastung. Viele Netze sind verlustbehaftet, was bedeutet, dass Pakete verloren gehen oder absichtlich verworfen werden können. Einige Netze sind verlustfrei, d. h. sie garantieren, dass keine Pakete verloren gehen. Verlustfreie Netze eignen sich nur für relativ kleine Netze, da sie in großem Maßstab zu unerwünschten Effekten wie Head-of-Line-Blocking führen. Aus diesem Grund werden die meisten großen Netze und Netzpfade als verlustbehaftet angesehen.
  • Ein Grund für Paketverluste sind Bitfehler in den Netzgeräten und Übertragungsfehler über verrauschte Verbindungen. Diese Fehler treten jedoch nur selten auf. Die meisten Verbindungstechnologien, die bei verrauschten Kanälen eingesetzt werden, wie z. B. WiFi und 3G, verwenden Bestätigungen auf Verbindungsebene und erneute Übertragungen, um die Verbindungsverluste zu verbergen. Daher sind tatsächliche Paketverluste aufgrund von Rauschen und Fehlern sehr selten, es sei denn, die Bedingungen sind schlecht. Der Grund dafür ist, dass die TCP-Überlastungssteuerung davon ausgeht, dass Paketverluste auf eine Überlastung zurückzuführen sind, so dass die optimale Leistung durch die Beseitigung von Verlusten auf der Verbindungsebene erreicht wird.
  • Auf einem verlustbehafteten Netzpfad werden Paketverluste daher fast immer durch Überlastung verursacht, und anhaltende Überlastung kann zu Paketverlusten führen. Wenn die Eingangsrate des Datenverkehrs durchgängig höher ist als das, was eine Verbindung übertragen kann, kann das Ungleichgewicht durch Verwerfen des überschüssigen Datenverkehrs und durch Paketverluste/Drops behoben werden. Infolgedessen können Paketverluste ein zuverlässiger Indikator für eine Netzüberlastung sein.
  • Ein weiteres illustratives Verfahren zur Schätzung der Netzwerkbandbreite umfasst Basic Queue - Tail-drop losses. Die Verbindung zwischen dem sendenden Computergerät 110 und dem empfangenden Computergerät 120 über das Netzwerk 130 kann eine einfache Warteschlange mit fester Kapazität vor der Verbindung sein. Die Sende-Computervorrichtung 110 kann ein Paket aus der Warteschlange über die Verbindung so schnell übertragen, wie die Verbindung fähig ist, während die Sende-Computervorrichtung 110 ein Paket fallen lassen kann, wenn die Warteschlange voll ist.
  • Der Verkehr neigt dazu, stoßweise zu erfolgen, so dass die Warteschlange genutzt werden kann, um vorübergehende Überschreitungen der Eingangsrate auszugleichen und gleichzeitig die Verarbeitung auf der Verbindung zu glätten. Solange die Warteschlange nicht voll ist, wird jedes empfangene Paket entweder übertragen (wenn die Verbindung im Leerlauf ist) oder der Warteschlange hinzugefügt, um übertragen zu werden, wenn die Verbindung es zulässt. Wenn die Warteschlange voll ist, kann jedes empfangene Paket verworfen werden. Paketverluste können am Ende der Warteschlange auftreten, daher der Name „tail-drop losses“.
  • Bei konstantem Verkehr und einer idealen Warteschlange können Paketverluste feinkörnig sein und sich gleichmäßig über den Chirp-Zug verteilen. In der Praxis können die Verluste jedoch gebündelt und nicht gleichmäßig über den Chirp-Zug verteilt sein. Die erste Ursache dafür kann ein stoßweiser Querverkehr sein, der die Auslastung der Warteschlange zwischen den Stoßzeiten verändert, so dass die Warteschlange die Möglichkeit hat, mehr Testpakete zu akzeptieren. Im Gegensatz dazu kann die Warteschlange während des Bursts weniger Pakete annehmen. Die zweite Ursache kann die granulare Planung der Warteschlange sein, bei der mehrere Pakete gemeinsam aus der Warteschlange entfernt werden, z. B. nach der Planung und Belegung mehrerer in der Warteschlange verfügbarer Slots, so dass bis zur nächsten Planung kein Slot mehr frei wird. Infolgedessen sind Paketverluste mit Tail-Drop oft gehäuft. Im empfangenen Datenverkehr am Empfänger-Computer 120 wechseln sich Sequenzen mit geringen oder keinen Verlusten mit Sequenzen mit sehr hohen oder vollständigen Verlusten ab. Dadurch wird das Überlastungssignal ziemlich grob.
  • Eine Warteschlange mit Stau kann sich auf zwei Arten verhalten. Wenn der Querverkehr die Warteschlange nicht sättigt, ist die Warteschlange meist leer. In diesem Fall kann der durch den Probe/Chirp-Zug verursachte Stau dazu führen, dass sich die Warteschlange füllt und die Warteschlangenverzögerung ansteigt, bis die Warteschlange voll ist, woraufhin die Warteschlangenverzögerung nicht mehr ansteigt und Pakete verworfen werden können. Wenn der Querverkehr die Warteschlange sättigt, ist die Warteschlange meistens voll. In diesem Fall kann der durch den Probe/Chirp-Zug verursachte Stau dazu führen, dass die Wartezeit nicht zunimmt (d. h. die Warteschlange kann nicht voller werden) und Pakete sofort verloren gehen. Die Warteschlangenverzögerung kann je nach der Häufigkeit des Querverkehrs, der die Warteschlange füllt, schwanken.
  • Ein weiteres anschauliches Verfahren zur Schätzung der Netzbandbreite umfasst Verluste durch aktives Warteschlangenmanagement (AQM). AQM kann die Mängel von Tail-Drop beheben, einschließlich der hohen Warteschlangenverzögerung und des groben Überlastungssignals. AQM kann zusätzliche Verarbeitung in der Warteschlange hinzufügen, um Paketverluste proportionaler zum Grad der Überlastung zu machen.
  • AQM kann eine Random Early Detection (RED) implementieren, die eine Wahrscheinlichkeit für den Verlust/das Fallenlassen eines Pakets definiert, die auf der Belegung der Warteschlange basiert. Wenn die Warteschlange fast leer ist, liegt die Wahrscheinlichkeit, dass ein Paket verloren geht, nahe bei 0, und ein Paketverlust/ein Paketverlust ist sehr unwahrscheinlich. Wenn die Warteschlange fast voll ist, ist die Wahrscheinlichkeit, dass ein Paket verloren geht, höher, und somit ist ein Paketverlust wahrscheinlicher. Wenn ein Paket empfangen wird, kann RED anhand der aktuellen Wahrscheinlichkeit von Paketverlusten und einer Zufallszahl bestimmen, ob ein Paket verworfen oder in die Warteschlange gestellt werden soll. Bei Paketverlusten wird die Belegung der Warteschlange wahrscheinlichkeitsbasierter.
  • AQM kann andere Wahrscheinlichkeitsalgorithmen als RED (z. B. Blue, ARED, PIE, CoDel usw.) implementieren, um die Warteschlange geringfügig/spärlich zu belegen, indem Pakete präventiv verworfen werden. Der CoDel-Prozess kann beispielsweise versuchen, die Verzögerung der Warteschlange für alle Pakete unter einem Schwellenwert zu halten. Ein weiteres Beispiel ist der PIE-Prozess, der einen Burst-Schutz bietet, bei dem in den ersten 150 ms nach dem Füllen der Warteschlange keine Pakete verloren gehen/verlassen werden.
  • In einigen Beispielen kann der kurze Zug von Paketen, der von den Schätzverfahren verwendet wird, zu kurz sein, um eine starke AQM-Reaktion auszulösen, und die durch AQM verursachten Verluste können bei jedem Chirp-Zug sehr gering sein. Es ist viel wahrscheinlicher, dass der Chirp-Zug die Warteschlange überfüllt und Tail-Drop-Verluste verursacht, als dass es zu erheblichen AQM-Verlusten kommt. Daher können AQM-Warteschlangen für die Zwecke der Bandbreitenabschätzung als gleichwertig mit Tail-Drop-Warteschlangen betrachtet werden.
  • Ein weiteres anschauliches Verfahren zur Schätzung der Netzwerkbandbreite umfasst Ratenbegrenzer, Policers und Token Buckets. Ratenbegrenzer können verwendet werden, um den Netzverkehr auf eine bestimmte Rate zu begrenzen. Dies kann aus politischen Gründen geschehen, zum Beispiel als Ergebnis einer vertraglichen Vereinbarung.
  • Ratenbegrenzer können mit oder ohne Warteschlange implementiert werden. Bei Verwendung einer Warteschlange ähnelt der Ratenbegrenzer einer Verbindung mit fester Kapazität und kann durch Tail-Dropping oder mit Hilfe eines AQM verwaltet werden. Wenn keine Warteschlange verwendet wird, ist die Implementierung des Ratenbegrenzers einfacher und kann den Ressourcenverbrauch verringern. Ratenbegrenzer, die ohne Warteschlange implementiert werden, werden oft als Policers oder Meter bezeichnet, um sie von anderen Ratenbegrenzern zu unterscheiden. Diese Ratenbegrenzer können unter Verwendung eines Token-Buckets implementiert werden, um die Häufigkeit des Datenverkehrs zu berücksichtigen.
  • Wenn ein Token-Bucket implementiert ist, kann der Token-Bucket virtuelle Token enthalten, die mit seiner maximalen Kapazität verbunden sind, und wird in Token mit der gewünschten Rate aufgefüllt. Wenn ein Paket eintrifft und der Bucket nicht leer ist, wird das Paket an die Warteschlange weitergegeben und ein Token entfernt. Ist der Bucket leer, wird das Paket verworfen. Wenn die Verbindung eine Zeit lang nicht ausgelastet war, kann der Eimer voll sein, und überschüssige Token werden verworfen. Die Token-Kapazität (oder Burst-Größe) kann eine uneingeschränkte Paketrate ermöglichen, wenn die Verbindung nicht ausgelastet ist.
  • Ratenbegrenzer, die auf Token-Buckets basieren, verfügen nicht über eine Warteschlange, so dass es bei Paketen nicht zu einer zusätzlichen Verzögerung aufgrund von Überlastung kommen kann. Das Überlastungssignal kann mit einem Paketverlust einhergehen. Die Paketverluste können recht feinkörnig sein, wenn die Bucket-Größe der Verbindungskapazität und der Häufigkeit des Datenverkehrs angemessen ist (d. h. nicht zu klein und nicht zu groß). In der Praxis ist die Konfiguration der Burst-Größe schwierig, so dass die meisten Token-Buckets keine gleichmäßigen Muster von Paketverlusten erzeugen.
  • Ein weiteres anschauliches Verfahren zur Schätzung der Netzbandbreite umfasst PRM und Paketverluste. PRM geht davon aus, dass auf dem Netzpfad keine Probepakete verloren gehen und dass jedes gesendete Paket empfangen wird und von der PRM-Methode verwendet werden kann. Keines der bestehenden PRM-Verfahren versucht, Paketverluste zu tolerieren, mit Ausnahme des NEXT-v2-Verfahrens. Das NEXT-v2-Verfahren geht davon aus, dass Paketverluste auf zufällige Verbindungsfehler zurückzuführen sind. Wenn ein Paket verloren geht, versucht das NEXT-v2-Verfahren, es durch Interpolation aus benachbarten Paketen zu rekonstruieren. Das NEXT-v2-Verfahren kann begrenzte Paketverluste tolerieren und ist bei Verlusten aufgrund von Überlastung nicht hilfreich. Andere Methoden können davon ausgehen, dass bei Paketverlusten in einem Chirp-Zug keine Schätzung durchgeführt werden kann. In solchen Fällen kann der gesamte Chirp-Zug verworfen werden, und es wird keine Schätzung durchgeführt. Dies kann die Wahrscheinlichkeit, eine Bandbreitenschätzung zu erhalten, erheblich verringern.
  • PRM-Methoden schätzen die verfügbare Bandbreite möglicherweise nicht genau, wenn der Engpass auf einem Netzpfad auf einem Token-Eimer basiert. Die PRM-Methoden messen zum Beispiel den OWD-Anstieg aufgrund von Überlastung. Bei einem Token Bucket gibt es keine Warteschlange, und der Engpass reagiert möglicherweise nicht mit einer Erhöhung der Wartezeit auf eine Überlastung. In diesem Sinne erhöht der durch die PRM-Methode erzeugte Überlastungszustand die OWD nicht. Bei Vorhandensein eines Token-Buckets versagen die PRM-Methoden in der Regel oder geben eine falsche Schätzung ab. Daher können PRM-Methoden derzeit keine Schätzung der verfügbaren Bandbreite liefern, wenn der Engpass ein Token-Bucket ist.
  • Beispiele der vorliegenden Offenlegung können diese und andere Methoden der konventionellen Bandbreitenschätzung verbessern, indem eine Filterung der BDA-Bandbreitenschätzung auf der Grundlage von Paketverlustmustern durchgeführt wird. Basierend auf identifizierten Paketverlustmustern kann eine Annahme oder Entscheidung darüber getroffen werden, ob eine BDA-Schätzung verwendet oder als genau angesehen werden kann oder nicht. Es können zusätzliche Aktionen durchgeführt werden, wie z. B. die automatische Umleitung von Paketen und/oder die Lastverteilung des Netzwerkverkehrs in Abhängigkeit von einer akzeptablen BDA-Schätzung. Die Implementierung dieses Prozesses in Netzwerken kann für Ingenieure oder Techniker einfach zu bewerkstelligen sein und kann mit geringem Overhead durchgeführt werden (z.B. Minimierung der CPU-Nutzung, schnelle Durchführung, um die Schätzung des Netzwerkpfades nicht zu verlangsamen usw.).
  • Wie bereits erwähnt, können bestimmte Arten oder Kategorien von Paketverlusten auftreten, von denen vier im Folgenden beschrieben werden.
  • Gemäß einer ersten Kategorie (Kategorie 1) überwältigen Übertragungsfehler auf einer Verbindung den Zuverlässigkeitsmechanismus der Verbindungsschicht und verursachen Paketverluste (d. h. die oben beschriebenen Paketverluste durch Fehler und durch Überlastung). Bitfehler an einem Netzgerät können zum Verlust von Paketen führen. Diese Fehler sind jedoch meist zufällig und haben nichts mit der Überlastung zu tun, so dass sie in der Regel nicht als Ursache für Warteschlangenverzögerungen angesehen werden. Da die Fehler größtenteils zufällig sind, ist das Muster der Paketverluste oder die Signatur der Paketverluste der Kategorie 1 entsprechend zufällig. In einigen Beispielen kann eine BDA-Schätzung als genau genug für die Verwendung angesehen werden, wenn die Wahrscheinlichkeit eines Paketverlustes niedrig genug ist (im Verhältnis zu einem bestimmten Schwellenwert). Ist die Wahrscheinlichkeit hingegen hoch im Verhältnis zum vorgegebenen Schwellenwert (oder Höchstwert), wird die BDA-Schätzung verworfen.
  • Wie in 2 dargestellt, beschreibt ein OWD (delay) bump 200, der sich von Null bis 1500+ Mikrosekunden über einen Probe-Index/Paket 5 (202a) bis ungefähr zu einem Probe-Index/Paket 58 (202b) erstreckt, das Ausmaß der Überlastung/Periode, die sich als OWD bump widerspiegelt, der eine Zunahme und anschließende Abnahme der Überlastung anzeigt. Bei diesen Übertragungen werden keine Pakete fallen gelassen (keine Paketverluste). In diesem Beispiel werden von der BDA Messpunkte 204a/b (die Paketen entsprechen) ausgewählt, die während des Zeitraums mit zunehmender und abnehmender OWD ungefähr die gleiche OWD von etwa 200 Mikrosekunden aufweisen.
  • Gemäß einer zweiten Kategorie von Paketverlusten (Kategorie 2) kann ein Engpass gegenüber einer Tail-Drop-Warteschlange oder einer AQM-Warteschlange entstehen, die standardmäßig nicht überlastet ist. Daher sind solche Warteschlangen standardmäßig meist leer, und es besteht keine Notwendigkeit, Pakete zu verwerfen. Wenn zusätzlicher Verkehr hinzukommt und in der Folge eine Überlastung verursacht, füllt sich die Warteschlange, die Warteschlangenverzögerung nimmt zu, und wenn die Warteschlange voll ist, werden Pakete verworfen.
  • 3 zeigt ein Beispielszenario, bei dem eine Tail-Drop-Warteschlange (ein AQM-Muster wäre ähnlich) zur Steuerung von Paketübertragungen verwendet wird, und die daraus resultierenden Verluste der Kategorie 2. Wie in dargestellt, tritt ein OWD-Bump 300 etwa zwischen dem Sondenindex 250 und 2500 auf (die Grenzen des OWD-Bumps spiegeln sich in den Punkten wider, die einem OWD von 0 entsprechen, sowie in ausgewählten Messpunkten, d. h. 302a/b und 304a/b). Wenn eine Tail-Drop-Warteschlange (oder AQM-Warteschlange) verwendet wird, kann es zu einer Überlastung kommen bzw. diese zunehmen (was durch den Anstieg der OWD von 0 Mikrosekunden auf etwa 14.000 Mikrosekunden angezeigt wird). Wenn die Warteschlange gefüllt ist, werden die Pakete verworfen. In 3 tritt dieser Paketverlust etwa zwischen dem Paket 500th und dem Paket 2000th auf. Das Muster des Paketverlusts zeigt dies als eine Abschneidung des OWD-Bumps, und die ausgewählten Messpunkte 304a/b liegen „außerhalb“ des Paketverlustbereichs des OWD-Bumps.
  • Gemäß einer dritten Kategorie (Kategorie 3) kann der Engpass wiederum eine Tail-Drop-Warteschlange oder eine AQM-Warteschlange sein, die jedoch standardmäßig überlastet ist. Mit anderen Worten, eine solche Warteschlange ist meist voll, und Pakete, die die Kapazität der Warteschlange überschreiten, werden verworfen. Wenn zusätzlicher Verkehr hinzukommt und eine Überlastung verursacht, erhöht sich die Warteschlangenverzögerung nicht, aber die Paketverluste nehmen zu.
  • Gemäß einer vierten Kategorie (Kategorie 4) reagiert der Engpass auf eine Überlastung, indem er Pakete fallen lässt und die Wartezeit nicht erhöht. Das heißt, dass in einem solchen Szenario ein Token Bucket Policer im Netz eingesetzt werden kann. Wenn der Engpass standardmäßig nicht überlastet ist, kommt es zu keinen Paketverlusten, aber wenn eine Überlastung vorliegt, werden Pakete verworfen. Wenn zusätzlicher Verkehr hinzukommt und eine Überlastung verursacht, nehmen die Paketverluste, ähnlich wie bei Kategorie 3, zu. Es sollte jedoch beachtet werden, dass ein solcher Engpass nicht zu einer Erhöhung der Wartezeit führt. Befinden sich jedoch andere Warteschlangen auf dem Netzpfad, so sind diese zwar nicht der Engpass, führen aber dennoch häufig zu einem Anstieg der Verzögerung, wenn sie belastet werden. Die empfangenen Pakete können Verzögerungssignaturen aufweisen, die mit einer Warteschlange zusammenhängen, die nicht der Engpass ist. Wie bereits erwähnt, geht das PRM-Modell davon aus, dass auf dem Netzpfad keine Probepakete verloren gehen und dass jedes gesendete Paket empfangen wird und verwendet werden kann.
  • 5 zeigt ein Beispielszenario, in dem ein Token Bucket Policer verwendet wird, um Paketübertragungen auf einem Netzpfad zu steuern. Es ist zu erkennen, dass ein OWD-Bump 500 bei Beginn einer Überlastung auftritt, der OWD-Bump jedoch nicht mit dem Policer/Hauptengpass zusammenhängt. Es ist zu beachten, dass es Szenarien gibt, in denen eine andere Warteschlange als weiterer/sekundärer Engpass fungiert (wie oben angedeutet). Daher wird der Engpass, der dem Token Bucket Policer zuzuschreiben ist, als Haupt- oder primärer Engpass betrachtet. Die meisten Token-Bucket-Policer weisen ein Bursting-Verhalten auf, und zu Beginn der Überlastung dauert es eine Weile, bis dem Token-Bucket die Token ausgehen und er anfängt, Pakete zu verwerfen (was zu Paketverlusten führt), während dieser Zeit kann der Verkehr den Token-Bucket-Policer mit einer höheren Rate passieren.
  • Zusätzliche Warteschlangen können stromabwärts des Token Bucket Policers vorhanden sein, und während des Bursting können sie vorübergehend überlastet sein und einen OWD-Bump erzeugen (ungefähr Paket 0 bis Paket 100). Sobald der Token-Bucket-Policer beginnt, Pakete fallen zu lassen, wird die Überlastung auf dem Downstream beseitigt (ca. Paket 100 bis Paket 200). Danach führt die Überlastung nur noch zu Paketverlusten (ca. Paket 200 bis 3000).
  • Beim Einsatz solcher PRM-Methoden in einem realen Netz traten Szenarien auf, in denen eine Überlastung zu Paketverlusten führte, insbesondere bei längeren Sondenzügen. Die meisten dieser Paketverluste wurden als Paketverluste der Kategorie 2 beobachtet (AQM oder Tail-Drop-Warteschlangen, die standardmäßig nicht überlastet sind). Herkömmliche PRM-Methoden könnten so modifiziert werden, dass sie moderate Paketverluste tolerieren. Bei Methoden mit abnehmender Rate, die eine BDA verwenden, könnte die Berechnung der durchschnittlichen Empfangsrate von Prüfpaketen zwischen den beiden Paketen des Paketpaares geändert werden, um die fehlenden Prüfpakete zu berücksichtigen, wobei die Anzahl der empfangenen Pakete anstelle der Anzahl der gesendeten Pakete abzüglich der Verluste verwendet wird. Diese Methoden sind in der Regel unempfindlich gegenüber Paketverlusten aufgrund von Überlastung, da Verluste an der Basis eines OWD-Bumps (weniger Überlastung) weniger wahrscheinlich sind. Obwohl sie möglicherweise ausreichen, um eine genaue Bandbreitenschätzung bei Paketverlusten der Kategorie 2 zu erreichen, führen sie zu fehlerhaften Schätzungen, wenn andere Kategorien von Paketverlusten eine Rolle spielen. Das heißt, Verluste aufgrund von Tail-Drop- oder AQM-Warteschlangenmethoden können getrost ignoriert werden, da die Überlastung eine ausreichende Erhöhung der Warteschlangenverzögerung verursacht, um einen OWD-Bump zu erzeugen, der für die Bandbreitenabschätzung verwendet werden kann.
  • Bei anderen Kategorien kann die Bandbreitenschätzung jedoch ungenau sein. Wenn beispielsweise Paketverluste der Kategorie 1 nach dem Engpass auftreten, werden die Pakete von der empfangenen Rate abgezogen, was zu einer Unterschätzung der Bandbreite führen kann. Bei Paketverlusten der Kategorie 3 erhöht sich die Warteschlangenverzögerung nicht, es entsteht kein OWD-Bump, und daher schlägt die Bandbreitenschätzung fehl, d. h., solche Paketverluste werden nicht ordnungsgemäß als Auswirkung auf die verfügbare Bandbreite auf einem Netzwerkpfad berücksichtigt. Bei Paketverlusten der Kategorie 4 erhöht der Hauptengpass die Warteschlangenverzögerung nicht und erzeugt auch keinen OWD-Bump. Daher wird entweder kein OWD-Bump erzeugt, und dementsprechend schlägt die Bandbreitenschätzung fehl, oder der OWD-Bump wird von einer Warteschlange erzeugt, die nicht der Engpass ist, und eine resultierende Bandbreitenschätzung überschätzt die verfügbare Bandbreite.
  • Beispiele der vorliegenden Offenlegung können die Bandbreitenschätzung verbessern, indem sie die Rate der Paketverluste berücksichtigen und die Bandbreitenschätzung nur dann durchführen, wenn die Paketverluste über den gesamten Probezug hinweg moderat sind (z. B. weniger als 10 % oder 20 %), während in anderen Fällen die Bandbreitenschätzung der BDA verworfen wird. Eine solche Filterung ist jedoch nicht ausreichend. So kann es beispielsweise viele Fälle geben, in denen mäßige Paketverluste durch Szenarien der Kategorie 1 oder 4 verursacht werden, was zu Fehlern bei der Bandbreitenschätzung führen kann. Es gibt auch Szenarien, in denen starke Paketverluste aufgrund der Kontrolle durch Tail-Drop- oder AQM-Warteschlangen auftreten und in denen die Schätzung mit BDA erfolgen könnte.
  • Beispiele der vorliegenden Offenlegung beziehen sich auf LBF, bei denen Paketverluste, die mit einer oder mehreren bestimmten Art(en) von Paketverlustkategorien verbunden sind, behandelt werden können, und zwar ohne teure Berechnungen und ohne Hinzufügen eines Schätzfehlers zu einer Schätzung der verfügbaren Bandbreite. Beispiele der vorliegenden Offenlegung können Paketverlustmuster analysieren, um festzustellen, ob Paketverluste (verworfene Pakete) innerhalb eines OWD-Bumps auftreten. Wenn dies der Fall ist, kann davon ausgegangen werden, dass solche Paketverluste den Paketverlusten der Kategorie 2 entsprechen, und wie weiter unten beschrieben wird, kann davon ausgegangen werden, dass eine BDA-Schätzung genau/präzise genug für die Verwendung in der Netzverkehrstechnik oder anderen Anwendungen/Zusammenhängen ist, die Kenntnisse über die verfügbare Bandbreite auf einem Netzpfad erfordern. Wenn dies nicht der Fall ist, d. h. ein Paketverlustmuster einer anderen Kategorie zugeordnet ist, kann davon ausgegangen werden, dass die BDA eine ungenaue oder fehlerhafte Schätzung der verfügbaren Bandbreite liefert, und diese Schätzung kann verworfen, ignoriert oder anderweitig nicht verwendet werden.
  • Mit anderen Worten, es kann bestimmt werden, ob die BDA-Schätzung akzeptabel ist oder nicht, wenn Paketverluste in einem Sondenzug vorhanden sind, so dass Paketverluste in die PRM-Bandbreitenschätzungstechniken integriert werden können (ein berücksichtigter Faktor). Insbesondere kann besser bestimmt werden, wann BDA auf Sondenzügen mit Paketverlusten verwendet werden kann, wobei nur geringfügige Anpassungen an die herkömmliche BDA vorgenommen werden müssen, wenn diese in gängigen Schätzverfahren verwendet wird. So können Beispiele der vorliegenden Offenbarung einfach implementiert werden, und die CPU-Nutzung und andere Overheads können minimiert werden. Dies kann dazu beitragen, Verlangsamungen aufgrund von BDA-Schätzungen für Netzwerkpfade zu vermeiden.
  • Zurück zu 2: Wenn ein Sondenzug für die Verwendung bei der BDA-basierten Schätzung richtig konfiguriert ist, entsteht eine Überlastungsspitze, gefolgt von einem Ausfall/einer Entlastung. Ohne das Auftreten von verlorenen Paketen ist die Signatur eines solchen Szenarios wiederum ein OWD-Bump, bei dem die Verzögerung ansteigt und zu einer nicht überlasteten Verzögerung zurückkehrt. Nach dem OWD-Bump folgt das Verzögerungsmuster (mehr oder weniger) dem minimalen OWD-Schwellenwert. Beim Auftreten von Paketverlusten, die durch die Verwendung einer Tail-Drop-Warteschlange oder einer AQM-Warteschlange verursacht werden, ist zu erkennen, dass der OWD-Bump der gleiche/ähnliche ist wie ohne Paketverluste, mit der Ausnahme, dass der obere Teil des OWD-Bumps abgeschnitten ist. Anstatt dass die Verzögerung auf ein bestimmtes Niveau/einen bestimmten Wert ansteigt, wird die Verzögerung begrenzt, wenn die Tail-Drop- oder AQM-Warteschlange voll ist. Wie bereits erwähnt, treten Paketverluste auf, wenn die Warteschlange voll ist - dies ist der einzige Zeitpunkt, zu dem Pakete fallen gelassen werden, was mit einer hohen Verzögerung einhergeht, und die typische Signatur eines solchen Szenarios der Kategorie 2 ist so, dass Paketverluste im mittleren Teil der OWD-Welle auftreten, d. h. am höchsten Punkt der Überlastung.
  • Die anderen vorgenannten Kategorien von Paketverlusten weisen diese einzigartige Signatur nicht auf. Übertragungsverluste (Kategorie 1) sind zufällig und gleichmäßig über den gesamten Chirp-Zug verteilt, unabhängig von der Überlastung. Im Falle einer bereits gesättigten Warteschlange (Kategorie 3) ist die Warteschlange immer überlastet, und daher treten Paketverluste im gesamten Sondenzug auf. Bei Verwendung von Token Bucket Policing (Kategorie 4) sind Paketverluste zu erwarten, bis die Sondierungsrate niedriger ist als die Rate des Token Buckets, wobei der Token Bucket keine Verzögerungserhöhung bewirkt. Wenn es einen OWD-Bump in Verbindung mit einer anderen Warteschlange gibt (vorübergehend überlastete nachgelagerte Warteschlange), wie oben beschrieben, ist diese Warteschlange nicht die Ursache des Hauptengpasses und hat eine höhere Rate als der ABW. Infolgedessen endet der OWD-Bump vor dem ABW, und Paketverluste können sich über das Ende des OWD-Bumps hinaus erstrecken. Wie aus 5 ersichtlich, erstreckt sich das Auftreten von verlorenen Paketen/Paketverlusten über den OWD-Bump hinaus, und der OWD-Bump endet, bevor die Paketverluste nachlassen bzw. nicht mehr auftreten.
  • Wie bereits erwähnt, erkennt die BDA einen OWD-Bump in einem empfangenen Probe-Train, wählt zwei Pakete im OWD-Bump aus und führt dann Messungen zwischen diesen beiden Paketen durch, die zur Extrapolation einer geschätzten Menge an verfügbarer Bandbreite verwendet werden können. Die Art und Weise, in der verschiedene BDAs diese Aufgaben durchführen, kann unterschiedlich sein (z. B. PathCos++, SLDRT, Voyager-2, Voyager3 können unterschiedliche Methoden zur Auswahl von Messpunkten/Paketen verwenden). Die meisten BDAs versuchen jedoch, zwei Pakete auf beiden Seiten des OWD-Bumps zu finden, und zwar in der Nähe des unteren Endes des OWD-Bumps (d. h. in der Nähe des Beginns des Anstiegs der Überlastung und in der Nähe des Endes der Entlastung vor einer Rückkehr zur Normalität). Oftmals versuchen die BDAs nicht, Messungen über die gesamte Dauer eines OWD-Bumps durchzuführen. Vielmehr identifizieren die meisten BDAs einfach zwei Messpunkte, d. h. Pakete in einem Probe-Train mit gleichem/ähnlichem Überlastungsgrad, anhand derer sie eine Schätzung der verfügbaren Bandbreite vornehmen.
  • Wenn eine Tail-Drop- oder AQM-Warteschlange noch nicht gesättigt ist, wird erwartet, dass Paketverluste am oberen Ende des OWD-Bumps auftreten, wie zuvor beschrieben. Aufgrund von Schwankungen bei der Verzögerung und der Stapelung von Verlusten ist der obere Teil eines OWD-Bumps in verschiedenen Szenarien jedoch möglicherweise nicht genau definiert, und Paketverluste können bei geringer Auslastung der Warteschlange auftreten, d. h. wenn der OWD noch relativ klein ist. Einige Warteschlangen verarbeiten Pakete in Stapeln, was dazu führt, dass Paketverluste gehäuft auftreten und der OWD am oberen Ende des OWD-Bumps durch eine gezackte oder nicht flache Signatur gekennzeichnet ist. 6 zeigt ein Beispielszenario, in dem Paketverluste durch Tail-Drop und AQM in einer überlasteten Warteschlange verursacht werden. Das Ziel von AQM besteht darin, Pakete zu verwerfen, bevor die Warteschlange voll ist. Auf diese Weise kann ein TCP-Sender eine Überlastung früher erkennen. In Verbindung mit TCP kann TCP dank AQM schneller reagieren und vermeiden, dass eine Warteschlange vollständig gefüllt wird. In 6 treten Paketverluste aufgrund von Tail-Drop am oberen Ende des OWD-Bump 600 auf, zwischen den Paketen 500 und 3000. Paketverluste aufgrund von AQM treten auf, während sich die Warteschlange füllt (zunehmende Verzögerung), zwischen den Paketen 100 und 500, und während sich die Warteschlange verkleinert (abnehmende Verzögerung), zwischen den Paketen 3000 und 3800. Es ist zu erkennen, dass die Paketverluste beginnen, bevor OWD den oberen Teil des OWD-Stoßes 600 erreicht, und sich fortsetzen, nachdem OWD zu sinken beginnt. Die Zone der Paketverluste liegt also ungefähr zwischen den Paketen 200 und 3800, und der obere Teil des OWD-Buckels 600 ist nicht streng flach, da das AQM die Größe der Warteschlange reduziert. Es sollte verstanden werden, dass sich die „Spitze“ eines OWD-Bumps auf den/die Abschnitt(e) eines OWD-Bumps beziehen kann, in dem die Paket-OWD nahe der maximalen OWD liegt (z. B. beträgt die Differenz zur maximalen OWD weniger als etwa 10 % der Differenz zwischen der maximalen und minimalen OWD). Dies steht im Gegensatz zur strengen Tail-Drop-Warteschlangenbildung, bei der Paketverluste nur am oberen Ende des OWD-Bumps auftreten (3), obwohl AQM nicht notwendigerweise der einzige Grund sein muss, warum Verluste außerhalb der Grenzen des oberen Teils eines OWD-Bumps auftreten. Beispielsweise können andere Netzwerkelemente auf einem bestimmten Netzwerkpfad variable Verzögerungen aufweisen, die jede OWD-Messung verfälschen.
  • Wie bereits erwähnt, gehen BDAs davon aus, dass die Verzögerung der als Messpunkte ausgewählten Pakete den Grad der Überlastung korrekt widerspiegelt, wenn diese von der Warteschlange verarbeitet wurden. Wenn es zu Paketverlusten kommt, spiegelt die Verzögerung nicht die volle Überlastung wider. Für genaue Messungen sollten daher keine Paketverluste in der Nähe dieser ausgewählten Pakete/Messpunkte auftreten (zumindest keine signifikanten Paketverluste). Wenn es in dem Teil des OWD-Bumps zwischen den Messpunkten zu Paketverlusten kommt, kann davon ausgegangen werden, dass diese hauptsächlich durch ungesättigten Tail-Drop verursacht werden, und solche Paketverluste können sicher ignoriert werden, solange sie sich nicht in der Nähe der Messpunkte befinden. Andererseits deuten signifikante Paketverluste, die ungefähr an oder außerhalb dieser Pakete auftreten (zum Beispiel links vom ersten Messpunkt/Paket 302a und rechts vom zweiten Messpunkt/Paket 302b, wie in 3 dargestellt), darauf hin, dass die Paketverluste auf eine andere Ursache zurückzuführen sind und dass die Bandbreitenschätzung ungenau ist und nicht verwendet werden sollte.
  • Die Zone der ignorierbaren Paketverluste kann auf der Grundlage der für die Messungen ausgewählten/verwendeten Pakete definiert werden (4). Da die für die Messungen verwendeten Pakete eine Rolle spielen, um genaue BDA-Schätzungen zu erhalten, kann diese Zone eine gewisse Anzahl von Paketen vor/nach den eigentlichen Messpunkten/Paketen umfassen, bei denen das Auftreten von Paketverlusten akzeptabel ist, mit anderen Worten, solche Paketverluste können ignoriert werden. In der Regel reichen ein bis drei Pakete vor/nach den eigentlichen Messpunkten oder Paketen aus, um das Auftreten akzeptabler (oder nicht akzeptabler) Paketverluste zu erfassen, obwohl die tatsächliche Anzahl von Paketen, die den Messpunkten/Paketpaaren vorausgehen/nachfolgen, variieren kann, z. B. auf der Grundlage eines gegebenen Prozentsatzes der ansteigenden/abfallenden Teile oder Zonen/Bereiche des OWD-Bumps. Das heißt, um sicherzustellen (oder zu versuchen, so viel wie möglich sicherzustellen), dass das ausgewählte Paketpaar (Messpunkte) nicht durch Paketverluste beeinträchtigt wird, wobei idealerweise Paketverluste neben/neben dem Paketpaar nicht existieren sollten oder in einigen Fällen zumindest selten sind. In Übereinstimmung mit einigen Beispielen der offengelegten Technologie schließt die Zone der ignorierbaren Paketverluste einige wenige Pakete in der Nähe eines Paketpaares aus. Diese Anzahl von Paketen kann statisch konfiguriert werden, sie kann ein Bruchteil der Gesamtzahl von Paketen in der Chirp-Folge sein oder auf anderen vom Empfänger durchgeführten Messungen basieren. Wenn diese Anzahl von Paketen beispielsweise zwei beträgt, erstreckt sich der Bereich der ignorierbaren Paketverluste von zwei Paketen nach einem ersten Messpunkt/Paket bis zu zwei Paketen vor einem zweiten Messpunkt/Paket. Dies hat zur Folge, dass eine sich ergebende Bandbreitenschätzung verworfen werden kann, wenn es in einem ersten Teil des Messzuges (bis zu zwei Pakete nach dem ersten Messpaket) und im letzten Teil des Messzuges (ab zwei Paketen vor dem zweiten Messpaket) zu erheblichen Paketverlusten kommt.
  • zeigt ein solches Beispiel, bei dem die gestrichelten Linien 402a/b, die (ungefähr) den Paketen 400 und 2200 entsprechen, die Ausdehnung einer Zone mit ignorierbaren Paketverlusten auf der Grundlage der für die Messung ausgewählten Pakete beschreiben. In 4 entsprechen die gestrichelten Linien 402a/b ungefähr zwei Paketen nach Punkt 302a und ungefähr zwei Paketen vor Punkt 304b, die den „Schwellenbereich“ außerhalb der Zone der ignorierbaren Paketverluste abgrenzen. Das heißt, eine sich ergebende Bandbreitenschätzung kann verworfen werden, wenn es im ersten Teil des Sondenzugs (vom ersten Paket bis zur Linie 402a und zwei Pakete nach dem ersten Messpaket 304a) und im letzten Teil des Sondenzugs (ab Linie 402b, zwei Pakete vor dem zweiten Messpaket 304b, bis zum letzten Paket) erhebliche Paketverluste (über einem Schwellenwert) gibt. Andererseits liegen die Paketverluste 300, die durch „tail-drop“ verursacht werden, vollständig zwischen den Leitungen 402a/b und damit im Bereich der ignorierbaren Paketverluste und führen nicht dazu, dass die Bandbreitenschätzung verworfen wird.
  • In anderen Beispielen können Alternativen zur Definition einer Zone ignorierbarer Paketverluste z. B. die Definition einer Oberseite des OWD-Bumps auf der Grundlage der Verzögerung oder sogar die Verwendung der gesamten Ausdehnung/Breite des OWD-Bumps umfassen, um zu bestimmen, ob Paketverluste in einen akzeptablen Bereich fallen. In einigen Beispielen kann eine ignorierbare Zone von Paketverlusten durch zwei Pakete definiert werden, deren zugehörige OWD-Verzögerung ungefähr auf halbem Weg zwischen dem unteren (niedrigster Verzögerungswert) und dem oberen/Spitzenwert (maximaler Verzögerungswert) des OWD-Bumps liegt. 4 zeigt ein solches Beispiel, bei dem die Linien 400a/b die Ausdehnung der Zone ignorierbarer Paketverluste definieren und auf der Grundlage von Paketen ausgewählt werden können, die auf halbem Weg zwischen minimalen und maximalen OWDs liegen. Wie zu erkennen ist, liegen die Paketverluste 300, die durch Tail-Drop verursacht werden, vollständig zwischen den Linien 400a/b und damit in der Zone der ignorierbaren Paketverluste.
  • Es sollte klar sein, dass im Allgemeinen nicht davon ausgegangen werden kann, dass der Teil des Sondenzuges außerhalb der Zone der ignorierbaren Paketverluste (entweder 400a/b oder 402a/b) aufgrund der verrauschten / sprunghaften Verteilung von Verlusten und Übertragungsfehlern (Kategorie 1) völlig verlustfrei sein wird. Dementsprechend sollte die Entscheidung, ob eine BDA-Schätzung verwendet werden kann oder nicht, robust genug sein, um reale Bedingungen zu berücksichtigen (d. h. Rauschen und Burst-Verteilung). In einigen Beispielen wird diese Robustheit durch die Verwendung eines prozentualen Schwellenwerts für Paketverluste erreicht, der verwendet werden kann, um solche Merkmale des Sondenzugs/Netzes zu berücksichtigen.
  • Insbesondere, wenn der Prozentsatz der Paketverluste außerhalb der Zone der ignorierbaren Paketverluste ein relativ niedriger Wert ist, z. B. unter einem benutzerdefinierten Schwellenwert um einen bestimmten Betrag, z. B. standardmäßig 5 %, kann davon ausgegangen werden, dass der Paketverlust, der vor oder nach dem OWD-Bump auftritt, lediglich auf Rauschen/Übertragungsverluste (Kategorie 1) zurückzuführen ist und nicht auf einen „tatsächlichen“ Paketverlust aufgrund einer anderen Paketverlustkategorie. Wenn also die Paketverluste unter diesem Schwellenwert liegen, können BDA-Schätzungen verwendet werden. Ein solcher Schwellenwert ist in der Regel viel niedriger als Paketverlustschwellen, die für den gesamten Probe Train gelten. Dieser strengere Schwellenwert ist möglich, weil Paketverluste eher innerhalb der Grenzen des OWD-Bumps zu erwarten sind als an oder außerhalb der Messpunkte/Pakete, wo das Auftreten von Paketverlusten weniger wahrscheinlich ist. Infolgedessen können in einigen Beispielen mehr BDA-Schätzungen, die aus Sondenzügen stammen, verworfen werden, wenn Paketverluste auf andere Bedingungen/Gründe zurückzuführen sind. Diese striktere Filterung führt wiederum zu genaueren BDA-Schätzungen.
  • Die und veranschaulichen ein System und ein entsprechendes Betriebsverfahren für die Filterung von Bandbreitenschätzungen in Übereinstimmung mit einem Beispiel der offengelegten Technologie und werden in Verbindung miteinander beschrieben. Wie in 7 dargestellt, kann ein Empfänger-Rechengerät 720, z. B. ein Netzwerkgerät oder -element, eine Reihe von Prüfpaketen (eine Reihe von Paketen) über einen Netzwerkpfad von einem Netzwerk 730 empfangen (ähnlich dem in 1 dargestellten Szenario).
  • Das Empfänger-Rechengerät 720 kann eine oder mehrere Rechenkomponenten umfassen, die von einem Hardware-Prozessor 722 verkörpert werden, z. B. eine oder mehrere Zentraleinheiten (CPUs), Mikroprozessoren auf Halbleiterbasis und/oder andere Hardware-Vorrichtungen, die zum Abrufen und Ausführen von Befehlen geeignet sind, die im maschinenlesbaren Speichermedium 724 gespeichert sind. Der Hardware-Prozessor 722 kann Befehle abrufen, dekodieren und ausführen, wie z. B. Befehle, die die in 8 dargestellten Verfahren/Vorgänge verkörpern, wie nachstehend ausführlicher beschrieben. Alternativ oder zusätzlich zum Abrufen und Ausführen von Befehlen kann der Hardware-Prozessor 722 einen oder mehrere elektronische Schaltkreise enthalten, die elektronische Komponenten zur Ausführung der Funktionalität eines oder mehrerer Befehle umfassen, wie z. B. ein Field Programmable Gate Array (FPGA), einen anwendungsspezifischen integrierten Schaltkreis (ASIC) oder andere elektronische Schaltkreise. \
  • Ein maschinenlesbares Speichermedium, wie das maschinenlesbare Speichermedium 724, kann ein beliebiges elektronisches, magnetisches, optisches oder anderes physikalisches Speichergerät sein, das ausführbare Anweisungen enthält oder speichert. Bei dem maschinenlesbaren Speichermedium 724 kann es sich beispielsweise um einen Arbeitsspeicher (RAM), einen nichtflüchtigen Arbeitsspeicher (NVRAM), einen elektrisch löschbaren, programmierbaren Festspeicher (EEPROM), ein Speichergerät, eine optische Platte oder Ähnliches handeln. In einigen Beispielen kann das maschinenlesbare Speichermedium 724 ein nicht-transitorisches Speichermedium sein, wobei der Begriff „nicht-transitorisch“ nicht die transitorischen Übertragungssignale umfasst. Wie unten im Detail beschrieben, kann das maschinenlesbare Speichermedium 724 mit ausführbaren Anweisungen kodiert sein.
  • In einigen Beispielen kann das Empfänger-Rechengerät 720 eine Paketempfangskomponente 720a umfassen. Wie in 8 dargestellt, wird bei Vorgang 800 eine Reihe von Prüfpaketen über einen Netzwerkpfad empfangen. Der Satz von Prüfpaketen kann eine Folge von Datenpaketen sein, die, wie oben beschrieben, einen Prüfzug mit einem bestimmten Zeitintervall zwischen den Abfahrten der einzelnen Prüfpakete umfasst. Die Zeitintervalle zwischen den Paketen definieren eine momentane Rate, und das Netz kann auf diese Rate reagieren, indem es entweder das Intervall weitgehend unverändert lässt oder die Pakete in Abständen sendet. Die Prüfpakete können gesendet werden, um eine Verzögerung/Störung in den Netzpfad einzubringen, damit eine Bandbreitenschätzung durchgeführt werden kann.
  • In einigen Beispielen kann das Empfänger-Rechengerät 720 eine Bandbreitenschätzungskomponente 720b umfassen. Verzögerungen werden auf dem Netzwerkpfad gemessen und können in die Bandbreitenschätzungskomponente 720b eingegeben werden. Wie bereits erwähnt, kann die mit den empfangenen Paketen verbundene Verzögerung gemessen werden, um die Netzwerkpfadbandbreite mithilfe des OWD-Prozesses zu bestimmen. Zusätzlich werden alle Paketverluste gemessen und können in die LBF-Komponente 720c (siehe unten) eingegeben werden.
  • Beispielsweise wird, wie in 8 dargestellt, die verfügbare Bandbreite des Netzwerkpfads unter Verwendung von BDA bei Vorgang 802 geschätzt. Auch hier beinhaltet BDA die Auswahl eines Paars von Paketen mit ähnlicher Überlastung auf beiden Seiten einer Überlastungsspitze oder eines OWD-Bumps. Das Paketpaar, das als Messpunkte ausgewählt wird, kann zur Schätzung der verfügbaren Bandbreite bei Vorhandensein eines Engpasses verwendet werden, der auf einen Überlastungszustand mit dem Verwerfen von Paketen reagiert (d. h. Paketverluste verursacht). Bei der BDA hat der Sondierungszug eine abnehmende Rate, um zunächst einen überlasteten Zustand des Netzwerkpfads zu erzeugen (z. B. eine Rate, die höher ist als der Engpass), und dann den Netzwerkpfad zu entlasten (z. B. eine Rate, die niedriger ist als der Engpass). Das bedeutet, dass die OWD von Paketen über den Sondenzug hinweg ansteigt (ein überlasteter Zustand) und dann wieder abfällt (ein entlasteter Zustand). Wenn der Engpass durch die Verwendung von Tail-Drop-Queuing oder AQM entsteht, die standardmäßig nicht überlastet sind, führt das Hinzufügen von Datenverkehr bzw. die Zunahme des Datenverkehrs zu einer Überlastung. Die Warteschlange füllt sich, die Warteschlangenverzögerung nimmt zu, und wenn die Warteschlange voll ist, werden Pakete verworfen.
  • Aufgrund des Rauschens, der Häufigkeit von Paketübertragungen sowie von Übertragungsfehlern ist ein gewisser Spielraum oder eine Fehlerspanne vorhanden. In einigen Beispielen kann diese Fehlerspanne durch eine LBF-Komponente 720c bereitgestellt werden, die bestimmen kann, ob eine ignorierbare Zone von Paketverlusten 720in der Nähe der Messpunkte/Paketpaare existiert. Wie in 8 dargestellt, wird in Operation 804 eine ignorierbare Zone von Paketverlusten in Bezug auf einen OWD-Schwellenwert bestimmt, der die Übertragungsverzögerung/-stauung des Satzes von Prüfpaketen über den Netzwerkpfad widerspiegelt. In einigen Beispielen kann ein bestimmter Schwellenwert in Bezug auf die Zone der ignorierbaren Paketverluste festgelegt werden. Wenn Pakete mit einer angemessenen Rate verworfen werden (z. B. innerhalb eines bestimmten Schwellenwerts oder anderweitig akzeptabel), kann angenommen werden, dass verworfene Pakete auftreten, weil die Tail-Drop- oder AQM-Warteschlange voll geworden ist; in diesem Fall kann die mit BDA abgeleitete Bandbreitenabschätzung, die Paketverluste ignoriert, als genau angesehen werden. Das heißt, dass bei Vorgang 806, wenn festgestellt wird, dass die Menge der verworfenen Pakete außerhalb der Zone der ignorierbaren Paketverluste niedrig genug ist, die geschätzte verfügbare Bandbreite für die Verwendung in einigen nachfolgenden Aktionen akzeptiert werden kann, z. B. für Aktionen im Zusammenhang mit der Netzverkehrstechnik. Mit anderen Worten, eine Schätzung der verfügbaren Bandbreite kann an die Leistungskomponente 720d für das Network Traffic Engineering gemeldet werden. Wenn Pakete mit einer unangemessenen Rate verworfen werden (z. B. außerhalb eines bestimmten Schwellenwerts oder anderweitig inakzeptabel), kann davon ausgegangen werden, dass verworfene Pakete aus einem anderen Grund als dem Vollwerden der Tail-Drop- oder AQM-Warteschlange auftreten; in diesem Fall kann die mit BDA abgeleitete Bandbreitenschätzung, die Paketverluste ignoriert, nicht als genau angesehen werden. Das heißt, die Paketverluste können nicht vernünftig ignoriert werden. Daher kann bei Vorgang 808, wenn festgestellt wird, dass die ignorierbare Zone von Paketverlusten eine unannehmbare Menge an verworfenen Paketen widerspiegelt, die geschätzte verfügbare Bandbreite verworfen oder anderweitig unterdrückt werden. In einigen Beispielen können eine oder mehrere weitere BDA-basierte Schätzungen durchgeführt werden, wobei ein weiterer Satz von Testpaketen empfangen und wie hier beschrieben analysiert wird. Bei Vorgang 810 kann die Schätzung der verfügbaren Bandbreite gemeldet und/oder zur Durchführung einer Netzwerkverkehrstechnikaktion verwendet werden.
  • In einigen Beispielen bezieht sich die ignorierbare Zone auf eine Teilmenge von Paketen des Sondenzuges in der Nähe der Messpunkte/Pakete, die innerhalb eines bestimmten Akzeptanzschwellenwertes liegen. Beispielsweise kann eine ignorierbare Zone mit zwei Paketen festgelegt oder ausgewählt werden, wobei die beiden Pakete auf den von der BDA für die Messung verwendeten Paketen beruhen. In anderen Beispielen kann es sich bei den beiden Paketen um Pakete handeln, die von den Messpunkten/Paketen begrenzt werden. In anderen Beispielen werden die beiden Pakete auf der Grundlage einer von der BDA ermittelten maximalen Verzögerung des OWD-Bumps festgelegt. In wiederum anderen Beispielen können die beiden Pakete auf der Grundlage der Gesamtheit des OWD-Bumps festgelegt werden. Der angewandte Schwellenwert kann variieren, aber in einigen Beispielen kann der Schwellenwert auf der Grundlage der maximalen und minimalen Verzögerung innerhalb des OWD-Bumps berechnet werden. In einigen Beispielen kann der Schwellenwert ein strenger/absoluter Filter sein, bei dem Paketverluste an oder in der Nähe der Messpunkte/Pakete völlig inakzeptabel sind, was bedeutet, dass alle Paketverluste innerhalb des OWD-Bumps auftreten müssen, damit eine solche Bandbreitenschätzung akzeptabel ist.
  • Es sollte verstanden werden, dass die hier beschriebenen Beispiele davon ausgehen, dass Paketverluste in einem OWD-Bump ignoriert werden. Ein Vorteil des Ignorierens von Paketverlusten im OWD-Bump ist, dass dadurch die Bandbreitenabschätzung unter mehr Bedingungen oder Szenarien durchgeführt werden kann. Darüber hinaus können durch das Ignorieren von Paketverlusten im OWD-Bump Bandbreitenschätzungen ermittelt (und verwendet) werden, während früher keine derartigen Bandbreitenschätzungen verfügbar und ausreichend genau gewesen wären. Darüber hinaus kann die Genauigkeit der Bandbreitenschätzungen durch die Suche nach spezifischen Engpässen der Kategorie 2 oder Pfadverlustmustern, wie hier beschrieben, erhöht werden, da strengere Schwellenwerte implementiert werden können, um Sondenzüge mit unerwünschten Paketverlusten zu eliminieren oder zu ignorieren. Letztlich verbessern bessere Schätzungen der verfügbaren Bandbreite die Effizienz der Netzwerkverkehrstechnik, insbesondere im Kontext von SD-WAN. Ein weiterer Vorteil ist, dass das Ignorieren von Paketverlusten auf die beschriebene Weise eine unkomplizierte Modifikation bekannter (manchmal bester) Methoden zur Messung der verfügbaren Bandbreite ist. Beispiele für die offengelegte Technologie können für die Verwendung in den meisten Netzwerkimplementierungen nachgerüstet oder angepasst werden, ohne dass der Code umstrukturiert oder Paketformate geändert werden müssen.
  • 9 zeigt ein Blockdiagramm eines Beispiel-Computersystems 900, in dem verschiedene der hier beschriebenen Beispiele implementiert werden können. Beispielsweise kann die in 1 dargestellte Sender-Rechenvorrichtung 110 oder Empfänger-Rechenvorrichtung 120 als Beispiel-Computersystem 900 in 9 implementiert werden. Das Computersystem 900 umfasst einen Bus 902 oder einen anderen Kommunikationsmechanismus zur Übermittlung von Informationen, einen oder mehrere Hardware-Prozessoren 904, die mit dem Bus 902 zur Verarbeitung von Informationen gekoppelt sind. Bei dem/den Hardware-Prozessor(en) 904 kann es sich zum Beispiel um einen oder mehrere Allzweck-Mikroprozessoren handeln.
  • Das Computersystem 900 umfasst auch einen Hauptspeicher 906, wie z. B. einen Speicher mit wahlfreiem Zugriff (RAM), einen Cache und/oder andere dynamische Speichergeräte, die mit dem Bus 902 verbunden sind, um Informationen und Anweisungen zu speichern, die vom Prozessor 904 ausgeführt werden sollen. Der Hauptspeicher 906 kann auch zum Speichern temporärer Variablen oder anderer Zwischeninformationen während der Ausführung von Befehlen verwendet werden, die vom Prozessor 904 ausgeführt werden sollen. Wenn solche Befehle in Speichermedien gespeichert werden, auf die der Prozessor 904 zugreifen kann, wird das Computersystem 900 zu einer Spezialmaschine, die so angepasst ist, dass sie die in den Befehlen angegebenen Operationen ausführt.
  • Das Computersystem 900 umfasst außerdem einen Festwertspeicher (ROM) 908 oder ein anderes statisches Speichergerät, das mit dem Bus 902 verbunden ist, um statische Informationen und Anweisungen für den Prozessor 904 zu speichern. Ein Speichergerät 910, wie z. B. eine Magnetplatte, eine optische Platte oder ein USB-Stick (Flash-Laufwerk) usw., ist vorgesehen und mit dem Bus 902 verbunden, um Informationen und Anweisungen zu speichern.
  • Das Computersystem 900 kann über den Bus 902 mit einem Display 912, z. B. einer Flüssigkristallanzeige (LCD) (oder einem Berührungsbildschirm), verbunden sein, um einem Computerbenutzer Informationen anzuzeigen. Ein Eingabegerät 914, einschließlich alphanumerischer und anderer Tasten, ist mit dem Bus 902 gekoppelt, um Informationen und Befehlsauswahlen an den Prozessor 904 zu übermitteln. Eine andere Art von Benutzereingabegerät ist die Cursorsteuerung 916, wie z. B. eine Maus, ein Trackball oder Cursorrichtungstasten zur Übermittlung von Richtungsinformationen und Befehlsauswahlen an den Prozessor 904 und zur Steuerung der Cursorbewegung auf dem Display 912. In einigen Beispielen können die gleichen Richtungsinformationen und Befehlsauswahlen wie bei der Cursorsteuerung über den Empfang von Berührungen auf einem Touchscreen ohne Cursor implementiert werden.
  • Das Computersystem 900 kann ein Benutzerschnittstellenmodul zur Implementierung einer grafischen Benutzeroberfläche enthalten, das in einem Massenspeichergerät als ausführbare Softwarecodes gespeichert werden kann, die von dem/den Computergerät(en) ausgeführt werden. Dieses und andere Module können beispielsweise Komponenten wie Softwarekomponenten, objektorientierte Softwarekomponenten, Klassenkomponenten und Aufgabenkomponenten, Prozesse, Funktionen, Attribute, Prozeduren, Unterprogramme, Segmente von Programmcode, Treiber, Firmware, Mikrocode, Schaltkreise, Daten, Datenbanken, Datenstrukturen, Tabellen, Arrays und Variablen umfassen.
  • Im Allgemeinen kann sich das Wort „Komponente“, „Engine“, „System“, „Datenbank“, „Datenspeicher“ und dergleichen, wie es hier verwendet wird, auf eine in Hardware oder Firmware verkörperte Logik oder auf eine Sammlung von Softwareanweisungen beziehen, die möglicherweise Ein- und Ausstiegspunkte haben und in einer Programmiersprache wie z. B. Java, C oder C++ geschrieben sind. Eine Softwarekomponente kann kompiliert und zu einem ausführbaren Programm verknüpft werden, in einer dynamischen Link-Bibliothek installiert werden oder in einer interpretierten Programmiersprache wie BASIC, Perl oder Python geschrieben sein. Es versteht sich von selbst, dass Softwarekomponenten von anderen Komponenten oder von sich selbst aus aufrufbar sein können und/oder als Reaktion auf erkannte Ereignisse oder Unterbrechungen aufgerufen werden können. Softwarekomponenten, die für die Ausführung auf Computergeräten konfiguriert sind, können auf einem computerlesbaren Medium, wie z. B. einer Compact Disc, einer digitalen Videodisc, einem Flash-Laufwerk, einer Magnetplatte oder einem anderen greifbaren Medium, oder als digitaler Download bereitgestellt werden (und können ursprünglich in einem komprimierten oder installierbaren Format gespeichert sein, das vor der Ausführung eine Installation, Dekomprimierung oder Entschlüsselung erfordert). Ein solcher Softwarecode kann teilweise oder vollständig in einem Speicher des ausführenden Computergeräts zur Ausführung durch das Computergerät gespeichert werden. Softwareanweisungen können in Firmware, wie z. B. einem EPROM, eingebettet sein. Darüber hinaus können die Hardwarekomponenten aus verbundenen Logikeinheiten wie Gattern und Flipflops und/oder aus programmierbaren Einheiten wie programmierbaren Gatteranordnungen oder Prozessoren bestehen.
  • Das Computersystem 900 kann die hierin beschriebenen Techniken unter Verwendung von kundenspezifischer festverdrahteter Logik, einem oder mehreren ASICs oder FPGAs, Firmware und/oder Programmlogik implementieren, die in Kombination mit dem Computersystem bewirkt oder programmiert, dass das Computersystem 900 eine Spezialmaschine ist. Gemäß einem Beispiel werden die hierin beschriebenen Techniken vom Computersystem 900 als Reaktion auf den/die Prozessor(en) 904 ausgeführt, der/die eine oder mehrere Sequenzen von einem oder mehreren Befehlen ausführt/ausführen, die im Hauptspeicher 906 enthalten sind. Solche Anweisungen können in den Hauptspeicher 906 von einem anderen Speichermedium, wie z. B. dem Speichergerät 910, eingelesen werden. Die Ausführung der im Hauptspeicher 906 enthaltenen Befehlssequenzen veranlasst den/die Prozessor(en) 904, die hierin beschriebenen Verfahrensschritte durchzuführen. In alternativen Beispielen können fest verdrahtete Schaltungen anstelle von oder in Kombination mit Softwareanweisungen verwendet werden.
  • Der Begriff „nichtflüchtige Medien“ und ähnliche Begriffe, wie sie hier verwendet werden, beziehen sich auf alle Medien, die Daten und/oder Befehle speichern, die eine Maschine in einer bestimmten Weise arbeiten lassen. Solche nichtflüchtigen Medien können nichtflüchtige Medien und/oder flüchtige Medien umfassen. Zu den nichtflüchtigen Medien gehören beispielsweise optische oder magnetische Festplatten, wie die Speichervorrichtung 910. Zu den flüchtigen Medien gehören dynamische Speicher, wie der Hauptspeicher 906. Zu den gängigen Formen nichtflüchtiger Medien gehören beispielsweise Disketten, flexible Platten, Festplatten, Solid-State-Laufwerke, Magnetbänder oder andere magnetische Datenspeichermedien, CD-ROMs, andere optische Datenspeichermedien, physische Medien mit Lochmustern, RAM, PROM und EPROM, FLASH-EPROM, NVRAM, andere Speicherchips oder -kassetten sowie deren vernetzte Versionen.
  • Nicht-transitorische Medien unterscheiden sich von Übertragungsmedien, können aber in Verbindung mit ihnen verwendet werden. Übertragungsmedien sind an der Übertragung von Informationen zwischen nichttransitorischen Medien beteiligt. Zu den Übertragungsmedien gehören beispielsweise Koaxialkabel, Kupferdraht und Glasfaserkabel, einschließlich der Drähte, die den Bus 902 bilden. Übertragungsmedien können auch in Form von Schall- oder Lichtwellen auftreten, wie sie bei der Datenkommunikation über Funk und Infrarot erzeugt werden.
  • Das Computersystem 900 umfasst auch eine Netzwerkschnittstelle 918, die mit dem Bus 902 verbunden ist. Die Netzwerkschnittstelle 918 stellt eine Zweiwege-Datenkommunikationsverbindung zu einer oder mehreren Netzwerkverbindungen her, die mit einem oder mehreren lokalen Netzwerken verbunden sind. Bei der Netzwerkschnittstelle 918 kann es sich beispielsweise um eine ISDN-Karte (Integrated Services Digital Network), ein Kabelmodem, ein Satellitenmodem oder ein Modem handeln, um eine Datenkommunikationsverbindung zu einer entsprechenden Art von Telefonleitung herzustellen. Ein weiteres Beispiel: Die Netzwerkschnittstelle 918 kann eine LAN-Karte (Local Area Network) sein, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN (oder einer WAN-Komponente für die Kommunikation mit einem WAN) herzustellen. Es können auch drahtlose Verbindungen implementiert werden. In jeder dieser Implementierungen sendet und empfängt die Netzwerkschnittstelle 918 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen, die verschiedene Arten von Informationen darstellen.
  • Eine Netzverbindung ermöglicht in der Regel die Datenkommunikation über ein oder mehrere Netze zu anderen Datengeräten. Eine Netzverbindung kann beispielsweise eine Verbindung über ein lokales Netz zu einem Host-Computer oder zu Datengeräten herstellen, die von einem Internetdienstanbieter (ISP) betrieben werden. Der ISP wiederum bietet Datenkommunikationsdienste über das weltweite Paketdatenkommunikationsnetz an, das heute gemeinhin als „Internet“ bezeichnet wird. Sowohl das lokale Netz als auch das Internet verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen. Die Signale in den verschiedenen Netzwerken und die Signale auf der Netzwerkverbindung und über die Netzwerkschnittstelle 918, die die digitalen Daten zum und vom Computersystem 900 übertragen, sind Beispiele für Übertragungsmedien.
  • Das Computersystem 900 kann Nachrichten senden und Daten, einschließlich Programmcode, über das/die Netzwerk(e), die Netzwerkverbindung und die Netzwerkschnittstelle 918 empfangen. Im Internet-Beispiel könnte ein Server einen angeforderten Code für ein Anwendungsprogramm über das Internet, den ISP, das lokale Netzwerk und die Netzwerkschnittstelle 918 übertragen.
  • Der empfangene Code kann vom Prozessor 904 bei seinem Empfang ausgeführt und/oder in der Speichervorrichtung 910 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert werden.
  • Jeder der in den vorangegangenen Abschnitten beschriebenen Prozesse, Methoden und Algorithmen kann in Code-Komponenten verkörpert und vollständig oder teilweise durch diese automatisiert werden, die von einem oder mehreren Computersystemen oder Computerprozessoren mit Computerhardware ausgeführt werden. Das eine oder die mehreren Computersysteme oder Computerprozessoren können auch so betrieben werden, dass sie die Ausführung der entsprechenden Vorgänge in einer „Cloud Computing“-Umgebung oder als „Software as a Service“ (SaaS) unterstützen. Die Prozesse und Algorithmen können teilweise oder vollständig in anwendungsspezifischen Schaltkreisen implementiert sein. Die verschiedenen oben beschriebenen Merkmale und Verfahren können unabhängig voneinander verwendet oder auf verschiedene Weise kombiniert werden. Verschiedene Kombinationen und Unterkombinationen sollen in den Anwendungsbereich dieser Offenlegung fallen, und bestimmte Verfahrens- oder Prozessblöcke können in einigen Implementierungen weggelassen werden. Die hier beschriebenen Methoden und Prozesse sind auch nicht auf eine bestimmte Reihenfolge beschränkt, und die damit verbundenen Blöcke oder Zustände können in anderen geeigneten Reihenfolgen, parallel oder auf andere Weise ausgeführt werden. Blöcke oder Zustände können zu den offengelegten Beispielen hinzugefügt oder daraus entfernt werden. Die Ausführung bestimmter Operationen oder Prozesse kann auf Computersysteme oder Computerprozessoren verteilt werden, die sich nicht nur in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen verteilt sind.
  • Wie hierin verwendet, kann eine Schaltung in jeder Form von Hardware, Software oder einer Kombination davon implementiert werden. Beispielsweise können ein oder mehrere Prozessoren, Controller, ASICs, PLAs, PALs, CPLDs, FPGAs, logische Komponenten, Software-Routinen oder andere Mechanismen implementiert werden, um eine Schaltung zu bilden. Bei der Implementierung können die verschiedenen hier beschriebenen Schaltungen als diskrete Schaltungen implementiert werden, oder die beschriebenen Funktionen und Merkmale können teilweise oder insgesamt auf eine oder mehrere Schaltungen aufgeteilt werden. Auch wenn verschiedene Merkmale oder Funktionselemente einzeln als separate Schaltungen beschrieben oder beansprucht werden, können diese Merkmale und Funktionen von einer oder mehreren gemeinsamen Schaltungen gemeinsam genutzt werden, und eine solche Beschreibung soll nicht voraussetzen oder implizieren, dass separate Schaltungen erforderlich sind, um diese Merkmale oder Funktionen zu implementieren. Wenn eine Schaltung ganz oder teilweise mit Software implementiert ist, kann diese Software so implementiert werden, dass sie mit einem Computer- oder Verarbeitungssystem arbeitet, das in der Lage ist, die in Bezug darauf beschriebene Funktionalität auszuführen, wie z. B. das Computersystem 900.
  • Wie hierin verwendet, kann der Begriff „oder“ sowohl im einschließenden als auch im ausschließenden Sinne verstanden werden. Darüber hinaus ist die Beschreibung von Ressourcen, Vorgängen oder Strukturen im Singular nicht so zu verstehen, dass der Plural ausgeschlossen wird. Bedingte Ausdrücke wie z. B. „kann“, „könnte“, „könnte“ oder „darf“ sollen im Allgemeinen vermitteln, dass bestimmte Beispiele bestimmte Merkmale, Elemente und/oder Schritte einschließen, während andere Beispiele diese nicht einschließen, es sei denn, es ist ausdrücklich etwas anderes angegeben oder im jeweiligen Kontext anders zu verstehen.
  • Die in diesem Dokument verwendeten Begriffe und Ausdrücke sowie deren Abwandlungen sind, sofern nicht ausdrücklich anders angegeben, nicht einschränkend, sondern offen zu verstehen. Adjektive wie „konventionell“, „traditionell“, „normal“, „Standard“, „bekannt“ und Begriffe mit ähnlicher Bedeutung sind nicht so zu verstehen, dass sie den beschriebenen Gegenstand auf einen bestimmten Zeitraum oder auf einen zu einem bestimmten Zeitpunkt verfügbaren Gegenstand beschränken, sondern sollten so verstanden werden, dass sie konventionelle, traditionelle, normale oder Standardtechnologien umfassen, die jetzt oder zu einem beliebigen Zeitpunkt in der Zukunft verfügbar oder bekannt sein können. Das Vorhandensein erweiternder Wörter und Formulierungen wie „eine oder mehrere“, „mindestens“, „aber nicht beschränkt auf” oder ähnlicher Formulierungen in einigen Fällen ist nicht so zu verstehen, dass der engere Fall beabsichtigt oder erforderlich ist, wenn solche erweiternden Formulierungen nicht vorhanden sind.

Claims (20)

  1. Ein Verfahren, das Folgendes umfasst: Empfang einer Reihe von Prüfpaketen über einen Netzwerkpfad; Schätzung der verfügbaren Bandbreite des Netzwerkpfads mit Hilfe eines Bump-Detection-Algorithmus (BDA); Bestimmung einer ignorierbaren Zone von Paketverlusten in Bezug auf einen Verzögerungsbump, der die Übertragungsverzögerung des Satzes von Prüfpaketen über den Netzwerkpfad widerspiegelt; bei der Feststellung, dass die Menge der verlorenen Prüfpakete außerhalb der ignorierbaren Zone der Paketverluste niedrig genug ist, die geschätzte verfügbare Bandbreite zur Verwendung akzeptiert wird; und wenn festgestellt wird, dass die ignorierbare Zone von Paketverlusten eine unannehmbare Menge von verlorenen Probepaketen außerhalb der ignorierbaren Zone von Paketverlusten widerspiegelt, die geschätzte verfügbare Bandbreite aus der Nutzung herausgenommen wird.
  2. Das Verfahren nach Anspruch 1, wobei das Schätzen der verfügbaren Bandbreite unter Verwendung einer BDA das Auswählen von zwei Paketen aus dem Satz von Prüfpaketen auf beiden Seiten des Verzögerungshügels umfasst.
  3. Das Verfahren nach Anspruch 2 umfasst ferner die Bestimmung der ignorierbaren Zone von Paketverlusten auf der Grundlage der beiden ausgewählten Pakete.
  4. Das Verfahren nach Anspruch 3, das ferner die Bestimmung der ignorierbaren Zone von Paketverlusten umfasst, die bei einer bestimmten Anzahl von Paketen nach einem ersten der beiden ausgewählten Pakete beginnt und bei einer zweiten bestimmten Anzahl von Paketen vor einem zweiten der beiden ausgewählten Pakete endet.
  5. Das Verfahren nach Anspruch 4, wobei die erste und die zweite spezifizierte Anzahl von Paketen einen konfigurierten Bruchteil einer Anzahl von Sondenpaketen innerhalb des Delay Bumps umfassen.
  6. Das Verfahren nach Anspruch 3, wobei die Bestimmung der ignorierbaren Zone von Paketverlusten auf einem Verhältnis zwischen einer kleinsten und einer größten Einwegverzögerung innerhalb des Verzögerungsbumps basiert.
  7. Das Verfahren nach Anspruch 6, ferner umfassend das Bestimmen der ignorierbaren Zone von Paketverlusten als beginnend bei einem ersten Paket des Satzes von Prüfpaketen, bei dem die Einwegverzögerung größer ist als ein Verhältnis zwischen der kleinsten und der größten Einwegverzögerung innerhalb des Verzögerungsbump und endend bei einem letzten Paket des Satzes von Prüfpaketen, bei dem die Einwegverzögerung größer ist als das Verhältnis.
  8. Das Verfahren nach Anspruch 1, wobei die Menge der verlorenen Sondenpakete, die außerhalb der ignorierbaren Zone von Paketverlusten niedrig genug ist, so ist, dass die Rate der Sondenpaketverluste kleiner als ein minimaler Schwellenwert ist.
  9. Das Verfahren nach Anspruch 8, wobei die inakzeptable Menge an verlorenen Sondenpaketen außerhalb der ignorierbaren Zone von Paketverlusten derart ist, dass die Rate der Sondenpaketverluste größer als ein maximaler Schwellenwert ist.
  10. Das Verfahren nach Anspruch 1, wobei das Akzeptieren der geschätzten verfügbaren Bandbreite zur Verwendung die Verwendung der geschätzten verfügbaren Bandbreite in einer oder mehreren Netzverkehrstechnikoperationen umfasst, und wobei das Unterdrücken der Verwendung der geschätzten verfügbaren Bandbreite das Verhindern der Verwendung der geschätzten verfügbaren Bandbreite in einer oder mehreren Netzverkehrstechnikoperationen umfasst.
  11. Ein System, das Folgendes umfasst: einen Prozessor; und einen Speicher, der operativ mit dem Prozessor verbunden ist und Befehle enthält, die, wenn sie ausgeführt werden, den Prozessor veranlassen,: eine Reihe von Prüfpaketen über einen Netzwerkpfad empfangen; die Übertragungsverzögerungen messen, die mit den Prüfpaketen des Satzes von Prüfpaketen verbunden sind; die verfügbare Bandbreite des Netzweges auf der Grundlage der gemessenen Übertragungsverzögerungen zu schätzen; Messung von Paketverlusten in Verbindung mit Prüfpaketen aus dem Satz von Prüfpaketen relativ zu einem Verzögerungsbump, der die gemessenen Übertragungsverzögerungen widerspiegelt; bei der Feststellung, dass die gemessenen Paketverluste, die außerhalb einer ignorierbaren Zone von Paketverlusten auftreten, eine ausreichend niedrige Anzahl betragen, die geschätzte verfügbare Bandbreite zur Verwendung akzeptiert; und wenn festgestellt wird, dass die gemessenen Paketverluste, die außerhalb der ignorierbaren Zone von Paketverlusten auftreten, eine unannehmbare Menge von Paketverlusten widerspiegeln, die geschätzte verfügbare Bandbreite aus der Nutzung herausgenommen wird.
  12. Das System nach Anspruch 11, wobei die gemessenen Übertragungsverzögerungen Einwegverzögerungen umfassen.
  13. Das System nach Anspruch 11, wobei die Befehle, die den Prozessor veranlassen, die verfügbare Bandbreite zu schätzen, den Prozessor ferner veranlassen, die verfügbare Bandbreite auf der Grundlage erster und zweiter ausgewählter Pakete des Satzes von Prüfpaketen auf beiden Seiten des Verzögerungsstoßes zu schätzen.
  14. Das System nach Anspruch 13, wobei die ignorierbare Zone von Paketverlusten bei einer ersten bestimmten Anzahl von Paketen nach den ersten ausgewählten Paketen beginnt und bei einer zweiten bestimmten Anzahl von Paketen vor dem zweiten ausgewählten Paket endet.
  15. Das System nach Anspruch 14, wobei die erste und die zweite spezifizierte Anzahl von Paketen einen konfigurierten Bruchteil einer Anzahl von Sondenpaketen innerhalb des Delay Bumps umfassen.
  16. Das System nach Anspruch 13, wobei der Speicher Befehle enthält, die den Prozessor veranlassen, die ignorierbare Zone von Paketverlusten auf der Grundlage eines Verhältnisses zwischen einer kleinsten und einer größten Einwegverzögerung innerhalb des Verzögerungsbumps zu bestimmen.
  17. Das System nach Anspruch 16, wobei die ignorierbare Zone von Paketverlusten bei einem ersten Paket des Satzes von Prüfpaketen beginnt, bei dem die Einwegverzögerung größer ist als ein Verhältnis zwischen der kleinsten und der größten Einwegverzögerung innerhalb des Verzögerungshügels, und bei einem letzten Paket des Satzes von Prüfpaketen endet, bei dem die Einwegverzögerung größer ist als das Verhältnis.
  18. Das System nach Anspruch 11, wobei die hinreichend niedrige Anzahl gemessener Paketverluste zu einer Rate von Sonden-Paketverlusten führt, die kleiner ist als ein Mindestschwellenwert.
  19. Das System nach Anspruch 18, wobei die inakzeptable Menge an verlorenen Prüfpaketen außerhalb der ignorierbaren Zone von Paketverlusten zu einer Rate von Prüfpaketverlusten führt, die größer als ein maximaler Schwellenwert ist.
  20. Das System nach Anspruch 11, wobei die Befehle, die den Prozessor veranlassen, die geschätzte verfügbare Bandbreite zur Verwendung zu akzeptieren, den Prozessor ferner veranlassen, die geschätzte verfügbare Bandbreite an eine Netzwerkverkehrstechnik-Leistungskomponente zu melden, und wobei die Befehle, die den Prozessor veranlassen, die geschätzte verfügbare Bandbreite von der Verwendung auszuschließen, den Prozessor ferner veranlassen, die geschätzte verfügbare Bandbreite nicht an eine Netzwerkverkehrstechnik-Leistungskomponente zu übertragen.
DE102022126173.5A 2022-04-25 2022-10-10 Filterung der geschätzten bandbreite auf der grundlage von paketverlustmustern Pending DE102022126173A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/728,859 US20230344733A1 (en) 2022-04-25 2022-04-25 Bandwidth estimate filtering based on packet loss patterns
US17/728,859 2022-04-25

Publications (1)

Publication Number Publication Date
DE102022126173A1 true DE102022126173A1 (de) 2023-10-26

Family

ID=88238526

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022126173.5A Pending DE102022126173A1 (de) 2022-04-25 2022-10-10 Filterung der geschätzten bandbreite auf der grundlage von paketverlustmustern

Country Status (3)

Country Link
US (1) US20230344733A1 (de)
CN (1) CN116996925A (de)
DE (1) DE102022126173A1 (de)

Also Published As

Publication number Publication date
US20230344733A1 (en) 2023-10-26
CN116996925A (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
DE60317837T2 (de) Verfahren und System zur Messung von Last und Kapazität auf einem Kanal mit variabler Kapazität
DE602004008267T2 (de) Übertragung von überwachungspaketen zur steuerung von überlastung und verbindungsaufbau in paketbasierten netzen mit begrenzter bandbreite
DE69922180T2 (de) Verfahren und Vorrichtung zur Datenflusssteuerung
DE69930992T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
DE60316494T2 (de) Zeitfensterbeschränkte Mehrfachsendung unter Benutzung von Verbindungsablau ffolgeplanung
DE60213623T2 (de) Umlaufzeitabschätzungsverfahren und Einrichtung mittels Rückquittierung in einem Paketübertragungssystem
DE69927252T2 (de) Auf der Überwachung der Belegung von Puffern basierte Planung der Netzwerkkapazität
DE69921699T2 (de) Detektions-Verfahren und -Vorrichtung
DE60020413T2 (de) Verfahren und Einrichtung zur Bestimmung eines Zeit-Parameters
DE602005002006T2 (de) Verfahren und Vorrichtung zur Ermittlung der verfügbaren Bandbreite in einem Datenpaketnetzwerk
EP2979407B1 (de) Neumarkierung von paketen zur überlastungssteuerung
DE112020006828T5 (de) Verbessern einer Ende-zu-Ende-Überlastungsreaktion unter Verwendung von adaptivem Routing und Überlastungshinweis-basierter Drosselung für IP-geroutete Rechenzentrumsnetzwerke
DE112018005429T5 (de) Engpassbandbreiten- und umlaufzeit-überlastungssteuerung mit zufall-früherkennung
DE60108614T2 (de) Verhandlung von arq-parametern in einem paketübertragungssystem mit verbindungsanpassung
CN106464598A (zh) 用于基于传输速率梯度的网络拥塞控制的方法和装置
CN103999409A (zh) 用于带宽变化移动数据网络的链路缓冲器大小和队列长度估算的方法
CN115174432B (zh) Rdma网络状态监测方法、装置、设备及可读存储介质
DE112011105003B4 (de) Sendevorrichtung, Empfangsvorrichtung, Kommunikationsvorrichtung, Kommunikationssystem und Sendeverfahren
DE102021109229A1 (de) Burst-paket-vorbelastung für abw-schätzung mit ratenbegrenzern
DE112006002912T5 (de) Verwaltung von On-Chip-Warteschleifen in geschalteten Netzwerken
DE112019001647T5 (de) Netzwerk-Überlastungsverwaltung
DE112019003854T5 (de) Flusssteuerungssichtbarkeit
DE202014009422U1 (de) NOC-Elektronikelement
DE19728469A1 (de) Verfahren und Anordnung zur Codierung digitaler Daten
DE112018008120T5 (de) Schätzung der verfügbaren netzwerkbandbreite unter verwendung eines einwegverzögerungs-rauschfilters mit erhebungs-erkennung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB - PATENT- , DE