DE102022109176A1 - Umgekehrte verlusterkennung für die schätzung der bandbreite von kommunikationsnetzen mit token- buckets - Google Patents

Umgekehrte verlusterkennung für die schätzung der bandbreite von kommunikationsnetzen mit token- buckets Download PDF

Info

Publication number
DE102022109176A1
DE102022109176A1 DE102022109176.7A DE102022109176A DE102022109176A1 DE 102022109176 A1 DE102022109176 A1 DE 102022109176A1 DE 102022109176 A DE102022109176 A DE 102022109176A DE 102022109176 A1 DE102022109176 A1 DE 102022109176A1
Authority
DE
Germany
Prior art keywords
packet
packets
subset
losses
network
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
DE102022109176.7A
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 DE102022109176A1 publication Critical patent/DE102022109176A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • 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/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/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction

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 Messung der verfügbaren Bandbreite in einem Blackbox-Netzwerk bereitgestellt, indem eine Sondierungsrate von Paketübertragungen zwischen einem Sender und einem Empfänger bestimmt wird. Die optimale Sondierungsrate und Bandbreitenschätzung kann bestimmt werden. Zusätzliche Aktionen können durchgeführt werden, wie z.B. die automatische Umleitung von Paketen und/oder der Lastausgleich des Netzwerkverkehrs, nachdem die Sondierungsrate bestimmt wurde.

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. Beispielsweise können sich die Netzwerkgeräte in einem anderen Verwaltungsbereich befinden oder durch Tunneling oder Verkapselung verborgen sein. Dies ist bei SD-WAN der Fall, wo das SD-WAN-Gateway versucht, den Verkehr auf den besten Weg über das Internet zu leiten.
  • Für SD-WAN und andere aufstrebende Netzwerkarchitekturen werden bessere Lösungen benötigt.
  • Figurenliste
  • 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 zur Implementierung verschiedener Verfahren zur Bandbreitenschätzung.
    • 2 zeigt eine Computerumgebung für die Implementierung einer Paketverlustregression zur Schätzung der Bandbreite gemäß einigen Beispielen der Offenlegung.
    • 3 veranschaulicht die Arten von Methoden zur Senkung der Raten in Übereinstimmung mit einigen Beispielen der Anwendung.
    • 4 zeigt eine Zusammenfassung von Prozessen zur Bestimmung einer Bandbreitenschätzung in Übereinstimmung mit einigen Anwendungsbeispielen.
    • 5 zeigt Paketverluste in Verbindung mit der Erkennung von Rückwärtsverlusten in Verbindung mit einigen Anwendungsbeispielen.
    • 6 ist ein Beispiel für eine Computerkomponente, die zur Implementierung verschiedener Merkmale der in der vorliegenden Offenbarung beschriebenen Beispiele verwendet werden kann.
    • 7 zeigt ein Blockdiagramm eines Beispiel-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
  • Die Bandbreitenmessung ist in einer SD-WAN-Architektur schwierig, nicht zuletzt, weil der Querverkehr die Bandbreitenmessung einer drahtgebundenen oder drahtlosen Kommunikationsverbindung stark beeinflussen kann (z. B. zwischen Edge-Geräten, verschiedenen Benutzern oder Anwendungen, die dieselben Verbindungen nutzen, usw.). Der Querverkehr ist oft dynamisch und kann ständig schwanken. Daher sind genaue Bandbreitenmessungen in einem SD-WAN fast unmöglich zu bestimmen.
  • 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 des Netzwerkpfads mit speziell angefertigten Testpaketen erfolgen, die von einem Ende des Pfads zum anderen Ende des Pfads gesendet werden. Die Empfängerseite misst die Empfangszeit der Pakete und die Änderungen des Verzögerungs-/Zeitmusters der Pakete, um die Pfadeigenschaften wie die Pfadkapazität, die verfügbare Bandbreite oder die Bulk-Transferkapazitä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 Bandbreite im Netz zu verringern usw.). Sobald der vorübergehende Überlastungszustand auf dem Netzpfad hergestellt ist, kann ein Kontrolleur den Anstieg der Wartezeit von Prüfpaketen messen, um daraus zu schließen, wann sich der Pfad in einem Überlastungszustand befindet. Durch die Bestimmung, wann sich der Pfad in einem überlasteten Zustand befindet und wann nicht, können diese Methoden dann eine Schätzung der verfügbaren Bandbreite errechnen.
  • Das PRM kann mehrere Einschränkungen haben. So kann das Standard-PRM z. B. anhand des Paket-Timings auf einen Überlastungszustand schließen und davon ausgehen, dass es auf dem Netzpfad keine Paketverluste gibt. Die Puffer auf dem Netzwerkpfad sind jedoch nicht unendlich, so dass es zu Paketverlusten kommen kann, wenn der Überlastungszustand groß genug ist. Darüber hinaus reagieren einige Netzwerkgeräte auf den Überlastungszustand, indem sie ausschließlich Paketverluste produzieren und die Wartezeit nie erhöhen, was die PRM-Methoden völlig außer Kraft setzt und sie daran hindert, die verfügbare Bandbreite zu messen. Darüber hinaus sind einige Netzverbindungen unzuverlässig und können Pakete zufällig fallen lassen, was die Bandbreitenschätzung erschwert.
  • Beispiele der vorliegenden Offenlegung können die verfügbare Bandbreite im Hinblick auf eine Netzüberlastung schätzen. So kann das System beispielsweise die verfügbare Bandbreite in einem Black-Box-Netz messen. Herkömmliche Systeme können Bandbreitenschätzungen mit Hilfe verschiedener hierin beschriebener Verfahren durchführen (z. B. aktives Sondieren von Datenpaketen, passive Messungen zur Messung von Verzögerungen usw.). Die hier beschriebene Technik kann den Punkt finden, an dem Paketverluste aufhören, und die Sondierungsrate als Bandbreitenschätzung verwenden. Zusätzliche Maßnahmen können durchgeführt werden, wie z. B. die automatische Umleitung von Paketen und/oder der Lastausgleich des Netzverkehrs, nachdem die Sondierungsrate ermittelt wurde, wie in der gesamten Offenlegung beschrieben.
  • In einigen Beispielen kann das System eine konstante oder variierende Sondierungsrate festlegen. Beispielsweise können die Prüfpakete in einem Chirp-Train (z. B. einer Reihe von Prüfpaketen) mit einem vordefinierten Muster von Prüfraten gesendet werden. Das Muster der Sondierungsraten kann einem Muster mit abnehmender Rate entsprechen, so dass die ersten paar Sondierungspakete mit einer höheren Sondierungsrate gesendet werden und die Sondierungsrate allmählich verringert wird, wenn Pakete gesendet werden. Jedes dieser Muster kann mit der Sondierungsrate übereinstimmen. Eine zweite Sondierungsrate kann ein anderes Muster als die Sondierungsrate sein, einschließlich eines anderen variierten Musters von Sondierungsraten.
  • In einigen Beispielen kann das sendende Computergerät einen einzelnen Chirp-Zug senden, der mit einer Reihe von Prüfpaketen korrespondiert. Die Sondenraten im Chirp-Zug können vorbestimmt sein. In einigen Beispielen ist die Prüfrate eines Pakets innerhalb eines Chirp-Zugs eindeutig, und der Chirp-Zug insgesamt kann vielen verschiedenen Prüfraten entsprechen.
  • In einigen Beispielen wird ein signifikanter Paketverlustwert errechnet. Der Wert für den signifikanten Paketverlust kann einem letzten Punkt in einem Chirp-Zug entsprechen, an dem zwei der Pakete nacheinander verloren gehen, obwohl auch andere Messungen des signifikanten Paketverlusts berechnet werden können, wie in der Offenlegung beschrieben. Der nächste Punkt nach dem Wert für den signifikanten Paketverlust ist der Punkt, an dem keine zwei Pakete in der Menge der Prüfdatenpakete nacheinander verloren gehen. Der Wert für den signifikanten Paketverlust kann auf der Grundlage der Pakete berechnet werden, die aus einer Reihe von Prüfpaketen im Chirp-Zug verloren gegangen sind. Sobald der signifikante Verlustwert „unter oder gleich“ einem Schwellenwert ist, kann der signifikante Verlustwert gegen Null gehen. Der Prozess kann ein erstes und ein zweites Paket aus dem Chirp-Zug auswählen. Das erste ausgewählte Paket kann das letzte empfangene Paket sein, für das der signifikante Verlustwert größer als Null ist. Das zweite Paket kann das erste Paket sein, das nach dem ersten ausgewählten Paket empfangen wurde. Unter Verwendung des zweiten Pakets kann der Prozess die Sondierungsrate des zweiten Pakets als Schätzwert für die verfügbare Bandbreite des Netzwerkpfads bestimmen und diesen Wert verwenden, um eine Aktion durchzuführen (z. B. Messung der verfügbaren Bandbreite in einem Black-Box-Netzwerk, Umleitung des Verkehrs, Lastausgleich des Netzwerkverkehrs usw.).
  • 1 zeigt eine Computerumgebung zur Implementierung verschiedener Bandbreitenschätzungsprozesse. In dieser Abbildung überträgt das sendende Rechengerät 110 ein oder mehrere Datenpakete über das Netzwerk 130 an das empfangende Rechengerä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.
  • Eine verfügbare Bandbreite kann für das Senden von Netzwerkkommunikation zwischen dem sendenden Computergerät 110 und dem empfangenden Computergerät 120 gemessen werden, um die verfügbare Bandbreite für diesen Netzwerkpfad zu bestimmen. Die Netzwerkbandbreite kann damit korrespondieren, wie viel der Bandbreite nicht genutzt wird und wie viel dem Netzwerkpfad hinzugefügt werden könnte. Der Netzwerkpfad kann eine drahtgebundene oder drahtlose Kommunikationsverbindung sein, 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 kann der Prozess die Eigenschaften des Netzverkehrs und der Netzelemente sowie deren Konnektivität bestimmen, 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 der primäre Pfad zwischen dem sendenden Computergerät 110 und dem empfangenden Computergerät 120 einen sekundären Pfad hinzufügen, 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 weiteres anschauliches Verfahren zur Schätzung der Netzwerkbandbreite umfasst 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) der Netzwerkelemente 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, das Netzwerk 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 keine Überschreitung von Verwaltungsbereichsgrenzen, da die verschiedenen Einheiten nur auf kontrollierte und begrenzte Interaktionen untereinander vertrauen können.
  • Ein weiteres Beispiel, bei dem die verfügbare Bandbreite genutzt werden kann, ist das Software Defined Wide Area Network (SD-WAN). Das SD-WAN-Verfahren kann in Datenverarbeitungsumgebungen implementiert werden, die über mehrere physische Standorte verteilt sind, z. B. wenn sich das sendende Datenverarbeitungsgerät 110 und das empfangende Datenverarbeitungsgerät 120 an unterschiedlichen physischen Standorten befinden. Folglich kann die Datenverarbeitungsumgebung 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, wobei in der Regel eine billige Verbraucher-WAN-Technologie (z. B. DSL-Modem, Kabelmodem, Wireless 3G usw.) verwendet wird. Das Netz kann in jeder Zweigstelle und an jedem Standort ein spezielles SD-WAN-Gateway implementieren, um die privaten Tunnel (z. B. ein virtuelles privates Netzwerk (VPN) usw.) zu erstellen, die eine sichere Verbindung zu anderen Zweigstellen ermöglichen.), 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 parallele Tunnel über das Netzwerk 130 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 einen Lastausgleich vornehmen oder jede Verkehrsart 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 messen. 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 Ende zum anderen erfolgen, d. h. von der sendenden Rechenvorrichtung 110 zur empfangenden Rechenvorrichtung 120.
  • 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 Prüfung der im Netzwerk 130 übertragenen Datenpakete beinhalten. Zum Beispiel sendet das sendende Computergerät 110 an einem Ende des Netzwerkpfads spezielle Prüfpakete an das empfangende Computergerät 120 am anderen Ende des Netzwerkpfads. Diese Pakete können nur zur Abschätzung der Bandbreite verwendet werden und dürfen keine tatsächlichen Daten enthalten, die über die für die Netzpfadabschätzung selbst erforderlichen Nutzdaten hinausgehen.
  • Der Abschätzungsprozess kann auch passive Messungen beinhalten, entweder durch Messung der Verzögerungen, die von den auf dem Netzpfad übertragenen Daten erfahren werden, 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. Latenz ist die Verzögerung in einer Richtung vom Sender zum Empfänger, und die Round Trip Time (RTT) ist die Verzögerung in beiden Richtungen.
  • 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 Netzelemente auf dem Netzpfad auslöst. In vielen Fällen handelt es sich bei dem Paketmuster beispielsweise um einen Prüfzug, wobei die Pakete und das Intervall zwischen den Paketen dazu dienen, verschiedene Bandbreiten über das Paketmuster zu prüfen. Das Computergerät 120 des Empfängers kann die Empfangszeit der Pakete messen und die Einwegverzögerung jedes Pakets berechnen (d. h. die Zeit, die ein Paket benötigt, um vom Sendergerät zum Empfängergerät zu gelangen). Die empfangende Recheneinheit 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: das Sondierungslückenmodell (PGM) und das Sondierungsratenmodell (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. Beim PRM wird davon ausgegangen, dass das Verkehrsmuster weitgehend unverändert bleibt, wenn Pakete mit einer geringeren Rate als der Engpassbandbreite gesendet werden, während Pakete, die mit einer höheren Rate als der Engpassbandbreite gesendet werden, aufgrund einer Überlastung des Netzweges eine zusätzliche Verzögerung in der Warteschlange erleiden.
  • 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 Warteschlangenverzögerung kann sich auf die Zeit auswirken, die ein Paket benötigt, um den Netzpfad zu durchlaufen. 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 Netzwerkpfad-Bandbreite zu bestimmen. Die Messung für jedes Paket erfolgt mit dem OWD-Verfahren. OWD entspricht der Zeitdifferenz zwischen dem Zeitpunkt, zu dem das Paket vom Sender-Rechengerät 110 gesendet wurde (z. B. Sendezeit) und dem Zeitpunkt, zu dem es vom Empfänger-Rechengerät 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 kumulierten 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 DE102022109176A1_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.
  • OWD hat mehrere Einschränkungen. Zum Beispiel können das sendende Computergerät 110 und das empfangende Computergerät 120 unterschiedliche Uhren verwenden, um den Abgang und die Ankunft von Paketen zu messen, und diese Uhren sind möglicherweise nicht perfekt synchronisiert. Daher ist es schwierig, die OWD von Paketen genau zu messen. Glücklicherweise spielt in den meisten Fällen die absolute OWD eines Pakets keine Rolle und nur die Differenz zwischen den OWDs verschiedener Pakete ist von Bedeutung. Über die kurze Zeitspanne eines Probe Trains kann die Taktdrift vernachlässigbar sein, und die Differenz zwischen den OWDs kann etwas genauer sein. Bei Verwendung der relativen OWD ist die relative OWD die gemessene OWD dieses Pakets abzüglich der OWD des ersten Pakets. Diese relative OWD kann die zusätzliche Warteschlangenverzögerung eines Pakets (z. B. im Vergleich zum ersten Paket) abschätzen und kann negativ sein.
  • Ein weiterer illustrativer Prozess zur Schätzung der Netzwerkbandbreite umfasst einen PathChirp-Prozess, der eine Implementierung von PRM verwenden kann. PathChirp kann beispielsweise einen periodischen Probe-Train von der Sende-Computereinheit 110 an die Empfänger-Computereinheit 120 senden. Ein Sondenzug ist eine Folge von Sondenpaketen, die mit einem bestimmten Zeitintervall zwischen den Abfahrten der Sondenpakete gesendet werden. Die Zeitintervalle zwischen den Paketen definieren eine momentane Rate, und das Netzwerk kann auf diese Rate reagieren, indem es entweder das Intervall weitgehend unverändert lässt oder die Pakete in größeren Abständen sendet. Bei PathChirp kann die Sondenrate über den Sondenzug erhöht werden, indem der Zeitabstand zwischen benachbarten Sondenpaketen verringert wird.
  • In einigen Beispielen kann der PathChirp-Prozess die relative EinwegVerzögerung jedes Prüfpakets im Zug messen und versuchen, den Wendepunkt zu finden, an dem die Verzögerung von relativ konstant zu konstant steigend wechselt. Diese Änderung kann auf einen überlasteten Zustand des Pfades hinweisen. Die mit dem Knickpunkt verbundene Sondenrate kann als Hauptgrundlage für die Schätzung der verfügbaren Bandbreite herangezogen werden.
  • Ein weiteres anschauliches Verfahren zur Schätzung der Netzbandbreite ist der Excursion Detection Algorithm (EDA). EDA kann in PathChirp integriert werden, um den Knickpunkt zu erkennen (z. B. den Punkt, an dem der Netzpfad vollständig überlastet wird). Derselbe EDA kann auch Perioden vorübergehender Überlastung in dem Teil des Probezuges vor dem Knickpunkt feststellen. Die Idee der EDA besteht darin, dass ein Anstieg der OWD im Sondierungszug auf eine zunehmende Überlastung des Netzweges hinweisen kann. Die EDA nutzt diese OWD-Anstiege, um sowohl vorübergehende als auch vollständige Überlastungen zu erkennen.
  • In einigen Beispielen kann die EDA die relative OWD von Paketen analysieren (z. B. durch Vergleich der OWD eines ersten Pakets mit der OWD des vorherigen Pakets usw.). Wenn die OWD eines ersten Pakets größer ist als die OWD des vorherigen Pakets, kann die EDA das erste Paket als den potenziellen Beginn einer Exkursion identifizieren. Bei der Weiterführung des Sondenzuges kann die EDA versuchen, ein zweites Paket zu finden, dessen OWD ausreichend niedriger ist als die OWD des ersten Pakets zu Beginn der Exkursion. Wenn ein solches Paket gefunden wird, wird es als Ende der potenziellen Exkursion markiert. Dann kann die EDA die potenzielle Abweichung herausfiltern. Wird die potenzielle Abweichung als zu klein erachtet, kann sie ignoriert werden. Ist sie groß genug, wird die Sondenrate, die mit den Paketen in der Exkursion verbunden ist, bei der Berechnung der verfügbaren Bandbreite verwendet. Wird kein Ende der Abweichung gefunden (z. B. sinkt die OWD nie über einen Schwellenwert hinaus), wird der Beginn der letzten Abweichung als Knickpunkt verwendet. Die Sondenrate, die dem Paket am Wendepunkt zugeordnet ist, bildet die Hauptgrundlage für die Berechnung der verfügbaren Bandbreite.
  • 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 Einwegverzögerung jedes Sondenpakets im Zug messen und versuchen, ein Paar von Paketen zu finden, die eine ähnliche Einwegverzögerung auf beiden Seiten der Überlastungsspitze aufweisen. Die ähnliche Einwegverzögerung 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 Bump Detection Algorithm (BDA). BDA kann in PathCos++ integriert werden, um ein Paar von Paketen mit ähnlicher Überlastung auf beiden Seiten der Ü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 Netzweges zu erzeugen (z. B. Rate höher als der Engpass) und dann diesen Netzweg zu entlasten (z. B. Rate niedriger als der Engpass). Das bedeutet, dass die OWD der Pakete über den gesamten Sondenzug hinweg zunächst ansteigt (ein überlasteter Zustand) und dann abfällt (ein entlasteter Zustand). Der große Sprung in der OWD kann den Zeitpunkt der maximalen Überlastung darstellen, und Pakete mit ähnlicher OWD sollten eine ähnliche Überlastung erfahren haben (z. B. eine ähnliche Menge an Warteschlangen).
  • Ein weiterer anschaulicher Prozess zur Abschätzung der Netzbandbreite ist die Staukontrolle des Transmission Control Protocol (TCP). So wird die Bandbreitenabschätzung hauptsächlich für die Verkehrsplanung und die Entscheidung über die Verteilung des Verkehrs auf die Netzpfade verwendet. Da die überwiegende Mehrheit des Datenverkehrs das TCP-Protokoll nutzt, wird bei der Verkehrsplanung die Schätzung der verfügbaren Bandbreite im Wesentlichen als Vorhersage der TCP-Leistung verwendet.
  • Die TCP-Leistung auf einem Netzpfad wird größtenteils durch die TCP-Überlastungssteuerung bestimmt. Die TCP-Überlastungssteuerung versucht, die optimale Übertragungsrate für den Datenverkehr zu ermitteln, indem sie feststellt, wann der Pfad überlastet ist und wann nicht. Wenn der Pfad nicht überlastet ist, erhöht die TCP-Überlastungssteuerung die Übertragungsrate des sendenden Computergeräts 110. Wenn der Pfad überlastet ist, verringert die TCP-Überlastungssteuerung die Senderate des sendenden Computergeräts 110.
  • 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 größeren 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 auf verrauschten Kanälen eingesetzt werden, wie WiFi und 3G, verwenden Bestätigungen auf Verbindungsebene und erneute Übertragungen, um die Verbindungsverluste zu verbergen, so dass tatsächliche Paketverluste aufgrund von Rauschen und Fehlern sehr selten sind, es sei denn, die Bedingungen sind schlecht. Der Grund dafür ist, dass TCP davon ausgeht, dass Paketverluste auf Ü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 gelöst werden, indem der überschüssige Datenverkehr verworfen wird und zu Paketverlusten führt. Infolgedessen können Paketverluste ein zuverlässiger Indikator für eine Netzüberlastung sein.
  • Ein weiterer illustrativer Prozess 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 das Paket aus der Warteschlange über die Verbindung so schnell übertragen, wie es die Verbindung zulässt, und das Paket fallen lassen, wenn die Warteschlange voll ist.
  • Der Verkehr neigt dazu, stoßweise zu erfolgen, so dass die Warteschlange vorübergehende Überschreitungen der Eingangsrate auffangen und die Verarbeitung auf der Verbindung glätten kann. 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. Die Verluste können am Ende der Warteschlange auftreten, weshalb sie auch als Tail-Drop-Verluste bezeichnet werden.
  • Bei einer perfekten Warteschlange und konstantem Verkehr können die Verluste feinkörnig sein und sich gleichmäßig über den Chirp-Zug verteilen. In der Praxis können die Verluste gebündelt und nicht gleichmäßig über den Chirp-Zug verteilt sein. Die erste Ursache kann ein bürstenartiger Querverkehr sein, der die Belastung der Warteschlange zwischen den Bursts verändert, so dass die Warteschlange die Möglichkeit hat, mehr Prüfpakete zu akzeptieren und weniger während des Bursts. Die zweite Ursache kann eine granulare Warteschlangenplanung sein, bei der mehrere Pakete zusammen aus der Warteschlange entfernt werden, nach der Planung sind mehrere Slots in der Warteschlange verfügbar, aber nachdem diese gefüllt sind, öffnet sich kein Slot bis zur nächsten Planung. Infolgedessen treten Paketverluste mit Tail-Drop häufig gehäuft auf. Im empfangenen Datenverkehr am Empfänger-Rechengerät 120 wechseln sich Sequenzen mit geringen oder keinen Verlusten mit Sequenzen mit sehr hohen oder vollständigen Verlusten ab. Dies macht das Überlastungssignal ziemlich grob.
  • Eine Tail-Drop-Warteschlange kann sich im Wesentlichen auf zwei Arten verhalten. Wenn der Querverkehr die Warteschlange nicht sättigt, ist die Warteschlange meist leer. In diesem Fall kann der durch den Chirp-Train verursachte Stau dazu führen, dass sich die Warteschlange füllt und die Verzögerung zunimmt, bis die Warteschlange voll ist. Wenn der Querverkehr die Warteschlange sättigt, ist die Warteschlange meist voll. In diesem Fall kann die durch den Chirp-Train verursachte Überlastung dazu führen, dass die Verzögerung nicht ansteigt (d. h. die Warteschlange kann nicht mehr voll werden) und dass sofort Pakete verloren gehen. Die Verzögerung kann je nach der Intensität 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 Verzögerung und des groben Überlastungssignals. AQM kann zusätzliche Verarbeitung in der Warteschlange hinzufügen, um die Verluste proportionaler zum Grad der Überlastung zu machen.
  • AQM kann eine Random Early Detection (RED) implementieren, die eine auf der Belegung der Warteschlange basierende Abwurfwahrscheinlichkeit definiert. Wenn die Warteschlange fast leer ist, liegt die Wahrscheinlichkeit nahe bei 0 und ein Paketverlust ist sehr unwahrscheinlich. Wenn die Warteschlange fast voll ist, ist diese Wahrscheinlichkeit höher, und es ist wahrscheinlicher, dass ein Paket verworfen wird. Wenn ein Paket empfangen wird, kann RED anhand der aktuellen Wahrscheinlichkeit des Verwerfens und einer Zufallszahl bestimmen, ob das Paket verworfen oder in die Warteschlange gestellt wird. Paketverluste werden je nach Belegung der Warteschlange immer wahrscheinlicher.
  • AQM kann andere Wahrscheinlichkeitsalgorithmen als RED (z. B. Blue, ARED, PIE, CoDel usw.) einsetzen, um die Warteschlange durch präventives Verwerfen von Paketen geringfügig zu füllen. Der CoDel-Prozess kann zum Beispiel versuchen, die Verzögerung in der Warteschlange für alle Pakete unter einem Schwellenwert zu halten. Ein anderes Beispiel ist der PIE-Prozess mit einem Burst-Schutz, bei dem in den ersten 150 ms nach dem Füllen der Warteschlange keine Pakete fallen gelassen 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 überläuft und Tail-Drop-Verluste verursacht, als dass erhebliche AQM-Verluste auftreten. Daher können AQM-Warteschlangen für die Zwecke der Bandbreitenabschätzung mit Tail-Drop-Warteschlangen gleichgesetzt 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 vereinfacht und kann den Ressourcenverbrauch reduzieren. Sie werden oft als Policer 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 Eimer nicht leer ist, wird das Paket weitergeleitet und ein Token entfernt. Ist der Bucket leer, wird das Paket verworfen. Wenn die Verbindung eine Zeit lang nicht ausgelastet war, kann es sein, dass der Eimer voll ist und überschüssige Token über die Kapazität hinaus verworfen werden. Die Token-Kapazität (oder Burst-Größe) kann eine uneingeschränkte Rate ermöglichen, wenn die Verbindung nicht ausreichend genutzt wurde.
  • Ratenbegrenzer, die auf Token-Buckets basieren, verfügen nicht über eine Warteschlange, so dass es bei Paketen nicht zu zusätzlichen Verzögerungen 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 das PRM-Modell und Paketverluste. Das PRM-Modell geht davon aus, dass auf dem Netzpfad keine Probepakete verloren gehen und dass jedes gesendete Paket empfangen wird und von der 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. Bei anderen Methoden kann davon ausgegangen werden, dass bei Paketverlusten in einem Chirp-Zug keine Schätzung vorgenommen werden kann. In diesen Fällen kann der gesamte Chirp-Zug verworfen werden und es wird keine Schätzung vorgenommen. 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 Verzögerung auf eine Überlastung. In diesem Sinne erhöht der von der 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 die verfügbare Bandbreite nicht abschätzen, wenn der Engpass ein Token-Bucket ist.
  • Mit verschiedenen anderen Methoden zur Schätzung der verfügbaren Bandbreite im Hinblick auf die Überlastung des Netzes verbessern die Beispiele der vorliegenden Offenlegung diese und andere Methoden. Die hier beschriebene Technik kann den Punkt finden, an dem Paketverluste aufhören, und die Sondierungsrate als Bandbreitenschätzung verwenden. Zusätzliche Aktionen können durchgeführt werden, wie z. B. die automatische Umleitung von Paketen und/oder der Lastausgleich des Netzwerkverkehrs, nachdem die Sondierungsrate bestimmt wurde, wie in der Offenlegung beschrieben.
  • 2 zeigt eine Computerumgebung zur Implementierung einer Paketverlustregression zur Schätzung der Bandbreite gemäß einigen Beispielen der Offenlegung. In der Abbildung überträgt die Sende-Rechenvorrichtung 210 ein oder mehrere Datenpakete über das Netzwerk 230 an die Empfänger-Rechenvorrichtung 220. Das sendende Rechengerät 210 und das empfangende Rechengerät 220 (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.
  • Das sendende Rechengerät 210 kann einen Prüfzug erzeugen und die Prüfpakete über das Netz 230 an das empfangende Rechengerät 220 senden. Die empfangende Rechnereinheit 220 kann die Testpakete empfangen und die verfügbare Bandbreite schätzen. Der Prozess kann eine Bandbreitenschätzung bei Vorhandensein eines Engpasses durchführen, der auf einen überlasteten Zustand des Netzwerkpfades reagiert, indem er Pakete verwirft und die Verzögerung nicht erhöht, indem er einen Token-Bucket implementiert. Der Prozess kann den Punkt finden, an dem die Paketverluste aufhören und die Rate der Probes an diesem Punkt als Bandbreitenschätzung verwenden.
  • Dieser Prozess der Bandbreitenabschätzung unter Verwendung der Regression von Paketverlusten kann im Vergleich zu anderen hier besprochenen Prozessen von Vorteil sein. Beispielsweise kann der Prozess der Paketverlustregression die verfügbare Bandbreite schätzen, wenn der Engpass nur Pakete fallen lässt und die Verzögerung nicht erhöht. Dieses Verfahren kann mit dem Bump Detection Algorithm (BDA) einiger anderer Schätzverfahren korrelieren und erfordert nur minimale Änderungen an diesen Verfahren. Die Implementierung dieses Prozesses in Netzen kann für Ingenieure oder Techniker einfach zu bewerkstelligen sein und mit geringem Overhead erfolgen (z. B. Minimierung der CPU-Auslastung, schnelle Durchführung, um die Schätzung des Netzweges nicht zu verlangsamen usw.).
  • In einigen Beispielen kann der Prozess einen umgekehrten Verlusterkennungsalgorithmus für Token-Buckets implementieren. Engpässe auf der Grundlage von Token-Bucket-Verlusten können für die Bandbreitenschätzung problematisch sein, da sie die Verzögerung nicht erhöhen und die BDA nicht zur Berechnung einer Bandbreitenschätzung verwendet werden kann. Stattdessen wird ein Token-Bucket verwendet. Der Token-Bucket kann keine Pakete in eine Warteschlange stellen oder speichern. Wenn der Token-Bucket also mit Verkehr überlastet ist, lässt er die überschüssigen Pakete fallen. Die Wahrscheinlichkeit von Verlusten hängt direkt von der Differenz zwischen der Rate des Eingangsverkehrs und der Ausgangsrate des Token-Buckets ab. R _ drop = R _ Eingang R _ Ausgang
    Figure DE102022109176A1_0002
    P _ drop = R _ drop/ R_input=1- ( R _ ouput/R_input )
    Figure DE102022109176A1_0003
  • Der eingehende Verkehr ist eine Mischung aus dem für die Schätzung verwendeten Probeverkehr und dem Querverkehr. Der Einfachheit halber gehen wir von einem konstanten Querverkehr aus. Die verfügbare Bandbreite (ABW) ist also die Differenz zwischen der Kapazität und dem Querverkehr: R _ input = SR _ probes + SR _ cross
    Figure DE102022109176A1_0004
    ABW = R _ Output SR _ cross
    Figure DE102022109176A1_0005
  • In den meisten Fällen können die Verluste gleichmäßig auf den Sonden- und den Querverkehr verteilt werden, so dass die Empfangsrate der Sonden (RR_probes) direkt von der Verlustwahrscheinlichkeit abhängt. P _ drop = 1 ( R _ output / ( SR _ probes + SR _ cross ) )
    Figure DE102022109176A1_0006
    RR _ probes= ( 1 P _ drop ) * SR _ probes
    Figure DE102022109176A1_0007
    RR _ probes = ( R _ output / ( SR _ probes + SR _ cross ) ) * SR _ sonden
    Figure DE102022109176A1_0008
  • Wenn die Sondenrate größer ist als das ABW, ist die Empfangsrate der Sonden gleich dem ABW, wenn der Querverkehr gleich Null ist. Bei Vorhandensein von Querverkehr ist die Empfangsrate höher als die ABW. Dies ist vergleichbar mit dem, was in Warteschlangen passiert. Diese Rate wird als asymptotische Datenrate (ADR) bezeichnet.
  • Die obigen Gleichungen können zutreffen, wenn der Token-Bucket überlastet ist (z. B. wenn die Sondenrate größer ist als die ABW). Wenn er nicht überlastet ist (ein entlasteter Zustand), wird kein Paket verworfen und die Ausgangsrate jedes Verkehrs ist gleich der Eingangsrate.
  • Die PRM-Techniken, die eine EDA verwenden, bestimmen das ABW, indem sie den Beginn der Überlastung ermitteln, d. h. den Punkt, an dem der Netzwerkpfad von seinem zuvor nicht überlasteten (z. B. leeren usw.), nicht überlasteten oder entlasteten Zustand in seinen überlasteten Zustand übergeht. Beispielsweise sendet die Sende-Computervorrichtung 210 Prüfpakete mit steigender Rate, und die EDA ermittelt die Verzögerungszunahme als Signal für eine Überlastung. Verschiedene Arten von Methoden zur Ratenreduzierung werden in 3 veranschaulicht.
  • Die PRM-Techniken, die die EDA verwenden, können für Token-Buckets angepasst werden, indem festgestellt wird, wann die Paketverluste beginnen. Wenn die Sondenrate unter dem ABW liegt, sollte es keine Verluste geben.
  • Sobald die Sondenrate die ABW überschreitet, sollte es zu Paketverlusten kommen. Daher kann ein Verlusterkennungsalgorithmus (LDA) implementiert werden, um das erste Auftreten signifikanter Verluste im Chirp-Zug zu finden und die entsprechende Sondenrate als Bandbreitenschätzung zu verwenden. Ein solcher LDA funktioniert jedoch in der Praxis nicht. Die meisten Token-Buckets haben Speicherplatz bei Beginn der Überlastung (frühere Pakete wirken sich auf spätere Pakete aus). Token-Buckets haben eine Burst-Größe. Wenn der Token-Bucket eine Zeit lang nicht überlastet war, sammelt sich eine Anzahl von Token im Bucket an. Diese angesammelten Token ermöglichen es, dass der Verkehr mit einer viel höheren Rate als der für den Token-Bucket festgelegten Rate gesendet wird, bis sie aufgebraucht sind. Wenn die Sondenrate unter dem ABW-Wert liegt, werden die Token schneller aufgefüllt als sie verbraucht werden, so dass der Eimer voll bleibt. Wenn die Abfragerate die ABW überschreitet, werden die Token schneller verbraucht als aufgefüllt, so dass die Anzahl der Token schrumpft, aber da Token verfügbar sind, wird noch kein Paket verworfen. Nach einer Reihe von Paketen des Chirp-Trains, die über die ABW gesendet wurden, ist der Eimer leer, und der Token-Eimer beginnt, Pakete abzuwerfen, aber zu diesem Zeitpunkt ist die Sondierungsrate des Chirp-Trains bereits über die ABW hinaus gestiegen, was zu einer Überschätzung führt. Dieser Effekt kann durch Burst-Erkennungstechniken etwas abgemildert werden, führt aber zu erheblichen Ungenauigkeiten bei der Messung.
  • Das Verfahren kann das LDA-Verfahren in umgekehrter Richtung auf der Grundlage eines abnehmenden Chirp-Zuges anwenden, um den Übergang zu einem entlasteten Zustand zu suchen. Der abnehmende Chirp-Zug kann die Sondenraten reduzieren, so dass die Sondenrate im Token-Bucket irgendwann unter den ABW-Wert fällt und die Verluste aufhören. Die Reversed LDA (RLDA) kann das letzte Auftreten signifikanter Paketverluste betrachten und die entsprechende Sondenrate als Bandbreitenschätzung verwenden. Auf diese Weise kann das Verfahren eine Bandbreitenschätzung für Token-Buckets mit abnehmenden Chirp-Zügen durchführen und den Effekt des Bursts eliminieren.
  • Im RLDA-Verfahren kann der Engpass keine Warteschlange sein und während des Übergangs aus einem überlasteten Zustand keinen Speicher haben. Der Token-Bucket kann dort eingebaut werden, wo während eines Entlastungszustandes kein Speicher vorhanden ist und wo die RLDA verwendet werden kann, um eine Bandbreitenschätzung vom Entlastungspunkt zu erhalten. Mit einem Token-Bucket am Entlastungspunkt können die Verluste aufhören und die Empfangsrate kann gleich der Senderate werden (z. B. die Sondierungsrate des Pakets, die einer momentanen Rate entspricht, mit der das Paket vom Sender gesendet wurde).
  • Der RLDA-Prozess kann den letzten Punkt mit signifikanten Paketverlusten im empfangenen Chirp-Zug finden. Die Suche nach dem letzten Punkt ist aus mehreren Gründen schwierig. Erstens kann es zu Paketverlusten aufgrund von Übertragungsfehlern kommen. Solche Paketverluste sind relativ selten, weshalb die RLDA nach signifikanten Paketverlusten sucht. Das bedeutet, dass es eine Möglichkeit geben muss, signifikante von nicht-signifikanten Verlusten zu unterscheiden, was den Schätzfehler erhöhen kann. Zweitens: In den meisten Fällen ist der Querverkehr stoßweise. Dies kann dazu führen, dass die momentane ABW variiert und die Verluste stärker gebündelt werden. Die Paketverluste können aufgrund der Häufigkeit des Querverkehrs vor oder nach der durchschnittlichen ABW aufhören. Wenn man versucht, einen bestimmten Punkt zu finden, kann es sein, dass der Prozess keine Mittelung über einen Abschnitt des Chirp-Zuges vornimmt. Drittens nimmt die Geschwindigkeit des Chirp-Zuges in Richtung ABW allmählich ab, um verschiedene Raten zu testen, so dass auch die Wahrscheinlichkeit von Verlusten allmählich auf Null sinken kann. Kurz vor Erreichen des ABW ist die Verlustwahrscheinlichkeit sehr gering. Das bedeutet, dass der Chirp-Zug in der Nähe des ABW nicht viele Verlustinformationen enthält und die RLDA kann mit einer sehr geringen Anzahl von Paketverlusten ermitteln.
  • Die Kombination dieser drei Beschränkungen kann eine einfache Bestimmung des Punktes, an dem ein signifikanter Paketverlust aufhört, schwierig und ziemlich verrauscht machen. Dies ist ein ähnliches Manko wie bei den auf EDA basierenden Techniken: Die Bestimmung des Wendepunkts im Chirp-Zug ist bei Rauschen nicht robust.
  • In einigen Beispielen kann der Prozess den letzten Punkt signifikanter Paketverluste im Chirp-Zug anhand von Clustern von Paketverlusten finden. Wenn die Paketverluste durch wenige empfangene Pakete getrennt sind, können sie als Teil desselben Verlustclusters betrachtet werden. Die Anzahl der tolerierbaren empfangenen Pakete in einem Cluster basiert auf der Anzahl der verlorenen Pakete, wodurch die Burstigkeit des Querverkehrs berücksichtigt werden kann. Vereinzelte Paketverluste können ignoriert werden, und der letzte Verlust des letzten Clusters wird als letzter Punkt signifikanter Paketverluste verwendet. Da der Prozess einen Token-Bucket verwenden kann (und der Token-Bucket keinen Speicher hat), kann jeder Paketverlust unabhängig von den anderen sein und der Trend kann über alle Berechnungen hinweg konsistent sein und weniger Rechenressourcen für die Analyse erfordern.
  • In einigen Beispielen kann der Prozess eine Extrapolation des Trends der Paketverlustinformationen implementieren, um herauszufinden, wo die Wahrscheinlichkeit Null erreicht wird. Das erste Problem besteht darin, den Teil des Chirp-Zuges zu identifizieren, der zur Schätzung dieses Trends verwendet werden soll (z. B. durchläuft der Token-Bucket verschiedene Zustände mit unterschiedlichen Trends, so dass ein Teil des Chirp-Zuges ausgewählt wird, der dem überlasteten Zustand entspricht). Sobald die Sondenrate unter dem ABW liegt, befindet sich der Token-Eimer nicht mehr in einem überlasteten Zustand und weist einen anderen Trend auf (konstante Nullverluste), so dass der entsprechende Teil des Chirp-Zugs eliminiert werden kann. Dies kann die Eliminierung aller Pakete nach dem letzten Paket mit signifikanten Verlusten beinhalten. Der Prozess kann auch den Teil des Chirp-Zuges eliminieren, der vor dem erkannten Ende des Bursts liegt (z. B. wenn sich der Token-Eimer in einem überlasteten Zustand befindet). Bei der Burst-Erkennung wird der Punkt ermittelt, an dem die Burst-Phase des Token-Eimers endet und der Token-Eimer in den überlasteten Zustand übergeht. Eine Alternative besteht darin, den Zeitpunkt des Beginns signifikanter Verluste zu betrachten, der in der Regel den Beginn des überlasteten Zustands kennzeichnet, und die Pakete davor zu eliminieren. Eine dritte Möglichkeit besteht darin, den Punkt zu ermitteln, an dem die Sondenrate im Chirp-Zug zu sinken beginnt, und davor Pakete zu eliminieren. Diese dritte Option ergibt einen einfacheren Trend für die Daten und wird daher für einfachere Extrapolationen bevorzugt.
  • Die Extrapolation kann an der Menge der Pakete zwischen dem Ende des Bursts oder dem Beginn der Ratenreduzierung und dem Paket mit den letzten signifikanten Verlusten durchgeführt werden. Die Extrapolation kann dabei helfen, die Sondenrate zu finden, bei der die Paketverluste gleich Null werden.
  • In einigen Beispielen kann die Extrapolation eine lineare Regression beinhalten. So kann z. B. eine Linie durch die Daten gelegt und die Sondenrate bestimmt werden, bei der die Verlustwahrscheinlichkeit Null erreicht. Die Sondenrate kann als Bandbreitenschätzung verwendet werden. Der Trend kann nichtlinear sein und einen kleinen Fehler enthalten.
  • In einigen Beispielen kann die Extrapolation eine nichtlineare Regression implementieren (z. B. mit Kurvenanpassung der Paketverlustformel an die Paketverlustdaten usw.). In ähnlicher Weise kann die angepasste Kurve verwendet werden, um die Sondenrate zu berechnen, bei der die Verlustwahrscheinlichkeit Null erreicht. Die Sondenrate kann als Bandbreitenschätzung verwendet werden. Diese Methode verringert den Fehler, kann aber die Komplexität erhöhen. P _ drop = 1 ( R _ output / ( SR _ probes+SR_cross ) )
    Figure DE102022109176A1_0009
  • In einigen Beispielen kann eine nichtlineare Regression durch Kurvenanpassung implementiert werden, um die unbekannten Parameter R_output und SR_cross direkt zu berechnen und daraus das ABW zu ermitteln.
  • 4 zeigt eine Zusammenfassung von Prozessen zur Bestimmung einer Bandbreitenschätzung in Übereinstimmung mit einigen Anwendungsbeispielen.
  • In Block 410 kann das sendende Computergerät 210 Pakete über das Netzwerk 230 an das empfangende Computergerät 220 senden. Das empfangende Computergerät 220 kann Pakete empfangen, die über einen Pfad durch das Netzwerk übertragen wurden.
  • In Block 420 kann die Empfänger-Rechenvorrichtung 220 das Paket finden, bei dem signifikante Verluste enden. Zum Beispiel kann die Anzahl der Paketverluste kleiner als ein Schwellenwert sein. Die Zeit, zu der die Verluste enden, und/oder die Anzahl der Paketverluste kann bestimmt werden.
  • In einigen Beispielen kann eine Anzahl von aufeinanderfolgenden Verlusten als Wert für die signifikanten Verluste verwendet werden.
  • In einigen Beispielen können die Verluste aus verschiedenen Gründen als signifikant eingestuft werden. Sie können zum Beispiel signifikant sein, wenn sie Teil einer Gruppe von Paketverlusten sind und/oder durch wenige empfangene Pakete von anderen Verlusten getrennt sind.
  • In Block 430 kann die Empfänger-Rechenvorrichtung 220 eine Bandbreitenschätzung bestimmen. Die Bandbreitenschätzung kann beispielsweise auf einer mit diesem Paket verbundenen Sondenrate und/oder der tatsächlich empfangenen Rate einer Teilmenge des Chirp-Zugs basieren. Der niedrigere dieser beiden Werte kann als Bandbreitenschätzung verwendet werden.
  • In einigen Beispielen kann die Prüfrate des Pakets als Gesamtprüfrate und/oder Bandbreitenschätzung verwendet werden.
  • In einigen Beispielen wird bei Verwendung einer linearen Regression auf die Paketverlustdaten vor dem in Block 420 ermittelten Paket zur Berechnung der Prüfrate, bei der die Verluste Null erreichen, diese berechnete Prüfrate als Bandbreitenschätzung verwendet.
  • In einigen Beispielen wird bei Verwendung einer nichtlinearen Kurvenanpassung von Paketverlustdaten vor dem in Block 420 ermittelten Paket zur Berechnung der Prüfrate, bei der die Verluste Null erreichen, diese berechnete Prüfrate als Bandbreitenschätzung verwendet.
  • In einigen Beispielen wird bei der Verwendung einer nichtlinearen Kurvenanpassung von Paketverlustdaten vor dem in Block 420 ermittelten Paket zur Bestimmung der Ausgangsrate des Token-Buckets und der Menge des Querverkehrs und deren Verwendung zur Berechnung einer Prüfrate diese Prüfrate als Bandbreitenschätzung verwendet.
  • In Block 440 können als Reaktion auf die Bestimmung der Bandbreitenschätzung eine oder mehrere Aktionen durchgeführt werden.
  • In einigen Beispielen kann die Aktion die Erzeugung einer Berichtsmeldung umfassen, die die Schätzung der verfügbaren Bandbreite enthält. Die Meldebenachrichtigung kann an ein Verkehrsplanungsmodul des empfangenden Computergeräts 220, einen menschlichen Benutzer oder ein externes Computersystem gesendet werden, das für die Meldung oder den Empfang von Benachrichtigungen konfiguriert ist.
  • In einigen Beispielen kann die Aktion die automatische Umleitung von Paketen umfassen, um den Paketverlust auf einem bestimmten Netzpfad zu verringern. So kann beispielsweise ein neues Prüfpaket an einen Kontrollknoten übertragen werden, um die Pakete in einem Black-Box-Netz umzuleiten.
  • In einigen Beispielen kann die Aktion das Einleiten eines Lastausgleichs des Netzwerkverkehrs umfassen, nachdem die Sondierungsrate ermittelt wurde. Beispielsweise kann die Sende-Computervorrichtung 210 eine Anfrage an einen Controller-Knoten senden, um den Lastausgleich in einem Blackbox-Netzwerk zu initiieren.
  • In einigen Beispielen kann die Aktion das Aktivieren oder Deaktivieren einiger Netzwerkpfad-Routen, -Verbindungen oder des Zugangs zu Netzwerkgeräten umfassen. In einigen Beispielen kann die Aktion das Erstellen oder Stoppen einiger Netzwerktunnel umfassen.
  • In einigen Beispielen kann die Aktion die Neukonfiguration einiger Verbindungen oder Netzgeräte umfassen. Dies kann die Verlagerung von Geräten oder anderen Ressourcen beinhalten.
  • In einigen Beispielen kann die Aktion das Starten oder Stoppen einiger Netzwerkanwendungen umfassen. Dies kann das Starten oder Stoppen eines Sicherungsprozesses auf einem bestimmten Netzwerkgerät oder den Neustart des Geräts insgesamt umfassen.
  • Es gibt verschiedene Vorteile, die in dieser Offenlegung diskutiert werden. Wenn beispielsweise der Reverse Loss Detection Algorithm (RLDA) verwendet wird, kann der Prozess eine Bandbreitenschätzung bei Vorhandensein von Token Buckets oder Netzwerkengpässen durchführen, die nur Pakete fallen lassen. Zuvor wurde die Bandbreitenschätzung entweder nicht durchgeführt oder sie wies einen großen Schätzfehler auf.
  • Außerdem lässt sich mit diesem Verfahren die verfügbare Bandbreite möglicherweise besser abschätzen. Dies kann die Effizienz des Traffic Engineering für die meisten Netze verbessern, auch im Kontext von SD-WAN.
  • Darüber hinaus kann das Verfahren mit anderen Techniken kombiniert werden, um eine Schätzung der verfügbaren Bandbreite vorzunehmen. In einigen Beispielen kann derselbe Chirp-Train sowohl von RLDA als auch von einem BDA-Verfahren verwendet werden. Dies bedeutet, dass derselbe Chirp-Train verwendet werden kann, wenn der Engpass eine Warteschlange oder ein Token-Bucket ist. Dies kann besonders nützlich sein, wenn der Querverkehr variiert und der Engpass eines Netzwerkpfades zwischen einer Warteschlange und einem Token-Bucket wechselt. In einigen Beispielen kann das System nachgerüstet werden, ohne dass der Code umstrukturiert oder Paketformate geändert werden müssen.
  • 5 zeigt Paketverluste in Verbindung mit der Erkennung von Rückwärtsverlusten in Verbindung mit einigen Anwendungsbeispielen.
  • Bei der Verwendung von RLDA kann der Prozess beispielsweise den Punkt der letzten signifikanten Verluste finden, ähnlich wie bei EDA oder PathChirp, nur in umgekehrter Richtung und auf der Suche nach Verlusten statt nach empfangenen Paketen.
  • In einem anderen Beispiel kann der Prozess unter Verwendung des letzten signifikanten Verlustpunktes das Cluster des letzten Verlustpunktes betrachten. Der Cluster kann Verluste umfassen, die von wenigen empfangenen Paketen getrennt sind. In einigen Beispielen kann das Cluster mit num_rcv < 2* num-losses berechnet werden.
  • In einem anderen Beispiel kann das Verfahren unter Verwendung der Interpolation eine lineare Regression als Verlustrate verwenden. Wenn eine nichtlineare Regression verwendet wird, kann die Kurve der Verlustwahrscheinlichkeit auf die Daten entsprechen. Die Berechnung kann mit entsprechen: P = 1 ( R _ out / ( SR _ probe + SR _ cross ) )
    Figure DE102022109176A1_0010
  • Es sollte beachtet werden, dass die Begriffe „optimieren“, „optimal“ und dergleichen, wie sie hier verwendet werden, so verwendet werden können, dass sie die Leistung so effektiv oder perfekt wie möglich machen oder erreichen. Wie jedoch ein Fachmann, der dieses Dokument liest, erkennen wird, kann Perfektion nicht immer erreicht werden. Dementsprechend können diese Begriffe auch bedeuten, die Leistung so gut oder effektiv wie unter den gegebenen Umständen möglich oder praktikabel zu machen oder zu erreichen, oder die Leistung besser zu machen oder zu erreichen als die, die mit anderen Einstellungen oder Parametern erreicht werden kann.
  • 6 zeigt ein Beispiel für eine Rechnerkomponente, die zur Implementierung einer umgekehrten Verlusterkennung für die Schätzung der Bandbreite eines Kommunikationsnetzes mit Token-Buckets in Übereinstimmung mit verschiedenen Beispielen verwendet werden kann. Wie in 6 dargestellt, kann die Rechnerkomponente 610 beispielsweise ein Servercomputer, ein Controller oder eine andere ähnliche Rechnerkomponente sein, die Daten verarbeiten kann. In der Beispielimplementierung von 6 umfasst die Rechnerkomponente 610 einen Hardwareprozessor 612 und ein maschinenlesbares Speichermedium 614.
  • Bei dem Hardware-Prozessor 612 kann es sich um eine oder mehrere Zentraleinheiten (CPUs), halbleiterbasierte Mikroprozessoren und/oder andere Hardwarevorrichtungen handeln, die zum Abrufen und Ausführen von Befehlen geeignet sind, die im maschinenlesbaren Speichermedium 614 gespeichert sind. Der Hardware-Prozessor 612 kann Befehle, wie die Befehle 616-626, abrufen, dekodieren und ausführen, um Prozesse oder Operationen für das Burst-Preloading zur Schätzung der verfügbaren Bandbreite zu steuern. Alternativ oder zusätzlich zum Abrufen und Ausführen von Befehlen kann der Hardware-Prozessor 612 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 614, kann ein beliebiges elektronisches, magnetisches, optisches oder anderes physikalisches Speichergerät sein, das ausführbare Anweisungen enthält oder speichert. Bei dem maschinenlesbaren Speichermedium 614 kann es sich beispielsweise um einen Direktzugriffsspeicher (RAM), einen nichtflüchtigen RAM (NVRAM), einen elektrisch löschbaren, programmierbaren Festspeicher (EEPROM), ein Speichergerät, eine optische Platte oder Ähnliches handeln. In einigen Beispielen kann das maschinenlesbare Speichermedium 614 ein nicht-transitorisches Speichermedium sein, wobei der Begriff „nicht-transitorisch“ nicht die transitorischen Übertragungssignale umfasst. Wie nachstehend im Detail beschrieben, kann das maschinenlesbare Speichermedium 614 mit ausführbaren Befehlen kodiert sein, z. B. mit den Befehlen 616-626.
  • Der Hardware-Prozessor 612 kann die Anweisung 616 ausführen, um eine Reihe von Prüfdatenpaketen zu empfangen. Beispielsweise kann der Hardware-Prozessor 612 von einem Sender-Computergerät eine Reihe von Prüfdatenpaketen empfangen, die über einen Netzwerkpfad durch ein Kommunikationsnetzwerk übertragen werden.
  • Der Hardware-Prozessor 612 kann die Anweisung 618 ausführen, um eine Teilmenge von Prüfdatenpaketen auszuwählen. Zum Beispiel kann der Hardware-Prozessor 612, wenn Paketverluste in der Menge der Prüfdatenpakete erkannt werden, eine Teilmenge der Menge der Prüfdatenpakete auswählen.
  • Der Hardware-Prozessor 612 kann den Befehl 620 ausführen, um einen signifikanten Verlustwert zu berechnen. Zum Beispiel kann der Hardware-Prozessor 612 für jedes Paket der Untermenge des Satzes von Prüfdatenpaketen einen signifikanten Verlustwert für das Paket basierend auf den Paketverlusten berechnen. In einigen Beispielen werden die Paketverluste aus der Menge der Prüfpakete ermittelt.
  • Der Hardware-Prozessor 612 kann den Befehl 622 ausführen, um das erste oder zweite Paket auszuwählen. Zum Beispiel kann der Hardware-Prozessor 612 ein erstes Paket in der Teilmenge des Satzes von Prüfdatenpaketen auswählen. Das erste ausgewählte Paket kann dem letzten empfangenen Paket in der Teilmenge entsprechen, für das der signifikante Verlustwert größer als Null ist.
  • In einigen Beispielen kann der Hardware-Prozessor 612 ein zweites Paket aus der Teilmenge der Prüfdatenpakete auswählen. Das zweite Paket kann mit einem nächsten Paket korrespondieren, das nach dem ersten ausgewählten Paket empfangen wurde.
  • Der Hardware-Prozessor 612 kann den Befehl 624 ausführen, um eine Bandbreitenschätzung zu ermitteln. Zum Beispiel kann der Hardware-Prozessor 612 eine Bandbreitenschätzung für den Netzwerkpfad auf der Grundlage einer Sondierungsrate des zweiten Pakets bestimmen, die einer momentanen Rate entspricht, mit der das zweite Paket von der Sende-Computereinheit gesendet wurde.
  • Der Hardware-Prozessor 612 kann den Befehl 626 ausführen, um eine Aktion in Verbindung mit der Bandbreitenschätzung durchzuführen. Zum Beispiel kann der Hardware-Prozessor 612 eine Aktion in Verbindung mit der Bandbreitenschätzung für den Netzwerkpfad im Kommunikationsnetzwerk durchführen.
  • In einigen Beispielen kann der Hardware-Prozessor 612 den signifikanten Verlustwert für ein Paket als Anzahl der verlorenen Pakete zwischen dem Paket und einem zuvor empfangenen Paket berechnen.
  • In einigen Beispielen kann der Hardware-Prozessor 612 den signifikanten Verlustwert für ein Paket als die Anzahl der verlorenen Pakete zwischen dem Paket und einem zuvor empfangenen Paket abzüglich eines festen Offsets berechnen.
  • In einigen Beispielen kann der Hardware-Prozessor 612 einen Clustering-Algorithmus verwenden, um ein oder mehrere Cluster von Paketverlusten zu erstellen. Die Cluster von Paketverlusten können statistisch miteinander verbunden sein. Für ein Paket der Teilmenge des Satzes von Prüfdatenpaketen wird, wenn mehr als einer der Paketverluste zwischen dem Paket und einem zuvor empfangenen Paket Teil eines Clusters mit einer Größe größer als ein Schwellenwert sind, der signifikante Verlustwert dieses Pakets auf eins gesetzt, andernfalls wird der signifikante Verlustwert des Pakets auf null gesetzt.
  • In einigen Beispielen kann der Hardware-Prozessor 612 den signifikanten Verlustwert für ein Paket als einen Wert berechnen, der durch eine lineare Regression einer Anzahl von Paketverlusten zwischen aufeinanderfolgend empfangenen Paketen in der Teilmenge des Satzes von Prüfdatenpaketen gegeben ist.
  • In einigen Beispielen kann der Hardware-Prozessor 612 den signifikanten Verlustwert für ein Paket als einen Wert berechnen, der durch eine nichtlineare Kurvenanpassung einer Anzahl von Paketverlusten zwischen aufeinanderfolgend empfangenen Paketen in der Teilmenge des Satzes von Prüfdatenpaketen gegeben ist.
  • In einigen Beispielen ist die Teilmenge des Satzes von Sondendatenpaketen der Teil eines Chirp-Zuges, in dem Verluste vorhanden sind.
  • In einigen Beispielen hat eine Teilmenge eines Chirp-Zuges eine abnehmende Rate.
  • 7 zeigt ein Blockdiagramm eines Beispiel-Computersystems 700, in dem verschiedene der hier beschriebenen Beispiele implementiert werden können. Zum Beispiel kann die in 2 dargestellte Sender-Rechnervorrichtung 210 oder Empfänger-Rechnervorrichtung 220 als Beispiel-Computersystem 700 in 7 implementiert werden. Das Computersystem 700 umfasst einen Bus 702 oder einen anderen Kommunikationsmechanismus zur Übermittlung von Informationen sowie einen oder mehrere Hardware-Prozessoren 704, die mit dem Bus 702 gekoppelt sind, um Informationen zu verarbeiten. Bei dem/den Hardware-Prozessor(en) 704 kann es sich zum Beispiel um einen oder mehrere Allzweck-Mikroprozessoren handeln.
  • Das Computersystem 700 umfasst auch einen Hauptspeicher 706, z. B. einen Speicher mit wahlfreiem Zugriff (RAM), einen Cache und/oder andere dynamische Speichergeräte, die mit dem Bus 702 verbunden sind, um Informationen und Anweisungen zu speichern, die vom Prozessor 704 ausgeführt werden sollen. Der Hauptspeicher 706 kann auch zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen verwendet werden, die vom Prozessor 704 ausgeführt werden sollen. Wenn solche Befehle in Speichermedien gespeichert werden, auf die der Prozessor 704 zugreifen kann, wird das Computersystem 700 zu einer Spezialmaschine, die so angepasst ist, dass sie die in den Befehlen angegebenen Operationen ausführen kann.
  • Das Computersystem 700 umfasst außerdem einen Festwertspeicher (ROM) 708 oder ein anderes statisches Speichergerät, das mit dem Bus 702 verbunden ist, um statische Informationen und Anweisungen für den Prozessor 704 zu speichern. Ein Speichergerät 710, wie z. B. eine Magnetplatte, eine optische Platte oder ein USB-Stick (Flash-Laufwerk) usw., ist vorgesehen und mit dem Bus 702 verbunden, um Informationen und Anweisungen zu speichern.
  • Das Computersystem 700 kann über den Bus 702 mit einer Anzeige 712, z. B. einer Flüssigkristallanzeige (LCD) (oder einem Berührungsbildschirm), verbunden sein, um einem Computerbenutzer Informationen anzuzeigen. Ein Eingabegerät 714, einschließlich alphanumerischer und anderer Tasten, ist mit dem Bus 702 gekoppelt, um Informationen und Befehlsauswahlen an den Prozessor 704 zu übermitteln. Eine andere Art von Benutzereingabegerät ist die Cursorsteuerung 716, z. B. eine Maus, ein Trackball oder Cursor-Richtungstasten zur Übermittlung von Richtungsinformationen und Befehlsauswahlen an den Prozessor 704 und zur Steuerung der Cursorbewegung auf der Anzeige 712. 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 700 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 installiert, dekomprimiert oder entschlüsselt werden muss). Ein solcher Softwarecode kann teilweise oder vollständig in einem Speicher des ausführenden Computergeräts gespeichert werden, damit er von dem Computergerät ausgeführt werden kann. 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 700 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 700 eine Spezialmaschine ist. Gemäß einem Beispiel werden die hierin beschriebenen Techniken vom Computersystem 700 als Reaktion auf den/die Prozessor(en) 704 ausgeführt, der/die eine oder mehrere Sequenzen von einem oder mehreren Befehlen ausführt/ausführen, die im Hauptspeicher 706 enthalten sind. Solche Anweisungen können in den Hauptspeicher 706 von einem anderen Speichermedium, wie z. B. dem Speichergerät 710, eingelesen werden. Die Ausführung der im Hauptspeicher 706 enthaltenen Befehlssequenzen veranlasst den/die Prozessor(en) 704, die hier beschriebenen Prozessschritte 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 den Betrieb einer Maschine in einer bestimmten Weise bewirken. 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 710. Zu den flüchtigen Medien gehören dynamische Speicher, wie der Hauptspeicher 706. 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 z. B. Koaxialkabel, Kupfer- und Glasfaserkabel, einschließlich der Drähte, aus denen der Bus 702 besteht. Übertragungsmedien können auch in Form von Schall- oder Lichtwellen auftreten, wie sie bei der Datenkommunikation über Funk und Infrarot erzeugt werden.
  • Das Computersystem 700 umfasst auch eine Netzwerkschnittstelle 718, die mit dem Bus 702 verbunden ist. Die Netzwerkschnittstelle 718 stellt eine Zweiwege-Datenkommunikationsverbindung zu einer oder mehreren Netzwerkverbindungen her, die mit einem oder mehreren lokalen Netzwerken verbunden sind. Bei der Netzwerkschnittstelle 718 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 718 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 718 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme mit verschiedenen Informationstypen übertragen.
  • Eine Netzverbindung ermöglicht in der Regel die Datenkommunikation über ein oder mehrere Netze zu anderen Datengeräten. So kann eine Netzverbindung beispielsweise eine Verbindung über ein lokales Netz zu einem Host-Computer oder zu Datengeräten eines Internetdienstanbieters (ISP) herstellen. 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 über die verschiedenen Netze und die Signale auf der Netzverbindung und über die Netzschnittstelle 718, die die digitalen Daten zum und vom Computersystem 700 übertragen, sind Beispiele für Übertragungsmedien.
  • Das Computersystem 700 kann über das/die Netzwerk(e), die Netzwerkverbindung und die Netzwerkschnittstelle 718 Nachrichten senden und Daten, einschließlich Programmcode, empfangen. In dem Internet-Beispiel könnte ein Server einen angeforderten Code für ein Anwendungsprogramm über das Internet, den ISP, das lokale Netzwerk und die Netzwerkschnittstelle 718 übertragen.
  • Der empfangene Code kann vom Prozessor 704 bei seinem Empfang ausgeführt und/oder in der Speichervorrichtung 710 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 Codekomponenten 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 auf sie beschriebene Funktionalität auszuführen, wie z. B. das Computersystem 700.
  • 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 etwas anderes angegeben ist, nicht als einschränkend, sondern als 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. Eine Empfänger-Rechenvorrichtung, die Folgendes umfasst: einen Speicher; und einen oder mehrere Prozessoren, die so konfiguriert sind, dass sie im Speicher gespeicherte maschinenlesbare Anweisungen ausführen, um das Verfahren durchzuführen, das Folgendes umfasst: Empfangen eines Satzes von Prüfdatenpaketen, die über einen Netzwerkpfad durch ein Kommunikationsnetzwerk übertragen werden, von einer Sende-Computervorrichtung; wenn Paketverluste in der Menge der Prüfdatenpakete erkannt werden, Auswahl einer Teilmenge der Menge der Prüfdatenpakete; für jedes Paket der Untergruppe des Satzes von Prüfdatenpaketen, Berechnen eines signifikanten Verlustwertes für das Paket auf der Grundlage der Paketverluste, die aus dem Satz von Prüfpaketen erkannt wurden; Auswählen eines ersten Pakets in der Teilmenge des Satzes von Prüfdatenpaketen, wobei das erste ausgewählte Paket dem letzten empfangenen Paket in der Teilmenge entspricht, für das der signifikante Verlustwert größer als Null ist; Auswählen eines zweiten Pakets in der Teilmenge des Satzes von Prüfdatenpaketen, wobei das zweite Paket einem nächsten Paket entspricht, das nach dem ersten ausgewählten Paket empfangen wurde; Bestimmen einer Bandbreitenschätzung für den Netzwerkpfad auf der Grundlage einer Sondierungsrate des zweiten Pakets, die einer momentanen Rate entspricht, mit der das zweite Paket von der Absender-Rechenvorrichtung gesendet wurde; und Durchführen einer Aktion in Verbindung mit der Bandbreitenschätzung für den Netzpfad im Kommunikationsnetz.
  2. Die Empfänger-Rechenvorrichtung nach Anspruch 1, wobei die maschinenlesbaren Anweisungen weiterhin das Verfahren ausführen, das Folgendes umfasst: Berechnen des signifikanten Verlustwertes für ein Paket als eine Anzahl von Paketen, die zwischen dem Paket und einem zuvor empfangenen Paket verloren gegangen sind.
  3. Die Empfänger-Rechenvorrichtung nach Anspruch 1, wobei die maschinenlesbaren Anweisungen ferner das Verfahren ausführen, das Folgendes umfasst: Berechnen des signifikanten Verlustwertes für ein Paket als eine Anzahl von Paketen, die zwischen dem Paket und einem zuvor empfangenen Paket verloren gegangen sind, abzüglich eines festen Offsets.
  4. Die Empfänger-Rechenvorrichtung nach Anspruch 1, wobei die maschinenlesbaren Anweisungen weiterhin das Verfahren ausführen, das Folgendes umfasst: Verwenden eines Clustering-Algorithmus, um ein oder mehrere Cluster von Paketverlusten zu erzeugen, wobei die Cluster von Paketverlusten statistisch miteinander verbunden sind; für ein Paket der Teilmenge des Satzes von Sondendatenpaketen: wenn mehr als einer der Paketverluste zwischen dem Paket und einem zuvor empfangenen Paket Teil eines Clusters mit einer Größe größer als ein Schwellenwert ist, Setzen des signifikanten Verlustwerts dieses Pakets auf eins, andernfalls wird der Wert für den signifikanten Verlust des Pakets auf Null gesetzt.
  5. Die Empfänger-Rechenvorrichtung nach Anspruch 1, wobei die maschinenlesbaren Anweisungen ferner das Verfahren ausführen, das Folgendes umfasst: Berechnen des signifikanten Verlustwertes für ein Paket als einen Wert, der durch eine lineare Regression einer Anzahl von Paketverlusten zwischen aufeinanderfolgend empfangenen Paketen in der Teilmenge des Satzes von Prüfdatenpaketen gegeben ist.
  6. Die Empfänger-Rechenvorrichtung nach Anspruch 1, wobei die maschinenlesbaren Anweisungen ferner das Verfahren ausführen, das Folgendes umfasst: Berechnen des signifikanten Verlustwertes für ein Paket als einen Wert, der durch eine nichtlineare Kurvenanpassung einer Anzahl von Paketverlusten zwischen aufeinanderfolgend empfangenen Paketen in der Teilmenge des Satzes von Prüfdatenpaketen gegeben ist.
  7. Die Empfänger-Rechenvorrichtung nach Anspruch 1, wobei die Teilmenge des Satzes von Sondendatenpaketen der Teil eines Chirp-Zuges ist, in dem Verluste vorhanden sind.
  8. Die Empfänger-Rechenvorrichtung nach Anspruch 1, wobei eine Teilmenge eines Chirp-Zuges eine abnehmende Rate aufweist.
  9. Ein computer-implementiertes Verfahren zur Bestimmung einer Bandbreitenabschätzung für einen Netzwerkpfad in einem Kommunikationsnetzwerk, wobei das Verfahren umfasst: Empfangen eines Satzes von Prüfdatenpaketen, die über den Netzwerkpfad durch das Kommunikationsnetzwerk übertragen werden, von einer Sende-Computervorrichtung; wenn Paketverluste in der Menge der Prüfdatenpakete festgestellt werden, Auswahl einer Teilmenge der Menge der Prüfdatenpakete; für jedes Paket der Untergruppe des Satzes von Prüfdatenpaketen, Berechnen eines signifikanten Verlustwertes für das Paket auf der Grundlage der Paketverluste, die aus dem Satz von Prüfpaketen erkannt wurden; Auswählen eines ersten Pakets in der Teilmenge des Satzes von Prüfdatenpaketen, wobei das erste ausgewählte Paket dem letzten empfangenen Paket in der Teilmenge entspricht, für das der signifikante Verlustwert größer als Null ist; Auswählen eines zweiten Pakets in der Teilmenge des Satzes von Prüfdatenpaketen, wobei das zweite Paket einem nächsten Paket entspricht, das nach dem ersten ausgewählten Paket empfangen wurde; Bestimmen einer Bandbreitenschätzung für den Netzwerkpfad auf der Grundlage einer Sondierungsrate des zweiten Pakets, die einer momentanen Rate entspricht, mit der das zweite Paket von der Absender-Rechenvorrichtung gesendet wurde; und Durchführen einer Aktion in Verbindung mit der Bandbreitenschätzung für den Netzpfad im Kommunikationsnetz.
  10. Das Verfahren nach Anspruch 9, ferner umfassend: Berechnen des signifikanten Verlustwertes für ein Paket als eine Anzahl von Paketen, die zwischen dem Paket und einem zuvor empfangenen Paket verloren gegangen sind.
  11. Das Verfahren nach Anspruch 9, ferner umfassend: Berechnen des signifikanten Verlustwertes für ein Paket als Anzahl der zwischen dem Paket und einem zuvor empfangenen Paket verlorenen Pakete abzüglich eines festen Offsets.
  12. Das Verfahren nach Anspruch 9, ferner umfassend: Verwenden eines Clustering-Algorithmus, um ein oder mehrere Cluster von Paketverlusten zu erzeugen, wobei die Cluster von Paketverlusten statistisch miteinander verbunden sind; für ein Paket der Teilmenge des Satzes von Sondendatenpaketen: wenn mehr als einer der Paketverluste zwischen dem Paket und einem zuvor empfangenen Paket Teil eines Clusters mit einer Größe größer als ein Schwellenwert ist, Setzen des signifikanten Verlustwerts dieses Pakets auf eins, andernfalls wird der Wert für den signifikanten Verlust des Pakets auf Null gesetzt.
  13. Das Verfahren nach Anspruch 9, ferner umfassend: Berechnen des signifikanten Verlustwertes für ein Paket als einen Wert, der durch eine lineare Regression einer Anzahl von Paketverlusten zwischen aufeinanderfolgend empfangenen Paketen in der Teilmenge des Satzes von Prüfdatenpaketen gegeben ist.
  14. Das Verfahren nach Anspruch 9, ferner umfassend: Berechnen des signifikanten Verlustwertes für ein Paket als einen Wert, der durch eine nichtlineare Kurvenanpassung einer Anzahl von Paketverlusten zwischen aufeinanderfolgend empfangenen Paketen in der Teilmenge des Satzes von Prüfdatenpaketen gegeben ist.
  15. Das Verfahren nach Anspruch 9, wobei die Teilmenge des Satzes von Sondendatenpaketen der Teil eines Chirp-Zuges ist, in dem Verluste vorhanden sind.
  16. Das Verfahren nach Anspruch 9, wobei eine Teilmenge einer Chirp-Folge eine abnehmende Rate aufweist.
  17. Ein nicht-transitorisches computerlesbares Speichermedium, das eine Vielzahl von Anweisungen speichert, die von einem oder mehreren Prozessoren ausgeführt werden können, wobei die Vielzahl von Anweisungen, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen,: Empfangen eines Satzes von Prüfdatenpaketen, die über den Netzwerkpfad durch das Kommunikationsnetzwerk übertragen werden, von einem Sender-Rechengerät; wenn Paketverluste in der Menge der Prüfdatenpakete festgestellt werden, eine Teilmenge der Menge der Prüfdatenpakete auswählen; für jedes Paket der Untergruppe des Satzes von Prüfdatenpaketen einen signifikanten Verlustwert für das Paket auf der Grundlage der Paketverluste berechnen, die aus dem Satz von Prüfpaketen erkannt wurden; Auswählen eines ersten Pakets in der Teilmenge des Satzes von Prüfdatenpaketen, wobei das erste ausgewählte Paket dem letzten empfangenen Paket in der Teilmenge entspricht, für das der signifikante Verlustwert größer als Null ist; Auswählen eines zweiten Pakets in der Teilmenge des Satzes von Prüfdatenpaketen, wobei das zweite Paket einem nächsten Paket entspricht, das nach dem ersten ausgewählten Paket empfangen wurde; Bestimmen einer Bandbreitenschätzung für den Netzwerkpfad auf der Grundlage einer Sondierungsrate des zweiten Pakets, die einer momentanen Rate entspricht, mit der das zweite Paket von der Absender-Rechenvorrichtung gesendet wurde; und eine Aktion in Verbindung mit der Bandbreitenschätzung für den Netzpfad im Kommunikationsnetz durchführen.
  18. Das computerlesbare Speichermedium nach Anspruch 17, ferner zum: Berechnen des signifikanten Verlustwertes für ein Paket als eine Anzahl von Paketen, die zwischen dem Paket und einem zuvor empfangenen Paket verloren gegangen sind.
  19. Das Verfahren nach Anspruch 17, ferner zur: Berechnen des signifikanten Verlustwertes für ein Paket als Anzahl der verlorenen Pakete zwischen dem Paket und einem zuvor empfangenen Paket abzüglich eines festen Offsets.
  20. Das Verfahren nach Anspruch 17, das ferner Folgendes umfasst Verwenden eines Clustering-Algorithmus, um ein oder mehrere Cluster von Paketverlusten zu erzeugen, wobei die Cluster von Paketverlusten statistisch miteinander verwandt sind; für ein Paket der Teilmenge des Satzes von Prüfdatenpaketen: wenn mehr als einer der Paketverluste zwischen dem Paket und einem zuvor empfangenen Paket Teil eines Clusters mit einer Größe größer als ein Schwellenwert sind, den signifikanten Verlustwert dieses Pakets auf eins setzen, andernfalls wird der Wert für den signifikanten Verlust des Pakets auf Null gesetzt.
DE102022109176.7A 2021-10-25 2022-04-14 Umgekehrte verlusterkennung für die schätzung der bandbreite von kommunikationsnetzen mit token- buckets Pending DE102022109176A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/510,232 2021-10-25
US17/510,232 US11888749B2 (en) 2021-10-25 2021-10-25 Reverse loss detection for communication network bandwidth estimation with token buckets

Publications (1)

Publication Number Publication Date
DE102022109176A1 true DE102022109176A1 (de) 2023-04-27

Family

ID=85796062

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022109176.7A Pending DE102022109176A1 (de) 2021-10-25 2022-04-14 Umgekehrte verlusterkennung für die schätzung der bandbreite von kommunikationsnetzen mit token- buckets

Country Status (3)

Country Link
US (1) US11888749B2 (de)
CN (1) CN116032800A (de)
DE (1) DE102022109176A1 (de)

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2291835A1 (en) 1999-12-06 2001-06-06 Nortel Networks Corporation Load adaptive buffer management in packet networks
US6839754B2 (en) 2000-09-15 2005-01-04 Wm. Marsh Rice University Network tomography using closely-spaced unicast packets
US7065482B2 (en) 2001-05-17 2006-06-20 International Business Machines Corporation Internet traffic analysis tool
US7180858B1 (en) 2001-09-10 2007-02-20 Adara Networks, Inc. Tool for measuring available bandwidth in computer networks
US7072304B2 (en) 2002-02-27 2006-07-04 Nortel Networks Limited Network path selection based on bandwidth
US7729268B2 (en) 2002-06-28 2010-06-01 Ntt Docomo, Inc. Method and apparatus for quality of service determination
US7525923B2 (en) 2002-06-28 2009-04-28 Ntt Docomo, Inc. Catprobe
US20070115814A1 (en) 2003-03-29 2007-05-24 Regents Of The University Of California, The Method and apparatus for improved data transmission
US7315515B2 (en) 2003-09-30 2008-01-01 Conexant Systems, Inc. TCP acceleration system
US8223634B2 (en) 2004-02-18 2012-07-17 Fortinet, Inc. Mechanism for implementing load balancing in a network
US20080259813A1 (en) 2004-03-09 2008-10-23 Johnny Mikhael Matta Method and apparatus for quality of service determination
US7301907B2 (en) 2005-01-06 2007-11-27 Telefonktiebolaget Lm Ericsson (Publ) Method of controlling packet flow
US7907519B2 (en) 2005-01-28 2011-03-15 British Telecommunications Plc Packet forwarding
KR101228288B1 (ko) 2005-02-07 2013-01-30 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 네트워크 감시 방법 및 그 장치
EP1758313A1 (de) 2005-08-22 2007-02-28 BRITISH TELECOMMUNICATIONS public limited company Verkehrsüberwachungsnetze
US7768926B2 (en) 2006-03-09 2010-08-03 Firetide, Inc. Effective bandwidth path metric and path computation method for wireless mesh networks with wired links
US8144586B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for controlling network bandwidth with a connection admission control engine
ATE445954T1 (de) 2007-08-31 2009-10-15 Alcatel Lucent Verfahren zur steuerung einer paketstromübertragung
US8000235B2 (en) 2008-10-05 2011-08-16 Contextream Ltd. Bandwidth allocation method and apparatus
EP2282458A1 (de) 2009-07-17 2011-02-09 BRITISH TELECOMMUNICATIONS public limited company Verwendungsüberwachung in Datennetzwerken
KR101643552B1 (ko) * 2010-06-17 2016-07-29 삼성전자 주식회사 통신시스템에서 네트워크 경로들의 가용 밴드위스 및 캐패시티를 추정하는 장치 및 방법
US9548936B2 (en) 2011-06-30 2017-01-17 The Chinese University Of Hong Kong Method and system for improved TCP performance over mobile data networks
WO2013045878A1 (en) 2011-09-30 2013-04-04 British Telecommunications Plc Attribution of congestion contributions
EP2575303A1 (de) 2011-09-30 2013-04-03 British Telecommunications Public Limited Company Bestimmung von Überlastungsmessungen
US9385958B2 (en) 2012-05-29 2016-07-05 Telefonaktiebolaget Lm Ericsson (Publ) Methods and nodes for improved estimation of available path capacity of a data transfer path
EP2723021A1 (de) 2012-10-18 2014-04-23 Telefonaktiebolaget L M Ericsson AB (Publ) Verfahren und Vorrichtung zur Feststellung des Vorhandenseins eines rateneinschränkenden Mechanismus in einem Netz
RU2015129749A (ru) 2012-12-21 2017-01-26 Телефонактиеболагет Л М Эрикссон (Пабл) Способ и компоновка узла для предоставления более точной оценки условий пути передачи данных
EP2919510A1 (de) 2014-03-10 2015-09-16 Telefonaktiebolaget L M Ericsson (publ) Technik zur Steuerung der Bandbreitennutzung einer Anwendung unter Verwendung eines Funkzugriffsträgers in einem Transportnetzwerk
CA2915487C (en) 2015-05-18 2018-09-11 Hochschule Anhalt Method for performing a bandwidth test for comminications from a first network station to a second network station of a communication network and corresponding apparatuses for performing the method steps and corresponding computer program products
US10454830B2 (en) 2016-05-05 2019-10-22 City University Of Hong Kong System and method for load balancing in a data network
CN109905257B (zh) * 2017-12-07 2022-06-14 阿里巴巴集团控股有限公司 带宽传输能力的确定方法和装置
US11228533B2 (en) 2020-01-31 2022-01-18 Hewlett Packard Enterprise Development Lp Techniques and architectures for available bandwidth estimation based on multi-dimensional analysis
US11349740B2 (en) * 2020-04-29 2022-05-31 Hewlett Packard Enterprise Development Lp Available bandwidth estimation based on packet skipping in one-way delay (OWD) based analysis
CN112653635A (zh) * 2020-12-23 2021-04-13 百果园技术(新加坡)有限公司 一种拥塞控制算法的改进方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN116032800A (zh) 2023-04-28
US11888749B2 (en) 2024-01-30
US20230147437A1 (en) 2023-05-11

Similar Documents

Publication Publication Date Title
DE602004008267T2 (de) Übertragung von überwachungspaketen zur steuerung von überlastung und verbindungsaufbau in paketbasierten netzen mit begrenzter bandbreite
DE69922180T2 (de) Verfahren und Vorrichtung zur Datenflusssteuerung
Bet Congestion Control
DE69927252T2 (de) Auf der Überwachung der Belegung von Puffern basierte Planung der Netzwerkkapazität
EP2425592B1 (de) Adaptive ratensteuerung auf basis von überlastsignalen
US10284480B2 (en) Packet loss tolerant transmission control protocol congestion control
DE112020006828T5 (de) Verbessern einer Ende-zu-Ende-Überlastungsreaktion unter Verwendung von adaptivem Routing und Überlastungshinweis-basierter Drosselung für IP-geroutete Rechenzentrumsnetzwerke
CN106464598A (zh) 用于基于传输速率梯度的网络拥塞控制的方法和装置
DE102012222367B4 (de) Hybrid-Management von eingaben- und belegungsabhängigen Überlastungen
DE112018005429T5 (de) Engpassbandbreiten- und umlaufzeit-überlastungssteuerung mit zufall-früherkennung
DE102021109229A1 (de) Burst-paket-vorbelastung für abw-schätzung mit ratenbegrenzern
EP3148150B1 (de) Verfahren und vorrichtung zur bestimmung der übertragungspuffergrösse
DE112019003854T5 (de) Flusssteuerungssichtbarkeit
CN110493146A (zh) 一种边缘智能网络感知平台及控制方法
DE102022121268A1 (de) Überlastungssteuerung auf basis von netzwerktelemetrie
DE112018008120T5 (de) Schätzung der verfügbaren netzwerkbandbreite unter verwendung eines einwegverzögerungs-rauschfilters mit erhebungs-erkennung
DE112019007406T5 (de) Weiterleitung von nvsvse-overfabric-paketen
US11228533B2 (en) Techniques and architectures for available bandwidth estimation based on multi-dimensional analysis
DE102022109176A1 (de) Umgekehrte verlusterkennung für die schätzung der bandbreite von kommunikationsnetzen mit token- buckets
DE112010002237B4 (de) Bandbreitenzuweisung in einem Resilient Packet Ring-Netzwerk durch einen PI-Regler
DE60210918T2 (de) Verfahren zur Überlastdetektion von IP-Flows über ein drahtloses Netzwerk
DE112018008106T5 (de) Bestimmung eines wendepunkts in der überlastung eines netzwerkpfads
DE102022126173A1 (de) Filterung der geschätzten bandbreite auf der grundlage von paketverlustmustern
DE102022108629A1 (de) Token bucket mit aktiver warteschlangenverwaltung
DE602004003690T2 (de) Verfahren und system zur dienstqualitätsoptimierung in einem datennetzwerk

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, SPR, US

Free format text: FORMER OWNER: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOUSTON, TX, US

R082 Change of representative

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

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

R012 Request for examination validly filed