DE102020207426A1 - Auflistung einer CNP-Erzeugung durch eine Vermittlungsstelle - Google Patents

Auflistung einer CNP-Erzeugung durch eine Vermittlungsstelle Download PDF

Info

Publication number
DE102020207426A1
DE102020207426A1 DE102020207426.7A DE102020207426A DE102020207426A1 DE 102020207426 A1 DE102020207426 A1 DE 102020207426A1 DE 102020207426 A DE102020207426 A DE 102020207426A DE 102020207426 A1 DE102020207426 A1 DE 102020207426A1
Authority
DE
Germany
Prior art keywords
destination
packet
source
network interface
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
DE102020207426.7A
Other languages
English (en)
Inventor
Barak Gafni
Eitan Zahavi
Gil Levy
Aviv Kfir
Liron Mula
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.)
Mellanox Technologies Ltd Il
Original Assignee
Mellanox Technologies TLV Ltd
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 Mellanox Technologies TLV Ltd filed Critical Mellanox Technologies TLV Ltd
Publication of DE102020207426A1 publication Critical patent/DE102020207426A1/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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • 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/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • 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/12Avoiding congestion; Recovering from congestion
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/35Flow control; Congestion control by embedding flow control information in regular packets, e.g. piggybacking

Abstract

Eine Netzwerkkommunikation erfolgt durch Senden von Paketen von einer Quellen-Netzwerkschnittstelle zu einer Ziel-Netzwerkschnittstelle, Empfangen eines der Pakete in einer Zwischenvermittlungsstelle des Netzwerks, Bestimmen, dass die Zwischenvermittlungsstelle eine Netzwerküberlastung erfährt, Erzeugen eines Überlastungsbenachrichtigungspakets für das empfangene Paket in der Zwischenvermittlungsstelle und Übertragen des Überlastungsbenachrichtigungspakets von der Zwischenvermittlungsstelle zu der Quellen-Netzwerkschnittstelle über das Netzwerk. Das empfangene Paket wird von der Zwischenvermittlungsstelle an die Ziel-Netzwerkschnittstelle weitergeleitet. Die Quellen-Netzwerkschnittstelle kann in Reaktion auf das Überlastungsbenachrichtigungspaket eine Paketübertragungsrate ändern.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung.
  • Diese Erfindung betrifft eine Übertragung digitaler Informationen über Paketvermittlungsnetzwerke. Genauer genommen bezieht sich diese Erfindung auf das Überlastungsmanagement in Paketvermittlungsnetzwerken.
  • Beschreibung des verwandten Technik.
  • Die Bedeutungen bestimmter Akronyme und Abkürzungen, die hier verwendet werden, sind in Tabelle 1 aufgeführt. Tabelle 1 - Akronyme und Abkürzungen
    ASIC Anwendungsspezifischer integrierter Schaltkreis
    BTH Basis- Transport-Header
    CNP Überlastungsbenachrichtigungspaket
    DC Dynamisch verbunden
    DIP Ziel-IP-Adresse
    DSCP Differenzierter Services Code Punkt
    ECN Explizite Überlastungs-Benachrichtigung
    FPGA feldprogrammierbares Gate Array
    HCA Host-Kanal-Adapter
    IETF Internet Engineering Task Force
    IP Internet-Protokoll
    IPv4 Internet-Protokoll Version 4
    IPv6 Internet-Protokoll Version 6
    LAN Lokales Flächen-Netzwerk
    MAC Medienzugriffssteuerunq
    NIC Netzwerk-Schnittstellen-Controller
    QoS Dienstqualität
    QP Warteschlangen-Paar
    RCM RoCEV2 Überlastunqsmanaqement
    RD Geeignetes Dataqramm
    RDMA Remote-Direktspeicherzugriff
    RoCE RDMA über konverqiertes Ethernet
    RoCEV2 Eine Erweiterung des RoCE-Protokolls
    RTT Rundlaufzeit
    SIP Quellen-IP-Adresse
    UD Unqeeiqnetes Datagramm
    VXLAN VXLAN Virtuell erweiterbares LAN
    WRED gewichtete Zufalls-Früherkennunq
  • RDMA ist ein direkter Speicherzugriff von einem Speicher eines Computers auf den Speicher eines Anderen ohne Beteiligung des Betriebssystems von einem der beiden. Ein gemeinsames Netzwerk-RDMA-Protokoll ist RDMA über konvergiertes Ethernet (RoCE). RoCEV2 ist eine Erweiterung des RoCE-Protokolls. Seine Spezifikation findet sich in dem Dokument, Supplement to InfiniBandTM Architecture Specification, Volume 1, Release 1.2.1, Annex A17 (RoCEV2), das hier durch Verweis mit aufgenommen ist.
  • Gegenwärtige Hochleistungsanwendungen tragen zu einer unvorhersehbaren explosionsartigen Zunahme des Verkehrs in den Netzwerken der Datenzentren bei, der zu Netzwerküberlastung führt und die Netzwerk- und Anwendungsleistung verschlechtert. Aktuelle Überlastungssteuerungsprotokolle zeigen Verkehrsquellen an, die zur Überlastung des Netzwerks beitragen. Mit Hilfe der Anzeige reduzieren die Verkehrsquellen die Einspeiserate des Verkehrs. Die Leistung des Überlastungssteuerungsmechanismus hängt von mehreren Faktoren ab, z. B. von der Benachrichtigungsverzögerung und der Genauigkeit der Benachrichtigung.
  • RoCEv2 Überlastungsmanagement (RCM) ermöglicht die Vermeidung von Überlastungs-Hotspots und optimiert den Durchsatz des Netzes. Mit RCM wird eine beginnende Überlastung in dem Netz schließlich an die Verkehrsquellen zurückgemeldet, die ihrerseits mit einer Drosselung ihrer Einspeiseraten reagieren und so die negativen Auswirkungen einer Netzpuffersättigung und erhöhter Wartezeiten in den Warteschlangen verhindern. Die konventionelle RoCEV2-Überlastungssteuerung stützt sich auf die explizite Überlastungsbenachrichtigung (ECN), bei der ein Switch bzw. eine Vermittlungsstelle das Paket kennzeichnet, und auf ein Überlastungsbenachrichtigungspaket (CNP), das von dem Zielknoten des Pakets an den Quellenknoten des Pakets gesendet wird. Allgemein bekannt offenbart die US-Patentanmeldung mit der Veröffentlichungsnummer 2013/0135999 von Bloch et al., die hier durch Verweis mit aufgenommen ist, ein solches Überlastungsmanagement, das in InfiniBand-Netzwerken von Knoten, die Host-Kanaladapter verwenden, implementiert wird.
  • KURZFASSUNG DER ERFINDUNG
  • Die Erfindung wird durch die Ansprüche definiert. Um die Erfindung zu veranschaulichen, werden hier Aspekte und Ausführungsformen beschrieben, die in den Anwendungsbereich der Ansprüche fallen können oder auch nicht.
  • Die hier offengelegte Erfindung stellt ein Überlastungssteuerungsprotokoll mit einer besseren Leistung als bei bekannten Konkurrenten dar. Um die Benachrichtigungsverzögerung zu reduzieren, erzeugt der überlastete Switch bzw. Vermittlungsstelle ein CNP und sendet dieses durch das Netz zum Paketquellenknoten. Die Motivation besteht darin, die Überlastungsschleife der Überlastungssteuerung zu verkürzen, indem ein danach folgendes Segment zwischen dem überlasteten der Vermittlungsstelle und dem Paketzielknoten vermieden wird. Eine bessere Überlastungsleistung des Überlastungssteuerungsalgorithmus führt zu besseren Ergebnissen. Die Verkürzung der Überlastungs-Steuerungsschleife ist umso vorteilhafter, je größer der Abstand zwischen den Knoten wird, z.B. bei Langstrecken-RoCE, bei denen die RTT sehr lang ist. In Ausführungsformen der Erfindung wird der Zielpaketknoten nicht in die Steuerungsschleife einbezogen. Vielmehr wird das CNP von einem Zwischenknoten an den Paketausgangsknoten gesendet. Die Anwendung der erfindungsgemäßen Prinzipien ist besonders wirksam, wenn Überlastungen in Edge-Routern von Datenzentren und in Spine-Switches bzw. Vermittlungsstellen eines Rückgrats eines Netzes auftreten, da die Steuerungsschleife in diesen Fällen maximal verkürzt wird.
  • Gemäß den Ausführungsformen der Erfindung ist ein Kommunikationsverfahren vorgesehen, das durch ein Senden von Paketen über ein Netzwerk von einer Quellen-Netzwerkschnittstelle zu einer Ziel-Netzwerkschnittstelle, ein Empfangen eines der Pakete in einer Zwischenvermittlungsstelle des Netzwerks, ein Bestimmen, dass die Zwischenvermittlungsstelle eine Netzwerküberlastung erfährt, ein Erzeugen eines Überlastungsbenachrichtigungspakets für das empfangene Paket in der Zwischenvermittlungsstelle und ein Übertragen des Überlastungsbenachrichtigungspakets von der Zwischenvermittlungsstelle zu der Quellen-Netzwerkschnittstelle über das Netzwerk, ausgeführt wird. Das Verfahren wird ferner in Reaktion auf das Überlastungsbenachrichtigungspaket ausgeführt, indem eine Paketübertragungsrate zu der Ziel-Netzwerkschnittstelle von der Quellen-Netzwerkschnittstelle modifiziert und das empfangene Paket von der Zwischenvermittlungsstelle zu der Ziel-Netzwerkschnittstelle weitergeleitet wird.
  • Ein Aspekt des Verfahrens beinhaltet vor der Weiterleitung des empfangenen Pakets die Markierung des empfangenen Pakets als ungeeignet, um andere Zwischenvermittlungsstellen des Netzwerkes zu veranlassen, neue Überlastungsbenachrichtigungspakete zu erzeugen und zu übertragen.
  • Nach einem weiteren Aspekt des Verfahrens ist das empfangene Paket RoCEV2-konform.
  • Nach einem weiteren Aspekt des Verfahrens ist das empfangene Paket ein Tunnelpaket.
  • Nach noch einem weiteren Aspekt des Verfahrens werden ein Senden und Empfangen der Pakete unter Verwendung eines Quellen-Warteschlangen-Paares (Quellen-QP) und eines Ziel-Warteschlangen-Paares (Ziel-QP) durchgeführt, wobei ein Erzeugen des Überlastungs-Benachrichtigungspakets ein Erhalten des Quellen-QP beinhaltet, mittels Führen einer Übersetzungstabelle zwischen dem Ziel-QP und dem Quellen-QP in der Zwischenvermittlungsstelle.
  • Nach einem zusätzlichen Aspekt des Verfahrens umfasst eine Erzeugung des Überlastungs-Benachrichtigungspakets ein Berechnen einer Hash-Funktion für eine Zieladresse und die Ziel-QP des empfangenen Pakets.
  • Darüber hinaus wird entsprechend den Ausführungsformen der Erfindung ein Kommunikationssystem bereitgestellt, die eine Quellen-Netzwerkschnittstelle und eine Ziel-Netzwerkschnittstelle umfasst. Die Quellen-Netzwerkschnittstelle ist zum Senden von Paketen über ein Netzwerk in Richtung der Ziel-Netzwerkschnittstelle betreibbar und die Ziel-Netzwerkschnittstelle ist zum Annehmen der Pakete von der Quellen-Netzwerkschnittstelle betreibbar. Die Vorrichtung enthält eine Zwischenvermittlungsstelle in dem Netzwerk, die eines der Pakete empfängt. Die Zwischenvermittlungsstelle ist betreibbar zum Feststellen, dass eine Netzwerküberlastung vorliegt, zum Erzeugen eines Überlastungsbenachrichtigungspakets für das empfangene Paket, zum Übertragen des Überlastungsbenachrichtigungspaket über das Netzwerk an die Quellen-Netzwerkschnittstelle und zum Weiterleiten des empfangenen Pakets an die Ziel-Netzwerkschnittstelle. Die Quellen-Netzwerkschnittstelle ist in der Lage, in Reaktion auf das Überlastungsbenachrichtigungspaket eine Paketübertragungsrate an die Ziel-Netzwerkschnittstelle zu modifizieren.
  • In einer Ausführungsform umfasst das System ferner andere Zwischenvermittlungsschnittstellen im Netzwerk, wobei die Zwischenvermittlungsschnittstelle dazu dient vor der Weiterleitung des empfangenen Pakets das empfangene Paket als unzulässig zu markieren, um die anderen Zwischenvermittlungsschnittstellen des Netzwerks zu veranlassen, neue Überlastungsbenachrichtigungspakete zu erzeugen und zu übertragen.
  • Das empfangene Paket kann RoCEV2-konform sein.
  • Das empfangene Paket kann ein Tunnelpaket sein.
  • Das Senden der Pakete von der Quell-Netzwerkschnittstelle und das Annehmen der Pakete in der Ziel-Netzwerkschnittstelle kann unter Verwendung eines Quell-Warteschlangenpaares (Quell-QP) bzw. eines Ziel-Warteschlangenpaares (Ziel-QP) durchgeführt werden, wobei der Schritt des Erzeugens das Erhalten des Quell-QP durch Führen einer Übersetzungstabelle zwischen dem Ziel-QP und dem Quell-QP in der Zwischenvermittlung umfasst.
  • Das Senden der Pakete von der Quell-Netzwerkschnittstelle und das Akzeptieren der Pakete in der Ziel-Netzwerkschnittstelle kann jeweils unter Verwendung eines Quell-Warteschlangenpaares (Quell-QP) und eines Ziel-Warteschlangenpaares (Ziel-QP) durchgeführt werden, wobei der Schritt des Erzeugens die Berechnung einer Hash-Funktion für eine Zieladresse und den Ziel-QP des empfangenen Pakets umfasst.
  • Das System kann ein Gerät sein.
  • Jedes Merkmal in einem Aspekt oder einer Ausführungsform kann auf andere Aspekte oder Ausführungsformen in jeder geeigneten Kombination angewandt werden. Insbesondere kann jedes Merkmal eines Aspektes oder einer Ausführungsform eines Verfahrens auf einen Aspekt oder eine Ausführungsform einer Vorrichtung angewandt werden und umgekehrt.
  • Figurenliste
  • Zum besseren Verständnis der vorliegenden Erfindung sei beispielhaft auf die ausführliche Beschreibung der Erfindung verwiesen, die in Verbindung mit den folgenden Zeichnungen zu lesen ist, wobei für gleiche Elemente gleiche Bezugszahlen vergeben sind und in denen:
    • 1 ein Blockdiagramm ist, das schematisch ein Kommunikationssystem in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
    • 2 eine Tabelle ist, die das Format eines herkömmlichen RoCEV2-Paketkopfes veranschaulicht;
    • 3 eine Tabelle ist, die das Format eines herkömmlichen CNP-Headers veranschaulicht; [0018] 3 ist eine Tabelle ist, die das Format eines herkömmlichen CNP-Headers veranschaulicht;
    • 4 ein Flussdiagramm eines Verfahrens zur Bewältigung von Netzwerkengpässen in Übereinstimmung mit einer Ausführungsform der Erfindung ist;
    • 5 ein Diagramm ist, das einen Tunnelpaket-Header zur Verwendung in Übereinstimmung mit einer Ausführungsform der Erfindung veranschaulicht; und
    • 6 ein Diagramm ist, das einen Tunnel-CNP-Header zur Verwendung in Übereinstimmung mit einer Ausführungsform der Erfindung zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • In der folgenden Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der verschiedenen Prinzipien der vor der Erfindung gemachten Angaben zu ermöglichen. Für den Fachmann wird es jedoch offensichtlich sein, dass nicht alle diese Einzelheiten notwendigerweise immer für die Ausübung der vorliegenden Erfindung benötigt werden. In diesem Fall sind bekannte Schaltungen, eine Steuerlogik und die Einzelheiten von Computerprogrammanweisungen für konventionelle Algorithmen und Prozesse nicht im Detail gezeigt worden, um einen Durchblick auf die allgemeinen Konzepte nicht unnötig zu hemmen.
  • Dokumente, die durch Verweis hierin aufgenommen wurden, sind als integraler Bestandteil der Anmeldung zu betrachten, mit der Ausnahme, dass, soweit in diesen aufgenommenen Dokumenten Begriffe in einer Weise definiert sind, die im Widerspruch zu Definitionen steht, die explizit oder implizit in der vorliegenden Spezifikation gemacht werden, nur die Definitionen in der vorliegenden Spezifikation berücksichtigt werden sollten.
  • Systembeschreibung
  • 1 ist ein Blockdiagramm, das ein Kommunikationssystem 20 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung schematisch veranschaulicht. In dem vorliegenden Beispiel weist das System 20 ein System wie z.B. ein InfiniBand (IB)-System auf, in dem zwei Host-Kanaladapter, ein Quellen-HCA 24 und ein Ziel-HCA 25, über ein IB-Netzwerk 32 kommunizieren. In alternativen Ausführungsformen kann das System 20 jeden anderen geeigneten Netzwerktyp umfassen, in dem Netzwerk-Schnittstellengeräte, z.B. Netzwerk-Schnittstellen-Controller (NICs), miteinander kommunizieren. Jeder HCA ist mit einem entsprechenden Host 28, z.B. einem Computer verbunden. Die Abbildung zeigt der Übersichtlichkeit halber nur zwei HCAs. Real existierende Systeme können jedoch eine große Anzahl von Hosts und HCAs umfassen. Jeder HCA besteht aus einer Paketverarbeitungsschaltkreis 36, die Kommunikationspakete sendet und empfängt, um zwischen den Hosts 28 zu kommunizieren. Ein Schaltkreis 36 besteht aus einem oder mehreren Warteschlangen-Paaren (QPs) 40. Jedes QP besteht aus einer Sende- und einer Empfangswarteschlange (nicht abgebildet). In einem bestimmten QP reiht die Sende-Warteschlange Pakete ein, die zur Übertragung vom HCA zum Netzwerk 32 anstehen, und die Empfangs-Warteschlange reiht Pakete ein, die vom Netzwerk empfangen wurden und zur Dekodierung in dem HCA anstehen. Im vorliegenden Kontext wird jedes Warteschlangen-Paar als eine Art Transportdienstinstanz betrachtet, die zum Senden und Empfangen von Paketen über das Netzwerk verwendet wird. In alternativen Ausführungsformen können auch andere geeignete Arten von Transportdienstinstanzen verwendet werden.
  • Jeder HCA umfasst eine Überlastungssteuerungseinheit 44, die Maßnahmen zur Minderung der Überlastung durch Pakete in dem Netzwerk 32 ergreift. Eine Überlastungssteuerungseinheit 44 umfasst eine Ansammlung von Ratenbegrenzern 48 (RL), die die Übertragungsrate von Paketen regulieren. Die von der Überlastungssteuerungseinheit 44 angewandten Überlastungssteuerungsverfahren werden weiter unten ausführlich beschrieben.
  • Das Beispiel in 1 bezieht sich auf die Paketübertragung von HCA 24 zu HCA 25. Diese Bezugnahme erfolgt jedoch nur aus Gründen der Übersichtlichkeit. Typischerweise kann jeder HCA bei einigen Paketen als Quellen-HCA und bei anderen Paketen als Ziel-HCA fungieren. Ein bestimmter HCA kann Pakete an mehrere HCAs senden und Pakete von mehreren HCAs empfangen. Die Ratenbegrenzer 48 sind in der Abbildung aus Gründen der Übersichtlichkeit nur für HCA 24 dargestellt, obwohl HCA 25 normalerweise auch eine Ansammlung von Ratenbegrenzern umfasst.
  • Pakete, die von HCA 24 an HCA 25 gesendet werden, können verschiedene Netzwerkelemente in dem Netzwerk 32 durchlaufen. Im vorliegenden Beispiel durchqueren die Pakete einen bestimmten Pfad in dem Netzwerk, der über eine Vermittlungsstelle 52 verläuft. Die Vermittlungsstelle 52 umfasst mehrere Warteschlangen 56, welche die die Vermittlungsstelle durchlaufenden Pakete in eine Warteschlange einreihen, und die in dem vorliegenden Beispiel stellvertretend als vier Warteschlangen dargestellt sind. In alternativen Ausführungsformen können die Pakete verschiedene Pfade durchlaufen, die jeweils mehrere Netzwerkelemente durchlaufen können.
  • Die HCAs 24, 25, die Vermittlungsstelle 52 und die in 1 gezeigten Systemkonfigurationen sind beispielhafte Konfigurationen, die rein aus Gründen der konzeptionellen Klarheit gewählt wurden. In alternativen Ausführungsformen kann jede andere geeignete HCA-, Netzwerk-Element- und Systemkonfiguration verwendet werden. Bestimmte Elemente der HCAs 24, 25 können durch Hardware implementiert werden, wie z.B. durch die Verwendung einer oder mehrerer anwendungsspezifischer integrierter Schaltkreise (ASICs) oder feldprogrammierbarer Gate-Arrays (FPGAs). Alternativ können einige HCA-Elemente in Software oder unter Verwendung einer Kombination aus Hardware- und Software-Elementen implementiert werden.
  • In einigen Ausführungsformen können bestimmte HCA-Funktionen unter Verwendung eines Allzweck-Rechners implementiert werden, der in einer Software zur Ausführung der hier beschriebenen Funktionen programmiert ist. In einer Beispielausführung können solche Funktionen von einem Prozessor des Host 28 ausgeführt werden. Die Software kann in elektronischer Form, z.B. über ein Netzwerk, auf den Computer heruntergeladen werden, oder sie kann alternativ oder zusätzlich auf nicht vorübergehenden materiellen Medien, wie z.B. magnetischen, optischen oder elektronischen Speichern, bereitgestellt und/oder gespeichert werden.
  • In einigen praktischen Fällen werden bestimmte Komponenten der Netzwerkelemente in dem Netzwerk 32 mit starkem Datenverkehr belastet und können große Verzögerungen oder sogar Paketverluste verursachen. In dem Beispiel von 1 können eine oder mehrere der Warteschlangen 56 in der Vermittlungsstelle 52 mit einer großen Menge von Paketen belastet sein. Solche Szenarien werden hier als Netzwerküberlastung bezeichnet. In Ausführungsformen der unten beschriebenen Erfindung wendet die Vermittlungsstelle 52 ein Überlastungssteuerungsschema an, das die Netzwerküberlastung mildert.
  • Überlastungssteuerungsschema
  • Ein RoCEV2-Paket hat das in 2 gezeigte Format, das ein L2-MAC-Segment 58, ein L3-IP-Segment 60 (IPv4 oder IPv6), ein 2-Bit-ECN-Feld 62 und einen Basis-Transport-Header (BTH) 64 enthält. Die Bedeutung der Bits in dem ECN-Feld 62 ist in Tabelle 2 gemäß der Definition in IETF RFC 3168 angegeben, die hier durch Verweis aufgenommen wurde. Das L3-IP-Segment 60 hat andere Felder (nicht dargestellt), wie z.B. ein DSCP-Feld (Differentiated Services Code Point). Tabelle 2
    ECT-Feld
    00 Nicht ECT-fähig
    01 ECT-fähig
    10 ECT-fähig
    11 Überlastungen aufgetreten
  • In konventionellen RoCE-Netzwerken signalisieren die Weichen eine Überlastung, indem sie das ECN-Feld 62 auf den binären Wert 11 setzen. Das Paket setzt dann seine Überführung durch das Netzwerk fort und erreicht einen Zielknoten. Sobald der Zielknoten ein Paket empfängt, dessen ECN-Feld den Binärwert 11 hat, erzeugt er ein CNP, das für den Sender des empfangenen Pakets bestimmt ist. Das CNP hat das in 3 gezeigte Format, einschließlich eines L2-MAC-Segments 66 und eines L3-IP-Segments 68. Die IP-Adressen in dem L3-IP-Segment 68 eines CNPs sind die Swap-Adressen des L3-IP-Segments 60 in dem empfangenen Paket. Die Adressen des L2-MAC-Segments 66 werden nicht vertauscht, sondern bleiben so, wie sie von dem Router definiert sind, der das Paket an den DIP (den ursprünglichen SIP des Pakets) weiterleitet und der auch die Quellen-MAC des Routers ist.
  • In Ausführungsformen der Erfindung erzeugt eine zwischengeschaltete Netz-Vermittlungsstelle, die ein Paket empfängt, das eine Verkehrsüberlastung erfährt, ein Überlastungsbenachrichtigungspaket (CNP). Eine lokale Überlastung an einer Vermittlungsstelle kann mit bekannten Verfahren erkannt werden, z.B. weil ihre Warteschlangen gefüllt sind. Anstatt jedoch die ECN-Felder zu markieren, wird ein CNP generiert. Das CNP wird von der Vermittlungsstelle an den Quellenknoten des empfangenen Pakets gesendet. Wenn der Quellenknoten das CNP empfängt, reduziert er die Verkehrseingaberate des überlastenden Flusses, so als ob das CNP von dem Zielknoten des Pakets erzeugt worden wäre. Der Begriff „Vermittlungsstelle“ bzw. Switch umfasst Netzwerkelemente oder Knoten, die Netzwerkschnittstellen haben, wie z.B. NICs, in denen die Netzwerkelemente die Funktion einer Vermittlungsstelle erfüllen.
  • Die Vermittlungsstelle kann so konfiguriert werden, dass sie jede der folgenden Ausführungsformen erfüllen kann:
    • Erste Ausführungsform (Nicht-virtualisierte Netzwerke, die „native Pakete“ verarbeiten)
  • RoCEV2-konforme Vermittlungsstellen sind ECN-fähig, und Vermittlungsstellen zeigen Netzwerküberlastungen an, indem sie das ECN-Feld 62 binär als 11 markieren.
  • Hinsichtlich des CNP sind in dem Format von 3 die Felder (nicht dargestellt außer ECN) in dem L3-IP-Segment 60 wie folgt zugeordnet:
    • DIP = ursprüngliches Paket SIP;
    • SIP = Router SIP oder ursprüngliches Paket DIP;
    • DSCP = dedizierter Wert mit hoher Priorität, um sicherzustellen, dass das CNP den Quellenknoten so schnell wie möglich erreicht;
    • ECN = Binär 00 (CNP sind nicht für die ECN-Kennzeichnung geeignet).
  • Ein L2-MAC-Segment 66 ist so aufgebaut, wie es für den normalen Router-Fluss in der Vermittlungsstelle definiert ist. Felder des L3-IP-Segments 68 werden gemäß dem RoCEV2-Standard zugewiesen.
  • Es wird nun auf 4 verwiesen, bei der es sich um ein Flussdiagramm eines Verfahrens des Netzwerk-Überlastungsmanagements in Übereinstimmung mit einer Ausführungsform der Erfindung handelt. Die Prozessschritte sind zur Verdeutlichung der Darstellung in einer bestimmten linearen Abfolge dargestellt. Es wird jedoch deutlich, dass viele von ihnen parallel, asynchron oder in unterschiedlicher Reihenfolge durchgeführt werden können. Diejenigen, die sich auf diesem Gebiet auskennen, werden auch anerkennen, dass ein Prozess alternativ als eine Reihe von zusammenhängenden Zuständen oder Ereignissen dargestellt werden kann, z.B. in einem Zustandsdiagramm. Darüber hinaus sind möglicherweise nicht alle dargestellten Prozessschritte erforderlich, um die Verfahren zu implementieren.
  • In dem Anfangsschritt 70 wird ein RoCEV2-Paket, das im Allgemeinen zu einem Fluss gehört, in einer Netzwerk-Vermittlungsstelle oder einem anderen Netzwerkelement empfangen.
  • Als nächstes wird in dem Entscheidungsschritt 72 bestimmt, ob an der Vermittlungsstelle ein Zustand der Netzwerküberlastung vorliegt. Diese Bestimmung wird durch jedes geeignete, in der Technik bekannte Verfahren der Überlastungsbestimmung vorgenommen. Beispielsweise kann die Vermittlungsstelle ihre internen Warteschlangen überwachen. Wenn die Bestimmung in dem Entscheidungsschritt 72 negativ ist, dann ist das empfangene Paket nicht überlastet. Die Steuerung geht zum letzten Schritt 74 über, wo das nicht überlastete Paket von der Vermittlungsstelle in Übereinstimmung mit seinen Routing-Informationen konventionell weitergeleitet oder verarbeitet wird.
  • Wenn die Bestimmung in dem Entscheidungsschritt 72 positiv ausfällt, fährt die Steuerung mit dem Entscheidungsschritt 76 fort, wo bestimmt wird, ob das empfangene Paket (als „überlastetes Paket“ bezeichnet), um den Schalter zu veranlassen ein CNP zu übertragen.. Mit erneutem Bezug auf 2 und 3, wird festgestellt, ob bestimmte Bedingungen erfüllt sind, bevor ein CNP erzeugt werden kann:
    • 1) Das überlastete Paket ist RoCEV2-konform. Die RoCEV2-Konformität erfordert, dass das ECN-Feld in dem L3-IP-Segment 60 für die Signalisierung von Überlastungen verfügbar ist.
    • 2) Das überlastete Paket ist für die ECN-Kennzeichnung geeignet. Ein Paket mit dem binären Wert 00 in dem ECN-Feld 62 ist nicht geeignet.
    • 3) Das überlastete Paket ist, wie oben beschrieben, tatsächlich mit einer Überlastung konfrontiert.
    • 4) Das überlastete Paket wird von der Vermittlungsstelle nicht verworfen (ausgenommen Pufferüberlastung). Es ist von Vorteil, dass ein CNP an den Quellenknoten gesendet wird, auch wenn das Paket aufgrund einer Pufferüberlastung verworfen wird. In konventionellen Netzwerken, in denen der Zielknoten das CNP erzeugt, würde in diesem Fall kein CNP erzeugt werden.
  • Wenn die Bestimmung bei dem Entscheidungsschritt 76 negativ ist, endet der Prozess bei dem Endschritt 74.
  • Wenn die Bestimmung in dem Entscheidungsschritt 76 positiv ist, dann wird in Schritt 78 ein CNP durch die Vermittlungsstelle erzeugt. Schritt 78 umfasst die Schritte 80, 82 und 84. In Schritt 80 werden DIP und SIP aus dem L3-IP-Segment 60 des überlasteten Pakets ausgelesen und dann in dem L3-IP-Segment 68 des CNP ausgetauscht, so dass das SIP des überlasteten Paketes zum DIP des CNP und das DIP des überlasteten Paketes zum SIP des CNP wird. In einigen Ausführungsformen kann die IP-Adresse der Vermittlungsstelle selbst als SIP des CNP verwendet werden. Die L2-MAC-Segmente 58 werden keiner Adressvertauschung unterzogen, sondern wie oben beschrieben behandelt.
  • In Schritt 82 wird das DSCP-Feld des L3-IP-Segments des CNP-Headers auf einen hohen Prioritätswert gesetzt, um sicherzustellen, dass das CNP den Quellenknoten des überlasteten Pakets so schnell wie möglich erreicht.
  • Ein CNP ist nicht für die ECN-Kennzeichnung geeignet. Das ECN-Feld des L3-IP-Segments des CNP wird in Schritt 84 auf den binären Wert 00 gesetzt, so dass der CNP während seiner Überführung durch das Netzwerk nicht von Überlastungsmanagementverfahren anderer Knoten beeinflusst wird.
  • Sobald sich die Vermittlungsstelle verpflichtet hat, ein CNP zu erzeugen, wäre es unerwünscht, dass nachgeschaltete Vermittlungsstellen die Prozedur wiederholen, wenn sie das überlastete Paket nacheinander bearbeiten, da der Quellenknoten des Pakets dann mehrere CNPs bezüglich eines einzelnen Pakets erhalten würde. Der Quellenknoten des Pakets könnte darauf mit einer stärkeren Drosselung des Flusses als nötig reagieren, möglicherweise QoS-Anforderungen verletzen und sogar dazu führen, dass der Fluss an dem Ziel unbrauchbar wird.
  • Als nächstes werden die ECN-Felder des L3-IP-Segments des überlasteten Pakets in Block 86 zurückgesetzt, in dem je nach Leistungsfähigkeit der Vermittlungsstellen in dem Netzwerk eine aus einer Reihe von Optionen ausgewählt wird. Die Sequenz beginnt beim Entscheidungsschritt 88, wo festgestellt wird, ob alle Vermittlungsstellen in dem Netzwerk interoperabel bzw. übergreifend betreibbar sind, was in diesem Zusammenhang bedeutet, dass sie alle in der Lage sind, das Verfahren der gewichteten zufälligen Früherkennung (Weighted Random Early Detection, WRED) nicht auf nicht ECN-fähige Pakete anzuwenden, während sie die ECN-Markierung für ECN-fähige Pakete anwenden. WRED ist eine bekannte Art von Warteschlangen, bei der Pakete auf der Grundlage der IP-Priorität selektiv verworfen werden.
  • Wenn die Bestimmung in dem Entscheidungsschritt 88 positiv ausfällt, dann ist das Netzwerk ideal für die Anwendung der Prinzipien der Erfindung geeignet. Die Steuerung geht weiter zu Schritt 90, wo das ECN-Feld des L3-IP-Segments in dem überlasteten Paket auf binär 00 gesetzt wird. Zum Zwecke des Überlastungsmanagements wird das überlastete Paket in den nachfolgenden Iterationen des Entscheidungsschritts 76 in den nachgeschalteten Netzknoten als ungeeignet betrachtet. Die Durchführung von Schritt 90 stellt sicher, dass genau ein CNP für das überlastete Paket erzeugt wird. Dieses Verhalten ähnelt einer CNP-Erzeugung an einem Ende, an dem alle Vermittlungsüberlastungen entlang des Pfades zu einer einzigen CNP-Erzeugung zusammenfließen.
  • Wenn die Bestimmung bei Entscheidungsschritt 88 negativ ist, wird bei dem Entscheidungsschritt 92 bestimmt, ob die Netzwerkknoten so konfiguriert oder konfigurierbar sind, dass sie nur einen ausgewählten der binären Werte 01 und 10 als Hinweis auf die Paketeignung in Schritt 90 erkennen. In dem Beispiel werden in Frage kommende Pakete durch den binären Wert 01 bezeichnet, während der Binärwert 10 (ebenso wie der Wert 00) die fehlende Eignung anzeigt. Die binären Werte „01“ und „10“ werden hier willkürlich verwendet, um die Paketeignung von der Nicht-Eignung zu unterscheiden. Die binären Werte in diesem Beispiel haben keine Bedeutung in Bezug auf die tatsächliche Konfiguration des Verfahrens.
  • Wenn die Bestimmung in dem Entscheidungsschritt 92 positiv ausfällt, dann wird in Schritt 94 das ECN-Feld auf den binären Wert 10 gesetzt. Netzwerk-Vermittlungsstellen, die so konfiguriert sind, dass sie Schritt 94 ausführen, erzeugen CNP-Pakete nur für Pakete mit dem ausgewählten ECN-Feldwert, der die Eignung für die CNP-Erzeugung anzeigt, in diesem Beispiel binär 01, und verhindern die mehrfache CNP-Erzeugung, indem sie das ECN-Feld so einstellen, dass es die Nicht-Eignung anzeigt. Dadurch wird eine einzelne CNP-Erzeugung pro Paket gewährleistet.
  • Wenn die Bestimmung bei Entscheidungsschritt 92 negativ ist, wird das ECN-Feld des überlasteten Pakets unverändert gelassen. In Fällen, in denen keine anderen Vermittlungsstellen in dem Pfad des überlasteten Pakets eine Überlastung erfahren, entsteht kein Fehler, da nur ein CNP erzeugt wird. Nur wenn mehrere Netzwerküberlastungspunkte vorhanden sind, können mehrere CNPs als unerwünschte Wirkung auftreten.
  • Nach Verlassen von Block 86 in dem letzten Schritt 96 wird das überlastete Paket gemäß seinen Routing-Anweisungen weitergeleitet, und der CNP wird durch das Netzwerk in Richtung des Quellenknotens des überlasteten Pakets übertragen.
  • Zweite Ausführungsform (Virtualisierte Netzwerke, die „Tunnelpakete“ verarbeiten)
  • Wie in der Technik bekannt ist, ist ein „Tunneling“-Protokoll ein Kommunikationsprotokoll, das die Bewegung von Daten von einem Netzwerk zu einem anderen ermöglicht. Die Nutzdaten eines Tunnelpakets kapseln ein anderes Paket ein, das mit einem anderen Protokoll konform ist, und sie transportieren die Nutzdaten des anderen Pakets. Diese Ausführungsform wird am Beispiel des Protokolls Virtual Extensible LAN (VXLAN) beschrieben, das in IETF RFC 7348 beschrieben ist und hier durch Verweis einbezogen wird. VXLAN ist ein Layer-2-Overlay-Schema in einem Layer-3-Netzwerk.
  • Ein RoCEV2-over-VXLAN-Tunnelpaket (je nach Fall als „nicht überlastetes Tunnelpaket“ oder als „überlastetes Tunnelpaket“ bezeichnet) hat das in 5 gezeigte Format. Es enthält ein VXLAN-Segment oder den äußeren Header 98. Der äußere Header 98 kapselt einen inneren Header 100, wobei letzterer einem ursprünglichen MAC-Rahmen entspricht. Der äußere Header 98 und der innere Header 100 haben beide jeweils ein L3-IP-Segment, die Segmente 102 bzw. 104, die jeweils ein ECN-Feld haben, wie oben in der vorherigen Ausführungsform beschrieben, und das L2-MAC-Segment 106, 108. Die L3-IP-Segmente 102, 104 sind nicht unbedingt 1 identisch. Wenn eine nicht überlastete Vermittlungsstelle ein nicht überlastetes Tunnelpaket empfängt und weiterleitet, d.h. die Vermittlungsstelle keine Verkapselung oder Entkapselung durchführt, wird das nicht überlastete Tunnelpaket entsprechend dem ECN-Feld des L3-IP-Segments 102 in dem äußeren Header 98 verarbeitet.
  • Bei der Weiterleitung eines überlasteten Tunnelpakets bezeichnet das L3-IP-Segment 102 in dem äußeren Header 98 jede Überlastung in dem unterlagerten Netzwerk. Sobald das Paket entkapselt ist, können die ECN-Markierungen des L3-IP-Segments 102 in das L3-IP-Segment 104 in dem inneren Header 100 kopiert werden.
  • Ein CNP-over-VXLAN hat das in 6 gezeigte Format. Der äußere Header 110 enthält das L2-MAC-Segment 112 und das L3-IP-Segment 114. Ein innerer Header 116 umfasst ein L2-MAC-Segment 118 und ein L3-IP-Segment 120. Beim Aufbau eines CNP-over-VXLAN ist es notwendig, sich mit dem äußeren Header 110 und dem inneren Header 116 zu befassen.
  • In dem Falle des inneren Headers 116 wird Schritt 78 (3) durchgeführt, in dem das SIP und DIP der inneren Header 100, 116 vertauscht werden. Die Vertauschung wird separat auf den L2-MAC-Segmenten 108, 118 und auf den L3-IP-Segmenten 104, 120 durchgeführt.
  • Bezüglich des äußeren Headers 110 werden das L2-MAC-Segment 112 und das L3-IP-Segment 114 genauso behandelt wie das L2-MAC-Segment 66 und das L3-IP-Segment 68 eines CNP für reguläre RoCEV2-überlastete Pakete (Schritt 78, 4).
    Einzelheiten der Implementierung.
  • Eine der Herausforderungen bei der Erzeugung eines CNP bzw. Überlastungsbenachrichtigungspakets besteht darin, das Bestimmungs-QP bzw. Bestimmungs-Warteschlangen-Paar für das CNP abzurufen.
  • Für zuverlässige Verbindungstransportdienste kann das Quellen-QP in dem Paket-Header des überlasteten Pakets (oder des überlasteten Tunnelpakets) möglicherweise nicht verfügbar sein. Dieses Problem kann durch eine der folgenden Optionen gelöst werden:
  • Zwischen {Ziel-IP, Ziel-QP} und dem Quellen-QP kann in der Vermittlungsstelle eine Übersetzungstabelle geführt werden. Eine solche Tabelle existiert normalerweise in einem NIC bzw. Netzwerk-Schnittstellen-Controller und kann bei der Erzeugung des CNP benutzt werden. Es ist möglich, diese Tabelle in der Vermittlungsstelle bereitzustellen; allerdings können dadurch Probleme der Skalierung entstehen. Darüber hinaus muss ein zentraler Netzwerk-Controller das gesamte Netzwerk kennen, um die Vermittlungsstelle konfigurieren zu können.
  • Anstatt das QP zu verwenden, zeichnet der NIC ein CNP zu einem Überlastungssteuerungskontext durch ein anderes Feld auf. Eine typische Lösung ist die Berechnung einer Hash-Funktion für die folgenden Felder:
    • Ziel-IP (des ursprünglichen Pakets, das die SIP des CNP-Pakets ist); und
    • Ziel-QP des ursprünglichen Pakets.
  • Diese Option erfordert, dass das CNP-Paket diese Ziel-QP wiedergibt. Da das Quellen-QP des ursprünglichen Pakets nicht verfügbar ist (andernfalls gibt es kein Problem), gibt die Vermittlungsstelle das Ziel-QP in dem CNP wieder.
  • Bei einem geeigneten Verbindungstransportdienst kann der Quellenknoten IP oder andere Alternativen wie eine Hashtabelle für Korrelationen zwischen einem Paket und seinem Überlastungssteuerungskontext zu verwenden.
  • Wenn der Zielknoten das CNP erzeugt, wird normalerweise das Ziel-QP des CNP-Pakets (welches das Quellen-QP des überlasteten Pakets ist) aus einer Nachschlagetabelle über das Ziel-QP des überlasteten Pakets abgerufen. Dies kann für geeignete Transportdienste verwendet werden, bei denen das Quellen-QP in dem Paket nicht angegeben ist. Obwohl dieser Ansatz von einer Zwischenvermittlungsstelle verwendet werden kann, ist er schwieriger zu skalieren als die oben genannten Optionen.
  • Der Fachmann wir anerkennen, dass die vorliegende Erfindung nicht auf das beschränkt ist, was oben genau gezeigt und beschrieben wurde. Vielmehr umfasst der Anwendungsbereich der vorliegenden Erfindung sowohl Kombinationen und Unterkombinationen der verschiedenen oben beschriebenen Merkmale als auch Variationen und Modifikationen davon, die nicht zum Stand der Technik gehören, die jedoch dem Fachmann beim Lesen der vorstehenden Beschreibung in den Sinn kommen.
  • Es wird davon ausgegangen, dass Aspekte und Ausführungsformen voranstehend nur beispielhaft beschrieben werden und dass im Rahmen der Ansprüche Detailänderungen vorgenommen werden können.
  • Jede Vorrichtung, jedes Verfahren und jedes Merkmal, die in der Beschreibung offenbart werden, sowie (gegebenenfalls) die Ansprüche und Zeichnungen können unabhängig voneinander oder in jeder geeigneten Kombination erfindungswesentlich werden.
  • In den Ansprüchen enthaltene Bezugszahlen dienen lediglich der Illustration und haben keine einschränkende Wirkung auf den Umfang der Ansprüche.

Claims (12)

  1. Verfahren zur Kommunikation, aufweisend die folgenden Schritte: Senden von Paketen über ein Netzwerk von einer Quellen-Netzwerkschnittstelle zu einer Ziel-Netzwerkschnittstelle; Empfangen eines der Pakete in einer Zwischenvermittlungsstelle des Netzwerks; Bestimmen, dass die Zwischenvermittlungsstelle eine Netzwerküberlastung erfährt; Erzeugen eines Überlastungsbenachrichtigungspakets für das empfangene Paket in der Zwischenvermittlungsstelle; Übertragen des Überlastungsbenachrichtigungspakets von der Zwischenvermittlungsstelle über das Netzwerk an die Quellen-Netzwerkschnittstelle; Modifizieren einer Paketübertragungsrate von der Quellen-Netzwerkschnittstelle zu der Ziel-Netzwerkschnittstelle in Reaktion auf das Überlastungsbenachrichtigungspaket; und Weiterleiten des empfangenen Pakets von der Zwischenvermittlungsstelle zu der Ziel-Netzwerkschnittstelle.
  2. Verfahren nach Anspruch 1, ferner aufweisend: vor einem Weiterleiten des empfangenen Pakets, Kennzeichnen des empfangenen Pakets als nicht geeignet, um andere Zwischenvermittlungsstellen des Netzwerks zu veranlassen, neue Überlastungsbenachrichtigungspakete zu erzeugen und zu übertragen.
  3. Verfahren nach einem der vorangehenden Ansprüche, wobei das empfangene Paket RoCEV2-konform ist.
  4. Verfahren nach einem der vorangehenden Ansprüche, wobei das empfangene Paket ein Tunnelpaket ist.
  5. Verfahren nach einem der vorangehenden Ansprüche, wobei ein Senden und Empfangen der Pakete jeweils unter Verwendung eines Quellen-Warteschlangen-Paares (Quellen-QP) und eines Ziel-Warteschlangen-Paares (Ziel-QP) durchgeführt wird, wobei der Schritt des Erzeugens ein Erlangen des Quellen-QP mittels Führen einer Übersetzungstabelle zwischen dem Ziel-QP und dem Quellen-QP in der Zwischenvermittlungsstelle aufweist.
  6. Verfahren nach einem der Ansprüche 1 bis 4, wobei ein Senden und Empfangen der Pakete jeweils unter Verwendung eines Quellen-Warteschlangen-Paares (Quellen-QP) und eines Ziel-Warteschlangen-Paares (Ziel-QP) durchgeführt wird, wobei der Schritt des Erzeugens ein Berechnen einer Hash-Funktion an einer Zieladresse und des Ziel-QP des empfangenen Pakets aufweist.
  7. Kommunikationsvorrichtung, aufweisend: eine Quellen-Netzwerkschnittstelle; eine Ziel-Netzwerkschnittstelle, wobei die Quellen-Netzwerkschnittstelle zum Senden von Paketen über ein Netzwerk in Richtung der Ziel-Netzwerkschnittstelle betreibbar ist und die Ziel-Netzwerkschnittstelle zum Annehmen der Pakete von der Quellen-Netzwerkschnittstelle betreibbar ist; und eine Zwischenvermittlungsstelle in dem Netzwerk, die eines der Pakete empfängt, wobei die Zwischenvermittlungsstelle betreibbar ist zum: Feststellen, dass die Zwischenvermittlungsstelle eine Netzwerküberlastung erfährt; Erzeugen eines Überlastungsbenachrichtigungspakets für das empfangene Paket; Übertragen des Überlastungsbenachrichtigungspakets über das Netzwerk an die Quellen-Netzwerkschnittstelle; und Weiterleiten des empfangenen Pakets an die Ziel-Netzwerkschnittstelle, wobei die Quellen-Netzwerkschnittstelle in Reaktion auf das Überlastungsbenachrichtigungspaket eine Paketübertragungsrate zu der Ziel-Netzwerkschnittstelle modifiziert.
  8. Vorrichtung nach Anspruch 7, ferner aufweisend andere Zwischenvermittlungsstellen in dem Netzwerk, wobei die Zwischenvermittlungsstelle betreibbar ist zum: Kennzeichnen des empfangenen Pakets als ungeeignet, vor einem Weiterleiten des empfangenen Pakets, um die anderen Zwischenvermittlungsstellen des Netzwerks zu veranlassen, neue Überlastungsbenachrichtigungspakete zu erzeugen und zu übertragen.
  9. Die Vorrichtung nach einem der Ansprüche 7 bis 8, wobei das empfangene Paket RoCEV2-konform ist.
  10. Die Vorrichtung nach einem der Ansprüche 7 bis 9, wobei das empfangene Paket ein Tunnelpaket ist.
  11. Vorrichtung nach einem der Ansprüche 7 bis 10, wobei ein Senden der Pakete von der Quellen-Netzwerkschnittstelle und ein Akzeptieren der Pakete in der Ziel-Netzwerkschnittstelle jeweils unter Verwendung eines Quellen-Warteschlangen-Paares (Quellen-QP) und eines Ziel-Warteschlangen-Paares (Ziel-QP) durchgeführt wird, wobei der Schritt des Erzeugens ein Erlangen des Quellen-QP mittels Führen einer Übersetzungstabelle zwischen dem Ziel-QP und dem Quellen-QP in der Zwischenvermittlungsstelle aufweist.
  12. Vorrichtung nach einem der Ansprüche 7 bis 10, wobei ein Senden der Pakete von der Quellen-Netzwerkschnittstelle und ein Akzeptieren der Pakete in der Ziel-Netzwerkschnittstelle jeweils unter Verwendung eines Quellen-Warteschlangen-Paares (Quellen-QP) und eines Ziel-Warteschlangen-Paares (Ziel-QP) durchgeführt wird, wobei der Schritt des Erzeugens ein Berechnen einer Hash-Funktion an einer Zieladresse und des Ziel-QP des empfangenen Pakets aufweist.
DE102020207426.7A 2019-06-16 2020-06-16 Auflistung einer CNP-Erzeugung durch eine Vermittlungsstelle Pending DE102020207426A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/442,508 2019-06-16
US16/442,508 US11005770B2 (en) 2019-06-16 2019-06-16 Listing congestion notification packet generation by switch

Publications (1)

Publication Number Publication Date
DE102020207426A1 true DE102020207426A1 (de) 2020-12-17

Family

ID=72803353

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020207426.7A Pending DE102020207426A1 (de) 2019-06-16 2020-06-16 Auflistung einer CNP-Erzeugung durch eine Vermittlungsstelle

Country Status (3)

Country Link
US (1) US11005770B2 (de)
CN (1) CN111800351B (de)
DE (1) DE102020207426A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709057B (zh) * 2017-08-11 2023-05-05 华为技术有限公司 网络拥塞的通告方法、代理节点、网络节点及计算机设备
US11153211B2 (en) * 2017-12-09 2021-10-19 Intel Corporation Fast data center congestion response
US20200236052A1 (en) * 2020-03-04 2020-07-23 Arvind Srinivasan Improving end-to-end congestion reaction using adaptive routing and congestion-hint based throttling for ip-routed datacenter networks
US11296987B2 (en) * 2020-04-20 2022-04-05 Hewlett Packard Enterprise Development Lp Congestion management mechanism
US11693800B2 (en) * 2020-07-13 2023-07-04 EMC IP Holding Company LLC Managing IO path bandwidth
CN113411264B (zh) * 2021-06-30 2023-03-14 中国工商银行股份有限公司 一种网络队列的监控方法、装置、计算机设备和存储介质
US11765237B1 (en) 2022-04-20 2023-09-19 Mellanox Technologies, Ltd. Session-based remote direct memory access
CN115314442B (zh) * 2022-08-08 2023-09-12 北京云脉芯联科技有限公司 拥塞控制和基于Group的限速限窗装置及方法、限速限窗方法

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321553B2 (en) 2003-07-22 2008-01-22 Intel Corporation Methods and apparatus for asserting flow control at input ports of a shared-memory switch
SE506955C2 (sv) 1995-07-06 1998-03-09 Ericsson Telefon Ab L M ATM-flödesstyrning
US6108713A (en) 1997-02-11 2000-08-22 Xaqti Corporation Media access control architectures and network management systems
US6178448B1 (en) 1997-06-18 2001-01-23 International Business Machines Corporation Optimal link scheduling for multiple links by obtaining and utilizing link quality information
US6590901B1 (en) 1998-04-01 2003-07-08 Mosaid Technologies, Inc. Method and apparatus for providing a packet buffer random access memory
CA2237264A1 (en) * 1998-05-08 1999-11-08 Northern Telecom Limited Receiver based congestion control
US6347337B1 (en) 1999-01-08 2002-02-12 Intel Corporation Credit based flow control scheme over virtual interface architecture for system area networks
US7002980B1 (en) 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
US20020141427A1 (en) 2001-03-29 2002-10-03 Mcalpine Gary L. Method and apparatus for a traffic optimizing multi-stage switch fabric network
JP3892682B2 (ja) 2001-06-18 2007-03-14 株式会社エヌ・ティ・ティ・ドコモ パケット伝送方法、基地局及び移動局
US7239636B2 (en) 2001-07-23 2007-07-03 Broadcom Corporation Multiple virtual channels for use in network devices
KR100426535B1 (ko) 2001-12-11 2004-04-08 삼성전자주식회사 무선통신기기 및 그 무선통신방법
JP3925234B2 (ja) 2002-02-18 2007-06-06 ソニー株式会社 データ通信システム、データ通信管理装置、および方法、並びにコンピュータ・プログラム
US7430169B2 (en) 2002-06-03 2008-09-30 International Business Machines Corporation Retro flow control for arriving traffic in computer networks
CA2492504A1 (en) 2002-06-14 2003-12-24 Millenium Biologix Ag Identification of tissue/cell specific marker genes and use thereof
US7225267B2 (en) * 2003-01-27 2007-05-29 Microsoft Corporation Reactive bandwidth control for streaming data
US7706394B2 (en) 2003-07-23 2010-04-27 International Business Machines Corporation System and method for collapsing VOQ's of a packet switch fabric
US8473693B1 (en) 2003-07-29 2013-06-25 Netapp, Inc. Managing ownership of memory buffers (mbufs)
US7346059B1 (en) 2003-09-08 2008-03-18 Cisco Technology, Inc. Header range check hash circuit
US20080037420A1 (en) 2003-10-08 2008-02-14 Bob Tang Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san
TWI241807B (en) 2004-03-02 2005-10-11 Hon Hai Prec Ind Co Ltd System and method for network quality of service
US7480730B2 (en) 2004-04-08 2009-01-20 Nortel Networks Limited Credit recovery in a credit based flow control system
US7499402B2 (en) 2004-04-13 2009-03-03 Radioframe Networks, Inc. Network delay control
US20060056308A1 (en) 2004-05-28 2006-03-16 International Business Machines Corporation Method of switching fabric for counteracting a saturation tree occurring in a network with nodes
US20060015639A1 (en) * 2004-07-13 2006-01-19 Taylor Benjamin F Method for managing inter-zone bandwidth in a two-way messaging network
US7724663B2 (en) 2004-09-08 2010-05-25 Telefonaktiebolaget L M Ericsson (Publ) Counter based quality of service (QoS) class upgrade
US7830793B2 (en) 2004-10-22 2010-11-09 Cisco Technology, Inc. Network device architecture for consolidating input/output and reducing latency
US7948880B2 (en) 2004-10-29 2011-05-24 Broadcom Corporation Adaptive dynamic thresholding mechanism for link level flow control scheme
US7593329B2 (en) 2004-10-29 2009-09-22 Broadcom Corporation Service aware flow control
FR2878106A1 (fr) 2004-11-15 2006-05-19 France Telecom Procede et dispositif d'ordonnancement de paquets pour leur routage dans un reseau avec determination implicite des paquets a traiter en priorite
US7802028B2 (en) 2005-05-02 2010-09-21 Broadcom Corporation Total dynamic sharing of a transaction queue
US8548048B2 (en) 2005-10-27 2013-10-01 Qualcomm Incorporated Video source rate control for video telephony
US8218546B2 (en) 2005-11-10 2012-07-10 Broadcom Corporation Interleaved processing of dropped packets in a network device
US7953002B2 (en) 2005-11-10 2011-05-31 Broadcom Corporation Buffer management and flow control mechanism including packet-based dynamic thresholding
US8078743B2 (en) 2006-02-17 2011-12-13 Intel-Ne, Inc. Pipelined processing of RDMA-type network transactions
US7724754B2 (en) 2006-02-24 2010-05-25 Texas Instruments Incorporated Device, system and/or method for managing packet congestion in a packet switching network
ATE447281T1 (de) 2006-06-30 2009-11-15 Alcatel Lucent Verfahren zur bereitstellung von einer ressourcenzulassungskontrolle
US7961605B2 (en) 2006-07-31 2011-06-14 International Business Machines Corporation System and method for enabling management of a plurality of messages in a communication network
US8121038B2 (en) * 2007-08-21 2012-02-21 Cisco Technology, Inc. Backward congestion notification
US7821939B2 (en) 2007-09-26 2010-10-26 International Business Machines Corporation Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture
US8532117B2 (en) 2008-02-13 2013-09-10 Broadcom Corporation Flexible buffer allocation entities for traffic aggregate containment
WO2009107089A2 (en) 2008-02-26 2009-09-03 Nxp B.V. Apparatus and method for shared buffering between switch ports
US7738454B1 (en) 2008-09-30 2010-06-15 Juniper Networks, Inc. Methods and apparatus related to packet classification based on range values
US20100088437A1 (en) 2008-10-06 2010-04-08 Mellanox Technologies Ltd Infiniband adaptive congestion control adaptive marking rate
WO2010100837A1 (ja) * 2009-03-06 2010-09-10 日本電気株式会社 通信レート制御方法、送信装置および通信システム
US8576715B2 (en) 2009-10-26 2013-11-05 Mellanox Technologies Ltd. High-performance adaptive routing
US8982694B2 (en) * 2010-09-01 2015-03-17 Telefonaktiebolaget L M Ericsson (Publ) Localized congestion exposure
US8498213B2 (en) 2010-09-14 2013-07-30 Brocade Communications Systems, Inc. Manageability tools for lossless networks
US9008113B2 (en) 2010-12-20 2015-04-14 Solarflare Communications, Inc. Mapped FIFO buffering
US8938469B1 (en) 2011-05-11 2015-01-20 Juniper Networks, Inc. Dynamically adjusting hash table capacity
US9225628B2 (en) 2011-05-24 2015-12-29 Mellanox Technologies Ltd. Topology-based consolidation of link state information
US8938598B2 (en) 2011-07-06 2015-01-20 Nvidia Corporation Facilitating simultaneous submission to a multi-producer queue by multiple threads with inner and outer pointers
US8681616B2 (en) 2011-08-12 2014-03-25 Telefonaktiebolaget L M Ericsson (Publ) Scheduling under congestion with traffic load-based scaling
CN104094244B (zh) 2011-09-30 2017-05-31 英特尔公司 用于对于系统协处理器的直接i/o访问的方法和装置
US8811183B1 (en) 2011-10-04 2014-08-19 Juniper Networks, Inc. Methods and apparatus for multi-path flow control within a multi-stage switch fabric
US8879396B2 (en) 2011-11-15 2014-11-04 Oracle International Corporation System and method for using dynamic allocation of virtual lanes to alleviate congestion in a fat-tree topology
US9325619B2 (en) 2011-11-15 2016-04-26 Oracle International Corporation System and method for using virtual lanes to alleviate congestion in a fat-tree topology
US8705349B2 (en) 2011-11-27 2014-04-22 Mellanox Technologies Ltd. Destination-based congestion control
US8995265B2 (en) 2012-01-28 2015-03-31 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Monitoring endpoint buffer occupancy to determine congestion in an ethernet network
US9634916B2 (en) * 2012-03-09 2017-04-25 British Telecommunications Public Limited Company Signalling congestion
ITRM20120094A1 (it) 2012-03-14 2013-09-14 Istituto Naz Di Fisica Nuclea Re Scheda di interfaccia di rete per nodo di rete di calcolo parallelo su gpu, e relativo metodo di comunicazione internodale
US8867360B2 (en) 2012-03-22 2014-10-21 Avaya Inc. Method and apparatus for lossless behavior for multiple ports sharing a buffer pool
US9166919B2 (en) 2012-03-23 2015-10-20 Broadcom Corporation Reducing headroom
KR20130126816A (ko) 2012-04-26 2013-11-21 한국전자통신연구원 트래픽 혼잡을 제어하는 트래픽 관리장치 및 그 방법
US9436504B2 (en) 2012-05-09 2016-09-06 Nvidia Corporation Techniques for managing the execution order of multiple nested tasks executing on a parallel processor
GB2517097B (en) 2012-05-29 2020-05-27 Intel Corp Peer-to-peer interrupt signaling between devices coupled via interconnects
JP6016262B2 (ja) * 2012-07-31 2016-10-26 日本電気通信システム株式会社 移動端末、制御ノード、パケット転送ノード、及び輻輳制御のための方法
US9282022B2 (en) 2012-11-14 2016-03-08 Broadcom Corporation Forensics for network switching diagnosis
US8989017B2 (en) 2012-12-14 2015-03-24 Intel Corporation Network congestion management by packet circulation
US9014006B2 (en) 2013-01-31 2015-04-21 Mellanox Technologies Ltd. Adaptive routing using inter-switch notifications
US9237111B2 (en) 2013-03-14 2016-01-12 International Business Machines Corporation Credit-based flow control in lossless ethernet networks
US9237093B2 (en) 2013-03-14 2016-01-12 Silicon Graphics International Corp. Bandwidth on-demand adaptive routing
US9467522B2 (en) 2013-07-19 2016-10-11 Broadcom Corporation Ingress based headroom buffering for switch architectures
US9356868B2 (en) 2013-08-23 2016-05-31 Broadcom Corporation Congestion detection and management at congestion-tree roots
US20150103667A1 (en) 2013-10-13 2015-04-16 Mellanox Technologies Ltd. Detection of root and victim network congestion
US9769078B2 (en) 2013-11-05 2017-09-19 Cisco Technology, Inc. Dynamic flowlet prioritization
US10778584B2 (en) 2013-11-05 2020-09-15 Cisco Technology, Inc. System and method for multi-path load balancing in network fabrics
US9648148B2 (en) 2013-12-24 2017-05-09 Intel Corporation Method, apparatus, and system for QoS within high performance fabrics
EP3127254B1 (de) 2014-03-31 2019-06-12 Hughes Network Systems, LLC System und verfahren zur überlastungsverwaltung für downlink-warteschlangen digitaler verarbeitungssatelliten für differenzierte dienstqualität (qos)
US9660914B1 (en) * 2014-05-08 2017-05-23 Google Inc. System and method for providing congestion notification in layer 3 networks
US9621471B2 (en) 2014-06-30 2017-04-11 Vmware, Inc. Framework for early congestion notification and recovery in a virtualized environment
WO2016041580A1 (en) 2014-09-16 2016-03-24 Huawei Technologies Co.,Ltd Scheduler, sender, receiver, network node and methods thereof
US9794825B2 (en) 2014-11-06 2017-10-17 Alcatel-Lucent Usa Inc. System and method for determining cell congestion level
JP6517934B2 (ja) 2014-12-24 2019-05-22 インテル・コーポレーション スイッチ内のデータをバッファリングするための装置および方法
US9762491B2 (en) 2015-03-30 2017-09-12 Mellanox Technologies Tlv Ltd. Dynamic thresholds for congestion control
US9699095B2 (en) 2015-05-21 2017-07-04 Mellanox Technologies Tlv Ltd. Adaptive allocation of headroom in network devices
US10237376B2 (en) * 2015-09-29 2019-03-19 Mellanox Technologies, Ltd. Hardware-based congestion control for TCP traffic
US20170118108A1 (en) 2015-10-27 2017-04-27 Futurewei Technologies, Inc. Real Time Priority Selection Engine for Improved Burst Tolerance
US10425344B2 (en) 2015-12-18 2019-09-24 Avago Technologies International Sales Pte. Limited Avoiding dropped data packets on a network transmission
CN107493238A (zh) * 2016-06-13 2017-12-19 华为技术有限公司 一种网络拥塞控制方法、设备及系统
US10833998B2 (en) * 2017-01-12 2020-11-10 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for flow control
US11088951B2 (en) 2017-01-16 2021-08-10 Intel Corporation Flow classification apparatus, methods, and systems
US10389646B2 (en) 2017-02-15 2019-08-20 Mellanox Technologies Tlv Ltd. Evading congestion spreading for victim flows
CN113709057B (zh) * 2017-08-11 2023-05-05 华为技术有限公司 网络拥塞的通告方法、代理节点、网络节点及计算机设备
CN111654447B (zh) * 2018-01-16 2023-04-18 华为技术有限公司 一种报文传输的方法及装置
US10944660B2 (en) * 2019-02-08 2021-03-09 Intel Corporation Managing congestion in a network

Also Published As

Publication number Publication date
US20200396170A1 (en) 2020-12-17
US11005770B2 (en) 2021-05-11
CN111800351A (zh) 2020-10-20
CN111800351B (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
DE102020207426A1 (de) Auflistung einer CNP-Erzeugung durch eine Vermittlungsstelle
DE102013209118B4 (de) Beibehaltung und Änderung von Netzwerküberlastungsbenachrichtigungen während der Übertragung von Netzwerkdaten zwischen einem physischen Netzwerk und einem virtuellen Netzwerk
DE112020002484T5 (de) System und verfahren zur erleichterung der feinkörnigen flusssteuerung in einer netzwerkschnittstellensteuerung (nic)
DE112014000415B4 (de) Quantisierte Überlastbenachrichtigung in einem virtuellen Netzwerksystem
DE102015108145B4 (de) Lokale Dienstverkettung mit virtuellen Maschinen und virtualisierten Behältern in software-definierter Vernetzung
DE112016005924T5 (de) Beschleunigte Netzwerkpaketverarbeitung
DE60203450T2 (de) Verfahren und Schalter zur Überlastregelung
DE112008002550B4 (de) Verfahren und System für virtuelle Schnittstellenkommunikation
DE69837272T2 (de) Mechanismus zum ersetzen eines paketfelds in einem mehrschicht-vermittlungsnetzelement
DE69935608T2 (de) Verfahren und system zur multiprotokoll-konversionshilfe für einen netzbeschleuniger
DE60301029T2 (de) Replikationsprozess für IP-Mehrfachsendung und Vorrichtung hierfür
DE112014000322B4 (de) Skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk
DE202016107377U1 (de) Systeme zur Auslagerung von Netzwerkfunktionen über Paket-Trunking
DE112020006828T5 (de) Verbessern einer Ende-zu-Ende-Überlastungsreaktion unter Verwendung von adaptivem Routing und Überlastungshinweis-basierter Drosselung für IP-geroutete Rechenzentrumsnetzwerke
DE112013006417B4 (de) Verlustfreie Schalterstruktur mit niedriger Latenzzeit zum Gebrauch in einem Rechenzentrum
DE112020006664T5 (de) Auslagerung der streaming-protokoll-paket-bildung
DE102016104264B4 (de) Übertragen von Mehrfachzielpaketen in Overlay-Netzwerken
DE602004004706T2 (de) Verfahren und System zur Kommunikationssteuerung
DE112011102896T5 (de) Verwalten der Datenübertragung zwischen Netzwerken mit unterschiedlichen Datenübertragungsprotokollen
DE202013012482U1 (de) Identifizieren eines Austrittspunkts zu einem Netzwerkstandort
DE102020105776A1 (de) Kostengünstige Überlastungsisolierung für verlustfreies Ethernet
DE102018204861A1 (de) Einzelner Umsetzungstabelleneintrag für symmetrische Flüsse
DE102020102782A1 (de) Techniken zum Überwachen von Steuerebenennetzverkehr
AT522898A1 (de) Übertragung von Datenpaketen
DE102013212213A1 (de) System und Verfahren zur Spiegelung von Datenströmen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MATHYS & SQUIRE EUROPE LLP, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012801000

Ipc: H04L0047100000

R081 Change of applicant/patentee

Owner name: MELLANOX TECHNOLOGIES, LTD., IL

Free format text: FORMER OWNER: MELLANOX TECHNOLOGIES TLV LTD., RA'ANANA, IL